@morty-build/cli 0.4.14 → 0.4.15

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.
@@ -80,7 +80,7 @@ var __callDispose = (stack, error, hasError) => {
80
80
  // package.json
81
81
  var package_default = {
82
82
  name: "@morty-build/cli",
83
- version: "0.4.14",
83
+ version: "0.4.15",
84
84
  description: "Morty CLI for installing, pairing, and operating the Morty background service.",
85
85
  type: "module",
86
86
  bin: {
@@ -176,4 +176,4 @@ export {
176
176
  __callDispose,
177
177
  package_default
178
178
  };
179
- //# sourceMappingURL=chunk-VQQB6Z6M.js.map
179
+ //# sourceMappingURL=chunk-D5ASHLUO.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../package.json"],
4
- "sourcesContent": ["{\n \"name\": \"@morty-build/cli\",\n \"version\": \"0.4.14\",\n \"description\": \"Morty CLI for installing, pairing, and operating the Morty background service.\",\n \"type\": \"module\",\n \"bin\": {\n \"morty\": \"dist/cli.js\"\n },\n \"exports\": {\n \"./engine\": {\n \"morty-source\": \"./src/exports/engine.ts\",\n \"types\": \"./dist/exports/engine.d.ts\",\n \"default\": \"./dist/engine.js\"\n }\n },\n \"files\": [\n \"dist\",\n \"LICENSE\",\n \"NOTICE\",\n \"THIRD-PARTY-NOTICES.txt\"\n ],\n \"engines\": {\n \"node\": \"^22.19.0 || ^24.20.0\"\n },\n \"publishConfig\": {\n \"access\": \"public\",\n \"exports\": {\n \"./engine\": {\n \"types\": \"./dist/exports/engine.d.ts\",\n \"import\": \"./dist/engine.js\",\n \"default\": \"./dist/engine.js\"\n }\n }\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/moxt-ai/mobius-morty.git\",\n \"directory\": \"packages/cli\"\n },\n \"scripts\": {\n \"prebuild\": \"tsc --project src/engine/acp/harness/claude/upstream/tsconfig.json && tsc --project src/engine/acp/harness/pi/upstream/tsconfig.json\",\n \"build\": \"node scripts/build.ts && tsc --project tsconfig.build.json\",\n \"dev\": \"node --watch src/cli/entrypoint.ts\",\n \"pretypecheck\": \"tsc --project src/engine/acp/harness/claude/upstream/tsconfig.json && tsc --project src/engine/acp/harness/pi/upstream/tsconfig.json\",\n \"prepack\": \"pnpm build\",\n \"start\": \"node dist/cli.js\",\n \"typecheck\": \"tsc --project tsconfig.json && tsc --project tests/tsconfig.json\",\n \"pretest:controlled\": \"pnpm build && pnpm pack:test\",\n \"test:controlled\": \"vitest run tests/sessions tests/runtime\",\n \"pretest:manual\": \"pnpm pretest:controlled\",\n \"test:manual\": \"vitest run tests/manual\",\n \"pretest:agents\": \"pnpm build && pnpm pack:test\",\n \"test:agents\": \"vitest run tests/agents --maxWorkers=2\",\n \"pretest:pressure\": \"tsc --project src/engine/acp/harness/claude/upstream/tsconfig.json && tsc --project src/engine/acp/harness/pi/upstream/tsconfig.json\",\n \"test:pressure\": \"node tests/pressure/concurrent-sessions.mjs\",\n \"pack:test\": \"node scripts/pack-test-release.ts\"\n },\n \"dependencies\": {\n \"undici\": \"8.12.2\"\n },\n \"devDependencies\": {\n \"@agentclientprotocol/sdk\": \"^1.4.0\",\n \"@anthropic-ai/claude-agent-sdk\": \"0.3.257\",\n \"@anthropic-ai/sdk\": \"0.122.0\",\n \"@morty-build/client\": \"workspace:*\",\n \"@morty-build/platform-test-support\": \"workspace:*\",\n \"@types/node\": \"^24.13.5\",\n \"@types/semver\": \"^7.8.0\",\n \"@types/ws\": \"^8.18.1\",\n \"commander\": \"15.0.0\",\n \"drizzle-kit\": \"1.0.0-rc.4\",\n \"drizzle-orm\": \"1.0.0-rc.4\",\n \"esbuild\": \"0.28.2\",\n \"semver\": \"^7.8.5\",\n \"valibot\": \"1.5.0\",\n \"ws\": \"^8.21.3\",\n \"zod\": \"^4.6.7\",\n \"@morty-build/local-state\": \"workspace:*\",\n \"miniflare\": \"catalog:\"\n },\n \"keywords\": [],\n \"author\": \"Moxt\",\n \"license\": \"Apache-2.0\",\n \"bugs\": {\n \"url\": \"https://github.com/moxt-ai/mobius-morty/issues\"\n },\n \"homepage\": \"https://morty.build\",\n \"private\": false\n}\n"],
4
+ "sourcesContent": ["{\n \"name\": \"@morty-build/cli\",\n \"version\": \"0.4.15\",\n \"description\": \"Morty CLI for installing, pairing, and operating the Morty background service.\",\n \"type\": \"module\",\n \"bin\": {\n \"morty\": \"dist/cli.js\"\n },\n \"exports\": {\n \"./engine\": {\n \"morty-source\": \"./src/exports/engine.ts\",\n \"types\": \"./dist/exports/engine.d.ts\",\n \"default\": \"./dist/engine.js\"\n }\n },\n \"files\": [\n \"dist\",\n \"LICENSE\",\n \"NOTICE\",\n \"THIRD-PARTY-NOTICES.txt\"\n ],\n \"engines\": {\n \"node\": \"^22.19.0 || ^24.20.0\"\n },\n \"publishConfig\": {\n \"access\": \"public\",\n \"exports\": {\n \"./engine\": {\n \"types\": \"./dist/exports/engine.d.ts\",\n \"import\": \"./dist/engine.js\",\n \"default\": \"./dist/engine.js\"\n }\n }\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/moxt-ai/mobius-morty.git\",\n \"directory\": \"packages/cli\"\n },\n \"scripts\": {\n \"prebuild\": \"tsc --project src/engine/acp/harness/claude/upstream/tsconfig.json && tsc --project src/engine/acp/harness/pi/upstream/tsconfig.json\",\n \"build\": \"node scripts/build.ts && tsc --project tsconfig.build.json\",\n \"dev\": \"node --watch src/cli/entrypoint.ts\",\n \"pretypecheck\": \"tsc --project src/engine/acp/harness/claude/upstream/tsconfig.json && tsc --project src/engine/acp/harness/pi/upstream/tsconfig.json\",\n \"prepack\": \"pnpm build\",\n \"start\": \"node dist/cli.js\",\n \"typecheck\": \"tsc --project tsconfig.json && tsc --project tests/tsconfig.json\",\n \"pretest:controlled\": \"pnpm build && pnpm pack:test\",\n \"test:controlled\": \"vitest run tests/sessions tests/runtime\",\n \"pretest:manual\": \"pnpm pretest:controlled\",\n \"test:manual\": \"vitest run tests/manual\",\n \"pretest:agents\": \"pnpm build && pnpm pack:test\",\n \"test:agents\": \"vitest run tests/agents --maxWorkers=2\",\n \"pretest:pressure\": \"tsc --project src/engine/acp/harness/claude/upstream/tsconfig.json && tsc --project src/engine/acp/harness/pi/upstream/tsconfig.json\",\n \"test:pressure\": \"node tests/pressure/concurrent-sessions.mjs\",\n \"pack:test\": \"node scripts/pack-test-release.ts\"\n },\n \"dependencies\": {\n \"undici\": \"8.12.2\"\n },\n \"devDependencies\": {\n \"@agentclientprotocol/sdk\": \"^1.4.0\",\n \"@anthropic-ai/claude-agent-sdk\": \"0.3.257\",\n \"@anthropic-ai/sdk\": \"0.122.0\",\n \"@morty-build/client\": \"workspace:*\",\n \"@morty-build/platform-test-support\": \"workspace:*\",\n \"@types/node\": \"^24.13.5\",\n \"@types/semver\": \"^7.8.0\",\n \"@types/ws\": \"^8.18.1\",\n \"commander\": \"15.0.0\",\n \"drizzle-kit\": \"1.0.0-rc.4\",\n \"drizzle-orm\": \"1.0.0-rc.4\",\n \"esbuild\": \"0.28.2\",\n \"semver\": \"^7.8.5\",\n \"valibot\": \"1.5.0\",\n \"ws\": \"^8.21.3\",\n \"zod\": \"^4.6.7\",\n \"@morty-build/local-state\": \"workspace:*\",\n \"miniflare\": \"catalog:\"\n },\n \"keywords\": [],\n \"author\": \"Moxt\",\n \"license\": \"Apache-2.0\",\n \"bugs\": {\n \"url\": \"https://github.com/moxt-ai/mobius-morty/issues\"\n },\n \"homepage\": \"https://morty.build\",\n \"private\": false\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA,EACI,MAAQ;AAAA,EACR,SAAW;AAAA,EACX,aAAe;AAAA,EACf,MAAQ;AAAA,EACR,KAAO;AAAA,IACH,OAAS;AAAA,EACb;AAAA,EACA,SAAW;AAAA,IACP,YAAY;AAAA,MACR,gBAAgB;AAAA,MAChB,OAAS;AAAA,MACT,SAAW;AAAA,IACf;AAAA,EACJ;AAAA,EACA,OAAS;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA,EACA,SAAW;AAAA,IACP,MAAQ;AAAA,EACZ;AAAA,EACA,eAAiB;AAAA,IACb,QAAU;AAAA,IACV,SAAW;AAAA,MACP,YAAY;AAAA,QACR,OAAS;AAAA,QACT,QAAU;AAAA,QACV,SAAW;AAAA,MACf;AAAA,IACJ;AAAA,EACJ;AAAA,EACA,YAAc;AAAA,IACV,MAAQ;AAAA,IACR,KAAO;AAAA,IACP,WAAa;AAAA,EACjB;AAAA,EACA,SAAW;AAAA,IACP,UAAY;AAAA,IACZ,OAAS;AAAA,IACT,KAAO;AAAA,IACP,cAAgB;AAAA,IAChB,SAAW;AAAA,IACX,OAAS;AAAA,IACT,WAAa;AAAA,IACb,sBAAsB;AAAA,IACtB,mBAAmB;AAAA,IACnB,kBAAkB;AAAA,IAClB,eAAe;AAAA,IACf,kBAAkB;AAAA,IAClB,eAAe;AAAA,IACf,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,IACjB,aAAa;AAAA,EACjB;AAAA,EACA,cAAgB;AAAA,IACZ,QAAU;AAAA,EACd;AAAA,EACA,iBAAmB;AAAA,IACf,4BAA4B;AAAA,IAC5B,kCAAkC;AAAA,IAClC,qBAAqB;AAAA,IACrB,uBAAuB;AAAA,IACvB,sCAAsC;AAAA,IACtC,eAAe;AAAA,IACf,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,WAAa;AAAA,IACb,eAAe;AAAA,IACf,eAAe;AAAA,IACf,SAAW;AAAA,IACX,QAAU;AAAA,IACV,SAAW;AAAA,IACX,IAAM;AAAA,IACN,KAAO;AAAA,IACP,4BAA4B;AAAA,IAC5B,WAAa;AAAA,EACjB;AAAA,EACA,UAAY,CAAC;AAAA,EACb,QAAU;AAAA,EACV,SAAW;AAAA,EACX,MAAQ;AAAA,IACJ,KAAO;AAAA,EACX;AAAA,EACA,UAAY;AAAA,EACZ,SAAW;AACf;",
6
6
  "names": []
7
7
  }
@@ -3,7 +3,7 @@ import {
3
3
  __export,
4
4
  __using,
5
5
  package_default
6
- } from "./chunk-VQQB6Z6M.js";
6
+ } from "./chunk-D5ASHLUO.js";
7
7
 
8
8
  // src/engine/runtime/relay/runtime-revocation.ts
9
9
  var runtimeRevocationCloseCode = 1008;
@@ -21188,12 +21188,11 @@ var sessionCloseCommandSchema = external_exports.object({
21188
21188
  }).readonly();
21189
21189
  var sessionPrepareCommandSchema = external_exports.object({
21190
21190
  ...sessionIdentityFields,
21191
- configuration: external_exports.object({
21192
- booleanValue: external_exports.boolean(),
21193
- configId: external_exports.string().min(1).max(128),
21194
- value: external_exports.string().max(500),
21195
- valueType: external_exports.enum(["boolean", "select"])
21196
- }).readonly().optional(),
21191
+ /**
21192
+ * The complete settings a new Session starts with. The Runtime applies them in dependency order as part of
21193
+ * creating the Session: it answers only once every selection holds, and otherwise creates nothing.
21194
+ */
21195
+ configurations: sessionConfigurationSelectionsSchema.optional(),
21197
21196
  kind: external_exports.literal(SESSION_PREPARE_KIND),
21198
21197
  requestId: identifierStringSchema,
21199
21198
  sessionState: external_exports.literal("provisioned").optional(),
@@ -21207,6 +21206,13 @@ var sessionPrepareCommandSchema = external_exports.object({
21207
21206
  path: ["sessionState"]
21208
21207
  });
21209
21208
  }
21209
+ if (command2.configurations !== void 0 && (command2.transient === true || command2.sessionState !== void 0)) {
21210
+ context.addIssue({
21211
+ code: "custom",
21212
+ message: "Only a Session being created states its initial settings",
21213
+ path: ["configurations"]
21214
+ });
21215
+ }
21210
21216
  }).readonly();
21211
21217
  var runtimeTimingsSchema = external_exports.array(
21212
21218
  external_exports.object({
@@ -91534,6 +91540,33 @@ var SessionManager2 = class {
91534
91540
  );
91535
91541
  }
91536
91542
  prepareSession = async (options, metrics = unmeasuredOperationMetrics, closed = "reopen") => await this.#prepareSession(options, { kind: "interactive-only" }, closed, metrics);
91543
+ /**
91544
+ * Creates a Session with the initial settings `configure` applies, and answers with the configured snapshot. A
91545
+ * Session this call created that cannot take its settings is discarded, so a refused creation leaves nothing
91546
+ * behind. A Session that already existed, such as one whose creation answer was lost, is configured again and kept.
91547
+ */
91548
+ createSession = async (options, configure, metrics = unmeasuredOperationMetrics, closed = "reopen") => {
91549
+ const created = !this.#isKnownSession(options.sessionId);
91550
+ try {
91551
+ await configure(await this.prepareSession(options, metrics, closed));
91552
+ return await this.prepareSession(options, metrics, closed);
91553
+ } catch (error62) {
91554
+ if (created) {
91555
+ await this.#discardCreatedSession(options.sessionId);
91556
+ }
91557
+ throw error62;
91558
+ }
91559
+ };
91560
+ async #discardCreatedSession(sessionId) {
91561
+ const runtime = this.#executionProcesses.get(sessionId);
91562
+ try {
91563
+ if (runtime !== void 0) {
91564
+ await this.#retireSessionProcess(sessionId, runtime, async () => await runtime.close());
91565
+ }
91566
+ } finally {
91567
+ this.#store.remove(sessionId);
91568
+ }
91569
+ }
91537
91570
  restoreSession = async (options, metrics = unmeasuredOperationMetrics, closed = "reopen") => await this.#prepareSession(options, { kind: "history-required" }, closed, metrics);
91538
91571
  /**
91539
91572
  * Opens a short-lived native ACP session only to read the local Agent's
@@ -95956,16 +95989,19 @@ function sessionConfigurationMatches(option, selection) {
95956
95989
  validateSessionConfigurationSelection(option, selection);
95957
95990
  return option.type === "boolean" ? option.booleanValue === selection.booleanValue : option.currentValue === selection.value;
95958
95991
  }
95959
- function assertAppliedSessionConfiguration(options, selections) {
95960
- const selectionsById = new Map(selections.map((selection) => [selection.configId, selection]));
95961
- for (const option of options) {
95962
- const selection = selectionsById.get(option.id);
95963
- if (selection === void 0 || !sessionConfigurationSelectionIsAvailable(option, selection)) {
95992
+ function sessionConfigurationConflict(message) {
95993
+ return new AcpExecutionError(message, {}, "session_configuration_conflict");
95994
+ }
95995
+ function assertAppliedSessionConfiguration(options, selections, unavailable) {
95996
+ for (const selection of selections) {
95997
+ const option = options.find((candidate) => candidate.id === selection.configId);
95998
+ const holds = option !== void 0 && sessionConfigurationSelectionIsAvailable(option, selection) ? sessionConfigurationMatches(option, selection) : unavailable === "ignore";
95999
+ if (holds) {
95964
96000
  continue;
95965
96001
  }
95966
- if (!sessionConfigurationMatches(option, selection)) {
95967
- throw invalidSessionConfiguration(`The Turn configuration does not match Agent setting ${option.id}`);
95968
- }
96002
+ throw unavailable === "refuse" ? sessionConfigurationConflict(
96003
+ `The Agent did not retain the selected setting "${selection.configId}". Review the settings and try again.`
96004
+ ) : invalidSessionConfiguration(`The Turn configuration does not match Agent setting ${selection.configId}`);
95969
96005
  }
95970
96006
  }
95971
96007
  function unavailableSessionConfigurationCategory(selection) {
@@ -95977,57 +96013,42 @@ function unavailableSessionConfigurationCategory(selection) {
95977
96013
  }
95978
96014
  return "unknown";
95979
96015
  }
95980
- async function applySessionConfigurationSelection(sessions, options, selection, agent2, adapter, cwd, additionalDirectories, commandId, sessionId, signal) {
95981
- const option = options.find((candidate) => candidate.id === selection.configId);
96016
+ function unavailableReason(option, selection) {
95982
96017
  if (option === void 0) {
95983
- warnIgnoredSetting(
95984
- "session_configuration_setting_ignored",
95985
- commandId,
95986
- sessionId,
95987
- agent2.id,
95988
- selection,
95989
- unavailableSessionConfigurationCategory(selection),
95990
- "setting_unavailable"
95991
- );
95992
- return options;
96018
+ return "setting_unavailable";
95993
96019
  }
95994
96020
  if (option.type !== selection.valueType) {
95995
- warnIgnoredSetting(
95996
- "session_configuration_setting_ignored",
95997
- commandId,
95998
- sessionId,
95999
- agent2.id,
96000
- selection,
96001
- option.category,
96002
- "setting_schema_mismatch"
96003
- );
96004
- return options;
96021
+ return "setting_schema_mismatch";
96005
96022
  }
96006
96023
  if (option.type === "boolean" && selection.value.length > 0 || option.type === "select" && selection.booleanValue) {
96007
- warnIgnoredSetting(
96008
- "session_configuration_setting_ignored",
96009
- commandId,
96010
- sessionId,
96011
- agent2.id,
96012
- selection,
96013
- option.category,
96014
- "selection_schema_mismatch"
96015
- );
96016
- return options;
96024
+ return "selection_schema_mismatch";
96017
96025
  }
96018
96026
  if (option.type === "select" && !option.values.some((value) => value.value === selection.value)) {
96027
+ return "value_unavailable";
96028
+ }
96029
+ return null;
96030
+ }
96031
+ async function applySessionConfigurationSelection(sessions, options, selection, unavailable, agent2, adapter, cwd, additionalDirectories, commandId, sessionId, signal) {
96032
+ const option = options.find((candidate) => candidate.id === selection.configId);
96033
+ const reason = unavailableReason(option, selection);
96034
+ if (reason !== null) {
96035
+ if (unavailable === "refuse") {
96036
+ throw sessionConfigurationConflict(
96037
+ `The selected Agent setting "${selection.configId}" is no longer available. Refresh the settings and try again.`
96038
+ );
96039
+ }
96019
96040
  warnIgnoredSetting(
96020
96041
  "session_configuration_setting_ignored",
96021
96042
  commandId,
96022
96043
  sessionId,
96023
96044
  agent2.id,
96024
96045
  selection,
96025
- option.category,
96026
- "value_unavailable"
96046
+ option?.category ?? unavailableSessionConfigurationCategory(selection),
96047
+ reason
96027
96048
  );
96028
96049
  return options;
96029
96050
  }
96030
- if (sessionConfigurationMatches(option, selection)) {
96051
+ if (option === void 0 || sessionConfigurationMatches(option, selection)) {
96031
96052
  return options;
96032
96053
  }
96033
96054
  return (await sessions.applySessionConfiguration({
@@ -96044,13 +96065,14 @@ async function applySessionConfigurationSelection(sessions, options, selection,
96044
96065
  valueType: selection.valueType
96045
96066
  })).configOptions;
96046
96067
  }
96047
- async function applyCompleteSessionConfiguration(sessions, initialOptions, selections, agent2, adapter, cwd, additionalDirectories, commandId, sessionId, signal) {
96068
+ async function applyCompleteSessionConfiguration(sessions, initialOptions, selections, unavailable, agent2, adapter, cwd, additionalDirectories, commandId, sessionId, signal) {
96048
96069
  let options = initialOptions;
96049
96070
  for (const selection of inDependencyOrder(selections, initialOptions)) {
96050
96071
  options = await applySessionConfigurationSelection(
96051
96072
  sessions,
96052
96073
  options,
96053
96074
  selection,
96075
+ unavailable,
96054
96076
  agent2,
96055
96077
  adapter,
96056
96078
  cwd,
@@ -96060,7 +96082,7 @@ async function applyCompleteSessionConfiguration(sessions, initialOptions, selec
96060
96082
  signal
96061
96083
  );
96062
96084
  }
96063
- assertAppliedSessionConfiguration(options, selections);
96085
+ assertAppliedSessionConfiguration(options, selections, unavailable);
96064
96086
  }
96065
96087
  function warnIgnoredSetting(event, commandId, sessionId, agentId, selection, category, reason) {
96066
96088
  const details = {
@@ -96126,6 +96148,7 @@ async function executePrompt({
96126
96148
  sessions,
96127
96149
  prepared.configOptions,
96128
96150
  sessionConfigurations ?? [],
96151
+ "ignore",
96129
96152
  executionAgent,
96130
96153
  adapter,
96131
96154
  resolved.cwd,
@@ -96438,19 +96461,40 @@ async function prepareSession(command2, recovery, closed, config2, resolveAgent,
96438
96461
  sessionId: command2.sessionId,
96439
96462
  signal
96440
96463
  };
96441
- const prepared = command2.transient === true ? await sessions.inspectSession(preparation, metrics) : recovery.kind === "history-required" ? await sessions.restoreSession(preparation, metrics, closed) : await sessions.prepareSession(preparation, metrics, closed);
96442
- const configuration = command2.configuration;
96443
- const snapshot = configuration === void 0 ? prepared : await metrics.measure(
96444
- "configuration",
96445
- async () => await sessions.applySessionConfiguration({
96446
- ...preparation,
96447
- booleanValue: configuration.booleanValue,
96448
- configId: configuration.configId,
96449
- requestId: command2.requestId,
96450
- value: configuration.value,
96451
- valueType: configuration.valueType
96452
- })
96453
- );
96464
+ const prepare = async () => {
96465
+ if (command2.transient === true) {
96466
+ return await sessions.inspectSession(preparation, metrics);
96467
+ }
96468
+ if (recovery.kind === "history-required") {
96469
+ return await sessions.restoreSession(preparation, metrics, closed);
96470
+ }
96471
+ const configurations = command2.configurations;
96472
+ if (configurations === void 0) {
96473
+ return await sessions.prepareSession(preparation, metrics, closed);
96474
+ }
96475
+ return await sessions.createSession(
96476
+ preparation,
96477
+ async (created) => await metrics.measure(
96478
+ "configuration",
96479
+ async () => await applyCompleteSessionConfiguration(
96480
+ sessions,
96481
+ created.configOptions,
96482
+ configurations,
96483
+ "refuse",
96484
+ resolvedAgent.agent,
96485
+ resolvedAgent.adapter,
96486
+ resolved.cwd,
96487
+ resolved.additionalDirectories,
96488
+ command2.requestId,
96489
+ command2.sessionId,
96490
+ signal
96491
+ )
96492
+ ),
96493
+ metrics,
96494
+ closed
96495
+ );
96496
+ };
96497
+ const prepared = await prepare();
96454
96498
  return {
96455
96499
  additionalDirectories: resolved.additionalDirectoryEntries,
96456
96500
  agentId: command2.agentId,
@@ -96458,8 +96502,8 @@ async function prepareSession(command2, recovery, closed, config2, resolveAgent,
96458
96502
  agentVersion: prepared.agentVersion,
96459
96503
  capabilities: prepared.capabilities,
96460
96504
  commands: prepared.commands,
96461
- configOptions: snapshot.configOptions,
96462
- configurationRevision: snapshot.configurationRevision,
96505
+ configOptions: prepared.configOptions,
96506
+ configurationRevision: prepared.configurationRevision,
96463
96507
  directoryId: command2.directoryId,
96464
96508
  directoryLabel: resolved.directoryLabel,
96465
96509
  kind: "session.ready",
@@ -97981,4 +98025,4 @@ export {
97981
98025
  * MIT Licensed
97982
98026
  *)
97983
98027
  */
97984
- //# sourceMappingURL=chunk-LX4JLVDZ.js.map
98028
+ //# sourceMappingURL=chunk-QEHEPZW2.js.map