@letta-ai/letta-code 0.30.24 → 0.30.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/agent-presets.js +1 -339
  2. package/dist/agent-presets.js.map +2 -2
  3. package/dist/channels-slack.js +319 -41
  4. package/dist/channels-slack.js.map +4 -3
  5. package/dist/channels-telegram.js +424 -0
  6. package/dist/channels-telegram.js.map +14 -0
  7. package/dist/mcp-client.js +2 -2
  8. package/dist/mcp-client.js.map +1 -1
  9. package/dist/types/agent/client-skills-watcher.d.ts +23 -0
  10. package/dist/types/agent/client-skills-watcher.d.ts.map +1 -0
  11. package/dist/types/agent/client-skills.d.ts.map +1 -1
  12. package/dist/types/agent/modify.d.ts.map +1 -1
  13. package/dist/types/backend/dev/pi-model-factory.d.ts.map +1 -1
  14. package/dist/types/channels/slack/attachment-primitives.d.ts +69 -0
  15. package/dist/types/channels/slack/attachment-primitives.d.ts.map +1 -0
  16. package/dist/types/channels/telegram/debounce.d.ts +22 -0
  17. package/dist/types/channels/telegram/debounce.d.ts.map +1 -0
  18. package/dist/types/channels/telegram/ingress.d.ts +35 -0
  19. package/dist/types/channels/telegram/ingress.d.ts.map +1 -0
  20. package/dist/types/channels/telegram/message-action-contract.d.ts +16 -0
  21. package/dist/types/channels/telegram/message-action-contract.d.ts.map +1 -0
  22. package/dist/types/channels/telegram/message-shapes.d.ts +154 -0
  23. package/dist/types/channels/telegram/message-shapes.d.ts.map +1 -0
  24. package/dist/types/channels/telegram/outbound.d.ts +21 -0
  25. package/dist/types/channels/telegram/outbound.d.ts.map +1 -0
  26. package/dist/types/channels-slack.d.ts +2 -0
  27. package/dist/types/channels-slack.d.ts.map +1 -1
  28. package/dist/types/channels-telegram.d.ts +20 -0
  29. package/dist/types/channels-telegram.d.ts.map +1 -0
  30. package/dist/types/cli/helpers/stream-debug.d.ts +6 -0
  31. package/dist/types/cli/helpers/stream-debug.d.ts.map +1 -0
  32. package/dist/types/cli/helpers/stream-stall-reconciler.d.ts +16 -0
  33. package/dist/types/cli/helpers/stream-stall-reconciler.d.ts.map +1 -0
  34. package/dist/types/cli/helpers/stream.d.ts +1 -0
  35. package/dist/types/cli/helpers/stream.d.ts.map +1 -1
  36. package/dist/types/tools/impl/bash.d.ts.map +1 -1
  37. package/dist/types/tools/impl/exec-command.d.ts +1 -0
  38. package/dist/types/tools/impl/exec-command.d.ts.map +1 -1
  39. package/dist/types/tools/impl/github-pull-request-tracker.d.ts +2 -0
  40. package/dist/types/tools/impl/github-pull-request-tracker.d.ts.map +1 -1
  41. package/dist/types/tools/impl/monitor.d.ts.map +1 -1
  42. package/dist/types/tools/impl/process_manager.d.ts +7 -1
  43. package/dist/types/tools/impl/process_manager.d.ts.map +1 -1
  44. package/dist/types/tools/impl/task.d.ts +2 -0
  45. package/dist/types/tools/impl/task.d.ts.map +1 -1
  46. package/dist/types/utils/openai-reasoning-effort.d.ts +6 -0
  47. package/dist/types/utils/openai-reasoning-effort.d.ts.map +1 -0
  48. package/dist/types/websocket/listener/constants.d.ts +0 -2
  49. package/dist/types/websocket/listener/constants.d.ts.map +1 -1
  50. package/dist/types/websocket/listener/types.d.ts +3 -0
  51. package/dist/types/websocket/listener/types.d.ts.map +1 -1
  52. package/letta.js +2741 -2642
  53. package/package.json +12 -1
  54. package/scripts/source-file-size-baseline.json +6 -7
  55. package/skills/teleporting-between-environments/SKILL.md +23 -9
