cli-jaw 2.2.8 → 2.2.10

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 (220) hide show
  1. package/README.md +4 -4
  2. package/dist/bin/agent-driven.js +33 -0
  3. package/dist/bin/agent-driven.js.map +1 -0
  4. package/dist/bin/commands/doctor.js +66 -1
  5. package/dist/bin/commands/doctor.js.map +1 -1
  6. package/dist/bin/commands/init.js +107 -8
  7. package/dist/bin/commands/init.js.map +1 -1
  8. package/dist/bin/interactive-confirm.js +110 -0
  9. package/dist/bin/interactive-confirm.js.map +1 -0
  10. package/dist/bin/star-prompt.js +46 -15
  11. package/dist/bin/star-prompt.js.map +1 -1
  12. package/dist/lib/upload.js +5 -1
  13. package/dist/lib/upload.js.map +1 -1
  14. package/dist/server.js +1 -0
  15. package/dist/server.js.map +1 -1
  16. package/dist/src/agent/alert-escalation.js +1 -1
  17. package/dist/src/agent/alert-escalation.js.map +1 -1
  18. package/dist/src/agent/codex-app-catalog.js +57 -0
  19. package/dist/src/agent/codex-app-catalog.js.map +1 -0
  20. package/dist/src/agent/codex-app-client.js +89 -7
  21. package/dist/src/agent/codex-app-client.js.map +1 -1
  22. package/dist/src/agent/pi-rpc-verdict.js +22 -0
  23. package/dist/src/agent/pi-rpc-verdict.js.map +1 -0
  24. package/dist/src/agent/pi-runtime.js +240 -0
  25. package/dist/src/agent/pi-runtime.js.map +1 -1
  26. package/dist/src/agent/runtime-pool.js +445 -0
  27. package/dist/src/agent/runtime-pool.js.map +1 -0
  28. package/dist/src/agent/spawn.js +395 -240
  29. package/dist/src/agent/spawn.js.map +1 -1
  30. package/dist/src/cli/command-context.js +5 -2
  31. package/dist/src/cli/command-context.js.map +1 -1
  32. package/dist/src/cli/commands.js +43 -39
  33. package/dist/src/cli/commands.js.map +1 -1
  34. package/dist/src/cli/handlers-runtime.js +15 -7
  35. package/dist/src/cli/handlers-runtime.js.map +1 -1
  36. package/dist/src/cli/handlers-search.js +1 -1
  37. package/dist/src/cli/handlers-search.js.map +1 -1
  38. package/dist/src/cli/handlers-skill-invoke.js +1 -1
  39. package/dist/src/cli/handlers-skill-invoke.js.map +1 -1
  40. package/dist/src/cli/handlers-workflows.js +1 -1
  41. package/dist/src/cli/handlers-workflows.js.map +1 -1
  42. package/dist/src/cli/handlers.js +1 -1
  43. package/dist/src/cli/handlers.js.map +1 -1
  44. package/dist/src/cli/opencodex-models.js +40 -7
  45. package/dist/src/cli/opencodex-models.js.map +1 -1
  46. package/dist/src/cli/registry-live.js +6 -5
  47. package/dist/src/cli/registry-live.js.map +1 -1
  48. package/dist/src/command-contract/catalog.js +4 -0
  49. package/dist/src/command-contract/catalog.js.map +1 -1
  50. package/dist/src/core/config.js +69 -4
  51. package/dist/src/core/config.js.map +1 -1
  52. package/dist/src/core/runtime-settings.js +17 -0
  53. package/dist/src/core/runtime-settings.js.map +1 -1
  54. package/dist/src/core/settings-merge.js +1 -1
  55. package/dist/src/core/settings-merge.js.map +1 -1
  56. package/dist/src/discord/bot.js +29 -14
  57. package/dist/src/discord/bot.js.map +1 -1
  58. package/dist/src/discord/commands.js +5 -4
  59. package/dist/src/discord/commands.js.map +1 -1
  60. package/dist/src/discord/discord-file.js +8 -2
  61. package/dist/src/discord/discord-file.js.map +1 -1
  62. package/dist/src/discord/forwarder.js +17 -19
  63. package/dist/src/discord/forwarder.js.map +1 -1
  64. package/dist/src/discord/send-only-client.js +9 -1
  65. package/dist/src/discord/send-only-client.js.map +1 -1
  66. package/dist/src/manager/dashboard-service.js +38 -1
  67. package/dist/src/manager/dashboard-service.js.map +1 -1
  68. package/dist/src/manager/telegram-hub/hub-bot.js +47 -29
  69. package/dist/src/manager/telegram-hub/hub-bot.js.map +1 -1
  70. package/dist/src/messaging/channel-health.js +32 -0
  71. package/dist/src/messaging/channel-health.js.map +1 -1
  72. package/dist/src/messaging/chunk.js +376 -0
  73. package/dist/src/messaging/chunk.js.map +1 -0
  74. package/dist/src/messaging/dedupe.js +104 -0
  75. package/dist/src/messaging/dedupe.js.map +1 -0
  76. package/dist/src/messaging/fold.js +210 -0
  77. package/dist/src/messaging/fold.js.map +1 -0
  78. package/dist/src/messaging/redact.js +577 -0
  79. package/dist/src/messaging/redact.js.map +1 -0
  80. package/dist/src/messaging/retry.js +76 -0
  81. package/dist/src/messaging/retry.js.map +1 -0
  82. package/dist/src/messaging/runtime.js +6 -3
  83. package/dist/src/messaging/runtime.js.map +1 -1
  84. package/dist/src/messaging/send.js +45 -15
  85. package/dist/src/messaging/send.js.map +1 -1
  86. package/dist/src/messaging/slack-target.js +50 -0
  87. package/dist/src/messaging/slack-target.js.map +1 -0
  88. package/dist/src/messaging/types.js.map +1 -1
  89. package/dist/src/orchestrator/pipeline.js +4 -4
  90. package/dist/src/orchestrator/pipeline.js.map +1 -1
  91. package/dist/src/routes/command.js +11 -7
  92. package/dist/src/routes/command.js.map +1 -1
  93. package/dist/src/routes/messaging.js +28 -12
  94. package/dist/src/routes/messaging.js.map +1 -1
  95. package/dist/src/routes/settings.js +22 -6
  96. package/dist/src/routes/settings.js.map +1 -1
  97. package/dist/src/slack/api.js +116 -0
  98. package/dist/src/slack/api.js.map +1 -0
  99. package/dist/src/slack/bot.js +262 -0
  100. package/dist/src/slack/bot.js.map +1 -0
  101. package/dist/src/slack/commands.js +98 -0
  102. package/dist/src/slack/commands.js.map +1 -0
  103. package/dist/src/slack/events.js +116 -0
  104. package/dist/src/slack/events.js.map +1 -0
  105. package/dist/src/slack/format.js +58 -0
  106. package/dist/src/slack/format.js.map +1 -0
  107. package/dist/src/slack/forwarder.js +57 -0
  108. package/dist/src/slack/forwarder.js.map +1 -0
  109. package/dist/src/slack/register.js +13 -0
  110. package/dist/src/slack/register.js.map +1 -0
  111. package/dist/src/slack/send-handler.js +41 -0
  112. package/dist/src/slack/send-handler.js.map +1 -0
  113. package/dist/src/slack/send-only-client.js +46 -0
  114. package/dist/src/slack/send-only-client.js.map +1 -0
  115. package/dist/src/slack/slack-file.js +72 -0
  116. package/dist/src/slack/slack-file.js.map +1 -0
  117. package/dist/src/slack/socket.js +341 -0
  118. package/dist/src/slack/socket.js.map +1 -0
  119. package/dist/src/telegram/bot.js +117 -37
  120. package/dist/src/telegram/bot.js.map +1 -1
  121. package/dist/src/telegram/elicitation-buttons.js +7 -2
  122. package/dist/src/telegram/elicitation-buttons.js.map +1 -1
  123. package/dist/src/telegram/forwarder.js +15 -7
  124. package/dist/src/telegram/forwarder.js.map +1 -1
  125. package/dist/src/telegram/rich-message.js +209 -24
  126. package/dist/src/telegram/rich-message.js.map +1 -1
  127. package/dist/src/telegram/telegram-file.js +35 -4
  128. package/dist/src/telegram/telegram-file.js.map +1 -1
  129. package/dist/src/telegram/voice.js +4 -3
  130. package/dist/src/telegram/voice.js.map +1 -1
  131. package/package.json +5 -1
  132. package/public/assets/providers/slack.svg +1 -0
  133. package/public/dist/assets/ChannelsDiscord-D9FLnZso.js +1 -0
  134. package/public/dist/assets/ChannelsSlack-ybvupgdK.js +1 -0
  135. package/public/dist/assets/ChannelsTelegram-BOCOPrBc.js +1 -0
  136. package/public/dist/assets/HealthBadge-megTlF4n.js +1 -0
  137. package/public/dist/assets/TransportStatusChips-CjEySMis.js +1 -0
  138. package/public/dist/assets/app-BGIAy4he.js +55 -0
  139. package/public/dist/assets/{bgtask-badge-CdBqBy1L.js → bgtask-badge-DXca8E7c.js} +1 -1
  140. package/public/dist/assets/bgtask-badge-GRSiNILQ.js +1 -0
  141. package/public/dist/assets/{employees-C8qufeJl.js → employees-BL4qMxJj.js} +1 -1
  142. package/public/dist/assets/iframe-renderer-BUSk0Rw9.js +1 -0
  143. package/public/dist/assets/{iframe-renderer-CZ67aeTO.js → iframe-renderer-DUI0LYBy.js} +2 -2
  144. package/public/dist/assets/{manager-CLXT60M5.js → manager-B-gpf-3j.js} +3 -3
  145. package/public/dist/assets/{memory-lWramLVw.js → memory-B_Y0L0KD.js} +1 -1
  146. package/public/dist/assets/memory-CX6YahTc.js +1 -0
  147. package/public/dist/assets/message-history-Det7u76S.js +1 -0
  148. package/public/dist/assets/{message-history-2NUN3UxM.js → message-history-Dl8dJzez.js} +1 -1
  149. package/public/dist/assets/{provider-icons-stsNmQKx.js → provider-icons-VDfahiUp.js} +3 -2
  150. package/public/dist/assets/{render-CsF-ojLe.js → render-BI1aqKoc.js} +1 -1
  151. package/public/dist/assets/{settings-BMLowRCh.js → settings-B0Sj4sUH.js} +1 -1
  152. package/public/dist/assets/settings-C7NutP6X.js +1 -0
  153. package/public/dist/assets/settings-core-CyX-px6_.js +100 -0
  154. package/public/dist/assets/settings-core-DVpFmrhY.js +1 -0
  155. package/public/dist/assets/{sidebar-gKjYLv49.js → sidebar-DOR9fTgN.js} +3 -3
  156. package/public/dist/assets/skills-BWhKreQ2.js +1 -0
  157. package/public/dist/assets/{skills-CKTbomdm.js → skills-wt0fkV9Y.js} +1 -1
  158. package/public/dist/assets/slash-commands-BZbqTg3v.js +20 -0
  159. package/public/dist/assets/slash-commands-Di4NDA4w.js +1 -0
  160. package/public/dist/assets/{trace-drawer-C3G4mmB1.js → trace-drawer-kMYzaVFW.js} +1 -1
  161. package/public/dist/assets/ui-BghexWrB.js +1 -0
  162. package/public/dist/assets/{ui-CVVC_flX.js → ui-D4D5HUfo.js} +1 -1
  163. package/public/dist/index.html +62 -1
  164. package/public/dist/manager/index.html +1 -1
  165. package/public/index.html +61 -0
  166. package/public/js/features/command-info.ts +1 -0
  167. package/public/js/features/help-content.ts +8 -0
  168. package/public/js/features/settings-channel.ts +5 -1
  169. package/public/js/features/settings-core.ts +2 -0
  170. package/public/js/features/settings-slack.ts +74 -0
  171. package/public/js/features/settings-types.ts +5 -1
  172. package/public/js/features/settings.ts +1 -0
  173. package/public/js/features/transport-status-row.ts +15 -3
  174. package/public/js/main.ts +19 -0
  175. package/public/js/provider-icons.ts +4 -1
  176. package/public/js/ws.ts +1 -1
  177. package/public/locales/en.json +21 -0
  178. package/public/locales/ja.json +21 -0
  179. package/public/locales/ko.json +21 -0
  180. package/public/locales/zh.json +21 -0
  181. package/public/manager/src/settings/SettingsShell.tsx +1 -0
  182. package/public/manager/src/settings/SettingsSidebar.tsx +1 -0
  183. package/public/manager/src/settings/pages/ChannelsSlack.tsx +323 -0
  184. package/public/manager/src/settings/pages/components/ActiveChannelToggle.tsx +2 -1
  185. package/public/manager/src/settings/pages/components/TransportStatusChips.tsx +13 -4
  186. package/public/manager/src/settings/types.ts +1 -0
  187. package/scripts/check-redaction-sinks.mjs +276 -0
  188. package/scripts/pi-rpc-probe.mts +361 -0
  189. package/scripts/release-gates.mjs +83 -0
  190. package/scripts/release-preview.sh +8 -1
  191. package/scripts/release.sh +13 -2
  192. package/scripts/sync-electron-version.cjs +93 -0
  193. package/public/dist/assets/ChannelsDiscord-Bt1_rtNC.js +0 -1
  194. package/public/dist/assets/ChannelsTelegram-BLV0m1oq.js +0 -1
  195. package/public/dist/assets/TransportStatusChips-Bld0yXi7.js +0 -1
  196. package/public/dist/assets/app-iSJhsP20.js +0 -55
  197. package/public/dist/assets/bgtask-badge-CSkSsoB6.js +0 -1
  198. package/public/dist/assets/iframe-renderer-DXdo0YXN.js +0 -1
  199. package/public/dist/assets/memory-DeKUlD2M.js +0 -1
  200. package/public/dist/assets/message-history-CWTQ2woA.js +0 -1
  201. package/public/dist/assets/settings-CDjs7hTT.js +0 -1
  202. package/public/dist/assets/settings-core-Cs_oq-b3.js +0 -99
  203. package/public/dist/assets/settings-core-D-TOh1a6.js +0 -1
  204. package/public/dist/assets/skills-GuIfNASs.js +0 -1
  205. package/public/dist/assets/slash-commands-BtZa093n.js +0 -20
  206. package/public/dist/assets/slash-commands-DGJKfpMT.js +0 -1
  207. package/public/dist/assets/ui-DJg5Q_NJ.js +0 -1
  208. /package/public/dist/assets/{DashboardMeta-B7CVqXcU.js → DashboardMeta-DennaaA_.js} +0 -0
  209. /package/public/dist/assets/{Display-BF-rACK6.js → Display-hGuSn_W5.js} +0 -0
  210. /package/public/dist/assets/{Employees-D3hnciP0.js → Employees-B5YXk5ma.js} +0 -0
  211. /package/public/dist/assets/{Heartbeat-D4Pn5O3O.js → Heartbeat-vDGhPfct.js} +0 -0
  212. /package/public/dist/assets/{Mcp-SfytKWGX.js → Mcp-BHWnJ6SP.js} +0 -0
  213. /package/public/dist/assets/{Memory-DNxBOQ7N.js → Memory-B_UZ-iCA.js} +0 -0
  214. /package/public/dist/assets/{ModelProvider-CXwtlG7l.js → ModelProvider-CgUvs6pE.js} +0 -0
  215. /package/public/dist/assets/{Network-DISUhige.js → Network-AWpSkALD.js} +0 -0
  216. /package/public/dist/assets/{Profile-B8yBO3Ju.js → Profile-DnIE2ios.js} +0 -0
  217. /package/public/dist/assets/{Prompts-5lNQ5qOm.js → Prompts-B9aKLall.js} +0 -0
  218. /package/public/dist/assets/{SpeechKeys-BepaIHBa.js → SpeechKeys-K4Be_o7z.js} +0 -0
  219. /package/public/dist/assets/{TelegramHub--DNjRAwW.js → TelegramHub-CFwSkzHP.js} +0 -0
  220. /package/public/dist/assets/{TerminalPanel-DQovYfwz.js → TerminalPanel-CdlFZHAK.js} +0 -0
