@botiverse/oar 0.6.0 → 0.8.0

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 (151) hide show
  1. package/README.md +4 -2
  2. package/dist/contracts/records.d.ts +33 -10
  3. package/dist/contracts/records.d.ts.map +1 -1
  4. package/dist/contracts/session.d.ts +66 -13
  5. package/dist/contracts/session.d.ts.map +1 -1
  6. package/dist/contracts/status.d.ts +25 -0
  7. package/dist/contracts/status.d.ts.map +1 -0
  8. package/dist/contracts/status.js +2 -0
  9. package/dist/contracts/status.js.map +1 -0
  10. package/dist/index.d.ts +5 -5
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +3 -3
  13. package/dist/index.js.map +1 -1
  14. package/dist/kernel.d.ts +12 -0
  15. package/dist/kernel.d.ts.map +1 -0
  16. package/dist/kernel.js +11 -0
  17. package/dist/kernel.js.map +1 -0
  18. package/dist/observe/agent-status.d.ts +4 -18
  19. package/dist/observe/agent-status.d.ts.map +1 -1
  20. package/dist/observe/agent-status.js +41 -0
  21. package/dist/observe/agent-status.js.map +1 -1
  22. package/dist/observe/events.d.ts.map +1 -1
  23. package/dist/observe/events.js +1 -2
  24. package/dist/observe/events.js.map +1 -1
  25. package/dist/observe/index.d.ts +6 -4
  26. package/dist/observe/index.d.ts.map +1 -1
  27. package/dist/observe/index.js +4 -3
  28. package/dist/observe/index.js.map +1 -1
  29. package/dist/observe/session-view-events.d.ts +11 -0
  30. package/dist/observe/session-view-events.d.ts.map +1 -0
  31. package/dist/observe/session-view-events.js +233 -0
  32. package/dist/observe/session-view-events.js.map +1 -0
  33. package/dist/observe/session-view-fold.d.ts +57 -0
  34. package/dist/observe/session-view-fold.d.ts.map +1 -0
  35. package/dist/observe/session-view-fold.js +156 -0
  36. package/dist/observe/session-view-fold.js.map +1 -0
  37. package/dist/observe/session-view.d.ts +153 -0
  38. package/dist/observe/session-view.d.ts.map +1 -0
  39. package/dist/observe/session-view.js +81 -0
  40. package/dist/observe/session-view.js.map +1 -0
  41. package/dist/observe/turns.d.ts +45 -7
  42. package/dist/observe/turns.d.ts.map +1 -1
  43. package/dist/observe/turns.js +77 -7
  44. package/dist/observe/turns.js.map +1 -1
  45. package/dist/observe/usage.d.ts +2 -0
  46. package/dist/observe/usage.d.ts.map +1 -1
  47. package/dist/observe/usage.js +18 -0
  48. package/dist/observe/usage.js.map +1 -1
  49. package/dist/runtimes/claude/effort.d.ts +14 -0
  50. package/dist/runtimes/claude/effort.d.ts.map +1 -0
  51. package/dist/runtimes/claude/effort.js +62 -0
  52. package/dist/runtimes/claude/effort.js.map +1 -0
  53. package/dist/runtimes/claude/projection.js +1 -1
  54. package/dist/runtimes/claude/projection.js.map +1 -1
  55. package/dist/runtimes/claude/session.d.ts.map +1 -1
  56. package/dist/runtimes/claude/session.js +46 -6
  57. package/dist/runtimes/claude/session.js.map +1 -1
  58. package/dist/runtimes/codex/item-detail.d.ts +2 -0
  59. package/dist/runtimes/codex/item-detail.d.ts.map +1 -1
  60. package/dist/runtimes/codex/item-detail.js +12 -5
  61. package/dist/runtimes/codex/item-detail.js.map +1 -1
  62. package/dist/runtimes/codex/open.d.ts +42 -0
  63. package/dist/runtimes/codex/open.d.ts.map +1 -0
  64. package/dist/runtimes/codex/open.js +116 -0
  65. package/dist/runtimes/codex/open.js.map +1 -0
  66. package/dist/runtimes/codex/projection.d.ts.map +1 -1
  67. package/dist/runtimes/codex/projection.js +29 -4
  68. package/dist/runtimes/codex/projection.js.map +1 -1
  69. package/dist/runtimes/codex/session.d.ts.map +1 -1
  70. package/dist/runtimes/codex/session.js +53 -59
  71. package/dist/runtimes/codex/session.js.map +1 -1
  72. package/dist/runtimes/grok/list-models.d.ts +6 -0
  73. package/dist/runtimes/grok/list-models.d.ts.map +1 -1
  74. package/dist/runtimes/grok/list-models.js +17 -2
  75. package/dist/runtimes/grok/list-models.js.map +1 -1
  76. package/dist/runtimes/kimi/list-models.d.ts +7 -4
  77. package/dist/runtimes/kimi/list-models.d.ts.map +1 -1
  78. package/dist/runtimes/kimi/list-models.js +9 -5
  79. package/dist/runtimes/kimi/list-models.js.map +1 -1
  80. package/dist/runtimes/pi/installation.d.ts.map +1 -1
  81. package/dist/runtimes/pi/installation.js +3 -1
  82. package/dist/runtimes/pi/installation.js.map +1 -1
  83. package/dist/runtimes/pi/list-models.d.ts +16 -4
  84. package/dist/runtimes/pi/list-models.d.ts.map +1 -1
  85. package/dist/runtimes/pi/list-models.js +24 -7
  86. package/dist/runtimes/pi/list-models.js.map +1 -1
  87. package/dist/runtimes/pi/open.d.ts +22 -0
  88. package/dist/runtimes/pi/open.d.ts.map +1 -1
  89. package/dist/runtimes/pi/open.js +50 -0
  90. package/dist/runtimes/pi/open.js.map +1 -1
  91. package/dist/runtimes/pi/projection.d.ts.map +1 -1
  92. package/dist/runtimes/pi/projection.js +21 -2
  93. package/dist/runtimes/pi/projection.js.map +1 -1
  94. package/dist/runtimes/pi/session.d.ts.map +1 -1
  95. package/dist/runtimes/pi/session.js +14 -12
  96. package/dist/runtimes/pi/session.js.map +1 -1
  97. package/dist/shared/acp/effort.d.ts +25 -0
  98. package/dist/shared/acp/effort.d.ts.map +1 -0
  99. package/dist/shared/acp/effort.js +47 -0
  100. package/dist/shared/acp/effort.js.map +1 -0
  101. package/dist/shared/acp/model.d.ts +19 -0
  102. package/dist/shared/acp/model.d.ts.map +1 -1
  103. package/dist/shared/acp/model.js +27 -0
  104. package/dist/shared/acp/model.js.map +1 -1
  105. package/dist/shared/acp/profile.d.ts.map +1 -1
  106. package/dist/shared/acp/profile.js +7 -0
  107. package/dist/shared/acp/profile.js.map +1 -1
  108. package/dist/shared/acp/projection.d.ts.map +1 -1
  109. package/dist/shared/acp/projection.js +37 -3
  110. package/dist/shared/acp/projection.js.map +1 -1
  111. package/dist/shared/acp/records.d.ts +1 -1
  112. package/dist/shared/acp/records.d.ts.map +1 -1
  113. package/dist/shared/acp/records.js +6 -2
  114. package/dist/shared/acp/records.js.map +1 -1
  115. package/dist/shared/acp/session.d.ts.map +1 -1
  116. package/dist/shared/acp/session.js +4 -4
  117. package/dist/shared/acp/session.js.map +1 -1
  118. package/dist/shared/acp/terminal.d.ts.map +1 -1
  119. package/dist/shared/acp/terminal.js +9 -2
  120. package/dist/shared/acp/terminal.js.map +1 -1
  121. package/dist/shared/acp/turns.js +2 -2
  122. package/dist/shared/acp/turns.js.map +1 -1
  123. package/dist/shared/executable/index.d.ts +1 -1
  124. package/dist/shared/executable/index.d.ts.map +1 -1
  125. package/dist/shared/executable/index.js +1 -1
  126. package/dist/shared/executable/index.js.map +1 -1
  127. package/dist/shared/executable/process.d.ts +48 -1
  128. package/dist/shared/executable/process.d.ts.map +1 -1
  129. package/dist/shared/executable/process.js +66 -1
  130. package/dist/shared/executable/process.js.map +1 -1
  131. package/dist/shared/seal-session.d.ts +15 -7
  132. package/dist/shared/seal-session.d.ts.map +1 -1
  133. package/dist/shared/seal-session.js +42 -17
  134. package/dist/shared/seal-session.js.map +1 -1
  135. package/dist/shared/session-kernel.d.ts +1 -0
  136. package/dist/shared/session-kernel.d.ts.map +1 -1
  137. package/dist/shared/session-kernel.js +3 -3
  138. package/dist/shared/session-kernel.js.map +1 -1
  139. package/dist/testing/index.d.ts +8 -0
  140. package/dist/testing/index.d.ts.map +1 -0
  141. package/dist/testing/index.js +7 -0
  142. package/dist/testing/index.js.map +1 -0
  143. package/dist/testing/scripted-runtime.d.ts +50 -0
  144. package/dist/testing/scripted-runtime.d.ts.map +1 -0
  145. package/dist/testing/scripted-runtime.js +187 -0
  146. package/dist/testing/scripted-runtime.js.map +1 -0
  147. package/dist/voyage.d.ts +2 -0
  148. package/dist/voyage.d.ts.map +1 -1
  149. package/dist/voyage.js +4 -1
  150. package/dist/voyage.js.map +1 -1
  151. package/package.json +10 -1
