@botiverse/oar 0.9.0 → 0.10.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 (131) hide show
  1. package/README.md +2 -2
  2. package/assets/brands/NOTICE.md +6 -5
  3. package/assets/brands/antigravity.svg +1 -0
  4. package/assets/brands/cursor-on-dark.svg +1 -0
  5. package/assets/brands/cursor-on-light.svg +1 -0
  6. package/assets/brands/cursor.svg +1 -0
  7. package/dist/brands.d.ts +12 -0
  8. package/dist/brands.d.ts.map +1 -1
  9. package/dist/brands.js +12 -0
  10. package/dist/brands.js.map +1 -1
  11. package/dist/contracts/input.d.ts +8 -0
  12. package/dist/contracts/input.d.ts.map +1 -0
  13. package/dist/contracts/input.js +2 -0
  14. package/dist/contracts/input.js.map +1 -0
  15. package/dist/contracts/records.d.ts +4 -0
  16. package/dist/contracts/records.d.ts.map +1 -1
  17. package/dist/contracts/records.js +0 -15
  18. package/dist/contracts/records.js.map +1 -1
  19. package/dist/contracts/session.d.ts +11 -0
  20. package/dist/contracts/session.d.ts.map +1 -1
  21. package/dist/index.d.ts +9 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +12 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/observe/conversation.d.ts +3 -1
  26. package/dist/observe/conversation.d.ts.map +1 -1
  27. package/dist/observe/conversation.js +2 -2
  28. package/dist/observe/conversation.js.map +1 -1
  29. package/dist/observe/turns.d.ts +3 -1
  30. package/dist/observe/turns.d.ts.map +1 -1
  31. package/dist/observe/turns.js +1 -1
  32. package/dist/observe/turns.js.map +1 -1
  33. package/dist/runtimes/antigravity/index.d.ts +14 -0
  34. package/dist/runtimes/antigravity/index.d.ts.map +1 -0
  35. package/dist/runtimes/antigravity/index.js +14 -0
  36. package/dist/runtimes/antigravity/index.js.map +1 -0
  37. package/dist/runtimes/antigravity/installation.d.ts +13 -0
  38. package/dist/runtimes/antigravity/installation.d.ts.map +1 -0
  39. package/dist/runtimes/antigravity/installation.js +16 -0
  40. package/dist/runtimes/antigravity/installation.js.map +1 -0
  41. package/dist/runtimes/antigravity/list-models.d.ts +12 -0
  42. package/dist/runtimes/antigravity/list-models.d.ts.map +1 -0
  43. package/dist/runtimes/antigravity/list-models.js +79 -0
  44. package/dist/runtimes/antigravity/list-models.js.map +1 -0
  45. package/dist/runtimes/antigravity/session.d.ts +17 -0
  46. package/dist/runtimes/antigravity/session.d.ts.map +1 -0
  47. package/dist/runtimes/antigravity/session.js +57 -0
  48. package/dist/runtimes/antigravity/session.js.map +1 -0
  49. package/dist/runtimes/claude/session.d.ts.map +1 -1
  50. package/dist/runtimes/claude/session.js +27 -14
  51. package/dist/runtimes/claude/session.js.map +1 -1
  52. package/dist/runtimes/codex/session.d.ts.map +1 -1
  53. package/dist/runtimes/codex/session.js +13 -9
  54. package/dist/runtimes/codex/session.js.map +1 -1
  55. package/dist/runtimes/cursor/index.d.ts +19 -0
  56. package/dist/runtimes/cursor/index.d.ts.map +1 -0
  57. package/dist/runtimes/cursor/index.js +15 -0
  58. package/dist/runtimes/cursor/index.js.map +1 -0
  59. package/dist/runtimes/cursor/installation.d.ts +9 -0
  60. package/dist/runtimes/cursor/installation.d.ts.map +1 -0
  61. package/dist/runtimes/cursor/installation.js +17 -0
  62. package/dist/runtimes/cursor/installation.js.map +1 -0
  63. package/dist/runtimes/cursor/list-models.d.ts +13 -0
  64. package/dist/runtimes/cursor/list-models.d.ts.map +1 -0
  65. package/dist/runtimes/cursor/list-models.js +92 -0
  66. package/dist/runtimes/cursor/list-models.js.map +1 -0
  67. package/dist/runtimes/cursor/session.d.ts +38 -0
  68. package/dist/runtimes/cursor/session.d.ts.map +1 -0
  69. package/dist/runtimes/cursor/session.js +74 -0
  70. package/dist/runtimes/cursor/session.js.map +1 -0
  71. package/dist/runtimes/grok/session.d.ts.map +1 -1
  72. package/dist/runtimes/grok/session.js +3 -1
  73. package/dist/runtimes/grok/session.js.map +1 -1
  74. package/dist/runtimes/pi/session.d.ts.map +1 -1
  75. package/dist/runtimes/pi/session.js +20 -10
  76. package/dist/runtimes/pi/session.js.map +1 -1
  77. package/dist/shared/acp/client-app.d.ts +2 -0
  78. package/dist/shared/acp/client-app.d.ts.map +1 -1
  79. package/dist/shared/acp/client-app.js +8 -1
  80. package/dist/shared/acp/client-app.js.map +1 -1
  81. package/dist/shared/acp/effort.d.ts +14 -0
  82. package/dist/shared/acp/effort.d.ts.map +1 -1
  83. package/dist/shared/acp/effort.js +15 -0
  84. package/dist/shared/acp/effort.js.map +1 -1
  85. package/dist/shared/acp/model.d.ts +4 -0
  86. package/dist/shared/acp/model.d.ts.map +1 -1
  87. package/dist/shared/acp/model.js +10 -1
  88. package/dist/shared/acp/model.js.map +1 -1
  89. package/dist/shared/acp/process.d.ts +2 -0
  90. package/dist/shared/acp/process.d.ts.map +1 -1
  91. package/dist/shared/acp/process.js +7 -2
  92. package/dist/shared/acp/process.js.map +1 -1
  93. package/dist/shared/acp/profile.d.ts +25 -3
  94. package/dist/shared/acp/profile.d.ts.map +1 -1
  95. package/dist/shared/acp/profile.js +15 -9
  96. package/dist/shared/acp/profile.js.map +1 -1
  97. package/dist/shared/acp/records.d.ts +3 -1
  98. package/dist/shared/acp/records.d.ts.map +1 -1
  99. package/dist/shared/acp/records.js +14 -6
  100. package/dist/shared/acp/records.js.map +1 -1
  101. package/dist/shared/acp/session.d.ts.map +1 -1
  102. package/dist/shared/acp/session.js +13 -7
  103. package/dist/shared/acp/session.js.map +1 -1
  104. package/dist/shared/acp/turns.d.ts +11 -8
  105. package/dist/shared/acp/turns.d.ts.map +1 -1
  106. package/dist/shared/acp/turns.js +34 -15
  107. package/dist/shared/acp/turns.js.map +1 -1
  108. package/dist/shared/acp/vendor-updates.d.ts +7 -0
  109. package/dist/shared/acp/vendor-updates.d.ts.map +1 -0
  110. package/dist/shared/acp/vendor-updates.js +46 -0
  111. package/dist/shared/acp/vendor-updates.js.map +1 -0
  112. package/dist/shared/executable/index.d.ts +1 -1
  113. package/dist/shared/executable/index.d.ts.map +1 -1
  114. package/dist/shared/executable/index.js.map +1 -1
  115. package/dist/shared/executable/version.d.ts +4 -2
  116. package/dist/shared/executable/version.d.ts.map +1 -1
  117. package/dist/shared/executable/version.js +7 -4
  118. package/dist/shared/executable/version.js.map +1 -1
  119. package/dist/shared/input-images.d.ts +23 -0
  120. package/dist/shared/input-images.d.ts.map +1 -0
  121. package/dist/shared/input-images.js +60 -0
  122. package/dist/shared/input-images.js.map +1 -0
  123. package/dist/shared/installation.d.ts +3 -0
  124. package/dist/shared/installation.d.ts.map +1 -1
  125. package/dist/shared/installation.js +4 -4
  126. package/dist/shared/installation.js.map +1 -1
  127. package/dist/testing/scripted-runtime.d.ts +9 -2
  128. package/dist/testing/scripted-runtime.d.ts.map +1 -1
  129. package/dist/testing/scripted-runtime.js +18 -8
  130. package/dist/testing/scripted-runtime.js.map +1 -1
  131. package/package.json +1 -1
