@skaile/workspaces 4.16.1 → 4.16.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 (126) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/{asset-feeds-XOSCB6D5.js → asset-feeds-XBSARE5D.js} +4 -4
  3. package/dist/{asset-feeds-XOSCB6D5.js.map → asset-feeds-XBSARE5D.js.map} +1 -1
  4. package/dist/asset-manager/index.js +1 -1
  5. package/dist/bridge/drivers/claude-sdk.js +4 -4
  6. package/dist/bridge/drivers/claude-sdk.js.map +1 -1
  7. package/dist/bridge/drivers/codex.js +4 -3
  8. package/dist/bridge/drivers/codex.js.map +1 -1
  9. package/dist/bridge/drivers/continue.js +4 -4
  10. package/dist/bridge/drivers/echo.js +1 -1
  11. package/dist/bridge/drivers/gemini.js +6 -6
  12. package/dist/bridge/drivers/goose.js +4 -4
  13. package/dist/bridge/drivers/omp.js +4 -3
  14. package/dist/bridge/drivers/omp.js.map +1 -1
  15. package/dist/bridge/drivers/opencode.js +4 -4
  16. package/dist/bridge/drivers/qwen.js +6 -6
  17. package/dist/bridge/index.js +4 -4
  18. package/dist/bridge/src/drivers/_subprocess-cli.d.ts.map +1 -1
  19. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
  20. package/dist/bridge/src/drivers/codex.d.ts.map +1 -1
  21. package/dist/bridge/src/drivers/omp.d.ts.map +1 -1
  22. package/dist/bridge/src/index.d.ts +1 -0
  23. package/dist/bridge/src/index.d.ts.map +1 -1
  24. package/dist/bridge/src/runner-private-env.d.ts +19 -0
  25. package/dist/bridge/src/runner-private-env.d.ts.map +1 -0
  26. package/dist/{chunk-RPC2C3QL.js → chunk-3MRCJJSH.js} +3 -3
  27. package/dist/{chunk-RPC2C3QL.js.map → chunk-3MRCJJSH.js.map} +1 -1
  28. package/dist/{chunk-K2S4ECDJ.js → chunk-5OAMRXJZ.js} +3 -3
  29. package/dist/{chunk-K2S4ECDJ.js.map → chunk-5OAMRXJZ.js.map} +1 -1
  30. package/dist/{chunk-S3M2U3JP.js → chunk-76IGAJ47.js} +3 -3
  31. package/dist/{chunk-S3M2U3JP.js.map → chunk-76IGAJ47.js.map} +1 -1
  32. package/dist/{chunk-WDBEHNOJ.js → chunk-7GCOHM2S.js} +2 -2
  33. package/dist/{chunk-WDBEHNOJ.js.map → chunk-7GCOHM2S.js.map} +1 -1
  34. package/dist/{chunk-LDT6NGSL.js → chunk-B6IDJRRZ.js} +3 -3
  35. package/dist/{chunk-LDT6NGSL.js.map → chunk-B6IDJRRZ.js.map} +1 -1
  36. package/dist/{chunk-GAH4YRCI.js → chunk-BGY4KTU6.js} +13 -3
  37. package/dist/chunk-BGY4KTU6.js.map +1 -0
  38. package/dist/{chunk-QD4IQSDE.js → chunk-BWWNJLXJ.js} +6 -6
  39. package/dist/{chunk-QD4IQSDE.js.map → chunk-BWWNJLXJ.js.map} +1 -1
  40. package/dist/{chunk-AJRRSHYB.js → chunk-GGRHNBUP.js} +3 -3
  41. package/dist/{chunk-AJRRSHYB.js.map → chunk-GGRHNBUP.js.map} +1 -1
  42. package/dist/{chunk-KEBJL3QI.js → chunk-I66MW6OR.js} +3 -3
  43. package/dist/{chunk-KEBJL3QI.js.map → chunk-I66MW6OR.js.map} +1 -1
  44. package/dist/{chunk-TEQDWOBS.js → chunk-LPPRZAO5.js} +4 -4
  45. package/dist/{chunk-TEQDWOBS.js.map → chunk-LPPRZAO5.js.map} +1 -1
  46. package/dist/{chunk-J7WFDLV6.js → chunk-N5YUCSMA.js} +5 -5
  47. package/dist/chunk-N5YUCSMA.js.map +1 -0
  48. package/dist/{chunk-VE2KMHG6.js → chunk-OWMHVP6Q.js} +75 -23
  49. package/dist/chunk-OWMHVP6Q.js.map +1 -0
  50. package/dist/{chunk-OH2ULGQX.js → chunk-SNW3UR3K.js} +6 -6
  51. package/dist/{chunk-OH2ULGQX.js.map → chunk-SNW3UR3K.js.map} +1 -1
  52. package/dist/{chunk-MY5TANRN.js → chunk-UBDQFZZH.js} +7 -6
  53. package/dist/chunk-UBDQFZZH.js.map +1 -0
  54. package/dist/{chunk-SPJWQXYF.js → chunk-VIX4AEVZ.js} +4 -4
  55. package/dist/{chunk-SPJWQXYF.js.map → chunk-VIX4AEVZ.js.map} +1 -1
  56. package/dist/{chunk-GP7VFWAO.js → chunk-W4AEVRUC.js} +6 -6
  57. package/dist/{chunk-GP7VFWAO.js.map → chunk-W4AEVRUC.js.map} +1 -1
  58. package/dist/{chunk-OWKFJBSR.js → chunk-WTUHM2NJ.js} +2 -2
  59. package/dist/{chunk-OWKFJBSR.js.map → chunk-WTUHM2NJ.js.map} +1 -1
  60. package/dist/{chunk-CJGNYHPG.js → chunk-ZCKQQJ7K.js} +2 -2
  61. package/dist/{chunk-CJGNYHPG.js.map → chunk-ZCKQQJ7K.js.map} +1 -1
  62. package/dist/cli/index.js +35 -33
  63. package/dist/cli/index.js.map +1 -1
  64. package/dist/cli/src/commands/serve.d.ts.map +1 -1
  65. package/dist/connectors/index.js +5 -5
  66. package/dist/{ensure-sources-GAWYYBUI.js → ensure-sources-PTZJZE56.js} +4 -4
  67. package/dist/{ensure-sources-GAWYYBUI.js.map → ensure-sources-PTZJZE56.js.map} +1 -1
  68. package/dist/factory-assets/connectors/box.js +5 -5
  69. package/dist/factory-assets/connectors/deploy.js +5 -5
  70. package/dist/factory-assets/connectors/devserver.js +5 -5
  71. package/dist/factory-assets/connectors/flow/adapter.js +5 -5
  72. package/dist/factory-assets/connectors/flow/run-flow.js +6 -6
  73. package/dist/factory-assets/connectors/flow.js +5 -5
  74. package/dist/factory-assets/connectors/git.js +5 -5
  75. package/dist/factory-assets/connectors/gmail.js +5 -5
  76. package/dist/factory-assets/connectors/googledrive.js +5 -5
  77. package/dist/factory-assets/connectors/local.js +5 -5
  78. package/dist/factory-assets/connectors/mattermost.js +5 -5
  79. package/dist/factory-assets/connectors/memory.js +5 -5
  80. package/dist/factory-assets/connectors/minio.js +5 -5
  81. package/dist/factory-assets/connectors/postgres.js +5 -5
  82. package/dist/factory-assets/connectors/s3/driver.d.ts.map +1 -1
  83. package/dist/factory-assets/connectors/s3.js +5 -5
  84. package/dist/factory-assets/connectors/sharepoint.js +5 -5
  85. package/dist/factory-assets/connectors/sqlite.js +5 -5
  86. package/dist/factory-assets/connectors/static-server.js +5 -5
  87. package/dist/factory-assets/connectors/tunnel.js +5 -5
  88. package/dist/factory-assets/connectors/webdav.js +5 -5
  89. package/dist/factory-assets/connectors/xstate-store.js +5 -5
  90. package/dist/factory-assets/connectors/xstate.js +5 -5
  91. package/dist/{helpers-7747HYZ7.js → helpers-TPVJ6XTD.js} +4 -4
  92. package/dist/{helpers-7747HYZ7.js.map → helpers-TPVJ6XTD.js.map} +1 -1
  93. package/dist/{library-publish-X7N4SDMM.js → library-publish-4XE5BQTE.js} +6 -6
  94. package/dist/{library-publish-X7N4SDMM.js.map → library-publish-4XE5BQTE.js.map} +1 -1
  95. package/dist/{open-library-CBTA4KOH.js → open-library-WFTFVJ67.js} +5 -5
  96. package/dist/{open-library-CBTA4KOH.js.map → open-library-WFTFVJ67.js.map} +1 -1
  97. package/dist/{project-TJYBZGVU.js → project-FI5A4E7X.js} +5 -5
  98. package/dist/{project-TJYBZGVU.js.map → project-FI5A4E7X.js.map} +1 -1
  99. package/dist/runner/index.js +8 -8
  100. package/dist/runner/src/index.d.ts +1 -0
  101. package/dist/runner/src/index.d.ts.map +1 -1
  102. package/dist/runner/src/resources.d.ts +4 -2
  103. package/dist/runner/src/resources.d.ts.map +1 -1
  104. package/dist/runner/src/serve.d.ts +12 -2
  105. package/dist/runner/src/serve.d.ts.map +1 -1
  106. package/dist/runner/src/session-builder.d.ts +6 -0
  107. package/dist/runner/src/session-builder.d.ts.map +1 -1
  108. package/dist/runner/src/ws-auth-token.d.ts +52 -0
  109. package/dist/runner/src/ws-auth-token.d.ts.map +1 -0
  110. package/dist/sdk/asset-manager.js +1 -1
  111. package/dist/sdk/bridge.js +4 -4
  112. package/dist/sdk/index.js +8 -8
  113. package/dist/sdk/runner.js +8 -8
  114. package/dist/{setup-JKDRX7XK.js → setup-EDSTI5LM.js} +9 -9
  115. package/dist/{setup-JKDRX7XK.js.map → setup-EDSTI5LM.js.map} +1 -1
  116. package/dist/{source-3YMETAC3.js → source-7VNEUEGO.js} +6 -6
  117. package/dist/{source-3YMETAC3.js.map → source-7VNEUEGO.js.map} +1 -1
  118. package/dist/{source-manifest-publish-WTKOO45D.js → source-manifest-publish-SQ2SXJEA.js} +7 -7
  119. package/dist/{source-manifest-publish-WTKOO45D.js.map → source-manifest-publish-SQ2SXJEA.js.map} +1 -1
  120. package/dist/tui/index.js +8 -8
  121. package/dist/workspace-plugin/index.js +1 -1
  122. package/package.json +1 -1
  123. package/dist/chunk-GAH4YRCI.js.map +0 -1
  124. package/dist/chunk-J7WFDLV6.js.map +0 -1
  125. package/dist/chunk-MY5TANRN.js.map +0 -1
  126. package/dist/chunk-VE2KMHG6.js.map +0 -1
