@code-yeongyu/senpi 2026.8.31 → 2026.9.2

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 (93) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/core/extensions/builtin/compaction/context-pipeline.d.ts +6 -0
  3. package/dist/core/extensions/builtin/compaction/context-pipeline.d.ts.map +1 -1
  4. package/dist/core/extensions/builtin/compaction/context-pipeline.js +11 -0
  5. package/dist/core/extensions/builtin/compaction/context-pipeline.js.map +1 -1
  6. package/dist/core/extensions/builtin/compaction/index.js +4 -4
  7. package/dist/core/extensions/builtin/compaction/index.js.map +1 -1
  8. package/dist/core/extensions/builtin/prompt-preset/claude-fable-5-1.d.ts +3 -0
  9. package/dist/core/extensions/builtin/prompt-preset/claude-fable-5-1.d.ts.map +1 -0
  10. package/dist/core/extensions/builtin/prompt-preset/claude-fable-5-1.js +108 -0
  11. package/dist/core/extensions/builtin/prompt-preset/claude-fable-5-1.js.map +1 -0
  12. package/dist/core/extensions/builtin/prompt-preset/presets.d.ts.map +1 -1
  13. package/dist/core/extensions/builtin/prompt-preset/presets.js +11 -0
  14. package/dist/core/extensions/builtin/prompt-preset/presets.js.map +1 -1
  15. package/dist/core/extensions/builtin/prompt-preset/settings.d.ts +1 -1
  16. package/dist/core/extensions/builtin/prompt-preset/settings.d.ts.map +1 -1
  17. package/dist/core/extensions/builtin/prompt-preset/settings.js +1 -0
  18. package/dist/core/extensions/builtin/prompt-preset/settings.js.map +1 -1
  19. package/dist/core/extensions/builtin/recommended-models/index.d.ts +1 -1
  20. package/dist/core/extensions/builtin/recommended-models/index.d.ts.map +1 -1
  21. package/dist/core/extensions/builtin/recommended-models/index.js +1 -1
  22. package/dist/core/extensions/builtin/recommended-models/index.js.map +1 -1
  23. package/dist/core/retry-fallback/settings.d.ts.map +1 -1
  24. package/dist/core/retry-fallback/settings.js +1 -0
  25. package/dist/core/retry-fallback/settings.js.map +1 -1
  26. package/dist/main.d.ts +4 -4
  27. package/dist/main.d.ts.map +1 -1
  28. package/dist/main.js +10 -6
  29. package/dist/main.js.map +1 -1
  30. package/dist/modes/app-server/daemon/process.d.ts +13 -2
  31. package/dist/modes/app-server/daemon/process.d.ts.map +1 -1
  32. package/dist/modes/app-server/daemon/process.js +58 -12
  33. package/dist/modes/app-server/daemon/process.js.map +1 -1
  34. package/dist/modes/app-server/daemon.js +62 -4
  35. package/dist/modes/app-server/daemon.js.map +1 -1
  36. package/dist/modes/interactive/interactive-mode.d.ts +11 -1
  37. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  38. package/dist/modes/interactive/interactive-mode.js +35 -6
  39. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  40. package/dist/modes/interactive/tips/catalog/ethos-tips.js +1 -1
  41. package/dist/modes/interactive/tips/catalog/ethos-tips.js.map +1 -1
  42. package/dist/modes/rpc/connection-handler.d.ts.map +1 -1
  43. package/dist/modes/rpc/connection-handler.js +8 -3
  44. package/dist/modes/rpc/connection-handler.js.map +1 -1
  45. package/dist/modes/rpc/custom-capability.d.ts +1 -0
  46. package/dist/modes/rpc/custom-capability.d.ts.map +1 -1
  47. package/dist/modes/rpc/custom-capability.js +1 -0
  48. package/dist/modes/rpc/custom-capability.js.map +1 -1
  49. package/dist/modes/rpc/host-ensure.d.ts.map +1 -1
  50. package/dist/modes/rpc/host-ensure.js +93 -17
  51. package/dist/modes/rpc/host-ensure.js.map +1 -1
  52. package/dist/modes/rpc/host-lifecycle.d.ts +15 -0
  53. package/dist/modes/rpc/host-lifecycle.d.ts.map +1 -1
  54. package/dist/modes/rpc/host-lifecycle.js +180 -55
  55. package/dist/modes/rpc/host-lifecycle.js.map +1 -1
  56. package/dist/modes/rpc/host-watchdog.d.ts +2 -2
  57. package/dist/modes/rpc/host-watchdog.d.ts.map +1 -1
  58. package/dist/modes/rpc/host-watchdog.js +89 -21
  59. package/dist/modes/rpc/host-watchdog.js.map +1 -1
  60. package/dist/modes/rpc/multi-session-host.d.ts.map +1 -1
  61. package/dist/modes/rpc/multi-session-host.js +94 -56
  62. package/dist/modes/rpc/multi-session-host.js.map +1 -1
  63. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  64. package/dist/modes/rpc/rpc-client.js +8 -1
  65. package/dist/modes/rpc/rpc-client.js.map +1 -1
  66. package/dist/modes/rpc/session-command-router.d.ts.map +1 -1
  67. package/dist/modes/rpc/session-command-router.js +7 -2
  68. package/dist/modes/rpc/session-command-router.js.map +1 -1
  69. package/dist/modes/rpc/socket-transport.d.ts +13 -0
  70. package/dist/modes/rpc/socket-transport.d.ts.map +1 -0
  71. package/dist/modes/rpc/socket-transport.js +92 -0
  72. package/dist/modes/rpc/socket-transport.js.map +1 -0
  73. package/docs/extensions.md +1 -1
  74. package/docs/rpc.md +5 -1
  75. package/docs/settings.md +4 -4
  76. package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +12 -0
  77. package/node_modules/@code-yeongyu/senpi-codemode/package.json +4 -4
  78. package/node_modules/@earendil-works/pi-agent-core/package.json +3 -3
  79. package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
  80. package/node_modules/@earendil-works/pi-ai/dist/providers/data/amazon-bedrock.json +1 -1
  81. package/node_modules/@earendil-works/pi-ai/dist/providers/data/anthropic.json +1 -1
  82. package/node_modules/@earendil-works/pi-ai/dist/providers/data/fireworks.json +1 -1
  83. package/node_modules/@earendil-works/pi-ai/dist/providers/data/google.json +1 -1
  84. package/node_modules/@earendil-works/pi-ai/dist/providers/data/groq.json +1 -1
  85. package/node_modules/@earendil-works/pi-ai/dist/providers/data/nvidia.json +1 -1
  86. package/node_modules/@earendil-works/pi-ai/dist/providers/data/opengateway.json +1 -1
  87. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
  88. package/node_modules/@earendil-works/pi-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
  89. package/node_modules/@earendil-works/pi-ai/package.json +2 -2
  90. package/node_modules/@earendil-works/pi-pty/package.json +1 -1
  91. package/node_modules/@earendil-works/pi-telemetry/package.json +1 -1
  92. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  93. package/package.json +7 -7
