@bastani/atomic 0.9.25-alpha.1 → 0.9.25-alpha.3

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 (133) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/builtin/intercom/package.json +2 -2
  3. package/dist/builtin/mcp/CHANGELOG.md +13 -0
  4. package/dist/builtin/mcp/index.bundle.mjs +489 -208
  5. package/dist/builtin/mcp/package.json +2 -2
  6. package/dist/builtin/subagents/package.json +3 -3
  7. package/dist/builtin/web-access/package.json +2 -2
  8. package/dist/builtin/workflows/CHANGELOG.md +12 -0
  9. package/dist/builtin/workflows/builtin/{chunk-e1254zvd.js → chunk-kfsnh3w7.js} +40 -12
  10. package/dist/builtin/workflows/builtin/{chunk-cpw5gtzg.js → chunk-rqmasd3d.js} +1 -1
  11. package/dist/builtin/workflows/builtin/{chunk-qy6g0baf.js → chunk-wz783pvd.js} +1 -1
  12. package/dist/builtin/workflows/builtin/goal.js +2 -2
  13. package/dist/builtin/workflows/builtin/index.js +3 -3
  14. package/dist/builtin/workflows/builtin/ralph.js +2 -2
  15. package/dist/builtin/workflows/package.json +2 -2
  16. package/dist/builtin/workflows/src/extension/index.bundle.mjs +472 -88
  17. package/dist/builtin/workflows/src/index.js +65 -28
  18. package/dist/core/agent-session-accessors.d.ts.map +1 -1
  19. package/dist/core/agent-session-accessors.js +7 -0
  20. package/dist/core/agent-session-accessors.js.map +1 -1
  21. package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
  22. package/dist/core/agent-session-extension-bindings.js +16 -2
  23. package/dist/core/agent-session-extension-bindings.js.map +1 -1
  24. package/dist/core/agent-session-methods.d.ts +7 -1
  25. package/dist/core/agent-session-methods.d.ts.map +1 -1
  26. package/dist/core/agent-session-methods.js.map +1 -1
  27. package/dist/core/agent-session-state.d.ts.map +1 -1
  28. package/dist/core/agent-session-state.js +3 -2
  29. package/dist/core/agent-session-state.js.map +1 -1
  30. package/dist/core/agent-session-types.d.ts +1 -0
  31. package/dist/core/agent-session-types.d.ts.map +1 -1
  32. package/dist/core/agent-session-types.js.map +1 -1
  33. package/dist/core/agent-session.d.ts +3 -0
  34. package/dist/core/agent-session.d.ts.map +1 -1
  35. package/dist/core/agent-session.js +6 -0
  36. package/dist/core/agent-session.js.map +1 -1
  37. package/dist/core/builtin-resource-loader.d.ts.map +1 -1
  38. package/dist/core/builtin-resource-loader.js +13 -1
  39. package/dist/core/builtin-resource-loader.js.map +1 -1
  40. package/dist/core/extensions/api-types.d.ts +3 -0
  41. package/dist/core/extensions/api-types.d.ts.map +1 -1
  42. package/dist/core/extensions/api-types.js.map +1 -1
  43. package/dist/core/extensions/index.d.ts +2 -0
  44. package/dist/core/extensions/index.d.ts.map +1 -1
  45. package/dist/core/extensions/index.js +1 -0
  46. package/dist/core/extensions/index.js.map +1 -1
  47. package/dist/core/extensions/loader-api.d.ts.map +1 -1
  48. package/dist/core/extensions/loader-api.js +11 -0
  49. package/dist/core/extensions/loader-api.js.map +1 -1
  50. package/dist/core/extensions/loader-runtime.d.ts.map +1 -1
  51. package/dist/core/extensions/loader-runtime.js +3 -0
  52. package/dist/core/extensions/loader-runtime.js.map +1 -1
  53. package/dist/core/extensions/mcp-server-registry.d.ts.map +1 -1
  54. package/dist/core/extensions/mcp-server-registry.js +4 -0
  55. package/dist/core/extensions/mcp-server-registry.js.map +1 -1
  56. package/dist/core/extensions/runner.d.ts +3 -0
  57. package/dist/core/extensions/runner.d.ts.map +1 -1
  58. package/dist/core/extensions/runner.js +4 -0
  59. package/dist/core/extensions/runner.js.map +1 -1
  60. package/dist/core/extensions/runtime-types.d.ts +3 -0
  61. package/dist/core/extensions/runtime-types.d.ts.map +1 -1
  62. package/dist/core/extensions/runtime-types.js.map +1 -1
  63. package/dist/core/extensions/tool-types.d.ts +1 -0
  64. package/dist/core/extensions/tool-types.d.ts.map +1 -1
  65. package/dist/core/extensions/tool-types.js.map +1 -1
  66. package/dist/core/extensions/workflow-run-control-hub.d.ts +23 -0
  67. package/dist/core/extensions/workflow-run-control-hub.d.ts.map +1 -0
  68. package/dist/core/extensions/workflow-run-control-hub.js +57 -0
  69. package/dist/core/extensions/workflow-run-control-hub.js.map +1 -0
  70. package/dist/core/extensions/workflow-run-control.d.ts +163 -0
  71. package/dist/core/extensions/workflow-run-control.d.ts.map +1 -0
  72. package/dist/core/extensions/workflow-run-control.js +73 -0
  73. package/dist/core/extensions/workflow-run-control.js.map +1 -0
  74. package/dist/core/mandatory-resource-loader.d.ts.map +1 -1
  75. package/dist/core/mandatory-resource-loader.js +9 -0
  76. package/dist/core/mandatory-resource-loader.js.map +1 -1
  77. package/dist/core/mcp-servers.d.ts +4 -1
  78. package/dist/core/mcp-servers.d.ts.map +1 -1
  79. package/dist/core/mcp-servers.js.map +1 -1
  80. package/dist/core/oauth-provider-metadata.js +1 -1
  81. package/dist/core/oauth-provider-metadata.js.map +1 -1
  82. package/dist/core/remote-catalog-provider.d.ts.map +1 -1
  83. package/dist/core/remote-catalog-provider.js +4 -9
  84. package/dist/core/remote-catalog-provider.js.map +1 -1
  85. package/dist/core/resource-loader-types.d.ts +4 -0
  86. package/dist/core/resource-loader-types.d.ts.map +1 -1
  87. package/dist/core/resource-loader-types.js.map +1 -1
  88. package/dist/core/sdk.js +1 -0
  89. package/dist/core/sdk.js.map +1 -1
  90. package/dist/core/structured-output/index.d.ts.map +1 -1
  91. package/dist/core/structured-output/index.js +3 -1
  92. package/dist/core/structured-output/index.js.map +1 -1
  93. package/dist/core/tool-loadout.d.ts +1 -0
  94. package/dist/core/tool-loadout.d.ts.map +1 -1
  95. package/dist/core/tool-loadout.js +3 -0
  96. package/dist/core/tool-loadout.js.map +1 -1
  97. package/dist/core/tools/bash.d.ts.map +1 -1
  98. package/dist/core/tools/bash.js +11 -30
  99. package/dist/core/tools/bash.js.map +1 -1
  100. package/dist/extensions/codemode/execute.d.ts.map +1 -1
  101. package/dist/extensions/codemode/execute.js +26 -0
  102. package/dist/extensions/codemode/execute.js.map +1 -1
  103. package/dist/extensions/codemode/renderer.d.ts.map +1 -1
  104. package/dist/extensions/codemode/renderer.js +38 -23
  105. package/dist/extensions/codemode/renderer.js.map +1 -1
  106. package/dist/extensions/codemode/tool.d.ts.map +1 -1
  107. package/dist/extensions/codemode/tool.js +22 -10
  108. package/dist/extensions/codemode/tool.js.map +1 -1
  109. package/dist/extensions/tool-search/tool.d.ts +1 -1
  110. package/dist/extensions/tool-search/tool.d.ts.map +1 -1
  111. package/dist/extensions/tool-search/tool.js +3 -13
  112. package/dist/extensions/tool-search/tool.js.map +1 -1
  113. package/dist/index-extensions.d.ts +2 -1
  114. package/dist/index-extensions.d.ts.map +1 -1
  115. package/dist/index-extensions.js +1 -1
  116. package/dist/index-extensions.js.map +1 -1
  117. package/dist/modes/interactive/components/visual-truncate.d.ts +27 -3
  118. package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -1
  119. package/dist/modes/interactive/components/visual-truncate.js +39 -6
  120. package/dist/modes/interactive/components/visual-truncate.js.map +1 -1
  121. package/docs/extensions/events.md +2 -0
  122. package/docs/mcp-servers.md +47 -0
  123. package/docs/providers.md +9 -1
  124. package/docs/sdk/reference.md +22 -0
  125. package/docs/sdk/structured-decisions.md +2 -0
  126. package/docs/sdk.md +67 -1
  127. package/docs/settings.md +2 -0
  128. package/docs/tools.md +6 -0
  129. package/docs/workflows/operations.md +3 -1
  130. package/examples/extensions/built-in-tool-renderer.ts +16 -40
  131. package/examples/extensions/minimal-mode.ts +28 -108
  132. package/npm-shrinkwrap.json +69 -69
  133. package/package.json +8 -8