@@ -3,11 +3,17 @@ import { asRecord } from "../../shared/json.js";
3
3
  import { sealSession } from "../../shared/seal-session.js";
4
4
  import { createSessionKernel } from "../../shared/session-kernel.js";
5
5
  import { startAppServerClient } from "./app-server-client.js";
6
+ import { CODEX_SETTINGS_REPORT_MS, codexOpenReadback, codexResumeEffortRefusal, codexThreadOpen } from "./open.js";
6
7
  import { foldCodexNotification, initialCodexProjection, } from "./projection.js";
7
8
  import { openThread, rpcControl } from "./rpc-control.js";
8
9
  /*
9
10
  * codex app-server v2 mapping:
10
11
  * - initialize → initialized, thread/start {cwd, approvalPolicy:never}
12
+ * - SessionOptions.effort governs every turn of the thread, a drained queue
13
+ * submission included: a config override on thread/start, and on a resume
14
+ * thread/settings/update on the loaded thread (open.ts says why). codex's
15
+ * word on it is the open reply's `reasoningEffort` or the pushed
16
+ * thread/settings/updated: checked, and an `effort` event either way.
11
17
  * - turn/start {threadId, input} → {turn{id}}: the RPC reply is the prompt's
12
18
  * accepted response; completion is codex's own turn/completed notification
13
19
  * (turn.status completed | interrupted | failed): the turn_ended event.
@@ -42,16 +48,9 @@ export const codexSession = async (installation, options) => {
42
48
  });
43
49
  client.notify("initialized", {});
44
50
  // Threads persist so a later SessionOptions.resume can reattach; the thread
45
- // id is the runtime-native identity and becomes Session.id.
46
- // System prompt seams (probed 2026-08-24 via the aimock journal):
47
- // baseInstructions REPLACES codex's base prompt; developerInstructions
48
- // APPENDS as a developer message. "instructions"/"userInstructions" are
49
- // silently ignored by thread/start.
50
- const instructionParams = {
51
- ...(options.systemPrompt === undefined ? {} : { baseInstructions: options.systemPrompt }),
52
- ...(options.appendSystemPrompt === undefined ? {} : { developerInstructions: options.appendSystemPrompt }),
53
- };
54
- const openMethod = options.resume === undefined ? "thread/start" : "thread/resume";
51
+ // id is the runtime-native identity and becomes Session.id (open.ts builds
52
+ // the request).
53
+ const { method: openMethod, params: openParams } = codexThreadOpen(options);
55
54
  // The open event is marked at the reply's wire position AS the reply line
56
55
  // is read (onSettled → client.mark), not after this await: a frame codex
57
56
  // wrote in the same chunk right after the reply (thread/started) would
@@ -64,30 +63,7 @@ export const codexSession = async (installation, options) => {
64
63
  }
65
64
  };
66
65
  const started = await openThread(client, openMethod, async () => {
67
- const reply = await (options.resume === undefined
68
- ? client.request("thread/start", {
69
- cwd: options.cwd,
70
- ...(options.model === undefined ? {} : { model: options.model }),
71
- approvalPolicy: "never",
72
- // Required in addition to initialize.experimentalApi. This exposes
73
- // the completed Responses API reasoning item, whose encrypted_content
74
- // lets us distinguish redaction from genuinely empty reasoning.
75
- experimentalRawEvents: true,
76
- ...instructionParams,
77
- }, markOpen)
78
- : client.request("thread/resume", {
79
- threadId: options.resume,
80
- excludeTurns: true,
81
- cwd: options.cwd,
82
- // Same-runtime model switch = resume the same thread id with a new
83
- // model. thread/resume accepts `model` (codex rust-v0.153.4,
84
- // protocol/v2/thread.rs ThreadResumeParams) and applies it when the
85
- // thread is loaded cold, which is the normal case here because every
86
- // oar session owns its own app-server process.
87
- ...(options.model === undefined ? {} : { model: options.model }),
88
- approvalPolicy: "never",
89
- ...instructionParams,
90
- }, markOpen));
66
+ const reply = await client.request(openMethod, openParams, markOpen);
91
67
  return reply;
92
68
  });
93
69
  const threadId = asRecord(started.thread)?.id;
@@ -95,16 +71,13 @@ export const codexSession = async (installation, options) => {
95
71
  client.kill();
96
72
  throw new TypeError("codex thread start/resume returned no thread id");
97
73
  }
98
- // Both responses report the model actually active (Session.model() reads
99
- // it back as a model event on the open frame). Still check it against the
100
- // request: codex's resume_running_thread ignores overrides for a thread
101
- // that is already loaded and busy (warn "thread/resume overrides ignored
102
- // for loaded thread") and answers with the old model; a caller who asked
103
- // for a model must not get one silently running another.
104
- const effectiveModel = typeof started.model === "string" ? started.model : null;
105
- if (options.model !== undefined && effectiveModel !== null && effectiveModel !== options.model) {
74
+ // The reply is codex's word on the model and effort the thread runs (the
75
+ // open frame's events); anything but what was requested refuses the open.
76
+ const readback = codexOpenReadback(openMethod, options, started);
77
+ if (readback.refusal !== null) {
106
78
  client.kill();
107
- throw new Error(`codex ${openMethod} kept model ${effectiveModel} although ${options.model} was requested`);
79
+ await client.exited;
80
+ throw new Error(readback.refusal);
108
81
  }
109
82
  const kernel = createSessionKernel(threadId);
110
83
  const state = {
@@ -115,12 +88,10 @@ export const codexSession = async (installation, options) => {
115
88
  };
116
89
  const busy = () => state.active !== null || state.spontaneous;
117
90
  let disposeRequest = null;
91
+ // A resume's effort update in flight: codex's thread/settings/updated answers it.
92
+ let settingsWaiter = null;
118
93
  recordOpen = () => {
119
- kernel.frame({
120
- type: openMethod,
121
- native: started,
122
- events: effectiveModel === null ? [] : [{ kind: "model", model: effectiveModel }],
123
- });
94
+ kernel.frame({ type: openMethod, native: started, events: readback.events });
124
95
  };
125
96
  // Drive the pure projection fold, applying its commands to the kernel; the
126
97
  // fold owns event translation, attribution and graph links; this owns the
@@ -162,6 +133,9 @@ export const codexSession = async (installation, options) => {
162
133
  state.spontaneous = false;
163
134
  state.codexTurnId = null;
164
135
  }
136
+ if (isRoot && method === "thread/settings/updated") {
137
+ settingsWaiter?.(params);
138
+ }
165
139
  };
166
140
  // Approvals, user input, dynamic tools: recorded verbatim, never answered
167
141
  // (approvalPolicy never means none are expected; a dangling request is
@@ -181,44 +155,64 @@ export const codexSession = async (installation, options) => {
181
155
  state.spontaneous = false;
182
156
  state.codexTurnId = null;
183
157
  });
158
+ if (readback.resumeEffort !== null) {
159
+ // The resumed thread runs another level: set it on the loaded thread and
160
+ // take codex's pushed settings (a recorded frame) as the word on it.
161
+ const requested = readback.resumeEffort;
162
+ const { promise: reported, resolve } = Promise.withResolvers();
163
+ settingsWaiter = resolve;
164
+ const timer = setTimeout(() => {
165
+ resolve(null);
166
+ }, CODEX_SETTINGS_REPORT_MS);
167
+ const update = await client.request("thread/settings/update", { threadId, effort: requested })
168
+ .then(() => null, (error) => ({ error: error instanceof Error ? error.message : String(error) }));
169
+ const refusal = codexResumeEffortRefusal(requested, update, update === null ? await reported : null);
170
+ clearTimeout(timer);
171
+ settingsWaiter = null;
172
+ if (refusal !== null) {
173
+ client.kill();
174
+ await client.exited;
175
+ throw new Error(refusal);
176
+ }
177
+ }
184
178
  /** Turn a plan builder into a Session control member. */