@@ -0,0 +1,13 @@
1
+ import type { ModelEntry, ModelLister } from "../../contracts/list-models.js";
2
+ /**
3
+ * Project the `cursor/list_available_models` answer (cursor-agent
4
+ * 2026.09.28): `{models: [{value, name, configOptions}]}`, where `value` is
5
+ * the model name `session/set_config_option` accepts for `model`, `name` the
6
+ * display name, and `configOptions` the model's parameters as select options
7
+ * at their default values. The reasoning parameter is the `thought_level`
8
+ * option a session would set for that model (`acpThoughtLevelOption`: the
9
+ * `effort` menu over the `thinking` switch when a Claude model has both).
10
+ */
11
+ export declare function projectCursorModels(result: unknown): ModelEntry[];
12
+ export declare const cursorListModels: ModelLister;
13
+ //# sourceMappingURL=list-models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-models.d.ts","sourceRoot":"","sources":["../../../src/runtimes/cursor/list-models.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAgB9E;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,EAAE,CAqBjE;AA0CD,eAAO,MAAM,gBAAgB,EAAE,WAmB9B,CAAC"}
@@ -0,0 +1,92 @@
1
+ /* oxlint-disable typescript/promise-function-async -- Deadline callbacks deliberately return the SDK's native promises. */
2
+ import { client as createClient, methods, PROTOCOL_VERSION, RequestError, } from "@agentclientprotocol/sdk";
3
+ import { acpThoughtLevelOption } from "../../shared/acp/model.js";
4
+ import { startAcpProcess, withAcpDeadline } from "../../shared/acp/process.js";
5
+ import { asRecord, asRecordList } from "../../shared/json.js";
6
+ import { cursorAcpArgs, cursorClientCapabilitiesMeta, selectCursorAuthMethod } from "./session.js";
7
+ const listMethod = "cursor/list_available_models";
8
+ function text(value) {
9
+ if (typeof value !== "string") {
10
+ return undefined;
11
+ }
12
+ const trimmed = value.trim();
13
+ return trimmed.length > 0 ? trimmed : undefined;
14
+ }
15
+ /**
16
+ * Project the `cursor/list_available_models` answer (cursor-agent
17
+ * 2026.09.28): `{models: [{value, name, configOptions}]}`, where `value` is
18
+ * the model name `session/set_config_option` accepts for `model`, `name` the
19
+ * display name, and `configOptions` the model's parameters as select options
20
+ * at their default values. The reasoning parameter is the `thought_level`
21
+ * option a session would set for that model (`acpThoughtLevelOption`: the
22
+ * `effort` menu over the `thinking` switch when a Claude model has both).
23
+ */
24
+ export function projectCursorModels(result) {
25
+ const entries = [];
26
+ for (const model of asRecordList(asRecord(result)?.models)) {
27
+ const id = text(model.value);
28
+ if (id === undefined) {
29
+ continue;
30
+ }
31
+ const displayName = text(model.name);
32
+ const thoughtLevel = acpThoughtLevelOption({ configOptions: model.configOptions }) ?? undefined;
33
+ const effortLevels = thoughtLevel === undefined
34
+ ? undefined
35
+ : asRecordList(thoughtLevel.options).flatMap((option) => text(option.value) ?? []);
36
+ const defaultEffort = thoughtLevel === undefined ? undefined : text(thoughtLevel.currentValue);
37
+ entries.push({
38
+ id,
39
+ ...(displayName === undefined || displayName === id ? {} : { displayName }),
40
+ ...(effortLevels === undefined || effortLevels.length === 0 ? {} : { effortLevels }),
41
+ ...(defaultEffort === undefined ? {} : { defaultEffort }),
42
+ });
43
+ }
44
+ return entries;
45
+ }
46
+ async function readModels(command, timeoutMs) {
47
+ const runtime = startAcpProcess(command, cursorAcpArgs, createClient({ name: "oar" }), { env: process.env });
48
+ try {
49
+ const initialize = methods.agent.initialize;
50
+ const response = await withAcpDeadline(runtime, initialize, timeoutMs, (requestOptions) => runtime.connection.agent.request(initialize, {
51
+ protocolVersion: PROTOCOL_VERSION,
52
+ clientCapabilities: {
53
+ fs: { readTextFile: false, writeTextFile: false },
54
+ terminal: false,
55
+ _meta: cursorClientCapabilitiesMeta(),
56
+ },
57
+ clientInfo: { name: "oar", version: "0.0.0" },
58
+ }, requestOptions));
59
+ const method = selectCursorAuthMethod(asRecord(response) ?? {});
60
+ if (method !== undefined) {
61
+ const authenticate = methods.agent.authenticate;
62
+ await withAcpDeadline(runtime, authenticate, timeoutMs, (requestOptions) => runtime.connection.agent.request(authenticate, { methodId: method }, requestOptions));
63
+ }
64
+ return await withAcpDeadline(runtime, listMethod, timeoutMs, (requestOptions) => runtime.connection.agent.request(listMethod, {}, requestOptions));
65
+ }
66
+ finally {
67
+ runtime.kill();
68
+ await runtime.exited;
69
+ }
70
+ }
71
+ export const cursorListModels = async (installation, options = {}) => {
72
+ if (installation.via !== "executable") {
73
+ return { kind: "unsupported", reason: "cursor model listing requires the cursor-agent executable" };
74
+ }
75
+ try {
76
+ const result = await readModels(installation.command, options.timeoutMs ?? 15_000);
77
+ return { kind: "ok", models: projectCursorModels(result) };
78
+ }
79
+ catch (error) {
80
+ if (error instanceof RequestError) {
81
+ if (error.code === -32_601) {
82
+ return { kind: "unsupported", reason: `this cursor-agent build has no ${listMethod} method` };
83
+ }
84
+ // cursor-agent answers `authRequired` (-32000) until `cursor-agent login` has run.
85
+ if (error.code === -32_000 || /auth(?:entication)?|log(?:ged)? ?in/iu.test(error.message)) {
86
+ return { kind: "unauthenticated", detail: error.message };
87
+ }
88
+ }
89
+ throw new Error("Failed to list Cursor models", { cause: error });
90
+ }
91
+ };
92
+ //# sourceMappingURL=list-models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-models.js","sourceRoot":"","sources":["../../../src/runtimes/cursor/list-models.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { type AcpSessionProfile } from "../../shared/acp/session.js";
2
+ import { type JsonRecord } from "../../shared/json.js";
3
+ export declare function selectCursorAuthMethod(initialized: JsonRecord): string | undefined;
4
+ /**
5
+ * Without `parameterizedModelPicker` cursor-agent 2026.09.28 answers in its
6
+ * "variants" picker mode: every model and effort pair is one flat `model`
7
+ * value and no `thought_level` option exists. With it, `model` lists plain
8
+ * model names and each model parameter is its own select option, the
9
+ * reasoning one under category `thought_level`. Without `subagents` a child
10
+ * is visible only as the parent's `task` tool call.
11
+ */
12
+ export declare function cursorClientCapabilitiesMeta(): JsonRecord;
13
+ /**
14
+ * With the `subagents` opt-in cursor-agent 2026.09.28 announces each child on
15
+ * the parent's own `session/update` (`subagent_spawned`, then
16
+ * `subagent_state_update` with completed, failed, cancelled or disconnected),
17
+ * and the child's standard updates arrive under its own session id.
18
+ */
19
+ export declare const CURSOR_VENDOR_SESSION_UPDATES: readonly string[];
20
+ /**
21
+ * `--force` (alias `--yolo`) is a root option, so it precedes the hidden
22
+ * `acp` subcommand. It runs commands without asking; a team whose admin
23
+ * controls auto run can still switch it off, and then the agent asks
24
+ * through `session/request_permission`.
25
+ */
26
+ export declare const cursorAcpArgs: readonly string[];
27
+ /**
28
+ * Requests cursor-agent 2026.09.28 sends its client beyond standard ACP. oar
29
+ * implements none: each is recorded and refused with `-32601`, as an
30
+ * unregistered method would be. On that refusal `cursor/ask_question` asks
31
+ * one `session/request_permission` per single select question (oar picks its
32
+ * first option), `cursor/create_plan` writes the plan to a local file, and
33
+ * the rest were notices the agent does not wait on.
34
+ */
35
+ export declare const CURSOR_EXTENSION_REQUESTS: readonly string[];
36
+ export declare const cursorAcpProfile: AcpSessionProfile;
37
+ export declare const cursorSession: import("../../contracts/session.js").StartSession;
38
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/runtimes/cursor/session.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEjE,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAOlF;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,IAAI,UAAU,CAEzD;AAED;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,EAAE,SAAS,MAAM,EAAkD,CAAC;AAQ9G;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAAuB,CAAC;AAEnE;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAMtD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,iBAgB9B,CAAC;AAEF,eAAO,MAAM,aAAa,mDAA+B,CAAC"}
@@ -0,0 +1,74 @@
1
+ import { acpSession } from "../../shared/acp/session.js";
2
+ import { asRecord } from "../../shared/json.js";
3
+ export function selectCursorAuthMethod(initialized) {
4
+ const methods = Array.isArray(initialized.authMethods) ? initialized.authMethods : [];
5
+ return methods
6
+ .map((method) => asRecord(method))
7
+ .some((method) => method?.id === "cursor_login")
8
+ ? "cursor_login"
9
+ : undefined;
10
+ }
11
+ /**
12
+ * Without `parameterizedModelPicker` cursor-agent 2026.09.28 answers in its
13
+ * "variants" picker mode: every model and effort pair is one flat `model`
14
+ * value and no `thought_level` option exists. With it, `model` lists plain
15
+ * model names and each model parameter is its own select option, the
16
+ * reasoning one under category `thought_level`. Without `subagents` a child
17
+ * is visible only as the parent's `task` tool call.
18
+ */
19
+ export function cursorClientCapabilitiesMeta() {
20
+ return { parameterizedModelPicker: true, subagents: true };
21
+ }
22
+ /**
23
+ * With the `subagents` opt-in cursor-agent 2026.09.28 announces each child on
24
+ * the parent's own `session/update` (`subagent_spawned`, then
25
+ * `subagent_state_update` with completed, failed, cancelled or disconnected),
26
+ * and the child's standard updates arrive under its own session id.
27
+ */
28
+ export const CURSOR_VENDOR_SESSION_UPDATES = ["subagent_spawned", "subagent_state_update"];
29
+ function validateCursorOptions(options) {
30
+ if (options.systemPrompt !== undefined || options.appendSystemPrompt !== undefined) {
31
+ throw new Error("Cursor ACP does not expose a system prompt override");
32
+ }
33
+ }
34
+ /**
35
+ * `--force` (alias `--yolo`) is a root option, so it precedes the hidden
36
+ * `acp` subcommand. It runs commands without asking; a team whose admin
37
+ * controls auto run can still switch it off, and then the agent asks
38
+ * through `session/request_permission`.
39
+ */
40
+ export const cursorAcpArgs = ["--force", "acp"];
41
+ /**
42
+ * Requests cursor-agent 2026.09.28 sends its client beyond standard ACP. oar
43
+ * implements none: each is recorded and refused with `-32601`, as an
44
+ * unregistered method would be. On that refusal `cursor/ask_question` asks
45
+ * one `session/request_permission` per single select question (oar picks its
46
+ * first option), `cursor/create_plan` writes the plan to a local file, and
47
+ * the rest were notices the agent does not wait on.
48
+ */
49
+ export const CURSOR_EXTENSION_REQUESTS = [
50
+ "cursor/ask_question",
51
+ "cursor/create_plan",
52
+ "cursor/update_todos",
53
+ "cursor/task",
54
+ "cursor/generate_image",
55
+ ];
56
+ export const cursorAcpProfile = {
57
+ args: cursorAcpArgs,
58
+ // Cursor's ACP method set has no steer. Subagents, once opted into, speak
59
+ // under their own session ids (attribution tier #3,
60
+ // docs/spec/attribution.md): recorded under those ids and linked to the
61
+ // parent.
62
+ capabilities: { steer: false, queue: { durable: false }, attribution: "nested" },
63
+ requestTimeoutMs: 30_000,
64
+ selectAuthMethod: selectCursorAuthMethod,
65
+ validateOptions: validateCursorOptions,
66
+ clientCapabilitiesMeta: cursorClientCapabilitiesMeta,
67
+ // `session/set_model` answers `{}` and cursor never pushes
68
+ // `config_option_update`, so only `set_config_option` reports the switch.
69
+ modelViaConfigOption: true,
70
+ extensionRequests: CURSOR_EXTENSION_REQUESTS,
71
+ vendorSessionUpdates: CURSOR_VENDOR_SESSION_UPDATES,
72
+ };
73
+ export const cursorSession = acpSession(cursorAcpProfile);
74
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/runtimes/cursor/session.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAA0B,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAmB,MAAM,sBAAsB,CAAC;AAEjE,MAAM,UAAU,sBAAsB,CAAC,WAAuB;IAC5D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IACtF,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACjC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,cAAc,CAAC;QAChD,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,4BAA4B;IAC1C,OAAO,EAAE,wBAAwB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC7D,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAsB,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,CAAC;AAE9G,SAAS,qBAAqB,CAAC,OAAuB;IACpD,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,IAAI,OAAO,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACnF,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAsB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAEnE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IAC1D,qBAAqB;IACrB,oBAAoB;IACpB,qBAAqB;IACrB,aAAa;IACb,uBAAuB;CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAsB;IACjD,IAAI,EAAE,aAAa;IACnB,0EAA0E;IAC1E,oDAAoD;IACpD,wEAAwE;IACxE,UAAU;IACV,YAAY,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE;IAChF,gBAAgB,EAAE,MAAM;IACxB,gBAAgB,EAAE,sBAAsB;IACxC,eAAe,EAAE,qBAAqB;IACtC,sBAAsB,EAAE,4BAA4B;IACpD,2DAA2D;IAC3D,0EAA0E;IAC1E,oBAAoB,EAAE,IAAI;IAC1B,iBAAiB,EAAE,yBAAyB;IAC5C,oBAAoB,EAAE,6BAA6B;CACpD,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/runtimes/grok/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAsB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAS3E,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAQhF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,UAAU,CAYtE;AAYD,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,UAAU,GAAG,YAAY,GAAG,IAAI,CAc1E;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI,CAUzE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,4BAA4B,EAAE,SAAS,MAAM,EAkBzD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,iBAkB5B,CAAC;AAEF,eAAO,MAAM,WAAW,mDAA6B,CAAC"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/runtimes/grok/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAsB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAS3E,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAQhF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,UAAU,CAYtE;AAYD,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,UAAU,GAAG,YAAY,GAAG,IAAI,CAc1E;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI,CAUzE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,4BAA4B,EAAE,SAAS,MAAM,EAkBzD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,iBAoB5B,CAAC;AAEF,eAAO,MAAM,WAAW,mDAA6B,CAAC"}
@@ -122,7 +122,9 @@ export const grokAcpProfile = {
122
122
  // Native children are independent ACP sessions on the same connection
123
123
  // (attribution tier #3, docs/spec/attribution.md): recorded under their own
124
124
  // session id, linked in the graph when a lifecycle notification says so.
125
- capabilities: { steer: true, queue: { durable: false }, attribution: "nested" },
125
+ // Images despite `initialize` saying `promptCapabilities.image: false`: grok 1.0.44
126
+ // hands an ACP image block to the model (live, docs/runtimes/grok.md).
127
+ capabilities: { steer: true, queue: { durable: false }, attribution: "nested", images: true },
126
128
  extensionNotifications: GROK_EXTENSION_NOTIFICATIONS,
127
129
  terminalShellCommand: true,
128
130
  initializeMeta: grokInitializeMeta,
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/runtimes/grok/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/runtimes/grok/session.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACuE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAapI,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAahF,eAAO,MAAM,SAAS,EAAE,YA2NvB,CAAC"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/runtimes/pi/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACuE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAkBpI,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAahF,eAAO,MAAM,SAAS,EAAE,YAmOvB,CAAC"}
@@ -1,8 +1,11 @@
1
1
  import { classifyFailure } from "../../shared/failure-class.js";
