@bastani/atomic 0.9.29-alpha.1 → 0.9.29

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 (76) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/builtin/intercom/package.json +1 -1
  3. package/dist/builtin/mcp/package.json +1 -1
  4. package/dist/builtin/subagents/CHANGELOG.md +6 -0
  5. package/dist/builtin/subagents/package.json +1 -1
  6. package/dist/builtin/web-access/package.json +1 -1
  7. package/dist/builtin/workflows/CHANGELOG.md +6 -0
  8. package/dist/builtin/workflows/package.json +1 -1
  9. package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
  10. package/dist/core/agent-session-extension-bindings.js +2 -4
  11. package/dist/core/agent-session-extension-bindings.js.map +1 -1
  12. package/dist/core/agent-session-methods.d.ts +4 -1
  13. package/dist/core/agent-session-methods.d.ts.map +1 -1
  14. package/dist/core/agent-session-methods.js.map +1 -1
  15. package/dist/core/agent-session-state.d.ts +7 -0
  16. package/dist/core/agent-session-state.d.ts.map +1 -1
  17. package/dist/core/agent-session-state.js +31 -0
  18. package/dist/core/agent-session-state.js.map +1 -1
  19. package/dist/core/agent-session-tool-registry.d.ts.map +1 -1
  20. package/dist/core/agent-session-tool-registry.js +2 -6
  21. package/dist/core/agent-session-tool-registry.js.map +1 -1
  22. package/dist/core/builtin-resource-loader.d.ts.map +1 -1
  23. package/dist/core/builtin-resource-loader.js +8 -0
  24. package/dist/core/builtin-resource-loader.js.map +1 -1
  25. package/dist/core/resource-loader-core.d.ts.map +1 -1
  26. package/dist/core/resource-loader-core.js +3 -2
  27. package/dist/core/resource-loader-core.js.map +1 -1
  28. package/dist/core/slash-commands.d.ts.map +1 -1
  29. package/dist/core/slash-commands.js +1 -0
  30. package/dist/core/slash-commands.js.map +1 -1
  31. package/dist/core/tool-selection.d.ts +18 -0
  32. package/dist/core/tool-selection.d.ts.map +1 -1
  33. package/dist/core/tool-selection.js +20 -0
  34. package/dist/core/tool-selection.js.map +1 -1
  35. package/dist/core/tool-status.d.ts +61 -0
  36. package/dist/core/tool-status.d.ts.map +1 -0
  37. package/dist/core/tool-status.js +156 -0
  38. package/dist/core/tool-status.js.map +1 -0
  39. package/dist/extensions/default-builtins.d.ts +4 -0
  40. package/dist/extensions/default-builtins.d.ts.map +1 -0
  41. package/dist/extensions/default-builtins.js +14 -0
  42. package/dist/extensions/default-builtins.js.map +1 -0
  43. package/dist/extensions/index.d.ts.map +1 -1
  44. package/dist/extensions/index.js +2 -6
  45. package/dist/extensions/index.js.map +1 -1
  46. package/dist/index.d.ts +1 -0
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +1 -0
  49. package/dist/index.js.map +1 -1
  50. package/dist/modes/interactive/interactive-input-handling.js +5 -0
  51. package/dist/modes/interactive/interactive-input-handling.js.map +1 -1
  52. package/dist/modes/interactive/interactive-mode-surface.d.ts +1 -0
  53. package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
  54. package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
  55. package/dist/modes/interactive/interactive-slash-commands.js +22 -0
  56. package/dist/modes/interactive/interactive-slash-commands.js.map +1 -1
  57. package/dist/modes/interactive-engine/isolated-runtime.d.ts +3 -0
  58. package/dist/modes/interactive-engine/isolated-runtime.d.ts.map +1 -1
  59. package/dist/modes/interactive-engine/isolated-runtime.js +4 -0
  60. package/dist/modes/interactive-engine/isolated-runtime.js.map +1 -1
  61. package/dist/modes/rpc/rpc-client-api.d.ts +3 -0
  62. package/dist/modes/rpc/rpc-client-api.d.ts.map +1 -1
  63. package/dist/modes/rpc/rpc-client-api.js +4 -0
  64. package/dist/modes/rpc/rpc-client-api.js.map +1 -1
  65. package/dist/modes/rpc/rpc-command-handler.d.ts.map +1 -1
  66. package/dist/modes/rpc/rpc-command-handler.js +3 -0
  67. package/dist/modes/rpc/rpc-command-handler.js.map +1 -1
  68. package/dist/modes/rpc/rpc-types.d.ts +10 -0
  69. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  70. package/dist/modes/rpc/rpc-types.js.map +1 -1
  71. package/docs/rpc/protocol.md +61 -0
  72. package/docs/sdk/reference.md +45 -0
  73. package/docs/tools.md +4 -0
  74. package/docs/usage.md +1 -0
  75. package/npm-shrinkwrap.json +32 -32
  76. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session-methods.d.ts","sourceRoot":"","sources":["../../src/core/agent-session-methods.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EACX,GAAG,EACH,gBAAgB,EAChB,YAAY,EACZ,OAAO,EACP,KAAK,EACL,WAAW,EACX,iBAAiB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACX,KAAK,EACL,UAAU,EACV,YAAY,EACZ,UAAU,EACV,SAAS,EACT,aAAa,EACb,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAC9F,OAAO,KAAK,EACX,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,EACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EACX,iBAAiB,EACjB,WAAW,EACX,4BAA4B,EAC5B,wBAAwB,EACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACX,oBAAoB,EACpB,sBAAsB,EACtB,YAAY,EACZ,8BAA8B,EAC9B,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,KAAK,EAAE,4BAA4B,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E,MAAM,WAAW,qBAAsB,SAAQ,OAAO,CAAC,4BAA4B,CAAC;IACnF,8GAA8G;IAC9G,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,8BAA8B;IAC9C,kGAAkG;IAClG,kBAAkB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAC5E,eAAe,EAAE,eAAe,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;IAC5C,2FAA2F;IAC3F,kBAAkB,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,KAAK,IAAI,CAAC;IACtD,uEAAuE;IACvE,OAAO,EAAE,iBAAiB,CAAC;IAC3B;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,4EAA4E;AAC5E,MAAM,MAAM,wBAAwB,GAAG,WAAW,GAAG,iBAAiB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE/F,MAAM,WAAW,0BAA0B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IACnC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;IAC3C,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,cAAc,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,6BAA6B;IAC7C,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC,mBAAmB,IAAI,IAAI,CAAC;IAC5B,yFAAyF;IACzF,oBAAoB,CAAC,aAAa,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACnE;AAED,MAAM,WAAW,yBAA0B,SAAQ,6BAA6B;IAC/E,QAAQ,CAAC,oBAAoB,EAAE,OAAO,uBAAuB,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAChG,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,0BAA0B,EAAE,gBAAgB,CAAC;IAChF,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,KAAK,GAAG,eAAe,CAAC;IAC/C,QAAQ,CAAC,YAAY,EAAE,KAAK,GAAG,eAAe,CAAC;IAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAAC,aAAa,CAAC,EAAE,aAAa,CAAA;KAAE,CAAC,CAAC;IAC3F,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACxD,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;IACzC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IAErC,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3D,uBAAuB,CACtB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,eAAe,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7E,sBAAsB,IAAI,IAAI,CAAC;IAC/B,4BAA4B,IAAI,IAAI,CAAC;IACrC,8BAA8B,IAAI,IAAI,CAAC;IACvC,0BAA0B,IAAI,IAAI,CAAC;IACnC,wBAAwB,IAAI,IAAI,CAAC;IACjC,yBAAyB,IAAI,YAAY,EAAE,CAAC;IAC5C,cAAc,IAAI,IAAI,CAAC;IACvB,wBAAwB,CACvB,OAAO,EAAE,gBAAgB,EACzB,WAAW,EAAE,iBAAiB,EAAE,EAChC,gBAAgB,CAAC,EAAE,OAAO,GACxB,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,oBAAoB,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,oBAAoB,EAAE,GAAG,YAAY,EAAE,CAAC;IAC9F,6BAA6B,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG,cAAc,CAAC;IAC9E,2BAA2B,IAAI,YAAY,EAAE,CAAC;IAC9C,qBAAqB,CACpB,MAAM,EAAE,oBAAoB,EAAE,EAC9B,QAAQ,EAAE,UAAU,GAAG,qBAAqB,GAC1C,sBAAsB,CAAC;IAC1B,qBAAqB,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC;IAC5D,kCAAkC,CAAC,KAAK,EAAE,UAAU,GAAG,qBAAqB,GAAG,IAAI,CAAC;IACpF,4BAA4B,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAAC;IACxE,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,EAAE,WAAW,CAAC,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IACpF,6BAA6B,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,GAAG,OAAO,CAAC;IACxF,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACtC,gBAAgB,IAAI,IAAI,CAAC;IACzB,8BAA8B,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IACxD,4BAA4B,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,gBAAgB,GAAG,SAAS,CAAC;IACrF,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,2BAA2B,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IACrD,2BAA2B,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IACrD,aAAa,IAAI,IAAI,CAAC;IACtB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9C,yBAAyB,IAAI,gBAAgB,GAAG,SAAS,CAAC;IAC1D,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,GAAG,IAAI,CAAC;IAC9E,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,SAAS,CAAC,QAAQ,EAAE,yBAAyB,GAAG,MAAM,IAAI,CAAC;IAC3D,oBAAoB,IAAI,IAAI,CAAC;IAC7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,gBAAgB,IAAI,OAAO,0BAA0B,EAAE,aAAa,CAAC;IACrE,oBAAoB,IAAI,OAAO,4BAA4B,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAChG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,yFAAyF;IACzF,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,WAAW,IAAI,IAAI,CAAC;IAEpB,kBAAkB,IAAI,MAAM,EAAE,CAAC;IAC/B,oBAAoB,IAAI,MAAM,EAAE,CAAC;IACjC,WAAW,IAAI,QAAQ,EAAE,CAAC;IAC1B,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IAC5D,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAChD,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC3C,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAAC,aAAa,CAAC,EAAE,aAAa,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC;IACjG,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;IACtE,0BAA0B,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAAC;IACvE,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAChD,4BAA4B,CAC3B,OAAO,EAAE,kCAAkC,EAC3C,QAAQ,CAAC,EAAE,YAAY,EAAE,GACvB,OAAO,gBAAgB,EAAE,aAAa,GAAG,SAAS,CAAC;IACtD,2BAA2B,CAAC,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACvE,uCAAuC,IAAI,IAAI,CAAC;IAEhD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,eAAe,CACd,QAAQ,EAAE,YAAY,GAAG,YAAY,EAAE,EACvC,aAAa,CAAC,EAAE,MAAM,IAAI,EAC1B,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,iBAAiB,KAAK,IAAI,GACvD,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1C,KAAK,CACJ,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,YAAY,EAAE,EACvB,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,GACrC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACnC,QAAQ,CACP,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,YAAY,EAAE,EACvB,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,GACrC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACnC,eAAe,CACd,OAAO,EAAE,MAAM,GAAG,CAAC,WAAW,GAAG,YAAY,CAAC,EAAE,EAChD,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;QAAC,qBAAqB,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7E,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,iBAAiB,CAAC,CAAC,GAAG,OAAO,EAC5B,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC,EACjF,OAAO,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,kBAAkB,CAAC,CAAC,GAAG,OAAO,EAC7B,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC,EACzF,OAAO,CAAC,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,4BAA4B,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxG,6BAA6B,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7G,oBAAoB,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACzD,2BAA2B,IAAI,IAAI,CAAC;IACpC,8BAA8B,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1G,8BAA8B,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1G,+BAA+B,IAAI,kBAAkB,CAAC;IACtD,wCAAwC,IAAI,IAAI,CAAC;IACjD,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,IAAI,CAAC;IAC9F,yBAAyB,IAAI,kBAAkB,CAAC;IAChD,2BAA2B,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC9D,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACpF,mBAAmB,IAAI,SAAS,MAAM,EAAE,CAAC;IACzC,mBAAmB,IAAI,SAAS,MAAM,EAAE,CAAC;IACzC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,eAAe,GAAG,IAAI,CAAC;IACrD,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,eAAe,GAAG,IAAI,CAAC;IAErD,iBAAiB,CAChB,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,EACrB,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,EACrC,MAAM,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,GAC9C,IAAI,CAAC;IACR,gBAAgB,CACf,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,EACrB,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,EACrC,MAAM,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,GAC9C,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,UAAU,CACT,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,EAClC,OAAO,CAAC,EAAE,oBAAoB,GAC5B,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IACzC,iBAAiB,CAChB,SAAS,EAAE,SAAS,GAAG,UAAU,EACjC,OAAO,EAAE,oBAAoB,GAC3B,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IACzC,oBAAoB,CACnB,SAAS,EAAE,SAAS,GAAG,UAAU,EACjC,OAAO,EAAE,oBAAoB,GAC3B,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;IACzC,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC7E,kBAAkB,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,aAAa,GAAG,SAAS,CAAC;IAC9E,0BAA0B,IAAI,aAAa,EAAE,CAAC;IAC9C,gBAAgB,IAAI,OAAO,CAAC;IAC5B,+BAA+B,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IACxG,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,aAAa,CAAC;IAE3F,wBAAwB,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC,CAAC;IACjH,OAAO,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC5E,eAAe,IAAI,IAAI,CAAC;IACxB,kBAAkB,IAAI,IAAI,CAAC;IAC3B,mBAAmB,IAAI,IAAI,CAAC;IAC5B,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,gBAAgB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChG,kDAAkD,IAAI,IAAI,CAAC;IAC3D,4CAA4C,CAAC,MAAM,EAAE,UAAU,GAAG,WAAW,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IACzG,uCAAuC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,4BAA4B,IAAI,IAAI,CAAC;IACrC,kBAAkB,CACjB,MAAM,EAAE,UAAU,GAAG,WAAW,EAChC,SAAS,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,iBAAiB,GACzB,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACrC,yBAAyB,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACnG,kCAAkC,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAAC;IAC7E,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAEjD,cAAc,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,6BAA6B,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,2BAA2B,CAAC,OAAO,EAAE,0BAA0B,EAAE,GAAG,2BAA2B,EAAE,CAAC;IAClG,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC;IACvD,uBAAuB,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IACvD,gCAAgC,IAAI,IAAI,CAAC;IACzC,+BAA+B,IAAI,IAAI,CAAC;IACxC,kBAAkB,CACjB,MAAM,EAAE,eAAe,EACvB,WAAW,CAAC,EAAE;QACb,cAAc,EAAE,cAAc,CAAC;QAC/B,mBAAmB,EAAE,4BAA4B,CAAC;QAClD,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACzB,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;KAChD,GACC,IAAI,CAAC;IACR,oBAAoB,CAAC,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACzG,aAAa,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAClD,MAAM,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,wBAAwB,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExE,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC;IACtD,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC;IACzD,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC;IACvD,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC;IACrD,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,yBAAyB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvE,wBAAwB,IAAI,IAAI,CAAC;IACjC,wBAAwB,IAAI,IAAI,CAAC;IACjC,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,UAAU,IAAI,IAAI,CAAC;IACnB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAE5C,WAAW,CACV,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,EAC/D,OAAO,CAAC,EAAE;QACT,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,UAAU,CAAC,EAAE,cAAc,CAAC;QAC5B,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,YAAY,CAAC,EAAE,OAAO,CAAC;KACvB,GACC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvB,gBAAgB,CACf,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,UAAU,EAClB,OAAO,CAAC,EAAE;QAAE,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5E,IAAI,CAAC;IACR,SAAS,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,yBAAyB,IAAI,IAAI,CAAC;IAElC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,YAAY,CACX,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3G,OAAO,CAAC;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,kBAAkB,CAAA;KAAE,CAAC,CAAC;IAC9G,yBAAyB,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtE,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,MAAM,CAAC;IAE1F,eAAe,IAAI,YAAY,CAAC;IAChC,eAAe,IAAI,YAAY,GAAG,SAAS,CAAC;IAC5C,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACrF,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM,CAAC;IACxF,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAAC;IAC3C,4BAA4B,IAAI,sBAAsB,CAAC;IACvD,2BAA2B,IAAI,IAAI,CAAC;IACpC,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,iCAAiC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACxD,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;CACjD;AAED,MAAM,WAAW,yBAChB,SAAQ,IAAI,CACX,yBAAyB,EACvB,sBAAsB,GACtB,kBAAkB,GAClB,mBAAmB,GACnB,cAAc,GACd,OAAO,GACP,OAAO,GACP,eAAe,GACf,aAAa,GACb,cAAc,GACd,cAAc,GACd,cAAc,GACd,kBAAkB,GAClB,UAAU,GACV,cAAc,GACd,cAAc,GACd,aAAa,GACb,WAAW,GACX,aAAa,GACb,cAAc,GACd,iBAAiB,GACjB,qBAAqB,GACrB,gBAAgB,GAChB,uBAAuB,GACvB,YAAY,GACZ,kBAAkB,GAClB,qBAAqB,GACrB,eAAe,GACf,wBAAwB,GACxB,iBAAiB,GACjB,WAAW,GACX,sBAAsB,GACtB,qBAAqB,GACrB,sBAAsB,GACtB,WAAW,GACX,SAAS,GACT,oBAAoB,GACpB,sBAAsB,GACtB,aAAa,GACb,mBAAmB,GACnB,sBAAsB,GACtB,iBAAiB,GACjB,QAAQ,GACR,OAAO,GACP,UAAU,GACV,mBAAmB,GACnB,iBAAiB,GACjB,YAAY,GACZ,qBAAqB,GACrB,qBAAqB,GACrB,OAAO,GACP,UAAU,GACV,YAAY,GACZ,kBAAkB,GAClB,oBAAoB,GACpB,4BAA4B,GAC5B,kBAAkB,GAClB,iBAAiB,GACjB,iBAAiB,GACjB,SAAS,GACT,iBAAiB,GACjB,oBAAoB,GACpB,0BAA0B,GAC1B,gBAAgB,GAChB,iCAAiC,GACjC,QAAQ,GACR,0BAA0B,GAC1B,YAAY,GACZ,qBAAqB,GACrB,aAAa,GACb,kBAAkB,GAClB,WAAW,GACX,gBAAgB,GAChB,cAAc,GACd,2BAA2B,GAC3B,iBAAiB,GACjB,iBAAiB,GACjB,gBAAgB,GAChB,cAAc,GACd,eAAe,GACf,sBAAsB,GACtB,8BAA8B,GAC9B,sBAAsB,CACxB;IACD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;CAC1C;AAED,MAAM,WAAW,2BAA4B,SAAQ,yBAAyB,EAAE,yBAAyB;IACxG,aAAa,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAAC,aAAa,CAAC,EAAE,aAAa,CAAA;KAAE,CAAC,CAAC;IAC3E,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC;IACrF,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,sBAAsB,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,oBAAoB,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC7C,4BAA4B,EAAE,aAAa,GAAG,SAAS,CAAC;IACxD,wBAAwB,EAAE,MAAM,CAAC;IACjC,yBAAyB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1C,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,eAAe,EAAE,yBAAyB,EAAE,CAAC;IAC7C,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,uBAAuB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,kCAAkC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAC9D,gCAAgC,EAAE,MAAM,CAAC;IACzC,2BAA2B,EAAE,MAAM,CAAC;IACpC,sCAAsC,EAAE,MAAM,CAAC;IAC/C,iCAAiC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtD,+BAA+B,EAAE,8BAA8B,GAAG,SAAS,CAAC;IAC5E,uBAAuB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,iCAAiC,EAAE,OAAO,CAAC;IAC3C,2BAA2B,EAAE,MAAM,CAAC;IACpC,yBAAyB,EAAE,OAAO,CAAC;IACnC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uBAAuB,EAAE,OAAO,CAAC;IACjC,YAAY,CAAC,EAAE,OAAO,mBAAmB,EAAE,WAAW,CAAC;IACvD,yBAAyB,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC1D,qBAAqB,EAAE,OAAO,CAAC;IAC/B,iCAAiC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAC7D,mCAAmC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxD,qBAAqB,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IACjD,mCAAmC,EAAE,2BAA2B,GAAG,SAAS,CAAC;IAC7E,4BAA4B,EAAE,MAAM,GAAG,SAAS,CAAC;IACjD,wBAAwB,EAAE,aAAa,EAAE,CAAC;IAC1C,sBAAsB,EAAE,aAAa,EAAE,CAAC;IACxC,iCAAiC,EAAE,KAAK,CAAC;QACxC,OAAO,EAAE,aAAa,CAAC;QACvB,QAAQ,EAAE,OAAO,GAAG,UAAU,CAAC;QAC/B,KAAK,EAAE,QAAQ,GAAG,sBAAsB,GAAG,oBAAoB,CAAC;KAChE,CAAC,CAAC;IACH,0BAA0B,EAAE,eAAe,GAAG,SAAS,CAAC;IACxD,wBAAwB,EAAE,OAAO,CAAC,wBAAwB,CAAC,GAAG,SAAS,CAAC;IACxE,8BAA8B,EAAE,eAAe,GAAG,SAAS,CAAC;IAC5D,yBAAyB,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IACrD,iBAAiB,EAAE,OAAO,0BAA0B,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACnF,0BAA0B,EAAE,OAAO,CAAC;IACpC,mCAAmC,EAAE,OAAO,CAAC;IAC7C,0BAA0B,EAAE,OAAO,CAAC;IACpC,6BAA6B,EAAE,eAAe,GAAG,SAAS,CAAC;IAC3D,wBAAwB,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IACpD,qBAAqB,EAAE,eAAe,GAAG,SAAS,CAAC;IACnD,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IACzC,aAAa,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACxC,qBAAqB,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;IAClE,oBAAoB,EAAE,oBAAoB,EAAE,CAAC;IAC7C,gBAAgB,EAAE,eAAe,CAAC;IAClC,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,QAAQ,CAAC,2BAA2B,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,QAAQ,CAAC,4BAA4B,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,yBAAyB,EAAE,YAAY,EAAE,CAAC;IAC1C,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,eAAe,EAAE,OAAO,CAAC;IACzB,wBAAwB,EAAE,OAAO,CAAC;IAClC,uBAAuB,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,uBAAuB,EAAE,KAAK,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,iCAAiC,EAAE,OAAO,CAAC;IAC3C,eAAe,EAAE,cAAc,CAAC;IAChC,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,eAAe,CAAA;KAAE,CAAC;IACpD,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IACnC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,oBAAoB,CAAC,EAAE,OAAO,4BAA4B,EAAE,2BAA2B,CAAC;IACxF,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/C,kBAAkB,EAAE,iBAAiB,CAAC;IACtC,qBAAqB,CAAC,EAAE,oBAAoB,CAAC;IAC7C,eAAe,CAAC,EAAE,OAAO,uBAAuB,EAAE,mBAAmB,CAAC;IACtE,yBAAyB,CAAC,EAAE,OAAO,+BAA+B,EAAE,8BAA8B,CAAC;IACnG,mBAAmB,CAAC,EAAE,kBAAkB,CAAC;IACzC,oBAAoB,CAAC,EAAE,OAAO,4BAA4B,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7E,4BAA4B,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,4BAA4B,EAAE,cAAc,KAAK,IAAI,CAAC;IACzG,cAAc,EAAE,aAAa,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,KAAK,EAAE,OAAO,uBAAuB,EAAE,oBAAoB,EAAE,gBAAgB,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClH,8BAA8B,EAAE,eAAe,GAAG,SAAS,CAAC;IAC5D,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,OAAO,4BAA4B,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACvF,wBAAwB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,+BAA+B,CAAC,EAAE,8BAA8B,CAAC;IACjE,yBAAyB,CAAC,EAAE,MAAM,IAAI,CAAC;IACvC,uBAAuB,CAAC,EAAE,sBAAsB,CAAC;IACjD,2BAA2B,CAAC,EAAE,MAAM,IAAI,CAAC;IACzC,aAAa,EAAE,YAAY,CAAC;IAC5B,qBAAqB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACnC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACtC,uBAAuB,EAAE,sBAAsB,CAAC;IAChD,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACnD,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,wBAAwB,EAAE,kCAAkC,CAAC;IAC7D,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACpD,2BAA2B,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,CAAC;IAC3E,uBAAuB,CAAC,EAAE,kCAAkC,CAAC;IAC7D,qBAAqB,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACpD,iBAAiB,EAAE,OAAO,6BAA6B,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACxF,uBAAuB,EAAE,OAAO,+BAA+B,EAAE,8BAA8B,GAAG,SAAS,CAAC;IAC5G,cAAc,EAAE,OAAO,0BAA0B,EAAE,aAAa,GAAG,SAAS,CAAC;IAC7E,uBAAuB,EAAE,OAAO,gCAAgC,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACpG,eAAe,EAAE,OAAO,gCAAgC,EAAE,cAAc,CAAC;IACzE,qBAAqB,EAAE,OAAO,uBAAuB,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACxF,cAAc,EAAE,OAAO,+BAA+B,EAAE,8BAA8B,GAAG,SAAS,CAAC;CACnG"}