@@ -1,19 +1,19 @@
1
- import { WorkspacePlugin } from './chunk-WDBEHNOJ.js';
1
+ import { WorkspacePlugin } from './chunk-7GCOHM2S.js';
2
2
  import { buildWorkspaceToolDefs } from './chunk-PQE2MYB6.js';
3
3
  import { findAiAssetsRoot } from './chunk-7IH3RKKK.js';
4
4
  import { WebSocketServerTransport } from './chunk-73ZXUUL6.js';
5
5
  import { assembleSystemPrompt, buildCapabilitiesPromptSection } from './chunk-W3UDISS2.js';
6
6
  import { prepareNativePolicy, codexInstanceEnvironment, parseCodexCredential, parseCodexRefreshInput, parseCodexRefreshResult } from './chunk-PE3A6FFW.js';
7
- import { resolveFlowPath } from './chunk-K2S4ECDJ.js';
7
+ import { resolveFlowPath } from './chunk-5OAMRXJZ.js';
8
8
  import { findAiAssetsRoot as findAiAssetsRoot$1, deployCatalogEntry, undeployCatalogEntry } from './chunk-Q6NDQ6BH.js';
9
- import { registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, buildSdkConnectorTools, buildLazySdkFlowTools, describeFlowOperations, buildConnectorToolDefs, buildFlowToolDefs, driveOrchestratorTurn, SessionNodeExecutor, SessionSubpromptRunner, ClassifierSubpromptRunner, SessionInlineSubFlowRunner, buildSdkFlowTools } from './chunk-MY5TANRN.js';
9
+ import { registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, buildSdkConnectorTools, buildLazySdkFlowTools, describeFlowOperations, buildConnectorToolDefs, buildFlowToolDefs, driveOrchestratorTurn, SessionNodeExecutor, SessionSubpromptRunner, ClassifierSubpromptRunner, SessionInlineSubFlowRunner, buildSdkFlowTools } from './chunk-UBDQFZZH.js';
10
10
  import { loadYamlConnectorDeclarations, withMaterializedConnectorDeclarations, SecretProviderChain, ConnectorStartupError, PreMintedSecretProvider, InMemorySecretProvider, resolvedConfigToDeclarations, isKnownSecretRef, deriveSingleMaterializedConnectorDeclaration } from './chunk-MC2MF4U5.js';