2
+ import { withInputImages } from "../../shared/input-images.js";
2
3
  import { sealSession } from "../../shared/seal-session.js";
3
4
  import { createSessionKernel } from "../../shared/session-kernel.js";
4
5
  import { foldPiEvent, initialPiProjection, piAbortRequested, piPrompted, } from "./projection.js";
5
6
  import { openPiAgentSession, piEffectiveModel } from "./open.js";
7
+ /** pi's ImageContent: base64 data and its type. */
8
+ const piImages = (images) => images.map((image) => ({ type: "image", data: image.data, mimeType: image.mediaType }));
6
9
  export { piEffectiveModel, piEnvBashTool } from "./open.js";
7
10
  /*
8
11
  * Bundled pi SDK mapping (in-process, no fork; settled 2026-08-21, record
@@ -53,14 +56,14 @@ export const piSession = async (installation, options) => {
53
56
  // agent_start waiters: a prompt is `accepted` once pi actually starts the
54
57
  // run, `rejected` with pi's own message if pi refuses it first.
55
58
  const startWaiters = new Set();
56
- const start = async (input) => {
59
+ const start = async (input, images) => {
57
60
  gate.running = true;
58
61
  projection = piPrompted(projection);
59
62
  const token = {};
60
63
  launch = token;
61
64
  const { promise: started, resolve: onStarted } = Promise.withResolvers();
62
65
  startWaiters.add(onStarted);
63
- const run = piAgentSession.prompt(input);
66
+ const run = piAgentSession.prompt(input, images.length === 0 ? undefined : { images: piImages(images) });
64
67
  const decided = await Promise.race([
65
68
  started.then(() => ({ kind: "accepted" })),
66
69
  run.then(() => ({ kind: "accepted" }), (error) => ({ kind: "rejected", code: "runtime_refused", reason: error instanceof Error ? error.message : "pi prompt failed" })),
@@ -103,7 +106,7 @@ export const piSession = async (installation, options) => {
103
106
  return;
104
107
  }
105
108
  void (async () => {
106
- const decided = await start(next);
109
+ const decided = await start(next.input, next.images);
107
110
  if (decided.kind === "rejected") {
108
111
  // The queue took the input over; pi refusing it is not silent: pi's
109
112
  // refusal enters the stream (no turn ever started, so no turn end).
@@ -149,16 +152,20 @@ export const piSession = async (installation, options) => {
149
152
  events: [{ kind: "model", model: openedModel }, { kind: "effort", effort: thinkingLevel }],
150
153
  });
151
154
  }
155
+ const capabilities = { steer: true, queue: { durable: false }, attribution: "none", images: true };
152
156
  const session = sealSession({
153
157
  id: kernel.sessionId,
154
- capabilities: { steer: true, queue: { durable: false }, attribution: "none" },
158
+ capabilities,
155
159
  prompt: async (input, inputOptions) => {
156
160
  const body = { kind: "prompt", input, ...inputOptions };
157
161
  const result = await kernel.control(body, async () => {
158
162
  if (gate.running) {
159
163
  return { kind: "rejected", code: "busy", reason: "busy" };
160
164
  }
161
- const decided = await start(input);
165
+ const decided = await withInputImages(capabilities, inputOptions?.images, async (images) => {
166
+ const started = await start(input, images);
167
+ return started;
168
+ });
162
169
  return decided;
163
170
  });
164
171
  return result;
@@ -168,17 +175,20 @@ export const piSession = async (installation, options) => {
168
175
  if (!gate.running) {
169
176
  return { kind: "rejected", code: "no_active_turn", reason: "not_steerable: no active turn" };
170
177
  }
171
- await piAgentSession.steer(input);
172
- return { kind: "accepted" };
178
+ const decided = await withInputImages(capabilities, inputOptions?.images, async (images) => {
179
+ await piAgentSession.steer(input, images.length === 0 ? undefined : piImages(images));
180
+ return { kind: "accepted" };
181
+ });
182
+ return decided;
173
183
  });
174
184
  return result;
175
185
  },
176
186
  queue: async (input, inputOptions) => {
177
- const result = await kernel.control({ kind: "queue", input, ...inputOptions }, () => {
178
- held.push(input);
187
+ const result = await kernel.control({ kind: "queue", input, ...inputOptions }, () => withInputImages(capabilities, inputOptions?.images, (images) => {
188
+ held.push({ input, images });
179
189
  drainHeld();
180
190
  return { kind: "accepted" };
181
- });
191
+ }));
182
192
  return result;
183
193
  },
184
194
  abort: async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/runtimes/pi/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/runtimes/pi/session.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,8 @@ export interface AcpClientHooks {
15
15
  readonly answered: (id: string, reply: unknown) => void;
16
16
  readonly extension: (method: string, params: JsonRecord) => void;
17
17
  readonly extensionNotifications: readonly string[];
18
+ /** Vendor request methods to record before refusing them as unknown. */
19
+ readonly extensionRequests: readonly string[];
18
20
  }