@@ -30545,7 +30545,7 @@ function createRecoverablePostgresPool(initialUrl, options = {}) {
30545
30545
  release(true);
30546
30546
  for (const { client } of held) {
30547
30547
  if (client.listenerCount("error") > 0) {
30548
- client.emit("error", new Error("Postgres dependency invalidated"));
30548
+ client.emit("error", new DbosDependencyError("Postgres dependency invalidated"));
30549
30549
  }
30550
30550
  }
30551
30551
  }
@@ -30661,6 +30661,7 @@ function createRecoverablePostgresPool(initialUrl, options = {}) {
30661
30661
  var import_datasource;
30662
30662
  var init_dbos_recoverable_pool = __esm(() => {
30663
30663
  init_esm();
30664
+ init_dbos_admission();
30664
30665
  import_datasource = __toESM(require_datasource(), 1);
30665
30666
  });
30666
30667
 
@@ -40873,6 +40874,9 @@ function isMonitoringConnectionFailure(error) {
40873
40874
  return ["ECONNREFUSED", "ECONNRESET", "EPIPE", "ETIMEDOUT", "57P01", "57P02", "57P03"].includes(String(error.code));
40874
40875
  return error.message === "timeout expired" || error.message === "Connection terminated due to connection timeout";
40875
40876
  }
40877
+ function isQueryReadTimeout(error) {
40878
+ return error instanceof Error && error.message === "Query read timeout";
40879
+ }
40876
40880
 
40877
40881
  class PostgresHealth {
40878
40882
  operations;
@@ -40905,11 +40909,20 @@ class PostgresHealth {
40905
40909
  try {
40906
40910
  if (this.stopped)
40907
40911
  throw new DbosDependencyError;
40908
- await this.operations.validate?.(client);
40912
+ try {
40913
+ await this.operations.validate?.(client);
40914
+ } catch (error) {
40915
+ if (!isQueryReadTimeout(error) || this.stopped)
40916
+ throw error;
40917
+ await this.operations.validate?.(client);
40918
+ }
40909
40919
  } catch (error) {
40910
40920
  this.failure = error instanceof Error ? error : new Error(String(error));
40911
- this.invalidate();
40912
- throw error;
40921
+ if (!isQueryReadTimeout(error)) {
40922
+ this.invalidate();
40923
+ throw error;
40924
+ }
40925
+ throw new DbosDependencyError("Managed PostgreSQL did not answer a connection identity check in time.");
40913
40926
  }
40914
40927
  }
40915
40928
  check() {
@@ -40943,7 +40956,7 @@ class PostgresHealth {
40943
40956
  try {
40944
40957
  identity = await this.operations.probe();
40945
40958
  } catch (error) {
40946
- if (!isMonitoringConnectionFailure(error) || this.stopped)
40959
+ if (!(isMonitoringConnectionFailure(error) || isQueryReadTimeout(error)) || this.stopped)
40947
40960
  throw error;
40948
40961
  try {
40949
40962
  identity = await this.operations.probe();
@@ -40973,6 +40986,10 @@ class PostgresHealth {
40973
40986
  if (ready !== undefined)
40974
40987
  return ready;
40975
40988
  } catch (error) {
40989
+ if (isQueryReadTimeout(error)) {
40990
+ this.failure = new DbosDependencyError("Managed PostgreSQL did not answer a health check in time.");
40991
+ throw this.failure;
40992
+ }
40976
40993
  this.failure = error instanceof Error ? error : new Error(String(error));
40977
40994
  if (!(error instanceof Error && ("code" in error) && error.code === "53300"))
40978
40995
  this.invalidate();
@@ -41236,6 +41253,7 @@ var POSTGRES_IDENTITY_SQL = `SELECT current_setting('data_directory') AS data_di
41236
41253
  split_part(pg_read_file('postmaster.pid'), E'\\n', 3) AS started,
41237
41254
  system_identifier::text, current_setting('server_version') AS server_version FROM pg_control_system()`;
41238
41255
  var POSTGRES_TIMEZONE_SQL = "SELECT set_config('timezone_abbreviations', 'Default', true)";
41256
+ var POSTGRES_HEALTH_QUERY_TIMEOUT_MS = 3000;
41239
41257
  async function probePostgresTimezoneData(port) {
41240
41258
  const client = new Client({
41241
41259
  host: "127.0.0.1",
@@ -41245,8 +41263,8 @@ async function probePostgresTimezoneData(port) {
41245
41263
  database: "postgres",
41246
41264
  ssl: false,
41247
41265
  connectionTimeoutMillis: 1000,
41248
- query_timeout: 1000,
41249
- statement_timeout: 1000
41266
+ query_timeout: POSTGRES_HEALTH_QUERY_TIMEOUT_MS,
41267
+ statement_timeout: POSTGRES_HEALTH_QUERY_TIMEOUT_MS
41250
41268
  });
41251
41269
  client.on("error", () => {});
41252
41270
  try {
@@ -41265,8 +41283,8 @@ async function probePostgresIdentity(port) {
41265
41283
  database: "postgres",
41266
41284
  ssl: false,
41267
41285
  connectionTimeoutMillis: 1000,
41268
- query_timeout: 1000,
41269
- statement_timeout: 1000
41286
+ query_timeout: POSTGRES_HEALTH_QUERY_TIMEOUT_MS,
41287
+ statement_timeout: POSTGRES_HEALTH_QUERY_TIMEOUT_MS
41270
41288
  });
41271
41289
  client.on("error", () => {});
41272
41290
  try {
@@ -41274,6 +41292,8 @@ async function probePostgresIdentity(port) {
41274
41292
  const result = await client.query(POSTGRES_IDENTITY_SQL);
41275
41293
  return result.rows[0];
41276
41294
  } catch (error) {
41295
+ if (isQueryReadTimeout(error))
41296
+ throw error;
41277
41297
  const code = error instanceof Error && "code" in error ? error.code : undefined;
41278
41298
  if (code === "ECONNREFUSED" || code === "ECONNRESET" || code === "EPIPE" || code === "57P01" || code === "57P02" || code === "57P03" || error instanceof Error && /timeout|timed out|connection terminated/i.test(error.message))
41279
41299
  return;
@@ -41441,6 +41461,15 @@ async function ensureCluster(options = {}) {
41441
41461
  }
41442
41462
  let verified;
41443
41463
  const existingServerProbe = () => options.probeIdentity ?? probePostgresIdentity;
41464
+ const startupServerProbe = async (probePort) => {
41465
+ try {
41466
+ return await existingServerProbe()(probePort);
41467
+ } catch (error) {
41468
+ if (isQueryReadTimeout(error))
41469
+ return;
41470
+ throw error;
41471
+ }
41472
+ };
41444
41473
  let prepared = options.prepared ? options.binaries : undefined;
41445
41474
  let selectedIdentity = options.runtimeIdentity;
41446
41475
  let reservedLiveGeneration;
@@ -41561,7 +41590,7 @@ async function ensureCluster(options = {}) {
41561
41590
  }
41562
41591
  } else if (existing) {
41563
41592
  await waitForClusterReadiness(logFile, undefined, async () => {
41564
- verified = await verifyPostgresIdentity(metadata, port, existing.pid, existingServerProbe());
41593
+ verified = await verifyPostgresIdentity(metadata, port, existing.pid, startupServerProbe);
41565
41594
  return verified !== undefined || managedPostmaster(metadata) === undefined;
41566
41595
  }, READY_ATTEMPTS, delay, port, dataDir);
41567
41596
  }
@@ -41593,7 +41622,7 @@ async function ensureCluster(options = {}) {
41593
41622
  startedCluster = { lease };
41594
41623
  activeCluster = startedCluster;
41595
41624
  await waitForClusterReadiness(logFile, startedCluster, async () => {
41596
- verified = await verifyPostgresIdentity(metadata, port, lease.pid, options.probeIdentity);
41625
+ verified = await verifyPostgresIdentity(metadata, port, lease.pid, startupServerProbe);
41597
41626
  return verified !== undefined;
41598
41627
  }, READY_ATTEMPTS, delay, port, dataDir);
41599
41628
  break;
@@ -41662,14 +41691,14 @@ async function ensureCluster(options = {}) {
41662
41691
  probe: () => inspect(),
41663
41692
  validate: async (client) => {
41664
41693
  const identity = await inspect(async () => {
41665
- const query = { text: POSTGRES_IDENTITY_SQL, query_timeout: 1000 };
41694
+ const query = { text: POSTGRES_IDENTITY_SQL, query_timeout: POSTGRES_HEALTH_QUERY_TIMEOUT_MS };
41666
41695
  const result = await client.query(query);
41667
41696
  return result.rows[0];
41668
41697
  });
41669
41698
  if (!identity)
41670
41699
  throw new DbosDependencyError;
41671
41700
  if (options.probeIdentity === undefined) {
41672
- const query = { text: POSTGRES_TIMEZONE_SQL, query_timeout: 1000 };
41701
+ const query = { text: POSTGRES_TIMEZONE_SQL, query_timeout: POSTGRES_HEALTH_QUERY_TIMEOUT_MS };
41673
41702
  await client.query(query);
41674
41703
  }
41675
41704
  },
@@ -55648,7 +55677,8 @@ async function run(def, inputs, opts = {}) {
55648
55677
  let admissionControlError;
55649
55678
  let pausePersistence;
55650
55679
  let resumePersistence;
55651
- let controlAttempt;
55680
+ let controlSettlements = Promise.resolve();
55681
+ let latestControl = 0;
55652
55682
  let pauseGeneration = 0;
55653
55683
  const persistRunControl = async (status) => {
55654
55684
  ownController.signal.throwIfAborted();
@@ -55662,27 +55692,30 @@ async function run(def, inputs, opts = {}) {
55662
55692
  }
55663
55693
  if (durableBackend.getWorkflow(runId) === undefined)
55664
55694
  return;
55665
- controlAttempt?.abort(new Error("Workflow control superseded"));
55666
- const attempt = new AbortController;
55667
- controlAttempt = attempt;
55695
+ const previous = controlSettlements;
55696
+ const control = ++latestControl;
55668
55697
  const settlement = (async () => {
55669
55698
  try {
55670
- await boundedAdmission((signal) => dbosAdmissionContext.run(signal, async () => {
55671
- if (!await transitionDurableWorkflowStatus(durableBackend, runId, ["running", "paused"], status, undefined, true)) {
55672
- throw new Error(`Workflow ${runId} refused the durable ${status} transition`);
55673
- }
55674
- signal.throwIfAborted();
55675
- recordRunTimingCheckpoint(durableBackend, runSnapshot);
55676
- await durableBackend.flush(runId);
55677
- }), AbortSignal.any([ownController.signal, attempt.signal]), DBOS_ADMISSION_TIMEOUT_MS);
55678
- attempt.signal.throwIfAborted();
55699
+ await boundedAdmission(async (signal) => {
55700
+ await raceAbort2(previous, signal);
55701
+ await dbosAdmissionContext.run(signal, async () => {
55702
+ if (!await transitionDurableWorkflowStatus(durableBackend, runId, ["running", "paused"], status, undefined, true)) {
55703
+ throw new Error(`Workflow ${runId} refused the durable ${status} transition`);
55704
+ }
55705
+ signal.throwIfAborted();
55706
+ recordRunTimingCheckpoint(durableBackend, runSnapshot);
55707
+ await durableBackend.flush(runId);
55708
+ });
55709
+ }, ownController.signal, DBOS_ADMISSION_TIMEOUT_MS);
55679
55710
  ownController.signal.throwIfAborted();
55711
+ if (control !== latestControl)
55712
+ return;
55680
55713
  activeStore.recordRunExecutionState(runId, {
55681
55714
  controlPersistence: durableBackend.persistent ? "durable" : "observed",
55682
55715
  ...durableRootAdmitted ? { phase: "executing", dependencyError: undefined } : {}
55683
55716
  });
55684
55717
  } catch (error) {
55685
- if (!attempt.signal.aborted && !ownController.signal.aborted && isDbosDependencyError(error)) {
55718
+ if (control === latestControl && !ownController.signal.aborted && isDbosDependencyError(error)) {
55686
55719
  activeStore.recordRunExecutionState(runId, {
55687
55720
  phase: "blocked_dependency",
55688
55721
  dependencyError: `Workflow database unavailable during ${status === "paused" ? "pause" : "resume"}; persistence not confirmed.`
@@ -55693,6 +55726,11 @@ async function run(def, inputs, opts = {}) {
55693
55726
  throw error;
55694
55727
  }
55695
55728
  })();
55729
+ controlSettlements = settlement.then(() => {
55730
+ return;
55731
+ }, () => {
55732
+ return;
55733
+ });
55696
55734
  if (status === "running")
55697
55735
  return settlement;
55698
55736
  let acknowledgementTimer;
@@ -55721,7 +55759,6 @@ async function run(def, inputs, opts = {}) {
55721
55759
  pause: () => {
55722
55760
  ownController.signal.throwIfAborted();
55723
55761
  pauseGeneration++;
55724
- controlAttempt?.abort(new Error("Workflow control superseded by pause"));
55725
55762
  scheduler.pauseRun();
55726
55763
  activeStore.recordRunPaused(runId, undefined, { resumable: true });
55727
55764
  pausePersistence = persistRunControl("paused");
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session-accessors.d.ts","sourceRoot":"","sources":["../../src/core/agent-session-accessors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,IAAI,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG9F,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI,CA8I1E"}
1
+ {"version":3,"file":"agent-session-accessors.d.ts","sourceRoot":"","sources":["../../src/core/agent-session-accessors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,IAAI,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI9F,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI,CAoJ1E"}
@@ -1,3 +1,4 @@
1
+ import { SessionWorkflowsHandle } from "./extensions/workflow-run-control-hub.js";
1
2
  import { buildSystemPrompt } from "./system-prompt.js";
2
3
  export function installAgentSessionAccessors(prototype) {
3
4
  Object.defineProperties(prototype, {
@@ -138,6 +139,12 @@ export function installAgentSessionAccessors(prototype) {
138
139
  return this._extensionRunner;
139
140
  },
140
141
  },
142
+ workflows: {
143
+ get() {
144
+ this._workflows ??= new SessionWorkflowsHandle(() => this._extensionRunner?.getWorkflowRunControl());
145
+ return this._workflows;
146
+ },
147
+ },
141
148
  });
142
149
  }
143
150
  //# sourceMappingURL=agent-session-accessors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session-accessors.js","sourceRoot":"","sources":["../../src/core/agent-session-accessors.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AgentSessionInternalSurface as AgentSession } from \"./agent-session-methods.ts\";\nimport { buildSystemPrompt } from \"./system-prompt.ts\";\n\nexport function installAgentSessionAccessors(prototype: AgentSession): void {\n\tObject.defineProperties(prototype, {\n\t\torchestrationContext: {\n\t\t\tget() {\n\t\t\t\treturn this._orchestrationContext;\n\t\t\t},\n\t\t},\n\t\tmodelRuntime: {\n\t\t\tget() {\n\t\t\t\treturn this._modelRuntime;\n\t\t\t},\n\t\t},\n\t\tstate: {\n\t\t\tget() {\n\t\t\t\treturn this.agent.state;\n\t\t\t},\n\t\t},\n\t\tmodel: {\n\t\t\tget() {\n\t\t\t\treturn this.agent.state.model;\n\t\t\t},\n\t\t},\n\t\tthinkingLevel: {\n\t\t\tget() {\n\t\t\t\treturn this.agent.state.thinkingLevel;\n\t\t\t},\n\t\t},\n\t\tisStreaming: {\n\t\t\tget() {\n\t\t\t\treturn this.agent.state.isStreaming;\n\t\t\t},\n\t\t},\n\t\tsystemPrompt: {\n\t\t\tget() {\n\t\t\t\treturn buildSystemPrompt(this._runSystemPromptOptions ?? this._baseSystemPromptOptions);\n\t\t\t},\n\t\t},\n\t\tretryAttempt: {\n\t\t\tget() {\n\t\t\t\treturn this._retryAttempt;\n\t\t\t},\n\t\t},\n\t\tisCompacting: {\n\t\t\tget() {\n\t\t\t\treturn (\n\t\t\t\t\tthis._autoCompactionAbortController !== undefined ||\n\t\t\t\t\tthis._compactionAbortController !== undefined ||\n\t\t\t\t\tthis._branchSummaryAbortController !== undefined\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tcompactionReason: {\n\t\t\tget() {\n\t\t\t\treturn this._compactionReason;\n\t\t\t},\n\t\t},\n\t\tmessages: {\n\t\t\tget() {\n\t\t\t\treturn this.agent.state.messages;\n\t\t\t},\n\t\t},\n\t\tsteeringMode: {\n\t\t\tget() {\n\t\t\t\treturn this.agent.steeringMode;\n\t\t\t},\n\t\t},\n\t\tfollowUpMode: {\n\t\t\tget() {\n\t\t\t\treturn this.agent.followUpMode;\n\t\t\t},\n\t\t},\n\t\tsessionFile: {\n\t\t\tget() {\n\t\t\t\treturn this.sessionManager.getSessionFile();\n\t\t\t},\n\t\t},\n\t\tsessionId: {\n\t\t\tget() {\n\t\t\t\treturn this.sessionManager.getSessionId();\n\t\t\t},\n\t\t},\n\t\tsessionName: {\n\t\t\tget() {\n\t\t\t\treturn this.sessionManager.getSessionName();\n\t\t\t},\n\t\t},\n\t\tscopedModels: {\n\t\t\tget() {\n\t\t\t\treturn this._scopedModels;\n\t\t\t},\n\t\t},\n\t\tpromptTemplates: {\n\t\t\tget() {\n\t\t\t\treturn this._resourceLoader.getPrompts().prompts;\n\t\t\t},\n\t\t},\n\t\tpendingMessageCount: {\n\t\t\tget() {\n\t\t\t\treturn this._steeringMessages.length + this._followUpMessages.length;\n\t\t\t},\n\t\t},\n\t\tqueuedMessagesPaused: {\n\t\t\tget() {\n\t\t\t\treturn this._queuedMessagesPaused;\n\t\t\t},\n\t\t},\n\t\tresourceLoader: {\n\t\t\tget() {\n\t\t\t\treturn this._resourceLoader;\n\t\t\t},\n\t\t},\n\t\tautoCompactionEnabled: {\n\t\t\tget() {\n\t\t\t\treturn this.settingsManager.getCompactionEnabled();\n\t\t\t},\n\t\t},\n\t\tisRetrying: {\n\t\t\tget() {\n\t\t\t\treturn this._retryPromise !== undefined;\n\t\t\t},\n\t\t},\n\t\tautoRetryEnabled: {\n\t\t\tget() {\n\t\t\t\treturn this.settingsManager.getRetryEnabled();\n\t\t\t},\n\t\t},\n\t\tisBashRunning: {\n\t\t\tget() {\n\t\t\t\treturn this._bashAbortControllers.size > 0;\n\t\t\t},\n\t\t},\n\t\thasPendingBashMessages: {\n\t\t\tget() {\n\t\t\t\treturn this._pendingBashMessages.length > 0;\n\t\t\t},\n\t\t},\n\t\textensionRunner: {\n\t\t\tget() {\n\t\t\t\treturn this._extensionRunner;\n\t\t\t},\n\t\t},\n\t});\n}\n"]}
1
+ {"version":3,"file":"agent-session-accessors.js","sourceRoot":"","sources":["../../src/core/agent-session-accessors.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AgentSessionInternalSurface as AgentSession } from \"./agent-session-methods.ts\";\nimport { SessionWorkflowsHandle } from \"./extensions/workflow-run-control-hub.js\";\nimport { buildSystemPrompt } from \"./system-prompt.ts\";\n\nexport function installAgentSessionAccessors(prototype: AgentSession): void {\n\tObject.defineProperties(prototype, {\n\t\torchestrationContext: {\n\t\t\tget() {\n\t\t\t\treturn this._orchestrationContext;\n\t\t\t},\n\t\t},\n\t\tmodelRuntime: {\n\t\t\tget() {\n\t\t\t\treturn this._modelRuntime;\n\t\t\t},\n\t\t},\n\t\tstate: {\n\t\t\tget() {\n\t\t\t\treturn this.agent.state;\n\t\t\t},\n\t\t},\n\t\tmodel: {\n\t\t\tget() {\n\t\t\t\treturn this.agent.state.model;\n\t\t\t},\n\t\t},\n\t\tthinkingLevel: {\n\t\t\tget() {\n\t\t\t\treturn this.agent.state.thinkingLevel;\n\t\t\t},\n\t\t},\n\t\tisStreaming: {\n\t\t\tget() {\n\t\t\t\treturn this.agent.state.isStreaming;\n\t\t\t},\n\t\t},\n\t\tsystemPrompt: {\n\t\t\tget() {\n\t\t\t\treturn buildSystemPrompt(this._runSystemPromptOptions ?? this._baseSystemPromptOptions);\n\t\t\t},\n\t\t},\n\t\tretryAttempt: {\n\t\t\tget() {\n\t\t\t\treturn this._retryAttempt;\n\t\t\t},\n\t\t},\n\t\tisCompacting: {\n\t\t\tget() {\n\t\t\t\treturn (\n\t\t\t\t\tthis._autoCompactionAbortController !== undefined ||\n\t\t\t\t\tthis._compactionAbortController !== undefined ||\n\t\t\t\t\tthis._branchSummaryAbortController !== undefined\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tcompactionReason: {\n\t\t\tget() {\n\t\t\t\treturn this._compactionReason;\n\t\t\t},\n\t\t},\n\t\tmessages: {\n\t\t\tget() {\n\t\t\t\treturn this.agent.state.messages;\n\t\t\t},\n\t\t},\n\t\tsteeringMode: {\n\t\t\tget() {\n\t\t\t\treturn this.agent.steeringMode;\n\t\t\t},\n\t\t},\n\t\tfollowUpMode: {\n\t\t\tget() {\n\t\t\t\treturn this.agent.followUpMode;\n\t\t\t},\n\t\t},\n\t\tsessionFile: {\n\t\t\tget() {\n\t\t\t\treturn this.sessionManager.getSessionFile();\n\t\t\t},\n\t\t},\n\t\tsessionId: {\n\t\t\tget() {\n\t\t\t\treturn this.sessionManager.getSessionId();\n\t\t\t},\n\t\t},\n\t\tsessionName: {\n\t\t\tget() {\n\t\t\t\treturn this.sessionManager.getSessionName();\n\t\t\t},\n\t\t},\n\t\tscopedModels: {\n\t\t\tget() {\n\t\t\t\treturn this._scopedModels;\n\t\t\t},\n\t\t},\n\t\tpromptTemplates: {\n\t\t\tget() {\n\t\t\t\treturn this._resourceLoader.getPrompts().prompts;\n\t\t\t},\n\t\t},\n\t\tpendingMessageCount: {\n\t\t\tget() {\n\t\t\t\treturn this._steeringMessages.length + this._followUpMessages.length;\n\t\t\t},\n\t\t},\n\t\tqueuedMessagesPaused: {\n\t\t\tget() {\n\t\t\t\treturn this._queuedMessagesPaused;\n\t\t\t},\n\t\t},\n\t\tresourceLoader: {\n\t\t\tget() {\n\t\t\t\treturn this._resourceLoader;\n\t\t\t},\n\t\t},\n\t\tautoCompactionEnabled: {\n\t\t\tget() {\n\t\t\t\treturn this.settingsManager.getCompactionEnabled();\n\t\t\t},\n\t\t},\n\t\tisRetrying: {\n\t\t\tget() {\n\t\t\t\treturn this._retryPromise !== undefined;\n\t\t\t},\n\t\t},\n\t\tautoRetryEnabled: {\n\t\t\tget() {\n\t\t\t\treturn this.settingsManager.getRetryEnabled();\n\t\t\t},\n\t\t},\n\t\tisBashRunning: {\n\t\t\tget() {\n\t\t\t\treturn this._bashAbortControllers.size > 0;\n\t\t\t},\n\t\t},\n\t\thasPendingBashMessages: {\n\t\t\tget() {\n\t\t\t\treturn this._pendingBashMessages.length > 0;\n\t\t\t},\n\t\t},\n\t\textensionRunner: {\n\t\t\tget() {\n\t\t\t\treturn this._extensionRunner;\n\t\t\t},\n\t\t},\n\t\tworkflows: {\n\t\t\tget() {\n\t\t\t\tthis._workflows ??= new SessionWorkflowsHandle(() => this._extensionRunner?.getWorkflowRunControl());\n\t\t\t\treturn this._workflows;\n\t\t\t},\n\t\t},\n\t});\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session-extension-bindings.d.ts","sourceRoot":"","sources":["../../src/core/agent-session-extension-bindings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-session-extension-bindings.d.ts","sourceRoot":"","sources":["../../src/core/agent-session-extension-bindings.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ import { ModelRegistry } from "./model-registry.js";
12
12
  import { abortSessionWork, assertSessionOpen, drainSessionWork, hasSessionReload, renewSessionWork, retireSessionReloadGeneration, sessionGenerationClosing, trackSessionReload, trackSessionWork, } from "./session-lifecycle-work.js";
13
13
  import { completeStartup, rollbackStartup } from "./session-startup-rollback.js";
14
14
  import { getSkillCatalog } from "./skill-catalog.js";
15
+ import { getDefaultToolNames } from "./tools/index.js";
15
16
  class ExtensionPublicationGate {
16
17
  resourceLoader;
17
18
  effects = [];
@@ -526,6 +527,11 @@ async function reloadOwnedGeneration(retainedRuntimes, options) {
526
527
  const oldRunner = this._extensionRunner;
527
528
  const previousFlagValues = oldRunner.getExplicitFlagValues();
528
529
  const activeToolNames = this.getActiveToolNames();
530
+ const previousDefaultTools = this._appliedDefaultTools;
531
+ const activeToolsAfterReload = (defaultTools) => [
532
+ ...activeToolNames,
533
+ ...(this._usesDefaultTools ? defaultTools.filter((name) => !previousDefaultTools.has(name)) : []),
534
+ ];
529
535
  const prepareResourceReload = this._resourceLoader.prepareReload?.bind(this._resourceLoader);
530
536
  if (prepareResourceReload === undefined || this._resourceLoader.supportsTransactionalReload?.() === false) {
531
537
  if (options?.failOnExtensionErrors) {
@@ -536,7 +542,13 @@ async function reloadOwnedGeneration(retainedRuntimes, options) {
536
542
  await this.settingsManager.reload();
537
543
  resetApiProviders();
538
544
  await this._resourceLoader.reload();
539
- this._buildRuntime({ activeToolNames, flagValues: previousFlagValues, includeAllExtensionTools: true });
545
+ const defaultTools = this.settingsManager.getDefaultTools() ?? getDefaultToolNames();
546
+ this._buildRuntime({
547
+ activeToolNames: activeToolsAfterReload(defaultTools),
548
+ flagValues: previousFlagValues,
549
+ includeAllExtensionTools: true,
550
+ });
551
+ this._appliedDefaultTools = new Set(defaultTools);
540
552
  retainedRuntimes.add(this._resourceLoader.getExtensions().runtime);
541
553
  for (const extension of this._resourceLoader.getExtensions().extensions)
542
554
  factoryAcquisitions.getStore()?.pending?.delete(extension);
@@ -559,6 +571,7 @@ async function reloadOwnedGeneration(retainedRuntimes, options) {
559
571
  }
560
572
  const settingsTransaction = await this.settingsManager.prepareReload();
561
573
  const resourceTransaction = await prepareResourceReload(settingsTransaction.settingsManager);
574
+ const defaultTools = settingsTransaction.settingsManager.getDefaultTools() ?? getDefaultToolNames();
562
575
  const errors = resourceTransaction.loader.getExtensions().errors;
563
576
  const extensionsResult = resourceTransaction.loader.getExtensions();
564
577
  for (const [name, value] of previousFlagValues) {
@@ -648,11 +661,12 @@ async function reloadOwnedGeneration(retainedRuntimes, options) {
648
661
  this._bindExtensionCore(candidateRunner);
649
662
  this._applyExtensionBindings(candidateRunner);
650
663
  this._buildRuntime({
651
- activeToolNames,
664
+ activeToolNames: activeToolsAfterReload(defaultTools),
652
665
  flagValues: previousFlagValues,
653
666
  includeAllExtensionTools: true,
654
667
  preserveRunner: true,
655
668
  });
669
+ this._appliedDefaultTools = new Set(defaultTools);
656
670
  }
657
671
  catch (error) {
658
672
  failures.push(error);