185
179
  const via = (plan) => async (...args) => {
186
180
  const result = await rpcControl(kernel, client, plan(...args));
187
181
  return result;
188
182
  };
189
- const promptPlan = (input, promptOptions) => ({
190
- body: { kind: "prompt", input, ...promptOptions, ...(promptOptions?.lineage === undefined ? {} : { lineage: promptOptions.lineage }) },
183
+ const promptPlan = (input, inputOptions) => ({
184
+ body: { kind: "prompt", input, ...inputOptions },
191
185
  gate: (request) => {
192
186
  if (busy()) {
193
- return { kind: "rejected", reason: "busy" };
187
+ return { kind: "rejected", code: "busy", reason: "busy" };
194
188
  }
195
189
  // Hold the slot while the RPC is in flight so a concurrent prompt is busy.
196
190
  state.active = request;
197
191
  return null;
198
192
  },
199
193
  method: "turn/start",
200
- params: () => ({ threadId, input: text(input), clientUserMessageId: promptOptions?.inputId }),
194
+ params: () => ({ threadId, input: text(input), clientUserMessageId: inputOptions?.inputId }),
201
195
  onReply: (reply) => {
202
196
  const turnId = asRecord(reply.turn)?.id;
203
197
  if (typeof turnId !== "string") {
204
198
  state.active = null;
205
- return { kind: "rejected", reason: "codex turn/start returned no turn id", native: reply };
199
+ return { kind: "rejected", code: "runtime_refused", reason: "codex turn/start returned no turn id", native: reply };
206
200
  }
207
201
  state.codexTurnId = turnId;
208
202
  return { kind: "accepted", native: reply };
209
203
  },
210
204
  onError: (message) => {
211
205
  state.active = null;
212
- return { kind: "rejected", reason: message };
206
+ return { kind: "rejected", code: "runtime_refused", reason: message };
213
207
  },
214
208
  });
215
209
  const steerPlan = (input, inputOptions) => ({
216
210
  body: { kind: "steer", input, ...inputOptions },
217
- gate: () => (!busy() || state.codexTurnId === null ? { kind: "rejected", reason: "not_steerable: no active turn" } : null),
211
+ gate: () => (!busy() || state.codexTurnId === null ? { kind: "rejected", code: "no_active_turn", reason: "not_steerable: no active turn" } : null),
218
212
  method: "turn/steer",
219
213
  params: () => ({ threadId, input: text(input), expectedTurnId: state.codexTurnId, clientUserMessageId: inputOptions?.inputId }),
220
214
  onReply: (reply) => ({ kind: "accepted", native: reply }),
221
- onError: (message) => ({ kind: "rejected", reason: `not_steerable: ${message}` }),
215
+ onError: (message) => ({ kind: "rejected", code: "runtime_refused", reason: `not_steerable: ${message}` }),
222
216
  });
223
217
  // The reply carries the runtime's submission id; it is retained on the response.
224
218
  const queuePlan = (input, inputOptions) => ({
@@ -227,17 +221,17 @@ export const codexSession = async (installation, options) => {
227
221
  method: "thread/queue/add",
228
222
  params: () => ({ threadId, input: text(input), clientUserMessageId: inputOptions?.inputId ?? randomUUID() }),
229
223
  onReply: (reply) => ({ kind: "accepted", native: reply }),
230
- onError: (message) => ({ kind: "rejected", reason: message }),
224
+ onError: (message) => ({ kind: "rejected", code: "runtime_refused", reason: message }),
231
225
  });
232
226
  // A refused interrupt is the contractual late abort: the turn ended before
233
227
  // it landed, and turn/completed carries the real outcome.
234
228
  const abortPlan = () => ({
235
229
  body: { kind: "abort" },
236
- gate: () => (!busy() || state.codexTurnId === null ? { kind: "rejected", reason: "no active turn" } : null),
230
+ gate: () => (!busy() || state.codexTurnId === null ? { kind: "rejected", code: "no_active_turn", reason: "no active turn" } : null),
237
231
  method: "turn/interrupt",
238
232
  params: () => ({ threadId, turnId: state.codexTurnId }),
239
233
  onReply: (reply) => ({ kind: "accepted", native: reply }),
240
- onError: (message) => ({ kind: "rejected", reason: message }),
234
+ onError: (message) => ({ kind: "rejected", code: "runtime_refused", reason: message }),
241
235
  });
242
236
  const session = sealSession({
243
237
  id: kernel.sessionId,
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/runtimes/codex/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAQzC,OAAO,EAAE,QAAQ,EAAmB,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAmB,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAEvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAuB,MAAM,kBAAkB,CAAC;AAE/E;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,IAAI,GAAG,CAAC,KAAa,EAAoC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAYlG,MAAM,CAAC,MAAM,YAAY,GAAiB,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE;IACxE,IAAI,YAAY,CAAC,GAAG,KAAK,YAAY,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IACD,0EAA0E;IAC1E,2EAA2E;IAC3E,sEAAsE;IACtE,4EAA4E;IAC5E,sEAAsE;IACtE,2DAA2D;IAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,oBAAoB,CAAC;IAC1E,MAAM,eAAe,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,WAAW,GAAG,EAAE,CAAC;IAC9F,MAAM,MAAM,GAAG,oBAAoB,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IACxF,MAAM,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE;QACjC,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE;QAC7C,YAAY,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;KACxC,CAAC,CAAC;IACH,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACjC,4EAA4E;IAC5E,4DAA4D;IAC5D,kEAAkE;IAClE,uEAAuE;IACvE,wEAAwE;IACxE,oCAAoC;IACpC,MAAM,iBAAiB,GAAG;QACxB,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;QACzF,GAAG,CAAC,OAAO,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,kBAAkB,EAAE,CAAC;KAC3G,CAAC;IACF,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC;IACnF,0EAA0E;IAC1E,yEAAyE;IACzE,uEAAuE;IACvE,wEAAwE;IACxE,0EAA0E;IAC1E,IAAI,UAAU,GAAwB,IAAI,CAAC;IAC3C,MAAM,QAAQ,GAAG,CAAC,OAAmB,EAAQ,EAAE;QAC7C,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS;YACjD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE;gBAC7B,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChE,cAAc,EAAE,OAAO;gBACvB,mEAAmE;gBACnE,sEAAsE;gBACtE,gEAAgE;gBAChE,qBAAqB,EAAE,IAAI;gBAC3B,GAAG,iBAAiB;aACrB,EAAE,QAAQ,CAAC;YACd,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE;gBAC9B,QAAQ,EAAE,OAAO,CAAC,MAAM;gBACxB,YAAY,EAAE,IAAI;gBAClB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,mEAAmE;gBACnE,6DAA6D;gBAC7D,oEAAoE;gBACpE,qEAAqE;gBACrE,+CAA+C;gBAC/C,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChE,cAAc,EAAE,OAAO;gBACvB,GAAG,iBAAiB;aACrB,EAAE,QAAQ,CAAC,CAAC,CAAC;QAChB,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;IAC9C,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;IACzE,CAAC;IACD,yEAAyE;IACzE,0EAA0E;IAC1E,wEAAwE;IACxE,yEAAyE;IACzE,yEAAyE;IACzE,yDAAyD;IACzD,MAAM,cAAc,GAAG,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAChF,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,cAAc,KAAK,IAAI,IAAI,cAAc,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC;QAC/F,MAAM,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,SAAS,UAAU,eAAe,cAAc,aAAa,OAAO,CAAC,KAAK,gBAAgB,CAAC,CAAC;IAC9G,CAAC;IAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAsB;QAC/B,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,sBAAsB,CAAC,QAAQ,CAAC;KAC7C,CAAC;IACF,MAAM,IAAI,GAAG,GAAY,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,WAAW,CAAC;IACvE,IAAI,cAAc,GAAyB,IAAI,CAAC;IAEhD,UAAU,GAAG,GAAS,EAAE;QACtB,MAAM,CAAC,KAAK,CAAC;YACX,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;SAClF,CAAC,CAAC;IACL,CAAC,CAAC;IACF,2EAA2E;IAC3E,0EAA0E;IAC1E,wEAAwE;IACxE,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,MAAkB,EAAQ,EAAE;QAClE,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC;QACnF,IAAI,MAAM,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;YACxC,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACZ,mEAAmE;gBACnE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;YAC3B,CAAC;YACD,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;gBACpC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;YAClC,CAAC;QACH,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,qBAAqB,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACpG,KAAK,CAAC,UAAU,GAAG,cAAc,CAAC;QAClC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;gBACrB,KAAK,OAAO;oBACV,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;wBACpC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBACjC,CAAC;oBACD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;wBACzB,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;wBAC5E,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;qBACpE,CAAC,CAAC;oBACH,MAAM;gBACR,KAAK,MAAM;oBACT,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC1B,MAAM;gBACR;oBACE,MAAM;YACV,CAAC;QACH,CAAC;QACD,IAAI,MAAM,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;YAC1C,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC;YAC1B,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IACF,0EAA0E;IAC1E,uEAAuE;IACvE,8CAA8C;IAC9C,MAAM,eAAe,GAAG,CAAC,EAAU,EAAE,MAAc,EAAE,MAAkB,EAAQ,EAAE;QAC/E,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACpF,CAAC,CAAC;IACF,uEAAuE;IACvE,0EAA0E;IAC1E,yDAAyD;IACzD,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,wEAAwE;QACxE,sEAAsE;QACtE,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC;QAC1B,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,yDAAyD;IACzD,MAAM,GAAG,GAAG,CAAyB,IAAuC,EAAE,EAAE,CAC9E,KAAK,EAAE,GAAG,IAAU,EAA0B,EAAE;QAC9C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAC/D,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IACJ,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,aAA6B,EAAkB,EAAE,CAAC,CAAC;QACpF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,aAAa,EAAE,GAAG,CAAC,aAAa,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE;QACtI,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;YAChB,IAAI,IAAI,EAAE,EAAE,CAAC;gBACX,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC9C,CAAC;YACD,2EAA2E;YAC3E,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,mBAAmB,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;QAC7F,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACxC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;gBACpB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,sCAAsC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAC7F,CAAC;YACD,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC;YAC3B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC7C,CAAC;QACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;YACnB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAC/C,CAAC;KACF,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,YAA2B,EAAkB,EAAE,CAAC,CAAC;QACjF,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE;QAC/C,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,+BAA+B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1H,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,WAAW,EAAE,mBAAmB,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;QAC/H,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACzD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,OAAO,EAAE,EAAE,CAAC;KAClF,CAAC,CAAC;IACH,iFAAiF;IACjF,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,YAA2B,EAAkB,EAAE,CAAC,CAAC;QACjF,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE;QAC/C,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI;QAChB,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,mBAAmB,EAAE,YAAY,EAAE,OAAO,IAAI,UAAU,EAAE,EAAE,CAAC;QAC5G,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACzD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;KAC9D,CAAC,CAAC;IACH,2EAA2E;IAC3E,0DAA0D;IAC1D,MAAM,SAAS,GAAG,GAAmB,EAAE,CAAC,CAAC;QACvC,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QACvB,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3G,MAAM,EAAE,gBAAgB;QACxB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;QACvD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACzD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;KAC9D,CAAC,CAAC;IAEH,MAAM,OAAO,GAAY,WAAW,CAAC;QACnC,EAAE,EAAE,MAAM,CAAC,SAAS;QACpB,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE;QAC9E,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC;QACvB,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC;QACrB,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC;QACrB,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC;QACrB,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;QACnE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE;QAC/B,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE;QAC3B,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;gBAC5B,OAAO;YACT,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,CAAC,mEAAmE;YAC/G,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YAClE,IAAI,IAAI,EAAE,CAAC;gBACT,4DAA4D;gBAC5D,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;gBACxD,OAAO;YACT,CAAC;YACD,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,oEAAoE;YACpE,mEAAmE;YACnE,uCAAuC;YACvC,MAAM,MAAM,CAAC,MAAM,CAAC;QACtB,CAAC;KACF,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/runtimes/codex/session.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,12 @@ export declare function grokModelState(result: unknown): JsonRecord;
11
11
  * auth can use; entries still flagged `hidden` or not `user_selectable` are
12
12
  * dropped here as well. Both camel- and snake-case field spellings are read
13
13
  * because the extension's Rust serialization has changed between releases.
14
+ *
15
+ * The effort menu moved under the entry's `_meta` ([env] grok 1.0.41,
16
+ * 2026-09-29: `_meta: {supportsReasoningEffort, reasoningEffort: "high",
17
+ * reasoningEfforts: [{id, value, label, description, default}]}`); the
18
+ * top-level spellings of older builds are still read. It is the same menu
19
+ * the session's `reasoning_effort` config option offers for that model.
14
20
  */
15
21
  export declare function projectGrokModels(state: unknown): ModelEntry[];
16
22
  export declare const grokListModels: ModelLister;
@@ -1 +1 @@
1
- {"version":3,"file":"list-models.d.ts","sourceRoot":"","sources":["../../../src/runtimes/grok/list-models.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAG9E,OAAO,EAA0B,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAW/E;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAO1D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,EAAE,CAyB9D;AAwDD,eAAO,MAAM,cAAc,EAAE,WAkB5B,CAAC"}
1
+ {"version":3,"file":"list-models.d.ts","sourceRoot":"","sources":["../../../src/runtimes/grok/list-models.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAG9E,OAAO,EAA0B,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAW/E;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAO1D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,EAAE,CAkC9D;AAwDD,eAAO,MAAM,cAAc,EAAE,WAkB5B,CAAC"}
@@ -29,6 +29,12 @@ export function grokModelState(result) {
29
29
  * auth can use; entries still flagged `hidden` or not `user_selectable` are
30
30
  * dropped here as well. Both camel- and snake-case field spellings are read
31
31
  * because the extension's Rust serialization has changed between releases.
32
+ *
33
+ * The effort menu moved under the entry's `_meta` ([env] grok 1.0.41,
34
+ * 2026-09-29: `_meta: {supportsReasoningEffort, reasoningEffort: "high",
35
+ * reasoningEfforts: [{id, value, label, description, default}]}`); the
36
+ * top-level spellings of older builds are still read. It is the same menu
37
+ * the session's `reasoning_effort` config option offers for that model.
32
38
  */
33
39
  export function projectGrokModels(state) {
34
40
  const root = asRecord(state) ?? {};
@@ -43,8 +49,17 @@ export function projectGrokModels(state) {
43
49
  continue;
44
50
  }
45
51
  const displayName = text(model.displayName ?? model.display_name ?? model.name);
46
- const effortLevels = effortLevelsOf(model.reasoningEfforts ?? model.reasoning_efforts);
47
- const defaultEffort = effortLevelOf(model.defaultReasoningEffort ?? model.default_reasoning_effort ?? model.reasoningEffort ?? model.reasoning_effort);
52
+ // oxlint-disable-next-line eslint/no-underscore-dangle -- `_meta` is the ACP extension envelope.
53
+ const meta = asRecord(model._meta) ?? {};
54
+ // A model grok says takes no effort lists none, whatever else it carries.
55
+ const supportsEffort = meta.supportsReasoningEffort !== false;
56
+ const effortLevels = supportsEffort
57
+ ? effortLevelsOf(model.reasoningEfforts ?? model.reasoning_efforts ?? meta.reasoningEfforts ?? meta.reasoning_efforts)
58
+ : undefined;
59
+ const defaultEffort = supportsEffort
60
+ ? effortLevelOf(model.defaultReasoningEffort ?? model.default_reasoning_effort ?? model.reasoningEffort ?? model.reasoning_effort
61
+ ?? meta.reasoningEffort ?? meta.reasoning_effort)
62
+ : undefined;
48
63
  entries.push({
49
64
  id,
50
65
  ...(displayName === undefined ? {} : { displayName }),
@@ -1 +1 @@
1
- {"version":3,"file":"list-models.js","sourceRoot":"","sources":["../../../src/runtimes/grok/list-models.ts"],"names":[],"mappings":"AAAA,2HAA2H;AAC3H,OAAO,EACL,MAAM,IAAI,YAAY,EACtB,OAAO,EACP,gBAAgB,EAChB,YAAY,GACb,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAmB,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAExE,SAAS,IAAI,CAAC,KAAc;IAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAe;IAC5C,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACxC,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjH,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC;AAC/C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7D,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,eAAe,KAAK,KAAK,IAAI,KAAK,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;YAC/F,SAAS;QACX,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;QAChF,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACvF,MAAM,aAAa,GAAG,aAAa,CACjC,KAAK,CAAC,sBAAsB,IAAI,KAAK,CAAC,wBAAwB,IAAI,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,gBAAgB,CAClH,CAAC;QACF,OAAO,CAAC,IAAI,CAAC;YACX,EAAE;YACF,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;YACrD,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;YACvD,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;SAC1D,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,OAAe,EAAE,SAAiB;IAC9D,MAAM,OAAO,GAAG,eAAe,CAC7B,OAAO,EACP,CAAC,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,OAAO,CAAC,EACrD,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAC7B,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CACrB,CAAC;IACF,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;QAC5C,MAAM,QAAQ,GAAG,MAAM,eAAe,CACpC,OAAO,EACP,UAAU,EACV,SAAS,EACT,CAAC,cAAc,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE;YAC/D,eAAe,EAAE,gBAAgB;YACjC,kBAAkB,EAAE;gBAClB,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;gBACjD,QAAQ,EAAE,KAAK;aAChB;YACD,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE;YAC7C,KAAK,EAAE,kBAAkB,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;SAClD,EAAE,cAAc,CAAC,CACnB,CAAC;QACF,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;YAChD,MAAM,eAAe,CACnB,OAAO,EACP,YAAY,EACZ,SAAS,EACT,CAAC,cAAc,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAClD,YAAY,EACZ,EAAE,QAAQ,EAAE,MAAM,EAAE,EACpB,cAAc,CACf,CACF,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,eAAe,CAClC,OAAO,EACP,mBAAmB,EACnB,SAAS,EACT,CAAC,cAAc,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAClD,mBAAmB,EACnB,EAAE,EACF,cAAc,CACf,CACF,CAAC;QACF,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,OAAO,CAAC,MAAM,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAgB,KAAK,EAAE,YAAY,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE;IAC9E,IAAI,YAAY,CAAC,GAAG,KAAK,YAAY,EAAE,CAAC;QACtC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,iDAAiD,EAAE,CAAC;IAC5F,CAAC;IACD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;QACtF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;IAC1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;YAClC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC3B,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,iDAAiD,EAAE,CAAC;YAC5F,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,uCAAuC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1F,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAC5D,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"list-models.js","sourceRoot":"","sources":["../../../src/runtimes/grok/list-models.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,13 @@ import type { ModelEntry, ModelLister } from "../../contracts/list-models.js";
2
2
  /**
3
3
  * Project a `session/new` response. Kimi has no model-list method; the usable
4
4
  * list for the logged-in account rides on every new session as the
5
- * `configOptions` entry with id `model` (acp-server config-options.ts). A
6
- * `thinking` option is only emitted for the currently selected model, so
7
- * effort levels can only be attached to that entry; its `off` value is a
8
- * toggle, not an effort level, and is dropped.
5
+ * `configOptions` entry with id `model` (acp-server config-options.ts). The
6
+ * effort menu is the option in ACP's `thought_level` category (kimi 2.0.0:
7
+ * id `thinking`, low/high/max on k3), the same lookup the session uses to
8
+ * apply `SessionOptions.effort` (shared/acp/model.ts), so what is listed is
9
+ * what a session accepts. It is only emitted for the currently selected
10
+ * model, so effort levels can only be attached to that entry; an `off` value
11
+ * is a toggle, not an effort level, and is dropped.
9
12
  */
10
13
  export declare function projectKimiModels(response: unknown): ModelEntry[] | undefined;
11
14
  export declare const kimiListModels: ModelLister;
@@ -1 +1 @@
1
- {"version":3,"file":"list-models.d.ts","sourceRoot":"","sources":["../../../src/runtimes/kimi/list-models.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAmB9E;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,UAAU,EAAE,GAAG,SAAS,CA8B7E;AAyDD,eAAO,MAAM,cAAc,EAAE,WAsB5B,CAAC"}
1
+ {"version":3,"file":"list-models.d.ts","sourceRoot":"","sources":["../../../src/runtimes/kimi/list-models.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAoB9E;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,UAAU,EAAE,GAAG,SAAS,CA8B7E;AAyDD,eAAO,MAAM,cAAc,EAAE,WAsB5B,CAAC"}
@@ -1,6 +1,7 @@
1
1
  /* oxlint-disable typescript/promise-function-async -- Deadline callbacks deliberately return the SDK's native promises. */
2
2
  import { client as createClient, methods, PROTOCOL_VERSION, RequestError, } from "@agentclientprotocol/sdk";
3
3
  import { startAcpProcess, withAcpDeadline } from "../../shared/acp/process.js";
4
+ import { acpThoughtLevelOption } from "../../shared/acp/model.js";
4
5
  import { closeAcpSession } from "../../shared/acp/profile.js";
5
6
  import { effortLevelOf } from "../../shared/effort-levels.js";
6
7
  import { asRecord, asRecordList } from "../../shared/json.js";
@@ -18,10 +19,13 @@ function configOption(response, id) {
18
19
  /**
19
20
  * Project a `session/new` response. Kimi has no model-list method; the usable
20
21
  * list for the logged-in account rides on every new session as the
21
- * `configOptions` entry with id `model` (acp-server config-options.ts). A
22
- * `thinking` option is only emitted for the currently selected model, so
23
- * effort levels can only be attached to that entry; its `off` value is a
24
- * toggle, not an effort level, and is dropped.
22
+ * `configOptions` entry with id `model` (acp-server config-options.ts). The
23
+ * effort menu is the option in ACP's `thought_level` category (kimi 2.0.0:
24
+ * id `thinking`, low/high/max on k3), the same lookup the session uses to
25
+ * apply `SessionOptions.effort` (shared/acp/model.ts), so what is listed is
26
+ * what a session accepts. It is only emitted for the currently selected
27
+ * model, so effort levels can only be attached to that entry; an `off` value
28
+ * is a toggle, not an effort level, and is dropped.
25
29
  */
26
30
  export function projectKimiModels(response) {
27
31
  const root = asRecord(response) ?? {};
@@ -30,7 +34,7 @@ export function projectKimiModels(response) {
30
34
  return undefined;
31
35
  }
32
36
  const current = text(modelOption.currentValue);
33
- const thinking = configOption(root, "thinking");
37
+ const thinking = acpThoughtLevelOption(root) ?? undefined;
34
38
  const effortLevels = thinking === undefined
35
39
  ? undefined
36
40
  : asRecordList(thinking.options)
@@ -1 +1 @@
1
- {"version":3,"file":"list-models.js","sourceRoot":"","sources":["../../../src/runtimes/kimi/list-models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-models.js","sourceRoot":"","sources":["../../../src/runtimes/kimi/list-models.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"installation.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/installation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAwB,MAAM,iCAAiC,CAAC;AAa/F;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,EAAE,iBAa5B,CAAC"}
1
+ {"version":3,"file":"installation.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/installation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAwB,MAAM,iCAAiC,CAAC;AAe/F;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,EAAE,iBAa5B,CAAC"}
@@ -1,7 +1,9 @@
1
1
  const SDK_PACKAGE = "@earendil-works/pi-coding-agent";
2
2
  async function sdkLoads() {
3
3
  try {
4
- await import(SDK_PACKAGE);
4
+ // A string LITERAL, not SDK_PACKAGE: bundlers only compile in (and
5
+ // resolve) literal specifiers, and this fallback exists for bundles.
6
+ await import("@earendil-works/pi-coding-agent");
5
7
  return true;
6
8
  }
7
9
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"installation.js","sourceRoot":"","sources":["../../../src/runtimes/pi/installation.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,GAAG,iCAAiC,CAAC;AAEtD,KAAK,UAAU,QAAQ;IACrB,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAsB,KAAK,IAAmC,EAAE;IACzF,MAAM,UAAU,GAAG,CAAC,GAAY,EAAE;QAChC,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IACL,IAAI,UAAU,IAAI,MAAM,QAAQ,EAAE,EAAE,CAAC;QACnC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;IAC/C,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAC/B,CAAC,CAAC"}
1
+ {"version":3,"file":"installation.js","sourceRoot":"","sources":["../../../src/runtimes/pi/installation.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,GAAG,iCAAiC,CAAC;AAEtD,KAAK,UAAU,QAAQ;IACrB,IAAI,CAAC;QACH,mEAAmE;QACnE,qEAAqE;QACrE,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAsB,KAAK,IAAmC,EAAE;IACzF,MAAM,UAAU,GAAG,CAAC,GAAY,EAAE;QAChC,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IACL,IAAI,UAAU,IAAI,MAAM,QAAQ,EAAE,EAAE,CAAC;QACnC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;IAC/C,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAC/B,CAAC,CAAC"}
@@ -4,6 +4,8 @@ export interface PiListedModel {
4
4
  readonly id: string;
5
5
  readonly provider: string;
6
6
  readonly name?: string;
7
+ /** Pi's reasoning flag: a model without it runs only the `off` thinking level. */
8
+ readonly reasoning?: boolean;
7
9
  }
8
10
  /**
9
11
  * The slice of Pi's `ModelRuntime` the lister depends on. `getAvailable()`
@@ -11,16 +13,26 @@ export interface PiListedModel {
11
13
  * usable) and returns the usable-now list; it is what `pi --list-models`
12
14
  * itself awaits.
13
15
  */
14
- export interface PiAvailabilitySource {
16
+ export interface PiAvailabilitySource<Model extends PiListedModel = PiListedModel> {
15
17
  getAvailable(providerId?: string, options?: {
16
18
  readonly signal?: AbortSignal;
17
- }): Promise<readonly PiListedModel[]>;
19
+ }): Promise<readonly Model[]>;
18
20
  }
21
+ /** Pi's own thinking-level menu for one model (pi-ai `getSupportedThinkingLevels`), injected so the projection stays pure. */
22
+ export type PiThinkingLevelsOf<Model extends PiListedModel> = (model: Model) => readonly string[];
19
23
  /**
20
24
  * Pi model ids are only unique per provider, so the session-facing id is
21
25
  * `provider/model`, the same spelling Pi's own `--model` flag accepts.
26
+ *
27
+ * `effortLevels` is pi's thinking-level menu for a reasoning model, exactly
28
+ * as pi derives it (`thinkingLevelMap` drops levels mapped to null and adds
29
+ * `xhigh`/`max` only where mapped; `off` is one of pi's levels and stays
30
+ * where pi offers it), the levels `SessionOptions.effort` accepts on pi. A
31
+ * model without `reasoning` runs only `off` and lists no menu. No
32
+ * `defaultEffort`: pi's default is a settings value clamped per model at
33
+ * session creation, and the session's `effort()` reports it.
22
34
  */
23
- export declare function projectPiModels(models: readonly PiListedModel[]): ModelEntry[];
35
+ export declare function projectPiModels<Model extends PiListedModel>(models: readonly Model[], thinkingLevelsOf?: PiThinkingLevelsOf<Model>): ModelEntry[];
24
36
  /**
25
37
  * In-process through the bundled SDK, built the way `pi --list-models` builds
26
38
  * its own runtime: `createAgentSessionServices` loads the extensions under the
@@ -43,6 +55,6 @@ export declare function projectPiModels(models: readonly PiListedModel[]): Model
43
55
  * Pi keys on provider API keys rather than one login, so "nothing configured"
44
56
  * is an `ok` empty list, not `unauthenticated`.
45
57
  */
46
- export declare function createPiListModels(createRuntime: (signal: AbortSignal) => Promise<PiAvailabilitySource>): ModelLister;
58
+ export declare function createPiListModels<Model extends PiListedModel>(createRuntime: (signal: AbortSignal) => Promise<PiAvailabilitySource<Model>>, thinkingLevelsOf?: () => Promise<PiThinkingLevelsOf<Model>>): ModelLister;
47
59
  export declare const piListModels: ModelLister;
48
60
  //# sourceMappingURL=list-models.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-models.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/list-models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAG9E,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,YAAY,CACV,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAC1C,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC,CAAC;CACtC;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,GAAG,UAAU,EAAE,CAK9E;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,oBAAoB,CAAC,GACpE,WAAW,CAeb;AAED,eAAO,MAAM,YAAY,EAAE,WAqBzB,CAAC"}
1
+ {"version":3,"file":"list-models.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/list-models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAG9E,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,kFAAkF;IAClF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB,CAAC,KAAK,SAAS,aAAa,GAAG,aAAa;IAC/E,YAAY,CACV,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAC1C,OAAO,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;CAC9B;AAED,8HAA8H;AAC9H,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,aAAa,IAAI,CAAC,KAAK,EAAE,KAAK,KAAK,SAAS,MAAM,EAAE,CAAC;AAElG;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,KAAK,SAAS,aAAa,EACzD,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,gBAAgB,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAC3C,UAAU,EAAE,CASd;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,SAAS,aAAa,EAC5D,aAAa,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,EAC5E,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,GAC1D,WAAW,CAeb;AAED,eAAO,MAAM,YAAY,EAAE,WA0BzB,CAAC"}
@@ -2,12 +2,24 @@ import { configurePiHttp } from "./http.js";
2
2
  /**
3
3
  * Pi model ids are only unique per provider, so the session-facing id is
4
4
  * `provider/model`, the same spelling Pi's own `--model` flag accepts.
5
+ *
6
+ * `effortLevels` is pi's thinking-level menu for a reasoning model, exactly
7
+ * as pi derives it (`thinkingLevelMap` drops levels mapped to null and adds
8
+ * `xhigh`/`max` only where mapped; `off` is one of pi's levels and stays
9
+ * where pi offers it), the levels `SessionOptions.effort` accepts on pi. A
10
+ * model without `reasoning` runs only `off` and lists no menu. No
11
+ * `defaultEffort`: pi's default is a settings value clamped per model at
12
+ * session creation, and the session's `effort()` reports it.
5
13
  */
6
- export function projectPiModels(models) {
7
- return models.map((model) => ({
8
- id: `${model.provider}/${model.id}`,
9
- displayName: model.name === undefined || model.name.trim().length === 0 ? model.id : model.name.trim(),
10
- }));
14
+ export function projectPiModels(models, thinkingLevelsOf) {
15
+ return models.map((model) => {
16
+ const effortLevels = model.reasoning === true && thinkingLevelsOf !== undefined ? thinkingLevelsOf(model) : [];
17
+ return {
18
+ id: `${model.provider}/${model.id}`,
19
+ displayName: model.name === undefined || model.name.trim().length === 0 ? model.id : model.name.trim(),
20
+ ...(effortLevels.length === 0 ? {} : { effortLevels: [...effortLevels] }),
21
+ };
22
+ });
11
23
  }
12
24
  /**
13
25
  * In-process through the bundled SDK, built the way `pi --list-models` builds
@@ -31,7 +43,7 @@ export function projectPiModels(models) {
31
43
  * Pi keys on provider API keys rather than one login, so "nothing configured"
32
44
  * is an `ok` empty list, not `unauthenticated`.
33
45
  */
34
- export function createPiListModels(createRuntime) {
46
+ export function createPiListModels(createRuntime, thinkingLevelsOf) {
35
47
  return async (installation, options = {}) => {
36
48
  if (installation.via !== "bundled") {
37
49
  return { kind: "unsupported", reason: "pi model listing runs through the bundled Pi SDK" };
@@ -40,7 +52,7 @@ export function createPiListModels(createRuntime) {
40
52
  const signal = AbortSignal.timeout(options.timeoutMs ?? 15_000);
41
53
  const runtime = await createRuntime(signal);
42
54
  const available = await runtime.getAvailable(undefined, { signal });
43
- return { kind: "ok", models: projectPiModels(available) };
55
+ return { kind: "ok", models: projectPiModels(available, await thinkingLevelsOf?.()) };
44
56
  }
45
57
  catch (error) {
46
58
  const detail = error instanceof Error ? error.message : String(error);
@@ -69,5 +81,10 @@ export const piListModels = createPiListModels(async (signal) => {
69
81
  },
70
82
  });
71
83
  return services.modelRuntime;
84
+ }, async () => {
85
+ // Pi's own function, the one AgentSession.getAvailableThinkingLevels() runs
86
+ // (agent-session.js 0.84.2), so the menu is pi's policy, not a copy of it.
87
+ const { getSupportedThinkingLevels } = await import("@earendil-works/pi-ai");
88
+ return getSupportedThinkingLevels;
72
89
  });
73
90
  //# sourceMappingURL=list-models.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-models.js","sourceRoot":"","sources":["../../../src/runtimes/pi/list-models.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAsB5C;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,MAAgC;IAC9D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5B,EAAE,EAAE,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE,EAAE;QACnC,WAAW,EAAE,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;KACvG,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,kBAAkB,CAChC,aAAqE;IAErE,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE;QAC1C,IAAI,YAAY,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,kDAAkD,EAAE,CAAC;QAC7F,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;YAChE,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACpE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,2CAA2C,MAAM,EAAE,EAAE,CAAC;QAC9F,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;IAC3E,MAAM,EAAE,0BAA0B,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;IACrH,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,WAAW,EAAE,CAAC;IAC/D,sEAAsE;IACtE,oEAAoE;IACpE,YAAY;IACZ,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IACxE,MAAM,eAAe,CAAC,eAAe,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC;QAChD,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,QAAQ;QACR,eAAe;QACf,kBAAkB,EAAE,MAAM;QAC1B,qBAAqB,EAAE;YACrB,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,IAAI;YACvB,QAAQ,EAAE,IAAI;YACd,cAAc,EAAE,IAAI;SACrB;KACF,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,YAAY,CAAC;AAC/B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"list-models.js","sourceRoot":"","sources":["../../../src/runtimes/pi/list-models.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,28 @@ import type { SessionOptions } from "../../contracts/session.js";
7
7
  * replaces the builtin by name. Exported for direct unit verification.
8
8
  */
9
9
  export declare function piEnvBashTool(cwd: string, overlay: Readonly<Record<string, string>>): Promise<NonNullable<CreateAgentSessionOptions["customTools"]>[number]>;
10
+ /** pi's thinking levels (`ThinkingLevel`, pi-agent-core 0.84.2): the spelling `SessionOptions.effort` takes on pi. */
11
+ export type PiThinkingLevel = NonNullable<CreateAgentSessionOptions["thinkingLevel"]>;
12
+ /**
13
+ * `SessionOptions.effort` as a pi thinking level, or an Error naming pi's
14
+ * levels. Checked before pi sees it: pi's `clampThinkingLevel` turns a word
15
+ * it does not know into the model's lowest level without a word (pi-ai
16
+ * 0.84.2 models.js), which the read-back would catch only after the session
17
+ * was built.
18
+ */
19
+ export declare function piThinkingLevel(effort: string): PiThinkingLevel;
20
+ /** The slice of pi's AgentSession the effort read-back depends on; structural for tests. */
21
+ export interface PiEffortSource extends PiModelSource {
22
+ readonly thinkingLevel: string;
23
+ getAvailableThinkingLevels(): readonly string[];
24
+ }
25
+ /**
26
+ * Why the opened pi session does not run the requested thinking level, read
27
+ * off pi's own state (`AgentSession.thinkingLevel`, what the next request
28
+ * sends), or null when it does. pi clamps a level the model does not offer to
29
+ * the nearest one it does (a non-reasoning model: `off`) without a word.
30
+ */
31
+ export declare function piEffortRefusal(requested: string, session: PiEffortSource): string | null;
10
32
  /** The slice of pi's AgentSession the model read-back depends on; structural for tests. */
11
33
  export interface PiModelSource {
12
34
  readonly model: {