Summary
When asked to scaffold an FTP / SFTP service, Copilot produces the deprecated ftp:Listener(path = "...") shape rather than the modern @ftp:ServiceConfig { path: "..." } annotation on the service.
Repro
Prompt the BI Copilot with something like "Create an FTP service that watches /inbound for CSV files".
Observed:
listener ftp:Listener fileListener = new (path = "/inbound", ...);
service on fileListener {
remote function onFileCsv(...) returns error? { ... }
}
Expected:
listener ftp:Listener fileListener = new (...);
@ftp:ServiceConfig {
path: "/inbound"
}
service on fileListener {
remote function onFileCsv(...) returns error? { ... }
}
Likely cause
path is deprecated on the listener but kept in the ListenerConfiguration record definition for back-compat. It's presumably leaking into the model context from there, so the model still picks it up despite the deprecation.
Summary
When asked to scaffold an FTP / SFTP service, Copilot produces the deprecated
ftp:Listener(path = "...")shape rather than the modern@ftp:ServiceConfig { path: "..." }annotation on the service.Repro
Prompt the BI Copilot with something like "Create an FTP service that watches
/inboundfor CSV files".Observed:
Expected:
Likely cause
pathis deprecated on the listener but kept in theListenerConfigurationrecord definition for back-compat. It's presumably leaking into the model context from there, so the model still picks it up despite the deprecation.