instar 1.3.343 → 1.3.345

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 (147) hide show
  1. package/dist/commands/init.d.ts +4 -4
  2. package/dist/commands/init.d.ts.map +1 -1
  3. package/dist/commands/init.js.map +1 -1
  4. package/dist/commands/reflect.d.ts.map +1 -1
  5. package/dist/commands/reflect.js +7 -0
  6. package/dist/commands/reflect.js.map +1 -1
  7. package/dist/commands/server.d.ts.map +1 -1
  8. package/dist/commands/server.js +126 -8
  9. package/dist/commands/server.js.map +1 -1
  10. package/dist/commands/setup.d.ts +1 -1
  11. package/dist/commands/setup.d.ts.map +1 -1
  12. package/dist/commands/setup.js.map +1 -1
  13. package/dist/core/Config.d.ts +12 -3
  14. package/dist/core/Config.d.ts.map +1 -1
  15. package/dist/core/Config.js +40 -6
  16. package/dist/core/Config.js.map +1 -1
  17. package/dist/core/FrameworkSessionStore.d.ts +1 -1
  18. package/dist/core/FrameworkSessionStore.d.ts.map +1 -1
  19. package/dist/core/PiCliIntelligenceProvider.d.ts +52 -0
  20. package/dist/core/PiCliIntelligenceProvider.d.ts.map +1 -0
  21. package/dist/core/PiCliIntelligenceProvider.js +71 -0
  22. package/dist/core/PiCliIntelligenceProvider.js.map +1 -0
  23. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  24. package/dist/core/PostUpdateMigrator.js +57 -0
  25. package/dist/core/PostUpdateMigrator.js.map +1 -1
  26. package/dist/core/PreCompactionFlush.d.ts +1 -1
  27. package/dist/core/PreCompactionFlush.d.ts.map +1 -1
  28. package/dist/core/ResumeValidator.d.ts +1 -1
  29. package/dist/core/ResumeValidator.d.ts.map +1 -1
  30. package/dist/core/SessionManager.d.ts +130 -0
  31. package/dist/core/SessionManager.d.ts.map +1 -1
  32. package/dist/core/SessionManager.js +545 -10
  33. package/dist/core/SessionManager.js.map +1 -1
  34. package/dist/core/TopicFrameworksStore.d.ts.map +1 -1
  35. package/dist/core/TopicFrameworksStore.js +3 -0
  36. package/dist/core/TopicFrameworksStore.js.map +1 -1
  37. package/dist/core/frameworkInjectionProcesses.d.ts.map +1 -1
  38. package/dist/core/frameworkInjectionProcesses.js +4 -0
  39. package/dist/core/frameworkInjectionProcesses.js.map +1 -1
  40. package/dist/core/frameworkSessionLaunch.d.ts +8 -0
  41. package/dist/core/frameworkSessionLaunch.d.ts.map +1 -1
  42. package/dist/core/frameworkSessionLaunch.js +73 -0
  43. package/dist/core/frameworkSessionLaunch.js.map +1 -1
  44. package/dist/core/intelligenceProviderFactory.d.ts +15 -1
  45. package/dist/core/intelligenceProviderFactory.d.ts.map +1 -1
  46. package/dist/core/intelligenceProviderFactory.js +39 -1
  47. package/dist/core/intelligenceProviderFactory.js.map +1 -1
  48. package/dist/core/types.d.ts +88 -8
  49. package/dist/core/types.d.ts.map +1 -1
  50. package/dist/core/types.js.map +1 -1
  51. package/dist/messaging/SpawnRequestManager.d.ts +14 -0
  52. package/dist/messaging/SpawnRequestManager.d.ts.map +1 -1
  53. package/dist/messaging/SpawnRequestManager.js +17 -0
  54. package/dist/messaging/SpawnRequestManager.js.map +1 -1
  55. package/dist/messaging/shared/telegramRelayPrompt.d.ts +1 -1
  56. package/dist/messaging/shared/telegramRelayPrompt.d.ts.map +1 -1
  57. package/dist/monitoring/ApprenticeshipCycleStore.d.ts +59 -1
  58. package/dist/monitoring/ApprenticeshipCycleStore.d.ts.map +1 -1
  59. package/dist/monitoring/ApprenticeshipCycleStore.js +77 -2
  60. package/dist/monitoring/ApprenticeshipCycleStore.js.map +1 -1
  61. package/dist/monitoring/ReapLog.d.ts +6 -0
  62. package/dist/monitoring/ReapLog.d.ts.map +1 -1
  63. package/dist/monitoring/ReapLog.js +1 -0
  64. package/dist/monitoring/ReapLog.js.map +1 -1
  65. package/dist/monitoring/SessionReaper.d.ts +1 -1
  66. package/dist/monitoring/SessionReaper.d.ts.map +1 -1
  67. package/dist/monitoring/SessionReaper.js.map +1 -1
  68. package/dist/monitoring/frameworkActivitySignals.d.ts.map +1 -1
  69. package/dist/monitoring/frameworkActivitySignals.js +21 -0
  70. package/dist/monitoring/frameworkActivitySignals.js.map +1 -1
  71. package/dist/monitoring/frameworkProcessSignals.d.ts.map +1 -1
  72. package/dist/monitoring/frameworkProcessSignals.js +22 -0
  73. package/dist/monitoring/frameworkProcessSignals.js.map +1 -1
  74. package/dist/providers/adapters/pi-cli/capabilities.d.ts +31 -0
  75. package/dist/providers/adapters/pi-cli/capabilities.d.ts.map +1 -0
  76. package/dist/providers/adapters/pi-cli/capabilities.js +40 -0
  77. package/dist/providers/adapters/pi-cli/capabilities.js.map +1 -0
  78. package/dist/providers/adapters/pi-cli/config.d.ts +65 -0
  79. package/dist/providers/adapters/pi-cli/config.d.ts.map +1 -0
  80. package/dist/providers/adapters/pi-cli/config.js +43 -0
  81. package/dist/providers/adapters/pi-cli/config.js.map +1 -0
  82. package/dist/providers/adapters/pi-cli/control/piHardKill.d.ts +19 -0
  83. package/dist/providers/adapters/pi-cli/control/piHardKill.d.ts.map +1 -0
  84. package/dist/providers/adapters/pi-cli/control/piHardKill.js +67 -0
  85. package/dist/providers/adapters/pi-cli/control/piHardKill.js.map +1 -0
  86. package/dist/providers/adapters/pi-cli/errors.d.ts +43 -0
  87. package/dist/providers/adapters/pi-cli/errors.d.ts.map +1 -0
  88. package/dist/providers/adapters/pi-cli/errors.js +71 -0
  89. package/dist/providers/adapters/pi-cli/errors.js.map +1 -0
  90. package/dist/providers/adapters/pi-cli/index.d.ts +39 -0
  91. package/dist/providers/adapters/pi-cli/index.d.ts.map +1 -0
  92. package/dist/providers/adapters/pi-cli/index.js +69 -0
  93. package/dist/providers/adapters/pi-cli/index.js.map +1 -0
  94. package/dist/providers/adapters/pi-cli/observability/sessionId.d.ts +27 -0
  95. package/dist/providers/adapters/pi-cli/observability/sessionId.d.ts.map +1 -0
  96. package/dist/providers/adapters/pi-cli/observability/sessionId.js +53 -0
  97. package/dist/providers/adapters/pi-cli/observability/sessionId.js.map +1 -0
  98. package/dist/providers/adapters/pi-cli/policy.d.ts +44 -0
  99. package/dist/providers/adapters/pi-cli/policy.d.ts.map +1 -0
  100. package/dist/providers/adapters/pi-cli/policy.js +74 -0
  101. package/dist/providers/adapters/pi-cli/policy.js.map +1 -0
  102. package/dist/providers/adapters/pi-cli/transport/agenticSessionRpc.d.ts +34 -0
  103. package/dist/providers/adapters/pi-cli/transport/agenticSessionRpc.d.ts.map +1 -0
  104. package/dist/providers/adapters/pi-cli/transport/agenticSessionRpc.js +194 -0
  105. package/dist/providers/adapters/pi-cli/transport/agenticSessionRpc.js.map +1 -0
  106. package/dist/providers/adapters/pi-cli/transport/oneShotCompletion.d.ts +33 -0
  107. package/dist/providers/adapters/pi-cli/transport/oneShotCompletion.d.ts.map +1 -0
  108. package/dist/providers/adapters/pi-cli/transport/oneShotCompletion.js +166 -0
  109. package/dist/providers/adapters/pi-cli/transport/oneShotCompletion.js.map +1 -0
  110. package/dist/providers/adapters/pi-cli/transport/piSpawn.d.ts +87 -0
  111. package/dist/providers/adapters/pi-cli/transport/piSpawn.d.ts.map +1 -0
  112. package/dist/providers/adapters/pi-cli/transport/piSpawn.js +242 -0
  113. package/dist/providers/adapters/pi-cli/transport/piSpawn.js.map +1 -0
  114. package/dist/providers/adapters/pi-cli/transport/rpcClient.d.ts +103 -0
  115. package/dist/providers/adapters/pi-cli/transport/rpcClient.d.ts.map +1 -0
  116. package/dist/providers/adapters/pi-cli/transport/rpcClient.js +238 -0
  117. package/dist/providers/adapters/pi-cli/transport/rpcClient.js.map +1 -0
  118. package/dist/providers/bootRegistration.d.ts +38 -0
  119. package/dist/providers/bootRegistration.d.ts.map +1 -1
  120. package/dist/providers/bootRegistration.js +52 -0
  121. package/dist/providers/bootRegistration.js.map +1 -1
  122. package/dist/providers/parity/rules/skillParityRule.d.ts.map +1 -1
  123. package/dist/providers/parity/rules/skillParityRule.js +6 -0
  124. package/dist/providers/parity/rules/skillParityRule.js.map +1 -1
  125. package/dist/scaffold/templates.d.ts.map +1 -1
  126. package/dist/scaffold/templates.js +3 -2
  127. package/dist/scaffold/templates.js.map +1 -1
  128. package/dist/scheduler/JobScheduler.d.ts.map +1 -1
  129. package/dist/scheduler/JobScheduler.js +22 -0
  130. package/dist/scheduler/JobScheduler.js.map +1 -1
  131. package/dist/server/routes.d.ts.map +1 -1
  132. package/dist/server/routes.js +10 -3
  133. package/dist/server/routes.js.map +1 -1
  134. package/dist/threadline/PipeSessionSpawner.d.ts +23 -0
  135. package/dist/threadline/PipeSessionSpawner.d.ts.map +1 -1
  136. package/dist/threadline/PipeSessionSpawner.js +27 -0
  137. package/dist/threadline/PipeSessionSpawner.js.map +1 -1
  138. package/package.json +2 -2
  139. package/scripts/lint-no-direct-destructive.js +3 -0
  140. package/scripts/lint-no-unfunneled-headless-launch.js +128 -0
  141. package/src/data/builtin-manifest.json +65 -65
  142. package/src/scaffold/templates.ts +3 -2
  143. package/upgrades/1.3.344.md +46 -0
  144. package/upgrades/1.3.345.md +154 -0
  145. package/upgrades/side-effects/apprenticeship-layer-balance.md +50 -0
  146. package/upgrades/side-effects/june15-headless-spawn-reroute.md +105 -0
  147. package/upgrades/side-effects/pi-harness-integration.md +82 -0