19
21
  /** OAR's YOLO answer to a permission request: the broadest allow on offer, else cancel. */
20
22
  export declare function allowPermission(request: RequestPermissionRequest): RequestPermissionResponse;
@@ -1 +1 @@
1
- {"version":3,"file":"client-app.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/client-app.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,SAAS,EAKd,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EAGzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,CAAC,YAAY,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC7D,qCAAqC;IACrC,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1E,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxD,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACjE,QAAQ,CAAC,sBAAsB,EAAE,SAAS,MAAM,EAAE,CAAC;CACpD;AAED,2FAA2F;AAC3F,wBAAgB,eAAe,CAAC,OAAO,EAAE,wBAAwB,GAAG,yBAAyB,CAM5F;AAcD,gFAAgF;AAChF,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,cAAc,GACpB,SAAS,CAkCX"}
1
+ {"version":3,"file":"client-app.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/client-app.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,SAAS,EAKd,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EAGzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,CAAC,YAAY,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC7D,qCAAqC;IACrC,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1E,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxD,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACjE,QAAQ,CAAC,sBAAsB,EAAE,SAAS,MAAM,EAAE,CAAC;IACnD,wEAAwE;IACxE,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C;AAED,2FAA2F;AAC3F,wBAAgB,eAAe,CAAC,OAAO,EAAE,wBAAwB,GAAG,yBAAyB,CAM5F;AAcD,gFAAgF;AAChF,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,cAAc,GACpB,SAAS,CAyCX"}
@@ -1,5 +1,5 @@
1
1
  /* oxlint-disable typescript/promise-function-async -- SDK handlers deliberately return terminal promises directly. */