@@ -0,0 +1,23 @@
1
+ import { type FSWatcher } from "node:fs";
2
+ type WatchListener = (eventType: string, filename: string | Buffer | null) => void;
3
+ export type SkillWatchFunction = (path: string, options: {
4
+ persistent: false;
5
+ recursive: boolean;
6
+ }, listener: WatchListener) => FSWatcher;
7
+ /**
8
+ * Keeps skill cache validation off the model-request path. Each configured
9
+ * root is watched until its first mutation, which invalidates the cache and
10
+ * closes all watchers. The next request installs fresh watchers while it
11
+ * rebuilds the skill snapshot.
12
+ */
13
+ export declare class ClientSkillsWatcher {
14
+ private readonly onChange;
15
+ private readonly watchFunction;
16
+ private readonly watchersByRoot;
17
+ constructor(onChange: () => void, watchFunction?: SkillWatchFunction);
18
+ ensureRoots(roots: string[]): void;
19
+ close(): void;
20
+ private watchRoot;
21
+ }
22
+ export {};
23
+ //# sourceMappingURL=client-skills-watcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-skills-watcher.d.ts","sourceRoot":"","sources":["../../../src/agent/client-skills-watcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EAKf,MAAM,SAAS,CAAC;AAGjB,KAAK,aAAa,GAAG,CACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,KAC7B,IAAI,CAAC;AAEV,MAAM,MAAM,kBAAkB,GAAG,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,UAAU,EAAE,KAAK,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,EAClD,QAAQ,EAAE,aAAa,KACpB,SAAS,CAAC;AA0Ef;;;;;GAKG;AACH,qBAAa,mBAAmB;IAI5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAJhC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkC;gBAG9C,QAAQ,EAAE,MAAM,IAAI,EACpB,aAAa,GAAE,kBAAyC;IAG3E,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAUlC,KAAK,IAAI,IAAI;IASb,OAAO,CAAC,SAAS;CAqDlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"client-skills.d.ts","sourceRoot":"","sources":["../../../src/agent/client-skills.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,IAAI,+BAA+B,EAAE,MAAM,yDAAyD,CAAC;AACtI,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAGjE,OAAO,EAEL,cAAc,EAQd,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EACjB,MAAM,UAAU,CAAC;AA2LlB;;;;;GAKG;AACH,wBAAgB,kCAAkC,IAAI,IAAI,CAEzD;AAED;;;;;;GAMG;AACH,wBAAgB,0CAA0C,CACxD,OAAO,EAAE,MAAM,GACd,IAAI,CASN;AAwED,MAAM,MAAM,WAAW,GAAG,WAAW,CACnC,+BAA+B,CAAC,eAAe,CAAC,CACjD,CAAC,MAAM,CAAC,CAAC;AAEV,MAAM,WAAW,+BAA+B;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,cAAc,CAAC;IACzC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,8BAA8B;IAC7C,YAAY,EAAE,WAAW,CAAC,+BAA+B,CAAC,eAAe,CAAC,CAAC,CAAC;IAC5E,eAAe,EAAE,qBAAqB,EAAE,CAAC;IACzC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,EAAE,mBAAmB,EAAE,CAAC;CAC/B;AAyCD,MAAM,WAAW,+BAA+B;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,cAAc,CAAC;CAC1C;AAmHD;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,oBAAoB,CAAC,CAc/B;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,8BAA8B,CAAC,CAuFzC"}
1
+ {"version":3,"file":"client-skills.d.ts","sourceRoot":"","sources":["../../../src/agent/client-skills.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,IAAI,+BAA+B,EAAE,MAAM,yDAAyD,CAAC;AACtI,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAIjE,OAAO,EAEL,cAAc,EAQd,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EACjB,MAAM,UAAU,CAAC;AAwJlB;;;;;GAKG;AACH,wBAAgB,kCAAkC,IAAI,IAAI,CAGzD;AAED;;;;;;GAMG;AACH,wBAAgB,0CAA0C,CACxD,OAAO,EAAE,MAAM,GACd,IAAI,CAUN;AAwED,MAAM,MAAM,WAAW,GAAG,WAAW,CACnC,+BAA+B,CAAC,eAAe,CAAC,CACjD,CAAC,MAAM,CAAC,CAAC;AAEV,MAAM,WAAW,+BAA+B;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,cAAc,CAAC;IACzC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,8BAA8B;IAC7C,YAAY,EAAE,WAAW,CAAC,+BAA+B,CAAC,eAAe,CAAC,CAAC,CAAC;IAC5E,eAAe,EAAE,qBAAqB,EAAE,CAAC;IACzC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,EAAE,mBAAmB,EAAE,CAAC;CAC/B;AAyCD,MAAM,WAAW,+BAA+B;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,cAAc,CAAC;CAC1C;AAmHD;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,oBAAoB,CAAC,CAc/B;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,8BAA8B,CAAC,CA2FzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"modify.d.ts","sourceRoot":"","sources":["../../../src/agent/modify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modify.d.ts","sourceRoot":"","sources":["../../../src/agent/modify.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pi-model-factory.d.ts","sourceRoot":"","sources":["../../../../src/backend/dev/pi-model-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AASvE,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAM3D,OAAO,EAML,KAAK,UAAU,EAIhB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,mBAAmB,WAAgC,CAAC;AACjE,eAAO,MAAM,6BAA6B,kBAAkB,CAAC;AAC7D,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAQpE;AAuCD,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,WAAW,CAAC,EAAE,MAAM,GACnB,aAAa,GAAG,SAAS,CAe3B;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAAC;CACtC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,UAAU,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CACnD;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,GACxD,MAAM,IAAI,CAoBZ;AAcD,wBAAgB,iBAAiB,CAC/B,QAAQ,SACgC,GACvC,UAAU,CAMZ;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,aAAa,GAAE,eAAoB,GAClC,UAAU,CAwBZ;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,QAAQ,EAAE,UAAU,GACnB,MAAM,GAAG,SAAS,CAEpB;AAiCD,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,KAAK,GAAG,YAAY,CAAC;IACnC,OAAO,EAAE,oBAAoB,CAAC;CAC/B;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,KAAK,GAAG,YAAY,CAAC;CAC9C,GAAG,aAAa,CAkDhB;AA6FD,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,aAAa,GAAE,eAAoB,EACnC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,eAAe,CAAC,CAsM1B"}
1
+ {"version":3,"file":"pi-model-factory.d.ts","sourceRoot":"","sources":["../../../../src/backend/dev/pi-model-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AASvE,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,wCAAwC,CAAC;AAGhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAM3D,OAAO,EAML,KAAK,UAAU,EAIhB,MAAM,wBAAwB,CAAC;AAEhC,eAAO,MAAM,mBAAmB,WAAgC,CAAC;AACjE,eAAO,MAAM,6BAA6B,kBAAkB,CAAC;AAC7D,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAQpE;AA0CD,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,WAAW,CAAC,EAAE,MAAM,GACnB,aAAa,GAAG,SAAS,CAqB3B;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAAC;CACtC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,UAAU,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CACnD;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,GACxD,MAAM,IAAI,CAoBZ;AAcD,wBAAgB,iBAAiB,CAC/B,QAAQ,SACgC,GACvC,UAAU,CAMZ;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,aAAa,GAAE,eAAoB,GAClC,UAAU,CAwBZ;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,QAAQ,EAAE,UAAU,GACnB,MAAM,GAAG,SAAS,CAEpB;AAiCD,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,KAAK,GAAG,YAAY,CAAC;IACnC,OAAO,EAAE,oBAAoB,CAAC;CAC/B;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,KAAK,GAAG,YAAY,CAAC;CAC9C,GAAG,aAAa,CAkDhB;AA6FD,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,aAAa,GAAE,eAAoB,EACnC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,eAAe,CAAC,CAsM1B"}
@@ -0,0 +1,69 @@
1
+ export type SlackFileLike = {
2
+ id?: string;
3
+ name?: string;
4
+ mimetype?: string;
5
+ size?: number;
6
+ url_private?: string;
7
+ url_private_download?: string;
8
+ };
9
+ export type SlackAttachmentReadClient = {
10
+ conversations: {
11
+ history(args: {
12
+ channel: string;
13
+ latest?: string;
14
+ oldest?: string;
15
+ limit?: number;
16
+ inclusive?: boolean;
17
+ }): Promise<unknown>;
18
+ replies(args: {
19
+ channel: string;
20
+ ts: string;
21
+ limit?: number;
22
+ inclusive?: boolean;
23
+ cursor?: string;
24
+ }): Promise<unknown>;
25
+ };
26
+ };
27
+ export type SlackFileFetcher = (input: string | URL | Request, init?: RequestInit) => Promise<Response>;
28
+ export type SlackFileMetadata = {
29
+ fileName: string;
30
+ mimeType?: string;
31
+ };
32
+ export type SlackFetchedFile = SlackFileMetadata & {
33
+ body: ReadableStream<Uint8Array>;
34
+ contentLength?: number;
35
+ };
36
+ /** Normalize, deduplicate, and cap the Slack files attached to one event/message. */
37
+ export declare function collectSlackFiles(rawEvent: unknown): SlackFileLike[];
38
+ /**
39
+ * Find the exact Slack message and return only its files.
40
+ *
41
+ * `null` means the message was not present in the requested chat/thread. An
42
+ * empty array means the message existed but had no files. This distinction lets
43
+ * explicit downloads reject a file id without searching outside its source
44
+ * message, while thin app_mention payloads can safely hydrate their canonical
45
+ * files through conversations.replies.
46
+ */
47
+ export declare function resolveSlackMessageFiles(params: {
48
+ channelId: string;
49
+ threadTs?: string | null;
50
+ messageTs: string;
51
+ client: SlackAttachmentReadClient;
52
+ }): Promise<SlackFileLike[] | null>;
53
+ export declare function resolveSlackFileMetadata(params: {
54
+ file: SlackFileLike;
55
+ url?: string;
56
+ responseMimeType?: string;
57
+ }): SlackFileMetadata;
58
+ /**
59
+ * Open a private Slack file without forwarding the bot token to another origin.
60
+ * The returned body remains streaming; callers choose their own byte and idle
61
+ * limits before materializing it.
62
+ */
63
+ export declare function fetchSlackFile(params: {
64
+ token: string;
65
+ file: SlackFileLike;
66
+ signal?: AbortSignal;
67
+ fetcher?: SlackFileFetcher;
68
+ }): Promise<SlackFetchedFile>;
69
+ //# sourceMappingURL=attachment-primitives.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachment-primitives.d.ts","sourceRoot":"","sources":["../../../../src/channels/slack/attachment-primitives.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,aAAa,EAAE;QACb,OAAO,CAAC,IAAI,EAAE;YACZ,OAAO,EAAE,MAAM,CAAC;YAChB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,SAAS,CAAC,EAAE,OAAO,CAAC;SACrB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,EAAE;YACZ,OAAO,EAAE,MAAM,CAAC;YAChB,EAAE,EAAE,MAAM,CAAC;YACX,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,SAAS,CAAC,EAAE,OAAO,CAAC;YACpB,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACtB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAC7B,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAC7B,IAAI,CAAC,EAAE,WAAW,KACf,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG;IACjD,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAkEF,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,aAAa,EAAE,CAoCpE;AAOD;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAAC,MAAM,EAAE;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,yBAAyB,CAAC;CACnC,GAAG,OAAO,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,CA+BlC;AA4ID,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAC/C,IAAI,EAAE,aAAa,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,iBAAiB,CAkBpB;AASD;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAoD5B"}
@@ -0,0 +1,22 @@
1
+ import type { TelegramChannelAccount } from "../types";
2
+ declare const TELEGRAM_DEBOUNCE_DEFAULT_MS = 0;
3
+ declare const TELEGRAM_DEBOUNCE_MAX_MS = 10000;
4
+ /**
5
+ * Resolve the inbound debounce window for Telegram.
6
+ *
7
+ * Priority: env var > account config > default (disabled).
8
+ * Returns `0` to disable. Clamped to `0..10000`.
9
+ */
10
+ export declare function resolveTelegramInboundDebounceMs(config: Pick<TelegramChannelAccount, "inboundDebounceMs">): number;
11
+ export type TelegramDebounceInput = {
12
+ chatId: string;
13
+ threadId?: string | null;
14
+ };
15
+ /**
16
+ * Group Telegram bursts by account + chat/topic. Unlike Slack DMs, Telegram
17
+ * group chat bursts should merge across senders so the agent sees a coherent
18
+ * slice of the room rather than three separate turns racing each other.
19
+ */
20
+ export declare function buildTelegramDebounceKey(input: TelegramDebounceInput, accountId: string): string | null;
21
+ export { TELEGRAM_DEBOUNCE_DEFAULT_MS, TELEGRAM_DEBOUNCE_MAX_MS };
22
+ //# sourceMappingURL=debounce.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debounce.d.ts","sourceRoot":"","sources":["../../../../src/channels/telegram/debounce.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE/D,QAAA,MAAM,4BAA4B,IAAI,CAAC;AACvC,QAAA,MAAM,wBAAwB,QAAQ,CAAC;AAEvC;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,IAAI,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,GACxD,MAAM,CAsBR;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,qBAAqB,EAC5B,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAKf;AAED,OAAO,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Pure Telegram inbound normalization shared by the local grammY adapter and
3
+ * remote hosts (for example Cloud webhook ingress) through the public
4
+ * `@letta-ai/letta-code/channels/telegram` subpath.
5
+ *
6
+ * Everything here operates on plain Bot API update shapes; no grammY import
7
+ * and no node builtins so remote hosts reuse the exact local semantics.
8
+ */
9
+ import type { ChannelReplyContext } from "../types";
10
+ import { type TelegramLikeMessage, type TelegramMentionResult, type TelegramReactionType, type TelegramReactionUpdate } from "./message-shapes";
11
+ export declare function escapeRegExp(value: string): string;
12
+ export declare function getTelegramMessageEntities(message: TelegramLikeMessage): Array<{
13
+ type?: string;
14
+ offset?: number;
15
+ length?: number;
16
+ }>;
17
+ export declare function detectTelegramBotMention(message: TelegramLikeMessage, botUsername: string | null | undefined, botDisplayName?: string | null | undefined, text?: string): TelegramMentionResult;
18
+ export declare function getTelegramChatType(chat: {
19
+ type?: string;
20
+ }): "direct" | "channel";
21
+ export declare function getTelegramChatLabel(message: TelegramLikeMessage): string | undefined;
22
+ export declare function getTelegramMessageThreadId(message: TelegramLikeMessage): string | null;
23
+ export declare function getTelegramReplyContext(message: TelegramLikeMessage): ChannelReplyContext | undefined;
24
+ export declare function getTelegramReactionToken(reaction: TelegramReactionType): string | null;
25
+ export declare function getTelegramReactionSenderName(update: TelegramReactionUpdate): string | undefined;
26
+ export declare function getTelegramReactionSenderId(update: TelegramReactionUpdate): string | null;
27
+ /**
28
+ * Diff a Bot API `message_reaction` update into discrete added/removed
29
+ * reaction events, using the same token normalization the local adapter uses.
30
+ */
31
+ export declare function diffTelegramReactionUpdate(update: Pick<TelegramReactionUpdate, "old_reaction" | "new_reaction">): Array<{
32
+ action: "added" | "removed";
33
+ emoji: string;
34
+ }>;
35
+ //# sourceMappingURL=ingress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ingress.d.ts","sourceRoot":"","sources":["../../../../src/channels/telegram/ingress.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAC;AAE1B,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,mBAAmB,GAC3B,KAAK,CAAC;IACP,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC,CAID;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,mBAAmB,EAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACtC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC1C,IAAI,GAAE,MAA4C,GACjD,qBAAqB,CAoDvB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,QAAQ,GAAG,SAAS,CAEvB;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,mBAAmB,GAC3B,MAAM,GAAG,SAAS,CAUpB;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,mBAAmB,GAC3B,MAAM,GAAG,IAAI,CAIf;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,mBAAmB,GAC3B,mBAAmB,GAAG,SAAS,CAqBjC;AAED,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,oBAAoB,GAC7B,MAAM,GAAG,IAAI,CAaf;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,sBAAsB,GAC7B,MAAM,GAAG,SAAS,CAgBpB;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,sBAAsB,GAC7B,MAAM,GAAG,IAAI,CAQf;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,IAAI,CAAC,sBAAsB,EAAE,cAAc,GAAG,cAAc,CAAC,GACpE,KAAK,CAAC;IAAE,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAwBvD"}
@@ -0,0 +1,16 @@
1
+ import type { ChannelMessageActionAdapter, ChannelMessageActionRoute } from "../plugin-types";
2
+ export interface CreateTelegramMessageActionAdapterOptions {
3
+ /**
4
+ * Host-owned lookup for the account-level "rich private chat" default.
5
+ * The local plugin reads the channel accounts store; remote hosts supply
6
+ * their own config source. Defaults to enabled when omitted.
7
+ */
8
+ richPrivateChatDefaultEnabled?: (route: ChannelMessageActionRoute) => boolean;
9
+ }
10
+ /**
11
+ * Build the canonical Telegram MessageChannel actions around a host-owned
12
+ * transport (`ctx.adapter`). The local plugin and remote gateways share the
13
+ * same request validation, rich-message defaulting, and thread resolution.
14
+ */
15
+ export declare function createTelegramMessageActionAdapter(options?: CreateTelegramMessageActionAdapterOptions): ChannelMessageActionAdapter;
16
+ //# sourceMappingURL=message-action-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-action-contract.d.ts","sourceRoot":"","sources":["../../../../src/channels/telegram/message-action-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,2BAA2B,EAG3B,yBAAyB,EAC1B,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,yCAAyC;IACxD;;;;OAIG;IACH,6BAA6B,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,OAAO,CAAC;CAC/E;AAsCD;;;;GAIG;AACH,wBAAgB,kCAAkC,CAChD,OAAO,GAAE,yCAA8C,GACtD,2BAA2B,CA0F7B"}
@@ -0,0 +1,154 @@
1
+ /**
2
+ * Pure Telegram wire shapes shared by the local grammY adapter and remote
3
+ * hosts (for example Cloud webhook ingress) through the public
4
+ * `@letta-ai/letta-code/channels/telegram` subpath.
5
+ *
6
+ * This module must stay free of grammY imports and node builtins so the
7
+ * public bundle and its declaration files resolve for browser/node consumers
8
+ * that do not install the Telegram runtime.
9
+ */
10
+ export type TelegramLikeMessage = {
11
+ media_group_id?: string;
12
+ message_thread_id?: number | string;
13
+ message_id: number | string;
14
+ date: number;
15
+ text?: string;
16
+ caption?: string;
17
+ entities?: Array<{
18
+ type?: string;
19
+ offset?: number;
20
+ length?: number;
21
+ }>;
22
+ caption_entities?: Array<{
23
+ type?: string;
24
+ offset?: number;
25
+ length?: number;
26
+ }>;
27
+ reply_to_message?: TelegramLikeMessage;
28
+ chat: {
29
+ id: number | string;
30
+ type?: string;
31
+ title?: string;
32
+ username?: string;
33
+ };
34
+ from?: {
35
+ id: number | string;
36
+ username?: string;
37
+ first_name?: string;
38
+ last_name?: string;
39
+ };
40
+ photo?: Array<{
41
+ file_id: string;
42
+ file_unique_id?: string;
43
+ file_size?: number;
44
+ }>;
45
+ document?: {
46
+ file_id: string;
47
+ file_name?: string;
48
+ mime_type?: string;
49
+ file_size?: number;
50
+ };
51
+ video?: {
52
+ file_id: string;
53
+ file_name?: string;
54
+ file_unique_id?: string;
55
+ mime_type?: string;
56
+ file_size?: number;
57
+ };
58
+ audio?: {
59
+ file_id: string;
60
+ file_name?: string;
61
+ file_unique_id?: string;
62
+ mime_type?: string;
63
+ file_size?: number;
64
+ };
65
+ voice?: {
66
+ file_id: string;
67
+ file_unique_id?: string;
68
+ mime_type?: string;
69
+ file_size?: number;
70
+ };
71
+ animation?: {
72
+ file_id: string;
73
+ file_name?: string;
74
+ file_unique_id?: string;
75
+ mime_type?: string;
76
+ file_size?: number;
77
+ };
78
+ sticker?: {
79
+ file_id: string;
80
+ file_unique_id?: string;
81
+ mime_type?: string;
82
+ file_size?: number;
83
+ is_animated?: boolean;
84
+ is_video?: boolean;
85
+ };
86
+ };
87
+ export type TelegramMentionResult = {
88
+ isMention: boolean;
89
+ text: string;
90
+ };
91
+ export type TelegramInputRichMessage = {
92
+ html?: string;
93
+ markdown?: string;
94
+ is_rtl?: boolean;
95
+ skip_entity_detection?: boolean;
96
+ };
97
+ export type TelegramRichMessagePayload = {
98
+ chat_id: string | number;
99
+ message_thread_id?: number;
100
+ reply_parameters?: {
101
+ message_id: number;
102
+ };
103
+ rich_message: TelegramInputRichMessage;
104
+ };
105
+ export type TelegramRichMessageDraftPayload = Omit<TelegramRichMessagePayload, "reply_parameters"> & {
106
+ draft_id: number;
107
+ };
108
+ export type TelegramReactionType = {
109
+ type?: "emoji";
110
+ emoji?: string;
111
+ } | {
112
+ type?: "custom_emoji";
113
+ custom_emoji_id?: string;
114
+ } | {
115
+ type?: "paid";
116
+ };
117
+ /**
118
+ * Structural reaction payload accepted by Bot API `setMessageReaction`.
119
+ * Mirrors grammY's `ReactionType` without importing its types so the public
120
+ * declaration files do not require `@grammyjs/types`.
121
+ */
122
+ export type TelegramReactionInput = {
123
+ type: "emoji";
124
+ emoji: string;
125
+ } | {
126
+ type: "custom_emoji";
127
+ custom_emoji_id: string;
128
+ };
129
+ export type TelegramReactionUpdate = {
130
+ chat: {
131
+ id: string | number;
132
+ type?: string;
133
+ title?: string;
134
+ username?: string;
135
+ };
136
+ message_id: string | number;
137
+ user?: {
138
+ id: string | number;
139
+ username?: string;
140
+ first_name?: string;
141
+ last_name?: string;
142
+ };
143
+ actor_chat?: {
144
+ id: string | number;
145
+ username?: string;
146
+ title?: string;
147
+ };
148
+ date: number;
149
+ old_reaction: TelegramReactionType[];
150
+ new_reaction: TelegramReactionType[];
151
+ };
152
+ export declare function extractTelegramMessageText(message: TelegramLikeMessage): string;
153
+ export declare function getTelegramSenderName(message: TelegramLikeMessage): string | undefined;
154
+ //# sourceMappingURL=message-shapes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-shapes.d.ts","sourceRoot":"","sources":["../../../../src/channels/telegram/message-shapes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Pure Telegram outbound payload builders shared by the local grammY adapter
3
+ * and remote hosts (for example Cloud Bot API senders) through the public
4
+ * `@letta-ai/letta-code/channels/telegram` subpath.
5
+ *
6
+ * Everything here builds plain Bot API payload objects; no grammY import and
7
+ * no node builtins.
8
+ */
9
+ import type { ChannelRichMessage, OutboundChannelMessage, OutboundChannelRichMessageDraft } from "../types";
10
+ import type { TelegramInputRichMessage, TelegramReactionInput, TelegramRichMessageDraftPayload, TelegramRichMessagePayload } from "./message-shapes";
11
+ export declare function resolveTelegramOutboundThreadId(msg: {
12
+ threadId?: string | null;
13
+ }): string | null;
14
+ export declare function buildTelegramReplyOptions(msg: Pick<OutboundChannelMessage, "chatId" | "replyToMessageId" | "threadId" | "parseMode" | "text" | "title">): Record<string, unknown>;
15
+ export declare function toTelegramInputRichMessage(richMessage: ChannelRichMessage): TelegramInputRichMessage;
16
+ export declare function buildTelegramRichMessagePayload(msg: Pick<OutboundChannelMessage, "chatId" | "replyToMessageId" | "threadId" | "richMessage">): TelegramRichMessagePayload;
17
+ export declare function buildTelegramRichMessageDraftPayload(draft: Pick<OutboundChannelRichMessageDraft, "chatId" | "threadId" | "draftId" | "richMessage">): TelegramRichMessageDraftPayload;
18
+ export declare function getTelegramErrorText(error: unknown): string;
19
+ export declare function shouldFallbackTelegramRichMessage(error: unknown): boolean;
20
+ export declare function parseTelegramReactionInput(reaction: string): TelegramReactionInput | null;
21
+ //# sourceMappingURL=outbound.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outbound.d.ts","sourceRoot":"","sources":["../../../../src/channels/telegram/outbound.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACtB,+BAA+B,EAChC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACrB,+BAA+B,EAC/B,0BAA0B,EAC3B,MAAM,kBAAkB,CAAC;AAE1B,wBAAgB,+BAA+B,CAAC,GAAG,EAAE;IACnD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,GAAG,MAAM,GAAG,IAAI,CAEhB;AAED,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,IAAI,CACP,sBAAsB,EACtB,QAAQ,GAAG,kBAAkB,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,CAC5E,GACA,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqBzB;AAED,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,kBAAkB,GAC9B,wBAAwB,CAuB1B;AAED,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,IAAI,CACP,sBAAsB,EACtB,QAAQ,GAAG,kBAAkB,GAAG,UAAU,GAAG,aAAa,CAC3D,GACA,0BAA0B,CAmB5B;AAED,wBAAgB,oCAAoC,CAClD,KAAK,EAAE,IAAI,CACT,+BAA+B,EAC/B,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,CAClD,GACA,+BAA+B,CAWjC;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAc3D;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAmCzE;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,GACf,qBAAqB,GAAG,IAAI,CAsB9B"}
@@ -1,3 +1,5 @@
1
+ export type { SlackAttachmentReadClient, SlackFetchedFile, SlackFileFetcher, SlackFileLike, SlackFileMetadata, } from "./channels/slack/attachment-primitives";
2
+ export { collectSlackFiles, fetchSlackFile, resolveSlackFileMetadata, resolveSlackMessageFiles, } from "./channels/slack/attachment-primitives";
1
3
  export { isOwnSlackBotInboundMessage, isSlackBotAuthoredInboundMessage, shouldAcceptSlackInboundBotMessage, } from "./channels/slack/bot-policy";
2
4
  export type { ResolveSlackAppMentionIngressPolicyParams, ResolveSlackMessageIngressPolicyParams, ResolveSlackReactionIngressPolicyParams, SlackAppMentionEventLike, SlackAppMentionIngressAccepted, SlackAppMentionIngressPolicy, SlackInboundMessageEventLike, SlackIngressIgnored, SlackIngressIgnoreReason, SlackMessageIngressAccepted, SlackMessageIngressPolicy, SlackReactionEventLike, SlackReactionIngressAccepted, SlackReactionIngressPolicy, } from "./channels/slack/ingress-policy";
3
5
  export { isProcessableSlackInboundMessage, resolveSlackAppMentionIngressPolicy, resolveSlackMessageIngressPolicy, resolveSlackReactionIngressPolicy, shouldSkipSlackMessageByLastSeen, } from "./channels/slack/ingress-policy";
@@ -1 +1 @@
1
- {"version":3,"file":"channels-slack.d.ts","sourceRoot":"","sources":["../../src/channels-slack.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,EAChC,kCAAkC,GACnC,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,yCAAyC,EACzC,sCAAsC,EACtC,uCAAuC,EACvC,wBAAwB,EACxB,8BAA8B,EAC9B,4BAA4B,EAC5B,4BAA4B,EAC5B,mBAAmB,EACnB,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,sBAAsB,EACtB,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,gCAAgC,EAChC,mCAAmC,EACnC,gCAAgC,EAChC,iCAAiC,EACjC,gCAAgC,GACjC,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,sCAAsC,EAAE,MAAM,0CAA0C,CAAC;AACvG,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAC3F,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,gCAAgC,EAChC,4BAA4B,GAC7B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,4BAA4B,EAC5B,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,4BAA4B,EAC5B,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACV,8BAA8B,EAC9B,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,4BAA4B,EAC5B,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,YAAY,EACV,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EACL,iCAAiC,EACjC,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"channels-slack.d.ts","sourceRoot":"","sources":["../../src/channels-slack.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,GAClB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,EAChC,kCAAkC,GACnC,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,yCAAyC,EACzC,sCAAsC,EACtC,uCAAuC,EACvC,wBAAwB,EACxB,8BAA8B,EAC9B,4BAA4B,EAC5B,4BAA4B,EAC5B,mBAAmB,EACnB,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,sBAAsB,EACtB,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,gCAAgC,EAChC,mCAAmC,EACnC,gCAAgC,EAChC,iCAAiC,EACjC,gCAAgC,GACjC,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,sCAAsC,EAAE,MAAM,0CAA0C,CAAC;AACvG,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAC3F,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,gCAAgC,EAChC,4BAA4B,GAC7B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,4BAA4B,EAC5B,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,4BAA4B,EAC5B,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACV,8BAA8B,EAC9B,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,4BAA4B,EAC5B,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,YAAY,EACV,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EACL,iCAAiC,EACjC,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Public Telegram channel primitives for remote hosts (for example Cloud
3
+ * webhook ingress and Bot API senders).
4
+ *
5
+ * Bundled as `@letta-ai/letta-code/channels/telegram`. Everything reachable
6
+ * from this entry must stay free of grammY imports, node builtins, and
7
+ * backend/provider modules — the same constraint as `channels/slack`.
8
+ *
9
+ * NOTE: use relative imports in this file (not `@/`), because tsc preserves
10
+ * import specifiers in the emitted d.ts files and consumers cannot resolve
11
+ * `@/` aliases.
12
+ */
13
+ export { buildTelegramDebounceKey, resolveTelegramInboundDebounceMs, TELEGRAM_DEBOUNCE_DEFAULT_MS, TELEGRAM_DEBOUNCE_MAX_MS, type TelegramDebounceInput, } from "./channels/telegram/debounce";
14
+ export { detectTelegramBotMention, diffTelegramReactionUpdate, getTelegramChatLabel, getTelegramChatType, getTelegramMessageEntities, getTelegramMessageThreadId, getTelegramReactionSenderId, getTelegramReactionSenderName, getTelegramReactionToken, getTelegramReplyContext, } from "./channels/telegram/ingress";
15
+ export type { CreateTelegramMessageActionAdapterOptions } from "./channels/telegram/message-action-contract";
16
+ export { createTelegramMessageActionAdapter } from "./channels/telegram/message-action-contract";
17
+ export type { TelegramInputRichMessage, TelegramLikeMessage, TelegramMentionResult, TelegramReactionInput, TelegramReactionType, TelegramReactionUpdate, TelegramRichMessageDraftPayload, TelegramRichMessagePayload, } from "./channels/telegram/message-shapes";
18
+ export { extractTelegramMessageText, getTelegramSenderName, } from "./channels/telegram/message-shapes";
19
+ export { buildTelegramReplyOptions, buildTelegramRichMessageDraftPayload, buildTelegramRichMessagePayload, getTelegramErrorText, parseTelegramReactionInput, resolveTelegramOutboundThreadId, shouldFallbackTelegramRichMessage, toTelegramInputRichMessage, } from "./channels/telegram/outbound";
20
+ //# sourceMappingURL=channels-telegram.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channels-telegram.d.ts","sourceRoot":"","sources":["../../src/channels-telegram.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EAChC,4BAA4B,EAC5B,wBAAwB,EACxB,KAAK,qBAAqB,GAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,EAC1B,0BAA0B,EAC1B,2BAA2B,EAC3B,6BAA6B,EAC7B,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,yCAAyC,EAAE,MAAM,6CAA6C,CAAC;AAC7G,OAAO,EAAE,kCAAkC,EAAE,MAAM,6CAA6C,CAAC;AACjG,YAAY,EACV,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,+BAA+B,EAC/B,0BAA0B,GAC3B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,yBAAyB,EACzB,oCAAoC,EACpC,+BAA+B,EAC/B,oBAAoB,EACpB,0BAA0B,EAC1B,+BAA+B,EAC/B,iCAAiC,EACjC,0BAA0B,GAC3B,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Stream } from "@letta-ai/letta-client/core/streaming";
2
+ import type { LettaStreamingResponse } from "@letta-ai/letta-client/resources/agents/messages";
3
+ export declare function summarizeStreamForDebug(stream: unknown): string;
4
+ export declare function summarizeChunkForDebug(chunk: LettaStreamingResponse | null): string;
5
+ export declare function abortStreamController(stream: Stream<LettaStreamingResponse>, reason: string): void;
6
+ //# sourceMappingURL=stream-debug.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-debug.d.ts","sourceRoot":"","sources":["../../../../src/cli/helpers/stream-debug.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAG/F,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAoB/D;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,sBAAsB,GAAG,IAAI,GACnC,MAAM,CAwBR;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,CAAC,sBAAsB,CAAC,EACtC,MAAM,EAAE,MAAM,GACb,IAAI,CA8BN"}
@@ -0,0 +1,16 @@
1
+ export type StreamStallReconciler = {
2
+ /** (Re-)start the silence timer. Call at stream start and on every chunk. */
3
+ arm: () => void;
4
+ /** Cancel the timer. Call when the stream ends for any reason. */
5
+ clear: () => void;
6
+ /** True if the reconciler aborted the HTTP read. */
7
+ fired: () => boolean;
8
+ };
9
+ export declare function createStreamStallReconciler(context: {
10
+ getRunId: () => string | null;
11
+ getStopReason: () => string | null;
12
+ /** Fetch the run's current server-side status; may throw. */
13
+ retrieveRunStatus: (runId: string) => Promise<string | null | undefined>;
14
+ abortHttpRead: () => void;
15
+ }): StreamStallReconciler;
16
+ //# sourceMappingURL=stream-stall-reconciler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-stall-reconciler.d.ts","sourceRoot":"","sources":["../../../../src/cli/helpers/stream-stall-reconciler.ts"],"names":[],"mappings":"AAoDA,MAAM,MAAM,qBAAqB,GAAG;IAClC,6EAA6E;IAC7E,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,kEAAkE;IAClE,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,oDAAoD;IACpD,KAAK,EAAE,MAAM,OAAO,CAAC;CACtB,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,OAAO,EAAE;IACnD,QAAQ,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACnC,6DAA6D;IAC7D,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IACzE,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B,GAAG,qBAAqB,CAiFxB"}
@@ -30,6 +30,7 @@ export type DrainResult = {
30
30
  apiDurationMs: number;
31
31
  fallbackError?: string | null;
32
32
  terminalEofGuardFired?: boolean;
33
+ stallReconcilerFired?: boolean;
33
34
  };
34
35
  export declare function drainStream(stream: Stream<LettaStreamingResponse>, buffers: ReturnType<typeof createBuffers>, refresh: () => void, abortSignal?: AbortSignal, onFirstMessage?: () => void, onChunkProcessed?: DrainStreamHook, contextTracker?: ContextTracker, seenSeqIdThreshold?: number | null, isResumeStream?: boolean, skipCancelToolsOnError?: boolean): Promise<DrainResult>;
35
36
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../../src/cli/helpers/stream.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAC/F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAuBjF,OAAO,EACL,KAAK,aAAa,EAMnB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAIL,KAAK,kBAAkB,EAExB,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,sBAAsB,CAAC;IAC9B,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,eAAe,EAAE,eAAe,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAC5B,GAAG,EAAE,sBAAsB,KAEzB,qBAAqB,GACrB,SAAS,GACT,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;AAE/C,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,cAAc,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAqFF,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,CAAC,sBAAsB,CAAC,EACtC,OAAO,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,EACzC,OAAO,EAAE,MAAM,IAAI,EACnB,WAAW,CAAC,EAAE,WAAW,EACzB,cAAc,CAAC,EAAE,MAAM,IAAI,EAC3B,gBAAgB,CAAC,EAAE,eAAe,EAClC,cAAc,CAAC,EAAE,cAAc,EAC/B,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,EAClC,cAAc,CAAC,EAAE,OAAO,EACxB,sBAAsB,CAAC,EAAE,OAAO,GAC/B,OAAO,CAAC,WAAW,CAAC,CAsXtB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,CAAC,sBAAsB,CAAC,EACtC,OAAO,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,EACzC,OAAO,EAAE,MAAM,IAAI,EACnB,WAAW,CAAC,EAAE,WAAW,EACzB,cAAc,CAAC,EAAE,MAAM,IAAI,EAC3B,gBAAgB,CAAC,EAAE,eAAe,EAClC,cAAc,CAAC,EAAE,cAAc,EAC/B,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,EAClC,YAAY,CAAC,EAAE,kBAAkB,GAChC,OAAO,CAAC,WAAW,CAAC,CAkZtB"}
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../../src/cli/helpers/stream.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAC/F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAuBjF,OAAO,EACL,KAAK,aAAa,EAMnB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMxD,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAIL,KAAK,kBAAkB,EAExB,MAAM,iBAAiB,CAAC;AAIzB,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,sBAAsB,CAAC;IAC9B,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,eAAe,EAAE,eAAe,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAC5B,GAAG,EAAE,sBAAsB,KAEzB,qBAAqB,GACrB,SAAS,GACT,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;AAE/C,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,cAAc,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,CAAC,sBAAsB,CAAC,EACtC,OAAO,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,EACzC,OAAO,EAAE,MAAM,IAAI,EACnB,WAAW,CAAC,EAAE,WAAW,EACzB,cAAc,CAAC,EAAE,MAAM,IAAI,EAC3B,gBAAgB,CAAC,EAAE,eAAe,EAClC,cAAc,CAAC,EAAE,cAAc,EAC/B,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,EAClC,cAAc,CAAC,EAAE,OAAO,EACxB,sBAAsB,CAAC,EAAE,OAAO,GAC/B,OAAO,CAAC,WAAW,CAAC,CA2YtB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,CAAC,sBAAsB,CAAC,EACtC,OAAO,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,EACzC,OAAO,EAAE,MAAM,IAAI,EACnB,WAAW,CAAC,EAAE,WAAW,EACzB,cAAc,CAAC,EAAE,MAAM,IAAI,EAC3B,gBAAgB,CAAC,EAAE,eAAe,EAClC,cAAc,CAAC,EAAE,cAAc,EAC/B,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,EAClC,YAAY,CAAC,EAAE,kBAAkB,GAChC,OAAO,CAAC,WAAW,CAAC,CAkZtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"bash.d.ts","sourceRoot":"","sources":["../../../../src/tools/impl/bash.ts"],"names":[],"mappings":"AA+DA;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,MAAM,EAAE,CAQV;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IACP,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC,GACA,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CA4FtE;AAiGD,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3D;AAED,UAAU,UAAU;IAClB,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;CAC7B;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CA2Q9D"}
1
+ {"version":3,"file":"bash.d.ts","sourceRoot":"","sources":["../../../../src/tools/impl/bash.ts"],"names":[],"mappings":"AA+DA;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,MAAM,EAAE,CAQV;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IACP,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC,GACA,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CA4FtE;AAiGD,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3D;AAED,UAAU,UAAU;IAClB,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;CAC7B;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CA4R9D"}
@@ -37,6 +37,7 @@ interface ExecSession {
37
37
  exitCode: number | null;
38
38
  tty: boolean;
39
39
  secrets: Readonly<Record<string, string>>;
40
+ outputWriteFailed?: boolean;
40
41
  cleanupTimer?: ReturnType<typeof setTimeout>;
41
42
  }
42
43
  type ExecOutputChunk = {
@@ -1 +1 @@
1
- {"version":3,"file":"exec-command.d.ts","sourceRoot":"","sources":["../../../../src/tools/impl/exec-command.ts"],"names":[],"mappings":"AAyCA,UAAU,eAAe;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAMhB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3D;AAED,UAAU,cAAc;IACtB,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;CACjE;AAED,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,iBAAiB,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE5D,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1C,YAAY,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;CAC9C;AAED,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AA+bF,wBAAsB,YAAY,CAChC,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,iBAAiB,CAAC,CAqC5B;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,iBAAiB,CAAC,CAgD5B;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAOlD;AAED,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,GAChB,WAAW,GAAG,SAAS,CAEzB"}
1
+ {"version":3,"file":"exec-command.d.ts","sourceRoot":"","sources":["../../../../src/tools/impl/exec-command.ts"],"names":[],"mappings":"AAyCA,UAAU,eAAe;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAMhB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3D;AAED,UAAU,cAAc;IACtB,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;CACjE;AAED,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,iBAAiB,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE5D,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;CAC9C;AAED,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAsdF,wBAAsB,YAAY,CAChC,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,iBAAiB,CAAC,CAqC5B;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,iBAAiB,CAAC,CAgD5B;AAED,wBAAgB,2BAA2B,IAAI,IAAI,CAOlD;AAED,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,GAChB,WAAW,GAAG,SAAS,CAEzB"}
@@ -10,6 +10,8 @@ export interface GitHubPullRequestOutputTracker {
10
10
  finish(): Promise<void>;
11
11
  }
12
12
  export declare function isGitHubPullRequestCreateCommand(command: ShellSourceCommand): boolean;
13
+ /** Copy PRs opened in an Agent conversation onto its launching conversation. */
14
+ export declare function copyGitHubPullRequestTags(sourceConversationId: string | undefined, targetConversationId: string | undefined, backend?: ConversationTagBackend): Promise<void>;
13
15
  export declare function createGitHubPullRequestOutputTracker(command: ShellSourceCommand, options?: {
14
16
  conversationId?: string;
15
17
  backend?: ConversationTagBackend;
@@ -1 +1 @@
1
- {"version":3,"file":"github-pull-request-tracker.d.ts","sourceRoot":"","sources":["../../../../src/tools/impl/github-pull-request-tracker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,sBAAsB,EAAc,MAAM,WAAW,CAAC;AAQpE,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;AAE5D,KAAK,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAExC,MAAM,MAAM,sBAAsB,GAAG;IACnC,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,kBAAkB,CAChB,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,OAAO,CAAC,CAAC;CACrB,CAAC;AAEF,MAAM,WAAW,8BAA8B;IAC7C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IACjD,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAoKD,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAaT;AAuED,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE;IACR,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC,GACA,8BAA8B,GAAG,SAAS,CA0D5C"}
1
+ {"version":3,"file":"github-pull-request-tracker.d.ts","sourceRoot":"","sources":["../../../../src/tools/impl/github-pull-request-tracker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,sBAAsB,EAAc,MAAM,WAAW,CAAC;AAQpE,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;AAE5D,KAAK,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAExC,MAAM,MAAM,sBAAsB,GAAG;IACnC,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,kBAAkB,CAChB,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,OAAO,CAAC,CAAC;CACrB,CAAC;AAEF,MAAM,WAAW,8BAA8B;IAC7C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IACjD,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AA+KD,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAaT;AAiED,gFAAgF;AAChF,wBAAsB,yBAAyB,CAC7C,oBAAoB,EAAE,MAAM,GAAG,SAAS,EACxC,oBAAoB,EAAE,MAAM,GAAG,SAAS,EACxC,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAiCf;AAED,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE;IACR,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC,GACA,8BAA8B,GAAG,SAAS,CA0D5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../../../src/tools/impl/monitor.ts"],"names":[],"mappings":"AAqCA,eAAO,MAAM,yBAAyB,QAAc,CAAC;AAIrD,UAAU,sBAAsB;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,UAAU,WAAW;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,sBAAsB,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3D;AAOD,UAAU,aAAa;IACrB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;CACrB;AAmoBD,wBAAsB,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAMvE;AAED,wBAAgB,0BAA0B,IAAI,IAAI,CAajD"}
1
+ {"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../../../src/tools/impl/monitor.ts"],"names":[],"mappings":"AAqCA,eAAO,MAAM,yBAAyB,QAAc,CAAC;AAIrD,UAAU,sBAAsB;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,UAAU,WAAW;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,sBAAsB,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3D;AAOD,UAAU,aAAa;IACrB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;CACrB;AAyqBD,wBAAsB,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAMvE;AAED,wBAAgB,0BAA0B,IAAI,IAAI,CAajD"}
@@ -93,8 +93,14 @@ export declare function __resetBackgroundOutputDirForTests(): void;
93
93
  export declare function createBackgroundOutputFile(id: string): string;
94
94
  /**
95
95
  * Append content to a background output file.
96
+ *
97
+ * Returns `true` on success, `false` on failure such as ENOSPC. The function
98
+ * never throws so that callers inside event callbacks (stdout/stderr data
99
+ * handlers) do not propagate the exception and crash the host process.
100
+ * Callers should check the return value and degrade the affected session or
101
+ * background process instead of pretending the write succeeded.
96
102
  */
97
- export declare function appendToOutputFile(filePath: string, content: string): void;
103
+ export declare function appendToOutputFile(filePath: string, content: string): boolean;
98
104
  export declare function scrubCompletedBackgroundOutput(processState: BackgroundProcess): boolean;
99
105
  export {};
100
106
  //# sourceMappingURL=process_manager.d.ts.map