@@ -74,6 +74,17 @@ export function resolveModelForFramework(framework, modelOrTier) {
74
74
  return 'gemini-2.5-pro';
75
75
  return modelOrTier;
76
76
  }
77
+ if (framework === 'pi-cli') {
78
+ // pi is multi-provider by design — its `--model` flag takes a
79
+ // `provider/id` pattern and the PROVIDER is the agent's config choice
80
+ // (frameworkDefaultModels['pi-cli'], e.g. 'openai-codex/gpt-5.5' or a
81
+ // models.json custom provider). Generic tiers therefore have no
82
+ // universal mapping here; they resolve inside the configured provider's
83
+ // own vocabulary downstream. Everything passes through verbatim — an
84
+ // invalid pattern fails loudly in pi's own model resolution, never
85
+ // silently on a wrong provider (PI-HARNESS-INTEGRATION-SPEC §2.2).
86
+ return modelOrTier;
87
+ }
77
88
  return modelOrTier;
78
89
  }
79
90
  /**
@@ -244,10 +255,46 @@ const geminiCliBuilder = (options) => {
244
255
  },
245
256
  };
246
257
  };
258
+ const piCliBuilder = (options) => {
259
+ // pi interactive launch (PI-HARNESS-INTEGRATION-SPEC §2.2). pi has NO
260
+ // permission system at all (YOLO by design — containment is the harness
261
+ // wrapper's job, same posture as Claude's --dangerously-skip-permissions
262
+ // fleet default), so there is no approval flag to pass.
263
+ const argv = [options.binaryPath];
264
+ if (options.piSessionDir) {
265
+ // Durable transcripts: pin the session store into the agent state dir
266
+ // instead of pi's per-cwd default.
267
+ argv.push('--session-dir', options.piSessionDir);
268
+ }
269
+ // Resume and fresh-pin both map to `--session-id <id>` — pi's flag is
270
+ // create-or-resume (deterministic id), verified hands-on in the P0.1 eval.
271
+ // Resume wins when both are set, mirroring the claude-code builder.
272
+ const pinnedId = options.resumeSessionId ?? options.sessionId;
273
+ if (pinnedId) {
274
+ argv.push('--session-id', pinnedId);
275
+ }
276
+ // Model is a `provider/id` pattern (pass-through resolution — see
277
+ // resolveModelForFramework). When unset, pi uses its own configured
278
+ // default provider/model, which keeps parity with Claude's
279
+ // "inherit the CLI's account default" behavior.
280
+ const resolvedModel = resolveModelForFramework('pi-cli', options.defaultModel);
281
+ if (resolvedModel) {
282
+ argv.push('--model', resolvedModel);
283
+ }
284
+ return {
285
+ argv,
286
+ envOverrides: {
287
+ // Defense-in-depth: clear CLAUDECODE so a pi session can't be
288
+ // mis-detected as a Claude one by env-grepping tooling.
289
+ CLAUDECODE: '',
290
+ },
291
+ };
292
+ };
247
293
  const BUILDERS = {
248
294
  'claude-code': claudeCodeBuilder,
249
295
  'codex-cli': codexCliBuilder,
250
296
  'gemini-cli': geminiCliBuilder,
297
+ 'pi-cli': piCliBuilder,
251
298
  };
252
299
  /**
253
300
  * Build the argv + env overrides for a Telegram/Slack-driven
@@ -380,10 +427,36 @@ const geminiCliHeadlessBuilder = (options) => {
380
427
  },
381
428
  };
382
429
  };
430
+ const piCliHeadlessBuilder = (options) => {
431
+ // pi headless (prompt-and-exit) — the canonical one-shot argv, verified
432
+ // hands-on in the P0.1 eval (pi 0.78.1):
433
+ // pi -p --mode json --no-session --offline [--model provider/id] <prompt>
434
+ // `--mode json` emits a JSONL event stream on stdout (message/tool events
435
+ // with usage + cost on message_end) — same consumption shape as
436
+ // `codex exec --json`. `--no-session` keeps one-shots ephemeral.
437
+ // `--offline` skips pi's startup network operations (first-boot fd/ripgrep
438
+ // downloads, update checks) so a job spawn can't stall on GitHub.
439
+ // The prompt is exactly one argv element, so a leading-dash prompt can't
440
+ // be re-parsed as a flag (same hardening note as the gemini builder).
441
+ const argv = [options.binaryPath, '-p', '--mode', 'json', '--no-session', '--offline'];
442
+ const resolvedModel = resolveModelForFramework('pi-cli', options.model);
443
+ if (resolvedModel) {
444
+ argv.push('--model', resolvedModel);
445
+ }
446
+ argv.push(options.prompt);
447
+ return {
448
+ argv,
449
+ envOverrides: {
450
+ // Same nested-detection prevention as the other builders.
451
+ CLAUDECODE: '',
452
+ },
453
+ };
454
+ };
383
455
  const HEADLESS_BUILDERS = {
384
456
  'claude-code': claudeCodeHeadlessBuilder,
385
457
  'codex-cli': codexCliHeadlessBuilder,
386
458
  'gemini-cli': geminiCliHeadlessBuilder,
459
+ 'pi-cli': piCliHeadlessBuilder,
387
460
  };
388
461
  /**
389
462
  * Build the argv + env overrides for a headless (one-shot prompt)
@@ -1 +1 @@
1
- {"version":3,"file":"frameworkSessionLaunch.js","sourceRoot":"","sources":["../../src/core/frameworkSessionLaunch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frameworkSessionLaunch.js","sourceRoot":"","sources":["../../src/core/frameworkSessionLaunch.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ import type { AgentSdkCreditSnapshot } from '../providers/primitives/observabili
30
30
  * related to this type by the compiler; they are a hand-audit checklist
31
31
  * (see APPRENTICESHIP-STEP2-GEMINI-RUNTIME-ADAPTER-SPEC §4.3).
32
32
  */