2
- import { client as createClient, methods, } from "@agentclientprotocol/sdk";
2
+ import { client as createClient, methods, RequestError, } from "@agentclientprotocol/sdk";
3
3
  import { asRecord } from "../json.js";
4
4
  /** OAR's YOLO answer to a permission request: the broadest allow on offer, else cancel. */
5
5
  export function allowPermission(request) {
@@ -50,6 +50,13 @@ export function createAcpClientApp(terminal, hooks) {
50
50
  hooks.extension(method, params);
51
51
  });
52
52
  }
53
+ // The same -32601 the SDK sends for an unregistered method, so the agent
54
+ // takes its own fallback, but the request and the refusal are on record.
55
+ for (const method of hooks.extensionRequests) {
56
+ app = app.onRequest(method, passthrough, observed(method, () => {
57
+ throw RequestError.methodNotFound(method);
58
+ }));
59
+ }
53
60
  return app;
54
61
  }
55
62
  //# sourceMappingURL=client-app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-app.js","sourceRoot":"","sources":["../../../src/shared/acp/client-app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-app.js","sourceRoot":"","sources":["../../../src/shared/acp/client-app.ts"],"names":[],"mappings":"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"}
@@ -22,4 +22,18 @@ export declare function applyAcpEffort(process: AcpProcess, opened: {
22
22
  readonly response: JsonRecord;
23
23
  }) => void;
