@the-open-engine/zeroshot 6.37.0 → 6.38.1

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 (78) hide show
  1. package/cli/lib/setup-scanner-worker.js +2 -9
  2. package/lib/agent-cli-provider/adapters/claude-recovery.d.ts.map +1 -1
  3. package/lib/agent-cli-provider/adapters/claude-recovery.js +17 -3
  4. package/lib/agent-cli-provider/adapters/claude-recovery.js.map +1 -1
  5. package/lib/agent-cli-provider/adapters/codex.d.ts.map +1 -1
  6. package/lib/agent-cli-provider/adapters/codex.js +3 -1
  7. package/lib/agent-cli-provider/adapters/codex.js.map +1 -1
  8. package/lib/agent-cli-provider/adapters/index.d.ts.map +1 -1
  9. package/lib/agent-cli-provider/adapters/index.js +7 -0
  10. package/lib/agent-cli-provider/adapters/index.js.map +1 -1
  11. package/lib/agent-cli-provider/adapters/pi.d.ts.map +1 -1
  12. package/lib/agent-cli-provider/adapters/pi.js +86 -97
  13. package/lib/agent-cli-provider/adapters/pi.js.map +1 -1
  14. package/lib/agent-cli-provider/contract-parse.d.ts.map +1 -1
  15. package/lib/agent-cli-provider/contract-parse.js +5 -1
  16. package/lib/agent-cli-provider/contract-parse.js.map +1 -1
  17. package/lib/agent-cli-provider/invoke-evidence.d.ts.map +1 -1
  18. package/lib/agent-cli-provider/invoke-evidence.js +8 -1
  19. package/lib/agent-cli-provider/invoke-evidence.js.map +1 -1
  20. package/lib/agent-cli-provider/pi/credentials.d.ts +2 -0
  21. package/lib/agent-cli-provider/pi/credentials.d.ts.map +1 -0
  22. package/lib/agent-cli-provider/pi/credentials.js +51 -0
  23. package/lib/agent-cli-provider/pi/credentials.js.map +1 -0
  24. package/lib/agent-cli-provider/pi/events.d.ts +5 -0
  25. package/lib/agent-cli-provider/pi/events.d.ts.map +1 -0
  26. package/lib/agent-cli-provider/pi/events.js +124 -0
  27. package/lib/agent-cli-provider/pi/events.js.map +1 -0
  28. package/lib/agent-cli-provider/pi/protocol-state.d.ts +6 -0
  29. package/lib/agent-cli-provider/pi/protocol-state.d.ts.map +1 -0
  30. package/lib/agent-cli-provider/pi/protocol-state.js +138 -0
  31. package/lib/agent-cli-provider/pi/protocol-state.js.map +1 -0
  32. package/lib/agent-cli-provider/pi/release.d.ts +4 -0
  33. package/lib/agent-cli-provider/pi/release.d.ts.map +1 -0
  34. package/lib/agent-cli-provider/pi/release.js +7 -0
  35. package/lib/agent-cli-provider/pi/release.js.map +1 -0
  36. package/lib/agent-cli-provider/probe-availability.d.ts +5 -0
  37. package/lib/agent-cli-provider/probe-availability.d.ts.map +1 -0
  38. package/lib/agent-cli-provider/probe-availability.js +11 -0
  39. package/lib/agent-cli-provider/probe-availability.js.map +1 -0
  40. package/lib/agent-cli-provider/provider-registry.d.ts +13 -9
  41. package/lib/agent-cli-provider/provider-registry.d.ts.map +1 -1
  42. package/lib/agent-cli-provider/provider-registry.js +42 -8
  43. package/lib/agent-cli-provider/provider-registry.js.map +1 -1
  44. package/lib/agent-cli-provider/single-agent-runtime.d.ts.map +1 -1
  45. package/lib/agent-cli-provider/single-agent-runtime.js +15 -5
  46. package/lib/agent-cli-provider/single-agent-runtime.js.map +1 -1
  47. package/lib/agent-cli-provider/types.d.ts +3 -0
  48. package/lib/agent-cli-provider/types.d.ts.map +1 -1
  49. package/lib/agent-cli-provider/types.js.map +1 -1
  50. package/lib/cluster-worker/engine-adapter.js +9 -1
  51. package/lib/docker-config.js +6 -1
  52. package/lib/provider-credential-path.js +36 -0
  53. package/lib/start-cluster.js +8 -0
  54. package/npm-shrinkwrap.json +2 -2
  55. package/package.json +1 -1
  56. package/src/agent/agent-task-executor.js +79 -20
  57. package/src/agent/output-extraction.js +115 -0
  58. package/src/agent/pi-terminal-lifecycle.js +242 -0
  59. package/src/agent/provider-control-plane.js +26 -0
  60. package/src/agent/provider-terminal-failure.js +49 -24
  61. package/src/agent-cli-provider/adapters/claude-recovery.ts +15 -2
  62. package/src/agent-cli-provider/adapters/codex.ts +3 -1
  63. package/src/agent-cli-provider/adapters/index.ts +6 -0
  64. package/src/agent-cli-provider/adapters/pi.ts +105 -125
  65. package/src/agent-cli-provider/contract-parse.ts +8 -1
  66. package/src/agent-cli-provider/invoke-evidence.ts +11 -1
  67. package/src/agent-cli-provider/pi/credentials.ts +47 -0
  68. package/src/agent-cli-provider/pi/events.ts +148 -0
  69. package/src/agent-cli-provider/pi/protocol-state.ts +163 -0
  70. package/src/agent-cli-provider/pi/release.ts +4 -0
  71. package/src/agent-cli-provider/probe-availability.ts +19 -0
  72. package/src/agent-cli-provider/provider-registry.ts +48 -9
  73. package/src/agent-cli-provider/single-agent-runtime.ts +27 -6
  74. package/src/agent-cli-provider/types.ts +3 -0
  75. package/src/config-validator.js +1 -3
  76. package/src/isolation-manager.js +43 -29
  77. package/src/orchestrator.js +33 -1
  78. package/task-lib/watcher-output-runtime.js +16 -5
