@code-yeongyu/senpi 2026.9.12-2 → 2026.9.12

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 (99) hide show
  1. package/CHANGELOG.md +0 -17
  2. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  3. package/dist/core/agent-session-runtime.js +1 -5
  4. package/dist/core/agent-session-runtime.js.map +1 -1
  5. package/dist/core/agent-session.d.ts +9 -13
  6. package/dist/core/agent-session.d.ts.map +1 -1
  7. package/dist/core/agent-session.js +121 -54
  8. package/dist/core/agent-session.js.map +1 -1
  9. package/dist/core/extensions/builtin/cursor-cli-oauth/models.d.ts.map +1 -1
  10. package/dist/core/extensions/builtin/cursor-cli-oauth/models.js +1 -2
  11. package/dist/core/extensions/builtin/cursor-cli-oauth/models.js.map +1 -1
  12. package/dist/core/session-manager.d.ts +0 -2
  13. package/dist/core/session-manager.d.ts.map +1 -1
  14. package/dist/core/session-manager.js +13 -22
  15. package/dist/core/session-manager.js.map +1 -1
  16. package/dist/core/session-write-reservation.d.ts +0 -9
  17. package/dist/core/session-write-reservation.d.ts.map +1 -1
  18. package/dist/core/session-write-reservation.js +0 -33
  19. package/dist/core/session-write-reservation.js.map +1 -1
  20. package/dist/modes/interactive/components/ask-user-async-widget.d.ts +0 -2
  21. package/dist/modes/interactive/components/ask-user-async-widget.d.ts.map +1 -1
  22. package/dist/modes/interactive/components/ask-user-async-widget.js +1 -17
  23. package/dist/modes/interactive/components/ask-user-async-widget.js.map +1 -1
  24. package/dist/modes/interactive/interactive-mode.js +2 -2
  25. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  26. package/dist/modes/rpc/rpc-types.d.ts +1 -2
  27. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  28. package/dist/modes/rpc/rpc-types.js +0 -1
  29. package/dist/modes/rpc/rpc-types.js.map +1 -1
  30. package/dist/modes/rpc/session-registry.d.ts +1 -3
  31. package/dist/modes/rpc/session-registry.d.ts.map +1 -1
  32. package/dist/modes/rpc/session-registry.js.map +1 -1
  33. package/dist/modes/rpc/session-worker-client.d.ts +8 -10
  34. package/dist/modes/rpc/session-worker-client.d.ts.map +1 -1
  35. package/dist/modes/rpc/session-worker-client.js +23 -14
  36. package/dist/modes/rpc/session-worker-client.js.map +1 -1
  37. package/dist/modes/rpc/session-worker-protocol.d.ts +0 -10
  38. package/dist/modes/rpc/session-worker-protocol.d.ts.map +1 -1
  39. package/dist/modes/rpc/session-worker-protocol.js +0 -2
  40. package/dist/modes/rpc/session-worker-protocol.js.map +1 -1
  41. package/dist/modes/rpc/session-worker.js +16 -12
  42. package/dist/modes/rpc/session-worker.js.map +1 -1
  43. package/dist/modes/rpc/worker-session-registry.d.ts +0 -12
  44. package/dist/modes/rpc/worker-session-registry.d.ts.map +1 -1
  45. package/dist/modes/rpc/worker-session-registry.js +24 -51
  46. package/dist/modes/rpc/worker-session-registry.js.map +1 -1
  47. package/docs/rpc.md +6 -14
  48. package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +0 -12
  49. package/node_modules/@code-yeongyu/senpi-codemode/package.json +4 -4
  50. package/node_modules/@earendil-works/pi-agent-core/package.json +3 -3
  51. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/measure.d.ts +0 -11
  52. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/measure.d.ts.map +1 -1
  53. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/measure.js +0 -18
  54. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/measure.js.map +1 -1
  55. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.d.ts +1 -1
  56. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.d.ts.map +1 -1
  57. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.js +1 -5
  58. package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.js.map +1 -1
  59. package/node_modules/@earendil-works/pi-ai/dist/cursor/store-migration.d.ts.map +1 -1
  60. package/node_modules/@earendil-works/pi-ai/dist/cursor/store-migration.js +1 -2
  61. package/node_modules/@earendil-works/pi-ai/dist/cursor/store-migration.js.map +1 -1
  62. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts +1 -1
  63. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts.map +1 -1
  64. package/node_modules/@earendil-works/pi-ai/dist/index.js +1 -1
  65. package/node_modules/@earendil-works/pi-ai/dist/index.js.map +1 -1
  66. package/node_modules/@earendil-works/pi-ai/dist/providers/cursor.d.ts.map +1 -1
  67. package/node_modules/@earendil-works/pi-ai/dist/providers/cursor.js +1 -2
  68. package/node_modules/@earendil-works/pi-ai/dist/providers/cursor.js.map +1 -1
  69. package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
  70. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
  71. package/node_modules/@earendil-works/pi-ai/package.json +2 -2
  72. package/node_modules/@earendil-works/pi-pty/package.json +1 -1
  73. package/node_modules/@earendil-works/pi-telemetry/package.json +1 -1
  74. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  75. package/package.json +7 -7
  76. package/dist/core/cursor-history-admission.d.ts +0 -50
  77. package/dist/core/cursor-history-admission.d.ts.map +0 -1
  78. package/dist/core/cursor-history-admission.js +0 -130
  79. package/dist/core/cursor-history-admission.js.map +0 -1
  80. package/dist/modes/rpc/session-path-reservations.d.ts +0 -30
  81. package/dist/modes/rpc/session-path-reservations.d.ts.map +0 -1
  82. package/dist/modes/rpc/session-path-reservations.js +0 -58
  83. package/dist/modes/rpc/session-path-reservations.js.map +0 -1
  84. package/dist/modes/rpc/session-worker-credit.d.ts +0 -17
  85. package/dist/modes/rpc/session-worker-credit.d.ts.map +0 -1
  86. package/dist/modes/rpc/session-worker-credit.js +0 -39
  87. package/dist/modes/rpc/session-worker-credit.js.map +0 -1
  88. package/dist/modes/rpc/session-worker-signals.d.ts +0 -7
  89. package/dist/modes/rpc/session-worker-signals.d.ts.map +0 -1
  90. package/dist/modes/rpc/session-worker-signals.js +0 -19
  91. package/dist/modes/rpc/session-worker-signals.js.map +0 -1
  92. package/node_modules/@earendil-works/pi-ai/dist/cursor/context-limit-store.d.ts +0 -32
  93. package/node_modules/@earendil-works/pi-ai/dist/cursor/context-limit-store.d.ts.map +0 -1
  94. package/node_modules/@earendil-works/pi-ai/dist/cursor/context-limit-store.js +0 -62
  95. package/node_modules/@earendil-works/pi-ai/dist/cursor/context-limit-store.js.map +0 -1
  96. package/node_modules/@earendil-works/pi-ai/dist/utils/cursor-context-limit.d.ts +0 -12
  97. package/node_modules/@earendil-works/pi-ai/dist/utils/cursor-context-limit.d.ts.map +0 -1
  98. package/node_modules/@earendil-works/pi-ai/dist/utils/cursor-context-limit.js +0 -93
  99. package/node_modules/@earendil-works/pi-ai/dist/utils/cursor-context-limit.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -12,23 +12,6 @@
12
12
 
13
13
  ### Removed
14
14
 
15
- ## [2026.9.12-2] - 2026-09-12
16
-
17
- ### Breaking Changes
18
-
19
- ### Added
20
-
21
- ### Changed
22
-
23
- ### Fixed
24
-
25
- - Fixed Cursor requests losing whole conversation turns: admission enforced a fixed 50 KB aggregate cap and deleted the oldest turns when blanking tool results was not enough, so a 1M-token model kept roughly 6K tokens of history and an early instruction could disappear before the model saw it. The aggregate budget now follows the model context window (measured over what Cursor actually replays to the model), only tool result bodies are shrunk, and a history that still exceeds the budget is sent as-is for the existing overflow-to-compaction path to handle ([#1603](https://github.com/code-yeongyu/senpi/issues/1603)).
26
- - Fixed a long-lived RPC session dying with `session_path_in_use` after 64 session replacements: session-write grants are now bound to the writers that still exist, so a replaced session file is released as soon as the worker reports its new one. A superseded path can be reopened in a new worker instead of staying blocked for the host's lifetime, opening an explicit session file no longer burns a second phantom grant, and an exhausted per-worker budget is reported as the distinct `session_reservation_limit` (fixes #1612).
27
-
28
- - Fixed the async ask-user widget's advertised `option+a` shortcut doing nothing in macOS terminals that let Option compose characters (the Terminal.app, iTerm2, Ghostty and kitty defaults): on macOS the composed `å`/`Å` glyphs now expand the pending question too, `alt+a` keeps working everywhere, and other platforms keep treating those glyphs as text (fixes #1620).
29
-
30
- ### Removed
31
-
32
15
  ## [2026.9.12] - 2026-09-12
33
16
 
34
17
  ### Breaking Changes
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session-runtime.d.ts","sourceRoot":"","sources":["../../src/core/agent-session-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-session-runtime.d.ts","sourceRoot":"","sources":["../../src/core/agent-session-runtime.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { resolvePath } from "../utils/paths.js";
4
4
  import { emitSessionShutdownEvent } from "./extensions/runner.js";
5
5
  import { assertSessionCwdExists } from "./session-cwd.js";
6
6
  import { SessionManager } from "./session-manager.js";
7
- import { reserveSessionWrite, unregisterSessionWriter } from "./session-write-reservation.js";
7
+ import { reserveSessionWrite } from "./session-write-reservation.js";
8
8
  /**
9
9
  * Thrown when /import references a JSONL file path that does not exist.
10
10
  */
@@ -116,11 +116,7 @@ export class AgentSessionRuntime {
116
116
  targetSessionFile,
117
117
  });
118
118
  this.beforeSessionInvalidate?.();
119
- const replaced = this.session.sessionManager;
120
119
  this.session.dispose();
121
- // Nothing writes to the replaced manager once its session is disposed, so the
122
- // shared host may hand its session file to another worker.
123
- unregisterSessionWriter(replaced);
124
120
  }