24
24
  }): Promise<void>;
25
+ /**
26
+ * Apply `SessionOptions.model`: `session/set_model {modelId}`, or with
27
+ * `viaConfigOption` `session/set_config_option` on the `model` option (for
28
+ * agents whose set_model answer reports nothing, cursor-agent 2026.09.28).
29
+ * The answer is observed like any handshake answer and returned.
30
+ */
31
+ export declare function applyAcpModel(process: AcpProcess, sessionId: string, model: string, context: {
32
+ readonly viaConfigOption: boolean;
33
+ readonly timeoutMs: number;
34
+ readonly observe: (step: {
35
+ readonly method: string;
36
+ readonly response: JsonRecord;
37
+ }) => void;
38
+ }): Promise<JsonRecord | undefined>;
25
39
  //# sourceMappingURL=effort.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"effort.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/effort.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAEvD,OAAO,EAAE,KAAK,UAAU,EAAmB,MAAM,cAAc,CAAC;AAchE;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAClG,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;IACP,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,CAAC;CAC9F,GACA,OAAO,CAAC,IAAI,CAAC,CA2Bf"}
1
+ {"version":3,"file":"effort.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/effort.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAEvD,OAAO,EAAE,KAAK,UAAU,EAAmB,MAAM,cAAc,CAAC;AAchE;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAClG,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;IACP,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,CAAC;CAC9F,GACA,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;IACP,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,CAAC;CAC9F,GACA,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAajC"}
@@ -44,4 +44,19 @@ export async function applyAcpEffort(process, opened, effort, context) {
44
44
  throw new Error(`${method} left ${configId} at ${applied ?? "an unreported value"} although effort ${effort} was requested`);
45
45
  }