1
+ {"version":3,"file":"agent-session-methods.d.ts","sourceRoot":"","sources":["../../src/core/agent-session-methods.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session-methods.js","sourceRoot":"","sources":["../../src/core/agent-session-methods.ts"],"names":[],"mappings":"","sourcesContent":["import type { ProviderHeaders } from \"@bastani/pi-ai\";\nimport type {\n\tApi,\n\tAssistantMessage,\n\tImageContent,\n\tMessage,\n\tModel,\n\tTextContent,\n\tToolResultMessage,\n} from \"@bastani/pi-ai/compat\";\nimport type {\n\tAgent,\n\tAgentEvent,\n\tAgentMessage,\n\tAgentState,\n\tAgentTool,\n\tThinkingLevel,\n} from \"@earendil-works/pi-agent-core\";\nimport type { PendingPostToolCompactionGuard } from \"./agent-session-post-tool-compaction.ts\";\nimport type {\n\tAgentSessionEvent,\n\tAgentSessionEventListener,\n\tAgentSessionReloadOptions,\n\tClearQueueOptions,\n\tDrainedAgentQueues,\n\tExtensionBindings,\n\tInterruptQueueHold,\n\tModelCycleResult,\n\tModelMutationOptions,\n\tPromptDisposition,\n\tPromptOptions,\n\tQueuedInputDisposition,\n\tSessionStats,\n\tToolDefinitionEntry,\n} from \"./agent-session-types.js\";\nimport type { BashResult } from \"./bash-executor.ts\";\nimport type {\n\tCompactionUrgency,\n\tPlannerAuth,\n\tVerbatimCompactionParameters,\n\tVerbatimCompactionResult,\n} from \"./compaction/index.ts\";\nimport type {\n\tAgentActivityOutcome,\n\tBoundaryContextPreview,\n\tContextUsage,\n\tExtensionCommandContextActions,\n\tExtensionErrorListener,\n\tExtensionMode,\n\tExtensionRunner,\n\tExtensionUIContext,\n\tOrchestrationContext,\n\tReplacedSessionContext,\n\tSendMessageOptions,\n\tSendMessagesOptions,\n\tSessionBoundaryDraft,\n\tSessionStartEvent,\n\tToolDefinition,\n\tToolInfo,\n} from \"./extensions/index.js\";\nimport type { SessionWorkflows } from \"./extensions/workflow-run-control.js\";\nimport type { SessionWorkflowsHandle } from \"./extensions/workflow-run-control-hub.js\";\nimport type { BashExecutionMessage, CustomMessage } from \"./messages.ts\";\nimport type { ExtensionProviderTransaction, ModelRuntime } from \"./model-runtime.js\";\nimport type { PathMetadata } from \"./package-manager.ts\";\nimport type { PromptTemplate } from \"./prompt-templates.ts\";\nimport type { ResourceLoader } from \"./resource-loader.ts\";\nimport type { BranchSummaryEntry, SessionEntry, SessionManager } from \"./session-manager.ts\";\nimport type { SettingsManager } from \"./settings-manager.ts\";\nimport type { NormalizedBuildSystemPromptOptions } from \"./system-prompt.ts\";\nimport type { BashOperations } from \"./tools/bash.js\";\nimport type { ToolExecutionScheduler } from \"./tools/tool-concurrency.ts\";\n\nexport interface SessionCompactOptions extends Partial<VerbatimCompactionParameters> {\n\t/** Exact `provider/model` ID for this run only; overrides the `compactionModel` setting without saving it. */\n\tcompactionModel?: string;\n}\n\nexport interface VerbatimCompactionApplyOptions {\n\t/** Per-model planner credentials; a borrowed fallback uses its own, never the session model's. */\n\tresolvePlannerAuth: (model: Model<Api>) => Promise<PlannerAuth | undefined>;\n\tabortController: AbortController;\n\tbackupLabel: string;\n\tcompression_ratio?: number;\n\tpreserve_recent?: number;\n\tquery?: string;\n\tcompactionModel?: string;\n\treason: \"manual\" | \"threshold\" | \"overflow\";\n\t/** Reports when a session_before_compact override becomes the active compaction source. */\n\tonCompactionSource?: (fromExtension: boolean) => void;\n\t/** Only `load_bearing` may reach the context-destroying fresh rung. */\n\turgency: CompactionUrgency;\n\t/**\n\t * Admit a compactable region below the planner minimum.\n\t *\n\t * Narrow on purpose. Overflow recovery sets it because a real provider\n\t * overflow is already known, and the post-tool preflight sets it only when its\n\t * projected context is genuinely over the provider hard input limit. A\n\t * threshold crossing that still fits must not clear context: the follow-up\n\t * request can be sent as-is.\n\t */\n\tallowSmallRegion?: boolean;\n}\n\n/** Outcome of an automatic compaction admission and persistence attempt. */\nexport type AutoCompactionRunOutcome = \"compacted\" | \"not_compactable\" | \"deferred\" | \"failed\";\n\nexport interface ExtensionResourcePathEntry {\n\tpath: string;\n\textensionPath: string;\n}\n\nexport interface ExtensionResourcePathResult {\n\tpath: string;\n\tmetadata: PathMetadata;\n}\n\nexport interface RuntimeBuildOptions {\n\tactiveToolNames?: string[];\n\tflagValues?: Map<string, boolean | string>;\n\tincludeAllExtensionTools?: boolean;\n\tpreserveRunner?: boolean;\n}\n\nexport interface AgentSessionQueuePauseControl {\n\treadonly queuedMessagesPaused: boolean;\n\tpauseQueuedMessages(): void;\n\t/** Release the hold without starting a turn; true means raw queued work was released. */\n\tresumeQueuedMessages(beforeRelease?: () => void): Promise<boolean>;\n}\n\nexport interface AgentSessionMethodSurface extends AgentSessionQueuePauseControl {\n\treadonly orchestrationContext: import(\"./extensions/index.js\").OrchestrationContext | undefined;\n\treadonly modelRuntime: ModelRuntime;\n\treadonly state: AgentState;\n\treadonly model: Model<Api> | undefined;\n\treadonly thinkingLevel: ThinkingLevel;\n\treadonly isStreaming: boolean;\n\treadonly systemPrompt: string;\n\treadonly retryAttempt: number;\n\treadonly isCompacting: boolean;\n\treadonly compactionReason?: import(\"./agent-session-types.js\").CompactionReason;\n\treadonly messages: AgentMessage[];\n\treadonly steeringMode: \"all\" | \"one-at-a-time\";\n\treadonly followUpMode: \"all\" | \"one-at-a-time\";\n\treadonly sessionFile: string | undefined;\n\treadonly sessionId: string;\n\treadonly sessionName: string | undefined;\n\treadonly scopedModels: ReadonlyArray<{ model: Model<Api>; thinkingLevel?: ThinkingLevel }>;\n\treadonly promptTemplates: ReadonlyArray<PromptTemplate>;\n\treadonly pendingMessageCount: number;\n\treadonly resourceLoader: ResourceLoader;\n\treadonly autoCompactionEnabled: boolean;\n\treadonly isRetrying: boolean;\n\treadonly autoRetryEnabled: boolean;\n\treadonly isBashRunning: boolean;\n\treadonly hasPendingBashMessages: boolean;\n\treadonly extensionRunner: ExtensionRunner;\n\t/** Typed management of the workflow runs this session owns. */\n\treadonly workflows: SessionWorkflows;\n\n\t_handleAgentEvent(event: AgentEvent): Promise<void> | void;\n\t_getRequiredRequestAuth(\n\t\tmodel: Model<Api>,\n\t\tsignal?: AbortSignal,\n\t): Promise<{ apiKey?: string; headers?: ProviderHeaders; baseUrl?: string }>;\n\t_installAgentToolHooks(): void;\n\t_installAgentNextTurnRefresh(): void;\n\t_installAgentRequestProjection(): void;\n\t_installAgentBoundaryHooks(): void;\n\t_refreshFinalizedContext(): void;\n\t_projectFinalizedMessages(): AgentMessage[];\n\trefreshContext(): void;\n\t_dispatchTurnEndBoundary(\n\t\tmessage: AssistantMessage,\n\t\ttoolResults: ToolResultMessage[],\n\t\tawaitPersistence?: boolean,\n\t): Promise<boolean>;\n\t_applyBoundaryDrafts(manager: SessionManager, drafts: SessionBoundaryDraft[]): SessionEntry[];\n\t_createBoundaryPreviewManager(drafts: SessionBoundaryDraft[]): SessionManager;\n\t_getPendingBoundaryMessages(): AgentMessage[];\n\t_buildBoundaryContext(\n\t\tdrafts: SessionBoundaryDraft[],\n\t\tboundary: \"turn_end\" | \"agent_before_settle\",\n\t): BoundaryContextPreview;\n\t_commitBoundaryDrafts(drafts: SessionBoundaryDraft[]): void;\n\t_reportInvalidBoundaryContinuation(event: \"turn_end\" | \"agent_before_settle\"): void;\n\t_findPersistedMessageEntryId(message: AgentMessage): string | undefined;\n\t_omitRecoveryAttempt(message: AssistantMessage, toolResults?: AgentMessage[]): void;\n\t_omitTrailingAssistantAttempt(accept?: (message: AssistantMessage) => boolean): boolean;\n\t_runBeforeSettleBoundary(): Promise<boolean>;\n\t_emit(event: AgentSessionEvent): void;\n\t_emitQueueUpdate(): void;\n\t_createRetryPromiseForAgentEnd(event: AgentEvent): void;\n\t_findLastAssistantInMessages(messages: AgentMessage[]): AssistantMessage | undefined;\n\t_processAgentEvent(event: AgentEvent): Promise<void>;\n\t_applyInterruptAbortMessage(event: AgentEvent): void;\n\t_applyProviderErrorGuidance(event: AgentEvent): void;\n\t_resolveRetry(): void;\n\t_getUserMessageText(message: Message): string;\n\t_findLastAssistantMessage(): AssistantMessage | undefined;\n\t_replaceMessageInPlace(target: AgentMessage, replacement: AgentMessage): void;\n\t_emitExtensionEvent(event: AgentEvent): Promise<void>;\n\tsubscribe(listener: AgentSessionEventListener): () => void;\n\t_disconnectFromAgent(): void;\n\tdispose(): Promise<void>;\n\tgetAgentTaskHost(): import(\"./tasks/agent-adapter.js\").AgentTaskHost;\n\t_getCommandTaskOwner(): import(\"./tools/bash-pty-native.js\").SupervisedCommandOwner | undefined;\n\tcloseSessionTasks(): Promise<void>;\n\t/** Internal workflow pause: cancel owned execution without closing message admission. */\n\tpauseTasks(): Promise<void>;\n\tresumeTasks(): void;\n\n\tgetActiveToolNames(): string[];\n\tgetCallableToolNames(): string[];\n\tgetAllTools(): ToolInfo[];\n\tgetToolDefinition(name: string): ToolDefinition | undefined;\n\tsetActiveToolsByName(toolNames: string[]): void;\n\t_setActiveTools(toolNames: string[]): void;\n\tsetScopedModels(scopedModels: Array<{ model: Model<Api>; thinkingLevel?: ThinkingLevel }>): void;\n\t_normalizePromptSnippet(text: string | undefined): string | undefined;\n\t_normalizePromptGuidelines(guidelines: string[] | undefined): string[];\n\t_rebuildSystemPrompt(toolNames: string[]): void;\n\t_preparePromptAndToolLoadout(\n\t\toptions: NormalizedBuildSystemPromptOptions,\n\t\tmessages?: AgentMessage[],\n\t): import(\"@bastani/pi-ai\").SystemMessage | undefined;\n\t_restoreToolsFromTranscript(options?: { keepLoadout?: boolean }): void;\n\t_refreshBaseSystemPromptFromActiveTools(): void;\n\n\tprompt(text: string, options?: PromptOptions): Promise<void>;\n\t_runAgentPrompt(\n\t\tmessages: AgentMessage | AgentMessage[],\n\t\tpromptStarted?: () => void,\n\t\treportDispatch?: (disposition: PromptDisposition) => void,\n\t): Promise<void>;\n\t_runAgentContinue(): Promise<void>;\n\t_continueQueuedAgentMessages(): Promise<void>;\n\t_tryExecuteExtensionCommand(text: string): Promise<boolean>;\n\t_expandSkillCommand(text: string): string;\n\tsteer(\n\t\ttext: string,\n\t\timages?: ImageContent[],\n\t\toptions?: Pick<PromptOptions, \"source\">,\n\t): Promise<QueuedInputDisposition>;\n\tfollowUp(\n\t\ttext: string,\n\t\timages?: ImageContent[],\n\t\toptions?: Pick<PromptOptions, \"source\">,\n\t): Promise<QueuedInputDisposition>;\n\tsendUserMessage(\n\t\tcontent: string | (TextContent | ImageContent)[],\n\t\toptions?: { deliverAs?: \"steer\" | \"followUp\"; expandPromptTemplates?: boolean },\n\t): Promise<void>;\n\n\t_queueSteer(text: string, images?: ImageContent[]): Promise<void>;\n\t_queueFollowUp(text: string, images?: ImageContent[]): Promise<void>;\n\t_throwIfExtensionCommand(text: string): void;\n\tsendCustomMessage<T = unknown>(\n\t\tmessage: Pick<CustomMessage<T>, \"customType\" | \"content\" | \"display\" | \"details\">,\n\t\toptions?: SendMessageOptions,\n\t): Promise<void>;\n\tsendCustomMessages<T = unknown>(\n\t\tmessages: Array<Pick<CustomMessage<T>, \"customType\" | \"content\" | \"display\" | \"details\">>,\n\t\toptions?: SendMessagesOptions,\n\t): Promise<void>;\n\t_commitAdmittedCustomMessage<T>(message: CustomMessage<T>, options?: SendMessageOptions): Promise<void>;\n\t_commitAdmittedCustomMessages<T>(messages: CustomMessage<T>[], options?: SendMessagesOptions): Promise<void>;\n\t_appendCustomMessage<T>(message: CustomMessage<T>): void;\n\t_flushPendingCustomMessages(): void;\n\t_enqueueInterruptCustomMessage<T>(message: CustomMessage<T>, options?: SendMessageOptions): Promise<void>;\n\t_sendInterruptCustomMessageNow<T>(message: CustomMessage<T>, options?: SendMessageOptions): Promise<void>;\n\t_ensureActiveInterruptQueueHold(): InterruptQueueHold;\n\t_restoreAndClearActiveInterruptQueueHold(): void;\n\t_queueAgentMessage(message: AgentMessage, delivery: \"steer\" | \"followUp\" | \"interrupt\"): void;\n\t_drainQueuedAgentMessages(): DrainedAgentQueues;\n\t_restoreQueuedAgentMessages(queues: DrainedAgentQueues): void;\n\tclearQueue(options?: ClearQueueOptions): { steering: string[]; followUp: string[] };\n\tgetSteeringMessages(): readonly string[];\n\tgetFollowUpMessages(): readonly string[];\n\tabort(): Promise<void>;\n\tsetSteeringMode(mode: \"all\" | \"one-at-a-time\"): void;\n\tsetFollowUpMode(mode: \"all\" | \"one-at-a-time\"): void;\n\n\t_emitModelChanged(\n\t\tnextModel: Model<Api>,\n\t\tpreviousModel: Model<Api> | undefined,\n\t\tsource: \"set\" | \"cycle\" | \"restore\" | \"fallback\",\n\t): void;\n\t_emitModelSelect(\n\t\tnextModel: Model<Api>,\n\t\tpreviousModel: Model<Api> | undefined,\n\t\tsource: \"set\" | \"cycle\" | \"restore\" | \"fallback\",\n\t): Promise<void>;\n\tsetModel(model: Model<Api>, options?: ModelMutationOptions): Promise<void>;\n\tcycleModel(\n\t\tdirection?: \"forward\" | \"backward\",\n\t\toptions?: ModelMutationOptions,\n\t): Promise<ModelCycleResult | undefined>;\n\t_cycleScopedModel(\n\t\tdirection: \"forward\" | \"backward\",\n\t\toptions: ModelMutationOptions,\n\t): Promise<ModelCycleResult | undefined>;\n\t_cycleAvailableModel(\n\t\tdirection: \"forward\" | \"backward\",\n\t\toptions: ModelMutationOptions,\n\t): Promise<ModelCycleResult | undefined>;\n\tsetThinkingLevel(level: ThinkingLevel, options?: ModelMutationOptions): void;\n\tcycleThinkingLevel(options?: ModelMutationOptions): ThinkingLevel | undefined;\n\tgetAvailableThinkingLevels(): ThinkingLevel[];\n\tsupportsThinking(): boolean;\n\t_getThinkingLevelForModelSwitch(targetModel?: Model<Api>, explicitLevel?: ThinkingLevel): ThinkingLevel;\n\t_clampThinkingLevel(level: ThinkingLevel, availableLevels: ThinkingLevel[]): ThinkingLevel;\n\n\t_applyVerbatimCompaction(options: VerbatimCompactionApplyOptions): Promise<VerbatimCompactionResult | undefined>;\n\tcompact(options?: SessionCompactOptions): Promise<VerbatimCompactionResult>;\n\tabortCompaction(): void;\n\tabortBranchSummary(): void;\n\tabortSessionSummary(): void;\n\t_maybeGenerateSessionSummary(): Promise<void>;\n\t_checkCompaction(assistantMessage: AssistantMessage, skipAbortedCheck?: boolean): Promise<void>;\n\t_dropTrailingAutoCompactionRetryAssistantIfPresent(): void;\n\t_schedulePostAutoCompactionContinuationProbe(reason: \"overflow\" | \"threshold\", willRetry: boolean): void;\n\t_awaitPendingPostCompactionContinuation(): Promise<void>;\n\t_resumeAfterAutoCompaction(): Promise<void>;\n\t_resumeAfterLengthTruncation(): void;\n\t_runAutoCompaction(\n\t\treason: \"overflow\" | \"threshold\",\n\t\twillRetry: boolean,\n\t\turgency?: CompactionUrgency,\n\t): Promise<AutoCompactionRunOutcome>;\n\t_preflightPostToolContext(messages: AgentMessage[], signal?: AbortSignal): Promise<AgentMessage[]>;\n\t_finishPostToolCompactionPreflight(messages: AgentMessage[]): AgentMessage[];\n\tsetAutoCompactionEnabled(enabled: boolean): void;\n\n\tbindExtensions(bindings: ExtensionBindings): Promise<void>;\n\textendResourcesFromExtensions(reason: \"startup\" | \"reload\"): Promise<void>;\n\tbuildExtensionResourcePaths(entries: ExtensionResourcePathEntry[]): ExtensionResourcePathResult[];\n\tgetExtensionSourceLabel(extensionPath: string): string;\n\t_applyExtensionBindings(runner: ExtensionRunner): void;\n\t_refreshCurrentModelFromRegistry(): void;\n\trefreshCurrentModelFromRegistry(): void;\n\t_bindExtensionCore(\n\t\trunner: ExtensionRunner,\n\t\tpublication?: {\n\t\t\tresourceLoader: ResourceLoader;\n\t\t\tproviderTransaction: ExtensionProviderTransaction;\n\t\t\tproviderIds: Set<string>;\n\t\t\tdefer(effect: () => void | Promise<void>): void;\n\t\t},\n\t): void;\n\t_refreshToolRegistry(options?: { activeToolNames?: string[]; includeAllExtensionTools?: boolean }): void;\n\t_buildRuntime(options: RuntimeBuildOptions): void;\n\treload(options?: AgentSessionReloadOptions): Promise<void>;\n\tcompleteStartupResources(resourceLoader: ResourceLoader): Promise<void>;\n\n\t_isRetryableError(message: AssistantMessage): boolean;\n\t_isFallbackableError(message: AssistantMessage): boolean;\n\t_isEmptyCompletion(message: AssistantMessage): boolean;\n\t_isSafetyRefusal(message: AssistantMessage): boolean;\n\t_handleRetryableError(message: AssistantMessage): Promise<boolean>;\n\t_trySwitchToFallbackModel(message: AssistantMessage): Promise<boolean>;\n\t_beginFallbackModelScope(): void;\n\t_clearFallbackModelScope(): void;\n\t_settleFallbackModelScope(): Promise<boolean>;\n\tabortRetry(): void;\n\twaitForRetry(): Promise<void>;\n\tsetAutoRetryEnabled(enabled: boolean): void;\n\n\texecuteBash(\n\t\tcommand: string,\n\t\tonChunk?: (chunk: string, channel: \"stdout\" | \"stderr\") => void,\n\t\toptions?: {\n\t\t\texcludeFromContext?: boolean;\n\t\t\tid?: string;\n\t\t\toperations?: BashOperations;\n\t\t\tpty?: boolean;\n\t\t\temitEvent?: boolean;\n\t\t\trecordResult?: boolean;\n\t\t},\n\t): Promise<BashResult>;\n\trecordBashResult(\n\t\tcommand: string,\n\t\tresult: BashResult,\n\t\toptions?: { excludeFromContext?: boolean; persist?: boolean; defer?: boolean },\n\t): void;\n\tabortBash(id?: string): void;\n\t_flushPendingBashMessages(): void;\n\n\tsetSessionName(name: string): void;\n\tnavigateTree(\n\t\ttargetId: string,\n\t\toptions?: { summarize?: boolean; customInstructions?: string; replaceInstructions?: boolean; label?: string },\n\t): Promise<{ editorText?: string; cancelled: boolean; aborted?: boolean; summaryEntry?: BranchSummaryEntry }>;\n\tgetUserMessagesForForking(): Array<{ entryId: string; text: string }>;\n\t_extractUserMessageText(content: string | Array<{ type: string; text?: string }>): string;\n\n\tgetSessionStats(): SessionStats;\n\tgetContextUsage(): ContextUsage | undefined;\n\texportToHtml(outputPath?: string, options?: { themeName?: string }): Promise<string>;\n\texportToJsonl(outputPath?: string, options?: { includeShareContext?: boolean }): string;\n\tgetLastAssistantText(): string | undefined;\n\tcreateReplacedSessionContext(): ReplacedSessionContext;\n\tsealWorkflowStageGeneration(): void;\n\tcloseWorkflowStageGeneration(): Promise<void>;\n\ttransferWorkflowStageDeliveriesTo(target: object): void;\n\thasExtensionHandlers(eventType: string): boolean;\n}\n\nexport interface AgentSessionPublicSurface\n\textends Pick<\n\t\tAgentSessionMethodSurface,\n\t\t| \"orchestrationContext\"\n\t\t| \"getAgentTaskHost\"\n\t\t| \"closeSessionTasks\"\n\t\t| \"modelRuntime\"\n\t\t| \"state\"\n\t\t| \"model\"\n\t\t| \"thinkingLevel\"\n\t\t| \"isStreaming\"\n\t\t| \"systemPrompt\"\n\t\t| \"retryAttempt\"\n\t\t| \"isCompacting\"\n\t\t| \"compactionReason\"\n\t\t| \"messages\"\n\t\t| \"steeringMode\"\n\t\t| \"followUpMode\"\n\t\t| \"sessionFile\"\n\t\t| \"sessionId\"\n\t\t| \"sessionName\"\n\t\t| \"scopedModels\"\n\t\t| \"promptTemplates\"\n\t\t| \"pendingMessageCount\"\n\t\t| \"resourceLoader\"\n\t\t| \"autoCompactionEnabled\"\n\t\t| \"isRetrying\"\n\t\t| \"autoRetryEnabled\"\n\t\t| \"abortSessionSummary\"\n\t\t| \"isBashRunning\"\n\t\t| \"hasPendingBashMessages\"\n\t\t| \"extensionRunner\"\n\t\t| \"workflows\"\n\t\t| \"queuedMessagesPaused\"\n\t\t| \"pauseQueuedMessages\"\n\t\t| \"resumeQueuedMessages\"\n\t\t| \"subscribe\"\n\t\t| \"dispose\"\n\t\t| \"getActiveToolNames\"\n\t\t| \"getCallableToolNames\"\n\t\t| \"getAllTools\"\n\t\t| \"getToolDefinition\"\n\t\t| \"setActiveToolsByName\"\n\t\t| \"setScopedModels\"\n\t\t| \"prompt\"\n\t\t| \"steer\"\n\t\t| \"followUp\"\n\t\t| \"sendCustomMessage\"\n\t\t| \"sendUserMessage\"\n\t\t| \"clearQueue\"\n\t\t| \"getSteeringMessages\"\n\t\t| \"getFollowUpMessages\"\n\t\t| \"abort\"\n\t\t| \"setModel\"\n\t\t| \"cycleModel\"\n\t\t| \"setThinkingLevel\"\n\t\t| \"cycleThinkingLevel\"\n\t\t| \"getAvailableThinkingLevels\"\n\t\t| \"supportsThinking\"\n\t\t| \"setSteeringMode\"\n\t\t| \"setFollowUpMode\"\n\t\t| \"compact\"\n\t\t| \"abortCompaction\"\n\t\t| \"abortBranchSummary\"\n\t\t| \"setAutoCompactionEnabled\"\n\t\t| \"bindExtensions\"\n\t\t| \"refreshCurrentModelFromRegistry\"\n\t\t| \"reload\"\n\t\t| \"completeStartupResources\"\n\t\t| \"abortRetry\"\n\t\t| \"setAutoRetryEnabled\"\n\t\t| \"executeBash\"\n\t\t| \"recordBashResult\"\n\t\t| \"abortBash\"\n\t\t| \"setSessionName\"\n\t\t| \"navigateTree\"\n\t\t| \"getUserMessagesForForking\"\n\t\t| \"getSessionStats\"\n\t\t| \"getContextUsage\"\n\t\t| \"refreshContext\"\n\t\t| \"exportToHtml\"\n\t\t| \"exportToJsonl\"\n\t\t| \"getLastAssistantText\"\n\t\t| \"createReplacedSessionContext\"\n\t\t| \"hasExtensionHandlers\"\n\t> {\n\treadonly agent: Agent;\n\treadonly sessionManager: SessionManager;\n\treadonly settingsManager: SettingsManager;\n}\n\nexport interface AgentSessionInternalSurface extends AgentSessionMethodSurface, AgentSessionPublicSurface {\n\t_scopedModels: Array<{ model: Model<Api>; thinkingLevel?: ThinkingLevel }>;\n\t_fallbackModels: string[];\n\t_isFallbackModelAllowed?: (model: Model<Api>, effort: string | undefined) => boolean;\n\t_fallbackAttemptedKeys: Set<string>;\n\t_fallbackBlockedModels: Array<Model<Api>>;\n\t_fallbackOriginModel: Model<Api> | undefined;\n\t_fallbackOriginThinkingLevel: ThinkingLevel | undefined;\n\t_fallbackScopeGeneration: number;\n\t_fallbackOriginGeneration: number | undefined;\n\t_fallbackRestoreError: string | undefined;\n\n\t_unsubscribeAgent?: () => void;\n\t_eventListeners: AgentSessionEventListener[];\n\t_agentEventQueue: Promise<void>;\n\t_steeringMessages: string[];\n\t_followUpMessages: string[];\n\t_interruptDeliveryQueue: Promise<void>;\n\t_pendingPostCompactionContinuation: Promise<void> | undefined;\n\t_postCompactionContinuationToken: number;\n\t_lengthContinuationAttempts: number;\n\t_outputBudgetErrorContinuationAttempts: number;\n\t_postToolCompactionPreflightError: string | undefined;\n\t_pendingPostToolCompactionGuard: PendingPostToolCompactionGuard | undefined;\n\t_terminatingToolCallIds: Set<string>;\n\t_stopAfterTurnBlockedContinuation: boolean;\n\t_pendingInterruptDeliveries: number;\n\t_priorityInterruptPending: boolean;\n\t_activePromptCount: number;\n\t_agentRunAbortRequested: boolean;\n\t_cacheWarmer?: import(\"./cache-warmer.ts\").CacheWarmer;\n\t_activeInterruptQueueHold: InterruptQueueHold | undefined;\n\t_queuedMessagesPaused: boolean;\n\t_queuedMessagesPauseAbortBoundary: Promise<void> | undefined;\n\t_admittedQueuedMessageAwaitingReply: string | undefined;\n\t_admittedRecoveryTurn: Promise<void> | undefined;\n\t_workflowStageDeliveryForwardTarget: AgentSessionInternalSurface | undefined;\n\t_activeInterruptAbortMessage: string | undefined;\n\t_pendingNextTurnMessages: CustomMessage[];\n\t_pendingCustomMessages: CustomMessage[];\n\t_protectedStreamingCustomMessages: Array<{\n\t\tmessage: CustomMessage;\n\t\tdelivery: \"steer\" | \"followUp\";\n\t\tphase: \"queued\" | \"consumed-unpersisted\" | \"persistence-failed\";\n\t}>;\n\t_compactionAbortController: AbortController | undefined;\n\t_manualCompactionPromise: Promise<VerbatimCompactionResult> | undefined;\n\t_autoCompactionAbortController: AbortController | undefined;\n\t_autoCompactionCompletion: Promise<void> | undefined;\n\t_compactionReason: import(\"./agent-session-types.js\").CompactionReason | undefined;\n\t_overflowRecoveryAttempted: boolean;\n\t_recoverableLengthRecoveryAttempted: boolean;\n\t_contextOverflowUnresolved: boolean;\n\t_branchSummaryAbortController: AbortController | undefined;\n\t_branchSummaryCompletion: Promise<void> | undefined;\n\t_retryAbortController: AbortController | undefined;\n\t_retryAttempt: number;\n\t_retryPromise: Promise<void> | undefined;\n\t_retryResolve: (() => void) | undefined;\n\t_bashAbortControllers: Map<string | symbol, Set<AbortController>>;\n\t_pendingBashMessages: BashExecutionMessage[];\n\t_extensionRunner: ExtensionRunner;\n\t_workflows?: SessionWorkflowsHandle;\n\t_turnIndex: number;\n\treadonly _entryIdsByMessage: WeakMap<object, string>;\n\treadonly _boundaryDispatchedMessages: WeakSet<object>;\n\treadonly _messagesAwaitingPersistence: WeakSet<object>;\n\t_lastAssistantToolResults: AgentMessage[];\n\t_lastActivityOutcome: AgentActivityOutcome;\n\t_isBeforeSettle: boolean;\n\t_abortDuringBeforeSettle: boolean;\n\t_isEmittingAgentSettled: boolean;\n\treadonly _deferredSettledActions: Array<() => Promise<void>>;\n\t_callerReplacedNextRequestContext: boolean;\n\t_resourceLoader: ResourceLoader;\n\t_customTools: ToolDefinition[];\n\t_baseToolDefinitions: Map<string, ToolDefinition>;\n\t_cwd: string;\n\t_extensionRunnerRef?: { current?: ExtensionRunner };\n\t_initialActiveToolNames?: string[];\n\t_pendingToolNames: Set<string>;\n\t_usesDefaultTools: boolean;\n\t_defaultToolModifiers: string[];\n\t_appliedDefaultTools: Set<string>;\n\t_allowedToolNames?: Set<string>;\n\t_excludedToolNames?: Set<string>;\n\t_allowedTools?: (name: string) => boolean;\n\t_excludedTools?: (name: string) => boolean;\n\t_childSessionOptions?: import(\"./child-session-options.ts\").ChildSessionOptionsResolver;\n\t_baseToolsOverride?: Record<string, AgentTool>;\n\t_sessionStartEvent: SessionStartEvent;\n\t_orchestrationContext?: OrchestrationContext;\n\t_subagentPolicy?: import(\"./extensions/index.js\").SubagentChildPolicy;\n\t_subagentMessageAdmission?: import(\"./workflow-stage-admission.ts\").WorkflowStageAdmissionBoundary;\n\t_extensionUIContext?: ExtensionUIContext;\n\t_extensionHumanInput?: import(\"./extensions/host-input.js\").HostInput | null;\n\t_extensionDiagnosticListener?: (diagnostic: import(\"./extensions/host-input.js\").HostDiagnostic) => void;\n\t_extensionMode: ExtensionMode;\n\t_disposed: boolean;\n\t_close(event: import(\"./extensions/types.ts\").SessionShutdownEvent, beforeInvalidate?: () => void): Promise<void>;\n\t_sessionSummaryAbortController: AbortController | undefined;\n\t_sessionSummaryToken: number;\n\t_sessionSummaryRun: import(\"./agent-session-summary.ts\").SessionSummaryRun | undefined;\n\t_lastSummarizedMessageId: string | undefined;\n\t_extensionCommandContextActions?: ExtensionCommandContextActions;\n\t_extensionShutdownHandler?: () => void;\n\t_extensionErrorListener?: ExtensionErrorListener;\n\t_extensionErrorUnsubscriber?: () => void;\n\t_modelRuntime: ModelRuntime;\n\t_extensionProviderIds: Set<string>;\n\t_toolRegistry: Map<string, AgentTool>;\n\t_toolExecutionScheduler: ToolExecutionScheduler;\n\t_toolDefinitions: Map<string, ToolDefinitionEntry>;\n\t_toolPromptSnippets: Map<string, string>;\n\t_toolPromptGuidelines: Map<string, string[]>;\n\t_baseSystemPromptOptions: NormalizedBuildSystemPromptOptions;\n\t_systemPromptTransform?: (prompt: string) => string;\n\t_contextProjectionTransform?: (messages: AgentMessage[]) => AgentMessage[];\n\t_runSystemPromptOptions?: NormalizedBuildSystemPromptOptions;\n\t_lastAssistantMessage: AssistantMessage | undefined;\n\t_tempStorageLease: import(\"./tools/session-temp-dir.ts\").ProtectedPathLease | undefined;\n\t_workflowStageAdmission: import(\"./workflow-stage-admission.ts\").WorkflowStageAdmissionBoundary | undefined;\n\t_agentTaskHost: import(\"./tasks/agent-adapter.js\").AgentTaskHost | undefined;\n\t_parentCommandTaskOwner: import(\"./tasks/child-command-owner.js\").ChildCommandTaskOwner | undefined;\n\t_childTaskWaits: import(\"./tasks/child-command-owner.js\").ChildTaskWaits;\n\t_taskCompletionOutbox: import(\"./tasks/completion.js\").TaskCompletionOutbox | undefined;\n\t_taskAdmission: import(\"./workflow-stage-admission.ts\").WorkflowStageAdmissionBoundary | undefined;\n}\n"]}
1
+ {"version":3,"file":"agent-session-methods.js","sourceRoot":"","sources":["../../src/core/agent-session-methods.ts"],"names":[],"mappings":"","sourcesContent":["import type { ProviderHeaders } from \"@bastani/pi-ai\";\nimport type {\n\tApi,\n\tAssistantMessage,\n\tImageContent,\n\tMessage,\n\tModel,\n\tTextContent,\n\tToolResultMessage,\n} from \"@bastani/pi-ai/compat\";\nimport type {\n\tAgent,\n\tAgentEvent,\n\tAgentMessage,\n\tAgentState,\n\tAgentTool,\n\tThinkingLevel,\n} from \"@earendil-works/pi-agent-core\";\nimport type { PendingPostToolCompactionGuard } from \"./agent-session-post-tool-compaction.ts\";\nimport type {\n\tAgentSessionEvent,\n\tAgentSessionEventListener,\n\tAgentSessionReloadOptions,\n\tClearQueueOptions,\n\tDrainedAgentQueues,\n\tExtensionBindings,\n\tInterruptQueueHold,\n\tModelCycleResult,\n\tModelMutationOptions,\n\tPromptDisposition,\n\tPromptOptions,\n\tQueuedInputDisposition,\n\tSessionStats,\n\tToolDefinitionEntry,\n} from \"./agent-session-types.js\";\nimport type { BashResult } from \"./bash-executor.ts\";\nimport type {\n\tCompactionUrgency,\n\tPlannerAuth,\n\tVerbatimCompactionParameters,\n\tVerbatimCompactionResult,\n} from \"./compaction/index.ts\";\nimport type {\n\tAgentActivityOutcome,\n\tBoundaryContextPreview,\n\tContextUsage,\n\tExtensionCommandContextActions,\n\tExtensionErrorListener,\n\tExtensionMode,\n\tExtensionRunner,\n\tExtensionUIContext,\n\tOrchestrationContext,\n\tReplacedSessionContext,\n\tSendMessageOptions,\n\tSendMessagesOptions,\n\tSessionBoundaryDraft,\n\tSessionStartEvent,\n\tToolDefinition,\n\tToolInfo,\n} from \"./extensions/index.js\";\nimport type { SessionWorkflows } from \"./extensions/workflow-run-control.js\";\nimport type { SessionWorkflowsHandle } from \"./extensions/workflow-run-control-hub.js\";\nimport type { BashExecutionMessage, CustomMessage } from \"./messages.ts\";\nimport type { ExtensionProviderTransaction, ModelRuntime } from \"./model-runtime.js\";\nimport type { PathMetadata } from \"./package-manager.ts\";\nimport type { PromptTemplate } from \"./prompt-templates.ts\";\nimport type { ResourceLoader } from \"./resource-loader.ts\";\nimport type { BranchSummaryEntry, SessionEntry, SessionManager } from \"./session-manager.ts\";\nimport type { SettingsManager } from \"./settings-manager.ts\";\nimport type { NormalizedBuildSystemPromptOptions } from \"./system-prompt.ts\";\nimport type { ToolStatusReport } from \"./tool-status.js\";\nimport type { BashOperations } from \"./tools/bash.js\";\nimport type { ToolExecutionScheduler } from \"./tools/tool-concurrency.ts\";\n\nexport interface SessionCompactOptions extends Partial<VerbatimCompactionParameters> {\n\t/** Exact `provider/model` ID for this run only; overrides the `compactionModel` setting without saving it. */\n\tcompactionModel?: string;\n}\n\nexport interface VerbatimCompactionApplyOptions {\n\t/** Per-model planner credentials; a borrowed fallback uses its own, never the session model's. */\n\tresolvePlannerAuth: (model: Model<Api>) => Promise<PlannerAuth | undefined>;\n\tabortController: AbortController;\n\tbackupLabel: string;\n\tcompression_ratio?: number;\n\tpreserve_recent?: number;\n\tquery?: string;\n\tcompactionModel?: string;\n\treason: \"manual\" | \"threshold\" | \"overflow\";\n\t/** Reports when a session_before_compact override becomes the active compaction source. */\n\tonCompactionSource?: (fromExtension: boolean) => void;\n\t/** Only `load_bearing` may reach the context-destroying fresh rung. */\n\turgency: CompactionUrgency;\n\t/**\n\t * Admit a compactable region below the planner minimum.\n\t *\n\t * Narrow on purpose. Overflow recovery sets it because a real provider\n\t * overflow is already known, and the post-tool preflight sets it only when its\n\t * projected context is genuinely over the provider hard input limit. A\n\t * threshold crossing that still fits must not clear context: the follow-up\n\t * request can be sent as-is.\n\t */\n\tallowSmallRegion?: boolean;\n}\n\n/** Outcome of an automatic compaction admission and persistence attempt. */\nexport type AutoCompactionRunOutcome = \"compacted\" | \"not_compactable\" | \"deferred\" | \"failed\";\n\nexport interface ExtensionResourcePathEntry {\n\tpath: string;\n\textensionPath: string;\n}\n\nexport interface ExtensionResourcePathResult {\n\tpath: string;\n\tmetadata: PathMetadata;\n}\n\nexport interface RuntimeBuildOptions {\n\tactiveToolNames?: string[];\n\tflagValues?: Map<string, boolean | string>;\n\tincludeAllExtensionTools?: boolean;\n\tpreserveRunner?: boolean;\n}\n\nexport interface AgentSessionQueuePauseControl {\n\treadonly queuedMessagesPaused: boolean;\n\tpauseQueuedMessages(): void;\n\t/** Release the hold without starting a turn; true means raw queued work was released. */\n\tresumeQueuedMessages(beforeRelease?: () => void): Promise<boolean>;\n}\n\nexport interface AgentSessionMethodSurface extends AgentSessionQueuePauseControl {\n\treadonly orchestrationContext: import(\"./extensions/index.js\").OrchestrationContext | undefined;\n\treadonly modelRuntime: ModelRuntime;\n\treadonly state: AgentState;\n\treadonly model: Model<Api> | undefined;\n\treadonly thinkingLevel: ThinkingLevel;\n\treadonly isStreaming: boolean;\n\treadonly systemPrompt: string;\n\treadonly retryAttempt: number;\n\treadonly isCompacting: boolean;\n\treadonly compactionReason?: import(\"./agent-session-types.js\").CompactionReason;\n\treadonly messages: AgentMessage[];\n\treadonly steeringMode: \"all\" | \"one-at-a-time\";\n\treadonly followUpMode: \"all\" | \"one-at-a-time\";\n\treadonly sessionFile: string | undefined;\n\treadonly sessionId: string;\n\treadonly sessionName: string | undefined;\n\treadonly scopedModels: ReadonlyArray<{ model: Model<Api>; thinkingLevel?: ThinkingLevel }>;\n\treadonly promptTemplates: ReadonlyArray<PromptTemplate>;\n\treadonly pendingMessageCount: number;\n\treadonly resourceLoader: ResourceLoader;\n\treadonly autoCompactionEnabled: boolean;\n\treadonly isRetrying: boolean;\n\treadonly autoRetryEnabled: boolean;\n\treadonly isBashRunning: boolean;\n\treadonly hasPendingBashMessages: boolean;\n\treadonly extensionRunner: ExtensionRunner;\n\t/** Typed management of the workflow runs this session owns. */\n\treadonly workflows: SessionWorkflows;\n\n\t_handleAgentEvent(event: AgentEvent): Promise<void> | void;\n\t_getRequiredRequestAuth(\n\t\tmodel: Model<Api>,\n\t\tsignal?: AbortSignal,\n\t): Promise<{ apiKey?: string; headers?: ProviderHeaders; baseUrl?: string }>;\n\t_installAgentToolHooks(): void;\n\t_installAgentNextTurnRefresh(): void;\n\t_installAgentRequestProjection(): void;\n\t_installAgentBoundaryHooks(): void;\n\t_refreshFinalizedContext(): void;\n\t_projectFinalizedMessages(): AgentMessage[];\n\trefreshContext(): void;\n\t_dispatchTurnEndBoundary(\n\t\tmessage: AssistantMessage,\n\t\ttoolResults: ToolResultMessage[],\n\t\tawaitPersistence?: boolean,\n\t): Promise<boolean>;\n\t_applyBoundaryDrafts(manager: SessionManager, drafts: SessionBoundaryDraft[]): SessionEntry[];\n\t_createBoundaryPreviewManager(drafts: SessionBoundaryDraft[]): SessionManager;\n\t_getPendingBoundaryMessages(): AgentMessage[];\n\t_buildBoundaryContext(\n\t\tdrafts: SessionBoundaryDraft[],\n\t\tboundary: \"turn_end\" | \"agent_before_settle\",\n\t): BoundaryContextPreview;\n\t_commitBoundaryDrafts(drafts: SessionBoundaryDraft[]): void;\n\t_reportInvalidBoundaryContinuation(event: \"turn_end\" | \"agent_before_settle\"): void;\n\t_findPersistedMessageEntryId(message: AgentMessage): string | undefined;\n\t_omitRecoveryAttempt(message: AssistantMessage, toolResults?: AgentMessage[]): void;\n\t_omitTrailingAssistantAttempt(accept?: (message: AssistantMessage) => boolean): boolean;\n\t_runBeforeSettleBoundary(): Promise<boolean>;\n\t_emit(event: AgentSessionEvent): void;\n\t_emitQueueUpdate(): void;\n\t_createRetryPromiseForAgentEnd(event: AgentEvent): void;\n\t_findLastAssistantInMessages(messages: AgentMessage[]): AssistantMessage | undefined;\n\t_processAgentEvent(event: AgentEvent): Promise<void>;\n\t_applyInterruptAbortMessage(event: AgentEvent): void;\n\t_applyProviderErrorGuidance(event: AgentEvent): void;\n\t_resolveRetry(): void;\n\t_getUserMessageText(message: Message): string;\n\t_findLastAssistantMessage(): AssistantMessage | undefined;\n\t_replaceMessageInPlace(target: AgentMessage, replacement: AgentMessage): void;\n\t_emitExtensionEvent(event: AgentEvent): Promise<void>;\n\tsubscribe(listener: AgentSessionEventListener): () => void;\n\t_disconnectFromAgent(): void;\n\tdispose(): Promise<void>;\n\tgetAgentTaskHost(): import(\"./tasks/agent-adapter.js\").AgentTaskHost;\n\t_getCommandTaskOwner(): import(\"./tools/bash-pty-native.js\").SupervisedCommandOwner | undefined;\n\tcloseSessionTasks(): Promise<void>;\n\t/** Internal workflow pause: cancel owned execution without closing message admission. */\n\tpauseTasks(): Promise<void>;\n\tresumeTasks(): void;\n\n\tgetActiveToolNames(): string[];\n\tgetCallableToolNames(): string[];\n\tgetAllTools(): ToolInfo[];\n\tgetToolDefinition(name: string): ToolDefinition | undefined;\n\t/** Explain which tools are active, which are not (and why), and which selected names nothing registered. */\n\tgetToolStatus(): ToolStatusReport;\n\tsetActiveToolsByName(toolNames: string[]): void;\n\t_setActiveTools(toolNames: string[]): void;\n\tsetScopedModels(scopedModels: Array<{ model: Model<Api>; thinkingLevel?: ThinkingLevel }>): void;\n\t_normalizePromptSnippet(text: string | undefined): string | undefined;\n\t_normalizePromptGuidelines(guidelines: string[] | undefined): string[];\n\t_rebuildSystemPrompt(toolNames: string[]): void;\n\t_preparePromptAndToolLoadout(\n\t\toptions: NormalizedBuildSystemPromptOptions,\n\t\tmessages?: AgentMessage[],\n\t): import(\"@bastani/pi-ai\").SystemMessage | undefined;\n\t_restoreToolsFromTranscript(options?: { keepLoadout?: boolean }): void;\n\t_refreshBaseSystemPromptFromActiveTools(): void;\n\n\tprompt(text: string, options?: PromptOptions): Promise<void>;\n\t_runAgentPrompt(\n\t\tmessages: AgentMessage | AgentMessage[],\n\t\tpromptStarted?: () => void,\n\t\treportDispatch?: (disposition: PromptDisposition) => void,\n\t): Promise<void>;\n\t_runAgentContinue(): Promise<void>;\n\t_continueQueuedAgentMessages(): Promise<void>;\n\t_tryExecuteExtensionCommand(text: string): Promise<boolean>;\n\t_expandSkillCommand(text: string): string;\n\tsteer(\n\t\ttext: string,\n\t\timages?: ImageContent[],\n\t\toptions?: Pick<PromptOptions, \"source\">,\n\t): Promise<QueuedInputDisposition>;\n\tfollowUp(\n\t\ttext: string,\n\t\timages?: ImageContent[],\n\t\toptions?: Pick<PromptOptions, \"source\">,\n\t): Promise<QueuedInputDisposition>;\n\tsendUserMessage(\n\t\tcontent: string | (TextContent | ImageContent)[],\n\t\toptions?: { deliverAs?: \"steer\" | \"followUp\"; expandPromptTemplates?: boolean },\n\t): Promise<void>;\n\n\t_queueSteer(text: string, images?: ImageContent[]): Promise<void>;\n\t_queueFollowUp(text: string, images?: ImageContent[]): Promise<void>;\n\t_throwIfExtensionCommand(text: string): void;\n\tsendCustomMessage<T = unknown>(\n\t\tmessage: Pick<CustomMessage<T>, \"customType\" | \"content\" | \"display\" | \"details\">,\n\t\toptions?: SendMessageOptions,\n\t): Promise<void>;\n\tsendCustomMessages<T = unknown>(\n\t\tmessages: Array<Pick<CustomMessage<T>, \"customType\" | \"content\" | \"display\" | \"details\">>,\n\t\toptions?: SendMessagesOptions,\n\t): Promise<void>;\n\t_commitAdmittedCustomMessage<T>(message: CustomMessage<T>, options?: SendMessageOptions): Promise<void>;\n\t_commitAdmittedCustomMessages<T>(messages: CustomMessage<T>[], options?: SendMessagesOptions): Promise<void>;\n\t_appendCustomMessage<T>(message: CustomMessage<T>): void;\n\t_flushPendingCustomMessages(): void;\n\t_enqueueInterruptCustomMessage<T>(message: CustomMessage<T>, options?: SendMessageOptions): Promise<void>;\n\t_sendInterruptCustomMessageNow<T>(message: CustomMessage<T>, options?: SendMessageOptions): Promise<void>;\n\t_ensureActiveInterruptQueueHold(): InterruptQueueHold;\n\t_restoreAndClearActiveInterruptQueueHold(): void;\n\t_queueAgentMessage(message: AgentMessage, delivery: \"steer\" | \"followUp\" | \"interrupt\"): void;\n\t_drainQueuedAgentMessages(): DrainedAgentQueues;\n\t_restoreQueuedAgentMessages(queues: DrainedAgentQueues): void;\n\tclearQueue(options?: ClearQueueOptions): { steering: string[]; followUp: string[] };\n\tgetSteeringMessages(): readonly string[];\n\tgetFollowUpMessages(): readonly string[];\n\tabort(): Promise<void>;\n\tsetSteeringMode(mode: \"all\" | \"one-at-a-time\"): void;\n\tsetFollowUpMode(mode: \"all\" | \"one-at-a-time\"): void;\n\n\t_emitModelChanged(\n\t\tnextModel: Model<Api>,\n\t\tpreviousModel: Model<Api> | undefined,\n\t\tsource: \"set\" | \"cycle\" | \"restore\" | \"fallback\",\n\t): void;\n\t_emitModelSelect(\n\t\tnextModel: Model<Api>,\n\t\tpreviousModel: Model<Api> | undefined,\n\t\tsource: \"set\" | \"cycle\" | \"restore\" | \"fallback\",\n\t): Promise<void>;\n\tsetModel(model: Model<Api>, options?: ModelMutationOptions): Promise<void>;\n\tcycleModel(\n\t\tdirection?: \"forward\" | \"backward\",\n\t\toptions?: ModelMutationOptions,\n\t): Promise<ModelCycleResult | undefined>;\n\t_cycleScopedModel(\n\t\tdirection: \"forward\" | \"backward\",\n\t\toptions: ModelMutationOptions,\n\t): Promise<ModelCycleResult | undefined>;\n\t_cycleAvailableModel(\n\t\tdirection: \"forward\" | \"backward\",\n\t\toptions: ModelMutationOptions,\n\t): Promise<ModelCycleResult | undefined>;\n\tsetThinkingLevel(level: ThinkingLevel, options?: ModelMutationOptions): void;\n\tcycleThinkingLevel(options?: ModelMutationOptions): ThinkingLevel | undefined;\n\tgetAvailableThinkingLevels(): ThinkingLevel[];\n\tsupportsThinking(): boolean;\n\t_getThinkingLevelForModelSwitch(targetModel?: Model<Api>, explicitLevel?: ThinkingLevel): ThinkingLevel;\n\t_clampThinkingLevel(level: ThinkingLevel, availableLevels: ThinkingLevel[]): ThinkingLevel;\n\n\t_applyVerbatimCompaction(options: VerbatimCompactionApplyOptions): Promise<VerbatimCompactionResult | undefined>;\n\tcompact(options?: SessionCompactOptions): Promise<VerbatimCompactionResult>;\n\tabortCompaction(): void;\n\tabortBranchSummary(): void;\n\tabortSessionSummary(): void;\n\t_maybeGenerateSessionSummary(): Promise<void>;\n\t_checkCompaction(assistantMessage: AssistantMessage, skipAbortedCheck?: boolean): Promise<void>;\n\t_dropTrailingAutoCompactionRetryAssistantIfPresent(): void;\n\t_schedulePostAutoCompactionContinuationProbe(reason: \"overflow\" | \"threshold\", willRetry: boolean): void;\n\t_awaitPendingPostCompactionContinuation(): Promise<void>;\n\t_resumeAfterAutoCompaction(): Promise<void>;\n\t_resumeAfterLengthTruncation(): void;\n\t_runAutoCompaction(\n\t\treason: \"overflow\" | \"threshold\",\n\t\twillRetry: boolean,\n\t\turgency?: CompactionUrgency,\n\t): Promise<AutoCompactionRunOutcome>;\n\t_preflightPostToolContext(messages: AgentMessage[], signal?: AbortSignal): Promise<AgentMessage[]>;\n\t_finishPostToolCompactionPreflight(messages: AgentMessage[]): AgentMessage[];\n\tsetAutoCompactionEnabled(enabled: boolean): void;\n\n\tbindExtensions(bindings: ExtensionBindings): Promise<void>;\n\textendResourcesFromExtensions(reason: \"startup\" | \"reload\"): Promise<void>;\n\tbuildExtensionResourcePaths(entries: ExtensionResourcePathEntry[]): ExtensionResourcePathResult[];\n\tgetExtensionSourceLabel(extensionPath: string): string;\n\t_applyExtensionBindings(runner: ExtensionRunner): void;\n\t_refreshCurrentModelFromRegistry(): void;\n\trefreshCurrentModelFromRegistry(): void;\n\t_bindExtensionCore(\n\t\trunner: ExtensionRunner,\n\t\tpublication?: {\n\t\t\tresourceLoader: ResourceLoader;\n\t\t\tproviderTransaction: ExtensionProviderTransaction;\n\t\t\tproviderIds: Set<string>;\n\t\t\tdefer(effect: () => void | Promise<void>): void;\n\t\t},\n\t): void;\n\t_refreshToolRegistry(options?: { activeToolNames?: string[]; includeAllExtensionTools?: boolean }): void;\n\t_buildRuntime(options: RuntimeBuildOptions): void;\n\treload(options?: AgentSessionReloadOptions): Promise<void>;\n\tcompleteStartupResources(resourceLoader: ResourceLoader): Promise<void>;\n\n\t_isRetryableError(message: AssistantMessage): boolean;\n\t_isFallbackableError(message: AssistantMessage): boolean;\n\t_isEmptyCompletion(message: AssistantMessage): boolean;\n\t_isSafetyRefusal(message: AssistantMessage): boolean;\n\t_handleRetryableError(message: AssistantMessage): Promise<boolean>;\n\t_trySwitchToFallbackModel(message: AssistantMessage): Promise<boolean>;\n\t_beginFallbackModelScope(): void;\n\t_clearFallbackModelScope(): void;\n\t_settleFallbackModelScope(): Promise<boolean>;\n\tabortRetry(): void;\n\twaitForRetry(): Promise<void>;\n\tsetAutoRetryEnabled(enabled: boolean): void;\n\n\texecuteBash(\n\t\tcommand: string,\n\t\tonChunk?: (chunk: string, channel: \"stdout\" | \"stderr\") => void,\n\t\toptions?: {\n\t\t\texcludeFromContext?: boolean;\n\t\t\tid?: string;\n\t\t\toperations?: BashOperations;\n\t\t\tpty?: boolean;\n\t\t\temitEvent?: boolean;\n\t\t\trecordResult?: boolean;\n\t\t},\n\t): Promise<BashResult>;\n\trecordBashResult(\n\t\tcommand: string,\n\t\tresult: BashResult,\n\t\toptions?: { excludeFromContext?: boolean; persist?: boolean; defer?: boolean },\n\t): void;\n\tabortBash(id?: string): void;\n\t_flushPendingBashMessages(): void;\n\n\tsetSessionName(name: string): void;\n\tnavigateTree(\n\t\ttargetId: string,\n\t\toptions?: { summarize?: boolean; customInstructions?: string; replaceInstructions?: boolean; label?: string },\n\t): Promise<{ editorText?: string; cancelled: boolean; aborted?: boolean; summaryEntry?: BranchSummaryEntry }>;\n\tgetUserMessagesForForking(): Array<{ entryId: string; text: string }>;\n\t_extractUserMessageText(content: string | Array<{ type: string; text?: string }>): string;\n\n\tgetSessionStats(): SessionStats;\n\tgetContextUsage(): ContextUsage | undefined;\n\texportToHtml(outputPath?: string, options?: { themeName?: string }): Promise<string>;\n\texportToJsonl(outputPath?: string, options?: { includeShareContext?: boolean }): string;\n\tgetLastAssistantText(): string | undefined;\n\tcreateReplacedSessionContext(): ReplacedSessionContext;\n\tsealWorkflowStageGeneration(): void;\n\tcloseWorkflowStageGeneration(): Promise<void>;\n\ttransferWorkflowStageDeliveriesTo(target: object): void;\n\thasExtensionHandlers(eventType: string): boolean;\n}\n\nexport interface AgentSessionPublicSurface\n\textends Pick<\n\t\tAgentSessionMethodSurface,\n\t\t| \"orchestrationContext\"\n\t\t| \"getAgentTaskHost\"\n\t\t| \"closeSessionTasks\"\n\t\t| \"modelRuntime\"\n\t\t| \"state\"\n\t\t| \"model\"\n\t\t| \"thinkingLevel\"\n\t\t| \"isStreaming\"\n\t\t| \"systemPrompt\"\n\t\t| \"retryAttempt\"\n\t\t| \"isCompacting\"\n\t\t| \"compactionReason\"\n\t\t| \"messages\"\n\t\t| \"steeringMode\"\n\t\t| \"followUpMode\"\n\t\t| \"sessionFile\"\n\t\t| \"sessionId\"\n\t\t| \"sessionName\"\n\t\t| \"scopedModels\"\n\t\t| \"promptTemplates\"\n\t\t| \"pendingMessageCount\"\n\t\t| \"resourceLoader\"\n\t\t| \"autoCompactionEnabled\"\n\t\t| \"isRetrying\"\n\t\t| \"autoRetryEnabled\"\n\t\t| \"abortSessionSummary\"\n\t\t| \"isBashRunning\"\n\t\t| \"hasPendingBashMessages\"\n\t\t| \"extensionRunner\"\n\t\t| \"workflows\"\n\t\t| \"queuedMessagesPaused\"\n\t\t| \"pauseQueuedMessages\"\n\t\t| \"resumeQueuedMessages\"\n\t\t| \"subscribe\"\n\t\t| \"dispose\"\n\t\t| \"getActiveToolNames\"\n\t\t| \"getCallableToolNames\"\n\t\t| \"getAllTools\"\n\t\t| \"getToolDefinition\"\n\t\t| \"getToolStatus\"\n\t\t| \"setActiveToolsByName\"\n\t\t| \"setScopedModels\"\n\t\t| \"prompt\"\n\t\t| \"steer\"\n\t\t| \"followUp\"\n\t\t| \"sendCustomMessage\"\n\t\t| \"sendUserMessage\"\n\t\t| \"clearQueue\"\n\t\t| \"getSteeringMessages\"\n\t\t| \"getFollowUpMessages\"\n\t\t| \"abort\"\n\t\t| \"setModel\"\n\t\t| \"cycleModel\"\n\t\t| \"setThinkingLevel\"\n\t\t| \"cycleThinkingLevel\"\n\t\t| \"getAvailableThinkingLevels\"\n\t\t| \"supportsThinking\"\n\t\t| \"setSteeringMode\"\n\t\t| \"setFollowUpMode\"\n\t\t| \"compact\"\n\t\t| \"abortCompaction\"\n\t\t| \"abortBranchSummary\"\n\t\t| \"setAutoCompactionEnabled\"\n\t\t| \"bindExtensions\"\n\t\t| \"refreshCurrentModelFromRegistry\"\n\t\t| \"reload\"\n\t\t| \"completeStartupResources\"\n\t\t| \"abortRetry\"\n\t\t| \"setAutoRetryEnabled\"\n\t\t| \"executeBash\"\n\t\t| \"recordBashResult\"\n\t\t| \"abortBash\"\n\t\t| \"setSessionName\"\n\t\t| \"navigateTree\"\n\t\t| \"getUserMessagesForForking\"\n\t\t| \"getSessionStats\"\n\t\t| \"getContextUsage\"\n\t\t| \"refreshContext\"\n\t\t| \"exportToHtml\"\n\t\t| \"exportToJsonl\"\n\t\t| \"getLastAssistantText\"\n\t\t| \"createReplacedSessionContext\"\n\t\t| \"hasExtensionHandlers\"\n\t> {\n\treadonly agent: Agent;\n\treadonly sessionManager: SessionManager;\n\treadonly settingsManager: SettingsManager;\n}\n\nexport interface AgentSessionInternalSurface extends AgentSessionMethodSurface, AgentSessionPublicSurface {\n\t_scopedModels: Array<{ model: Model<Api>; thinkingLevel?: ThinkingLevel }>;\n\t_fallbackModels: string[];\n\t_isFallbackModelAllowed?: (model: Model<Api>, effort: string | undefined) => boolean;\n\t_fallbackAttemptedKeys: Set<string>;\n\t_fallbackBlockedModels: Array<Model<Api>>;\n\t_fallbackOriginModel: Model<Api> | undefined;\n\t_fallbackOriginThinkingLevel: ThinkingLevel | undefined;\n\t_fallbackScopeGeneration: number;\n\t_fallbackOriginGeneration: number | undefined;\n\t_fallbackRestoreError: string | undefined;\n\n\t_unsubscribeAgent?: () => void;\n\t_eventListeners: AgentSessionEventListener[];\n\t_agentEventQueue: Promise<void>;\n\t_steeringMessages: string[];\n\t_followUpMessages: string[];\n\t_interruptDeliveryQueue: Promise<void>;\n\t_pendingPostCompactionContinuation: Promise<void> | undefined;\n\t_postCompactionContinuationToken: number;\n\t_lengthContinuationAttempts: number;\n\t_outputBudgetErrorContinuationAttempts: number;\n\t_postToolCompactionPreflightError: string | undefined;\n\t_pendingPostToolCompactionGuard: PendingPostToolCompactionGuard | undefined;\n\t_terminatingToolCallIds: Set<string>;\n\t_stopAfterTurnBlockedContinuation: boolean;\n\t_pendingInterruptDeliveries: number;\n\t_priorityInterruptPending: boolean;\n\t_activePromptCount: number;\n\t_agentRunAbortRequested: boolean;\n\t_cacheWarmer?: import(\"./cache-warmer.ts\").CacheWarmer;\n\t_activeInterruptQueueHold: InterruptQueueHold | undefined;\n\t_queuedMessagesPaused: boolean;\n\t_queuedMessagesPauseAbortBoundary: Promise<void> | undefined;\n\t_admittedQueuedMessageAwaitingReply: string | undefined;\n\t_admittedRecoveryTurn: Promise<void> | undefined;\n\t_workflowStageDeliveryForwardTarget: AgentSessionInternalSurface | undefined;\n\t_activeInterruptAbortMessage: string | undefined;\n\t_pendingNextTurnMessages: CustomMessage[];\n\t_pendingCustomMessages: CustomMessage[];\n\t_protectedStreamingCustomMessages: Array<{\n\t\tmessage: CustomMessage;\n\t\tdelivery: \"steer\" | \"followUp\";\n\t\tphase: \"queued\" | \"consumed-unpersisted\" | \"persistence-failed\";\n\t}>;\n\t_compactionAbortController: AbortController | undefined;\n\t_manualCompactionPromise: Promise<VerbatimCompactionResult> | undefined;\n\t_autoCompactionAbortController: AbortController | undefined;\n\t_autoCompactionCompletion: Promise<void> | undefined;\n\t_compactionReason: import(\"./agent-session-types.js\").CompactionReason | undefined;\n\t_overflowRecoveryAttempted: boolean;\n\t_recoverableLengthRecoveryAttempted: boolean;\n\t_contextOverflowUnresolved: boolean;\n\t_branchSummaryAbortController: AbortController | undefined;\n\t_branchSummaryCompletion: Promise<void> | undefined;\n\t_retryAbortController: AbortController | undefined;\n\t_retryAttempt: number;\n\t_retryPromise: Promise<void> | undefined;\n\t_retryResolve: (() => void) | undefined;\n\t_bashAbortControllers: Map<string | symbol, Set<AbortController>>;\n\t_pendingBashMessages: BashExecutionMessage[];\n\t_extensionRunner: ExtensionRunner;\n\t_workflows?: SessionWorkflowsHandle;\n\t_turnIndex: number;\n\treadonly _entryIdsByMessage: WeakMap<object, string>;\n\treadonly _boundaryDispatchedMessages: WeakSet<object>;\n\treadonly _messagesAwaitingPersistence: WeakSet<object>;\n\t_lastAssistantToolResults: AgentMessage[];\n\t_lastActivityOutcome: AgentActivityOutcome;\n\t_isBeforeSettle: boolean;\n\t_abortDuringBeforeSettle: boolean;\n\t_isEmittingAgentSettled: boolean;\n\treadonly _deferredSettledActions: Array<() => Promise<void>>;\n\t_callerReplacedNextRequestContext: boolean;\n\t_resourceLoader: ResourceLoader;\n\t_customTools: ToolDefinition[];\n\t_baseToolDefinitions: Map<string, ToolDefinition>;\n\t_cwd: string;\n\t_extensionRunnerRef?: { current?: ExtensionRunner };\n\t_initialActiveToolNames?: string[];\n\t_pendingToolNames: Set<string>;\n\t_usesDefaultTools: boolean;\n\t_defaultToolModifiers: string[];\n\t_appliedDefaultTools: Set<string>;\n\t_allowedToolNames?: Set<string>;\n\t_excludedToolNames?: Set<string>;\n\t_allowedTools?: (name: string) => boolean;\n\t_excludedTools?: (name: string) => boolean;\n\t_childSessionOptions?: import(\"./child-session-options.ts\").ChildSessionOptionsResolver;\n\t_baseToolsOverride?: Record<string, AgentTool>;\n\t_sessionStartEvent: SessionStartEvent;\n\t_orchestrationContext?: OrchestrationContext;\n\t_subagentPolicy?: import(\"./extensions/index.js\").SubagentChildPolicy;\n\t_subagentMessageAdmission?: import(\"./workflow-stage-admission.ts\").WorkflowStageAdmissionBoundary;\n\t_extensionUIContext?: ExtensionUIContext;\n\t_extensionHumanInput?: import(\"./extensions/host-input.js\").HostInput | null;\n\t_extensionDiagnosticListener?: (diagnostic: import(\"./extensions/host-input.js\").HostDiagnostic) => void;\n\t_extensionMode: ExtensionMode;\n\t_disposed: boolean;\n\t_close(event: import(\"./extensions/types.ts\").SessionShutdownEvent, beforeInvalidate?: () => void): Promise<void>;\n\t_sessionSummaryAbortController: AbortController | undefined;\n\t_sessionSummaryToken: number;\n\t_sessionSummaryRun: import(\"./agent-session-summary.ts\").SessionSummaryRun | undefined;\n\t_lastSummarizedMessageId: string | undefined;\n\t_extensionCommandContextActions?: ExtensionCommandContextActions;\n\t_extensionShutdownHandler?: () => void;\n\t_extensionErrorListener?: ExtensionErrorListener;\n\t_extensionErrorUnsubscriber?: () => void;\n\t_modelRuntime: ModelRuntime;\n\t_extensionProviderIds: Set<string>;\n\t_toolRegistry: Map<string, AgentTool>;\n\t_toolExecutionScheduler: ToolExecutionScheduler;\n\t_toolDefinitions: Map<string, ToolDefinitionEntry>;\n\t_toolPromptSnippets: Map<string, string>;\n\t_toolPromptGuidelines: Map<string, string[]>;\n\t_baseSystemPromptOptions: NormalizedBuildSystemPromptOptions;\n\t_systemPromptTransform?: (prompt: string) => string;\n\t_contextProjectionTransform?: (messages: AgentMessage[]) => AgentMessage[];\n\t_runSystemPromptOptions?: NormalizedBuildSystemPromptOptions;\n\t_lastAssistantMessage: AssistantMessage | undefined;\n\t_tempStorageLease: import(\"./tools/session-temp-dir.ts\").ProtectedPathLease | undefined;\n\t_workflowStageAdmission: import(\"./workflow-stage-admission.ts\").WorkflowStageAdmissionBoundary | undefined;\n\t_agentTaskHost: import(\"./tasks/agent-adapter.js\").AgentTaskHost | undefined;\n\t_parentCommandTaskOwner: import(\"./tasks/child-command-owner.js\").ChildCommandTaskOwner | undefined;\n\t_childTaskWaits: import(\"./tasks/child-command-owner.js\").ChildTaskWaits;\n\t_taskCompletionOutbox: import(\"./tasks/completion.js\").TaskCompletionOutbox | undefined;\n\t_taskAdmission: import(\"./workflow-stage-admission.ts\").WorkflowStageAdmissionBoundary | undefined;\n}\n"]}
@@ -4,6 +4,7 @@ import type { AgentMessage, ThinkingLevel } from "@earendil-works/pi-agent-core"
4
4
  import type { AgentSessionInternalSurface as AgentSession } from "./agent-session-methods.ts";
5
5
  import type { ToolDefinition, ToolInfo } from "./extensions/index.js";
6
6
  import { type NormalizedBuildSystemPromptOptions } from "./system-prompt.ts";
7
+ import { type ToolStatusReport } from "./tool-status.js";
7
8
  export declare function getActiveToolNames(this: AgentSession): string[];
8
9
  export declare function getCallableToolNames(this: AgentSession): string[];
9
10
  /**
@@ -11,6 +12,11 @@ export declare function getCallableToolNames(this: AgentSession): string[];
11
12
  */
12
13
  export declare function getAllTools(this: AgentSession): ToolInfo[];
13
14
  export declare function getToolDefinition(this: AgentSession, name: string): ToolDefinition | undefined;
15
+ /**
16
+ * Explain every registered tool (active or not, and why), where the tool selection came from,
17
+ * and which selected names nothing registered. Format it with `formatToolStatus()`.
18
+ */
19
+ export declare function getToolStatus(this: AgentSession): ToolStatusReport;
14
20
  /**
15
21
  * Set active tools by name.
16
22
  * Only tools in the registry can be enabled. Unknown tool names are ignored.
@@ -57,6 +63,7 @@ export declare const agentSessionStateMethods: {
57
63
  getCallableToolNames: typeof getCallableToolNames;
58
64
  getAllTools: typeof getAllTools;
59
65
  getToolDefinition: typeof getToolDefinition;
66
+ getToolStatus: typeof getToolStatus;
60
67
  setActiveToolsByName: typeof setActiveToolsByName;
61
68
  _setActiveTools: typeof _setActiveTools;
62
69
  setScopedModels: typeof setScopedModels;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session-state.d.ts","sourceRoot":"","sources":["../../src/core/agent-session-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,KAAK,EAAE,2BAA2B,IAAI,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE9F,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAIN,KAAK,kCAAkC,EAEvC,MAAM,oBAAoB,CAAC;AAG5B,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,EAAE,CAE/D;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,EAAE,CAEjE;AAED;;GAEG;AAEH,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,QAAQ,EAAE,CAc1D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE9F;AAED;;;;;GAKG;AAEH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAKlF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAI7E;AAED,sEAAsE;AAEtE,wBAAgB,eAAe,CAC9B,IAAI,EAAE,YAAY,EAClB,YAAY,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAAC,aAAa,CAAC,EAAE,aAAa,CAAA;CAAE,CAAC,GACvE,IAAI,CAEN;AAED,kCAAkC;AAElC,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAOxG;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAazG;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAmClF;AAED,wBAAgB,uCAAuC,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAEhF;AAED,4FAA4F;AAC5F,wBAAgB,4BAA4B,CAC3C,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,kCAAkC,EAC3C,QAAQ,GAAE,YAAY,EAA8B,GAClD,aAAa,GAAG,SAAS,CAS3B;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAazG;AAMD;;;;;;;;GAQG;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;CAcpC,CAAC"}
1
+ {"version":3,"file":"agent-session-state.d.ts","sourceRoot":"","sources":["../../src/core/agent-session-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,KAAK,EAAE,2BAA2B,IAAI,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE9F,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAIN,KAAK,kCAAkC,EAEvC,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAIN,KAAK,gBAAgB,EACrB,MAAM,kBAAkB,CAAC;AAE1B,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,EAAE,CAE/D;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,EAAE,CAEjE;AAED;;GAEG;AAEH,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,QAAQ,EAAE,CAc1D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE9F;AAUD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,gBAAgB,CAelE;AAED;;;;;GAKG;AAEH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAKlF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAI7E;AAED,sEAAsE;AAEtE,wBAAgB,eAAe,CAC9B,IAAI,EAAE,YAAY,EAClB,YAAY,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAAC,aAAa,CAAC,EAAE,aAAa,CAAA;CAAE,CAAC,GACvE,IAAI,CAEN;AAED,kCAAkC;AAElC,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAOxG;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAazG;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAmClF;AAED,wBAAgB,uCAAuC,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAEhF;AAED,4FAA4F;AAC5F,wBAAgB,4BAA4B,CAC3C,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,kCAAkC,EAC3C,QAAQ,GAAE,YAAY,EAA8B,GAClD,aAAa,GAAG,SAAS,CAS3B;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAazG;AAMD;;;;;;;;GAQG;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;CAepC,CAAC"}
@@ -3,6 +3,8 @@ import { getCallableTools } from "./agent-session-nested-tools.js";
3
3
  import { getSkillCatalog } from "./skill-catalog.js";
4
4
  import { buildSystemPrompt, buildSystemPromptSections, diffSystemPromptSections, normalizeBuildSystemPromptOptions, } from "./system-prompt.js";
5
5
  import { applyToolLoadout, isToolDeclarationHidden } from "./tool-loadout.js";
6
+ import { selectedToolNames } from "./tool-selection.js";
7
+ import { buildToolStatusReport, describeToolSelection, } from "./tool-status.js";
6
8
  export function getActiveToolNames() {
7
9
  return this.agent.state.tools.map((t) => t.name);
8
10
  }
@@ -30,6 +32,34 @@ export function getAllTools() {
30
32
  export function getToolDefinition(name) {
31
33
  return this._toolDefinitions.get(name)?.definition;
32
34
  }
35
+ function toolSelectionSource(session) {
36
+ if (session._usesDefaultTools) {
37
+ return session.settingsManager.getDefaultTools() === undefined ? "built-in-defaults" : "default-tools-setting";
38
+ }
39
+ if (session._allowedToolNames)
40
+ return session._allowedToolNames.size === 0 ? "no-tools" : "tools-allowlist";
41
+ return (session._initialActiveToolNames?.length ?? 0) > 0 ? "explicit-selection" : "no-built-in-tools";
42
+ }
43
+ /**
44
+ * Explain every registered tool (active or not, and why), where the tool selection came from,
45
+ * and which selected names nothing registered. Format it with `formatToolStatus()`.
46
+ */
47
+ export function getToolStatus() {
48
+ const source = toolSelectionSource(this);
49
+ const modifiers = [...this._defaultToolModifiers];
50
+ return buildToolStatusReport({
51
+ tools: [...this._toolDefinitions.values()],
52
+ activeToolNames: this.getActiveToolNames(),
53
+ selection: {
54
+ source,
55
+ description: describeToolSelection(source, modifiers),
56
+ names: [...selectedToolNames(this)],
57
+ modifiers,
58
+ },
59
+ isExcluded: this._excludedTools,
60
+ isAllowed: this._allowedTools,
61
+ });
62
+ }
33
63
  /**
34
64
  * Set active tools by name.
35
65
  * Only tools in the registry can be enabled. Unknown tool names are ignored.
@@ -163,6 +193,7 @@ export const agentSessionStateMethods = {
163
193
  getCallableToolNames,
164
194
  getAllTools,
165
195
  getToolDefinition,
196
+ getToolStatus,
166
197
  setActiveToolsByName,
167
198
  _setActiveTools,
168
199
  setScopedModels,
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session-state.js","sourceRoot":"","sources":["../../src/core/agent-session-state.ts"],"names":[],"mappings":"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","sourcesContent":["import { getCurrentSystemMessage, type SystemMessage } from \"@bastani/pi-ai\";\nimport type { Api, Model } from \"@bastani/pi-ai/compat\";\nimport type { AgentMessage, ThinkingLevel } from \"@earendil-works/pi-agent-core\";\nimport type { AgentSessionInternalSurface as AgentSession } from \"./agent-session-methods.ts\";\nimport { getCallableTools } from \"./agent-session-nested-tools.js\";\nimport type { ToolDefinition, ToolInfo } from \"./extensions/index.js\";\nimport { getSkillCatalog } from \"./skill-catalog.ts\";\nimport {\n\tbuildSystemPrompt,\n\tbuildSystemPromptSections,\n\tdiffSystemPromptSections,\n\ttype NormalizedBuildSystemPromptOptions,\n\tnormalizeBuildSystemPromptOptions,\n} from \"./system-prompt.ts\";\nimport { applyToolLoadout, isToolDeclarationHidden } from \"./tool-loadout.js\";\n\nexport function getActiveToolNames(this: AgentSession): string[] {\n\treturn this.agent.state.tools.map((t) => t.name);\n}\n\nexport function getCallableToolNames(this: AgentSession): string[] {\n\treturn getCallableTools(this).map((tool) => tool.name);\n}\n\n/**\n * Get all configured tools with name, description, parameter schema, and source metadata.\n */\n\nexport function getAllTools(this: AgentSession): ToolInfo[] {\n\treturn Array.from(this._toolDefinitions.values()).map(({ definition, sourceInfo }) => ({\n\t\tname: definition.name,\n\t\tdescription: definition.description,\n\t\tparameters: definition.parameters,\n\t\t...(Object.hasOwn(definition, \"constrainedSampling\")\n\t\t\t? { constrainedSampling: definition.constrainedSampling }\n\t\t\t: {}),\n\t\tpromptGuidelines: definition.promptGuidelines,\n\t\texposure: definition.exposure ?? \"direct\",\n\t\tnamespace: definition.namespace,\n\t\tannotations: definition.annotations,\n\t\tsourceInfo,\n\t}));\n}\n\nexport function getToolDefinition(this: AgentSession, name: string): ToolDefinition | undefined {\n\treturn this._toolDefinitions.get(name)?.definition;\n}\n\n/**\n * Set active tools by name.\n * Only tools in the registry can be enabled. Unknown tool names are ignored.\n * Also rebuilds the system prompt to reflect the new tool set.\n * Changes take effect on the next agent turn.\n */\n\nexport function setActiveToolsByName(this: AgentSession, toolNames: string[]): void {\n\tconst previous = this.getActiveToolNames();\n\tthis._setActiveTools(toolNames);\n\tconst active = new Set(this.getActiveToolNames());\n\tif (previous.some((name) => !active.has(name))) this._pendingToolNames.clear();\n}\n\nexport function _setActiveTools(this: AgentSession, toolNames: string[]): void {\n\tconst tools = applyToolLoadout(this, toolNames);\n\tfor (const tool of tools) this._pendingToolNames.delete(tool.name);\n\tthis._rebuildSystemPrompt(tools.map((tool) => tool.name));\n}\n\n/** Whether compaction or branch summarization is currently running */\n\nexport function setScopedModels(\n\tthis: AgentSession,\n\tscopedModels: Array<{ model: Model<Api>; thinkingLevel?: ThinkingLevel }>,\n): void {\n\tthis._scopedModels = scopedModels;\n}\n\n/** File-based prompt templates */\n\nexport function _normalizePromptSnippet(this: AgentSession, text: string | undefined): string | undefined {\n\tif (!text) return undefined;\n\tconst oneLine = text\n\t\t.replace(/[\\r\\n]+/g, \" \")\n\t\t.replace(/\\s+/g, \" \")\n\t\t.trim();\n\treturn oneLine.length > 0 ? oneLine : undefined;\n}\n\nexport function _normalizePromptGuidelines(this: AgentSession, guidelines: string[] | undefined): string[] {\n\tif (!guidelines || guidelines.length === 0) {\n\t\treturn [];\n\t}\n\n\tconst unique = new Set<string>();\n\tfor (const guideline of guidelines) {\n\t\tconst normalized = guideline.trim();\n\t\tif (normalized.length > 0) {\n\t\t\tunique.add(normalized);\n\t\t}\n\t}\n\treturn Array.from(unique);\n}\n\nexport function _rebuildSystemPrompt(this: AgentSession, toolNames: string[]): void {\n\tconst validToolNames = toolNames.filter((name) => this._toolRegistry.has(name));\n\tconst toolSnippets: Record<string, string> = {};\n\tfor (const name of this._toolRegistry.keys()) {\n\t\tconst snippet = this._toolPromptSnippets.get(name);\n\t\tif (snippet) {\n\t\t\ttoolSnippets[name] = snippet;\n\t\t}\n\t}\n\n\tconst loaderSystemPrompt = this._resourceLoader.getSystemPrompt();\n\tconst loaderAppendSystemPrompt = this._resourceLoader.getAppendSystemPrompt();\n\tconst appendSystemPrompt = loaderAppendSystemPrompt.length > 0 ? loaderAppendSystemPrompt.join(\"\\n\\n\") : undefined;\n\tconst loadedSkills = getSkillCatalog(this._resourceLoader).modelSkills();\n\tconst loadedContextFiles = this._resourceLoader.getAgentsFiles().agentsFiles;\n\n\tthis._baseSystemPromptOptions = normalizeBuildSystemPromptOptions({\n\t\tcwd: this._cwd,\n\t\tselectedModel: this.model,\n\t\tselectedThinkingLevel: this.thinkingLevel,\n\t\tskills: loadedSkills,\n\t\tcontextFiles: loadedContextFiles,\n\t\tcustomPrompt: loaderSystemPrompt,\n\t\tappendSystemPrompt,\n\t\tselectedTools: validToolNames,\n\t\thiddenTools: validToolNames.filter((name) => isToolDeclarationHidden(this, name)),\n\t\texcludedTools: this._excludedToolNames ? Array.from(this._excludedToolNames) : undefined,\n\t\ttoolSnippets,\n\t\ttoolGuidelines: Object.fromEntries(this._toolPromptGuidelines),\n\t});\n\tif (this._systemPromptTransform) {\n\t\tthis._baseSystemPromptOptions.forceSystemPrompt = this._systemPromptTransform(\n\t\t\tbuildSystemPrompt(this._baseSystemPromptOptions),\n\t\t);\n\t}\n}\n\nexport function _refreshBaseSystemPromptFromActiveTools(this: AgentSession): void {\n\tthis._rebuildSystemPrompt(this.getActiveToolNames());\n}\n\n/** Diff structured prompt state; executable tool changes are declared by the agent loop. */\nexport function _preparePromptAndToolLoadout(\n\tthis: AgentSession,\n\toptions: NormalizedBuildSystemPromptOptions,\n\tmessages: AgentMessage[] = this.agent.state.messages,\n): SystemMessage | undefined {\n\tconst current = getCurrentSystemMessage(messages);\n\tconst selected = [...new Set(options.selectedTools)].filter((name) => this._toolRegistry.has(name));\n\tconst recorded = (current?.toolsAdded ?? []).map((tool) => tool.name).filter((name) => selected.includes(name));\n\toptions.selectedTools = [...recorded, ...selected.filter((name) => !recorded.includes(name))];\n\toptions.selectedTools = applyToolLoadout(this, options.selectedTools).map((tool) => tool.name);\n\toptions.hiddenTools = options.selectedTools.filter((name) => isToolDeclarationHidden(this, name));\n\tconst sections = diffSystemPromptSections(current?.sections ?? {}, buildSystemPromptSections(options));\n\treturn sections ? { role: \"system\", content: \"\", sections, timestamp: Date.now() } : undefined;\n}\n\n/**\n * Restore registered tools from the selected transcript, not another branch's live state.\n *\n * `keepLoadout` is for a session whose creator already chose its loadout (every `createAgentSession`\n * does, from `--tools`, `--no-builtin-tools` and the `defaultTools` setting). That choice stays\n * authoritative for built-in tools, so only the other tools the transcript declared are added to it:\n * the ones an extension or `tool_search` activated, such as MCP tools that are not registered until\n * their server connects. Without it the transcript replaces the loadout.\n */\nexport function _restoreToolsFromTranscript(this: AgentSession, options?: { keepLoadout?: boolean }): void {\n\tthis._pendingToolNames.clear();\n\tconst current = getCurrentSystemMessage(this.sessionManager.buildSessionContext().messages);\n\tif (!current) return;\n\tconst declared = (current.toolsAdded ?? []).map((tool) => tool.name);\n\tif (!options?.keepLoadout) {\n\t\tthis._pendingToolNames = new Set(declared);\n\t\tthis._setActiveTools(declared);\n\t\treturn;\n\t}\n\tconst restored = declared.filter((name) => !this._baseToolDefinitions.has(name));\n\tthis._pendingToolNames = new Set(restored);\n\tthis._setActiveTools([...this.getActiveToolNames(), ...restored]);\n}\n\n// =========================================================================\n// Prompting\n// =========================================================================\n\n/**\n * Send a prompt to the agent.\n * - Handles extension commands (registered via pi.registerCommand) immediately, even during streaming\n * - Expands file-based prompt templates by default\n * - During streaming, queues via steer() or followUp() based on streamingBehavior option\n * - Validates model and API key before sending (when not streaming)\n * @throws Error if streaming and no streamingBehavior specified\n * @throws Error if no model selected or no API key available (when not streaming)\n */\n\nexport const agentSessionStateMethods = {\n\tgetActiveToolNames,\n\tgetCallableToolNames,\n\tgetAllTools,\n\tgetToolDefinition,\n\tsetActiveToolsByName,\n\t_setActiveTools,\n\tsetScopedModels,\n\t_normalizePromptSnippet,\n\t_normalizePromptGuidelines,\n\t_rebuildSystemPrompt,\n\t_preparePromptAndToolLoadout,\n\t_restoreToolsFromTranscript,\n\t_refreshBaseSystemPromptFromActiveTools,\n};\n"]}
1
+ {"version":3,"file":"agent-session-state.js","sourceRoot":"","sources":["../../src/core/agent-session-state.ts"],"names":[],"mappings":"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","sourcesContent":["import { getCurrentSystemMessage, type SystemMessage } from \"@bastani/pi-ai\";\nimport type { Api, Model } from \"@bastani/pi-ai/compat\";\nimport type { AgentMessage, ThinkingLevel } from \"@earendil-works/pi-agent-core\";\nimport type { AgentSessionInternalSurface as AgentSession } from \"./agent-session-methods.ts\";\nimport { getCallableTools } from \"./agent-session-nested-tools.js\";\nimport type { ToolDefinition, ToolInfo } from \"./extensions/index.js\";\nimport { getSkillCatalog } from \"./skill-catalog.ts\";\nimport {\n\tbuildSystemPrompt,\n\tbuildSystemPromptSections,\n\tdiffSystemPromptSections,\n\ttype NormalizedBuildSystemPromptOptions,\n\tnormalizeBuildSystemPromptOptions,\n} from \"./system-prompt.ts\";\nimport { applyToolLoadout, isToolDeclarationHidden } from \"./tool-loadout.js\";\nimport { selectedToolNames } from \"./tool-selection.ts\";\nimport {\n\tbuildToolStatusReport,\n\tdescribeToolSelection,\n\ttype ToolSelectionSource,\n\ttype ToolStatusReport,\n} from \"./tool-status.js\";\n\nexport function getActiveToolNames(this: AgentSession): string[] {\n\treturn this.agent.state.tools.map((t) => t.name);\n}\n\nexport function getCallableToolNames(this: AgentSession): string[] {\n\treturn getCallableTools(this).map((tool) => tool.name);\n}\n\n/**\n * Get all configured tools with name, description, parameter schema, and source metadata.\n */\n\nexport function getAllTools(this: AgentSession): ToolInfo[] {\n\treturn Array.from(this._toolDefinitions.values()).map(({ definition, sourceInfo }) => ({\n\t\tname: definition.name,\n\t\tdescription: definition.description,\n\t\tparameters: definition.parameters,\n\t\t...(Object.hasOwn(definition, \"constrainedSampling\")\n\t\t\t? { constrainedSampling: definition.constrainedSampling }\n\t\t\t: {}),\n\t\tpromptGuidelines: definition.promptGuidelines,\n\t\texposure: definition.exposure ?? \"direct\",\n\t\tnamespace: definition.namespace,\n\t\tannotations: definition.annotations,\n\t\tsourceInfo,\n\t}));\n}\n\nexport function getToolDefinition(this: AgentSession, name: string): ToolDefinition | undefined {\n\treturn this._toolDefinitions.get(name)?.definition;\n}\n\nfunction toolSelectionSource(session: AgentSession): ToolSelectionSource {\n\tif (session._usesDefaultTools) {\n\t\treturn session.settingsManager.getDefaultTools() === undefined ? \"built-in-defaults\" : \"default-tools-setting\";\n\t}\n\tif (session._allowedToolNames) return session._allowedToolNames.size === 0 ? \"no-tools\" : \"tools-allowlist\";\n\treturn (session._initialActiveToolNames?.length ?? 0) > 0 ? \"explicit-selection\" : \"no-built-in-tools\";\n}\n\n/**\n * Explain every registered tool (active or not, and why), where the tool selection came from,\n * and which selected names nothing registered. Format it with `formatToolStatus()`.\n */\nexport function getToolStatus(this: AgentSession): ToolStatusReport {\n\tconst source = toolSelectionSource(this);\n\tconst modifiers = [...this._defaultToolModifiers];\n\treturn buildToolStatusReport({\n\t\ttools: [...this._toolDefinitions.values()],\n\t\tactiveToolNames: this.getActiveToolNames(),\n\t\tselection: {\n\t\t\tsource,\n\t\t\tdescription: describeToolSelection(source, modifiers),\n\t\t\tnames: [...selectedToolNames(this)],\n\t\t\tmodifiers,\n\t\t},\n\t\tisExcluded: this._excludedTools,\n\t\tisAllowed: this._allowedTools,\n\t});\n}\n\n/**\n * Set active tools by name.\n * Only tools in the registry can be enabled. Unknown tool names are ignored.\n * Also rebuilds the system prompt to reflect the new tool set.\n * Changes take effect on the next agent turn.\n */\n\nexport function setActiveToolsByName(this: AgentSession, toolNames: string[]): void {\n\tconst previous = this.getActiveToolNames();\n\tthis._setActiveTools(toolNames);\n\tconst active = new Set(this.getActiveToolNames());\n\tif (previous.some((name) => !active.has(name))) this._pendingToolNames.clear();\n}\n\nexport function _setActiveTools(this: AgentSession, toolNames: string[]): void {\n\tconst tools = applyToolLoadout(this, toolNames);\n\tfor (const tool of tools) this._pendingToolNames.delete(tool.name);\n\tthis._rebuildSystemPrompt(tools.map((tool) => tool.name));\n}\n\n/** Whether compaction or branch summarization is currently running */\n\nexport function setScopedModels(\n\tthis: AgentSession,\n\tscopedModels: Array<{ model: Model<Api>; thinkingLevel?: ThinkingLevel }>,\n): void {\n\tthis._scopedModels = scopedModels;\n}\n\n/** File-based prompt templates */\n\nexport function _normalizePromptSnippet(this: AgentSession, text: string | undefined): string | undefined {\n\tif (!text) return undefined;\n\tconst oneLine = text\n\t\t.replace(/[\\r\\n]+/g, \" \")\n\t\t.replace(/\\s+/g, \" \")\n\t\t.trim();\n\treturn oneLine.length > 0 ? oneLine : undefined;\n}\n\nexport function _normalizePromptGuidelines(this: AgentSession, guidelines: string[] | undefined): string[] {\n\tif (!guidelines || guidelines.length === 0) {\n\t\treturn [];\n\t}\n\n\tconst unique = new Set<string>();\n\tfor (const guideline of guidelines) {\n\t\tconst normalized = guideline.trim();\n\t\tif (normalized.length > 0) {\n\t\t\tunique.add(normalized);\n\t\t}\n\t}\n\treturn Array.from(unique);\n}\n\nexport function _rebuildSystemPrompt(this: AgentSession, toolNames: string[]): void {\n\tconst validToolNames = toolNames.filter((name) => this._toolRegistry.has(name));\n\tconst toolSnippets: Record<string, string> = {};\n\tfor (const name of this._toolRegistry.keys()) {\n\t\tconst snippet = this._toolPromptSnippets.get(name);\n\t\tif (snippet) {\n\t\t\ttoolSnippets[name] = snippet;\n\t\t}\n\t}\n\n\tconst loaderSystemPrompt = this._resourceLoader.getSystemPrompt();\n\tconst loaderAppendSystemPrompt = this._resourceLoader.getAppendSystemPrompt();\n\tconst appendSystemPrompt = loaderAppendSystemPrompt.length > 0 ? loaderAppendSystemPrompt.join(\"\\n\\n\") : undefined;\n\tconst loadedSkills = getSkillCatalog(this._resourceLoader).modelSkills();\n\tconst loadedContextFiles = this._resourceLoader.getAgentsFiles().agentsFiles;\n\n\tthis._baseSystemPromptOptions = normalizeBuildSystemPromptOptions({\n\t\tcwd: this._cwd,\n\t\tselectedModel: this.model,\n\t\tselectedThinkingLevel: this.thinkingLevel,\n\t\tskills: loadedSkills,\n\t\tcontextFiles: loadedContextFiles,\n\t\tcustomPrompt: loaderSystemPrompt,\n\t\tappendSystemPrompt,\n\t\tselectedTools: validToolNames,\n\t\thiddenTools: validToolNames.filter((name) => isToolDeclarationHidden(this, name)),\n\t\texcludedTools: this._excludedToolNames ? Array.from(this._excludedToolNames) : undefined,\n\t\ttoolSnippets,\n\t\ttoolGuidelines: Object.fromEntries(this._toolPromptGuidelines),\n\t});\n\tif (this._systemPromptTransform) {\n\t\tthis._baseSystemPromptOptions.forceSystemPrompt = this._systemPromptTransform(\n\t\t\tbuildSystemPrompt(this._baseSystemPromptOptions),\n\t\t);\n\t}\n}\n\nexport function _refreshBaseSystemPromptFromActiveTools(this: AgentSession): void {\n\tthis._rebuildSystemPrompt(this.getActiveToolNames());\n}\n\n/** Diff structured prompt state; executable tool changes are declared by the agent loop. */\nexport function _preparePromptAndToolLoadout(\n\tthis: AgentSession,\n\toptions: NormalizedBuildSystemPromptOptions,\n\tmessages: AgentMessage[] = this.agent.state.messages,\n): SystemMessage | undefined {\n\tconst current = getCurrentSystemMessage(messages);\n\tconst selected = [...new Set(options.selectedTools)].filter((name) => this._toolRegistry.has(name));\n\tconst recorded = (current?.toolsAdded ?? []).map((tool) => tool.name).filter((name) => selected.includes(name));\n\toptions.selectedTools = [...recorded, ...selected.filter((name) => !recorded.includes(name))];\n\toptions.selectedTools = applyToolLoadout(this, options.selectedTools).map((tool) => tool.name);\n\toptions.hiddenTools = options.selectedTools.filter((name) => isToolDeclarationHidden(this, name));\n\tconst sections = diffSystemPromptSections(current?.sections ?? {}, buildSystemPromptSections(options));\n\treturn sections ? { role: \"system\", content: \"\", sections, timestamp: Date.now() } : undefined;\n}\n\n/**\n * Restore registered tools from the selected transcript, not another branch's live state.\n *\n * `keepLoadout` is for a session whose creator already chose its loadout (every `createAgentSession`\n * does, from `--tools`, `--no-builtin-tools` and the `defaultTools` setting). That choice stays\n * authoritative for built-in tools, so only the other tools the transcript declared are added to it:\n * the ones an extension or `tool_search` activated, such as MCP tools that are not registered until\n * their server connects. Without it the transcript replaces the loadout.\n */\nexport function _restoreToolsFromTranscript(this: AgentSession, options?: { keepLoadout?: boolean }): void {\n\tthis._pendingToolNames.clear();\n\tconst current = getCurrentSystemMessage(this.sessionManager.buildSessionContext().messages);\n\tif (!current) return;\n\tconst declared = (current.toolsAdded ?? []).map((tool) => tool.name);\n\tif (!options?.keepLoadout) {\n\t\tthis._pendingToolNames = new Set(declared);\n\t\tthis._setActiveTools(declared);\n\t\treturn;\n\t}\n\tconst restored = declared.filter((name) => !this._baseToolDefinitions.has(name));\n\tthis._pendingToolNames = new Set(restored);\n\tthis._setActiveTools([...this.getActiveToolNames(), ...restored]);\n}\n\n// =========================================================================\n// Prompting\n// =========================================================================\n\n/**\n * Send a prompt to the agent.\n * - Handles extension commands (registered via pi.registerCommand) immediately, even during streaming\n * - Expands file-based prompt templates by default\n * - During streaming, queues via steer() or followUp() based on streamingBehavior option\n * - Validates model and API key before sending (when not streaming)\n * @throws Error if streaming and no streamingBehavior specified\n * @throws Error if no model selected or no API key available (when not streaming)\n */\n\nexport const agentSessionStateMethods = {\n\tgetActiveToolNames,\n\tgetCallableToolNames,\n\tgetAllTools,\n\tgetToolDefinition,\n\tgetToolStatus,\n\tsetActiveToolsByName,\n\t_setActiveTools,\n\tsetScopedModels,\n\t_normalizePromptSnippet,\n\t_normalizePromptGuidelines,\n\t_rebuildSystemPrompt,\n\t_preparePromptAndToolLoadout,\n\t_restoreToolsFromTranscript,\n\t_refreshBaseSystemPromptFromActiveTools,\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session-tool-registry.d.ts","sourceRoot":"","sources":["../../src/core/agent-session-tool-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,IAAI,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAiB9F,wBAAgB,oBAAoB,CACnC,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1E,IAAI,CAuHN;AAED,wBAAgB,aAAa,CAC5B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE;IACR,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;IAC3C,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,cAAc,CAAC,EAAE,OAAO,CAAC;CACzB,GACC,IAAI,CAmHN;AAED,eAAO,MAAM,+BAA+B;;;CAG3C,CAAC"}
1
+ {"version":3,"file":"agent-session-tool-registry.d.ts","sourceRoot":"","sources":["../../src/core/agent-session-tool-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,IAAI,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAiB9F,wBAAgB,oBAAoB,CACnC,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1E,IAAI,CAyHN;AAED,wBAAgB,aAAa,CAC5B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE;IACR,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;IAC3C,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,cAAc,CAAC,EAAE,OAAO,CAAC;CACzB,GACC,IAAI,CAmHN;AAED,eAAO,MAAM,+BAA+B;;;CAG3C,CAAC"}
@@ -4,7 +4,7 @@ import { isMandatoryRuntimeTool, isTrustedMandatoryRuntimeTool } from "./mandato
4
4
  import { isSelectedNativeMcpTool } from "./mcp-child-policy.js";
5
5
  import { ModelRegistry } from "./model-registry.js";
6
6
  import { createSyntheticSourceInfo } from "./source-info.js";
7
- import { isRegisteredToolAllowed } from "./tool-selection.js";
7
+ import { isRegisteredToolAllowed, activatesOnRegistration as toolActivatesOnRegistration } from "./tool-selection.js";
8
8
  import { createLocalBashOperations } from "./tools/bash.js";
9
9
  import { buildMutationRequester } from "./tools/file-mutation-coordinator.js";
10
10
  import { createAllToolDefinitions, getDefaultToolNames } from "./tools/index.js";
@@ -78,11 +78,7 @@ export function _refreshToolRegistry(options) {
78
78
  }
79
79
  this._toolRegistry = toolRegistry;
80
80
  const nextActiveToolNames = (options?.activeToolNames ? [...options.activeToolNames] : [...previousActiveToolNames]).filter((name) => isExposedTool(name) || selectedMcpNames.has(name));
81
- const activatesOnRegistration = (name) => {
82
- const definition = this._toolDefinitions.get(name)?.definition;
83
- const exposure = definition?.exposure ?? "direct";
84
- return definition?.defaultActive !== false && (exposure === "direct" || exposure === "model-only");
85
- };
81
+ const activatesOnRegistration = (name) => toolActivatesOnRegistration(this, name, this._toolDefinitions.get(name)?.definition, previousRegistryNames.has(name));
86
82
  if (allowedTools) {
87
83
  for (const toolName of this._toolRegistry.keys()) {
88
84
  const exposure = this._toolDefinitions.get(toolName)?.definition.exposure ?? "direct";
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session-tool-registry.js","sourceRoot":"","sources":["../../src/core/agent-session-tool-registry.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AgentTool } from \"@earendil-works/pi-agent-core\";\nimport type { AgentSessionInternalSurface as AgentSession } from \"./agent-session-methods.ts\";\nimport type { ToolDefinitionEntry } from \"./agent-session-types.js\";\nimport { hostInputError } from \"./extensions/host-input.js\";\nimport { ExtensionRunner, type ToolDefinition, wrapRegisteredTools } from \"./extensions/index.js\";\nimport { isMandatoryRuntimeTool, isTrustedMandatoryRuntimeTool } from \"./mandatory-runtime-tools.ts\";\nimport { isSelectedNativeMcpTool } from \"./mcp-child-policy.ts\";\nimport { ModelRegistry } from \"./model-registry.ts\";\nimport { createSyntheticSourceInfo } from \"./source-info.ts\";\nimport { isRegisteredToolAllowed } from \"./tool-selection.ts\";\nimport { createLocalBashOperations } from \"./tools/bash.js\";\nimport { buildMutationRequester } from \"./tools/file-mutation-coordinator.ts\";\nimport { createAllToolDefinitions, getDefaultToolNames } from \"./tools/index.js\";\nimport { createLocalPowerShellOperations } from \"./tools/powershell.ts\";\nimport { resolveSessionTempDirPath } from \"./tools/session-temp-dir.ts\";\nimport { scheduleToolExecution } from \"./tools/tool-concurrency.ts\";\nimport { createToolDefinitionFromAgentTool } from \"./tools/tool-definition-wrapper.ts\";\n\nexport function _refreshToolRegistry(\n\tthis: AgentSession,\n\toptions?: { activeToolNames?: string[]; includeAllExtensionTools?: boolean },\n): void {\n\tconst previousRegistryNames = new Set(this._toolRegistry.keys());\n\tconst previousActiveToolNames = this.getActiveToolNames();\n\tconst allowedTools = this._allowedTools;\n\tconst isExposedTool = (name: string): boolean => isRegisteredToolAllowed(this, name);\n\n\tconst registeredTools = this._extensionRunner\n\t\t.getAllRegisteredTools()\n\t\t.filter((tool) => !isMandatoryRuntimeTool(tool.definition.name) || isTrustedMandatoryRuntimeTool(tool));\n\tconst selectedMcpTools = new Set(\n\t\tregisteredTools.filter(\n\t\t\t(tool) => !this._excludedTools?.(tool.definition.name) && isSelectedNativeMcpTool(tool, this._subagentPolicy),\n\t\t),\n\t);\n\tconst selectedMcpNames = new Set([...selectedMcpTools].map((tool) => tool.definition.name));\n\tconst allCustomTools = [\n\t\t...registeredTools,\n\t\t...this._customTools\n\t\t\t.filter((definition) => !isMandatoryRuntimeTool(definition.name))\n\t\t\t.map((definition) => ({\n\t\t\t\tdefinition,\n\t\t\t\tsourceInfo: createSyntheticSourceInfo(`<sdk:${definition.name}>`, { source: \"sdk\" }),\n\t\t\t})),\n\t].filter((tool) => isExposedTool(tool.definition.name) || selectedMcpTools.has(tool));\n\tconst definitionRegistry = new Map<string, ToolDefinitionEntry>(\n\t\tArray.from(this._baseToolDefinitions.entries())\n\t\t\t.filter(([name]) => isExposedTool(name))\n\t\t\t.map(([name, definition]) => [\n\t\t\t\tname,\n\t\t\t\t{\n\t\t\t\t\tdefinition,\n\t\t\t\t\tsourceInfo: createSyntheticSourceInfo(`<builtin:${name}>`, { source: \"builtin\" }),\n\t\t\t\t},\n\t\t\t]),\n\t);\n\tfor (const tool of allCustomTools) {\n\t\tdefinitionRegistry.set(tool.definition.name, {\n\t\t\tdefinition: tool.definition,\n\t\t\tsourceInfo: tool.sourceInfo,\n\t\t});\n\t}\n\tthis._toolDefinitions = definitionRegistry;\n\tthis._toolPromptSnippets = new Map(\n\t\tArray.from(definitionRegistry.values())\n\t\t\t.map(({ definition }) => {\n\t\t\t\tconst snippet = this._normalizePromptSnippet(definition.promptSnippet);\n\t\t\t\treturn snippet ? ([definition.name, snippet] as const) : undefined;\n\t\t\t})\n\t\t\t.filter((entry): entry is readonly [string, string] => entry !== undefined),\n\t);\n\tthis._toolPromptGuidelines = new Map(\n\t\tArray.from(definitionRegistry.values())\n\t\t\t.map(({ definition }) => {\n\t\t\t\tconst guidelines = this._normalizePromptGuidelines(definition.promptGuidelines);\n\t\t\t\treturn guidelines.length > 0 ? ([definition.name, guidelines] as const) : undefined;\n\t\t\t})\n\t\t\t.filter((entry): entry is readonly [string, string[]] => entry !== undefined),\n\t);\n\tconst runner = this._extensionRunner;\n\tconst wrappedExtensionTools = wrapRegisteredTools(allCustomTools, runner);\n\tconst wrappedBuiltInTools = wrapRegisteredTools(\n\t\tArray.from(this._baseToolDefinitions.values())\n\t\t\t.filter((definition) => isExposedTool(definition.name))\n\t\t\t.map((definition) => ({\n\t\t\t\tdefinition,\n\t\t\t\tsourceInfo: createSyntheticSourceInfo(`<builtin:${definition.name}>`, { source: \"builtin\" }),\n\t\t\t})),\n\t\trunner,\n\t);\n\n\tconst toolRegistry = new Map<string, AgentTool>();\n\tfor (const tool of [...wrappedBuiltInTools, ...(wrappedExtensionTools as AgentTool[])]) {\n\t\tconst abortError =\n\t\t\t!this._baseToolsOverride && tool.name === \"ask_user_question\" && wrappedBuiltInTools.includes(tool)\n\t\t\t\t? () =>\n\t\t\t\t\t\trunner.createContext().hasHumanInput\n\t\t\t\t\t\t\t? hostInputError(\"HumanInputCancelled\")\n\t\t\t\t\t\t\t: new Error(\"Operation aborted\")\n\t\t\t\t: undefined;\n\t\ttoolRegistry.set(tool.name, scheduleToolExecution(tool, this._toolExecutionScheduler, abortError));\n\t}\n\tthis._toolRegistry = toolRegistry;\n\n\tconst nextActiveToolNames = (\n\t\toptions?.activeToolNames ? [...options.activeToolNames] : [...previousActiveToolNames]\n\t).filter((name) => isExposedTool(name) || selectedMcpNames.has(name));\n\n\tconst activatesOnRegistration = (name: string): boolean => {\n\t\tconst definition = this._toolDefinitions.get(name)?.definition;\n\t\tconst exposure = definition?.exposure ?? \"direct\";\n\t\treturn definition?.defaultActive !== false && (exposure === \"direct\" || exposure === \"model-only\");\n\t};\n\tif (allowedTools) {\n\t\tfor (const toolName of this._toolRegistry.keys()) {\n\t\t\tconst exposure = this._toolDefinitions.get(toolName)?.definition.exposure ?? \"direct\";\n\t\t\tif (\n\t\t\t\t(allowedTools(toolName) && (exposure === \"direct\" || exposure === \"model-only\")) ||\n\t\t\t\t(selectedMcpNames.has(toolName) && activatesOnRegistration(toolName))\n\t\t\t) {\n\t\t\t\tnextActiveToolNames.push(toolName);\n\t\t\t}\n\t\t}\n\t} else if (options?.includeAllExtensionTools) {\n\t\tfor (const tool of wrappedExtensionTools) {\n\t\t\tif (activatesOnRegistration(tool.name)) nextActiveToolNames.push(tool.name);\n\t\t}\n\t} else if (!options?.activeToolNames) {\n\t\tfor (const toolName of this._toolRegistry.keys()) {\n\t\t\tif (!previousRegistryNames.has(toolName) && activatesOnRegistration(toolName)) {\n\t\t\t\tnextActiveToolNames.push(toolName);\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (const name of this._pendingToolNames) {\n\t\tif (isExposedTool(name) || selectedMcpNames.has(name)) nextActiveToolNames.push(name);\n\t}\n\n\tthis._setActiveTools([...new Set(nextActiveToolNames)]);\n}\n\nexport function _buildRuntime(\n\tthis: AgentSession,\n\toptions: {\n\t\tactiveToolNames?: string[];\n\t\tflagValues?: Map<string, boolean | string>;\n\t\tincludeAllExtensionTools?: boolean;\n\t\tpreserveRunner?: boolean;\n\t},\n): void {\n\tconst autoResizeImages = this.settingsManager.getImageAutoResize();\n\tconst shellCommandPrefix = this.settingsManager.getShellCommandPrefix();\n\tconst shellPath = this.settingsManager.getShellPath();\n\tconst isAllowedBuiltinTool = (name: string): boolean => {\n\t\tif (this._allowedTools && !this._allowedTools(name)) return false;\n\t\tif (this._excludedTools?.(name)) return false;\n\t\treturn true;\n\t};\n\tconst activeBuiltinTools = (options.activeToolNames ?? [...getDefaultToolNames()]).filter(isAllowedBuiltinTool);\n\t// Resolve ownership per call, just like command execution. Each wait receives\n\t// a stable binding so observation cleanup can finish after session disposal.\n\t// Subagent children resolve their parent's owner, so their shells appear in its `/tasks`.\n\tconst getTaskOwner = () => this._getCommandTaskOwner();\n\tconst baseToolDefinitions = this._baseToolsOverride\n\t\t? Object.fromEntries(\n\t\t\t\tObject.entries(this._baseToolsOverride).map(([name, tool]) => [\n\t\t\t\t\tname,\n\t\t\t\t\tcreateToolDefinitionFromAgentTool(tool),\n\t\t\t\t]),\n\t\t\t)\n\t\t: createAllToolDefinitions(this._cwd, {\n\t\t\t\t// Resolved per execution for the same reason as `sessionTempDir` below: a\n\t\t\t\t// requester captured at construction would keep a stale session id across\n\t\t\t\t// fork/branch/resume, which is exactly the relaunch this makes legible.\n\t\t\t\tresolveMutationRequester: (toolCallId) =>\n\t\t\t\t\tbuildMutationRequester({\n\t\t\t\t\t\tsessionId: this.sessionManager.getSessionId(),\n\t\t\t\t\t\t...(this._orchestrationContext ? { orchestration: this._orchestrationContext } : {}),\n\t\t\t\t\t\t...(this._subagentPolicy?.intercom ? { intercom: this._subagentPolicy.intercom } : {}),\n\t\t\t\t\t\ttoolCallId,\n\t\t\t\t\t}),\n\t\t\t\tread: { autoResizeImages },\n\t\t\t\tbash: {\n\t\t\t\t\tcommandPrefix: shellCommandPrefix,\n\t\t\t\t\tshellPath,\n\t\t\t\t\tget taskOwner() {\n\t\t\t\t\t\treturn getTaskOwner();\n\t\t\t\t\t},\n\t\t\t\t\toperations: {\n\t\t\t\t\t\texec: (command, cwd, options) =>\n\t\t\t\t\t\t\tcreateLocalBashOperations({ shellPath, taskOwner: getTaskOwner() }).exec(command, cwd, options),\n\t\t\t\t\t},\n\t\t\t\t\tinterceptorEnabled: () => this.settingsManager.getBashInterceptorEnabled(),\n\t\t\t\t\tavailableTools: activeBuiltinTools,\n\t\t\t\t\t// Resolved per execution so bash spill files follow the live\n\t\t\t\t\t// transcript session across fork/branch/resume.\n\t\t\t\t\tsessionTempDir: () => resolveSessionTempDirPath(this.sessionManager.getSessionId()),\n\t\t\t\t\tinterceptor: async (context) => {\n\t\t\t\t\t\tconst result = await this._extensionRunner.emitUserBash({\n\t\t\t\t\t\t\ttype: \"user_bash\",\n\t\t\t\t\t\t\tcommand: context.command,\n\t\t\t\t\t\t\texcludeFromContext: false,\n\t\t\t\t\t\t\tcwd: context.cwd,\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tpowershell: {\n\t\t\t\t\tget taskOwner() {\n\t\t\t\t\t\treturn getTaskOwner();\n\t\t\t\t\t},\n\t\t\t\t\toperations: {\n\t\t\t\t\t\texec: (command, cwd, options) =>\n\t\t\t\t\t\t\tcreateLocalPowerShellOperations({ taskOwner: getTaskOwner() }).exec(command, cwd, options),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tkill: {\n\t\t\t\t\ttaskOwner: getTaskOwner,\n\t\t\t\t},\n\t\t\t\tsearch: {\n\t\t\t\t\tcontextBefore: this.settingsManager.getSearchContextBefore(),\n\t\t\t\t\tcontextAfter: this.settingsManager.getSearchContextAfter(),\n\t\t\t\t},\n\t\t\t});\n\n\tthis._baseToolDefinitions = new Map(\n\t\tObject.entries(baseToolDefinitions).map(([name, tool]) => [name, tool as ToolDefinition]),\n\t);\n\n\tconst extensionsResult = this._resourceLoader.getExtensions();\n\tif (options.flagValues) {\n\t\tfor (const [name, value] of options.flagValues) {\n\t\t\textensionsResult.runtime.flagValues.set(name, value);\n\t\t\textensionsResult.runtime.explicitFlagNames ??= new Set();\n\t\t\textensionsResult.runtime.explicitFlagNames.add(name);\n\t\t}\n\t}\n\n\tif (!options.preserveRunner) {\n\t\tthis._extensionRunner = new ExtensionRunner(\n\t\t\textensionsResult.extensions,\n\t\t\textensionsResult.runtime,\n\t\t\tthis._cwd,\n\t\t\tthis.sessionManager,\n\t\t\tnew ModelRegistry(this._modelRuntime),\n\t\t\tthis._orchestrationContext,\n\t\t\tthis._subagentPolicy,\n\t\t);\n\t\tif (this._extensionRunnerRef) {\n\t\t\tthis._extensionRunnerRef.current = this._extensionRunner;\n\t\t}\n\t\tthis._bindExtensionCore(this._extensionRunner);\n\t\tthis._applyExtensionBindings(this._extensionRunner);\n\t\tthis._workflows?.rebindObservers();\n\t}\n\n\tconst defaultActiveToolNames = this._baseToolsOverride\n\t\t? Object.keys(this._baseToolsOverride)\n\t\t: [...getDefaultToolNames()];\n\tconst baseActiveToolNames = options.activeToolNames ?? defaultActiveToolNames;\n\tthis._refreshToolRegistry({\n\t\tactiveToolNames: baseActiveToolNames,\n\t\tincludeAllExtensionTools: options.includeAllExtensionTools,\n\t});\n}\n\nexport const agentSessionToolRegistryMethods = {\n\t_refreshToolRegistry,\n\t_buildRuntime,\n};\n"]}
1
+ {"version":3,"file":"agent-session-tool-registry.js","sourceRoot":"","sources":["../../src/core/agent-session-tool-registry.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AgentTool } from \"@earendil-works/pi-agent-core\";\nimport type { AgentSessionInternalSurface as AgentSession } from \"./agent-session-methods.ts\";\nimport type { ToolDefinitionEntry } from \"./agent-session-types.js\";\nimport { hostInputError } from \"./extensions/host-input.js\";\nimport { ExtensionRunner, type ToolDefinition, wrapRegisteredTools } from \"./extensions/index.js\";\nimport { isMandatoryRuntimeTool, isTrustedMandatoryRuntimeTool } from \"./mandatory-runtime-tools.ts\";\nimport { isSelectedNativeMcpTool } from \"./mcp-child-policy.ts\";\nimport { ModelRegistry } from \"./model-registry.ts\";\nimport { createSyntheticSourceInfo } from \"./source-info.ts\";\nimport { isRegisteredToolAllowed, activatesOnRegistration as toolActivatesOnRegistration } from \"./tool-selection.ts\";\nimport { createLocalBashOperations } from \"./tools/bash.js\";\nimport { buildMutationRequester } from \"./tools/file-mutation-coordinator.ts\";\nimport { createAllToolDefinitions, getDefaultToolNames } from \"./tools/index.js\";\nimport { createLocalPowerShellOperations } from \"./tools/powershell.ts\";\nimport { resolveSessionTempDirPath } from \"./tools/session-temp-dir.ts\";\nimport { scheduleToolExecution } from \"./tools/tool-concurrency.ts\";\nimport { createToolDefinitionFromAgentTool } from \"./tools/tool-definition-wrapper.ts\";\n\nexport function _refreshToolRegistry(\n\tthis: AgentSession,\n\toptions?: { activeToolNames?: string[]; includeAllExtensionTools?: boolean },\n): void {\n\tconst previousRegistryNames = new Set(this._toolRegistry.keys());\n\tconst previousActiveToolNames = this.getActiveToolNames();\n\tconst allowedTools = this._allowedTools;\n\tconst isExposedTool = (name: string): boolean => isRegisteredToolAllowed(this, name);\n\n\tconst registeredTools = this._extensionRunner\n\t\t.getAllRegisteredTools()\n\t\t.filter((tool) => !isMandatoryRuntimeTool(tool.definition.name) || isTrustedMandatoryRuntimeTool(tool));\n\tconst selectedMcpTools = new Set(\n\t\tregisteredTools.filter(\n\t\t\t(tool) => !this._excludedTools?.(tool.definition.name) && isSelectedNativeMcpTool(tool, this._subagentPolicy),\n\t\t),\n\t);\n\tconst selectedMcpNames = new Set([...selectedMcpTools].map((tool) => tool.definition.name));\n\tconst allCustomTools = [\n\t\t...registeredTools,\n\t\t...this._customTools\n\t\t\t.filter((definition) => !isMandatoryRuntimeTool(definition.name))\n\t\t\t.map((definition) => ({\n\t\t\t\tdefinition,\n\t\t\t\tsourceInfo: createSyntheticSourceInfo(`<sdk:${definition.name}>`, { source: \"sdk\" }),\n\t\t\t})),\n\t].filter((tool) => isExposedTool(tool.definition.name) || selectedMcpTools.has(tool));\n\tconst definitionRegistry = new Map<string, ToolDefinitionEntry>(\n\t\tArray.from(this._baseToolDefinitions.entries())\n\t\t\t.filter(([name]) => isExposedTool(name))\n\t\t\t.map(([name, definition]) => [\n\t\t\t\tname,\n\t\t\t\t{\n\t\t\t\t\tdefinition,\n\t\t\t\t\tsourceInfo: createSyntheticSourceInfo(`<builtin:${name}>`, { source: \"builtin\" }),\n\t\t\t\t},\n\t\t\t]),\n\t);\n\tfor (const tool of allCustomTools) {\n\t\tdefinitionRegistry.set(tool.definition.name, {\n\t\t\tdefinition: tool.definition,\n\t\t\tsourceInfo: tool.sourceInfo,\n\t\t});\n\t}\n\tthis._toolDefinitions = definitionRegistry;\n\tthis._toolPromptSnippets = new Map(\n\t\tArray.from(definitionRegistry.values())\n\t\t\t.map(({ definition }) => {\n\t\t\t\tconst snippet = this._normalizePromptSnippet(definition.promptSnippet);\n\t\t\t\treturn snippet ? ([definition.name, snippet] as const) : undefined;\n\t\t\t})\n\t\t\t.filter((entry): entry is readonly [string, string] => entry !== undefined),\n\t);\n\tthis._toolPromptGuidelines = new Map(\n\t\tArray.from(definitionRegistry.values())\n\t\t\t.map(({ definition }) => {\n\t\t\t\tconst guidelines = this._normalizePromptGuidelines(definition.promptGuidelines);\n\t\t\t\treturn guidelines.length > 0 ? ([definition.name, guidelines] as const) : undefined;\n\t\t\t})\n\t\t\t.filter((entry): entry is readonly [string, string[]] => entry !== undefined),\n\t);\n\tconst runner = this._extensionRunner;\n\tconst wrappedExtensionTools = wrapRegisteredTools(allCustomTools, runner);\n\tconst wrappedBuiltInTools = wrapRegisteredTools(\n\t\tArray.from(this._baseToolDefinitions.values())\n\t\t\t.filter((definition) => isExposedTool(definition.name))\n\t\t\t.map((definition) => ({\n\t\t\t\tdefinition,\n\t\t\t\tsourceInfo: createSyntheticSourceInfo(`<builtin:${definition.name}>`, { source: \"builtin\" }),\n\t\t\t})),\n\t\trunner,\n\t);\n\n\tconst toolRegistry = new Map<string, AgentTool>();\n\tfor (const tool of [...wrappedBuiltInTools, ...(wrappedExtensionTools as AgentTool[])]) {\n\t\tconst abortError =\n\t\t\t!this._baseToolsOverride && tool.name === \"ask_user_question\" && wrappedBuiltInTools.includes(tool)\n\t\t\t\t? () =>\n\t\t\t\t\t\trunner.createContext().hasHumanInput\n\t\t\t\t\t\t\t? hostInputError(\"HumanInputCancelled\")\n\t\t\t\t\t\t\t: new Error(\"Operation aborted\")\n\t\t\t\t: undefined;\n\t\ttoolRegistry.set(tool.name, scheduleToolExecution(tool, this._toolExecutionScheduler, abortError));\n\t}\n\tthis._toolRegistry = toolRegistry;\n\n\tconst nextActiveToolNames = (\n\t\toptions?.activeToolNames ? [...options.activeToolNames] : [...previousActiveToolNames]\n\t).filter((name) => isExposedTool(name) || selectedMcpNames.has(name));\n\n\tconst activatesOnRegistration = (name: string): boolean =>\n\t\ttoolActivatesOnRegistration(\n\t\t\tthis,\n\t\t\tname,\n\t\t\tthis._toolDefinitions.get(name)?.definition,\n\t\t\tpreviousRegistryNames.has(name),\n\t\t);\n\tif (allowedTools) {\n\t\tfor (const toolName of this._toolRegistry.keys()) {\n\t\t\tconst exposure = this._toolDefinitions.get(toolName)?.definition.exposure ?? \"direct\";\n\t\t\tif (\n\t\t\t\t(allowedTools(toolName) && (exposure === \"direct\" || exposure === \"model-only\")) ||\n\t\t\t\t(selectedMcpNames.has(toolName) && activatesOnRegistration(toolName))\n\t\t\t) {\n\t\t\t\tnextActiveToolNames.push(toolName);\n\t\t\t}\n\t\t}\n\t} else if (options?.includeAllExtensionTools) {\n\t\tfor (const tool of wrappedExtensionTools) {\n\t\t\tif (activatesOnRegistration(tool.name)) nextActiveToolNames.push(tool.name);\n\t\t}\n\t} else if (!options?.activeToolNames) {\n\t\tfor (const toolName of this._toolRegistry.keys()) {\n\t\t\tif (!previousRegistryNames.has(toolName) && activatesOnRegistration(toolName)) {\n\t\t\t\tnextActiveToolNames.push(toolName);\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (const name of this._pendingToolNames) {\n\t\tif (isExposedTool(name) || selectedMcpNames.has(name)) nextActiveToolNames.push(name);\n\t}\n\n\tthis._setActiveTools([...new Set(nextActiveToolNames)]);\n}\n\nexport function _buildRuntime(\n\tthis: AgentSession,\n\toptions: {\n\t\tactiveToolNames?: string[];\n\t\tflagValues?: Map<string, boolean | string>;\n\t\tincludeAllExtensionTools?: boolean;\n\t\tpreserveRunner?: boolean;\n\t},\n): void {\n\tconst autoResizeImages = this.settingsManager.getImageAutoResize();\n\tconst shellCommandPrefix = this.settingsManager.getShellCommandPrefix();\n\tconst shellPath = this.settingsManager.getShellPath();\n\tconst isAllowedBuiltinTool = (name: string): boolean => {\n\t\tif (this._allowedTools && !this._allowedTools(name)) return false;\n\t\tif (this._excludedTools?.(name)) return false;\n\t\treturn true;\n\t};\n\tconst activeBuiltinTools = (options.activeToolNames ?? [...getDefaultToolNames()]).filter(isAllowedBuiltinTool);\n\t// Resolve ownership per call, just like command execution. Each wait receives\n\t// a stable binding so observation cleanup can finish after session disposal.\n\t// Subagent children resolve their parent's owner, so their shells appear in its `/tasks`.\n\tconst getTaskOwner = () => this._getCommandTaskOwner();\n\tconst baseToolDefinitions = this._baseToolsOverride\n\t\t? Object.fromEntries(\n\t\t\t\tObject.entries(this._baseToolsOverride).map(([name, tool]) => [\n\t\t\t\t\tname,\n\t\t\t\t\tcreateToolDefinitionFromAgentTool(tool),\n\t\t\t\t]),\n\t\t\t)\n\t\t: createAllToolDefinitions(this._cwd, {\n\t\t\t\t// Resolved per execution for the same reason as `sessionTempDir` below: a\n\t\t\t\t// requester captured at construction would keep a stale session id across\n\t\t\t\t// fork/branch/resume, which is exactly the relaunch this makes legible.\n\t\t\t\tresolveMutationRequester: (toolCallId) =>\n\t\t\t\t\tbuildMutationRequester({\n\t\t\t\t\t\tsessionId: this.sessionManager.getSessionId(),\n\t\t\t\t\t\t...(this._orchestrationContext ? { orchestration: this._orchestrationContext } : {}),\n\t\t\t\t\t\t...(this._subagentPolicy?.intercom ? { intercom: this._subagentPolicy.intercom } : {}),\n\t\t\t\t\t\ttoolCallId,\n\t\t\t\t\t}),\n\t\t\t\tread: { autoResizeImages },\n\t\t\t\tbash: {\n\t\t\t\t\tcommandPrefix: shellCommandPrefix,\n\t\t\t\t\tshellPath,\n\t\t\t\t\tget taskOwner() {\n\t\t\t\t\t\treturn getTaskOwner();\n\t\t\t\t\t},\n\t\t\t\t\toperations: {\n\t\t\t\t\t\texec: (command, cwd, options) =>\n\t\t\t\t\t\t\tcreateLocalBashOperations({ shellPath, taskOwner: getTaskOwner() }).exec(command, cwd, options),\n\t\t\t\t\t},\n\t\t\t\t\tinterceptorEnabled: () => this.settingsManager.getBashInterceptorEnabled(),\n\t\t\t\t\tavailableTools: activeBuiltinTools,\n\t\t\t\t\t// Resolved per execution so bash spill files follow the live\n\t\t\t\t\t// transcript session across fork/branch/resume.\n\t\t\t\t\tsessionTempDir: () => resolveSessionTempDirPath(this.sessionManager.getSessionId()),\n\t\t\t\t\tinterceptor: async (context) => {\n\t\t\t\t\t\tconst result = await this._extensionRunner.emitUserBash({\n\t\t\t\t\t\t\ttype: \"user_bash\",\n\t\t\t\t\t\t\tcommand: context.command,\n\t\t\t\t\t\t\texcludeFromContext: false,\n\t\t\t\t\t\t\tcwd: context.cwd,\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tpowershell: {\n\t\t\t\t\tget taskOwner() {\n\t\t\t\t\t\treturn getTaskOwner();\n\t\t\t\t\t},\n\t\t\t\t\toperations: {\n\t\t\t\t\t\texec: (command, cwd, options) =>\n\t\t\t\t\t\t\tcreateLocalPowerShellOperations({ taskOwner: getTaskOwner() }).exec(command, cwd, options),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tkill: {\n\t\t\t\t\ttaskOwner: getTaskOwner,\n\t\t\t\t},\n\t\t\t\tsearch: {\n\t\t\t\t\tcontextBefore: this.settingsManager.getSearchContextBefore(),\n\t\t\t\t\tcontextAfter: this.settingsManager.getSearchContextAfter(),\n\t\t\t\t},\n\t\t\t});\n\n\tthis._baseToolDefinitions = new Map(\n\t\tObject.entries(baseToolDefinitions).map(([name, tool]) => [name, tool as ToolDefinition]),\n\t);\n\n\tconst extensionsResult = this._resourceLoader.getExtensions();\n\tif (options.flagValues) {\n\t\tfor (const [name, value] of options.flagValues) {\n\t\t\textensionsResult.runtime.flagValues.set(name, value);\n\t\t\textensionsResult.runtime.explicitFlagNames ??= new Set();\n\t\t\textensionsResult.runtime.explicitFlagNames.add(name);\n\t\t}\n\t}\n\n\tif (!options.preserveRunner) {\n\t\tthis._extensionRunner = new ExtensionRunner(\n\t\t\textensionsResult.extensions,\n\t\t\textensionsResult.runtime,\n\t\t\tthis._cwd,\n\t\t\tthis.sessionManager,\n\t\t\tnew ModelRegistry(this._modelRuntime),\n\t\t\tthis._orchestrationContext,\n\t\t\tthis._subagentPolicy,\n\t\t);\n\t\tif (this._extensionRunnerRef) {\n\t\t\tthis._extensionRunnerRef.current = this._extensionRunner;\n\t\t}\n\t\tthis._bindExtensionCore(this._extensionRunner);\n\t\tthis._applyExtensionBindings(this._extensionRunner);\n\t\tthis._workflows?.rebindObservers();\n\t}\n\n\tconst defaultActiveToolNames = this._baseToolsOverride\n\t\t? Object.keys(this._baseToolsOverride)\n\t\t: [...getDefaultToolNames()];\n\tconst baseActiveToolNames = options.activeToolNames ?? defaultActiveToolNames;\n\tthis._refreshToolRegistry({\n\t\tactiveToolNames: baseActiveToolNames,\n\t\tincludeAllExtensionTools: options.includeAllExtensionTools,\n\t});\n}\n\nexport const agentSessionToolRegistryMethods = {\n\t_refreshToolRegistry,\n\t_buildRuntime,\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"builtin-resource-loader.d.ts","sourceRoot":"","sources":["../../src/core/builtin-resource-loader.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAEX,cAAc,EAGd,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAuRpD,wBAAsB,yBAAyB,CAC9C,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,EAClD,wBAAwB,UAAQ,GAC9B,OAAO,CAAC,cAAc,CAAC,CAWzB"}
1
+ {"version":3,"file":"builtin-resource-loader.d.ts","sourceRoot":"","sources":["../../src/core/builtin-resource-loader.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAEX,cAAc,EAGd,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AA8RpD,wBAAsB,yBAAyB,CAC9C,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,EAClD,wBAAwB,UAAQ,GAC9B,OAAO,CAAC,cAAc,CAAC,CAWzB"}
@@ -8,6 +8,7 @@ import { DefaultResourceLoader } from "./resource-loader.js";
8
8
  import { lifecycleScopeForOwner, sessionLifecycleCreation, sessionLifecycleScopes } from "./session-lifecycle-scope.js";
9
9
  import { SettingsManager } from "./settings-manager.js";
10
10
  import { buildSkillCatalog } from "./skill-catalog.js";
11
+ import { BUILTIN_PATH_PREFIX } from "./source-info.js";
11
12
  function canonical(path) {
12
13
  try {
13
14
  return realpathSync(path);
@@ -66,7 +67,14 @@ class BuiltinResourceLoader {
66
67
  const discovered = this.delegate.getExtensions();
67
68
  const scope = lifecycleScopeForOwner(this);
68
69
  const identities = new Set();
70
+ const inlineBuiltinPaths = new Set();
69
71
  const selected = discovered.extensions.filter((extension) => {
72
+ if (extension.path.startsWith(BUILTIN_PATH_PREFIX)) {
73
+ if (inlineBuiltinPaths.has(extension.path))
74
+ return false;
75
+ inlineBuiltinPaths.add(extension.path);
76
+ return true;
77
+ }
70
78
  if (this.isDisabledPath(extension.resolvedPath))
71
79
  return false;
72
80
  const path = canonical(extension.resolvedPath);