@@ -0,0 +1,2 @@
1
+ export declare const PI_CREDENTIAL_ENV_KEYS: readonly ["ANTHROPIC_AUTH_TOKEN", "ANTHROPIC_OAUTH_TOKEN", "ANTHROPIC_API_KEY", "ANT_LING_API_KEY", "QWEN_TOKEN_PLAN_API_KEY", "QWEN_TOKEN_PLAN_CN_API_KEY", "OPENAI_API_KEY", "AZURE_OPENAI_API_KEY", "NVIDIA_API_KEY", "DEEPSEEK_API_KEY", "GEMINI_API_KEY", "GOOGLE_CLOUD_API_KEY", "GROQ_API_KEY", "CEREBRAS_API_KEY", "XAI_API_KEY", "RADIUS_API_KEY", "OPENROUTER_API_KEY", "AI_GATEWAY_API_KEY", "ZAI_API_KEY", "ZAI_CODING_CN_API_KEY", "MISTRAL_API_KEY", "MINIMAX_API_KEY", "MINIMAX_CN_API_KEY", "MOONSHOT_API_KEY", "HF_TOKEN", "FIREWORKS_API_KEY", "TOGETHER_API_KEY", "BASETEN_API_KEY", "OPENCODE_API_KEY", "KIMI_API_KEY", "CLOUDFLARE_API_KEY", "XIAOMI_API_KEY", "XIAOMI_TOKEN_PLAN_CN_API_KEY", "XIAOMI_TOKEN_PLAN_AMS_API_KEY", "XIAOMI_TOKEN_PLAN_SGP_API_KEY", "COPILOT_GITHUB_TOKEN", "AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN", "AWS_BEARER_TOKEN_BEDROCK", "AWS_PROFILE", "AWS_CONTAINER_CREDENTIALS_RELATIVE_URI", "AWS_CONTAINER_CREDENTIALS_FULL_URI", "AWS_WEB_IDENTITY_TOKEN_FILE", "GOOGLE_APPLICATION_CREDENTIALS"];
2
+ //# sourceMappingURL=credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../src/agent-cli-provider/pi/credentials.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,8gCA8CzB,CAAC"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PI_CREDENTIAL_ENV_KEYS = void 0;
4
+ exports.PI_CREDENTIAL_ENV_KEYS = [
5
+ 'ANTHROPIC_AUTH_TOKEN',
6
+ 'ANTHROPIC_OAUTH_TOKEN',
7
+ 'ANTHROPIC_API_KEY',
8
+ 'ANT_LING_API_KEY',
9
+ 'QWEN_TOKEN_PLAN_API_KEY',
10
+ 'QWEN_TOKEN_PLAN_CN_API_KEY',
11
+ 'OPENAI_API_KEY',
12
+ 'AZURE_OPENAI_API_KEY',
13
+ 'NVIDIA_API_KEY',
14
+ 'DEEPSEEK_API_KEY',
15
+ 'GEMINI_API_KEY',
16
+ 'GOOGLE_CLOUD_API_KEY',
17
+ 'GROQ_API_KEY',
18
+ 'CEREBRAS_API_KEY',
19
+ 'XAI_API_KEY',
20
+ 'RADIUS_API_KEY',
21
+ 'OPENROUTER_API_KEY',
22
+ 'AI_GATEWAY_API_KEY',
23
+ 'ZAI_API_KEY',
24
+ 'ZAI_CODING_CN_API_KEY',
25
+ 'MISTRAL_API_KEY',
26
+ 'MINIMAX_API_KEY',
27
+ 'MINIMAX_CN_API_KEY',
28
+ 'MOONSHOT_API_KEY',
29
+ 'HF_TOKEN',
30
+ 'FIREWORKS_API_KEY',
31
+ 'TOGETHER_API_KEY',
32
+ 'BASETEN_API_KEY',
33
+ 'OPENCODE_API_KEY',
34
+ 'KIMI_API_KEY',
35
+ 'CLOUDFLARE_API_KEY',
36
+ 'XIAOMI_API_KEY',
37
+ 'XIAOMI_TOKEN_PLAN_CN_API_KEY',
38
+ 'XIAOMI_TOKEN_PLAN_AMS_API_KEY',
39
+ 'XIAOMI_TOKEN_PLAN_SGP_API_KEY',
40
+ 'COPILOT_GITHUB_TOKEN',
41
+ 'AWS_ACCESS_KEY_ID',
42
+ 'AWS_SECRET_ACCESS_KEY',
43
+ 'AWS_SESSION_TOKEN',
44
+ 'AWS_BEARER_TOKEN_BEDROCK',
45
+ 'AWS_PROFILE',
46
+ 'AWS_CONTAINER_CREDENTIALS_RELATIVE_URI',
47
+ 'AWS_CONTAINER_CREDENTIALS_FULL_URI',
48
+ 'AWS_WEB_IDENTITY_TOKEN_FILE',
49
+ 'GOOGLE_APPLICATION_CREDENTIALS',
50
+ ];
51
+ //# sourceMappingURL=credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../../src/agent-cli-provider/pi/credentials.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG;IACpC,sBAAsB;IACtB,uBAAuB;IACvB,mBAAmB;IACnB,kBAAkB;IAClB,yBAAyB;IACzB,4BAA4B;IAC5B,gBAAgB;IAChB,sBAAsB;IACtB,gBAAgB;IAChB,kBAAkB;IAClB,gBAAgB;IAChB,sBAAsB;IACtB,cAAc;IACd,kBAAkB;IAClB,aAAa;IACb,gBAAgB;IAChB,oBAAoB;IACpB,oBAAoB;IACpB,aAAa;IACb,uBAAuB;IACvB,iBAAiB;IACjB,iBAAiB;IACjB,oBAAoB;IACpB,kBAAkB;IAClB,UAAU;IACV,mBAAmB;IACnB,kBAAkB;IAClB,iBAAiB;IACjB,kBAAkB;IAClB,cAAc;IACd,oBAAoB;IACpB,gBAAgB;IAChB,8BAA8B;IAC9B,+BAA+B;IAC/B,+BAA+B;IAC/B,sBAAsB;IACtB,mBAAmB;IACnB,uBAAuB;IACvB,mBAAmB;IACnB,0BAA0B;IAC1B,aAAa;IACb,wCAAwC;IACxC,oCAAoC;IACpC,6BAA6B;IAC7B,gCAAgC;CACxB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { OutputEvent, ProviderParserState } from '../types';
2
+ export declare function createPiParserState(): ProviderParserState;
3
+ export declare function parsePiEvent(line: string, state: ProviderParserState): readonly OutputEvent[] | OutputEvent | null;
4
+ export declare function finishPiParsing(state: ProviderParserState): OutputEvent | null;
5
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/agent-cli-provider/pi/events.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAqBjE,wBAAgB,mBAAmB,IAAI,mBAAmB,CAOzD;AAoFD,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,mBAAmB,GACzB,SAAS,WAAW,EAAE,GAAG,WAAW,GAAG,IAAI,CAiB7C;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,mBAAmB,GAAG,WAAW,GAAG,IAAI,CAI9E"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createPiParserState = createPiParserState;
4
+ exports.parsePiEvent = parsePiEvent;
5
+ exports.finishPiParsing = finishPiParsing;
6
+ const assistant_stream_1 = require("../assistant-stream");
7
+ const json_1 = require("../json");
8
+ const protocol_state_1 = require("./protocol-state");
9
+ const IGNORED_EVENT_TYPES = new Set([
10
+ 'session',
11
+ 'agent_start',
12
+ 'agent_end',
13
+ 'turn_start',
14
+ 'queue_update',
15
+ 'compaction_start',
16
+ 'compaction_end',
17
+ 'auto_retry_start',
18
+ 'auto_retry_end',
19
+ ]);
20
+ const settledStates = new WeakSet();
21
+ function createPiParserState() {
22
+ return {
23
+ provider: 'pi',
24
+ lastToolId: undefined,
25
+ lastAssistantText: '',
26
+ lastAssistantThinking: '',
27
+ };
28
+ }
29
+ function parseMessageEvent(type, event, state) {
30
+ if (type === 'message_start') {
31
+ (0, assistant_stream_1.resetAssistantSnapshot)((0, json_1.getRecord)(event, 'message'), state);
32
+ return null;
33
+ }
34
+ if (type === 'message_update') {
35
+ const assistantMessageEvent = (0, json_1.getRecord)(event, 'assistantMessageEvent');
36
+ if (assistantMessageEvent !== null) {
37
+ const assistantEvent = (0, assistant_stream_1.parseAssistantDelta)(assistantMessageEvent, state);
38
+ if (assistantEvent !== null)
39
+ return assistantEvent;
40
+ }
41
+ const message = (0, json_1.getRecord)(event, 'message');
42
+ return message === null ? null : (0, assistant_stream_1.emitAssistantSnapshot)(message, state);
43
+ }
44
+ if (type !== 'message_end')
45
+ return undefined;
46
+ const message = (0, json_1.getRecord)(event, 'message');
47
+ if (message !== null &&
48
+ (0, json_1.getString)(message, 'role') === 'toolResult' &&
49
+ Object.hasOwn(message, 'usage')) {
50
+ (0, protocol_state_1.rememberPiUsage)((0, json_1.getRecord)(message, 'usage'), state, 'Pi tool usage');
51
+ }
52
+ (0, protocol_state_1.rememberPiAssistant)(message, state);
53
+ return message === null || (0, json_1.getString)(message, 'role') !== 'assistant'
54
+ ? null
55
+ : (0, assistant_stream_1.emitAssistantSnapshot)(message, state);
56
+ }
57
+ function parseToolEvent(type, event, state) {
58
+ if (type === 'tool_execution_start')
59
+ return (0, assistant_stream_1.parseToolExecutionStart)(event, state);
60
+ if (type === 'tool_execution_update')
61
+ return (0, assistant_stream_1.parseToolExecutionUpdate)(event, state);
62
+ if (type === 'tool_execution_end')
63
+ return (0, assistant_stream_1.parseToolExecutionEnd)(event, state);
64
+ return undefined;
65
+ }
66
+ function parseKnownPiEvent(type, parsed, state) {
67
+ if (type === 'compaction_end') {
68
+ const result = (0, json_1.getRecord)(parsed, 'result');
69
+ if (result !== null && Object.hasOwn(result, 'usage')) {
70
+ (0, protocol_state_1.rememberPiUsage)((0, json_1.getRecord)(result, 'usage'), state, 'Pi compaction usage');
71
+ }
72
+ return null;
73
+ }
74
+ if (type === 'entry_appended') {
75
+ const entry = (0, json_1.getRecord)(parsed, 'entry');
76
+ if (entry !== null &&
77
+ (0, json_1.getString)(entry, 'type') === 'branch_summary' &&
78
+ Object.hasOwn(entry, 'usage')) {
79
+ (0, protocol_state_1.rememberPiUsage)((0, json_1.getRecord)(entry, 'usage'), state, 'Pi branch summary usage');
80
+ }
81
+ return null;
82
+ }
83
+ if (IGNORED_EVENT_TYPES.has(type))
84
+ return null;
85
+ const messageEvent = parseMessageEvent(type, parsed, state);
86
+ if (messageEvent !== undefined)
87
+ return messageEvent;
88
+ const toolEvent = parseToolEvent(type, parsed, state);
89
+ if (toolEvent !== undefined)
90
+ return toolEvent;
91
+ if (type === 'turn_end') {
92
+ const message = (0, json_1.getRecord)(parsed, 'message');
93
+ return message === null ? [] : (0, assistant_stream_1.emitAssistantSnapshot)(message, state);
94
+ }
95
+ if (type !== 'agent_settled')
96
+ return null;
97
+ settledStates.add(state);
98
+ return (0, protocol_state_1.settlePiStream)(state);
99
+ }
100
+ function parsePiEvent(line, state) {
101
+ if (line.trim() && settledStates.has(state)) {
102
+ (0, protocol_state_1.invalidatePiStream)(state, 'stdout contained output after agent_settled.');
103
+ return (0, protocol_state_1.settlePiStream)(state);
104
+ }
105
+ const parsed = (0, json_1.tryParseJson)(line);
106
+ if (!(0, json_1.isRecord)(parsed)) {
107
+ if (line.trim())
108
+ (0, protocol_state_1.invalidatePiStream)(state, 'stdout contained malformed JSON.');
109
+ return null;
110
+ }
111
+ const type = (0, json_1.getString)(parsed, 'type');
112
+ if (type === null) {
113
+ (0, protocol_state_1.invalidatePiStream)(state, 'an event was missing its type.');
114
+ return null;
115
+ }
116
+ return parseKnownPiEvent(type, parsed, state);
117
+ }
118
+ function finishPiParsing(state) {
119
+ if (settledStates.has(state))
120
+ return null;
121
+ (0, protocol_state_1.invalidatePiStream)(state, 'stdout ended before agent_settled.');
122
+ return (0, protocol_state_1.settlePiStream)(state);
123
+ }
124
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/agent-cli-provider/pi/events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { ProviderParserState, ResultEvent } from '../types';
2
+ export declare function invalidatePiStream(state: ProviderParserState, error: string): void;
3
+ export declare function rememberPiAssistant(message: Record<string, unknown> | null, state: ProviderParserState): void;
4
+ export declare function rememberPiUsage(usage: Record<string, unknown> | null, state: ProviderParserState, label: string): void;
5
+ export declare function settlePiStream(state: ProviderParserState): ResultEvent;
6
+ //# sourceMappingURL=protocol-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol-state.d.ts","sourceRoot":"","sources":["../../../src/agent-cli-provider/pi/protocol-state.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AA8BjE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAElF;AA0CD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACvC,KAAK,EAAE,mBAAmB,GACzB,IAAI,CAUN;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACrC,KAAK,EAAE,mBAAmB,EAC1B,KAAK,EAAE,MAAM,GACZ,IAAI,CAQN;AAkCD,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,WAAW,CAyBtE"}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.invalidatePiStream = invalidatePiStream;
4
+ exports.rememberPiAssistant = rememberPiAssistant;
5
+ exports.rememberPiUsage = rememberPiUsage;
6
+ exports.settlePiStream = settlePiStream;
7
+ const assistant_stream_1 = require("../assistant-stream");
8
+ const json_1 = require("../json");
9
+ const STOP_REASONS = new Set(['stop', 'length', 'toolUse', 'error', 'aborted', 'deferred']);
10
+ const REQUIRED_USAGE_FIELDS = [
11
+ 'input',
12
+ 'output',
13
+ 'cacheRead',
14
+ 'cacheWrite',
15
+ 'totalTokens',
16
+ ];
17
+ const OPTIONAL_USAGE_FIELDS = ['cacheWrite1h', 'reasoning'];
18
+ const COST_FIELDS = ['input', 'output', 'cacheRead', 'cacheWrite', 'total'];
19
+ const protocolStates = new WeakMap();
20
+ function protocolState(state) {
21
+ const current = protocolStates.get(state);
22
+ if (current !== undefined)
23
+ return current;
24
+ const created = { usage: {}, cost: {} };
25
+ protocolStates.set(state, created);
26
+ return created;
27
+ }
28
+ function invalidatePiStream(state, error) {
29
+ protocolState(state).invalid = error;
30
+ }
31
+ function validateUsage(usage, label) {
32
+ for (const field of REQUIRED_USAGE_FIELDS) {
33
+ if ((0, json_1.getNumber)(usage, field) === null)
34
+ return `${label}.${field} is missing.`;
35
+ }
36
+ for (const field of OPTIONAL_USAGE_FIELDS) {
37
+ if (usage[field] !== undefined && (0, json_1.getNumber)(usage, field) === null) {
38
+ return `${label}.${field} is invalid.`;
39
+ }
40
+ }
41
+ const cost = (0, json_1.getRecord)(usage, 'cost');
42
+ if (cost === null)
43
+ return `${label}.cost is missing.`;
44
+ for (const field of COST_FIELDS) {
45
+ if ((0, json_1.getNumber)(cost, field) === null)
46
+ return `${label}.cost.${field} is missing.`;
47
+ }
48
+ return null;
49
+ }
50
+ function validateAssistant(message) {
51
+ if (!Array.isArray(message.content))
52
+ return 'Pi assistant message content is missing.';
53
+ const stopReason = (0, json_1.getString)(message, 'stopReason');
54
+ if (stopReason === null || !STOP_REASONS.has(stopReason)) {
55
+ return 'Pi assistant message stopReason is missing or unsupported.';
56
+ }
57
+ const usage = (0, json_1.getRecord)(message, 'usage');
58
+ return usage === null
59
+ ? 'Pi assistant message usage is missing.'
60
+ : validateUsage(usage, 'Pi assistant usage');
61
+ }
62
+ function addNumbers(target, source, fields) {
63
+ for (const field of fields) {
64
+ const value = (0, json_1.getNumber)(source, field);
65
+ if (value !== null)
66
+ target[field] = (target[field] ?? 0) + value;
67
+ }
68
+ }
69
+ function rememberPiAssistant(message, state) {
70
+ if (message === null)
71
+ return invalidatePiStream(state, 'Pi message_end was missing its message.');
72
+ const role = (0, json_1.getString)(message, 'role');
73
+ if (role === null)
74
+ return invalidatePiStream(state, 'Pi message_end was missing its role.');
75
+ if (role !== 'assistant')
76
+ return;
77
+ const error = validateAssistant(message);
78
+ if (error !== null)
79
+ return invalidatePiStream(state, error);
80
+ const current = protocolState(state);
81
+ current.latestAssistant = message;
82
+ rememberPiUsage((0, json_1.getRecord)(message, 'usage'), state, 'Pi assistant usage');
83
+ }
84
+ function rememberPiUsage(usage, state, label) {
85
+ if (usage === null)
86
+ return invalidatePiStream(state, `${label} is invalid.`);
87
+ const error = validateUsage(usage, label);
88
+ if (error !== null)
89
+ return invalidatePiStream(state, error);
90
+ const current = protocolState(state);
91
+ addNumbers(current.usage, usage, [...REQUIRED_USAGE_FIELDS, ...OPTIONAL_USAGE_FIELDS]);
92
+ const cost = (0, json_1.getRecord)(usage, 'cost');
93
+ if (cost !== null)
94
+ addNumbers(current.cost, cost, COST_FIELDS);
95
+ }
96
+ function usageResult(current) {
97
+ const cost = Object.keys(current.cost).length === 0 ? null : current.cost;
98
+ return {
99
+ inputTokens: current.usage.input ?? 0,
100
+ outputTokens: current.usage.output ?? 0,
101
+ cacheReadInputTokens: current.usage.cacheRead ?? 0,
102
+ cacheCreationInputTokens: current.usage.cacheWrite ?? 0,
103
+ cost: cost?.total ?? null,
104
+ modelUsage: { ...current.usage, ...(cost === null ? {} : { cost }) },
105
+ };
106
+ }
107
+ function failedResult(error, current) {
108
+ return {
109
+ type: 'result',
110
+ success: false,
111
+ result: null,
112
+ error,
113
+ ...usageResult(current),
114
+ };
115
+ }
116
+ function settlePiStream(state) {
117
+ const current = protocolState(state);
118
+ if (current.invalid) {
119
+ return failedResult(`Invalid Pi JSON stream: ${current.invalid}`, current);
120
+ }
121
+ if (!current.latestAssistant) {
122
+ return failedResult('Pi settled without an assistant message_end.', current);
123
+ }
124
+ const parsedResult = (0, assistant_stream_1.parseTurnEndResult)({ message: current.latestAssistant }, { failureMessage: 'Pi turn failed' });
125
+ const result = (0, json_1.getString)(current.latestAssistant, 'stopReason') === 'deferred'
126
+ ? {
127
+ ...parsedResult,
128
+ success: false,
129
+ result: null,
130
+ error: 'Pi turn deferred without completing.',
131
+ }
132
+ : parsedResult;
133
+ return {
134
+ ...result,
135
+ ...usageResult(current),
136
+ };
137
+ }
138
+ //# sourceMappingURL=protocol-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol-state.js","sourceRoot":"","sources":["../../../src/agent-cli-provider/pi/protocol-state.ts"],"names":[],"mappings":";;AAgCA,gDAEC;AA0CD,kDAaC;AAED,0CAYC;AAkCD,wCAyBC;AAlKD,0DAAyD;AACzD,kCAA0D;AAG1D,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAC5F,MAAM,qBAAqB,GAAG;IAC5B,OAAO;IACP,QAAQ;IACR,WAAW;IACX,YAAY;IACZ,aAAa;CACL,CAAC;AACX,MAAM,qBAAqB,GAAG,CAAC,cAAc,EAAE,WAAW,CAAU,CAAC;AACrE,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,CAAU,CAAC;AASrF,MAAM,cAAc,GAAG,IAAI,OAAO,EAAwC,CAAC;AAE3E,SAAS,aAAa,CAAC,KAA0B;IAC/C,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC;IAC1C,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACxC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAA0B,EAAE,KAAa;IAC1E,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC;AACvC,CAAC;AAED,SAAS,aAAa,CAAC,KAA8B,EAAE,KAAa;IAClE,KAAK,MAAM,KAAK,IAAI,qBAAqB,EAAE,CAAC;QAC1C,IAAI,IAAA,gBAAS,EAAC,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,GAAG,KAAK,IAAI,KAAK,cAAc,CAAC;IAC/E,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,qBAAqB,EAAE,CAAC;QAC1C,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,IAAA,gBAAS,EAAC,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;YACnE,OAAO,GAAG,KAAK,IAAI,KAAK,cAAc,CAAC;QACzC,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,IAAA,gBAAS,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACtC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,GAAG,KAAK,mBAAmB,CAAC;IACtD,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,IAAI,IAAA,gBAAS,EAAC,IAAI,EAAE,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,GAAG,KAAK,SAAS,KAAK,cAAc,CAAC;IACnF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAgC;IACzD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,0CAA0C,CAAC;IACvF,MAAM,UAAU,GAAG,IAAA,gBAAS,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACpD,IAAI,UAAU,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QACzD,OAAO,4DAA4D,CAAC;IACtE,CAAC;IACD,MAAM,KAAK,GAAG,IAAA,gBAAS,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,KAAK,KAAK,IAAI;QACnB,CAAC,CAAC,wCAAwC;QAC1C,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,UAAU,CACjB,MAA8B,EAC9B,MAA+B,EAC/B,MAAyB;IAEzB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAA,gBAAS,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,IAAI;YAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;IACnE,CAAC;AACH,CAAC;AAED,SAAgB,mBAAmB,CACjC,OAAuC,EACvC,KAA0B;IAE1B,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,kBAAkB,CAAC,KAAK,EAAE,yCAAyC,CAAC,CAAC;IAClG,MAAM,IAAI,GAAG,IAAA,gBAAS,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACxC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,kBAAkB,CAAC,KAAK,EAAE,sCAAsC,CAAC,CAAC;IAC5F,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO;IACjC,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC;IAClC,eAAe,CAAC,IAAA,gBAAS,EAAC,OAAO,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC;AAC5E,CAAC;AAED,SAAgB,eAAe,CAC7B,KAAqC,EACrC,KAA0B,EAC1B,KAAa;IAEb,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,kBAAkB,CAAC,KAAK,EAAE,GAAG,KAAK,cAAc,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,qBAAqB,EAAE,GAAG,qBAAqB,CAAC,CAAC,CAAC;IACvF,MAAM,IAAI,GAAG,IAAA,gBAAS,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACtC,IAAI,IAAI,KAAK,IAAI;QAAE,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,WAAW,CAClB,OAAwB;IAUxB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IAC1E,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;QACrC,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC;QACvC,oBAAoB,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC;QAClD,wBAAwB,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC;QACvD,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI;QACzB,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;KACrE,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,OAAwB;IAC3D,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,IAAI;QACZ,KAAK;QACL,GAAG,WAAW,CAAC,OAAO,CAAC;KACxB,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc,CAAC,KAA0B;IACvD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,YAAY,CAAC,2BAA2B,OAAO,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC,8CAA8C,EAAE,OAAO,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,YAAY,GAAG,IAAA,qCAAkB,EACrC,EAAE,OAAO,EAAE,OAAO,CAAC,eAAe,EAAE,EACpC,EAAE,cAAc,EAAE,gBAAgB,EAAE,CACrC,CAAC;IACF,MAAM,MAAM,GACV,IAAA,gBAAS,EAAC,OAAO,CAAC,eAAe,EAAE,YAAY,CAAC,KAAK,UAAU;QAC7D,CAAC,CAAC;YACE,GAAG,YAAY;YACf,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,sCAAsC;SAC9C;QACH,CAAC,CAAC,YAAY,CAAC;IACnB,OAAO;QACL,GAAG,MAAM;QACT,GAAG,WAAW,CAAC,OAAO,CAAC;KACxB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const PI_SUPPORTED_VERSION: "0.84.1";
2
+ export declare const PI_PACKAGE_NAME: "@earendil-works/pi-coding-agent";
3
+ export declare const PI_INSTALL_COMMAND: "npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.84.1";
4
+ //# sourceMappingURL=release.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../../src/agent-cli-provider/pi/release.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,EAAG,QAAiB,CAAC;AACtD,eAAO,MAAM,eAAe,EAAG,iCAA0C,CAAC;AAC1E,eAAO,MAAM,kBAAkB,0EACwD,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PI_INSTALL_COMMAND = exports.PI_PACKAGE_NAME = exports.PI_SUPPORTED_VERSION = void 0;
4
+ exports.PI_SUPPORTED_VERSION = '0.84.1';
5
+ exports.PI_PACKAGE_NAME = '@earendil-works/pi-coding-agent';
6
+ exports.PI_INSTALL_COMMAND = `npm install -g --ignore-scripts ${exports.PI_PACKAGE_NAME}@${exports.PI_SUPPORTED_VERSION}`;
7
+ //# sourceMappingURL=release.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release.js","sourceRoot":"","sources":["../../../src/agent-cli-provider/pi/release.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,QAAiB,CAAC;AACzC,QAAA,eAAe,GAAG,iCAA0C,CAAC;AAC7D,QAAA,kBAAkB,GAC7B,mCAAmC,uBAAe,IAAI,4BAAoB,EAAW,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { ProviderCliFeatures } from './types';
2
+ type AvailabilityProbe = 'command' | 'help-or-version' | 'supported-version' | undefined;
3
+ export declare function runtimeProbeIsAvailable(availabilityProbe: AvailabilityProbe, evidenceAvailable: boolean | undefined, helpText: string, versionText: string, capabilities: ProviderCliFeatures): boolean;
4
+ export {};
5
+ //# sourceMappingURL=probe-availability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"probe-availability.d.ts","sourceRoot":"","sources":["../../src/agent-cli-provider/probe-availability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD,KAAK,iBAAiB,GAAG,SAAS,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,SAAS,CAAC;AAEzF,wBAAgB,uBAAuB,CACrC,iBAAiB,EAAE,iBAAiB,EACpC,iBAAiB,EAAE,OAAO,GAAG,SAAS,EACtC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,mBAAmB,GAChC,OAAO,CAQT"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runtimeProbeIsAvailable = runtimeProbeIsAvailable;
4
+ function runtimeProbeIsAvailable(availabilityProbe, evidenceAvailable, helpText, versionText, capabilities) {
5
+ const probeAvailable = evidenceAvailable ??
6
+ (availabilityProbe === 'command' ? true : Boolean(helpText || versionText));
7
+ const versionSupported = availabilityProbe !== 'supported-version' ||
8
+ ('versionMatches' in capabilities && capabilities.versionMatches === true);
9
+ return probeAvailable && versionSupported;
10
+ }
11
+ //# sourceMappingURL=probe-availability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"probe-availability.js","sourceRoot":"","sources":["../../src/agent-cli-provider/probe-availability.ts"],"names":[],"mappings":";;AAIA,0DAcC;AAdD,SAAgB,uBAAuB,CACrC,iBAAoC,EACpC,iBAAsC,EACtC,QAAgB,EAChB,WAAmB,EACnB,YAAiC;IAEjC,MAAM,cAAc,GAClB,iBAAiB;QACjB,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC;IAC9E,MAAM,gBAAgB,GACpB,iBAAiB,KAAK,mBAAmB;QACzC,CAAC,gBAAgB,IAAI,YAAY,IAAI,YAAY,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC;IAC7E,OAAO,cAAc,IAAI,gBAAgB,CAAC;AAC5C,CAAC"}
@@ -40,6 +40,7 @@ export interface ProviderDocsMetadata {
40
40
  }