46
46
  }
47
+ /**
48
+ * Apply `SessionOptions.model`: `session/set_model {modelId}`, or with
49
+ * `viaConfigOption` `session/set_config_option` on the `model` option (for
50
+ * agents whose set_model answer reports nothing, cursor-agent 2026.09.28).
51
+ * The answer is observed like any handshake answer and returned.
52
+ */
53
+ export async function applyAcpModel(process, sessionId, model, context) {
54
+ const method = context.viaConfigOption ? "session/set_config_option" : "session/set_model";
55
+ const params = context.viaConfigOption
56
+ ? { sessionId, configId: "model", value: model }
57
+ : { sessionId, modelId: model };
58
+ const response = asRecord(await withAcpDeadline(process, method, context.timeoutMs, (requestOptions) => process.connection.agent.request(method, params, requestOptions))) ?? undefined;
59
+ context.observe({ method, response: response ?? {} });
60
+ return response;
61
+ }
47
62
  //# sourceMappingURL=effort.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"effort.js","sourceRoot":"","sources":["../../../src/shared/acp/effort.ts"],"names":[],"mappings":"AAAA,2HAA2H;AAC3H,OAAO,EAAE,QAAQ,EAAmB,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAmB,eAAe,EAAE,MAAM,cAAc,CAAC;AAEhE,6GAA6G;AAC7G,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;IACnC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,OAAO,KAAK,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;AACxF,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAmB,EACnB,MAAkG,EAClG,MAAc,EACd,OAGC;IAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;IAC5D,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,UAAU,yDAAyD,MAAM,oBAAoB,CAAC,CAAC;IAC3H,CAAC;IACD,MAAM,MAAM,GAAG,2BAA2B,CAAC;IAC3C,IAAI,MAAM,GAAY,SAAS,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,eAAe,CAC5B,OAAO,EACP,MAAM,EACN,OAAO,CAAC,SAAS,EACjB,CAAC,cAAc,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAClD,MAAM,EACN,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EACxD,cAAc,CACf,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,IAAI,QAAQ,IAAI,MAAM,iBAAiB,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3G,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACxC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,SAAS,QAAQ,OAAO,OAAO,IAAI,qBAAqB,oBAAoB,MAAM,gBAAgB,CAAC,CAAC;IAC/H,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"effort.js","sourceRoot":"","sources":["../../../src/shared/acp/effort.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,10 @@ export declare function acpReportedModel(frame: JsonRecord | null): string | nul