33
- export type IntelligenceFramework = 'claude-code' | 'codex-cli' | 'gemini-cli';
33
+ export type IntelligenceFramework = 'claude-code' | 'codex-cli' | 'gemini-cli' | 'pi-cli';
34
34
  export interface BuildIntelligenceProviderOptions {
35
35
  /**
36
36
  * Which framework's CLI to route through. Defaults to 'claude-code'
@@ -77,6 +77,20 @@ export interface BuildIntelligenceProviderOptions {
77
77
  onRoute?: (info: SubscriptionRouteInfo) => void;
78
78
  onDegrade?: (info: SubscriptionDegradeInfo) => void;
79
79
  };
80
+ /**
81
+ * pi-cli only (PI-HARNESS-INTEGRATION-SPEC §4.4): the REQUIRED pi model
82
+ * pattern (`provider/id`, e.g. 'openai-codex/gpt-5.5'). Sourced from
83
+ * frameworkDefaultModels['pi-cli'] at the wiring site. Without it the
84
+ * pi-cli case degrades to null (the subscription guard denies
85
+ * pattern-less pi calls by design).
86
+ */
87
+ piModel?: string;
88
+ /**
89
+ * pi-cli only (spec §4.3): explicit opt-in for Anthropic-routed patterns.
90
+ * Sourced from `.instar/config.json` → `piCli.allowAnthropicProviders`.
91
+ * Even when true, allowed calls are audit-logged with a cost warning.
92
+ */
93
+ piAllowAnthropicProviders?: boolean;
80
94
  }