41
41
  export interface ProviderDockerMountPreset {
42
42
  readonly host: string;
43
+ readonly hostEnv?: string;
43
44
  readonly container: string;
44
45
  readonly readonly: boolean;
45
46
  }
@@ -72,7 +73,7 @@ interface ProviderRegistryEntryBase {
72
73
  readonly settingsFields: readonly string[];
73
74
  readonly settingsDefaults?: Readonly<Record<string, unknown>>;
74
75
  readonly settingsValidator?: (settings: Record<string, unknown>, context?: OmpSettingsValidationContext) => string | null;
75
- readonly availabilityProbe?: 'command' | 'help-or-version';
76
+ readonly availabilityProbe?: 'command' | 'help-or-version' | 'supported-version';
76
77
  readonly docs: ProviderDocsMetadata;
77
78
  readonly docker: ProviderDockerMetadata;
78
79
  readonly defaultLevels: Readonly<{
@@ -347,16 +348,16 @@ export declare const providerRegistry: readonly [{
347
348
  readonly args: readonly [];
348
349
  };
349
350
  readonly invoke: SpawnProviderInvokeSpec;
350
- readonly installInstructions: "npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.80.3";
351
+ readonly installInstructions: "npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.84.1";
351
352
  readonly authInstructions: "pi\n/login";
352
- readonly credentialPaths: readonly ["~/.pi"];
353
+ readonly credentialPaths: readonly ["$PI_CODING_AGENT_DIR/auth.json", "~/.pi/agent/auth.json"];
353
354
  readonly credentialEnvKeys: readonly string[];
354
355
  readonly settingsFields: readonly [];
355
- readonly availabilityProbe: "help-or-version";
356
+ readonly availabilityProbe: "supported-version";
356
357
  readonly capabilities: {
357
358
  readonly mcpServers: false;
358
359
  readonly jsonSchema: false;
359
- readonly reasoningEffort: false;
360
+ readonly reasoningEffort: true;
360
361
  readonly dockerIsolation: ProviderCapabilityState;
361
362
  readonly worktreeIsolation: ProviderCapabilityState;
362
363
  readonly streamJson: ProviderCapabilityState;
@@ -370,11 +371,14 @@ export declare const providerRegistry: readonly [{
370
371
  };
371
372
  readonly docker: {
372
373
  readonly mount: {
373
- readonly host: "~/.pi";
374
- readonly container: "$HOME/.pi";
375
- readonly readonly: true;
374
+ readonly host: "~/.pi/agent";
375
+ readonly hostEnv: "PI_CODING_AGENT_DIR";
376
+ readonly container: "$HOME/.pi/agent";
377
+ readonly readonly: false;
376
378
  };
377
- readonly envPassthrough: readonly [];
379
+ readonly install: "npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.84.1";
380
+ readonly configRoots: readonly ["$HOME/.pi/agent"];
381
+ readonly envPassthrough: readonly [...string[], "AWS_BEDROCK_FORCE_CACHE", "AWS_BEDROCK_FORCE_HTTP1", "AWS_BEDROCK_SKIP_AUTH", "AWS_DEFAULT_REGION", "AWS_ENDPOINT_URL_BEDROCK_RUNTIME", "AWS_REGION", "AZURE_OPENAI_API_VERSION", "AZURE_OPENAI_BASE_URL", "AZURE_OPENAI_DEPLOYMENT_NAME_MAP", "AZURE_OPENAI_RESOURCE_NAME", "CLOUDFLARE_ACCOUNT_ID", "CLOUDFLARE_GATEWAY_ID", "GCLOUD_PROJECT", "GOOGLE_CLOUD_LOCATION", "GOOGLE_CLOUD_PROJECT", "KIMI_CODE_OAUTH_HOST", "KIMI_OAUTH_HOST", "PI_CACHE_RETENTION"];
378
382
  };
379
383
  readonly defaultLevels: {
380
384
  readonly min: ModelLevel;
@@ -1 +1 @@
1
- {"version":3,"file":"provider-registry.d.ts","sourceRoot":"","sources":["../../src/agent-cli-provider/provider-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-registry.d.ts","sourceRoot":"","sources":["../../src/agent-cli-provider/provider-registry.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ const pi_1 = require("./adapters/pi");
23
23
  const claude_command_1 = require("./claude-command");
24
24
  const release_1 = require("./omp/release");
25
25
  const sdk_settings_1 = require("./omp/sdk-settings");
26
+ const release_2 = require("./pi/release");
26
27
  const STANDARD_CAPABILITIES = {
27
28
  dockerIsolation: true,
28
29
  worktreeIsolation: true,
@@ -38,6 +39,33 @@ const CLAUDE_DOCKER_ENV_PASSTHROUGH = [
38
39
  'AWS_REGION',
39
40
  'CLAUDE_CODE_USE_BEDROCK',
40
41
  ];
42
+ const PI_EXPLICIT_DOCKER_CREDENTIALS = new Set([
43
+ 'AWS_CONTAINER_CREDENTIALS_FULL_URI',
44
+ 'AWS_CONTAINER_CREDENTIALS_RELATIVE_URI',
45
+ 'AWS_PROFILE',
46
+ 'AWS_WEB_IDENTITY_TOKEN_FILE',
47
+ 'GOOGLE_APPLICATION_CREDENTIALS',
48
+ ]);
49
+ const PI_DOCKER_CONFIGURATION_ENV = [
50
+ 'AWS_BEDROCK_FORCE_CACHE',
51
+ 'AWS_BEDROCK_FORCE_HTTP1',
52
+ 'AWS_BEDROCK_SKIP_AUTH',
53
+ 'AWS_DEFAULT_REGION',
54
+ 'AWS_ENDPOINT_URL_BEDROCK_RUNTIME',
55
+ 'AWS_REGION',
56
+ 'AZURE_OPENAI_API_VERSION',
57
+ 'AZURE_OPENAI_BASE_URL',
58
+ 'AZURE_OPENAI_DEPLOYMENT_NAME_MAP',
59
+ 'AZURE_OPENAI_RESOURCE_NAME',
60
+ 'CLOUDFLARE_ACCOUNT_ID',
61
+ 'CLOUDFLARE_GATEWAY_ID',
62
+ 'GCLOUD_PROJECT',
63
+ 'GOOGLE_CLOUD_LOCATION',
64
+ 'GOOGLE_CLOUD_PROJECT',
65
+ 'KIMI_CODE_OAUTH_HOST',
66
+ 'KIMI_OAUTH_HOST',
67
+ 'PI_CACHE_RETENTION',
68
+ ];
41
69
  const SPAWN_INVOKE = Object.freeze({ lane: 'spawn' });
42
70
  const ACP_STDIO_INVOKE = Object.freeze({
43
71
  lane: 'acp-stdio',
@@ -292,17 +320,17 @@ exports.providerRegistry = [
292
320
  binary: 'pi',
293
321
  command: { kind: 'fixed', command: 'pi', args: [] },
294
322
  invoke: SPAWN_INVOKE,
295
- installInstructions: 'npm install -g --ignore-scripts @earendil-works/pi-coding-agent@0.80.3',
323
+ installInstructions: release_2.PI_INSTALL_COMMAND,
296
324
  authInstructions: 'pi\n/login',
297
- credentialPaths: ['~/.pi'],
325
+ credentialPaths: ['$PI_CODING_AGENT_DIR/auth.json', '~/.pi/agent/auth.json'],
298
326
  credentialEnvKeys: pi_1.piAdapter.credentialEnvKeys,
299
327
  settingsFields: [],
300
- availabilityProbe: 'help-or-version',
328
+ availabilityProbe: 'supported-version',
301
329
  capabilities: {
302
330
  ...STANDARD_CAPABILITIES,
303
331
  mcpServers: false,
304
332
  jsonSchema: false,
305
- reasoningEffort: false,
333
+ reasoningEffort: true,
306
334
  },
307
335
  docs: {
308
336
  label: 'Pi',
@@ -310,11 +338,17 @@ exports.providerRegistry = [
310
338
  },
311
339
  docker: {
312
340
  mount: {
313
- host: '~/.pi',
314
- container: '$HOME/.pi',
315
- readonly: true,
341
+ host: '~/.pi/agent',
342
+ hostEnv: 'PI_CODING_AGENT_DIR',
343
+ container: '$HOME/.pi/agent',
344
+ readonly: false,
316
345
  },
317
- envPassthrough: [],
346
+ install: release_2.PI_INSTALL_COMMAND,
347
+ configRoots: ['$HOME/.pi/agent'],
348
+ envPassthrough: [
349
+ ...pi_1.piAdapter.credentialEnvKeys.filter((name) => !PI_EXPLICIT_DOCKER_CREDENTIALS.has(name)),
350
+ ...PI_DOCKER_CONFIGURATION_ENV,
351
+ ],
318
352
  },
319
353
  defaultLevels: {
320
354
  min: pi_1.piAdapter.defaultMinLevel,