28
28
  * `thinking` (low/high/max on k3). The category, not the id, is what this
29
29
  * shared layer relies on; it carries no runtime identity. Null when the frame
30
30
  * advertises none.
31
+ *
32
+ * cursor-agent 2026.09.28 lists two for most Claude models: `thinking`
33
+ * (false/true) and `effort` (low…max). The level menu wins over the on/off
34
+ * switch; a model whose only option is the switch (claude-haiku-4-5) keeps it.
31
35
  */
32
36
  export declare function acpThoughtLevelOption(frame: JsonRecord | null): JsonRecord | null;
33
37
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAErE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAexE;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,UAAU,GAAG,IAAI,CAKjF;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAGzE"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAErE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAexE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,UAAU,GAAG,IAAI,CAMjF;AAOD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAGzE"}
@@ -43,12 +43,21 @@ export function acpReportedModel(frame) {
43
43
  * `thinking` (low/high/max on k3). The category, not the id, is what this
44
44
  * shared layer relies on; it carries no runtime identity. Null when the frame
45
45
  * advertises none.
46
+ *
47
+ * cursor-agent 2026.09.28 lists two for most Claude models: `thinking`
48
+ * (false/true) and `effort` (low…max). The level menu wins over the on/off
49
+ * switch; a model whose only option is the switch (claude-haiku-4-5) keeps it.
46
50
  */
47
51
  export function acpThoughtLevelOption(frame) {
48
52
  if (frame === null) {
49
53
  return null;
50
54
  }
51
- return asRecordList(frame.configOptions).find((entry) => entry.category === "thought_level") ?? null;
55
+ const candidates = asRecordList(frame.configOptions).filter((entry) => entry.category === "thought_level");
56
+ return candidates.find((entry) => !isOnOffSwitch(entry)) ?? candidates[0] ?? null;
57
+ }
58
+ function isOnOffSwitch(option) {
59
+ const values = asRecordList(option.options).map((entry) => entry.value);
60
+ return values.length === 2 && values.includes("false") && values.includes("true");
52
61
  }
53
62
  /**
54
63
  * The reasoning effort an ACP agent reports as in effect: the `thought_level`
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/shared/acp/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAmB,MAAM,YAAY,CAAC;AAErE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAwB;IACvD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;IACvF,IAAI,OAAO,MAAM,EAAE,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC7C,OAAO,MAAM,CAAC,YAAY,CAAC;IAC7B,CAAC;IACD,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IAC9D,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,iGAAiG;IACjG,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAC/C,OAAO,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1D,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAwB;IAC5D,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,eAAe,CAAC,IAAI,IAAI,CAAC;AACvG,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAwB;IACxD,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IAC3D,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5E,CAAC"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/shared/acp/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAmB,MAAM,YAAY,CAAC;AAErE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAwB;IACvD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;IACvF,IAAI,OAAO,MAAM,EAAE,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC7C,OAAO,MAAM,CAAC,YAAY,CAAC;IAC7B,CAAC;IACD,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IAC9D,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,iGAAiG;IACjG,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAC/C,OAAO,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1D,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAwB;IAC5D,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,eAAe,CAAC,CAAC;IAC3G,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACpF,CAAC;AAED,SAAS,aAAa,CAAC,MAAkB;IACvC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxE,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACpF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAwB;IACxD,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IAC3D,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5E,CAAC"}
@@ -4,6 +4,8 @@ export type { ClientApp, SessionNotification } from "@agentclientprotocol/sdk";
4
4
  export interface AcpProcessOptions {
5
5
  readonly cwd?: string;
6
6
  readonly env?: NodeJS.ProcessEnv;
7
+ /** Vendor `session/update` kinds to carry past the SDK's parse (see vendor-updates.ts). */
8
+ readonly vendorSessionUpdates?: readonly string[];
7
9
  }
8
10
  /** A child process connected directly to an official SDK client app. */
9
11
  export interface AcpProcess {
@@ -1 +1 @@
1
- {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/process.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAC9E,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAqB/E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAClC;AAED,wEAAwE;AACxE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,IAAI,IAAI,IAAI,CAAC;CACd;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAC5C,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,kBAAkB,KAAK,OAAO,CAAC,QAAQ,CAAC,GACxD,OAAO,CAAC,QAAQ,CAAC,CA4BnB;AAED,8EAA8E;AAC9E,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,EAAE,SAAS,EACd,OAAO,GAAE,iBAAsB,GAC9B,UAAU,CAiCZ"}
1
+ {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../../src/shared/acp/process.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAC;AAMlC,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAC9E,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAqB/E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,2FAA2F;IAC3F,QAAQ,CAAC,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnD;AAED,wEAAwE;AACxE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,IAAI,IAAI,IAAI,CAAC;CACd;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAC5C,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,kBAAkB,KAAK,OAAO,CAAC,QAAQ,CAAC,GACxD,OAAO,CAAC,QAAQ,CAAC,CA4BnB;AAED,8EAA8E;AAC9E,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,EAAE,SAAS,EACd,OAAO,GAAE,iBAAsB,GAC9B,UAAU,CAqCZ"}