11
- import { EventNormalizer } from './chunk-TEQDWOBS.js';
11
+ import { EventNormalizer } from './chunk-LPPRZAO5.js';
12
12
  import { probeResumeTranscript } from './chunk-4SIMGJIU.js';
13
13
  import { CodexNativeStateUnavailable } from './chunk-LOO5CB5M.js';
14
14
  import { dispatchCapability } from './chunk-TOXPRXAK.js';
15
- import { classifyClaudeSdkError } from './chunk-GAH4YRCI.js';
16
- import { createDriver, catalogLayer, providerCredentialEnvName, toMergedRegistry, registryCredentialEnv, AI_PROVIDER_PRESETS } from './chunk-CJGNYHPG.js';
15
+ import { classifyClaudeSdkError } from './chunk-BGY4KTU6.js';
16
+ import { createDriver, catalogLayer, providerCredentialEnvName, toMergedRegistry, registryCredentialEnv, AI_PROVIDER_PRESETS } from './chunk-ZCKQQJ7K.js';
17
17
  import { loadFlow } from './chunk-KTCMBEEB.js';
18
18
  import { parseFlowDefinition } from './chunk-ALLCAFHQ.js';
19
19
  import { renderStimulusPrompt } from './chunk-RQLL7L72.js';
@@ -34,7 +34,7 @@ import { Marked } from 'marked';
34
34
  import { markedTerminal } from 'marked-terminal';