@@ -0,0 +1,22 @@
1
+ const PROTOCOL_REJECTION_RE = /unknown (type|message|command)|invalid state|not (running|ready)|unsupported (message|type|command)|unexpected message/i;
2
+ export function classifySecondPromptOutcome(input) {
3
+ if (!input.firstPromptSucceeded)
4
+ return 'inconclusive';
5
+ if (input.selfExited)
6
+ return 'proven-unsupported';
7
+ // 모델 비결정성 강건 (2026-08-02 실probe): 두 번째 턴 답변이 reasoning 채널로만 나가
8
+ // text 파트가 빈 경우가 있다. 프로토콜 사실을 증거로 — (a) id 상관 success 수락,
9
+ // (b) 이후 done이며 user echo 또는 assistant text가 SECOND 포함.
10
+ const secondAccepted = input.records.some((record) => record.id === input.secondPromptId && record.type === 'response' && record.command === 'prompt' && record.success === true);
11
+ const secondCompleted = input.records.some((record) => record.done && ((typeof record.text === 'string' && record.text.includes('SECOND'))
12
+ || (typeof record.userEcho === 'string' && record.userEcho.includes('SECOND'))));
13
+ if (secondAccepted && secondCompleted) {
14
+ return 'supported';
15
+ }
16
+ const correlatedError = input.records.find((record) => record.id === input.secondPromptId && record.error);
17
+ if (correlatedError && PROTOCOL_REJECTION_RE.test(correlatedError.error?.message || '')) {
18
+ return 'proven-unsupported';
19
+ }
20
+ return 'inconclusive';
21
+ }
22
+ //# sourceMappingURL=pi-rpc-verdict.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi-rpc-verdict.js","sourceRoot":"","sources":["../../../src/agent/pi-rpc-verdict.ts"],"names":[],"mappings":"AAaA,MAAM,qBAAqB,GAAG,yHAAyH,CAAC;AAExJ,MAAM,UAAU,2BAA2B,CAAC,KAM3C;IACG,IAAI,CAAC,KAAK,CAAC,oBAAoB;QAAE,OAAO,cAAc,CAAC;IACvD,IAAI,KAAK,CAAC,UAAU;QAAE,OAAO,oBAAoB,CAAC;IAClD,+DAA+D;IAC/D,0DAA0D;IAC1D,wDAAwD;IACxD,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CACjD,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;IAChI,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAClD,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;WAC5E,CAAC,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,IAAI,cAAc,IAAI,eAAe,EAAE,CAAC;QACpC,OAAO,WAAW,CAAC;IACvB,CAAC;IACD,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,cAAc,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3G,IAAI,eAAe,IAAI,qBAAqB,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QACtF,OAAO,oBAAoB,CAAC;IAChC,CAAC;IACD,OAAO,cAAc,CAAC;AAC1B,CAAC"}
@@ -3,8 +3,12 @@ import { join } from 'node:path';
3
3
  import { spawn, spawnSync } from 'node:child_process';