125
121
  async reportRemovedExtensions() {
126
122
  const pending = this._removedOnReplacement;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session-runtime.js","sourceRoot":"","sources":["../../src/core/agent-session-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import { copyFileSync, existsSync, mkdirSync } from \"node:fs\";\nimport { basename, join, resolve } from \"node:path\";\nimport { resolvePath } from \"../utils/paths.ts\";\nimport type { AgentSession } from \"./agent-session.ts\";\nimport type { AgentSessionRuntimeDiagnostic, AgentSessionServices } from \"./agent-session-services.ts\";\nimport type {\n\tProjectTrustContext,\n\tReplacedSessionContext,\n\tSessionShutdownEvent,\n\tSessionStartEvent,\n} from \"./extensions/index.ts\";\nimport { type ExtensionRunner, emitSessionShutdownEvent } from \"./extensions/runner.ts\";\nimport type { CreateAgentSessionResult } from \"./sdk.ts\";\nimport { assertSessionCwdExists } from \"./session-cwd.ts\";\nimport { SessionManager } from \"./session-manager.ts\";\nimport { reserveSessionWrite, unregisterSessionWriter } from \"./session-write-reservation.ts\";\n\n/**\n * Result returned by runtime creation.\n *\n * The caller gets the created session, its cwd-bound services, and all\n * diagnostics collected during setup.\n */\nexport interface CreateAgentSessionRuntimeResult extends CreateAgentSessionResult {\n\tservices: AgentSessionServices;\n\tdiagnostics: AgentSessionRuntimeDiagnostic[];\n}\n\n/** Immutable flags selected when a runtime is first launched. */\nexport interface AgentSessionLaunchProfile {\n\tcwd: string;\n\tpermissionPreset?: string;\n\tcreationModel?: { provider: string; modelId: string };\n\tinitialThinkingLevel?: string;\n}\n\n/**\n * Creates a full runtime for a target cwd and session manager.\n *\n * The factory closes over process-global fixed inputs, recreates cwd-bound\n * services for the effective cwd, resolves session options against those\n * services, and finally creates the AgentSession.\n */\nexport type CreateAgentSessionRuntimeFactory = (options: {\n\tcwd: string;\n\tagentDir: string;\n\tsessionManager: SessionManager;\n\tsessionStartEvent?: SessionStartEvent;\n\tprojectTrustContext?: ProjectTrustContext;\n\tlaunchProfile?: Readonly<AgentSessionLaunchProfile>;\n}) => Promise<CreateAgentSessionRuntimeResult>;\n\n/**\n * Thrown when /import references a JSONL file path that does not exist.\n */\nexport class SessionImportFileNotFoundError extends Error {\n\treadonly filePath: string;\n\n\tconstructor(filePath: string) {\n\t\tsuper(`File not found: ${filePath}`);\n\t\tthis.name = \"SessionImportFileNotFoundError\";\n\t\tthis.filePath = filePath;\n\t}\n}\n\nfunction extractUserMessageText(content: string | Array<{ type: string; text?: string }>): string {\n\tif (typeof content === \"string\") {\n\t\treturn content;\n\t}\n\n\treturn content\n\t\t.filter((part): part is { type: \"text\"; text: string } => part.type === \"text\" && typeof part.text === \"string\")\n\t\t.map((part) => part.text)\n\t\t.join(\"\");\n}\n\n/**\n * Owns the current AgentSession plus its cwd-bound services.\n *\n * Session replacement methods tear down the current runtime first, then create\n * and apply the next runtime. If creation fails, the error is propagated to the\n * caller. The caller is responsible for user-facing error handling.\n */\nexport class AgentSessionRuntime {\n\tprivate rebindSession?: (session: AgentSession) => Promise<void>;\n\tprivate beforeSessionInvalidate?: () => void;\n\tprivate _session: AgentSession;\n\tprivate _services: AgentSessionServices;\n\tprivate readonly createRuntime: CreateAgentSessionRuntimeFactory;\n\tprivate _diagnostics: AgentSessionRuntimeDiagnostic[];\n\tprivate _modelFallbackMessage?: string;\n\tprivate readonly _launchProfile?: Readonly<AgentSessionLaunchProfile>;\n\tprivate _removedOnReplacement?: {\n\t\toldRunner: ExtensionRunner;\n\t\toldIdentities: Array<{ path: string; resolvedPath: string }>;\n\t\treason: SessionShutdownEvent[\"reason\"];\n\t};\n\n\tconstructor(\n\t\t_session: AgentSession,\n\t\t_services: AgentSessionServices,\n\t\tcreateRuntime: CreateAgentSessionRuntimeFactory,\n\t\t_diagnostics: AgentSessionRuntimeDiagnostic[] = [],\n\t\t_modelFallbackMessage?: string,\n\t\tlaunchProfile?: Readonly<AgentSessionLaunchProfile>,\n\t) {\n\t\tthis._session = _session;\n\t\tthis._services = _services;\n\t\tthis.createRuntime = createRuntime;\n\t\tthis._diagnostics = _diagnostics;\n\t\tthis._modelFallbackMessage = _modelFallbackMessage;\n\t\tthis._launchProfile = launchProfile;\n\t}\n\n\tget services(): AgentSessionServices {\n\t\treturn this._services;\n\t}\n\n\tget session(): AgentSession {\n\t\treturn this._session;\n\t}\n\n\tget cwd(): string {\n\t\treturn this._services.cwd;\n\t}\n\n\tget diagnostics(): readonly AgentSessionRuntimeDiagnostic[] {\n\t\treturn this._diagnostics;\n\t}\n\n\tget modelFallbackMessage(): string | undefined {\n\t\treturn this._modelFallbackMessage;\n\t}\n\n\tget launchProfile(): Readonly<AgentSessionLaunchProfile> | undefined {\n\t\treturn this._launchProfile;\n\t}\n\n\tsetRebindSession(rebindSession?: (session: AgentSession) => Promise<void>): void {\n\t\tthis.rebindSession = rebindSession;\n\t}\n\n\t/**\n\t * Set a synchronous callback that runs after `session_shutdown` handlers finish\n\t * but before the current session is invalidated.\n\t *\n\t * This is for host-owned UI teardown that must not yield to the event loop,\n\t * such as detaching extension-provided TUI components before the old extension\n\t * context becomes stale.\n\t */\n\tsetBeforeSessionInvalidate(beforeSessionInvalidate?: () => void): void {\n\t\tthis.beforeSessionInvalidate = beforeSessionInvalidate;\n\t}\n\n\tprivate async emitBeforeSwitch(\n\t\treason: \"new\" | \"resume\",\n\t\ttargetSessionFile?: string,\n\t): Promise<{ cancelled: boolean }> {\n\t\tconst runner = this.session.extensionRunner;\n\t\tif (!runner.hasHandlers(\"session_before_switch\")) {\n\t\t\treturn { cancelled: false };\n\t\t}\n\n\t\tconst result = await runner.emit({\n\t\t\ttype: \"session_before_switch\",\n\t\t\treason,\n\t\t\ttargetSessionFile,\n\t\t});\n\t\treturn { cancelled: result?.cancel === true };\n\t}\n\n\tprivate async emitBeforeFork(\n\t\tentryId: string,\n\t\toptions: { position: \"before\" | \"at\" },\n\t): Promise<{ cancelled: boolean }> {\n\t\tconst runner = this.session.extensionRunner;\n\t\tif (!runner.hasHandlers(\"session_before_fork\")) {\n\t\t\treturn { cancelled: false };\n\t\t}\n\n\t\tconst result = await runner.emit({\n\t\t\ttype: \"session_before_fork\",\n\t\t\tentryId,\n\t\t\t...options,\n\t\t});\n\t\treturn { cancelled: result?.cancel === true };\n\t}\n\n\tprivate async teardownCurrent(reason: SessionShutdownEvent[\"reason\"], targetSessionFile?: string): Promise<void> {\n\t\t// Settle the active response before replacement so the outgoing turn and\n\t\t// any completed tool results are persisted to the old session.\n\t\tawait this.session.abort();\n\t\tconst oldRunner = this.session.extensionRunner;\n\t\t// Test hosts and partial runner implementations may lack identity introspection;\n\t\t// skip removal reporting there rather than break the replacement itself.\n\t\tif (typeof oldRunner.getExtensionIdentities === \"function\") {\n\t\t\tthis._removedOnReplacement = {\n\t\t\t\toldRunner,\n\t\t\t\toldIdentities: oldRunner.getExtensionIdentities(),\n\t\t\t\treason,\n\t\t\t};\n\t\t}\n\t\tawait emitSessionShutdownEvent(oldRunner, {\n\t\t\ttype: \"session_shutdown\",\n\t\t\treason,\n\t\t\ttargetSessionFile,\n\t\t});\n\t\tthis.beforeSessionInvalidate?.();\n\t\tconst replaced = this.session.sessionManager;\n\t\tthis.session.dispose();\n\t\t// Nothing writes to the replaced manager once its session is disposed, so the\n\t\t// shared host may hand its session file to another worker.\n\t\tunregisterSessionWriter(replaced);\n\t}\n\n\tprivate async reportRemovedExtensions(): Promise<void> {\n\t\tconst pending = this._removedOnReplacement;\n\t\tthis._removedOnReplacement = undefined;\n\t\tif (!pending) return;\n\t\tconst newRunner = this.session.extensionRunner;\n\t\tif (typeof newRunner.getExtensionIdentities !== \"function\") return;\n\t\tconst newResolvedPaths = new Set(newRunner.getExtensionIdentities().map((extension) => extension.resolvedPath));\n\t\tconst removed = pending.oldIdentities.filter((extension) => !newResolvedPaths.has(extension.resolvedPath));\n\t\tif (removed.length === 0) return;\n\t\tawait pending.oldRunner.emit({ type: \"session_extensions_removed\", reason: pending.reason, removed });\n\t}\n\n\tprivate async apply(result: CreateAgentSessionRuntimeResult): Promise<void> {\n\t\tthis._session = result.session;\n\t\tthis._services = result.services;\n\t\tthis._diagnostics = result.diagnostics;\n\t\tthis._modelFallbackMessage = result.modelFallbackMessage;\n\t\tawait this.reportRemovedExtensions();\n\t}\n\n\tprivate async finishSessionReplacement(withSession?: (ctx: ReplacedSessionContext) => Promise<void>): Promise<void> {\n\t\tif (this.rebindSession) {\n\t\t\tawait this.rebindSession(this.session);\n\t\t}\n\t\tif (withSession) {\n\t\t\tawait withSession(this.session.createReplacedSessionContext());\n\t\t}\n\t}\n\n\tasync switchSession(\n\t\tsessionPath: string,\n\t\toptions?: {\n\t\t\tcwdOverride?: string;\n\t\t\twithSession?: (ctx: ReplacedSessionContext) => Promise<void>;\n\t\t\tprojectTrustContextFactory?: (cwd: string) => ProjectTrustContext;\n\t\t},\n\t): Promise<{ cancelled: boolean }> {\n\t\tconst beforeResult = await this.emitBeforeSwitch(\"resume\", sessionPath);\n\t\tif (beforeResult.cancelled) {\n\t\t\treturn beforeResult;\n\t\t}\n\n\t\tconst previousSessionFile = this.session.sessionFile;\n\t\tconst sessionManager = SessionManager.open(sessionPath, undefined, options?.cwdOverride);\n\t\tassertSessionCwdExists(sessionManager, this.cwd);\n\t\tawait this.teardownCurrent(\"resume\", sessionManager.getSessionFile());\n\t\tawait this.apply(\n\t\t\tawait this.createRuntime({\n\t\t\t\tcwd: sessionManager.getCwd(),\n\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\tsessionManager,\n\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"resume\", previousSessionFile },\n\t\t\t\tprojectTrustContext: options?.projectTrustContextFactory?.(sessionManager.getCwd()),\n\t\t\t\tlaunchProfile: this._launchProfile,\n\t\t\t}),\n\t\t);\n\t\tawait this.finishSessionReplacement(options?.withSession);\n\t\treturn { cancelled: false };\n\t}\n\n\tasync newSession(options?: {\n\t\tparentSession?: string;\n\t\tsetup?: (sessionManager: SessionManager) => Promise<void>;\n\t\twithSession?: (ctx: ReplacedSessionContext) => Promise<void>;\n\t}): Promise<{ cancelled: boolean }> {\n\t\tconst beforeResult = await this.emitBeforeSwitch(\"new\");\n\t\tif (beforeResult.cancelled) {\n\t\t\treturn beforeResult;\n\t\t}\n\n\t\tconst previousSessionFile = this.session.sessionFile;\n\t\tconst sessionDir = this.session.sessionManager.getSessionDir();\n\t\tconst sessionManager = this.session.sessionManager.isPersisted()\n\t\t\t? SessionManager.create(this.cwd, sessionDir)\n\t\t\t: SessionManager.inMemory(this.cwd);\n\t\tif (options?.parentSession) {\n\t\t\tsessionManager.newSession({ parentSession: options.parentSession });\n\t\t}\n\n\t\tawait this.teardownCurrent(\"new\", sessionManager.getSessionFile());\n\t\tawait this.apply(\n\t\t\tawait this.createRuntime({\n\t\t\t\tcwd: this.cwd,\n\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\tsessionManager,\n\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"new\", previousSessionFile },\n\t\t\t\tlaunchProfile: this._launchProfile,\n\t\t\t}),\n\t\t);\n\t\tif (options?.setup) {\n\t\t\tawait options.setup(this.session.sessionManager);\n\t\t\tthis.session.agent.state.messages = this.session.sessionManager.buildSessionContext().messages;\n\t\t}\n\t\tawait this.finishSessionReplacement(options?.withSession);\n\t\treturn { cancelled: false };\n\t}\n\n\tasync fork(\n\t\tentryId: string,\n\t\toptions?: { position?: \"before\" | \"at\"; withSession?: (ctx: ReplacedSessionContext) => Promise<void> },\n\t): Promise<{ cancelled: boolean; selectedText?: string }> {\n\t\tconst position = options?.position ?? \"before\";\n\t\tconst beforeResult = await this.emitBeforeFork(entryId, { position });\n\t\tif (beforeResult.cancelled) {\n\t\t\treturn { cancelled: true };\n\t\t}\n\t\tlet targetLeafId: string | null;\n\t\tlet selectedText: string | undefined;\n\n\t\tconst selectedEntry = this.session.sessionManager.getEntry(entryId);\n\t\tif (!selectedEntry) {\n\t\t\tthrow new Error(\"Invalid entry ID for forking\");\n\t\t}\n\n\t\tif (position === \"at\") {\n\t\t\ttargetLeafId = selectedEntry.id;\n\t\t} else {\n\t\t\tif (selectedEntry.type !== \"message\" || selectedEntry.message.role !== \"user\") {\n\t\t\t\tthrow new Error(\"Invalid entry ID for forking\");\n\t\t\t}\n\t\t\ttargetLeafId = selectedEntry.parentId;\n\t\t\tselectedText = extractUserMessageText(selectedEntry.message.content);\n\t\t}\n\n\t\tconst previousSessionFile = this.session.sessionFile;\n\t\tif (this.session.sessionManager.isPersisted()) {\n\t\t\tconst currentSessionFile = this.session.sessionFile;\n\t\t\tif (!currentSessionFile) {\n\t\t\t\tthrow new Error(\"Persisted session is missing a session file\");\n\t\t\t}\n\t\t\tconst sessionDir = this.session.sessionManager.getSessionDir();\n\t\t\tif (!targetLeafId) {\n\t\t\t\tconst sessionManager = SessionManager.create(this.cwd, sessionDir);\n\t\t\t\tsessionManager.newSession({ parentSession: currentSessionFile });\n\t\t\t\tawait this.teardownCurrent(\"fork\", sessionManager.getSessionFile());\n\t\t\t\tawait this.apply(\n\t\t\t\t\tawait this.createRuntime({\n\t\t\t\t\t\tcwd: this.cwd,\n\t\t\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\t\t\tsessionManager,\n\t\t\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"fork\", previousSessionFile },\n\t\t\t\t\t\tlaunchProfile: this._launchProfile,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t\tawait this.finishSessionReplacement(options?.withSession);\n\t\t\t\treturn { cancelled: false, selectedText };\n\t\t\t}\n\n\t\t\tif (!existsSync(currentSessionFile)) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"This session has not been saved yet. Wait for the first assistant response before cloning or forking it.\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst sessionManager = SessionManager.open(currentSessionFile, sessionDir);\n\t\t\tconst forkedSessionPath = sessionManager.createBranchedSession(targetLeafId);\n\t\t\tif (!forkedSessionPath) {\n\t\t\t\tthrow new Error(\"Failed to create forked session\");\n\t\t\t}\n\t\t\tawait this.teardownCurrent(\"fork\", sessionManager.getSessionFile());\n\t\t\tawait this.apply(\n\t\t\t\tawait this.createRuntime({\n\t\t\t\t\tcwd: sessionManager.getCwd(),\n\t\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\t\tsessionManager,\n\t\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"fork\", previousSessionFile },\n\t\t\t\t\tlaunchProfile: this._launchProfile,\n\t\t\t\t}),\n\t\t\t);\n\t\t\tawait this.finishSessionReplacement(options?.withSession);\n\t\t\treturn { cancelled: false, selectedText };\n\t\t}\n\n\t\tconst sessionManager = this.session.sessionManager;\n\t\tawait this.teardownCurrent(\"fork\", sessionManager.getSessionFile());\n\t\tif (!targetLeafId) {\n\t\t\tsessionManager.newSession({ parentSession: previousSessionFile });\n\t\t} else {\n\t\t\tsessionManager.createBranchedSession(targetLeafId);\n\t\t}\n\t\tawait this.apply(\n\t\t\tawait this.createRuntime({\n\t\t\t\tcwd: this.cwd,\n\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\tsessionManager,\n\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"fork\", previousSessionFile },\n\t\t\t\tlaunchProfile: this._launchProfile,\n\t\t\t}),\n\t\t);\n\t\tawait this.finishSessionReplacement(options?.withSession);\n\t\treturn { cancelled: false, selectedText };\n\t}\n\n\t/**\n\t * Import a session JSONL file and switch runtime state to the imported session.\n\t *\n\t * @returns `{ cancelled: true }` when cancelled by `session_before_switch`, otherwise `{ cancelled: false }`.\n\t * @throws {SessionImportFileNotFoundError} When the input path does not exist.\n\t * @throws {MissingSessionCwdError} When the imported session cwd cannot be resolved and no override is provided.\n\t */\n\tasync importFromJsonl(inputPath: string, cwdOverride?: string): Promise<{ cancelled: boolean }> {\n\t\tconst resolvedPath = resolvePath(inputPath);\n\t\tif (!existsSync(resolvedPath)) {\n\t\t\tthrow new SessionImportFileNotFoundError(resolvedPath);\n\t\t}\n\n\t\tconst sessionDir = this.session.sessionManager.getSessionDir();\n\t\tif (!existsSync(sessionDir)) {\n\t\t\tmkdirSync(sessionDir, { recursive: true });\n\t\t}\n\n\t\tconst destinationPath = join(sessionDir, basename(resolvedPath));\n\t\tconst beforeResult = await this.emitBeforeSwitch(\"resume\", destinationPath);\n\t\tif (beforeResult.cancelled) {\n\t\t\treturn beforeResult;\n\t\t}\n\n\t\tconst previousSessionFile = this.session.sessionFile;\n\t\treserveSessionWrite(destinationPath);\n\t\tif (resolve(destinationPath) !== resolvedPath) {\n\t\t\tcopyFileSync(resolvedPath, destinationPath);\n\t\t}\n\n\t\tconst sessionManager = SessionManager.open(destinationPath, sessionDir, cwdOverride);\n\t\tassertSessionCwdExists(sessionManager, this.cwd);\n\t\tawait this.teardownCurrent(\"resume\", sessionManager.getSessionFile());\n\t\tawait this.apply(\n\t\t\tawait this.createRuntime({\n\t\t\t\tcwd: sessionManager.getCwd(),\n\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\tsessionManager,\n\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"resume\", previousSessionFile },\n\t\t\t\tlaunchProfile: this._launchProfile,\n\t\t\t}),\n\t\t);\n\t\tawait this.finishSessionReplacement();\n\t\treturn { cancelled: false };\n\t}\n\n\tasync dispose(): Promise<void> {\n\t\tawait emitSessionShutdownEvent(this.session.extensionRunner, {\n\t\t\ttype: \"session_shutdown\",\n\t\t\treason: \"quit\",\n\t\t});\n\t\tthis.beforeSessionInvalidate?.();\n\t\tthis.session.dispose();\n\t}\n}\n\n/**\n * Create the initial runtime from a runtime factory and initial session target.\n *\n * The same factory is stored on the returned AgentSessionRuntime and reused for\n * later /new, /resume, /fork, and import flows.\n */\nexport async function createAgentSessionRuntime(\n\tcreateRuntime: CreateAgentSessionRuntimeFactory,\n\toptions: {\n\t\tcwd: string;\n\t\tagentDir: string;\n\t\tsessionManager: SessionManager;\n\t\tsessionStartEvent?: SessionStartEvent;\n\t\tlaunchProfile?: Readonly<AgentSessionLaunchProfile>;\n\t},\n): Promise<AgentSessionRuntime> {\n\tassertSessionCwdExists(options.sessionManager, options.cwd);\n\tconst result = await createRuntime(options);\n\treturn new AgentSessionRuntime(\n\t\tresult.session,\n\t\tresult.services,\n\t\tcreateRuntime,\n\t\tresult.diagnostics,\n\t\tresult.modelFallbackMessage,\n\t\toptions.launchProfile,\n\t);\n}\n\nexport {\n\ttype AgentSessionRuntimeDiagnostic,\n\ttype AgentSessionServices,\n\ttype CreateAgentSessionFromServicesOptions,\n\ttype CreateAgentSessionServicesOptions,\n\tcreateAgentSessionFromServices,\n\tcreateAgentSessionServices,\n} from \"./agent-session-services.ts\";\n"]}
1
+ {"version":3,"file":"agent-session-runtime.js","sourceRoot":"","sources":["../../src/core/agent-session-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import { copyFileSync, existsSync, mkdirSync } from \"node:fs\";\nimport { basename, join, resolve } from \"node:path\";\nimport { resolvePath } from \"../utils/paths.ts\";\nimport type { AgentSession } from \"./agent-session.ts\";\nimport type { AgentSessionRuntimeDiagnostic, AgentSessionServices } from \"./agent-session-services.ts\";\nimport type {\n\tProjectTrustContext,\n\tReplacedSessionContext,\n\tSessionShutdownEvent,\n\tSessionStartEvent,\n} from \"./extensions/index.ts\";\nimport { type ExtensionRunner, emitSessionShutdownEvent } from \"./extensions/runner.ts\";\nimport type { CreateAgentSessionResult } from \"./sdk.ts\";\nimport { assertSessionCwdExists } from \"./session-cwd.ts\";\nimport { SessionManager } from \"./session-manager.ts\";\nimport { reserveSessionWrite } from \"./session-write-reservation.ts\";\n\n/**\n * Result returned by runtime creation.\n *\n * The caller gets the created session, its cwd-bound services, and all\n * diagnostics collected during setup.\n */\nexport interface CreateAgentSessionRuntimeResult extends CreateAgentSessionResult {\n\tservices: AgentSessionServices;\n\tdiagnostics: AgentSessionRuntimeDiagnostic[];\n}\n\n/** Immutable flags selected when a runtime is first launched. */\nexport interface AgentSessionLaunchProfile {\n\tcwd: string;\n\tpermissionPreset?: string;\n\tcreationModel?: { provider: string; modelId: string };\n\tinitialThinkingLevel?: string;\n}\n\n/**\n * Creates a full runtime for a target cwd and session manager.\n *\n * The factory closes over process-global fixed inputs, recreates cwd-bound\n * services for the effective cwd, resolves session options against those\n * services, and finally creates the AgentSession.\n */\nexport type CreateAgentSessionRuntimeFactory = (options: {\n\tcwd: string;\n\tagentDir: string;\n\tsessionManager: SessionManager;\n\tsessionStartEvent?: SessionStartEvent;\n\tprojectTrustContext?: ProjectTrustContext;\n\tlaunchProfile?: Readonly<AgentSessionLaunchProfile>;\n}) => Promise<CreateAgentSessionRuntimeResult>;\n\n/**\n * Thrown when /import references a JSONL file path that does not exist.\n */\nexport class SessionImportFileNotFoundError extends Error {\n\treadonly filePath: string;\n\n\tconstructor(filePath: string) {\n\t\tsuper(`File not found: ${filePath}`);\n\t\tthis.name = \"SessionImportFileNotFoundError\";\n\t\tthis.filePath = filePath;\n\t}\n}\n\nfunction extractUserMessageText(content: string | Array<{ type: string; text?: string }>): string {\n\tif (typeof content === \"string\") {\n\t\treturn content;\n\t}\n\n\treturn content\n\t\t.filter((part): part is { type: \"text\"; text: string } => part.type === \"text\" && typeof part.text === \"string\")\n\t\t.map((part) => part.text)\n\t\t.join(\"\");\n}\n\n/**\n * Owns the current AgentSession plus its cwd-bound services.\n *\n * Session replacement methods tear down the current runtime first, then create\n * and apply the next runtime. If creation fails, the error is propagated to the\n * caller. The caller is responsible for user-facing error handling.\n */\nexport class AgentSessionRuntime {\n\tprivate rebindSession?: (session: AgentSession) => Promise<void>;\n\tprivate beforeSessionInvalidate?: () => void;\n\tprivate _session: AgentSession;\n\tprivate _services: AgentSessionServices;\n\tprivate readonly createRuntime: CreateAgentSessionRuntimeFactory;\n\tprivate _diagnostics: AgentSessionRuntimeDiagnostic[];\n\tprivate _modelFallbackMessage?: string;\n\tprivate readonly _launchProfile?: Readonly<AgentSessionLaunchProfile>;\n\tprivate _removedOnReplacement?: {\n\t\toldRunner: ExtensionRunner;\n\t\toldIdentities: Array<{ path: string; resolvedPath: string }>;\n\t\treason: SessionShutdownEvent[\"reason\"];\n\t};\n\n\tconstructor(\n\t\t_session: AgentSession,\n\t\t_services: AgentSessionServices,\n\t\tcreateRuntime: CreateAgentSessionRuntimeFactory,\n\t\t_diagnostics: AgentSessionRuntimeDiagnostic[] = [],\n\t\t_modelFallbackMessage?: string,\n\t\tlaunchProfile?: Readonly<AgentSessionLaunchProfile>,\n\t) {\n\t\tthis._session = _session;\n\t\tthis._services = _services;\n\t\tthis.createRuntime = createRuntime;\n\t\tthis._diagnostics = _diagnostics;\n\t\tthis._modelFallbackMessage = _modelFallbackMessage;\n\t\tthis._launchProfile = launchProfile;\n\t}\n\n\tget services(): AgentSessionServices {\n\t\treturn this._services;\n\t}\n\n\tget session(): AgentSession {\n\t\treturn this._session;\n\t}\n\n\tget cwd(): string {\n\t\treturn this._services.cwd;\n\t}\n\n\tget diagnostics(): readonly AgentSessionRuntimeDiagnostic[] {\n\t\treturn this._diagnostics;\n\t}\n\n\tget modelFallbackMessage(): string | undefined {\n\t\treturn this._modelFallbackMessage;\n\t}\n\n\tget launchProfile(): Readonly<AgentSessionLaunchProfile> | undefined {\n\t\treturn this._launchProfile;\n\t}\n\n\tsetRebindSession(rebindSession?: (session: AgentSession) => Promise<void>): void {\n\t\tthis.rebindSession = rebindSession;\n\t}\n\n\t/**\n\t * Set a synchronous callback that runs after `session_shutdown` handlers finish\n\t * but before the current session is invalidated.\n\t *\n\t * This is for host-owned UI teardown that must not yield to the event loop,\n\t * such as detaching extension-provided TUI components before the old extension\n\t * context becomes stale.\n\t */\n\tsetBeforeSessionInvalidate(beforeSessionInvalidate?: () => void): void {\n\t\tthis.beforeSessionInvalidate = beforeSessionInvalidate;\n\t}\n\n\tprivate async emitBeforeSwitch(\n\t\treason: \"new\" | \"resume\",\n\t\ttargetSessionFile?: string,\n\t): Promise<{ cancelled: boolean }> {\n\t\tconst runner = this.session.extensionRunner;\n\t\tif (!runner.hasHandlers(\"session_before_switch\")) {\n\t\t\treturn { cancelled: false };\n\t\t}\n\n\t\tconst result = await runner.emit({\n\t\t\ttype: \"session_before_switch\",\n\t\t\treason,\n\t\t\ttargetSessionFile,\n\t\t});\n\t\treturn { cancelled: result?.cancel === true };\n\t}\n\n\tprivate async emitBeforeFork(\n\t\tentryId: string,\n\t\toptions: { position: \"before\" | \"at\" },\n\t): Promise<{ cancelled: boolean }> {\n\t\tconst runner = this.session.extensionRunner;\n\t\tif (!runner.hasHandlers(\"session_before_fork\")) {\n\t\t\treturn { cancelled: false };\n\t\t}\n\n\t\tconst result = await runner.emit({\n\t\t\ttype: \"session_before_fork\",\n\t\t\tentryId,\n\t\t\t...options,\n\t\t});\n\t\treturn { cancelled: result?.cancel === true };\n\t}\n\n\tprivate async teardownCurrent(reason: SessionShutdownEvent[\"reason\"], targetSessionFile?: string): Promise<void> {\n\t\t// Settle the active response before replacement so the outgoing turn and\n\t\t// any completed tool results are persisted to the old session.\n\t\tawait this.session.abort();\n\t\tconst oldRunner = this.session.extensionRunner;\n\t\t// Test hosts and partial runner implementations may lack identity introspection;\n\t\t// skip removal reporting there rather than break the replacement itself.\n\t\tif (typeof oldRunner.getExtensionIdentities === \"function\") {\n\t\t\tthis._removedOnReplacement = {\n\t\t\t\toldRunner,\n\t\t\t\toldIdentities: oldRunner.getExtensionIdentities(),\n\t\t\t\treason,\n\t\t\t};\n\t\t}\n\t\tawait emitSessionShutdownEvent(oldRunner, {\n\t\t\ttype: \"session_shutdown\",\n\t\t\treason,\n\t\t\ttargetSessionFile,\n\t\t});\n\t\tthis.beforeSessionInvalidate?.();\n\t\tthis.session.dispose();\n\t}\n\n\tprivate async reportRemovedExtensions(): Promise<void> {\n\t\tconst pending = this._removedOnReplacement;\n\t\tthis._removedOnReplacement = undefined;\n\t\tif (!pending) return;\n\t\tconst newRunner = this.session.extensionRunner;\n\t\tif (typeof newRunner.getExtensionIdentities !== \"function\") return;\n\t\tconst newResolvedPaths = new Set(newRunner.getExtensionIdentities().map((extension) => extension.resolvedPath));\n\t\tconst removed = pending.oldIdentities.filter((extension) => !newResolvedPaths.has(extension.resolvedPath));\n\t\tif (removed.length === 0) return;\n\t\tawait pending.oldRunner.emit({ type: \"session_extensions_removed\", reason: pending.reason, removed });\n\t}\n\n\tprivate async apply(result: CreateAgentSessionRuntimeResult): Promise<void> {\n\t\tthis._session = result.session;\n\t\tthis._services = result.services;\n\t\tthis._diagnostics = result.diagnostics;\n\t\tthis._modelFallbackMessage = result.modelFallbackMessage;\n\t\tawait this.reportRemovedExtensions();\n\t}\n\n\tprivate async finishSessionReplacement(withSession?: (ctx: ReplacedSessionContext) => Promise<void>): Promise<void> {\n\t\tif (this.rebindSession) {\n\t\t\tawait this.rebindSession(this.session);\n\t\t}\n\t\tif (withSession) {\n\t\t\tawait withSession(this.session.createReplacedSessionContext());\n\t\t}\n\t}\n\n\tasync switchSession(\n\t\tsessionPath: string,\n\t\toptions?: {\n\t\t\tcwdOverride?: string;\n\t\t\twithSession?: (ctx: ReplacedSessionContext) => Promise<void>;\n\t\t\tprojectTrustContextFactory?: (cwd: string) => ProjectTrustContext;\n\t\t},\n\t): Promise<{ cancelled: boolean }> {\n\t\tconst beforeResult = await this.emitBeforeSwitch(\"resume\", sessionPath);\n\t\tif (beforeResult.cancelled) {\n\t\t\treturn beforeResult;\n\t\t}\n\n\t\tconst previousSessionFile = this.session.sessionFile;\n\t\tconst sessionManager = SessionManager.open(sessionPath, undefined, options?.cwdOverride);\n\t\tassertSessionCwdExists(sessionManager, this.cwd);\n\t\tawait this.teardownCurrent(\"resume\", sessionManager.getSessionFile());\n\t\tawait this.apply(\n\t\t\tawait this.createRuntime({\n\t\t\t\tcwd: sessionManager.getCwd(),\n\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\tsessionManager,\n\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"resume\", previousSessionFile },\n\t\t\t\tprojectTrustContext: options?.projectTrustContextFactory?.(sessionManager.getCwd()),\n\t\t\t\tlaunchProfile: this._launchProfile,\n\t\t\t}),\n\t\t);\n\t\tawait this.finishSessionReplacement(options?.withSession);\n\t\treturn { cancelled: false };\n\t}\n\n\tasync newSession(options?: {\n\t\tparentSession?: string;\n\t\tsetup?: (sessionManager: SessionManager) => Promise<void>;\n\t\twithSession?: (ctx: ReplacedSessionContext) => Promise<void>;\n\t}): Promise<{ cancelled: boolean }> {\n\t\tconst beforeResult = await this.emitBeforeSwitch(\"new\");\n\t\tif (beforeResult.cancelled) {\n\t\t\treturn beforeResult;\n\t\t}\n\n\t\tconst previousSessionFile = this.session.sessionFile;\n\t\tconst sessionDir = this.session.sessionManager.getSessionDir();\n\t\tconst sessionManager = this.session.sessionManager.isPersisted()\n\t\t\t? SessionManager.create(this.cwd, sessionDir)\n\t\t\t: SessionManager.inMemory(this.cwd);\n\t\tif (options?.parentSession) {\n\t\t\tsessionManager.newSession({ parentSession: options.parentSession });\n\t\t}\n\n\t\tawait this.teardownCurrent(\"new\", sessionManager.getSessionFile());\n\t\tawait this.apply(\n\t\t\tawait this.createRuntime({\n\t\t\t\tcwd: this.cwd,\n\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\tsessionManager,\n\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"new\", previousSessionFile },\n\t\t\t\tlaunchProfile: this._launchProfile,\n\t\t\t}),\n\t\t);\n\t\tif (options?.setup) {\n\t\t\tawait options.setup(this.session.sessionManager);\n\t\t\tthis.session.agent.state.messages = this.session.sessionManager.buildSessionContext().messages;\n\t\t}\n\t\tawait this.finishSessionReplacement(options?.withSession);\n\t\treturn { cancelled: false };\n\t}\n\n\tasync fork(\n\t\tentryId: string,\n\t\toptions?: { position?: \"before\" | \"at\"; withSession?: (ctx: ReplacedSessionContext) => Promise<void> },\n\t): Promise<{ cancelled: boolean; selectedText?: string }> {\n\t\tconst position = options?.position ?? \"before\";\n\t\tconst beforeResult = await this.emitBeforeFork(entryId, { position });\n\t\tif (beforeResult.cancelled) {\n\t\t\treturn { cancelled: true };\n\t\t}\n\t\tlet targetLeafId: string | null;\n\t\tlet selectedText: string | undefined;\n\n\t\tconst selectedEntry = this.session.sessionManager.getEntry(entryId);\n\t\tif (!selectedEntry) {\n\t\t\tthrow new Error(\"Invalid entry ID for forking\");\n\t\t}\n\n\t\tif (position === \"at\") {\n\t\t\ttargetLeafId = selectedEntry.id;\n\t\t} else {\n\t\t\tif (selectedEntry.type !== \"message\" || selectedEntry.message.role !== \"user\") {\n\t\t\t\tthrow new Error(\"Invalid entry ID for forking\");\n\t\t\t}\n\t\t\ttargetLeafId = selectedEntry.parentId;\n\t\t\tselectedText = extractUserMessageText(selectedEntry.message.content);\n\t\t}\n\n\t\tconst previousSessionFile = this.session.sessionFile;\n\t\tif (this.session.sessionManager.isPersisted()) {\n\t\t\tconst currentSessionFile = this.session.sessionFile;\n\t\t\tif (!currentSessionFile) {\n\t\t\t\tthrow new Error(\"Persisted session is missing a session file\");\n\t\t\t}\n\t\t\tconst sessionDir = this.session.sessionManager.getSessionDir();\n\t\t\tif (!targetLeafId) {\n\t\t\t\tconst sessionManager = SessionManager.create(this.cwd, sessionDir);\n\t\t\t\tsessionManager.newSession({ parentSession: currentSessionFile });\n\t\t\t\tawait this.teardownCurrent(\"fork\", sessionManager.getSessionFile());\n\t\t\t\tawait this.apply(\n\t\t\t\t\tawait this.createRuntime({\n\t\t\t\t\t\tcwd: this.cwd,\n\t\t\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\t\t\tsessionManager,\n\t\t\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"fork\", previousSessionFile },\n\t\t\t\t\t\tlaunchProfile: this._launchProfile,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t\tawait this.finishSessionReplacement(options?.withSession);\n\t\t\t\treturn { cancelled: false, selectedText };\n\t\t\t}\n\n\t\t\tif (!existsSync(currentSessionFile)) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"This session has not been saved yet. Wait for the first assistant response before cloning or forking it.\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst sessionManager = SessionManager.open(currentSessionFile, sessionDir);\n\t\t\tconst forkedSessionPath = sessionManager.createBranchedSession(targetLeafId);\n\t\t\tif (!forkedSessionPath) {\n\t\t\t\tthrow new Error(\"Failed to create forked session\");\n\t\t\t}\n\t\t\tawait this.teardownCurrent(\"fork\", sessionManager.getSessionFile());\n\t\t\tawait this.apply(\n\t\t\t\tawait this.createRuntime({\n\t\t\t\t\tcwd: sessionManager.getCwd(),\n\t\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\t\tsessionManager,\n\t\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"fork\", previousSessionFile },\n\t\t\t\t\tlaunchProfile: this._launchProfile,\n\t\t\t\t}),\n\t\t\t);\n\t\t\tawait this.finishSessionReplacement(options?.withSession);\n\t\t\treturn { cancelled: false, selectedText };\n\t\t}\n\n\t\tconst sessionManager = this.session.sessionManager;\n\t\tawait this.teardownCurrent(\"fork\", sessionManager.getSessionFile());\n\t\tif (!targetLeafId) {\n\t\t\tsessionManager.newSession({ parentSession: previousSessionFile });\n\t\t} else {\n\t\t\tsessionManager.createBranchedSession(targetLeafId);\n\t\t}\n\t\tawait this.apply(\n\t\t\tawait this.createRuntime({\n\t\t\t\tcwd: this.cwd,\n\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\tsessionManager,\n\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"fork\", previousSessionFile },\n\t\t\t\tlaunchProfile: this._launchProfile,\n\t\t\t}),\n\t\t);\n\t\tawait this.finishSessionReplacement(options?.withSession);\n\t\treturn { cancelled: false, selectedText };\n\t}\n\n\t/**\n\t * Import a session JSONL file and switch runtime state to the imported session.\n\t *\n\t * @returns `{ cancelled: true }` when cancelled by `session_before_switch`, otherwise `{ cancelled: false }`.\n\t * @throws {SessionImportFileNotFoundError} When the input path does not exist.\n\t * @throws {MissingSessionCwdError} When the imported session cwd cannot be resolved and no override is provided.\n\t */\n\tasync importFromJsonl(inputPath: string, cwdOverride?: string): Promise<{ cancelled: boolean }> {\n\t\tconst resolvedPath = resolvePath(inputPath);\n\t\tif (!existsSync(resolvedPath)) {\n\t\t\tthrow new SessionImportFileNotFoundError(resolvedPath);\n\t\t}\n\n\t\tconst sessionDir = this.session.sessionManager.getSessionDir();\n\t\tif (!existsSync(sessionDir)) {\n\t\t\tmkdirSync(sessionDir, { recursive: true });\n\t\t}\n\n\t\tconst destinationPath = join(sessionDir, basename(resolvedPath));\n\t\tconst beforeResult = await this.emitBeforeSwitch(\"resume\", destinationPath);\n\t\tif (beforeResult.cancelled) {\n\t\t\treturn beforeResult;\n\t\t}\n\n\t\tconst previousSessionFile = this.session.sessionFile;\n\t\treserveSessionWrite(destinationPath);\n\t\tif (resolve(destinationPath) !== resolvedPath) {\n\t\t\tcopyFileSync(resolvedPath, destinationPath);\n\t\t}\n\n\t\tconst sessionManager = SessionManager.open(destinationPath, sessionDir, cwdOverride);\n\t\tassertSessionCwdExists(sessionManager, this.cwd);\n\t\tawait this.teardownCurrent(\"resume\", sessionManager.getSessionFile());\n\t\tawait this.apply(\n\t\t\tawait this.createRuntime({\n\t\t\t\tcwd: sessionManager.getCwd(),\n\t\t\t\tagentDir: this.services.agentDir,\n\t\t\t\tsessionManager,\n\t\t\t\tsessionStartEvent: { type: \"session_start\", reason: \"resume\", previousSessionFile },\n\t\t\t\tlaunchProfile: this._launchProfile,\n\t\t\t}),\n\t\t);\n\t\tawait this.finishSessionReplacement();\n\t\treturn { cancelled: false };\n\t}\n\n\tasync dispose(): Promise<void> {\n\t\tawait emitSessionShutdownEvent(this.session.extensionRunner, {\n\t\t\ttype: \"session_shutdown\",\n\t\t\treason: \"quit\",\n\t\t});\n\t\tthis.beforeSessionInvalidate?.();\n\t\tthis.session.dispose();\n\t}\n}\n\n/**\n * Create the initial runtime from a runtime factory and initial session target.\n *\n * The same factory is stored on the returned AgentSessionRuntime and reused for\n * later /new, /resume, /fork, and import flows.\n */\nexport async function createAgentSessionRuntime(\n\tcreateRuntime: CreateAgentSessionRuntimeFactory,\n\toptions: {\n\t\tcwd: string;\n\t\tagentDir: string;\n\t\tsessionManager: SessionManager;\n\t\tsessionStartEvent?: SessionStartEvent;\n\t\tlaunchProfile?: Readonly<AgentSessionLaunchProfile>;\n\t},\n): Promise<AgentSessionRuntime> {\n\tassertSessionCwdExists(options.sessionManager, options.cwd);\n\tconst result = await createRuntime(options);\n\treturn new AgentSessionRuntime(\n\t\tresult.session,\n\t\tresult.services,\n\t\tcreateRuntime,\n\t\tresult.diagnostics,\n\t\tresult.modelFallbackMessage,\n\t\toptions.launchProfile,\n\t);\n}\n\nexport {\n\ttype AgentSessionRuntimeDiagnostic,\n\ttype AgentSessionServices,\n\ttype CreateAgentSessionFromServicesOptions,\n\ttype CreateAgentSessionServicesOptions,\n\tcreateAgentSessionFromServices,\n\tcreateAgentSessionServices,\n} from \"./agent-session-services.ts\";\n"]}
@@ -14,7 +14,7 @@
14
14
  */
15
15
  import type { Agent, AgentEvent, AgentMessage, AgentState, AgentTool, AgentToolCall, AgentToolResult, ThinkingLevel } from "@earendil-works/pi-agent-core";
16
16
  import { type ThinkingSelection } from "@earendil-works/pi-ai";
17
- import type { Api, ImageContent, Model, TextContent } from "@earendil-works/pi-ai/compat";
17
+ import type { Api, ImageContent, Message, Model, TextContent } from "@earendil-works/pi-ai/compat";
18
18
  import { type AgentAbortSource } from "./agent-abort-provenance.ts";
19
19
  import { type DeferredTurnClaim } from "./agent-settled-delivery.ts";
20
20
  import { type BashResult } from "./bash-executor.ts";
@@ -429,11 +429,13 @@ export interface SessionStats {
429
429
  }
430
430
  /** Caps explicit skill expansion so one prompt cannot consume unbounded context. */
431
431
  export declare const MAX_SKILL_EXPANSIONS_PER_PROMPT = 5;
432
- /**
433
- * Cursor admission lives in its own module; the names stay exported here so
434
- * existing importers keep resolving them.
435
- */
436
- export { CURSOR_TOOL_RESULT_MAX_CHARS, truncateToolResultBodies } from "./cursor-history-admission.ts";
432
+ /** Cursor ingest rejects large verbatim tool payloads. The bound is UTF-8 bytes. */
433
+ export declare const CURSOR_TOOL_RESULT_MAX_CHARS = 2000;
434
+ export declare const CURSOR_TOOL_RESULT_MAX_BYTES = 50000;
435
+ export declare function truncateToolResultBodies(messages: AgentMessage[] | undefined, maxChars?: number, maxBytes?: number, convert?: (candidate: AgentMessage[]) => Message[]): {
436
+ messages: AgentMessage[] | undefined;
437
+ changed: boolean;
438
+ };
437
439
  export declare function providerRetryWatchdogAbortMessage(retryTimeoutMs: number | undefined, streamStartTimeoutMs: number | undefined): string;
438
440
  export declare class AgentSession {
439
441
  readonly agent: Agent;
@@ -625,13 +627,6 @@ export declare class AgentSession {
625
627
  waitForEventQueue?: boolean;
626
628
  }): Promise<import("./extensions/types.ts").ToolCallEventResult | undefined>;
627
629
  private _emitAfterToolCallHooks;
628
- /**
629
- * Cursor states a model's real context ceiling on every conversation
630
- * checkpoint. Once observed, it replaces the catalog guess on the live model
631
- * so context usage, compaction thresholds and admission all size against the
632
- * window the server will actually enforce.
633
- */
634
- private _applyObservedCursorContextWindow;
635
630
  private _installAgentNextTurnRefresh;
636
631
  /** Emit an event to all listeners */
637
632
  private _emitEntryAppended;
@@ -1483,4 +1478,5 @@ export declare class AgentSession {
1483
1478
  */
1484
1479
  get extensionRunner(): ExtensionRunner;
1485
1480
  }
1481
+ export {};
1486
1482
  //# sourceMappingURL=agent-session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../src/core/agent-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../src/core/agent-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,OAAO,KAAK,EACX,KAAK,EAEL,UAAU,EACV,YAAY,EACZ,UAAU,EACV,SAAS,EACT,aAAa,EACb,eAAe,EAIf,aAAa,EACb,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAKN,KAAK,iBAAiB,EACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACX,GAAG,EAIH,YAAY,EACZ,OAAO,EACP,KAAK,EAGL,WAAW,EAEX,MAAM,8BAA8B,CAAC;AA2BtC,OAAO,EAAwB,KAAK,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAGN,KAAK,iBAAiB,EACtB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,KAAK,UAAU,EAA6B,MAAM,oBAAoB,CAAC;AAEhF,OAAO,EAGN,KAAK,gBAAgB,EAUrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAkC,KAAK,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAgB1G,OAAO,EACN,KAAK,uBAAuB,EAE5B,KAAK,8BAA8B,EAEnC,MAAM,2DAA2D,CAAC;AAUnE,OAAO,EAGN,KAAK,eAAe,EAEpB,MAAM,iDAAiD,CAAC;AAEzD,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAG7F,OAAO,EACN,KAAK,YAAY,EAEjB,KAAK,kBAAkB,EACvB,KAAK,8BAA8B,EACnC,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,eAAe,EACf,KAAK,+BAA+B,EACpC,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAIhB,KAAK,sBAAsB,EAI3B,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EAInB,KAAK,QAAQ,EAKb,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EACX,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,wBAAwB,EAExB,iBAAiB,EACjB,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,EAEN,KAAK,aAAa,EAGlB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAoC,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE9F,OAAO,KAAK,EAA0B,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAgBnF,OAAO,EAAyB,KAAK,uBAAuB,EAAqB,MAAM,uBAAuB,CAAC;AAE/G,OAAO,KAAK,EAAE,kBAAkB,EAAmB,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAS9G,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEtF,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9E,OAAO,EAAE,KAAK,cAAc,EAA6B,MAAM,iBAAiB,CAAC;AAuBjF,MAAM,WAAW,0BAA0B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACb;AAED,qFAAqF;AACrF,wBAAgB,2BAA2B,CAC1C,MAAM,EAAE,SAAS,0BAA0B,EAAE,EAC7C,WAAW,CAAC,EAAE,MAAM,GAClB,MAAM,CASR;AAED,6CAA6C;AAC7C,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAgCrE;AAED,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEvD,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC/B,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,qBAAqB,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC/B;AAED,eAAO,MAAM,sCAAsC,KAAK,CAAC;AAKzD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAqC/E;AAmCD,8DAA8D;AAC9D,KAAK,yBAAyB,GAAG,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC,GAAG;IAC7E,SAAS,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAC1B,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC,GAC1C,yBAAyB,GACzB;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IACA,IAAI,EAAE,4BAA4B,CAAC;IACnC,UAAU,EAAE,8BAA8B,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC;CACd,GACD;IACA,IAAI,EAAE,wBAAwB,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CACd,GACD;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACpD;IACA,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,SAAS;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,qBAAqB,CAAC;KAC9B,EAAE,CAAC;CACH,GACD;IACA,IAAI,EAAE,oBAAoB,CAAC;IAC3B,OAAO,EAAE,iBAAiB,CAAC;CAC1B,GACD;IACA,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,OAAO,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACtF,GACD;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1E;IACA,IAAI,EAAE,qBAAqB,CAAC;IAC5B,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACb,GACD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC1D,+BAA+B,GAC/B,uBAAuB,GACvB;IAAE,IAAI,EAAE,wBAAwB,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,GACxD;IACA,IAAI,EAAE,wBAAwB,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;CAC5B,GACD,CAAC;IAAE,IAAI,EAAE,0BAA0B,CAAA;CAAE,GAAG,uBAAuB,CAAC;AAClE,oFAAoF;GAClF;IACA,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,iBAAiB,CAAC;CACzB;AACH,8EAA8E;GAC5E;IACA,IAAI,EAAE,uBAAuB,CAAC;IAC9B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC5B,GACD;IACA,IAAI,EAAE,sBAAsB,CAAC;IAC7B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC;CACjC;AACH,yDAAyD;GACvD;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,IAAI,CAAC,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GACvE;IACA,IAAI,EAAE,0BAA0B,CAAC;IACjC,YAAY,EAAE,KAAK,GAAG,eAAe,CAAC;IACtC,YAAY,EAAE,KAAK,GAAG,eAAe,CAAC;IACtC,qBAAqB,EAAE,OAAO,CAAC;CAC9B,GACD;IACA,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,wBAAwB,CAAC;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;CACrB,GACD;IACA,IAAI,EAAE,kBAAkB,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACpB,GACD;IACA,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACnB,GACD;IACA,IAAI,EAAE,wBAAwB,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAAC;CAC1D,GACD;IAAE,IAAI,EAAE,0BAA0B,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACrE;IAAE,IAAI,EAAE,yBAAyB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,0BAA0B,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACzE;IACA,IAAI,EAAE,yBAAyB,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,OAAO,CAAC;CACxB,GAKD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACzD;IACA,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CACd,GACD;IACA,IAAI,EAAE,+BAA+B,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACpB,GACD;IAAE,IAAI,EAAE,mCAAmC,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,GACtE;IACA,IAAI,EAAE,mCAAmC,CAAC;IAC1C,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,gBAAgB,CAAC;CACxB,GACD;IAAE,IAAI,EAAE,8BAA8B,CAAA;CAAE,GACxC;IACA,IAAI,EAAE,uBAAuB,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;CACjB,GACD;IACA,IAAI,EAAE,oBAAoB,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,OAAO,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;CACrB,GACD;IAAE,IAAI,EAAE,uBAAuB,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjE,iDAAiD;AACjD,MAAM,MAAM,yBAAyB,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAY3E,MAAM,WAAW,kBAAkB;IAClC,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,eAAe,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,MAAM,CAAC;IAC3B,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,MAAM,CAAC;IAC3B,oGAAoG;IACpG,YAAY,CAAC,EAAE,KAAK,CAAC;QACpB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAClB,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;QACtC,WAAW,CAAC,EAAE,WAAW,CAAC;KAC1B,CAAC,CAAC;IACH,mDAAmD;IACnD,cAAc,CAAC,EAAE,KAAK,CAAC;QACtB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAClB,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;QACtC,WAAW,CAAC,EAAE,WAAW,CAAC;KAC1B,CAAC,CAAC;IACH,gGAAgG;IAChG,cAAc,EAAE,cAAc,CAAC;IAC/B,qDAAqD;IACrD,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,mEAAmE;IACnE,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,qEAAqE;IACrE,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,6EAA6E;IAC7E,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,sGAAsG;IACtG,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,+EAA+E;IAC/E,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,0FAA0F;IAC1F,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,wFAAwF;IACxF,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9C,sEAAsE;IACtE,kBAAkB,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,eAAe,CAAA;KAAE,CAAC;IACnD,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,KAAK,iBAAiB,GAAG;IACxB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC1B,CAAC;AAuIF,MAAM,WAAW,iBAAiB;IACjC,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,qBAAqB,CAAC,EAAE,8BAA8B,CAAC;IACvD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,OAAO,CAAC,EAAE,sBAAsB,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0GAA0G;IAC1G,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,0EAA0E;IAC1E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wCAAwC;AACxC,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEjE,MAAM,MAAM,WAAW,GAAG;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,qEAAqE;IACrE,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;CACzC,CAAC;AAEF,MAAM,WAAW,aAAa;IAC7B,4GAA4G;IAC5G,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,wBAAwB;IACxB,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IACxB,iHAAiH;IACjH,iBAAiB,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IACzC,uEAAuE;IACvE,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,qFAAqF;IACrF,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,0FAA0F;IAC1F,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,yFAAyF;IACzF,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC7D,kGAAkG;IAClG,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,yHAAyH;IACzH,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACpC;AAED,+BAA+B;AAC/B,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,aAAa,EAAE,aAAa,CAAC;IAC7B,8DAA8D;IAC9D,QAAQ,EAAE,OAAO,CAAC;IAClB,sFAAsF;IACtF,aAAa,EAAE,SAAS,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;IACrC,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,uBAAuB,CAAC;CAC7C;AAED,8CAA8C;AAC9C,MAAM,WAAW,YAAY;IAC5B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,YAAY,CAAC;CAC5B;AAgCD,oFAAoF;AACpF,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAEjD,oFAAoF;AACpF,eAAO,MAAM,4BAA4B,OAAO,CAAC;AACjD,eAAO,MAAM,4BAA4B,QAAS,CAAC;AAGnD,wBAAgB,wBAAwB,CACvC,QAAQ,EAAE,YAAY,EAAE,GAAG,SAAS,EACpC,QAAQ,SAA+B,EACvC,QAAQ,SAA+B,EACvC,OAAO,eAAe,YAAY,EAAE,cAA4B,GAC9D;IAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAwG5D;AAMD,wBAAgB,iCAAiC,CAChD,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,oBAAoB,EAAE,MAAM,GAAG,SAAS,GACtC,MAAM,CAOR;AAED,qBAAa,YAAY;IACxB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAE1C,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,eAAe,CAAsB;IAG7C,OAAO,CAAC,iBAAiB,CAAC,CAAa;IACvC,OAAO,CAAC,0BAA0B,CAAC,CAAa;IAChD,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,gBAAgB,CAAoC;IAC5D;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAA2B;IAC3E,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,gBAAgB,CAA2B;IACnD,OAAO,CAAC,gBAAgB,CAAK;IAE7B,+EAA+E;IAC/E,OAAO,CAAC,iBAAiB,CAAgB;IACzC,gFAAgF;IAChF,OAAO,CAAC,iBAAiB,CAAgB;IACzC,uFAAuF;IACvF,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,2BAA2B,CAEtB;IACb,OAAO,CAAC,QAAQ,CAAC,kCAAkC,CAAqB;IACxE,sFAAsF;IACtF,OAAO,CAAC,wBAAwB,CAAuB;IACvD,OAAO,CAAC,sBAAsB,CAAuB;IAIrD,OAAO,CAAC,uCAAuC,CAAsB;IACrE,OAAO,CAAC,uCAAuC,CAAsB;IAGrE,OAAO,CAAC,0BAA0B,CAA0C;IAC5E,OAAO,CAAC,8BAA8B,CAA0C;IAChF,OAAO,CAAC,2BAA2B,CAAqD;IACxF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAwC;IAC7E,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA4B;IAChE;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2B;IACxD,OAAO,CAAC,uBAAuB,CAA2B;IAC1D,OAAO,CAAC,0BAA0B,CAAS;IAC3C,OAAO,CAAC,8BAA8B,CAAsB;IAC5D,OAAO,CAAC,0BAA0B,CAAS;IAC3C,OAAO,CAAC,iCAAiC,CAAsC;IAI/E,OAAO,CAAC,4BAA4B,CAAsC;IAC1E,OAAO,CAAC,4BAA4B,CAA0C;IAC9E,OAAO,CAAC,YAAY,CAA8B;IAGlD,OAAO,CAAC,iCAAiC,CAAS;IAClD;;;;;;OAMG;IACH,OAAO,CAAC,+BAA+B,CAAqE;IAC5G,OAAO,CAAC,uBAAuB,CAA+C;IAC9E,OAAO,CAAC,qCAAqC,CAAS;IACtD,OAAO,CAAC,iCAAiC,CAAS;IAClD,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAmC;IAClF,OAAO,CAAC,QAAQ,CAAC,oCAAoC,CAAmC;IACxF,OAAO,CAAC,gBAAgB,CAAK;IAG7B,OAAO,CAAC,6BAA6B,CAA0C;IAE/E,OAAO,CAAC,4BAA4B,CAA0C;IAC9E,OAAO,CAAC,oBAAoB,CAAwC;IACpE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAG7C,OAAO,CAAC,qBAAqB,CAA0C;IACvE,OAAO,CAAC,aAAa,CAAK;IAE1B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,eAAe,CAAiC;IACxD,OAAO,CAAC,uBAAuB,CAAK;IACpC,OAAO,CAAC,aAAa,CAAwC;IAC7D,OAAO,CAAC,aAAa,CAAuC;IAC5D,OAAO,CAAC,iBAAiB,CAAwC;IACjE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA8B;IAC/D,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA8B;IACpE,OAAO,CAAC,yCAAyC,CAAS;IAC1D,OAAO,CAAC,oBAAoB,CAAK;IACjC,+FAA+F;IAC/F,OAAO,CAAC,yBAAyB,CAAS;IAC1C,OAAO,CAAC,qBAAqB,CAAsC;IAGnE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA8B;IACpE,OAAO,CAAC,oBAAoB,CAA8B;IAG1D,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,UAAU,CAAK;IAEvB,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,oBAAoB,CAA0C;IACtE,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,mBAAmB,CAAC,CAAgC;IAC5D,OAAO,CAAC,uBAAuB,CAAC,CAAW;IAC3C,OAAO,CAAC,iBAAiB,CAAC,CAAc;IACxC,OAAO,CAAC,kBAAkB,CAAC,CAAsB;IACjD,4FAA4F;IAC5F,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAsB;IAClE,6FAA6F;IAC7F,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAqB;IAChE,2FAA2F;IAC3F,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAqB;IACjE,iFAAiF;IACjF,OAAO,CAAC,yBAAyB,CAAC,CAAW;IAC7C,OAAO,CAAC,iBAAiB,CAAC,CAAc;IACxC,OAAO,CAAC,kBAAkB,CAAC,CAAc;IACzC,OAAO,CAAC,kBAAkB,CAAC,CAA4B;IACvD,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,mBAAmB,CAAC,CAAqB;IACjD,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,+BAA+B,CAAC,CAAiC;IACzE,OAAO,CAAC,sBAAsB,CAAC,CAAa;IAC5C,OAAO,CAAC,yBAAyB,CAAC,CAAkB;IACpD,OAAO,CAAC,uBAAuB,CAAC,CAAyB;IACzD,OAAO,CAAC,2BAA2B,CAAC,CAAa;IACjD,OAAO,CAAC,gCAAgC,CAAiC;IAEzE,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAoB;IAChE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0B;IACzD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAG5C,OAAO,CAAC,aAAa,CAAqC;IAC1D,OAAO,CAAC,mBAAmB,CAA2B;IACtD,OAAO,CAAC,gBAAgB,CAA+C;IACvE,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,CAAC,qBAAqB,CAAoC;IAGjE,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,mBAAmB,CAAsC;IACjE,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAqB;IAIpE,OAAO,CAAC,wBAAwB,CAG9B;IACF,OAAO,CAAC,qBAAqB,CAAC,CAAS;IAEvC,YAAY,MAAM,EAAE,kBAAkB,EAiGrC;IAED,IAAI,YAAY,IAAI,YAAY,CAE/B;IAED,IAAI,aAAa,IAAI,aAAa,CAEjC;YAEa,uBAAuB;IAuCrC;;;OAGG;YACW,4BAA4B;IA8B1C;;;;;;;OAOG;IACH,OAAO,CAAC,uBAAuB;YAUjB,yBAAyB;IAcvC;;;;;;;OAOG;IACH;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;IAWlC,OAAO,CAAC,sBAAsB;IAoCxB,iBAAiB,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAE;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAO,4EAuB5G;YAEa,uBAAuB;IAoCrC,OAAO,CAAC,4BAA4B;IAyHpC,qCAAqC;IACrC,OAAO,CAAC,kBAAkB;IAM1B,gFAAgF;IAChF,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAI5C;IAED,OAAO,CAAC,KAAK;YAOC,yBAAyB;IASvC,qFAAqF;IACrF,OAAO,CAAC,gBAAgB;IAwFxB,OAAO,CAAC,4BAA4B;IAUpC,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,yBAAyB;IAQjC,0EAA0E;IAC1E,OAAO,CAAC,8BAA8B;IAItC,gFAAgF;IAChF,OAAO,CAAC,+CAA+C;IAQvD;;;;;OAKG;IACH,OAAO,CAAC,sCAAsC;IAI9C,kBAAkB,IAAI,MAAM,CAE3B;IAED,uDAAuD;IACvD,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;;OAGG;IACH,IAAI,GAAG,IAAI,MAAM,CAEhB;YAEa,0BAA0B;IAIlC,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CAO/C;IAED,OAAO,CAAC,6BAA6B;IAMrC,OAAO,CAAC,sCAAsC;IAO9C,OAAO,CAAC,+BAA+B;IAcvC,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,sBAAsB;YAUhB,iBAAiB;YAgCjB,gCAAgC;YAchC,YAAY;IA8C1B,0EAA0E;IAC1E,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,qBAAqB,CAA2C;IAExE,4EAA4E;IAC5E,OAAO,CAAC,iBAAiB,CAmDvB;IAEF,OAAO,CAAC,8BAA8B;IA8BtC,OAAO,CAAC,4BAA4B;IAUpC;;;;OAIG;IACH,OAAO,CAAC,gCAAgC;IA2BxC;;;;;;OAMG;IACH,OAAO,CAAC,8BAA8B;IAKtC;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IA+DhC;;;;;;;OAOG;IACH,OAAO,CAAC,+BAA+B;IAQvC,OAAO,CAAC,uCAAuC;IAQ/C,OAAO,CAAC,4BAA4B;IAMpC,OAAO,CAAC,oCAAoC;IAQ5C,OAAO,CAAC,iCAAiC;IAqCzC,OAAO,CAAC,uBAAuB;IAwD/B,OAAO,CAAC,0BAA0B;YAQpB,kBAAkB;IAyQhC,wCAAwC;IACxC,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,mBAAmB;YAMb,iBAAiB;IAK/B;;;;;OAKG;IACH,OAAO,CAAC,+BAA+B;IAoEvC,8EAA8E;IAC9E,OAAO,CAAC,yBAAyB;IAWjC;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;IAkBnC,OAAO,CAAC,sCAAsC;IAoB9C,OAAO,CAAC,sBAAsB;IAe9B,kDAAkD;YACpC,mBAAmB;IA6FjC;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,yBAAyB,GAAG,MAAM,IAAI,CAuBzD;IAED;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAO5B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;;OAGG;IACH,OAAO,IAAI,IAAI,CAuBd;IAED,oFAAoF;IACpF,IAAI,gBAAgB,IAAI,uBAAuB,CAQ9C;IAED;;;;;;OAMG;IACH,IAAI,aAAa,IAAI,OAAO,CAE3B;IAMD,uBAAuB;IACvB,IAAI,KAAK,IAAI,UAAU,CAEtB;IAED,2DAA2D;IAC3D,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAElC;IAED,6BAA6B;IAC7B,IAAI,aAAa,IAAI,aAAa,CAEjC;IAED,+EAA+E;IAC/E,IAAI,iBAAiB,IAAI,iBAAiB,GAAG,SAAS,CAErD;IAED,IAAI,WAAW,IAAI,WAAW,GAAG,SAAS,CAEzC;IAED;;;;;;;;OAQG;IACH,gBAAgB,IAAI,OAAO,CAE1B;IAED;;;;OAIG;IACH,IAAI,oBAAoB,IAAI,WAAW,GAAG,SAAS,CAElD;IAED;;;;;;;;OAQG;IACH,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAYzC;IAED;;;;;OAKG;IACH,OAAO,CAAC,8BAA8B;IAUtC;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAS3B,yFAAyF;IACzF,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,mGAAmG;IACnG,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,sFAAsF;IACtF,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,gDAAgD;IAChD,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,6EAA6E;IAC7E,IAAI,kBAAkB,IAAI,gBAAgB,GAAG,SAAS,CAErD;IAED;;;OAGG;IACH,kBAAkB,IAAI,MAAM,EAAE,CAE7B;IAED;;OAEG;IACH,WAAW,IAAI,QAAQ,EAAE,CAUxB;IAED,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE1D;IAEK,WAAW,CAAC,QAAQ,GAAG,OAAO,EACnC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,GACpC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CA6FpC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,sBAAsB;IAI9B,uFAAuF;IACvF,OAAO,CAAC,yBAAyB;IAIjC;;;;;;OAMG;IACH,OAAO,CAAC,yBAAyB;IAgBjC;;;;;OAKG;IACH;;;;;OAKG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAErD;IAED,6GAA6G;IACvG,wBAAwB,CAC7B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,EAChC,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,IAAI,CAAC,CAaf;IAED,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CA0C9C;IAED,sEAAsE;IACtE,IAAI,YAAY,IAAI,OAAO,CAO1B;IAED,IAAI,eAAe,IAAI,QAAQ,CAAC,wBAAwB,CAAC,CAExD;IAED,oEAAoE;IACpE,IAAI,QAAQ,IAAI,YAAY,EAAE,CAE7B;IAED,4BAA4B;IAC5B,IAAI,YAAY,IAAI,KAAK,GAAG,eAAe,CAE1C;IAED,6BAA6B;IAC7B,IAAI,YAAY,IAAI,KAAK,GAAG,eAAe,CAE1C;IAED,uEAAuE;IACvE,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,yBAAyB;IACzB,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,+EAA+E;IAC/E,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAE9E;IAED,6EAA6E;IAC7E,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAEvD;IAED,2CAA2C;IAC3C,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,+DAA+D;IAC/D,IAAI,YAAY,IAAI,aAAa,CAAC,iBAAiB,CAAC,CAEnD;IAED,oCAAoC;IACpC,eAAe,CAAC,YAAY,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAEvD;IAED,yCAAyC;IACzC,IAAI,cAAc,IAAI,aAAa,CAAC,iBAAiB,CAAC,CAErD;IAED,gDAAgD;IAChD,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAE3D;IAED,OAAO,CAAC,yBAAyB;IA+BjC,kCAAkC;IAClC,IAAI,eAAe,IAAI,aAAa,CAAC,cAAc,CAAC,CAEnD;IAED,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,0BAA0B;IAelC,OAAO,CAAC,oBAAoB;IAuE5B;;;;;;;;OAQG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA0bjE;IAED;;OAEG;YACW,2BAA2B;IAmCzC;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAuE3B;;;;;;;OAOG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,EAAE,QAAQ,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBtG;IAED;;;;;;OAMG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,EAAE,QAAQ,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBzG;IAED,OAAO,CAAC,4BAA4B;YAgBtB,qBAAqB;IA2CnC,OAAO,CAAC,2BAA2B;IAKnC,OAAO,CAAC,6BAA6B;IAWrC;;OAEG;YACW,WAAW;IAwBzB;;OAEG;YACW,cAAc;IAwB5B,OAAO,CAAC,oCAAoC;IAW5C;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAYhC;;;;;;;;;;;OAWG;IACG,iBAAiB,CAAC,CAAC,GAAG,OAAO,EAClC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC,EACjF,OAAO,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,SAAS,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;KAC9C,EACD,iBAAiB,CAAC,EAAE,iBAAiB,GACnC,OAAO,CAAC,IAAI,CAAC,CA+Ef;IAED,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,2BAA2B;IAMnC;;;;;;;;;;OAUG;IACG,eAAe,CACpB,OAAO,EAAE,MAAM,GAAG,CAAC,WAAW,GAAG,YAAY,CAAC,EAAE,EAChD,OAAO,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;QACjC,qBAAqB,CAAC,EAAE,OAAO,CAAC;KAChC,EACD,iBAAiB,CAAC,EAAE,iBAAiB,GACnC,OAAO,CAAC,IAAI,CAAC,CAgFf;IAED,oFAAoF;IACpF,uBAAuB,IAAI,MAAM,CAGhC;IAED,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,kBAAkB;IAK1B;;;;OAIG;IACH,UAAU,CAAC,OAAO,GAAE;QAAE,eAAe,EAAE,OAAO,CAAA;KAA+B,GAAG,YAAY,CAuB3F;IAED,wEAAwE;IACxE,IAAI,mBAAmB,IAAI,MAAM,CAEhC;IAED,gDAAgD;IAChD,mBAAmB,IAAI,SAAS,MAAM,EAAE,CAEvC;IAED,iDAAiD;IACjD,mBAAmB,IAAI,SAAS,MAAM,EAAE,CAEvC;IAED,IAAI,cAAc,IAAI,cAAc,CAEnC;IAED;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAkB3B;IAEK,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAKjC;YAMa,gBAAgB;IA0C9B;;;;OAIG;IACG,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAE9E;IAED,iBAAiB,CAChB,KAAK,GAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAsB,EAC1C,iBAAiB,SAAI,EACrB,OAAO,CAAC,EAAE;QAAE,sBAAsB,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,uBAAuB,CAAA;KAAE,GACjF,IAAI,CAYN;IAED,4FAA4F;IAC5F,6BAA6B,CAAC,UAAU,EAAE,8BAA8B,GAAG,IAAI,CAE9E;IAED,2GAA2G;IAC3G,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CAa5C;IAED,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,+BAA+B;IAuBvC;;;OAGG;IACG,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAErF;IAED;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IAuBlC;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B;YASrB,SAAS;YA6BT,4BAA4B;IAS1C;;;;;OAKG;YACW,2BAA2B;YAK3B,kBAAkB;IAmFhC,OAAO,CAAC,4BAA4B;IASpC;;;;;OAKG;IACG,UAAU,CAAC,SAAS,GAAE,SAAS,GAAG,UAAsB,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAMrG;YAEa,mBAAmB;IA+HjC;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAE3C;IAED;;;OAGG;IACH,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAElD;IAED,OAAO,CAAC,iBAAiB;IAwDzB,OAAO,CAAC,iCAAiC;IAezC;;;OAGG;IACH,kBAAkB,IAAI,aAAa,GAAG,SAAS,CAU9C;IAED;;;OAGG;IACH,0BAA0B,IAAI,aAAa,EAAE,CAG5C;IAED;;OAEG;IACH,qBAAqB,IAAI,OAAO,CAE/B;IAED;;;OAGG;IACH,mBAAmB,IAAI,OAAO,CAE7B;IAED;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAE1B;IAED,OAAO,CAAC,0BAA0B;IA8BlC,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,0BAA0B;IAKlC;;;OAGG;IACH,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,eAAe,GAAG,IAAI,CAInD;IAED;;;OAGG;IACH,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,eAAe,GAAG,IAAI,CAInD;IAMD,OAAO,CAAC,0BAA0B;IAyBlC,OAAO,CAAC,yBAAyB;IASjC,OAAO,CAAC,4BAA4B;IASpC,OAAO,CAAC,gCAAgC;IAkBxC,OAAO,CAAC,kCAAkC;IAU1C,OAAO,CAAC,gBAAgB;YAKV,yBAAyB;IAiCvC,2FAA2F;YAC7E,qBAAqB;IAmFnC;;;;;;;;;;;;;;OAcG;IACG,OAAO,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkGpE;IAEK,eAAe,CACpB,WAAW,EAAE,gBAAgB,EAC7B,OAAO,EAAE,sBAAsB,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CAmEhC;IAED,OAAO,CAAC,iCAAiC;IAmBzC,OAAO,CAAC,kCAAkC;IAe1C,OAAO,CAAC,+BAA+B;YAkCzB,kBAAkB;YAwRlB,wBAAwB;IAuCtC;;;;;;OAMG;IACH,OAAO,CAAC,gCAAgC;YAY1B,iBAAiB;IAwD/B;;OAEG;IACH,eAAe,IAAI,IAAI,CAoBtB;IAED;;OAEG;IACH,kBAAkB,IAAI,IAAI,CAEzB;IAED;;;;;;;;;;;OAWG;YACW,gCAAgC;IAsE9C;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B;IASnC;;;;;;;OAOG;YACW,8BAA8B;YAmD9B,gBAAgB;IA4M9B,OAAO,CAAC,uBAAuB;IAK/B;;;;;;OAMG;IACH,OAAO,CAAC,8BAA8B;IAKtC,OAAO,CAAC,sBAAsB;YAUhB,uBAAuB;YA2DvB,yCAAyC;YA8CzC,6BAA6B;IAmE3C;;;;;;OAMG;IACH,OAAO,CAAC,oCAAoC;IAM5C,OAAO,CAAC,sCAAsC;IAoC9C;;;;;;;;;OASG;YACW,kBAAkB;IAqIhC;;;;;OAKG;IACH,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAG/C;IAED,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,2BAA2B;IASnC,0DAA0D;IAC1D,IAAI,qBAAqB,IAAI,OAAO,CAEnC;IAEK,cAAc,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoC/D;YAEa,6BAA6B;IA4B3C,OAAO,CAAC,2BAA2B;IAwBnC,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,gCAAgC;IAexC,OAAO,CAAC,kBAAkB;IAkS1B,kFAAkF;IAClF,IAAI,0BAA0B,IAAI,SAAS,MAAM,EAAE,CAElD;IAED,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,8BAA8B;IAgBtC,OAAO,CAAC,oBAAoB;IAkI5B,OAAO,CAAC,aAAa;IAiEf,MAAM,CAAC,OAAO,CAAC,EAAE;QAAE,kBAAkB,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC;QACpF,SAAS,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAsGD;IAED;;;;;;OAMG;IACG,eAAe,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAWxE;IAMD;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,oCAAoC;IAe5C,OAAO,CAAC,4BAA4B;IAIpC,OAAO,CAAC,+BAA+B;IAIvC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,gCAAgC;IAKxC;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAOjC,OAAO,CAAC,4BAA4B;IAepC,OAAO,CAAC,qCAAqC;IAQ7C,OAAO,CAAC,wBAAwB;IAOhC;;;;;OAKG;IACH,OAAO,CAAC,4BAA4B;IAyBpC;;;;;;;;OAQG;IACH,OAAO,CAAC,kCAAkC;IAqD1C;;;OAGG;YACW,qBAAqB;IA+enC;;OAEG;IACH,UAAU,IAAI,IAAI,CAIjB;IAED;;;OAGG;YACW,YAAY;IAS1B,kDAAkD;IAClD,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,oCAAoC;IACpC,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAE1C;IAMD;;;;;;;;OAQG;IACG,WAAW,CAChB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EACjC,OAAO,CAAC,EAAE;QACT,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,UAAU,CAAC,EAAE,cAAc,CAAC;KAC5B,GACC,OAAO,CAAC,UAAU,CAAC,CAiCrB;IAED;;;OAGG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE;QAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAyBtG;IAED;;OAEG;IACH,SAAS,IAAI,IAAI,CAIhB;IAED,4EAA4E;IACtE,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnD;IAED,kDAAkD;IAClD,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,oEAAoE;IACpE,IAAI,sBAAsB,IAAI,OAAO,CAEpC;IAED;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAmBjC;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAQjC;IAMD;;;;;;;;;;OAUG;IACG,YAAY,CACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,qBAA0B,GACjC,OAAO,CAAC;QACV,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,YAAY,CAAC,EAAE,kBAAkB,CAAC;KAClC,CAAC,CAED;IAED;;;;;OAKG;IACG,oBAAoB,CACzB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,qBAA0B,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAmB9B;YAEa,aAAa;IAkN3B;;OAEG;IACH,yBAAyB,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAepE;IAED;;;;OAIG;IACH,eAAe,IAAI,YAAY,CAkD9B;IAED;;;OAGG;IACH,iCAAiC,IAAI,MAAM,GAAG,SAAS,CAKtD;IAED;;;OAGG;IACH,0BAA0B,IAAI,IAAI,CAIjC;IAED,eAAe,IAAI,YAAY,GAAG,SAAS,CAmD1C;IAED;;;;;OAKG;IACG,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAiB7F;IAED;;;;;OAKG;IACH,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CA+BzC;IAMD;;;;OAIG;IACH,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAsBzC;IAMD,4BAA4B,IAAI,sBAAsB,CAQrD;IAED;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE/C;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,eAAe,CAErC;CACD"}
@@ -18,9 +18,8 @@ import { rm } from "node:fs/promises";
18
18
  import { basename, dirname } from "node:path";
19
19
  import { isDeepStrictEqual } from "node:util";
20
20
  import { ProviderRetryWatchdogAbortError, prepareAgentToolCall } from "@earendil-works/pi-agent-core";
21
- import { contentText, providerNotConfiguredMessage, SERVER_FALLBACK_ABORTED_DIAGNOSTIC, } from "@earendil-works/pi-ai";
21
+ import { contentText, measureCursorHistorySerializedBytes, providerNotConfiguredMessage, SERVER_FALLBACK_ABORTED_DIAGNOSTIC, } from "@earendil-works/pi-ai";
22
22
  import { cleanupSessionResources, cursorOverflowCompactionSettings, isClassifierRefusal, isContextOverflow, isCursorPayloadResourceExhausted, isCursorQuotaResourceExhausted, isCursorZeroTokenResourceExhausted, isProviderStreamStallError, isProviderTimeoutError, isRecoverableLength, isRetryableAssistantError, modelsAreEqual, resetApiProviders, shouldRetryOverflowWithoutCompact, streamSimple, } from "@earendil-works/pi-ai/compat";
23
- import { getCursorContextLimit } from "@earendil-works/pi-ai/utils/cursor-context-limit";
24
23
  import { extract429RetryAfterMs, parseRetryAfterMsMarker } from "@earendil-works/pi-ai/utils/retry-hint";
25
24
  import { retryBackoffDelayMs } from "@earendil-works/pi-ai/utils/retry-profile/backoff";
26
25
  import { getAgentDir } from "../config.js";
@@ -38,7 +37,6 @@ import { calculateContextTokens, collectEntriesForBranchSummary, compact, estima
38
37
  import { CompactionLifecycleCoordinator } from "./compaction/lifecycle.js";
39
38
  import { isTurnStuckOnContextOverflow } from "./compaction/stuck-overflow.js";
40
39
  import { isWarmSummaryAnchorValid } from "./compaction/warm-anchor.js";
41
- import { admitCursorHistory, cursorAdmissionBudgetBytes } from "./cursor-history-admission.js";
42
40
  import { DEFAULT_THINKING_LEVEL } from "./defaults.js";
43
41
  import { buildDynamicSystemPrompt } from "./dynamic-prompt/index.js";
44
42
  import { AssistantEditError, assertExpectedLeaf, assistantTextEquals, buildEditedAssistantMessage, SessionStreamingError, } from "./edited-assistant-message.js";
@@ -59,7 +57,7 @@ import { emitSessionShutdownEvent } from "./extensions/runner.js";
59
57
  import { normalizeToolExposure, RUNTIME_EXTENSION_PATH } from "./extensions/types.js";
60
58
  import { shouldWarnHighReasoning } from "./high-reasoning-warning.js";
61
59
  import { isManualContinueSubmission, MANUAL_CONTINUE_CUSTOM_TYPE, MANUAL_CONTINUE_DIRECTIVE, } from "./manual-continue.js";
62
- import { filterContextExcludedMessages } from "./messages.js";
60
+ import { convertToLlm, filterContextExcludedMessages, } from "./messages.js";
63
61
  import { ModelRegistry } from "./model-registry.js";
64
62
  import { getModelNarrowingPatterns, resolveModelScope } from "./model-resolver.js";
65
63
  import { PROMPT_CACHE_SAFE_WAIT_ENV, resolvePromptCacheSafeWaitSeconds } from "./prompt-cache-budget.js";
@@ -337,11 +335,121 @@ function isSameOverflowSource(message, model, upstreamModelId) {
337
335
  const THINKING_LEVELS_WITH_MAX = ["off", "minimal", "low", "medium", "high", "xhigh", "max"];
338
336
  /** Caps explicit skill expansion so one prompt cannot consume unbounded context. */
339
337
  export const MAX_SKILL_EXPANSIONS_PER_PROMPT = 5;
340
- /**
341
- * Cursor admission lives in its own module; the names stay exported here so
342
- * existing importers keep resolving them.
343
- */
344
- export { CURSOR_TOOL_RESULT_MAX_CHARS, truncateToolResultBodies } from "./cursor-history-admission.js";
338
+ /** Cursor ingest rejects large verbatim tool payloads. The bound is UTF-8 bytes. */
339
+ export const CURSOR_TOOL_RESULT_MAX_CHARS = 2000;
340
+ export const CURSOR_TOOL_RESULT_MAX_BYTES = 50_000;
341
+ const CURSOR_TRUNCATION_MARKER = "\n...[truncated]";
342
+ export function truncateToolResultBodies(messages, maxChars = CURSOR_TOOL_RESULT_MAX_CHARS, maxBytes = CURSOR_TOOL_RESULT_MAX_BYTES, convert = (candidate) => convertToLlm(candidate)) {
343
+ if (!Array.isArray(messages) || messages.length === 0)
344
+ return { messages, changed: false };
345
+ const segmenter = new Intl.Segmenter(undefined, { granularity: "grapheme" });
346
+ const markerChars = [...segmenter.segment(CURSOR_TRUNCATION_MARKER)].length;
347
+ const result = messages.slice();
348
+ let changed = false;
349
+ // Apply the per-result character cap first, independent of the aggregate wire cap.
350
+ for (let messageIndex = result.length - 1; messageIndex >= 0; messageIndex--) {
351
+ const message = result[messageIndex];
352
+ if (message.role !== "toolResult" || !Array.isArray(message.content))
353
+ continue;
354
+ let content = message.content;
355
+ for (let partIndex = content.length - 1; partIndex >= 0; partIndex--) {
356
+ const part = content[partIndex];
357
+ if (part.type === "image" && typeof part.data === "string")
358
+ continue;
359
+ if (part.type !== "text" || typeof part.text !== "string")
360
+ continue;
361
+ const graphemes = [...segmenter.segment(part.text)].map((item) => item.segment);
362
+ if (graphemes.length <= maxChars)
363
+ continue;
364
+ const kept = graphemes.slice(0, Math.max(0, maxChars - markerChars)).join("");
365
+ const nextText = kept + CURSOR_TRUNCATION_MARKER;
366
+ content = content === message.content ? content.slice() : content;
367
+ content[partIndex] = { ...part, text: nextText };
368
+ result[messageIndex] = { ...message, content };
369
+ changed = true;
370
+ }
371
+ }
372
+ const measure = (candidate) => {
373
+ const converted = convert(candidate);
374
+ const activeUserMessageIndex = converted.at(-1)?.role === "user" ? converted.length - 1 : -1;
375
+ return measureCursorHistorySerializedBytes(converted, activeUserMessageIndex);
376
+ };
377
+ const fits = (candidate = result) => measure(candidate) <= maxBytes;
378
+ if (fits())
379
+ return { messages: changed ? result : messages, changed };
380
+ // Empty the oldest result bodies. Search the monotonic prefix of candidates
381
+ // rather than serializing once for every result (admission must stay bounded).
382
+ const emptyToolResult = (message) => {
383
+ if (message.role !== "toolResult" || !Array.isArray(message.content))
384
+ return message;
385
+ const emptiedContent = message.content.map((part) => part.type === "text" ? { ...part, text: "" } : part.type === "image" ? { ...part, data: "" } : part);
386
+ const content = emptiedContent.filter((part, index) => {
387
+ if (index === 0)
388
+ return true;
389
+ const previous = emptiedContent[index - 1];
390
+ const empty = part.type === "text" ? part.text === "" : part.type === "image" && part.data === "";
391
+ const previousEmpty = previous.type === "text" ? previous.text === "" : previous.type === "image" && previous.data === "";
392
+ return !empty || !previousEmpty;
393
+ });
394
+ return { ...message, content };
395
+ };
396
+ const toolResultIndexes = result.flatMap((message, index) => message.role === "toolResult" && Array.isArray(message.content) ? [index] : []);
397
+ const withEmptyPrefix = (count) => {
398
+ const candidate = result.slice();
399
+ for (let i = 0; i < count; i++)
400
+ candidate[toolResultIndexes[i]] = emptyToolResult(candidate[toolResultIndexes[i]]);
401
+ return candidate;
402
+ };
403
+ let low = 0;
404
+ let high = toolResultIndexes.length;
405
+ while (low < high) {
406
+ const middle = Math.floor((low + high) / 2);
407
+ if (fits(withEmptyPrefix(middle + 1)))
408
+ high = middle;
409
+ else
410
+ low = middle + 1;
411
+ }
412
+ const emptyCount = Math.min(low + 1, toolResultIndexes.length);
413
+ if (emptyCount > 0) {
414
+ result.splice(0, result.length, ...withEmptyPrefix(emptyCount));
415
+ changed = true;
416
+ }
417
+ if (fits())
418
+ return { messages: changed ? result : messages, changed };
419
+ // If metadata alone exceeds the cap, discard the oldest complete turns. This
420
+ // search is also monotonic and avoids quadratic whole-history reserialization.
421
+ const turnRanges = [];
422
+ const isConvertedUser = (message) => convert([message])[0]?.role === "user";
423
+ for (let index = 0; index < result.length; index++) {
424
+ if (!isConvertedUser(result[index]))
425
+ continue;
426
+ const nextUser = result.findIndex((message, nextIndex) => nextIndex > index && isConvertedUser(message));
427
+ turnRanges.push([index, nextUser < 0 ? result.length : nextUser]);
428
+ }
429
+ const withoutTurns = (count) => {
430
+ if (count === 0)
431
+ return result;
432
+ const start = turnRanges[0]?.[0] ?? 0;
433
+ const end = turnRanges[count - 1]?.[1] ?? start;
434
+ return [...result.slice(0, start), ...result.slice(end)];
435
+ };
436
+ low = 0;
437
+ high = turnRanges.length;
438
+ while (low < high) {
439
+ const middle = Math.floor((low + high) / 2);
440
+ if (fits(withoutTurns(middle + 1)))
441
+ high = middle;
442
+ else
443
+ low = middle + 1;
444
+ }
445
+ const turnCount = Math.min(low + 1, turnRanges.length);
446
+ if (turnCount > 0) {
447
+ const next = withoutTurns(turnCount);
448
+ result.splice(0, result.length, ...next);
449
+ changed = true;
450
+ }
451
+ return { messages: changed ? result : messages, changed };
452
+ }
345
453
  // ============================================================================
346
454
  // AgentSession Class
347
455
  // ============================================================================
@@ -797,20 +905,6 @@ export class AgentSession {
797
905
  usage: hookResult?.usage,
798
906
  };
799
907
  }
800
- /**
801
- * Cursor states a model's real context ceiling on every conversation
802
- * checkpoint. Once observed, it replaces the catalog guess on the live model
803
- * so context usage, compaction thresholds and admission all size against the
804
- * window the server will actually enforce.
805
- */
806
- _applyObservedCursorContextWindow(model) {
807
- const observed = getCursorContextLimit(model.id);
808
- if (observed === undefined || observed <= 0 || observed === model.contextWindow)
809
- return;
810
- const previous = model.contextWindow;
811
- model.contextWindow = observed;
812
- this._sessionLogger.info("cursor_context_window_observed", { modelId: model.id, previous, observed });
813
- }
814
908
  _installAgentNextTurnRefresh() {
815
909
  const previousPrepareNextTurnWithContext = this.agent.prepareNextTurnWithContext ??
816
910
  (this.agent.prepareNextTurn
@@ -819,33 +913,10 @@ export class AgentSession {
819
913
  const previousTransformContext = this.agent.transformContext;
820
914
  this.agent.transformContext = async (messages, signal) => {
821
915
  const transformed = previousTransformContext ? await previousTransformContext(messages, signal) : messages;
822
- const model = this.model;
823
- if (model?.provider !== "cursor" && model?.provider !== "cursor-cli-oauth")
824
- return transformed;
825
- this._applyObservedCursorContextWindow(model);
826
- const budgetBytes = cursorAdmissionBudgetBytes(model.contextWindow);
827
- const admission = admitCursorHistory({
828
- messages: transformed,
829
- budgetBytes,
830
- convert: (candidate) => this.agent.convertToLlm(candidate),
831
- });
832
- if (admission.blankedToolResults > 0) {
833
- this._sessionLogger.info("cursor_admission_truncated", {
834
- blankedToolResults: admission.blankedToolResults,
835
- bytesBefore: admission.bytesBefore,
836
- bytesAfter: admission.bytesAfter,
837
- budgetBytes,
838
- });
839
- }
840
- if (admission.overBudget) {
841
- // The request is still admitted: Cursor answers an oversized history
842
- // with a 0-token resource_exhausted, which the session layer compacts.
843
- this._sessionLogger.warn("cursor_admission_over_budget", {
844
- bytes: admission.bytesAfter,
845
- budgetBytes,
846
- });
916
+ if (this.model?.provider === "cursor" || this.model?.provider === "cursor-cli-oauth") {
917
+ return ((await truncateToolResultBodies(transformed, CURSOR_TOOL_RESULT_MAX_CHARS, CURSOR_TOOL_RESULT_MAX_BYTES, (candidate) => this.agent.convertToLlm(candidate))).messages ?? transformed);
847
918
  }
848
- return admission.messages ?? transformed;
919
+ return transformed;
849
920
  };
850
921
  this.agent.prepareNextTurnWithContext = async (turn, signal) => {
851
922
  // Enforce compaction only when this prepare precedes an actual provider
@@ -4826,11 +4897,7 @@ export class AgentSession {
4826
4897
  // Size the same retained context that will be admitted to Cursor. Persisted JSONL
4827
4898
  // remains verbatim, but the in-memory request representation is bounded first.
4828
4899
  if (model.provider === "cursor" || model.provider === "cursor-cli-oauth") {
4829
- simulatedMessages =
4830
- admitCursorHistory({
4831
- messages: simulatedMessages,
4832
- budgetBytes: cursorAdmissionBudgetBytes(model.contextWindow),
4833
- }).messages ?? simulatedMessages;
4900
+ simulatedMessages = truncateToolResultBodies(simulatedMessages).messages ?? simulatedMessages;
4834
4901
  }
4835
4902
  const contextTokens = estimateMessagesTokens(filterContextExcludedMessages(simulatedMessages));
4836
4903
  const settings = this._getCompactionSettings();