@@ -29,7 +29,7 @@ export const ETHOS_TIPS = [
29
29
  id: "ethos.ulw-plan-sage",
30
30
  bindings: [],
31
31
  requiresCommand: "tasks",
32
- render: () => "Try ulw-plan on fable-5 xhigh. A patient sage obsessed with the essence does the agonizing for you and fills in every blank you were pretending not to see.",
32
+ render: () => "Try ulw-plan on fable-5.1 xhigh. A patient sage obsessed with the essence does the agonizing for you and fills in every blank you were pretending not to see.",
33
33
  },
34
34
  {
35
35
  id: "ethos.ulw-loop-shallow",
@@ -1 +1 @@
1
- {"version":3,"file":"ethos-tips.js","sourceRoot":"","sources":["../../../../../src/modes/interactive/tips/catalog/ethos-tips.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjD,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB;QACC,EAAE,EAAE,yBAAyB;QAC7B,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,CACZ,0JAA0J;KAC3J;IACD;QACC,EAAE,EAAE,yBAAyB;QAC7B,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,CACZ,qIAAqI;KACtI;IACD;QACC,EAAE,EAAE,oBAAoB;QACxB,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,CACZ,+GAA+G;KAChH;IACD;QACC,EAAE,EAAE,oBAAoB;QACxB,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,CAAC,kFAAkF;KAChG;IACD;QACC,EAAE,EAAE,iBAAiB;QACrB,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,CACZ,4KAA4K;KAC7K;IACD;QACC,EAAE,EAAE,qBAAqB;QACzB,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,OAAO;QACxB,MAAM,EAAE,GAAG,EAAE,CACZ,6JAA6J;KAC9J;IACD;QACC,EAAE,EAAE,wBAAwB;QAC5B,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,OAAO;QACxB,MAAM,EAAE,GAAG,EAAE,CACZ,wIAAwI;KACzI;IACD;QACC,EAAE,EAAE,yBAAyB;QAC7B,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,CACZ,uMAAuM;KACxM;IACD;QACC,EAAE,EAAE,oBAAoB;QACxB,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,CACZ,8KAA8K;KAC/K;IACD;QACC,EAAE,EAAE,sBAAsB;QAC1B,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,CACZ,qNAAqN;KACtN;IACD;QACC,EAAE,EAAE,yBAAyB;QAC7B,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,CACZ,0DAA0D,QAAQ,wFAAwF;KAC3J;IACD;QACC,EAAE,EAAE,2BAA2B;QAC/B,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,CACZ,+DAA+D,QAAQ,0FAA0F;KAClK;IACD;QACC,EAAE,EAAE,4BAA4B;QAChC,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,CACZ,qLAAqL;KACtL;IACD;QACC,EAAE,EAAE,wBAAwB;QAC5B,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,CACZ,GAAG,QAAQ,mPAAmP;KAC/P;CACkC,CAAC","sourcesContent":["import { APP_NAME } from \"../../../../config.ts\";\nimport type { TipDefinition } from \"./types.ts\";\n\nexport const ETHOS_TIPS = [\n\t{\n\t\tid: \"ethos.tuning-discipline\",\n\t\tbindings: [],\n\t\trender: () =>\n\t\t\t\"gpt-5.6-sol used to turn a sprint into a marathon. We tuned the system prompt and killed that habit: 5-minute jobs take 5 minutes, 12-hour jobs take 12.\",\n\t},\n\t{\n\t\tid: \"ethos.tools-transparent\",\n\t\tbindings: [],\n\t\trender: () =>\n\t\t\t\"Don't study our tools. A tool that needs studying is a tool that failed. We just ride shotgun while you keep doing your actual job.\",\n\t},\n\t{\n\t\tid: \"ethos.only-harness\",\n\t\tbindings: [],\n\t\trender: () =>\n\t\t\t\"The only harness that actually knows how to drive gpt-5.6-sol. Same job, feels up to 30% faster. *we counted*\",\n\t},\n\t{\n\t\tid: \"ethos.spend-tokens\",\n\t\tbindings: [],\n\t\trender: () => \"Stop hoarding tokens. Spend them like they buy your hours back, because they do.\",\n\t},\n\t{\n\t\tid: \"ethos.deep-work\",\n\t\tbindings: [],\n\t\trender: () =>\n\t\t\t\"Using our tools means your work is already the deep, valuable kind. Keep your eyes on the essence of your craft. The rest is our problem now, and we're great at problems.\",\n\t},\n\t{\n\t\tid: \"ethos.ulw-plan-sage\",\n\t\tbindings: [],\n\t\trequiresCommand: \"tasks\",\n\t\trender: () =>\n\t\t\t\"Try ulw-plan on fable-5 xhigh. A patient sage obsessed with the essence does the agonizing for you and fills in every blank you were pretending not to see.\",\n\t},\n\t{\n\t\tid: \"ethos.ulw-loop-shallow\",\n\t\tbindings: [],\n\t\trequiresCommand: \"tasks\",\n\t\trender: () =>\n\t\t\t\"For days when deep thought sounds awful, run the ulw loop with gpt-5.6-sol fast/medium. Fair warning: shallow thinking sends invoices.\",\n\t},\n\t{\n\t\tid: \"ethos.monitor-subscribe\",\n\t\tbindings: [],\n\t\trender: () =>\n\t\t\t\"Subscribe to a command's stdout and forget it. CI finishes, server boots, log line lands... you're mid-edit and the news finds *you*. No sleep loops, no polling, no re-reading context like a chump.\",\n\t},\n\t{\n\t\tid: \"ethos.cache-budget\",\n\t\tbindings: [],\n\t\trender: () =>\n\t\t\t\"My harness knows the prompt cache's expiry to the second and never blocks past it. Cold re-read tax? *Refused on your behalf.* Other agents eat that cost, mine declines it.\",\n\t},\n\t{\n\t\tid: \"ethos.cache-hit-rate\",\n\t\tbindings: [],\n\t\trender: () =>\n\t\t\t\"Live cache-hit rate in the footer, plus a running tab of misses, idle gaps, and model swaps. I can point at the exact moment cache broke and why. Watching tokens you never re-pay stack up? Smug doesn't cover it.\",\n\t},\n\t{\n\t\tid: \"ethos.multimodal-vision\",\n\t\tbindings: [],\n\t\trender: () =>\n\t\t\t`Drop a screenshot, a PDF, a crusty whiteboard photo... ${APP_NAME} actually sees it, reads it, reasons about it. Your agent has eyes now. *Yes, really.*`,\n\t},\n\t{\n\t\tid: \"ethos.oauth-multi-account\",\n\t\tbindings: [],\n\t\trender: () =>\n\t\t\t`Hit a rate limit, switch accounts. Wrong org, switch again. ${APP_NAME} treats your Claude logins like a roster, not a single lifeline. *Env vars could never.*`,\n\t},\n\t{\n\t\tid: \"ethos.agent-sdk-foundation\",\n\t\tbindings: [],\n\t\trender: () =>\n\t\t\t'Built on the official agent SDK, speaking the protocol natively. No reverse-engineered wrapper, no ToS gray zone, no \"will I get banned for this\" anxiety. *Sleep easy, ship loud.*',\n\t},\n\t{\n\t\tid: \"ethos.tool-call-repair\",\n\t\tbindings: [],\n\t\trender: () =>\n\t\t\t`${APP_NAME} catches malformed tool calls on the wire, fixes them, and salvages the turn - claude's sloppy invokes, kimi k3's leaked XTML channels, all of it. Other harnesses retry the whole thing and bill you for the privilege. *table stakes, honestly*`,\n\t},\n] satisfies readonly TipDefinition[];\n"]}
1
+ {"version":3,"file":"ethos-tips.js","sourceRoot":"","sources":["../../../../../src/modes/interactive/tips/catalog/ethos-tips.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjD,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB;QACC,EAAE,EAAE,yBAAyB;QAC7B,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,CACZ,0JAA0J;KAC3J;IACD;QACC,EAAE,EAAE,yBAAyB;QAC7B,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,CACZ,qIAAqI;KACtI;IACD;QACC,EAAE,EAAE,oBAAoB;QACxB,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,CACZ,+GAA+G;KAChH;IACD;QACC,EAAE,EAAE,oBAAoB;QACxB,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,CAAC,kFAAkF;KAChG;IACD;QACC,EAAE,EAAE,iBAAiB;QACrB,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,CACZ,4KAA4K;KAC7K;IACD;QACC,EAAE,EAAE,qBAAqB;QACzB,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,OAAO;QACxB,MAAM,EAAE,GAAG,EAAE,CACZ,+JAA+J;KAChK;IACD;QACC,EAAE,EAAE,wBAAwB;QAC5B,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,OAAO;QACxB,MAAM,EAAE,GAAG,EAAE,CACZ,wIAAwI;KACzI;IACD;QACC,EAAE,EAAE,yBAAyB;QAC7B,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,CACZ,uMAAuM;KACxM;IACD;QACC,EAAE,EAAE,oBAAoB;QACxB,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,CACZ,8KAA8K;KAC/K;IACD;QACC,EAAE,EAAE,sBAAsB;QAC1B,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,CACZ,qNAAqN;KACtN;IACD;QACC,EAAE,EAAE,yBAAyB;QAC7B,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,CACZ,0DAA0D,QAAQ,wFAAwF;KAC3J;IACD;QACC,EAAE,EAAE,2BAA2B;QAC/B,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,CACZ,+DAA+D,QAAQ,0FAA0F;KAClK;IACD;QACC,EAAE,EAAE,4BAA4B;QAChC,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,CACZ,qLAAqL;KACtL;IACD;QACC,EAAE,EAAE,wBAAwB;QAC5B,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,CACZ,GAAG,QAAQ,mPAAmP;KAC/P;CACkC,CAAC","sourcesContent":["import { APP_NAME } from \"../../../../config.ts\";\nimport type { TipDefinition } from \"./types.ts\";\n\nexport const ETHOS_TIPS = [\n\t{\n\t\tid: \"ethos.tuning-discipline\",\n\t\tbindings: [],\n\t\trender: () =>\n\t\t\t\"gpt-5.6-sol used to turn a sprint into a marathon. We tuned the system prompt and killed that habit: 5-minute jobs take 5 minutes, 12-hour jobs take 12.\",\n\t},\n\t{\n\t\tid: \"ethos.tools-transparent\",\n\t\tbindings: [],\n\t\trender: () =>\n\t\t\t\"Don't study our tools. A tool that needs studying is a tool that failed. We just ride shotgun while you keep doing your actual job.\",\n\t},\n\t{\n\t\tid: \"ethos.only-harness\",\n\t\tbindings: [],\n\t\trender: () =>\n\t\t\t\"The only harness that actually knows how to drive gpt-5.6-sol. Same job, feels up to 30% faster. *we counted*\",\n\t},\n\t{\n\t\tid: \"ethos.spend-tokens\",\n\t\tbindings: [],\n\t\trender: () => \"Stop hoarding tokens. Spend them like they buy your hours back, because they do.\",\n\t},\n\t{\n\t\tid: \"ethos.deep-work\",\n\t\tbindings: [],\n\t\trender: () =>\n\t\t\t\"Using our tools means your work is already the deep, valuable kind. Keep your eyes on the essence of your craft. The rest is our problem now, and we're great at problems.\",\n\t},\n\t{\n\t\tid: \"ethos.ulw-plan-sage\",\n\t\tbindings: [],\n\t\trequiresCommand: \"tasks\",\n\t\trender: () =>\n\t\t\t\"Try ulw-plan on fable-5.1 xhigh. A patient sage obsessed with the essence does the agonizing for you and fills in every blank you were pretending not to see.\",\n\t},\n\t{\n\t\tid: \"ethos.ulw-loop-shallow\",\n\t\tbindings: [],\n\t\trequiresCommand: \"tasks\",\n\t\trender: () =>\n\t\t\t\"For days when deep thought sounds awful, run the ulw loop with gpt-5.6-sol fast/medium. Fair warning: shallow thinking sends invoices.\",\n\t},\n\t{\n\t\tid: \"ethos.monitor-subscribe\",\n\t\tbindings: [],\n\t\trender: () =>\n\t\t\t\"Subscribe to a command's stdout and forget it. CI finishes, server boots, log line lands... you're mid-edit and the news finds *you*. No sleep loops, no polling, no re-reading context like a chump.\",\n\t},\n\t{\n\t\tid: \"ethos.cache-budget\",\n\t\tbindings: [],\n\t\trender: () =>\n\t\t\t\"My harness knows the prompt cache's expiry to the second and never blocks past it. Cold re-read tax? *Refused on your behalf.* Other agents eat that cost, mine declines it.\",\n\t},\n\t{\n\t\tid: \"ethos.cache-hit-rate\",\n\t\tbindings: [],\n\t\trender: () =>\n\t\t\t\"Live cache-hit rate in the footer, plus a running tab of misses, idle gaps, and model swaps. I can point at the exact moment cache broke and why. Watching tokens you never re-pay stack up? Smug doesn't cover it.\",\n\t},\n\t{\n\t\tid: \"ethos.multimodal-vision\",\n\t\tbindings: [],\n\t\trender: () =>\n\t\t\t`Drop a screenshot, a PDF, a crusty whiteboard photo... ${APP_NAME} actually sees it, reads it, reasons about it. Your agent has eyes now. *Yes, really.*`,\n\t},\n\t{\n\t\tid: \"ethos.oauth-multi-account\",\n\t\tbindings: [],\n\t\trender: () =>\n\t\t\t`Hit a rate limit, switch accounts. Wrong org, switch again. ${APP_NAME} treats your Claude logins like a roster, not a single lifeline. *Env vars could never.*`,\n\t},\n\t{\n\t\tid: \"ethos.agent-sdk-foundation\",\n\t\tbindings: [],\n\t\trender: () =>\n\t\t\t'Built on the official agent SDK, speaking the protocol natively. No reverse-engineered wrapper, no ToS gray zone, no \"will I get banned for this\" anxiety. *Sleep easy, ship loud.*',\n\t},\n\t{\n\t\tid: \"ethos.tool-call-repair\",\n\t\tbindings: [],\n\t\trender: () =>\n\t\t\t`${APP_NAME} catches malformed tool calls on the wire, fixes them, and salvages the turn - claude's sloppy invokes, kimi k3's leaked XTML channels, all of it. Other harnesses retry the whole thing and bill you for the privilege. *table stakes, honestly*`,\n\t},\n] satisfies readonly TipDefinition[];\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"connection-handler.d.ts","sourceRoot":"","sources":["../../../src/modes/rpc/connection-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAOH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AA8B/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAaxE,OAAO,KAAK,EAYX,eAAe,EAEf,MAAM,gBAAgB,CAAC;AAKxB,kFAAkF;AAClF,MAAM,WAAW,oBAAoB;IACpC,mFAAmF;IACnF,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,0DAA0D;IAC1D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,kBAAkB,CAAC;IAC1E,WAAW,CAAC,EAAE;QACb,QAAQ,EAAE,MAAM,MAAM,CAAC;QACvB,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACpE,UAAU,EAAE,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;QACvD,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,EAAE,SAAS,MAAM,EAAE,KAAK,IAAI,CAAC;QAC9F,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;QACvD,YAAY,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;QACvC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;KACtB,CAAC;CACF;AAWD,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACpC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,sEAAsE;IACtE,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,kBAAkB,IAAI,IAAI,CAAC;IAC3B;;;OAGG;IACH,mBAAmB,IAAI,OAAO,CAAC;IAC/B,4EAA4E;IAC5E,gCAAgC,IAAI,IAAI,CAAC;IACzC,iFAAiF;IACjF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AA4BD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,eAAe,CAAC,EAAE,gBAAgB,GAAG,eAAe,CAkD/G;AA4BD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACzC,WAAW,EAAE,mBAAmB,EAChC,IAAI,EAAE,iBAAiB,EACvB,OAAO,GAAE,oBAAyB,GAChC,oBAAoB,CAi3CtB"}
1
+ {"version":3,"file":"connection-handler.d.ts","sourceRoot":"","sources":["../../../src/modes/rpc/connection-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAOH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AA8B/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAcxE,OAAO,KAAK,EAYX,eAAe,EAEf,MAAM,gBAAgB,CAAC;AAKxB,kFAAkF;AAClF,MAAM,WAAW,oBAAoB;IACpC,mFAAmF;IACnF,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,0DAA0D;IAC1D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,kBAAkB,CAAC;IAC1E,WAAW,CAAC,EAAE;QACb,QAAQ,EAAE,MAAM,MAAM,CAAC;QACvB,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACpE,UAAU,EAAE,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;QACvD,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,EAAE,SAAS,MAAM,EAAE,KAAK,IAAI,CAAC;QAC9F,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;QACvD,YAAY,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;QACvC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;KACtB,CAAC;CACF;AAWD,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACpC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,sEAAsE;IACtE,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,kBAAkB,IAAI,IAAI,CAAC;IAC3B;;;OAGG;IACH,mBAAmB,IAAI,OAAO,CAAC;IAC/B,4EAA4E;IAC5E,gCAAgC,IAAI,IAAI,CAAC;IACzC,iFAAiF;IACjF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AA4BD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,eAAe,CAAC,EAAE,gBAAgB,GAAG,eAAe,CAkD/G;AA4BD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACzC,WAAW,EAAE,mBAAmB,EAChC,IAAI,EAAE,iBAAiB,EACvB,OAAO,GAAE,oBAAyB,GAChC,oBAAoB,CAs3CtB"}
@@ -28,7 +28,7 @@ import { FooterDataProvider } from "../../core/footer-data-provider.js";
28
28
  import { getSupportedThinkingLevels } from "../../core/thinking-levels.js";
29
29
  import { ProjectTrustStore } from "../../core/trust-manager.js";
30
30
  import { theme } from "../interactive/theme/theme.js";
31
- import { buildCustomUnsupportedRequest, DEFAULT_CUSTOM_EXTENSION_LABEL, EXTENSION_EVENTS_CAPABILITY, RENDERED_COMPONENTS_CAPABILITY, } from "./custom-capability.js";
31
+ import { AUTO_TITLE_SESSIONS_CAPABILITY, buildCustomUnsupportedRequest, DEFAULT_CUSTOM_EXTENSION_LABEL, EXTENSION_EVENTS_CAPABILITY, RENDERED_COMPONENTS_CAPABILITY, } from "./custom-capability.js";
32
32
  import { createRpcEventOutputBuffer } from "./event-output-buffer.js";
33
33
  import { buildRpcCommandsForSession, createCommandsChangedEvent, rpcCommandListDigest } from "./rpc-command-surface.js";
34
34
  import { rpcCommandPayloadError, rpcCommandShapeError, rpcMessageLengthError } from "./rpc-input-validation.js";
@@ -807,7 +807,9 @@ export function createRpcConnectionHandler(runtimeHost, sink, options = {}) {
807
807
  data: {
808
808
  protocolVersion: 1,
809
809
  serverVersion: VERSION,
810
- capabilities: [...new Set(["multi_session", ...(options.capabilities ?? [])])],
810
+ capabilities: [
811
+ ...new Set(["multi_session", AUTO_TITLE_SESSIONS_CAPABILITY, ...(options.capabilities ?? [])]),
812
+ ],
811
813
  mode: "classic",
812
814
  },
813
815
  };
@@ -882,7 +884,10 @@ export function createRpcConnectionHandler(runtimeHost, sink, options = {}) {
882
884
  return success(id, "follow_up");
883
885
  }
884
886
  case "abort": {
885
- await session.abort();
887
+ void session.abort().catch((cause) => {
888
+ // Abort is acknowledged once dispatched; report quiesce failures out of band.
889
+ outputEvent({ type: "rpc_error", error: String(cause) });
890
+ });
886
891
  return success(id, "abort");
887
892
  }
888
893
  case "abort_compaction": {