4
4
  import { StringDecoder } from 'node:string_decoder';
5
5
  import { JAW_HOME } from '../core/config.js';
6
+ import { probeOpenCodexEndpointModels } from '../cli/opencodex-models.js';
6
7
  const PI_PACKAGE = '@earendil-works/pi-coding-agent';
7
8
  const LOCAL_HOST_RE = /^(localhost|127\.0\.0\.1|\[?::1\]?)$/i;
9
+ const PI_RPC_CAPABILITY_SCHEMA = 1;
10
+ const PI_RPC_CAPABILITY_MAX_AGE_MS = 30 * 24 * 60 * 60_000;
11
+ const PI_RPC_ABORT_TIMEOUT_MS = 15_000;
8
12
  export const DEFAULT_PI_PROFILE = {
9
13
  id: 'progrok',
10
14
  label: 'Progrok',
@@ -194,6 +198,35 @@ export function resolvePiCommand(env = process.env) {
194
198
  source: 'npm-exec',
195
199
  };
196
200
  }
201
+ function resolvePiCommandIdentity(command, env = process.env) {
202
+ const result = spawnSync(command.command, [...command.baseArgs, '--version'], {
203
+ encoding: 'utf8',
204
+ env,
205
+ timeout: 15_000,
206
+ });
207
+ const version = `${result.stdout || ''}\n${result.stderr || ''}`.trim() || `exit:${String(result.status)}`;
208
+ return JSON.stringify({ source: command.source, command: command.command, baseArgs: command.baseArgs, version });
209
+ }
210
+ function loadPiAbortEffective(profileId, command) {
211
+ try {
212
+ const raw = JSON.parse(fs.readFileSync(join(JAW_HOME, 'pi', 'rpc-capabilities.json'), 'utf8'));
213
+ if (!raw || typeof raw !== 'object' || Array.isArray(raw))
214
+ return false;
215
+ const capability = raw;
216
+ if (capability['schemaVersion'] !== PI_RPC_CAPABILITY_SCHEMA
217
+ || capability['abortEffective'] !== true
218
+ || capability['profileId'] !== profileId
219
+ || capability['commandId'] !== resolvePiCommandIdentity(command))
220
+ return false;
221
+ const probedAt = Date.parse(typeof capability['probedAt'] === 'string' ? capability['probedAt'] : '');
222
+ return Number.isFinite(probedAt)
223
+ && probedAt <= Date.now()
224
+ && Date.now() - probedAt <= PI_RPC_CAPABILITY_MAX_AGE_MS;
225
+ }
226
+ catch {
227
+ return false;
228
+ }
229
+ }
197
230
  export function parsePiModelList(output, profileId) {
198
231
  const models = new Set();
199
232
  for (const rawLine of output.split(/\r?\n/)) {
@@ -211,10 +244,12 @@ export function parsePiModelList(output, profileId) {
211
244
  export function listPiModels(piInput, profileId, options = {}) {
212
245
  const dir = ensurePiRuntimeConfig(piInput, profileId, options.effort || '', options.root);
213
246
  const cmd = resolvePiCommand();
247
+ const isCmdShim = process.platform === 'win32' && !cmd.command.toLowerCase().endsWith('.exe');
214
248
  return new Promise((resolve, reject) => {
215
249
  const child = spawn(cmd.command, [...cmd.baseArgs, '--offline', '--list-models', profileId], {
216
250
  env: { ...process.env, PI_CODING_AGENT_DIR: dir },
217
251
  stdio: ['ignore', 'pipe', 'pipe'],
252
+ ...(isCmdShim ? { shell: true } : {}),
218
253
  });
219
254
  let stdout = '';
220
255
  let stderr = '';
@@ -239,6 +274,13 @@ export function listPiModels(piInput, profileId, options = {}) {
239
274
  });
240
275
  });
241
276
  }
277
+ export async function discoverPiProfileModels(piInput, profile, options = {}) {
278
+ const openCodexModels = await probeOpenCodexEndpointModels(profile.endpoint, options.timeoutMs ?? 1500);
279
+ if (openCodexModels)
280
+ return { models: openCodexModels, source: 'opencodex' };
281
+ const models = await listPiModels(piInput, profile.id, options);
282
+ return { models, source: 'pi-offline' };
283
+ }
242
284
  function extractTextOnly(value) {
243
285
  if (typeof value === 'string')
244
286
  return value;
@@ -330,6 +372,202 @@ function extractPiSessionId(obj) {
330
372
  || ((obj['data'] && typeof obj['data'] === 'object') ? obj['data']['sessionId'] : '')
331
373
  || ((obj['result'] && typeof obj['result'] === 'object') ? obj['result']['sessionId'] : ''));
332
374
  }
375
+ export function spawnPersistentPiRpc(profile, pi, options) {
376
+ const dir = ensurePiRuntimeConfig(pi, profile.id, options.effort || '', options.root);
377
+ const cmd = resolvePiCommand();
378
+ const args = [
379
+ ...cmd.baseArgs,
380
+ '--mode', 'rpc',
381
+ '--no-context-files',
382
+ '--tools', 'read,bash,edit,write,grep,find,ls',
383
+ '--provider', profile.id,
384
+ '--model', options.model || profile.model,
385
+ '--api-key', profile.apiKey || 'dummy',
386
+ ...(options.sessionId ? ['--session-id', options.sessionId] : []),
387
+ ];
388
+ const isCmdShim = process.platform === 'win32' && !cmd.command.toLowerCase().endsWith('.exe');
389
+ const child = spawn(cmd.command, args, {
390
+ cwd: options.cwd,
391
+ env: { ...process.env, PI_CODING_AGENT_DIR: dir },
392
+ stdio: ['pipe', 'pipe', 'pipe'],
393
+ ...(isCmdShim ? { shell: true } : {}),
394
+ });
395
+ const decoder = new StringDecoder('utf8');
396
+ let buffer = '';
397
+ let stderr = '';
398
+ let seq = 1;
399
+ let activePrompt = null;
400
+ let abortWait = null;
401
+ let closed = false;
402
+ const write = (type, fields = {}) => {
403
+ if (!session.alive || !child.stdin.writable)
404
+ throw new Error('pi rpc session is not writable');
405
+ const id = seq++;
406
+ child.stdin.write(`${JSON.stringify({ id, type, ...fields })}\n`);
407
+ return id;
408
+ };
409
+ const settleAbort = () => {
410
+ if (!abortWait || !abortWait.accepted || !abortWait.terminal)
411
+ return;
412
+ const wait = abortWait;
413
+ abortWait = null;
414
+ clearTimeout(wait.timer);
415
+ wait.resolve();
416
+ };
417
+ const dispatchLine = (line) => {
418
+ let raw;
419
+ try {
420
+ raw = JSON.parse(line);
421
+ }
422
+ catch {
423
+ console.warn(`[jaw:pi] JSON parse failed: ${line.slice(0, 200)}`);
424
+ return;
425
+ }
426
+ if (!raw || typeof raw !== 'object' || Array.isArray(raw))
427
+ return;
428
+ const record = raw;
429
+ if (abortWait && record['id'] === abortWait.id && record['type'] === 'response' && record['command'] === 'abort') {
430
+ if (record['success'] === true)
431
+ abortWait.accepted = true;
432
+ else {
433
+ const wait = abortWait;
434
+ abortWait = null;
435
+ clearTimeout(wait.timer);
436
+ const error = record['error'] && typeof record['error'] === 'object'
437
+ ? trimString(record['error']['message'])
438
+ : '';
439
+ wait.reject(new Error(error || 'pi rpc abort rejected'));
440
+ }
441
+ }
442
+ const event = parsePiRpcRecord(record);
443
+ const state = record['data'] && typeof record['data'] === 'object'
444
+ ? record['data']
445
+ : null;
446
+ const stateName = state && typeof state['state'] === 'string' ? state['state'].toLowerCase() : '';
447
+ const nonRunning = Boolean(state) && (state?.['running'] === false
448
+ || state?.['isRunning'] === false
449
+ || (stateName !== '' && !['running', 'active', 'generating'].includes(stateName)));
450
+ if (event.sessionId) {
451
+ session.sessionId = event.sessionId;
452
+ activePrompt?.onEvent?.({ kind: 'session', sessionId: event.sessionId });
453
+ }
454
+ if (event.tool)
455
+ activePrompt?.onEvent?.({ kind: 'tool', ...event.tool });
456
+ if (event.thinking)
457
+ activePrompt?.onEvent?.({ kind: 'thinking', text: event.thinking });
458
+ if (event.text && activePrompt && !(event.done && activePrompt.text)) {
459
+ activePrompt.text += event.text;
460
+ activePrompt.onEvent?.({ kind: 'text', text: event.text });
461
+ }
462
+ if (event.done || (abortWait && nonRunning)) {
463
+ if (activePrompt) {
464
+ const prompt = activePrompt;
465
+ activePrompt = null;
466
+ prompt.resolve({ text: prompt.text, stderr: stderr.slice(prompt.stderrStart) });
467
+ }
468
+ if (abortWait)
469
+ abortWait.terminal = true;
470
+ }
471
+ settleAbort();
472
+ };
473
+ const rejectOutstanding = (error) => {
474
+ if (activePrompt) {
475
+ const prompt = activePrompt;
476
+ activePrompt = null;
477
+ prompt.reject(error);
478
+ }
479
+ if (abortWait) {
480
+ const wait = abortWait;
481
+ abortWait = null;
482
+ clearTimeout(wait.timer);
483
+ wait.reject(error);
484
+ }
485
+ };
486
+ const session = {
487
+ child,
488
+ get alive() { return !closed && child.exitCode == null && !child.killed; },
489
+ abortEffective: loadPiAbortEffective(profile.id, cmd),
490
+ sessionId: options.sessionId || null,
491
+ sendPrompt(message, opts = {}) {
492
+ if (activePrompt)
493
+ return Promise.reject(new Error('pi rpc prompt already active'));
494
+ if (!session.alive)
495
+ return Promise.reject(new Error('pi rpc session is not alive'));
496
+ return new Promise((resolve, reject) => {
497
+ activePrompt = { text: '', stderrStart: stderr.length, onEvent: opts.onEvent, resolve, reject };
498
+ try {
499
+ if (opts.effort)
500
+ write('set_thinking_level', { level: opts.effort });
501
+ write('prompt', { message });
502
+ }
503
+ catch (error) {
504
+ activePrompt = null;
505
+ reject(error);
506
+ }
507
+ });
508
+ },
509
+ abort() {
510
+ if (!activePrompt)
511
+ return Promise.resolve();
512
+ if (abortWait)
513
+ return Promise.reject(new Error('pi rpc abort already active'));
514
+ return new Promise((resolve, reject) => {
515
+ let id;
516
+ try {
517
+ id = write('abort');
518
+ }
519
+ catch (error) {
520
+ reject(error);
521
+ return;
522
+ }
523
+ const timer = setTimeout(() => {
524
+ if (!abortWait || abortWait.id !== id)
525
+ return;
526
+ abortWait = null;
527
+ reject(new Error('pi rpc abort timed out'));
528
+ }, PI_RPC_ABORT_TIMEOUT_MS);
529
+ abortWait = { id, accepted: false, terminal: false, resolve, reject, timer };
530
+ });
531
+ },
532
+ close() {
533
+ if (closed)
534
+ return;
535
+ try {
536
+ child.stdin.end();
537
+ }
538
+ catch { /* already closed */ }
539
+ setTimeout(() => {
540
+ if (child.exitCode == null && !child.killed)
541
+ child.kill('SIGTERM');
542
+ }, 750).unref();
543
+ },
544
+ kill() {
545
+ if (child.exitCode == null && !child.killed)
546
+ child.kill('SIGTERM');
547
+ },
548
+ };
549
+ child.stdout?.on('data', (chunk) => {
550
+ buffer += decoder.write(chunk);
551
+ const lines = buffer.split('\n');
552
+ buffer = lines.pop() ?? '';
553
+ for (const line of lines)
554
+ if (line.trim())
555
+ dispatchLine(line.trim());
556
+ });
557
+ child.stderr?.on('data', (chunk) => { stderr += chunk.toString(); });
558
+ child.on('error', (error) => rejectOutstanding(error));
559
+ child.on('close', (code) => {
560
+ closed = true;
561
+ buffer += decoder.end();
562
+ if (buffer.trim())
563
+ dispatchLine(buffer.trim());
564
+ rejectOutstanding(new Error(`pi rpc session exited with code ${String(code)}`));
565
+ });
566
+ write('get_state');
567
+ if (options.effort)
568
+ write('set_thinking_level', { level: options.effort });
569
+ return session;
570
+ }
333
571
  export function spawnPiRpc(profile, pi, options) {
334
572
  const dir = ensurePiRuntimeConfig(pi, profile.id, options.effort || '', options.root);
335
573
  const cmd = resolvePiCommand();
@@ -343,10 +581,12 @@ export function spawnPiRpc(profile, pi, options) {
343
581
  '--api-key', profile.apiKey || 'dummy',
344
582
  ...(options.sessionId ? ['--session-id', options.sessionId] : []),
345
583
  ];
584
+ const isCmdShim = process.platform === 'win32' && !cmd.command.toLowerCase().endsWith('.exe');
346
585
  const child = spawn(cmd.command, args, {
347
586
  cwd: options.cwd,
348
587
  env: { ...process.env, PI_CODING_AGENT_DIR: dir },
349
588
  stdio: ['pipe', 'pipe', 'pipe'],
589
+ ...(isCmdShim ? { shell: true } : {}),
350
590
  });
351
591
  const decoder = new StringDecoder('utf8');
352
592
  let buffer = '';
@@ -1 +1 @@
1
- {"version":3,"file":"pi-runtime.js","sourceRoot":"","sources":["../../../src/agent/pi-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pi-runtime.js","sourceRoot":"","sources":["../../../src/agent/pi-runtime.ts"],"names":[],"mappings":"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"}