81
95
  /**
82
96
  * Build an IntelligenceProvider for the given framework. Returns null
@@ -1 +1 @@
1
- {"version":3,"file":"intelligenceProviderFactory.d.ts","sourceRoot":"","sources":["../../src/core/intelligenceProviderFactory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAMvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC7B,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6DAA6D,CAAC;AAE1G;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG,WAAW,GAAG,YAAY,CAAC;AAE/E,MAAM,WAAW,gCAAgC;IAC/C;;;;OAIG;IACH,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE;QACjB,IAAI,EAAE,oBAAoB,CAAC;QAC3B,4EAA4E;QAC5E,WAAW,EAAE,eAAe,CAAC;QAC7B,gEAAgE;QAChE,aAAa,EAAE,MAAM,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;QAC5D,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;QAChD,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,IAAI,CAAC;KACrD,CAAC;CACH;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,gCAAqC,GAC7C,oBAAoB,GAAG,IAAI,CAiE7B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,qBAAqB,GAAG,IAAI,CAOnG"}
1
+ {"version":3,"file":"intelligenceProviderFactory.d.ts","sourceRoot":"","sources":["../../src/core/intelligenceProviderFactory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAOvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC7B,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6DAA6D,CAAC;AAE1G;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG,WAAW,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE1F,MAAM,WAAW,gCAAgC;IAC/C;;;;OAIG;IACH,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE;QACjB,IAAI,EAAE,oBAAoB,CAAC;QAC3B,4EAA4E;QAC5E,WAAW,EAAE,eAAe,CAAC;QAC7B,gEAAgE;QAChE,aAAa,EAAE,MAAM,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;QAC5D,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;QAChD,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,IAAI,CAAC;KACrD,CAAC;IACF;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,gCAAqC,GAC7C,oBAAoB,GAAG,IAAI,CAyG7B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,qBAAqB,GAAG,IAAI,CAOnG"}
@@ -13,10 +13,11 @@
13
13
  * returns null. The composition root decides whether that's a fatal
14
14
  * error or a "fall back to whatever IS installed" situation.
15
15
  */