35
35
  import fs4, { readFile, readdir, lstat, stat, rm, unlink, mkdir, writeFile, realpath, rename, open, readlink, mkdtemp } from 'fs/promises';
36
36
  import { createHash, randomBytes, timingSafeEqual, randomUUID } from 'crypto';
37
- import { existsSync, lstatSync, realpathSync, readFileSync, mkdirSync, writeFileSync, watch, chmodSync, accessSync, constants } from 'fs';
37
+ import { unlinkSync, readFileSync, existsSync, lstatSync, realpathSync, mkdirSync, writeFileSync, watch, chmodSync, accessSync, constants } from 'fs';
38
38
  import { homedir } from 'os';
39
39
  import * as z7 from 'zod';
40
40
  import { z } from 'zod';
@@ -2219,7 +2219,7 @@ function parsePresignResult(raw, op) {
2219
2219
  }
2220
2220
 
2221
2221
  // runner/src/resources.ts
2222
- async function buildAgentResources(projectDir, driverType, _onLog, watch, secretProvider, sessionMeta, tokenMediator, preMintedSecrets, deferFilesystemMounts, capabilityRegistry, fallbackConnectorDeclarations, extraMcpDeclarations) {
2222
+ async function buildAgentResources(projectDir, driverType, _onLog, watch, secretProvider, sessionMeta, tokenMediator, preMintedSecrets, deferFilesystemMounts, capabilityRegistry, fallbackConnectorDeclarations, extraMcpDeclarations, s3Presigner) {
2223
2223
  const managedProjectMcp = sessionMeta?.managedCodex ? await resolveExternalMcpDeclarations(projectDir, sessionMeta.sessionId, true) : void 0;
2224
2224
  const resLog = createLogger({
2225
2225
  kind: "runner",
@@ -2273,7 +2273,8 @@ async function buildAgentResources(projectDir, driverType, _onLog, watch, secret
2273
2273
  deferFilesystemMounts,
2274
2274
  watch,
2275
2275
  resLog,
2276
- capabilityRegistry
2276
+ capabilityRegistry,
2277
+ s3Presigner
2277
2278
  );
2278
2279
  }
2279
2280
  const resourcePromptSection = resourceManager ? buildConnectorPromptSection(resourceManager) : "";
@@ -2420,18 +2421,16 @@ function logConnectorReport(results, resLog) {
2420
2421
  }
2421
2422
  }
2422
2423
  }
2423
- async function connectAllConnectors(connectorDeclarations, projectDir, runtimeAssets, secretProvider, tokenMediator, preMintedSecrets, deferFilesystemMounts, watch, resLog, capabilityRegistry) {
2424
+ async function connectAllConnectors(connectorDeclarations, projectDir, runtimeAssets, secretProvider, tokenMediator, preMintedSecrets, deferFilesystemMounts, watch, resLog, capabilityRegistry, s3Presigner) {
2425
+ const presigner = s3Presigner ?? (capabilityRegistry ? buildS3Presigner({
2426
+ invokeRemote: (name, input) => capabilityRegistry.invokeRemote(name, input),
2427
+ log: (line) => resLog.warn(line)
2428
+ }) : void 0);
2424
2429
  const resourceManager = new ConnectorManager(projectDir, {
2425
2430
  secrets: secretProvider,
2426
2431
  catalogEntries: runtimeAssets.catalogEntries,
2427
2432
  tokenMediator,
2428
- // Serve mode only: `auth: backend` S3 mounts read through `host.s3_presign`.
2429
- ...capabilityRegistry ? {
2430
- s3Presigner: buildS3Presigner({
2431
- invokeRemote: (name, input) => capabilityRegistry.invokeRemote(name, input),
2432
- log: (line) => resLog.warn(line)
2433
- })
2434
- } : {},
2433
+ ...presigner ? { s3Presigner: presigner } : {},
2435
2434
  preMintedSecrets,
2436
2435
  onStatusChange: watch?.onConnectorStatus
2437
2436
  });
@@ -2652,7 +2651,8 @@ async function createAgentSession(config) {
2652
2651
  config.deferFilesystemMounts,
2653
2652
  config.capabilityRegistry,
2654
2653
  config.fallbackConnectorDeclarations,
2655
- config.getExtraMcpDeclarations?.()
2654
+ config.getExtraMcpDeclarations?.(),
2655
+ config.s3Presigner
2656
2656
  );
2657
2657
  const wsConfig = managedWorkspaceConfig ?? wsConfigOverride ?? resolveSkWorkspaceConfig(projectDir);
2658
2658
  const contextSection = buildContextSection(wsConfig.agent?.context);
@@ -6474,6 +6474,37 @@ var TurnStatusTracker = class {
6474
6474
  return { type: "status", phase: this.phase ?? "idle" };
6475
6475
  }
6476
6476
  };
6477
+ var WS_AUTH_TOKEN_ENV = "SKAILE_WS_AUTH_TOKEN";
6478
+ var WS_AUTH_TOKEN_FILE_ENV = "SKAILE_WS_AUTH_TOKEN_FILE";
6479
+ var nodeFs = { readFileSync: readFileSync, unlinkSync };
6480
+ function takeRunnerWsAuthToken(env = process.env, fs5 = nodeFs) {
6481
+ const filePath = env[WS_AUTH_TOKEN_FILE_ENV];
6482
+ const envToken = env[WS_AUTH_TOKEN_ENV];
6483
+ delete env[WS_AUTH_TOKEN_FILE_ENV];
6484
+ delete env[WS_AUTH_TOKEN_ENV];
6485
+ if (filePath) {
6486
+ let token;
6487
+ try {
6488
+ token = fs5.readFileSync(filePath, "utf8").trim();
6489
+ } catch (err) {
6490
+ const code = err.code ?? "unknown";
6491
+ throw new Error(`${WS_AUTH_TOKEN_FILE_ENV} is set but the file cannot be read (${code})`);
6492
+ }
6493
+ if (!token) throw new Error(`${WS_AUTH_TOKEN_FILE_ENV} names an empty file`);
6494
+ try {
6495
+ fs5.unlinkSync(filePath);
6496
+ return { token, source: "file" };
6497
+ } catch (err) {
6498
+ return {
6499
+ token,
6500
+ source: "file",
6501
+ unlinkError: err.code ?? String(err)
6502
+ };
6503
+ }
6504
+ }
6505
+ if (envToken) return { token: envToken, source: "env" };
6506
+ return { source: "none" };
6507
+ }
6477
6508
 
6478
6509
  // runner/src/serve.ts
6479
6510
  function getSessionCatalogEntries(session) {
@@ -7183,7 +7214,9 @@ async function startAgentServer(opts) {
7183
7214
  const managedHost = opts.managedCodex ? validateManagedCodexHost(opts.managedCodex, opts.projectDir) : void 0;
7184
7215
  if (managedHost && opts.sessionId && opts.sessionId !== managedHost.sessionId)
7185
7216
  throw new Error("CODEX_MANAGED_BOOTSTRAP_INVALID");
7186
- const authToken = opts.authToken ?? process.env.SKAILE_WS_AUTH_TOKEN;
7217
+ const freshIntake = takeRunnerWsAuthToken();
7218
+ const takenAuthToken = opts.authTokenIntake ?? freshIntake;
7219
+ const authToken = opts.authToken ?? takenAuthToken.token;
7187
7220
  if (managedHost && !opts.transport && !authToken)
7188
7221
  throw new Error("CODEX_MANAGED_BOOTSTRAP_INVALID");
7189
7222
  const supportedRuntimeFeatures = managedHost ? ["codex-app-server-v1"] : [];
@@ -7208,6 +7241,13 @@ async function startAgentServer(opts) {
7208
7241
  instance: sessionId
7209
7242
  });
7210
7243
  const log = (line) => serverLog.info(line);
7244
+ serverLog.info("ws auth token", {
7245
+ source: opts.authToken ? "caller" : takenAuthToken.source
7246
+ });
7247
+ if (takenAuthToken.unlinkError)
7248
+ serverLog.warn("ws auth token file could not be removed", {
7249
+ code: takenAuthToken.unlinkError
7250
+ });
7211
7251
  const logPhase = (phase, startedAt, data) => serverLog.info(`[serve] phase ${phase}`, { ...data, phase, elapsedMs: Date.now() - startedAt });
7212
7252
  const exitOnBrokenPipe = opts.exitOnBrokenPipe ?? false;
7213
7253
  const stopOutputWatch = watchOutputStream({ exitOnBrokenPipe });
@@ -7387,10 +7427,20 @@ async function startAgentServer(opts) {
7387
7427
  invokeRemote: (name, input) => capabilityRegistry.invokeRemote(name, input),
7388
7428
  log
7389
7429
  });
7390
- const connectorS3Presigner = buildS3Presigner({
7430
+ const invokeS3Presign = buildS3Presigner({
7391
7431
  invokeRemote: (name, input) => capabilityRegistry.invokeRemote(name, input),
7392
7432
  log
7393
7433
  });
7434
+ const connectorS3Presigner = async (request) => {
7435
+ if (!hostRuntimeCapabilities.has(S3_PRESIGN_CAPABILITY) && !capabilityRegistry.resolve(S3_PRESIGN_CAPABILITY)) {
7436
+ return {
7437
+ ok: false,
7438
+ code: "capability-unavailable",
7439
+ message: `${S3_PRESIGN_CAPABILITY} is not registered by this host`
7440
+ };
7441
+ }
7442
+ return invokeS3Presign(request);
7443
+ };
7394
7444
  const aiCredentialRefreshScheduler = createAiCredentialRefreshScheduler({
7395
7445
  refresh: async () => {
7396
7446
  const { mint: result } = await aiProviderConfigSwitcher.repull({
@@ -7560,6 +7610,7 @@ async function startAgentServer(opts) {
7560
7610
  // connectors in-process; connector refresh (refresh / retry-401) now routes
7561
7611
  // through `host.refresh_credential` via this mediator.
7562
7612
  tokenMediator: connectorTokenMediator,
7613
+ s3Presigner: connectorS3Presigner,
7563
7614
  ...preMintedSecrets ? { preMintedSecrets } : {},
7564
7615
  ...aiProviderConfigId ? { aiProviderConfigId } : {},
7565
7616
  // Disk-first fallback: only consumed when skaile.yaml + materialized
@@ -8747,6 +8798,7 @@ async function startAgentServer(opts) {
8747
8798
  return;
8748
8799
  }
8749
8800
  registerInitClientCapabilities(cmd.capabilities ?? []);
8801
+ capabilityRegistry.setRemoteInvoker(remoteCapabilityInvoker);
8750
8802
  sendEvent({
8751
8803
  type: "protocol_info",
8752
8804
  version: PROTOCOL_VERSION,
@@ -9561,6 +9613,6 @@ function touchSession(state) {
9561
9613
  return { ...state, updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
9562
9614
  }
9563
9615
 
9564
- export { CLAUDE_CODE_CREDENTIALS_KEY, COMPILE_MANIFEST_FILENAME, CapabilityRegistry, DEFAULT_CAPABILITY_CALL_TIMEOUT_MS, DEFAULT_COALESCE_MS, DEFAULT_FLOW_MUTATE_CONNECTOR_WAIT_MS, MOUNT_LIST_MAX_DEPTH, MOUNT_LIST_MAX_ENTRIES, MOUNT_READ_DEADLINE_FACTOR, MOUNT_STAT_BUDGET_MS, MOUNT_STAT_MAX_ENTRIES, MOUNT_TREE_OP_DEADLINE_FACTOR, MarkdownStreamer, PreInitRingSink, ResourceOperationError, SESSION_ROOT_WRITABLE_DIRS, SESSION_ROOT_WRITABLE_FILES, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildConnectorTokenMediator, buildContextSection, buildEnvironmentSection, buildResourcesAvailablePayload, buildStoreSnapshotReplay, builtinCapabilities, capabilityLogInstance, clearPreInitRingSink, clearSession, compileComposition, computeCapabilitySignature, computeDirectoryTotals, connectorRefreshKind, createAgentSession, createFlowConnectorReadiness, createManagedCodexSubpromptDriver, createSessionStimulusBus, defineCapability, deleteSession, dispatchResourceRequest, dispatchRunnerCapabilityInvocation, emitSystemPromptComposed, ensureClaudeSettingsDisablesConnectors, ensureGitConfigInclude, executeConnectorMutate, extractClaudeAiOauthExpiresAt, flowStartNeedsDriverRestart, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, handleSessionRootResourceRequest, hasNonTerminalFlow, hostOpResumeStimulus, installPreInitRingSink, isSessionRootPathAllowed, isTerminalFlowStatus, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadManagedCodexHostConfig, loadSession, loadSessionById, mcpAuthSecretKey, newSession, nulTailPaddingLength, pickFlowToolTarget, pickRepointedManager, planFlowMutate, prepareCodexTools, reconcilePendingDecisions, registerActiveFlow, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, resetRunnerLogStore, resolveAgentComposition, resolveAgentMixins, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveFlowMutateConnectorWaitMs, resolveMixin, runAgentChat, saveSession, setCurrentSession, setUpFlowConnector, startAgentServer, stimulusFromMetas, supportsLiveToolUpdates, touchSession, validateInputResponse, writeClaudeCodeCredentialsFile };
9565
- //# sourceMappingURL=chunk-VE2KMHG6.js.map
9566
- //# sourceMappingURL=chunk-VE2KMHG6.js.map
9616
+ export { CLAUDE_CODE_CREDENTIALS_KEY, COMPILE_MANIFEST_FILENAME, CapabilityRegistry, DEFAULT_CAPABILITY_CALL_TIMEOUT_MS, DEFAULT_COALESCE_MS, DEFAULT_FLOW_MUTATE_CONNECTOR_WAIT_MS, MOUNT_LIST_MAX_DEPTH, MOUNT_LIST_MAX_ENTRIES, MOUNT_READ_DEADLINE_FACTOR, MOUNT_STAT_BUDGET_MS, MOUNT_STAT_MAX_ENTRIES, MOUNT_TREE_OP_DEADLINE_FACTOR, MarkdownStreamer, PreInitRingSink, ResourceOperationError, SESSION_ROOT_WRITABLE_DIRS, SESSION_ROOT_WRITABLE_FILES, WS_AUTH_TOKEN_ENV, WS_AUTH_TOKEN_FILE_ENV, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildConnectorTokenMediator, buildContextSection, buildEnvironmentSection, buildResourcesAvailablePayload, buildStoreSnapshotReplay, builtinCapabilities, capabilityLogInstance, clearPreInitRingSink, clearSession, compileComposition, computeCapabilitySignature, computeDirectoryTotals, connectorRefreshKind, createAgentSession, createFlowConnectorReadiness, createManagedCodexSubpromptDriver, createSessionStimulusBus, defineCapability, deleteSession, dispatchResourceRequest, dispatchRunnerCapabilityInvocation, emitSystemPromptComposed, ensureClaudeSettingsDisablesConnectors, ensureGitConfigInclude, executeConnectorMutate, extractClaudeAiOauthExpiresAt, flowStartNeedsDriverRestart, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, handleSessionRootResourceRequest, hasNonTerminalFlow, hostOpResumeStimulus, installPreInitRingSink, isSessionRootPathAllowed, isTerminalFlowStatus, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadManagedCodexHostConfig, loadSession, loadSessionById, mcpAuthSecretKey, newSession, nulTailPaddingLength, pickFlowToolTarget, pickRepointedManager, planFlowMutate, prepareCodexTools, reconcilePendingDecisions, registerActiveFlow, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, resetRunnerLogStore, resolveAgentComposition, resolveAgentMixins, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveFlowMutateConnectorWaitMs, resolveMixin, runAgentChat, saveSession, setCurrentSession, setUpFlowConnector, startAgentServer, stimulusFromMetas, supportsLiveToolUpdates, takeRunnerWsAuthToken, touchSession, validateInputResponse, writeClaudeCodeCredentialsFile };
9617
+ //# sourceMappingURL=chunk-OWMHVP6Q.js.map
9618
+ //# sourceMappingURL=chunk-OWMHVP6Q.js.map