@code-yeongyu/senpi 2026.8.17 → 2026.8.18

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 (35) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/core/extensions/builtin/cursor-cli-oauth/account-command.d.ts +4 -1
  3. package/dist/core/extensions/builtin/cursor-cli-oauth/account-command.d.ts.map +1 -1
  4. package/dist/core/extensions/builtin/cursor-cli-oauth/account-command.js +27 -7
  5. package/dist/core/extensions/builtin/cursor-cli-oauth/account-command.js.map +1 -1
  6. package/dist/core/extensions/builtin/cursor-cli-oauth/index.d.ts.map +1 -1
  7. package/dist/core/extensions/builtin/cursor-cli-oauth/index.js +3 -1
  8. package/dist/core/extensions/builtin/cursor-cli-oauth/index.js.map +1 -1
  9. package/dist/core/extensions/builtin/cursor-cli-oauth/oauth-login.d.ts +4 -0
  10. package/dist/core/extensions/builtin/cursor-cli-oauth/oauth-login.d.ts.map +1 -1
  11. package/dist/core/extensions/builtin/cursor-cli-oauth/oauth-login.js +33 -2
  12. package/dist/core/extensions/builtin/cursor-cli-oauth/oauth-login.js.map +1 -1
  13. package/dist/core/extensions/builtin/cursor-cli-oauth/settings.d.ts +2 -0
  14. package/dist/core/extensions/builtin/cursor-cli-oauth/settings.d.ts.map +1 -1
  15. package/dist/core/extensions/builtin/cursor-cli-oauth/settings.js +19 -9
  16. package/dist/core/extensions/builtin/cursor-cli-oauth/settings.js.map +1 -1
  17. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  18. package/dist/modes/interactive/interactive-mode.js +11 -5
  19. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  20. package/docs/providers.md +7 -5
  21. package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +12 -0
  22. package/node_modules/@code-yeongyu/senpi-codemode/package.json +4 -4
  23. package/node_modules/@earendil-works/pi-agent-core/package.json +3 -3
  24. package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
  25. package/node_modules/@earendil-works/pi-ai/dist/providers/data/baseten.json +1 -1
  26. package/node_modules/@earendil-works/pi-ai/dist/providers/data/cloudflare-workers-ai.json +1 -1
  27. package/node_modules/@earendil-works/pi-ai/dist/providers/data/huggingface.json +1 -1
  28. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
  29. package/node_modules/@earendil-works/pi-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
  30. package/node_modules/@earendil-works/pi-ai/dist/providers/data/xai.json +1 -1
  31. package/node_modules/@earendil-works/pi-ai/package.json +2 -2
  32. package/node_modules/@earendil-works/pi-pty/package.json +1 -1
  33. package/node_modules/@earendil-works/pi-telemetry/package.json +1 -1
  34. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  35. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../../src/core/extensions/builtin/cursor-cli-oauth/settings.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,2BAA2B,GAAG,OAAO,GAAG,MAAM,CAAC;AAC3D,MAAM,MAAM,wBAAwB,GAAG,MAAM,GAAG,KAAK,CAAC;AAEtD,MAAM,WAAW,8BAA8B;IAC9C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,aAAa,EAAE,2BAA2B,CAAC;IACpD,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAC;IAC9C,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,yBAAyB,EAAE,OAAO,CAAC;IAC5C,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,gFAAgF;IAChF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAMD,KAAK,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;AAmJhE,mFAAmF;AACnF,wBAAgB,mCAAmC,CAClD,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,WAAW,GACtB,8BAA8B,CAEhC;AAED;;;GAGG;AACH,wBAAgB,wCAAwC,CACvD,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,EAClC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAClC,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,CAUnD;AAED,wFAAwF;AACxF,wBAAgB,0CAA0C,CAAC,GAAG,EAAE,MAAM,GAAG,8BAA8B,CAStG;AAED;;;;;GAKG;AACH,wBAAgB,yCAAyC,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAwBnG"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../../src/core/extensions/builtin/cursor-cli-oauth/settings.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,2BAA2B,GAAG,OAAO,GAAG,MAAM,CAAC;AAC3D,MAAM,MAAM,wBAAwB,GAAG,MAAM,GAAG,KAAK,CAAC;AAEtD,MAAM,WAAW,8BAA8B;IAC9C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,aAAa,EAAE,2BAA2B,CAAC;IACpD,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAC;IAC9C,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,yBAAyB,EAAE,OAAO,CAAC;IAC5C,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,gFAAgF;IAChF,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAMD,KAAK,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;AAmJhE,mFAAmF;AACnF,wBAAgB,mCAAmC,CAClD,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,WAAW,GACtB,8BAA8B,CAEhC;AAED;;;GAGG;AACH,wBAAgB,wCAAwC,CACvD,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,EAClC,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAClC,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,CAUnD;AAED,wFAAwF;AACxF,wBAAgB,0CAA0C,CAAC,GAAG,EAAE,MAAM,GAAG,8BAA8B,CAStG;AA4BD,mFAAmF;AACnF,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAEhF;AAED;;;;;GAKG;AACH,wBAAgB,yCAAyC,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAKnG"}
@@ -158,13 +158,7 @@ export function loadCursorCliOauthProviderSettingsFromDisk(cwd) {
158
158
  const project = settingsManager.getProjectSettings();
159
159
  return resolveSettings(parseProviderSettings(global.cursorCliOauthProvider), parseProviderSettings(project.cursorCliOauthProvider), parseEnvironmentSettings(process.env));
160
160
  }