16
- import { detectClaudePath, detectCodexPath, detectGeminiPath } from './Config.js';
16
+ import { detectClaudePath, detectCodexPath, detectGeminiPath, detectPiPath } from './Config.js';
17
17
  import { ClaudeCliIntelligenceProvider } from './ClaudeCliIntelligenceProvider.js';
18
18
  import { CodexCliIntelligenceProvider } from './CodexCliIntelligenceProvider.js';
19
19
  import { GeminiCliIntelligenceProvider } from './GeminiCliIntelligenceProvider.js';
20
+ import { PiCliIntelligenceProvider } from './PiCliIntelligenceProvider.js';
20
21
  import { wrapIntelligenceWithCircuitBreaker } from './CircuitBreakingIntelligenceProvider.js';
21
22
  import { AnthropicSubscriptionRouter, } from './AnthropicSubscriptionRouter.js';
22
23
  import { InteractivePoolIntelligenceProvider } from './InteractivePoolIntelligenceProvider.js';
@@ -85,6 +86,43 @@ export function buildIntelligenceProvider(options = {}) {
85
86
  ...(options.quotaStateFile ? { capacityPolicy: { quotaStateFile: options.quotaStateFile } } : {}),
86
87
  }), options.breaker);
87
88
  }
89
+ case 'pi-cli': {
90
+ // PI-HARNESS-INTEGRATION-SPEC §4.4. Two preconditions, both degrading
91
+ // to null (caller falls back, never a boot failure):
92
+ // 1. the pi binary must be detectable, AND
93
+ // 2. an explicit model pattern must be configured
94
+ // (frameworkDefaultModels['pi-cli'] → options.piModel) — the
95
+ // subscription guard denies pattern-less pi calls by design, so
96
+ // constructing a provider without one would fail every call.
97
+ const path = options.binaryPath ?? detectPiPath();
98
+ if (!path)
99
+ return null;
100
+ if (!options.piModel) {
101
+ console.warn(`[intelligenceProviderFactory] pi-cli routing requested but no model pattern is configured — ` +
102
+ `set frameworkDefaultModels['pi-cli'] (e.g. "openai-codex/gpt-5.5"). Degrading to default framework.`);
103
+ return null;
104
+ }
105
+ try {
106
+ return wrapIntelligenceWithCircuitBreaker(new PiCliIntelligenceProvider({
107
+ piPath: path,
108
+ model: options.piModel,
109
+ ...(options.piAllowAnthropicProviders !== undefined
110
+ ? { allowAnthropicProviders: options.piAllowAnthropicProviders }
111
+ : {}),
112
+ ...(options.workingDirectory ? { workingDirectory: options.workingDirectory } : {}),
113
+ }), options.breaker);
114
+ }
115
+ catch (err) {
116
+ // @silent-fallback-ok — NOT a silent fallback: a PiAnthropicRouteError
117
+ // at construction (a misconfigured Anthropic pattern without the
118
+ // override) degrades to null LOUDLY (console.warn below), and the
119
+ // caller (IntelligenceRouter) treats null as "framework unavailable →
120
+ // route to the default framework" with its own DegradationReporter
121
+ // emission. Reporting here too would double-count the same degrade.
122
+ console.warn(`[intelligenceProviderFactory] pi-cli provider refused: ${err instanceof Error ? err.message : err}`);
123
+ return null;
124
+ }
125
+ }
88
126
  default: {
89
127
  // Exhaustiveness check — extending IntelligenceFramework without
90
128
  // adding a case here is a type error.
@@ -1 +1 @@
1
- {"version":3,"file":"intelligenceProviderFactory.js","sourceRoot":"","sources":["../../src/core/intelligenceProviderFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intelligenceProviderFactory.js","sourceRoot":"","sources":["../../src/core/intelligenceProviderFactory.ts"],"names":[],"mappings":"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"}
@@ -55,7 +55,7 @@ export interface Session {
55
55
  /** The AI framework/engine powering this session. Carried so the dashboard
56
56
  * renders engine-aware (a Codex session must not display as a Claude one).
57
57
  * Populated at spawn from the resolved framework; undefined on legacy records. */
58
- framework?: 'claude-code' | 'codex-cli' | 'gemini-cli';
58
+ framework?: 'claude-code' | 'codex-cli' | 'gemini-cli' | 'pi-cli';
59
59
  /** The initial prompt/instruction sent to the framework's CLI */
60
60
  prompt?: string;
61
61
  /** Maximum duration in minutes before the session is killed */
@@ -66,6 +66,40 @@ export interface Session {
66
66
  * (e.g. 'idle-zombie', 'reaped-idle', 'manual-kill'). Undefined on records
67
67
  * ended before this field existed. */
68
68
  endedReason?: string;
69
+ /**
70
+ * How this session signals task completion (june15-headless-spawn-reroute, PR2).
71
+ * - undefined/'exit': today's behavior — a headless one-shot signals completion
72
+ * by process exit; the monitor loop relies on exit detection. Byte-for-byte
73
+ * unchanged for the default lane.
74
+ * - 'pattern': a rerouted-interactive session never exits, so completion is
75
+ * detected by scanning the captured pane for this session's own
76
+ * `completionPatterns` (the injected sentinel). The monitor loop branches on
77
+ * this field. See docs/specs/june15-headless-spawn-reroute.md ("Completion
78
+ * detection is the crux"). */
79
+ completionMode?: 'exit' | 'pattern';
80
+ /**
81
+ * Per-session completion patterns (june15-headless-spawn-reroute, PR2). Only
82
+ * consulted when completionMode === 'pattern'. The default
83
+ * SessionManagerConfig.completionPatterns are session-DEATH phrases an
84
+ * interactive REPL never prints on task success — the reroute supplies its own
85
+ * deterministic sentinel here (`INSTAR_JOB_COMPLETE_<id-suffix>`). */
86
+ completionPatterns?: string[];
87
+ /**
88
+ * Which billing lane this session launched on (june15-headless-spawn-reroute,
89
+ * PR2 finding O4 — positive-lane observability). 'headless' = today's
90
+ * `claude -p` one-shot (Agent SDK pot post-June-15); 'rerouted-interactive' =
91
+ * launched as an interactive REPL on the subscription path. Always populated
92
+ * now for claude-code spawns; surfaced in GET /sessions and the reap-log so the
93
+ * soak's success criterion (zero 'headless' under force) is machine-checkable. */
94
+ launchLane?: 'headless' | 'rerouted-interactive';
95
+ /**
96
+ * Hard lifetime ceiling in minutes for a rerouted-interactive session
97
+ * (june15-headless-spawn-reroute, PR2 finding O1 belt-and-suspenders). An
98
+ * interactive REPL never exits, so if the model phrases its finish differently
99
+ * than the sentinel the session would leak onto the 5h window. On expiry the
100
+ * session is killed + timeout DegradationReporter-reported. Unset on the
101
+ * headless lane (it exits on its own). */
102
+ maxLifetimeMinutes?: number;
69
103
  }
70
104
  export type SessionStatus = 'starting' | 'running' | 'completed' | 'failed' | 'killed';
71
105
  export type ModelTier = 'opus' | 'sonnet' | 'haiku';
@@ -110,6 +144,7 @@ export interface SessionManagerConfig {
110
144
  'claude-code'?: string;
111
145
  'codex-cli'?: string;
112
146
  'gemini-cli'?: string;
147
+ 'pi-cli'?: string;
113
148
  };
114
149
  /**
115
150
  * Per-framework default model override. Lets the agent's
@@ -123,7 +158,17 @@ export interface SessionManagerConfig {
123
158
  'claude-code'?: string;
124
159
  'codex-cli'?: string;
125
160
  'gemini-cli'?: string;
161
+ 'pi-cli'?: string;
126
162
  };
163
+ /**
164
+ * pi-cli only (PI-HARNESS-INTEGRATION-SPEC §4.3): explicit opt-in for
165
+ * Anthropic-routed pi model patterns. Sourced from `.instar/config.json`
166
+ * → top-level `piCli.allowAnthropicProviders` at Config.load. Default
167
+ * (absent/false) means the structural subscription guard DENIES
168
+ * Anthropic-via-pi — third-party-harness Claude usage bills as extra
169
+ * usage, not plan limits.
170
+ */
171
+ piCliAllowAnthropicProviders?: boolean;
127
172
  /**
128
173
  * Per-component framework routing (docs/specs/per-component-framework-routing.md):
129
174
  * route different INTERNAL LLM-driven components (sentinels, gates, …) to
@@ -137,9 +182,9 @@ export interface SessionManagerConfig {
137
182
  * topicFrameworks/resolveTopicFramework.
138
183
  */
139
184
  componentFrameworks?: {
140
- default?: 'claude-code' | 'codex-cli' | 'gemini-cli';
141
- categories?: Partial<Record<'sentinel' | 'gate' | 'job' | 'reflector' | 'other', 'claude-code' | 'codex-cli' | 'gemini-cli'>>;
142
- overrides?: Record<string, 'claude-code' | 'codex-cli' | 'gemini-cli'>;
185
+ default?: 'claude-code' | 'codex-cli' | 'gemini-cli' | 'pi-cli';
186
+ categories?: Partial<Record<'sentinel' | 'gate' | 'job' | 'reflector' | 'other', 'claude-code' | 'codex-cli' | 'gemini-cli' | 'pi-cli'>>;
187
+ overrides?: Record<string, 'claude-code' | 'codex-cli' | 'gemini-cli' | 'pi-cli'>;
143
188
  fallback?: 'default' | 'none';
144
189
  };
145
190
  /**
@@ -152,7 +197,7 @@ export interface SessionManagerConfig {
152
197
  * EVERY path — scheduled jobs AND user messages. Before this
153
198
  * field existed, spawnInteractiveSession hardcoded 'claude-code',
154
199
  * so messaging a Codex-only agent spawned a Claude session. */
155
- framework?: 'claude-code' | 'codex-cli' | 'gemini-cli';
200
+ framework?: 'claude-code' | 'codex-cli' | 'gemini-cli' | 'pi-cli';
156
201
  /** Project directory (where CLAUDE.md lives) */
157
202
  projectDir: string;
158
203
  /** Maximum concurrent sessions */
@@ -222,6 +267,25 @@ export interface SessionManagerConfig {
222
267
  * sub-floor probe timeout (which would re-create the 2026-05-27 false-purge)
223
268
  * is rejected loudly. */
224
269
  liveness?: Partial<import('./SessionLivenessOracle.js').SessionLivenessOracleConfig>;
270
+ /**
271
+ * Headless-spawn reroute mode (june15-headless-spawn-reroute, PR2). Mirrors
272
+ * `intelligence.subscriptionPath.mode` — threaded from server boot so
273
+ * spawnSession's claude-code headless branch knows whether to reroute a
274
+ * `claude -p` one-shot onto the interactive (subscription) lane. Absent/'off'
275
+ * ⇒ today's behavior, byte-for-byte. 'force' ⇒ always reroute claude-code
276
+ * headless spawns; 'auto' ⇒ reroute only when the shared decideSdkVsSubscription
277
+ * says subscription (SDK pot pressure). See spec "The core switch". */
278
+ subscriptionPathMode?: 'off' | 'auto' | 'force';
279
+ /**
280
+ * Max concurrent rerouted-interactive sessions across all spawn classes
281
+ * (june15-headless-spawn-reroute PR2, findings S1/O2). Threaded from
282
+ * `intelligence.subscriptionPath.maxRerouted` (default 3). */
283
+ subscriptionMaxRerouted?: number;
284
+ /**
285
+ * Hard lifetime ceiling (minutes) stamped onto each rerouted-interactive
286
+ * session (june15-headless-spawn-reroute PR2, finding O1). Threaded from
287
+ * `intelligence.subscriptionPath.maxReroutedLifetimeMinutes` (default 45). */
288
+ subscriptionReroutedLifetimeMinutes?: number;
225
289
  }
226
290
  export interface JobDefinition {
227
291
  slug: string;
@@ -816,7 +880,7 @@ export interface RelationshipManagerConfig {
816
880
  */
817
881
  intelligence?: IntelligenceProvider;
818
882
  }
819
- export type SkipReason = 'disabled' | 'paused' | 'quota' | 'memory-pressure' | 'capacity' | 'claimed' | 'machine-scope' | 'gate';
883
+ export type SkipReason = 'disabled' | 'paused' | 'quota' | 'memory-pressure' | 'capacity' | 'claimed' | 'machine-scope' | 'already-running' | 'gate';
820
884
  /**
821
885
  * Result of a canRunJob gate check. The callback may return a plain boolean
822
886
  * (legacy) or this richer form so the scheduler can log/track the actual
@@ -2046,7 +2110,7 @@ export interface InstarConfig {
2046
2110
  * Lets you flip a single topic to Codex without changing the whole
2047
2111
  * agent's framework.
2048
2112
  */
2049
- topicFrameworks?: Record<string, 'claude-code' | 'codex-cli' | 'gemini-cli'>;
2113
+ topicFrameworks?: Record<string, 'claude-code' | 'codex-cli' | 'gemini-cli' | 'pi-cli'>;
2050
2114
  /**
2051
2115
  * Topic-intent auto-capture loop config (rung 0 of continuous-working-awareness).
2052
2116
  * `capture.enabled` (default true) is the kill-switch for the per-turn extraction
@@ -2154,6 +2218,22 @@ export interface InstarConfig {
2154
2218
  * with the `--setting-sources user` flag on the `claude -p` path).
2155
2219
  */
2156
2220
  workingDirectory?: string;
2221
+ /**
2222
+ * Max concurrent rerouted-interactive sessions across ALL spawn classes
2223
+ * (jobs + A2A + mentor) — june15-headless-spawn-reroute PR2 findings S1/O2.
2224
+ * Each held REPL is ~200–500MB RSS; without a cap the
2225
+ * worst-case maxSessions×500MB = the 2026-06-05 laptop-meltdown class.
2226
+ * Default 3 (analogous to `maxParallelJobs ?? 2`). Under 'auto', exceeding
2227
+ * the cap falls back to headless (degradation-reported); under 'force' the
2228
+ * spawn is refused loudly. */
2229
+ maxRerouted?: number;
2230
+ /**
2231
+ * Hard lifetime ceiling (minutes) for a rerouted-interactive session
2232
+ * (june15-headless-spawn-reroute PR2 finding O1). On expiry the session is
2233
+ * killed + the timeout is DegradationReporter-reported. Default 45 — the
2234
+ * backstop for when the model phrases its finish differently than the
2235
+ * injected sentinel and the REPL would otherwise never be reaped. */
2236
+ maxReroutedLifetimeMinutes?: number;
2157
2237
  };
2158
2238
  };
2159
2239
  /**
@@ -2168,7 +2248,7 @@ export interface InstarConfig {
2168
2248
  * `enabledFrameworks`; this is the persisted, operator-settable
2169
2249
  * source of truth the migrator reads.)
2170
2250
  */
2171
- enabledFrameworks?: ('claude-code' | 'codex-cli' | 'gemini-cli')[];
2251
+ enabledFrameworks?: ('claude-code' | 'codex-cli' | 'gemini-cli' | 'pi-cli')[];
2172
2252
  /** Job scheduler config */
2173
2253
  scheduler: JobSchedulerConfig;
2174
2254
  /** Registered users */