161
- /**
162
- * Read-modify-write `noApprovalAcknowledgedAt` into the provider block of the
163
- * global settings file, preserving every other key. An unparseable file is
164
- * reported instead of silently clobbered, so an acknowledgement can never
165
- * claim success while leaving the settings unwritten.
166
- */
167
- export function persistCursorCliNoApprovalAcknowledgement(cwd, acknowledgedAt) {
161
+ function persistCursorCliOauthProviderPatch(cwd, action, patch) {
168
162
  const storage = new FileSettingsStorage(cwd, getAgentDir());
169
163
  storage.selectSource("global");
170
164
  storage.withLock("global", (current) => {
@@ -173,14 +167,30 @@ export function persistCursorCliNoApprovalAcknowledgement(cwd, acknowledgedAt) {
173
167
  root = current === undefined ? {} : parseSettingsJson(current);
174
168
  }
175
169
  catch (error) {
176
- throw new Error(`Cannot persist the cursor-cli-oauth acknowledgement: the settings file is unparseable (${error instanceof Error ? error.message : String(error)})`);
170
+ throw new Error(`Cannot persist the cursor-cli-oauth ${action}: the settings file is unparseable (${error instanceof Error ? error.message : String(error)})`);
177
171
  }
178
172
  const provider = typeof root.cursorCliOauthProvider === "object" &&
179
173
  root.cursorCliOauthProvider !== null &&
180
174
  !Array.isArray(root.cursorCliOauthProvider)
181
175
  ? { ...root.cursorCliOauthProvider }
182
176
  : {};
183
- return JSON.stringify({ ...root, cursorCliOauthProvider: { ...provider, noApprovalAcknowledgedAt: acknowledgedAt } }, null, 2);
177
+ return JSON.stringify({ ...root, cursorCliOauthProvider: { ...provider, ...patch } }, null, 2);
178
+ });
179
+ }
180
+ /** Persist explicit provider activation while preserving every sibling setting. */
181
+ export function persistCursorCliOauthEnabled(cwd, enabled) {
182
+ persistCursorCliOauthProviderPatch(cwd, "enabled state", { enabled });
183
+ }
184
+ /**
185
+ * Read-modify-write `noApprovalAcknowledgedAt` into the provider block of the
186
+ * global settings file, preserving every other key. An unparseable file is
187
+ * reported instead of silently clobbered, so an acknowledgement can never
188
+ * claim success while leaving the settings unwritten.
189
+ */
190
+ export function persistCursorCliNoApprovalAcknowledgement(cwd, acknowledgedAt) {
191
+ persistCursorCliOauthProviderPatch(cwd, "acknowledgement", {
192
+ enabled: true,
193
+ noApprovalAcknowledgedAt: acknowledgedAt,
184
194
  });
185
195
  }
186
196
  //# sourceMappingURL=settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../../../src/core/extensions/builtin/cursor-cli-oauth/settings.ts"],"names":[],"mappings":"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","sourcesContent":["import { getAgentDir } from \"../../../../config.ts\";\nimport { FileSettingsStorage, parseSettingsJson, type Settings, SettingsManager } from \"../../../settings-manager.ts\";\n\nexport type CursorCliOauthExecutionMode = \"agent\" | \"plan\";\nexport type CursorCliOauthResumeMode = \"auto\" | \"off\";\n\nexport interface CursorCliOauthProviderSettings {\n\treadonly enabled: boolean;\n\treadonly executablePath: string | undefined;\n\treadonly forceExecution: boolean;\n\treadonly noApprovalAcknowledgedAt: string | undefined;\n\treadonly executionMode: CursorCliOauthExecutionMode;\n\treadonly resumeMode: CursorCliOauthResumeMode;\n\treadonly pinnedAccount: string | undefined;\n\treadonly contextRecapOnModelSwitch: boolean;\n\treadonly modelCatalogTtlHours: number;\n\treadonly sandboxMode: string | undefined;\n\t/** Exact full commands the spawned CLI must refuse; globs are not supported. */\n\treadonly denyCommands?: string[];\n}\n\ntype SettingsWithCursorCliOauthProvider = Settings & {\n\tcursorCliOauthProvider?: unknown;\n};\n\ntype Environment = Readonly<Record<string, string | undefined>>;\ntype ParsedSettings = Partial<CursorCliOauthProviderSettings>;\n\nconst DEFAULT_SETTINGS: CursorCliOauthProviderSettings = {\n\tenabled: false,\n\texecutablePath: undefined,\n\tforceExecution: true,\n\tnoApprovalAcknowledgedAt: undefined,\n\texecutionMode: \"agent\",\n\tresumeMode: \"auto\",\n\tpinnedAccount: undefined,\n\tcontextRecapOnModelSwitch: true,\n\tmodelCatalogTtlHours: 24,\n\tsandboxMode: undefined,\n\tdenyCommands: [],\n};\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction parseBoolean(value: unknown): boolean | undefined {\n\treturn typeof value === \"boolean\" ? value : undefined;\n}\n\nfunction parseEnvironmentBoolean(value: string | undefined): boolean | undefined {\n\tif (value === undefined) return undefined;\n\tswitch (value.toLowerCase()) {\n\t\tcase \"1\":\n\t\tcase \"true\":\n\t\t\treturn true;\n\t\tcase \"0\":\n\t\tcase \"false\":\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn undefined;\n\t}\n}\n\nfunction parseNonEmptyString(value: unknown): string | undefined {\n\treturn typeof value === \"string\" && value.length > 0 ? value : undefined;\n}\n\n/** Exact full commands only: string entries are trimmed, non-strings and empties are dropped. */\nfunction parseDenyCommands(value: unknown): string[] | undefined {\n\tif (!Array.isArray(value)) return undefined;\n\treturn value\n\t\t.filter((entry): entry is string => typeof entry === \"string\")\n\t\t.map((entry) => entry.trim())\n\t\t.filter((command) => command.length > 0);\n}\n\n/** Comma-separated exact full commands; a missing or empty value leaves settings untouched. */\nfunction parseEnvironmentDenyCommands(value: string | undefined): string[] | undefined {\n\tif (value === undefined || value.length === 0) return undefined;\n\treturn value\n\t\t.split(\",\")\n\t\t.map((entry) => entry.trim())\n\t\t.filter((command) => command.length > 0);\n}\n\nfunction parseIsoString(value: unknown): string | undefined {\n\tif (typeof value !== \"string\" || !/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?Z$/.test(value)) {\n\t\treturn undefined;\n\t}\n\treturn Number.isNaN(Date.parse(value)) ? undefined : value;\n}\n\nfunction parseExecutionMode(value: unknown): CursorCliOauthExecutionMode | undefined {\n\treturn value === \"agent\" || value === \"plan\" ? value : undefined;\n}\n\nfunction parseResumeMode(value: unknown): CursorCliOauthResumeMode | undefined {\n\treturn value === \"auto\" || value === \"off\" ? value : undefined;\n}\n\nfunction parsePositiveFiniteNumber(value: unknown): number | undefined {\n\treturn typeof value === \"number\" && Number.isFinite(value) && value > 0 ? value : undefined;\n}\n\nfunction parseEnvironmentPositiveFiniteNumber(value: string | undefined): number | undefined {\n\tif (value === undefined || value.length === 0) return undefined;\n\tconst parsed = Number(value);\n\treturn Number.isFinite(parsed) && parsed > 0 ? parsed : undefined;\n}\n\nfunction parseProviderSettings(value: unknown): ParsedSettings {\n\tif (!isRecord(value)) return {};\n\tconst enabled = parseBoolean(value.enabled);\n\tconst executablePath = parseNonEmptyString(value.executablePath);\n\tconst forceExecution = parseBoolean(value.forceExecution);\n\tconst noApprovalAcknowledgedAt = parseIsoString(value.noApprovalAcknowledgedAt);\n\tconst executionMode = parseExecutionMode(value.executionMode);\n\tconst resumeMode = parseResumeMode(value.resumeMode);\n\tconst pinnedAccount = parseNonEmptyString(value.pinnedAccount);\n\tconst contextRecapOnModelSwitch = parseBoolean(value.contextRecapOnModelSwitch);\n\tconst modelCatalogTtlHours = parsePositiveFiniteNumber(value.modelCatalogTtlHours);\n\tconst sandboxMode = parseNonEmptyString(value.sandboxMode);\n\tconst denyCommands = parseDenyCommands(value.denyCommands);\n\treturn {\n\t\t...(enabled !== undefined ? { enabled } : {}),\n\t\t...(executablePath !== undefined ? { executablePath } : {}),\n\t\t...(forceExecution !== undefined ? { forceExecution } : {}),\n\t\t...(noApprovalAcknowledgedAt !== undefined ? { noApprovalAcknowledgedAt } : {}),\n\t\t...(executionMode !== undefined ? { executionMode } : {}),\n\t\t...(resumeMode !== undefined ? { resumeMode } : {}),\n\t\t...(pinnedAccount !== undefined ? { pinnedAccount } : {}),\n\t\t...(contextRecapOnModelSwitch !== undefined ? { contextRecapOnModelSwitch } : {}),\n\t\t...(modelCatalogTtlHours !== undefined ? { modelCatalogTtlHours } : {}),\n\t\t...(sandboxMode !== undefined ? { sandboxMode } : {}),\n\t\t...(denyCommands !== undefined ? { denyCommands } : {}),\n\t};\n}\n\nfunction parseEnvironmentSettings(environment: Environment): ParsedSettings {\n\tconst executablePath =\n\t\tparseNonEmptyString(environment.SENPI_CURSOR_CLI_OAUTH_EXECUTABLE) ??\n\t\tparseNonEmptyString(environment.CURSOR_AGENT_EXECUTABLE);\n\tconst enabled = parseEnvironmentBoolean(environment.SENPI_CURSOR_CLI_OAUTH_ENABLED);\n\tconst forceExecution = parseEnvironmentBoolean(environment.SENPI_CURSOR_CLI_OAUTH_FORCE);\n\tconst executionMode = parseExecutionMode(environment.SENPI_CURSOR_CLI_OAUTH_EXECUTION_MODE);\n\tconst resumeMode = parseResumeMode(environment.SENPI_CURSOR_CLI_OAUTH_RESUME);\n\tconst pinnedAccount = parseNonEmptyString(environment.SENPI_CURSOR_CLI_OAUTH_PINNED_ACCOUNT);\n\tconst contextRecapOnModelSwitch = parseEnvironmentBoolean(environment.SENPI_CURSOR_CLI_OAUTH_RECAP);\n\tconst modelCatalogTtlHours = parseEnvironmentPositiveFiniteNumber(\n\t\tenvironment.SENPI_CURSOR_CLI_OAUTH_MODEL_CATALOG_TTL_HOURS,\n\t);\n\tconst sandboxMode = parseNonEmptyString(environment.SENPI_CURSOR_CLI_OAUTH_SANDBOX_MODE);\n\tconst denyCommands = parseEnvironmentDenyCommands(environment.SENPI_CURSOR_CLI_OAUTH_DENY_COMMANDS);\n\treturn {\n\t\t...(executablePath !== undefined ? { executablePath } : {}),\n\t\t...(enabled !== undefined ? { enabled } : {}),\n\t\t...(forceExecution !== undefined ? { forceExecution } : {}),\n\t\t...(executionMode !== undefined ? { executionMode } : {}),\n\t\t...(resumeMode !== undefined ? { resumeMode } : {}),\n\t\t...(pinnedAccount !== undefined ? { pinnedAccount } : {}),\n\t\t...(contextRecapOnModelSwitch !== undefined ? { contextRecapOnModelSwitch } : {}),\n\t\t...(modelCatalogTtlHours !== undefined ? { modelCatalogTtlHours } : {}),\n\t\t...(sandboxMode !== undefined ? { sandboxMode } : {}),\n\t\t...(denyCommands !== undefined ? { denyCommands } : {}),\n\t};\n}\n\nfunction resolveSettings(...layers: readonly ParsedSettings[]): CursorCliOauthProviderSettings {\n\treturn Object.assign({}, DEFAULT_SETTINGS, ...layers);\n}\n\n/** Parse one provider settings block with environment values taking precedence. */\nexport function parseCursorCliOauthProviderSettings(\n\tvalue: unknown,\n\tenvironment: Environment,\n): CursorCliOauthProviderSettings {\n\treturn resolveSettings(parseProviderSettings(value), parseEnvironmentSettings(environment));\n}\n\n/**\n * Build the probe-owned sandbox allowlist validator without hardcoding modes in settings parsing.\n * Each distinct rejected mode is reported once through the supplied warning hook.\n */\nexport function createCursorCliOauthSandboxModeValidator(\n\tacceptedModes: ReadonlySet<string>,\n\tonWarning: (message: string) => void,\n): (value: string | undefined) => string | undefined {\n\tconst warnedModes = new Set<string>();\n\treturn (value) => {\n\t\tif (value === undefined || acceptedModes.has(value)) return value;\n\t\tif (!warnedModes.has(value)) {\n\t\t\twarnedModes.add(value);\n\t\t\tonWarning(`Ignoring unrecognized Cursor CLI OAuth sandbox mode: ${value}`);\n\t\t}\n\t\treturn undefined;\n\t};\n}\n\n/** Load global and project settings afresh, with env values taking final precedence. */\nexport function loadCursorCliOauthProviderSettingsFromDisk(cwd: string): CursorCliOauthProviderSettings {\n\tconst settingsManager = SettingsManager.create(cwd, getAgentDir());\n\tconst global = settingsManager.getGlobalSettings() as SettingsWithCursorCliOauthProvider;\n\tconst project = settingsManager.getProjectSettings() as SettingsWithCursorCliOauthProvider;\n\treturn resolveSettings(\n\t\tparseProviderSettings(global.cursorCliOauthProvider),\n\t\tparseProviderSettings(project.cursorCliOauthProvider),\n\t\tparseEnvironmentSettings(process.env),\n\t);\n}\n\n/**\n * Read-modify-write `noApprovalAcknowledgedAt` into the provider block of the\n * global settings file, preserving every other key. An unparseable file is\n * reported instead of silently clobbered, so an acknowledgement can never\n * claim success while leaving the settings unwritten.\n */\nexport function persistCursorCliNoApprovalAcknowledgement(cwd: string, acknowledgedAt: string): void {\n\tconst storage = new FileSettingsStorage(cwd, getAgentDir());\n\tstorage.selectSource(\"global\");\n\tstorage.withLock(\"global\", (current) => {\n\t\tlet root: Record<string, unknown>;\n\t\ttry {\n\t\t\troot = current === undefined ? {} : parseSettingsJson(current);\n\t\t} catch (error) {\n\t\t\tthrow new Error(\n\t\t\t\t`Cannot persist the cursor-cli-oauth acknowledgement: the settings file is unparseable (${error instanceof Error ? error.message : String(error)})`,\n\t\t\t);\n\t\t}\n\t\tconst provider =\n\t\t\ttypeof root.cursorCliOauthProvider === \"object\" &&\n\t\t\troot.cursorCliOauthProvider !== null &&\n\t\t\t!Array.isArray(root.cursorCliOauthProvider)\n\t\t\t\t? { ...(root.cursorCliOauthProvider as Record<string, unknown>) }\n\t\t\t\t: {};\n\t\treturn JSON.stringify(\n\t\t\t{ ...root, cursorCliOauthProvider: { ...provider, noApprovalAcknowledgedAt: acknowledgedAt } },\n\t\t\tnull,\n\t\t\t2,\n\t\t);\n\t});\n}\n"]}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../../../src/core/extensions/builtin/cursor-cli-oauth/settings.ts"],"names":[],"mappings":"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","sourcesContent":["import { getAgentDir } from \"../../../../config.ts\";\nimport { FileSettingsStorage, parseSettingsJson, type Settings, SettingsManager } from \"../../../settings-manager.ts\";\n\nexport type CursorCliOauthExecutionMode = \"agent\" | \"plan\";\nexport type CursorCliOauthResumeMode = \"auto\" | \"off\";\n\nexport interface CursorCliOauthProviderSettings {\n\treadonly enabled: boolean;\n\treadonly executablePath: string | undefined;\n\treadonly forceExecution: boolean;\n\treadonly noApprovalAcknowledgedAt: string | undefined;\n\treadonly executionMode: CursorCliOauthExecutionMode;\n\treadonly resumeMode: CursorCliOauthResumeMode;\n\treadonly pinnedAccount: string | undefined;\n\treadonly contextRecapOnModelSwitch: boolean;\n\treadonly modelCatalogTtlHours: number;\n\treadonly sandboxMode: string | undefined;\n\t/** Exact full commands the spawned CLI must refuse; globs are not supported. */\n\treadonly denyCommands?: string[];\n}\n\ntype SettingsWithCursorCliOauthProvider = Settings & {\n\tcursorCliOauthProvider?: unknown;\n};\n\ntype Environment = Readonly<Record<string, string | undefined>>;\ntype ParsedSettings = Partial<CursorCliOauthProviderSettings>;\n\nconst DEFAULT_SETTINGS: CursorCliOauthProviderSettings = {\n\tenabled: false,\n\texecutablePath: undefined,\n\tforceExecution: true,\n\tnoApprovalAcknowledgedAt: undefined,\n\texecutionMode: \"agent\",\n\tresumeMode: \"auto\",\n\tpinnedAccount: undefined,\n\tcontextRecapOnModelSwitch: true,\n\tmodelCatalogTtlHours: 24,\n\tsandboxMode: undefined,\n\tdenyCommands: [],\n};\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction parseBoolean(value: unknown): boolean | undefined {\n\treturn typeof value === \"boolean\" ? value : undefined;\n}\n\nfunction parseEnvironmentBoolean(value: string | undefined): boolean | undefined {\n\tif (value === undefined) return undefined;\n\tswitch (value.toLowerCase()) {\n\t\tcase \"1\":\n\t\tcase \"true\":\n\t\t\treturn true;\n\t\tcase \"0\":\n\t\tcase \"false\":\n\t\t\treturn false;\n\t\tdefault:\n\t\t\treturn undefined;\n\t}\n}\n\nfunction parseNonEmptyString(value: unknown): string | undefined {\n\treturn typeof value === \"string\" && value.length > 0 ? value : undefined;\n}\n\n/** Exact full commands only: string entries are trimmed, non-strings and empties are dropped. */\nfunction parseDenyCommands(value: unknown): string[] | undefined {\n\tif (!Array.isArray(value)) return undefined;\n\treturn value\n\t\t.filter((entry): entry is string => typeof entry === \"string\")\n\t\t.map((entry) => entry.trim())\n\t\t.filter((command) => command.length > 0);\n}\n\n/** Comma-separated exact full commands; a missing or empty value leaves settings untouched. */\nfunction parseEnvironmentDenyCommands(value: string | undefined): string[] | undefined {\n\tif (value === undefined || value.length === 0) return undefined;\n\treturn value\n\t\t.split(\",\")\n\t\t.map((entry) => entry.trim())\n\t\t.filter((command) => command.length > 0);\n}\n\nfunction parseIsoString(value: unknown): string | undefined {\n\tif (typeof value !== \"string\" || !/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?Z$/.test(value)) {\n\t\treturn undefined;\n\t}\n\treturn Number.isNaN(Date.parse(value)) ? undefined : value;\n}\n\nfunction parseExecutionMode(value: unknown): CursorCliOauthExecutionMode | undefined {\n\treturn value === \"agent\" || value === \"plan\" ? value : undefined;\n}\n\nfunction parseResumeMode(value: unknown): CursorCliOauthResumeMode | undefined {\n\treturn value === \"auto\" || value === \"off\" ? value : undefined;\n}\n\nfunction parsePositiveFiniteNumber(value: unknown): number | undefined {\n\treturn typeof value === \"number\" && Number.isFinite(value) && value > 0 ? value : undefined;\n}\n\nfunction parseEnvironmentPositiveFiniteNumber(value: string | undefined): number | undefined {\n\tif (value === undefined || value.length === 0) return undefined;\n\tconst parsed = Number(value);\n\treturn Number.isFinite(parsed) && parsed > 0 ? parsed : undefined;\n}\n\nfunction parseProviderSettings(value: unknown): ParsedSettings {\n\tif (!isRecord(value)) return {};\n\tconst enabled = parseBoolean(value.enabled);\n\tconst executablePath = parseNonEmptyString(value.executablePath);\n\tconst forceExecution = parseBoolean(value.forceExecution);\n\tconst noApprovalAcknowledgedAt = parseIsoString(value.noApprovalAcknowledgedAt);\n\tconst executionMode = parseExecutionMode(value.executionMode);\n\tconst resumeMode = parseResumeMode(value.resumeMode);\n\tconst pinnedAccount = parseNonEmptyString(value.pinnedAccount);\n\tconst contextRecapOnModelSwitch = parseBoolean(value.contextRecapOnModelSwitch);\n\tconst modelCatalogTtlHours = parsePositiveFiniteNumber(value.modelCatalogTtlHours);\n\tconst sandboxMode = parseNonEmptyString(value.sandboxMode);\n\tconst denyCommands = parseDenyCommands(value.denyCommands);\n\treturn {\n\t\t...(enabled !== undefined ? { enabled } : {}),\n\t\t...(executablePath !== undefined ? { executablePath } : {}),\n\t\t...(forceExecution !== undefined ? { forceExecution } : {}),\n\t\t...(noApprovalAcknowledgedAt !== undefined ? { noApprovalAcknowledgedAt } : {}),\n\t\t...(executionMode !== undefined ? { executionMode } : {}),\n\t\t...(resumeMode !== undefined ? { resumeMode } : {}),\n\t\t...(pinnedAccount !== undefined ? { pinnedAccount } : {}),\n\t\t...(contextRecapOnModelSwitch !== undefined ? { contextRecapOnModelSwitch } : {}),\n\t\t...(modelCatalogTtlHours !== undefined ? { modelCatalogTtlHours } : {}),\n\t\t...(sandboxMode !== undefined ? { sandboxMode } : {}),\n\t\t...(denyCommands !== undefined ? { denyCommands } : {}),\n\t};\n}\n\nfunction parseEnvironmentSettings(environment: Environment): ParsedSettings {\n\tconst executablePath =\n\t\tparseNonEmptyString(environment.SENPI_CURSOR_CLI_OAUTH_EXECUTABLE) ??\n\t\tparseNonEmptyString(environment.CURSOR_AGENT_EXECUTABLE);\n\tconst enabled = parseEnvironmentBoolean(environment.SENPI_CURSOR_CLI_OAUTH_ENABLED);\n\tconst forceExecution = parseEnvironmentBoolean(environment.SENPI_CURSOR_CLI_OAUTH_FORCE);\n\tconst executionMode = parseExecutionMode(environment.SENPI_CURSOR_CLI_OAUTH_EXECUTION_MODE);\n\tconst resumeMode = parseResumeMode(environment.SENPI_CURSOR_CLI_OAUTH_RESUME);\n\tconst pinnedAccount = parseNonEmptyString(environment.SENPI_CURSOR_CLI_OAUTH_PINNED_ACCOUNT);\n\tconst contextRecapOnModelSwitch = parseEnvironmentBoolean(environment.SENPI_CURSOR_CLI_OAUTH_RECAP);\n\tconst modelCatalogTtlHours = parseEnvironmentPositiveFiniteNumber(\n\t\tenvironment.SENPI_CURSOR_CLI_OAUTH_MODEL_CATALOG_TTL_HOURS,\n\t);\n\tconst sandboxMode = parseNonEmptyString(environment.SENPI_CURSOR_CLI_OAUTH_SANDBOX_MODE);\n\tconst denyCommands = parseEnvironmentDenyCommands(environment.SENPI_CURSOR_CLI_OAUTH_DENY_COMMANDS);\n\treturn {\n\t\t...(executablePath !== undefined ? { executablePath } : {}),\n\t\t...(enabled !== undefined ? { enabled } : {}),\n\t\t...(forceExecution !== undefined ? { forceExecution } : {}),\n\t\t...(executionMode !== undefined ? { executionMode } : {}),\n\t\t...(resumeMode !== undefined ? { resumeMode } : {}),\n\t\t...(pinnedAccount !== undefined ? { pinnedAccount } : {}),\n\t\t...(contextRecapOnModelSwitch !== undefined ? { contextRecapOnModelSwitch } : {}),\n\t\t...(modelCatalogTtlHours !== undefined ? { modelCatalogTtlHours } : {}),\n\t\t...(sandboxMode !== undefined ? { sandboxMode } : {}),\n\t\t...(denyCommands !== undefined ? { denyCommands } : {}),\n\t};\n}\n\nfunction resolveSettings(...layers: readonly ParsedSettings[]): CursorCliOauthProviderSettings {\n\treturn Object.assign({}, DEFAULT_SETTINGS, ...layers);\n}\n\n/** Parse one provider settings block with environment values taking precedence. */\nexport function parseCursorCliOauthProviderSettings(\n\tvalue: unknown,\n\tenvironment: Environment,\n): CursorCliOauthProviderSettings {\n\treturn resolveSettings(parseProviderSettings(value), parseEnvironmentSettings(environment));\n}\n\n/**\n * Build the probe-owned sandbox allowlist validator without hardcoding modes in settings parsing.\n * Each distinct rejected mode is reported once through the supplied warning hook.\n */\nexport function createCursorCliOauthSandboxModeValidator(\n\tacceptedModes: ReadonlySet<string>,\n\tonWarning: (message: string) => void,\n): (value: string | undefined) => string | undefined {\n\tconst warnedModes = new Set<string>();\n\treturn (value) => {\n\t\tif (value === undefined || acceptedModes.has(value)) return value;\n\t\tif (!warnedModes.has(value)) {\n\t\t\twarnedModes.add(value);\n\t\t\tonWarning(`Ignoring unrecognized Cursor CLI OAuth sandbox mode: ${value}`);\n\t\t}\n\t\treturn undefined;\n\t};\n}\n\n/** Load global and project settings afresh, with env values taking final precedence. */\nexport function loadCursorCliOauthProviderSettingsFromDisk(cwd: string): CursorCliOauthProviderSettings {\n\tconst settingsManager = SettingsManager.create(cwd, getAgentDir());\n\tconst global = settingsManager.getGlobalSettings() as SettingsWithCursorCliOauthProvider;\n\tconst project = settingsManager.getProjectSettings() as SettingsWithCursorCliOauthProvider;\n\treturn resolveSettings(\n\t\tparseProviderSettings(global.cursorCliOauthProvider),\n\t\tparseProviderSettings(project.cursorCliOauthProvider),\n\t\tparseEnvironmentSettings(process.env),\n\t);\n}\n\nfunction persistCursorCliOauthProviderPatch(\n\tcwd: string,\n\taction: string,\n\tpatch: Readonly<Record<string, unknown>>,\n): void {\n\tconst storage = new FileSettingsStorage(cwd, getAgentDir());\n\tstorage.selectSource(\"global\");\n\tstorage.withLock(\"global\", (current) => {\n\t\tlet root: Record<string, unknown>;\n\t\ttry {\n\t\t\troot = current === undefined ? {} : parseSettingsJson(current);\n\t\t} catch (error) {\n\t\t\tthrow new Error(\n\t\t\t\t`Cannot persist the cursor-cli-oauth ${action}: the settings file is unparseable (${error instanceof Error ? error.message : String(error)})`,\n\t\t\t);\n\t\t}\n\t\tconst provider =\n\t\t\ttypeof root.cursorCliOauthProvider === \"object\" &&\n\t\t\troot.cursorCliOauthProvider !== null &&\n\t\t\t!Array.isArray(root.cursorCliOauthProvider)\n\t\t\t\t? { ...(root.cursorCliOauthProvider as Record<string, unknown>) }\n\t\t\t\t: {};\n\t\treturn JSON.stringify({ ...root, cursorCliOauthProvider: { ...provider, ...patch } }, null, 2);\n\t});\n}\n\n/** Persist explicit provider activation while preserving every sibling setting. */\nexport function persistCursorCliOauthEnabled(cwd: string, enabled: boolean): void {\n\tpersistCursorCliOauthProviderPatch(cwd, \"enabled state\", { enabled });\n}\n\n/**\n * Read-modify-write `noApprovalAcknowledgedAt` into the provider block of the\n * global settings file, preserving every other key. An unparseable file is\n * reported instead of silently clobbered, so an acknowledgement can never\n * claim success while leaving the settings unwritten.\n */\nexport function persistCursorCliNoApprovalAcknowledgement(cwd: string, acknowledgedAt: string): void {\n\tpersistCursorCliOauthProviderPatch(cwd, \"acknowledgement\", {\n\t\tenabled: true,\n\t\tnoApprovalAcknowledgedAt: acknowledgedAt,\n\t});\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-mode.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interactive-mode.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEjF,OAAO,KAAK,EAAoB,YAAY,EAAW,KAAK,EAAe,MAAM,8BAA8B,CAAC;AAChH,OAAO,KAAK,EAUX,QAAQ,EAER,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAiBN,KAAK,GAAG,EACR,YAAY,EACZ,aAAa,EAEb,MAAM,wBAAwB,CAAC;AAiBhC,OAAO,EAAqB,KAAK,iBAAiB,EAAmB,MAAM,6BAA6B,CAAC;AACzG,OAAO,EAAE,KAAK,mBAAmB,EAAkC,MAAM,qCAAqC,CAAC;AAC/G,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAsBrE,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAoBxF,OAAO,EAAqB,cAAc,EAAiC,MAAM,+BAA+B,CAAC;AACjH,OAAO,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAkFpF,OAAO,EAAc,KAAK,iBAAiB,EAA0B,MAAM,kBAAkB,CAAC;AAgF9F,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,GAAG,OAAO,CAE3F;AAmGD,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAatF;AAUD,OAAO,EAAE,qBAAqB,EAAE,CAAC;AAuDjC;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC,kDAAkD;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gEAAgE;IAChE,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,4DAA4D;IAC5D,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qGAAqG;IACrG,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,4DAA4D;IAC5D,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iDAAiD;IACjD,MAAM,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAAC;IACpC,uBAAuB;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6DAA6D;IAC7D,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,UAAU,qBAAqB;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,wEAAwE;AACxE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,aAAa,GAAG,YAAY,CAoBjG;AAED,0FAA0F;AAC1F,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,GAAG,CA4BpE;AAED,qBAAa,eAAe;IAC3B,OAAO,CAAC,MAAM,CAAC,+BAA+B;IAO9C,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,EAAE,CAAM;IAChB,OAAO,CAAC,qBAAqB,CAAuC;IACpE,OAAO,CAAC,wBAAwB,CAAY;IAC5C,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,iBAAiB,CAAY;IACrC,OAAO,CAAC,oBAAoB,CAAoC;IAChE,OAAO,CAAC,oBAAoB,CAAwB;IACpD,OAAO,CAAC,wBAAwB,CAAY;IAC5C,OAAO,CAAC,eAAe,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAiC;IACnE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;IACxD,OAAO,CAAC,mBAAmB,CAAY;IACvC,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,sBAAsB,CAA4B;IAC1D,OAAO,CAAC,oBAAoB,CAAmC;IAC/D,OAAO,CAAC,4BAA4B,CAAqC;IACzE,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,eAAe,CAAY;IACnC,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,mBAAmB,CAAC,CAAS;IACrC,OAAO,CAAC,qBAAqB,CAAC,CAAa;IAC3C,OAAO,CAAC,eAAe,CAAY;IACnC,OAAO,CAAC,kBAAkB,CAAqB;IAE/C,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAC,CAAyB;IACjD,OAAO,CAAC,iBAAiB,CAAgB;IACzC,OAAO,CAAC,qBAAqB,CAA0C;IACvE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,uBAAuB,CAAkD;IACjF,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAa;IACnD,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAiB;IAC5D,OAAO,CAAC,mBAAmB,CAAmC;IAC9D,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,gCAAgC,CAAiC;IACzE,OAAO,CAAC,8BAA8B,CAAiC;IACvE,OAAO,CAAC,eAAe,CAA+C;IACtE,OAAO,CAAC,oBAAoB,CAAyC;IACrE,OAAO,CAAC,uBAAuB,CAAiC;IAChE,OAAO,CAAC,sBAAsB,CAAiC;IAE/D,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,iBAAiB,CAAiC;IAC1D,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,iCAAiC,CAAS;IAGlD,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,wBAAwB,CAAS;IAGzC,OAAO,CAAC,kBAAkB,CAAoD;IAC9E,OAAO,CAAC,gBAAgB,CAA2C;IACnE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA4B;IAC5D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA2B;IAC1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAG9D,OAAO,CAAC,YAAY,CAA6C;IACjE,OAAO,CAAC,sBAAsB;IAG9B,OAAO,CAAC,6BAA6B;IAQrC,OAAO,CAAC,kBAAkB,CAAS;IAGnC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAGxC;IAGH,OAAO,CAAC,aAAa,CAA6B;IAGlD,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,OAAO,CAAC,qBAAqB,CAAyB;IAGtD,OAAO,CAAC,UAAU,CAAS;IAG3B,OAAO,CAAC,aAAa,CAAiD;IAGtE,OAAO,CAAC,qBAAqB,CAAgC;IAG7D,OAAO,CAAC,2BAA2B,CAAC,CAAa;IACjD,OAAO,CAAC,8BAA8B,CAAS;IAC/C,OAAO,CAAC,0BAA0B,CAAM;IAGxC,OAAO,CAAC,kBAAkB,CAAC,CAAa;IACxC,OAAO,CAAC,+BAA+B,CAAS;IAChD,OAAO,CAAC,8BAA8B,CAAyD;IAG/F,OAAO,CAAC,wBAAwB,CAAiC;IACjE,OAAO,CAAC,0BAA0B,CAAiC;IACnE,OAAO,CAAC,kCAAkC,CAAuD;IACjG,OAAO,CAAC,wBAAwB,CAA4B;IAC5D,OAAO,CAAC,yBAAyB,CAAK;IAGtC,OAAO,CAAC,iBAAiB,CAAS;IAGlC,OAAO,CAAC,iBAAiB,CAAqD;IAC9E,OAAO,CAAC,cAAc,CAAkD;IACxE,OAAO,CAAC,eAAe,CAAmD;IAC1E,OAAO,CAAC,mCAAmC,CAGtC;IAGL,OAAO,CAAC,qBAAqB,CAAuD;IACpF,OAAO,CAAC,qBAAqB,CAAuD;IACpF,OAAO,CAAC,oBAAoB,CAAa;IACzC,OAAO,CAAC,oBAAoB,CAAa;IAGzC,OAAO,CAAC,YAAY,CAA6D;IAGjF,OAAO,CAAC,eAAe,CAAY;IAGnC,OAAO,CAAC,aAAa,CAAoC;IAGzD,OAAO,CAAC,YAAY,CAA6D;IAEjF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAEhC;IACF,OAAO,CAAC,oBAAoB,CAAqB;IACjD,OAAO,CAAC,eAAe,CAA6B;IAGpD,OAAO,KAAK,OAAO,GAElB;IACD,OAAO,KAAK,cAAc,GAEzB;IACD,OAAO,KAAK,eAAe,GAE1B;gBAEW,WAAW,EAAE,mBAAmB,EAAE,OAAO,GAAE,sBAA2B;IA6FlF,OAAO,CAAC,wBAAwB;IAyBhC,OAAO,CAAC,6BAA6B;IAQrC,OAAO,CAAC,oCAAoC;IAe5C,OAAO,CAAC,8BAA8B;IAqFtC,OAAO,CAAC,yBAAyB;IAkBjC,OAAO,CAAC,0BAA0B;IA8BlC,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,aAAa;IAmDf,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkM3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,mBAAmB;IAI3B;;;OAGG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YA8GZ,sBAAsB;YAItB,cAAc;IAoD5B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA2B9B,OAAO,CAAC,sBAAsB;IAmB9B,OAAO,CAAC,4BAA4B;IAWpC,OAAO,CAAC,8BAA8B;IAItC,OAAO,CAAC,+BAA+B;IASvC,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,0BAA0B;IAMlC,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,wBAAwB;YAIlB,wBAAwB;IA8BtC,OAAO,CAAC,qBAAqB;IAkB7B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,cAAc;IAMtB;;OAEG;IACH,OAAO,CAAC,YAAY;IAqCpB,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,4BAA4B;IAcpC,OAAO,CAAC,wBAAwB;IAqBhC,OAAO,CAAC,6BAA6B;IAOrC,OAAO,CAAC,kCAAkC;IA2B1C,OAAO,CAAC,yBAAyB;IA8BjC,OAAO,CAAC,oBAAoB;IA6B5B,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,gBAAgB;IAqCxB,OAAO,CAAC,iBAAiB;IAkCzB,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,iBAAiB;IAqDzB,OAAO,CAAC,mBAAmB;IAqN3B;;OAEG;YACW,4BAA4B;IA6E1C,OAAO,CAAC,+BAA+B;IAIvC,OAAO,CAAC,oBAAoB;YAyBd,oBAAoB;YA0BpB,uBAAuB;IAQrC,OAAO,CAAC,yBAAyB;IAmBjC;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAInC,OAAO,CAAC,uBAAuB;IAI/B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA4E/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,wBAAwB;IAehC,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,uBAAuB;IA6B/B,OAAO,CAAC,yBAAyB;IAkCjC,OAAO,CAAC,wBAAwB;IAYhC,OAAO,CAAC,sBAAsB;IAkB9B,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,8BAA8B;IAgBtC,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,wBAAwB;IAOhC,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,2BAA2B;IASnC,OAAO,CAAC,0BAA0B;IAsClC,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,6BAA6B;IAMrC,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,iBAAiB;IAyBzB,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,sBAAsB;IAa9B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA+C1B,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,gBAAgB;IAmCxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAM;IAE9C;;OAEG;IACH,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,qBAAqB;IAuB7B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwB1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAyC1B,OAAO,CAAC,iCAAiC;IAWzC,OAAO,CAAC,qCAAqC;IAO7C,OAAO,CAAC,oCAAoC;IAK5C;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAejC,OAAO,CAAC,wBAAwB;IA2DhC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAyC7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;OAEG;YACW,oBAAoB;YASpB,0BAA0B;IAQxC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAyC1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IA+FhC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAU3B,oGAAoG;YACtF,mBAAmB;IAgFjC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA2B1B,OAAO,CAAC,gBAAgB;YAmFV,qBAAqB;YAcrB,oBAAoB;IA2BlC,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,wBAAwB;IA0NhC,OAAO,CAAC,gBAAgB;YAMV,WAAW;IAuhBzB,OAAO,CAAC,wBAAwB;IAKhC,+CAA+C;IAC/C,OAAO,CAAC,kBAAkB;IAS1B,qDAAqD;IACrD,OAAO,CAAC,qBAAqB;IAa7B;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAoBlB,OAAO,CAAC,oBAAoB;IAsB5B,OAAO,CAAC,gBAAgB;IA6GxB,OAAO,CAAC,4BAA4B;IA8BpC,OAAO,CAAC,kBAAkB;IAiF1B;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAa5B;;;;OAIG;IACH,2FAA2F;IAC3F,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,wBAAwB;IAQhC,OAAO,CAAC,kBAAkB;IAgB1B,qBAAqB,IAAI,IAAI;IAgB7B,OAAO,CAAC,iCAAiC;IAoBnC,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAcrC,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,WAAW;IAKnB;;;;OAIG;IACH,OAAO,CAAC,cAAc,CAAS;YAEjB,QAAQ;IAyCtB,OAAO,CAAC,qBAAqB;IAS7B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,aAAa;IAwBrB;;OAEG;YACW,sBAAsB;IAKpC,OAAO,CAAC,sBAAsB;IA+C9B,OAAO,CAAC,wBAAwB;IAOhC,OAAO,CAAC,WAAW;YAuCL,cAAc;IAwC5B,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,kBAAkB;YAWZ,UAAU;IA0BxB,OAAO,CAAC,yBAAyB;IAIjC,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,6BAA6B;YAkBvB,wBAAwB;IAwBtC,WAAW,IAAI,IAAI;IAKnB,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAMrC,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAerC,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAMzC,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAsBpD,yBAAyB,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,IAAI;IAgB9D,0BAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,iBAAiB,EAAE;QAAE,IAAI,EAAE,0BAA0B,CAAA;KAAE,CAAC,GAAG,IAAI;IAIzG,wBAAwB,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,aAAa,CAAA;KAAE,GAAG,IAAI;IAkB1G,6BAA6B,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAkBvD;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAe5B;;;OAGG;IACH,OAAO,CAAC,cAAc;IA0CtB,OAAO,CAAC,4BAA4B;IAmBpC,OAAO,CAAC,6BAA6B;IAqBrC;;;;;;;;OAQG;YACW,0BAA0B;IAiBxC,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,kBAAkB;YAUZ,oBAAoB;IAqFlC,6DAA6D;IAC7D,OAAO,CAAC,0BAA0B;IAYlC,OAAO,CAAC,qBAAqB;IAO7B;;;OAGG;IACH,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,oBAAoB;YAoPd,kBAAkB;YAelB,mBAAmB;YAkCnB,iBAAiB;YAmBjB,0BAA0B;YAe1B,wBAAwB;YAcxB,8BAA8B;YAS9B,sBAAsB;IA4BpC,0GAA0G;IAC1G,OAAO,CAAC,4BAA4B;YAStB,uCAAuC;IA8BrD,OAAO,CAAC,wCAAwC;IA0BhD,OAAO,CAAC,iBAAiB;IAyBzB,OAAO,CAAC,iBAAiB;YA6BX,0BAA0B;IAuCxC,OAAO,CAAC,wBAAwB;IA0HhC,OAAO,CAAC,uBAAuB;YAsCjB,kBAAkB;IAqBhC,OAAO,CAAC,gBAAgB;IA6IxB,OAAO,CAAC,mBAAmB;YAsCb,mBAAmB;IAqCjC,OAAO,CAAC,uBAAuB;YAgCjB,wBAAwB;IAWtC,OAAO,CAAC,wBAAwB;YAalB,kBAAkB;YAuBlB,kBAAkB;IAUhC,OAAO,CAAC,yBAAyB;IA0DjC,OAAO,CAAC,yBAAyB;YA2CnB,iBAAiB;YA4DjB,8BAA8B;IA6E5C,OAAO,CAAC,qBAAqB;YA2Bf,qBAAqB;IAiDnC,OAAO,CAAC,cAAc;YAiCR,cAAc;IAwB5B,OAAO,CAAC,gBAAgB;YAaV,aAAa;YAYb,eAAe;YAoCf,mBAAmB;YA2GnB,mBAAmB;IAkBjC,OAAO,CAAC,sBAAsB;YA6BhB,mBAAmB;YA4CnB,kBAAkB;YA8FlB,iBAAiB;IAmB/B,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,oBAAoB;IA+D5B,OAAO,CAAC,sBAAsB;IAqB9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,oBAAoB;YAqHd,kBAAkB;IAehC,OAAO,CAAC,kBAAkB;IAiC1B,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,qBAAqB;YAMf,iBAAiB;YAuFjB,oBAAoB;IAkBlC,IAAI,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,IAAI;CAgCvD"}
@@ -2140,15 +2140,17 @@ export class InteractiveMode {
2140
2140
  */
2141
2141
  setExtensionWidget(key, content, options) {
2142
2142
  const placement = options?.placement ?? "aboveEditor";
2143
- const removeExisting = (map) => {
2143
+ const targetMap = placement === "belowEditor" ? this.extensionWidgetsBelow : this.extensionWidgetsAbove;
2144
+ const otherMap = placement === "belowEditor" ? this.extensionWidgetsAbove : this.extensionWidgetsBelow;
2145
+ const removeFrom = (map) => {
2144
2146
  const existing = map.get(key);
2145
2147
  if (existing?.dispose)
2146
2148
  existing.dispose();
2147
2149
  map.delete(key);
2148
2150
  };
2149
- removeExisting(this.extensionWidgetsAbove);
2150
- removeExisting(this.extensionWidgetsBelow);
2151
+ removeFrom(otherMap);
2151
2152
  if (content === undefined) {
2153
+ removeFrom(targetMap);
2152
2154
  this.renderWidgets();
2153
2155
  return;
2154
2156
  }
@@ -2168,7 +2170,11 @@ export class InteractiveMode {
2168
2170
  // Factory function - create component
2169
2171
  component = content(this.ui, theme);
2170
2172
  }
2171
- const targetMap = placement === "belowEditor" ? this.extensionWidgetsBelow : this.extensionWidgetsAbove;
2173
+ // Map.set on an existing key keeps its insertion position, so a refreshing widget stays
2174
+ // put instead of moving past its neighbours and reshuffling the stacking order each paint.
2175
+ const existing = targetMap.get(key);
2176
+ if (existing?.dispose)
2177
+ existing.dispose();
2172
2178
  targetMap.set(key, component);
2173
2179
  this.renderWidgets();
2174
2180
  }
@@ -5620,7 +5626,7 @@ export class InteractiveMode {
5620
5626
  const controller = new AbortController();
5621
5627
  const timeout = setTimeout(() => controller.abort(), 15_000);
5622
5628
  void this.session.modelRuntime
5623
- .refresh({ providers: [providerId], signal: controller.signal })
5629
+ .refresh({ allowNetwork: true, providers: [providerId], signal: controller.signal })
5624
5630
  .then((result) => {
5625
5631
  if (result.aborted) {
5626
5632
  this.showWarning(`${actionLabel}, but its model catalog refresh timed out; using cached models.`);