@skaile/workspaces 4.14.0 → 4.16.0

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 (175) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/{asset-feeds-ZCUKOJVN.js → asset-feeds-24G4CSZ5.js} +7 -7
  3. package/dist/{asset-feeds-ZCUKOJVN.js.map → asset-feeds-24G4CSZ5.js.map} +1 -1
  4. package/dist/asset-manager/catalog-deployer.js +3 -3
  5. package/dist/asset-manager/index.js +6 -6
  6. package/dist/asset-manager/installer.js +4 -4
  7. package/dist/bridge/drivers/claude-sdk.js +5 -5
  8. package/dist/bridge/drivers/codex.js +5 -5
  9. package/dist/bridge/drivers/continue.js +7 -7
  10. package/dist/bridge/drivers/echo.js +1 -1
  11. package/dist/bridge/drivers/gemini.js +5 -5
  12. package/dist/bridge/drivers/goose.js +7 -7
  13. package/dist/bridge/drivers/omp.js +2 -2
  14. package/dist/bridge/drivers/opencode.js +81 -44
  15. package/dist/bridge/drivers/opencode.js.map +1 -1
  16. package/dist/bridge/drivers/qwen.js +5 -5
  17. package/dist/bridge/index.js +6 -6
  18. package/dist/bridge/src/drivers/_subprocess-cli.d.ts.map +1 -1
  19. package/dist/bridge/src/drivers/opencode.d.ts +18 -5
  20. package/dist/bridge/src/drivers/opencode.d.ts.map +1 -1
  21. package/dist/{chunk-2JGXE46E.js → chunk-3JBERZ4E.js} +7 -7
  22. package/dist/{chunk-2JGXE46E.js.map → chunk-3JBERZ4E.js.map} +1 -1
  23. package/dist/{chunk-NXTLDFLA.js → chunk-5RHPNNWP.js} +3 -3
  24. package/dist/{chunk-NXTLDFLA.js.map → chunk-5RHPNNWP.js.map} +1 -1
  25. package/dist/{chunk-WZQWZJYL.js → chunk-6GSZLKA5.js} +3 -3
  26. package/dist/{chunk-WZQWZJYL.js.map → chunk-6GSZLKA5.js.map} +1 -1
  27. package/dist/{chunk-LQMALDDB.js → chunk-CJGNYHPG.js} +2 -2
  28. package/dist/{chunk-LQMALDDB.js.map → chunk-CJGNYHPG.js.map} +1 -1
  29. package/dist/{chunk-7CO3MYNN.js → chunk-CPJRS7ZC.js} +6 -6
  30. package/dist/{chunk-7CO3MYNN.js.map → chunk-CPJRS7ZC.js.map} +1 -1
  31. package/dist/{chunk-QWGSKDD7.js → chunk-DF7C3KZK.js} +116 -5
  32. package/dist/chunk-DF7C3KZK.js.map +1 -0
  33. package/dist/{chunk-NKRAHM7T.js → chunk-GMXG2JGN.js} +3 -3
  34. package/dist/{chunk-NKRAHM7T.js.map → chunk-GMXG2JGN.js.map} +1 -1
  35. package/dist/{chunk-ZEODSOBX.js → chunk-I7F3CG4Y.js} +7 -7
  36. package/dist/{chunk-ZEODSOBX.js.map → chunk-I7F3CG4Y.js.map} +1 -1
  37. package/dist/{chunk-BRNGJTHH.js → chunk-IJTEDXWQ.js} +3 -3
  38. package/dist/{chunk-BRNGJTHH.js.map → chunk-IJTEDXWQ.js.map} +1 -1
  39. package/dist/{chunk-PB2Y4AMQ.js → chunk-J7WFDLV6.js} +4 -3
  40. package/dist/chunk-J7WFDLV6.js.map +1 -0
  41. package/dist/{chunk-ZISHZRG6.js → chunk-JZ52Y3ZR.js} +117 -24
  42. package/dist/chunk-JZ52Y3ZR.js.map +1 -0
  43. package/dist/{chunk-A2T4WIZL.js → chunk-KTCMBEEB.js} +3 -3
  44. package/dist/{chunk-A2T4WIZL.js.map → chunk-KTCMBEEB.js.map} +1 -1
  45. package/dist/{chunk-LCKZCLXA.js → chunk-KU473DRO.js} +2 -2
  46. package/dist/{chunk-LCKZCLXA.js.map → chunk-KU473DRO.js.map} +1 -1
  47. package/dist/{chunk-ZXQMKXWR.js → chunk-LDT6NGSL.js} +3 -3
  48. package/dist/{chunk-ZXQMKXWR.js.map → chunk-LDT6NGSL.js.map} +1 -1
  49. package/dist/{chunk-UOJW2DOZ.js → chunk-MC2MF4U5.js} +15 -9
  50. package/dist/chunk-MC2MF4U5.js.map +1 -0
  51. package/dist/{chunk-JN2TH5YB.js → chunk-MDRV5EWH.js} +411 -33
  52. package/dist/chunk-MDRV5EWH.js.map +1 -0
  53. package/dist/{chunk-IM7S4A5E.js → chunk-MHAH5HDX.js} +2 -2
  54. package/dist/{chunk-IM7S4A5E.js.map → chunk-MHAH5HDX.js.map} +1 -1
  55. package/dist/{chunk-L534UCEQ.js → chunk-N7VQYYLZ.js} +5 -5
  56. package/dist/{chunk-L534UCEQ.js.map → chunk-N7VQYYLZ.js.map} +1 -1
  57. package/dist/{chunk-6GHXBCE5.js → chunk-OH2ULGQX.js} +6 -6
  58. package/dist/{chunk-6GHXBCE5.js.map → chunk-OH2ULGQX.js.map} +1 -1
  59. package/dist/{chunk-DM4KP4SC.js → chunk-OOBWIRWN.js} +9 -9
  60. package/dist/{chunk-DM4KP4SC.js.map → chunk-OOBWIRWN.js.map} +1 -1
  61. package/dist/{chunk-ODP2MN2D.js → chunk-PBQ57MIY.js} +3 -3
  62. package/dist/{chunk-ODP2MN2D.js.map → chunk-PBQ57MIY.js.map} +1 -1
  63. package/dist/{chunk-ZXPIKQAN.js → chunk-PQE2MYB6.js} +3 -3
  64. package/dist/{chunk-ZXPIKQAN.js.map → chunk-PQE2MYB6.js.map} +1 -1
  65. package/dist/{chunk-O7MVMQEU.js → chunk-RLR7L4TI.js} +4 -4
  66. package/dist/{chunk-O7MVMQEU.js.map → chunk-RLR7L4TI.js.map} +1 -1
  67. package/dist/{chunk-FVKSVVVP.js → chunk-RPC2C3QL.js} +3 -3
  68. package/dist/{chunk-FVKSVVVP.js.map → chunk-RPC2C3QL.js.map} +1 -1
  69. package/dist/{chunk-NCALGSGL.js → chunk-S54UI7T3.js} +5 -5
  70. package/dist/{chunk-NCALGSGL.js.map → chunk-S54UI7T3.js.map} +1 -1
  71. package/dist/{chunk-W64ZXABT.js → chunk-TEQDWOBS.js} +3 -3
  72. package/dist/{chunk-W64ZXABT.js.map → chunk-TEQDWOBS.js.map} +1 -1
  73. package/dist/{chunk-WQPLZUXU.js → chunk-UFWADBG6.js} +4 -4
  74. package/dist/{chunk-WQPLZUXU.js.map → chunk-UFWADBG6.js.map} +1 -1
  75. package/dist/{chunk-7NRF7BQB.js → chunk-UWU572Q6.js} +4 -4
  76. package/dist/{chunk-7NRF7BQB.js.map → chunk-UWU572Q6.js.map} +1 -1
  77. package/dist/{chunk-4JGTXBQB.js → chunk-XFWB3KFV.js} +4 -4
  78. package/dist/{chunk-4JGTXBQB.js.map → chunk-XFWB3KFV.js.map} +1 -1
  79. package/dist/cli/index.js +64 -51
  80. package/dist/cli/index.js.map +1 -1
  81. package/dist/cli/src/commands/rebuild.d.ts.map +1 -1
  82. package/dist/connectors/config.js +2 -2
  83. package/dist/connectors/index.js +9 -9
  84. package/dist/connectors/src/config.d.ts +20 -3
  85. package/dist/connectors/src/config.d.ts.map +1 -1
  86. package/dist/connectors/src/connector-manager.d.ts +6 -1
  87. package/dist/connectors/src/connector-manager.d.ts.map +1 -1
  88. package/dist/connectors/src/connector-types.d.ts +53 -0
  89. package/dist/connectors/src/connector-types.d.ts.map +1 -1
  90. package/dist/connectors/src/index.d.ts +2 -2
  91. package/dist/connectors/src/index.d.ts.map +1 -1
  92. package/dist/core/index.js +3 -3
  93. package/dist/core/runtime-assets.js +2 -2
  94. package/dist/core/src/index.d.ts +2 -2
  95. package/dist/core/src/index.d.ts.map +1 -1
  96. package/dist/core/src/workspace-config.d.ts +38 -4
  97. package/dist/core/src/workspace-config.d.ts.map +1 -1
  98. package/dist/core/workspace-config.js +1 -1
  99. package/dist/deploy/index.js +3 -3
  100. package/dist/{ensure-sources-5QRNKIKQ.js → ensure-sources-KXELEK4M.js} +9 -9
  101. package/dist/{ensure-sources-5QRNKIKQ.js.map → ensure-sources-KXELEK4M.js.map} +1 -1
  102. package/dist/factory-assets/connectors/box.js +9 -9
  103. package/dist/factory-assets/connectors/deploy.js +9 -9
  104. package/dist/factory-assets/connectors/devserver.js +9 -9
  105. package/dist/factory-assets/connectors/flow/adapter.js +9 -9
  106. package/dist/factory-assets/connectors/flow/engine.js +4 -4
  107. package/dist/factory-assets/connectors/flow/run-flow.js +10 -10
  108. package/dist/factory-assets/connectors/flow.js +9 -9
  109. package/dist/factory-assets/connectors/git.js +9 -9
  110. package/dist/factory-assets/connectors/gmail.js +9 -9
  111. package/dist/factory-assets/connectors/googledrive.js +9 -9
  112. package/dist/factory-assets/connectors/local.js +9 -9
  113. package/dist/factory-assets/connectors/mattermost.js +9 -9
  114. package/dist/factory-assets/connectors/memory.js +9 -9
  115. package/dist/factory-assets/connectors/minio.js +9 -9
  116. package/dist/factory-assets/connectors/postgres.js +9 -9
  117. package/dist/factory-assets/connectors/s3/CONNECTOR.md +19 -2
  118. package/dist/factory-assets/connectors/s3/driver.d.ts +108 -2
  119. package/dist/factory-assets/connectors/s3/driver.d.ts.map +1 -1
  120. package/dist/factory-assets/connectors/s3.js +9 -9
  121. package/dist/factory-assets/connectors/sharepoint.js +9 -9
  122. package/dist/factory-assets/connectors/sqlite.js +9 -9
  123. package/dist/factory-assets/connectors/static-server.js +9 -9
  124. package/dist/factory-assets/connectors/tunnel.js +9 -9
  125. package/dist/factory-assets/connectors/webdav.js +9 -9
  126. package/dist/factory-assets/connectors/xstate-store.js +9 -9
  127. package/dist/factory-assets/connectors/xstate.js +9 -9
  128. package/dist/{flows-7EB63Q2Q.js → flows-PDTAKFWM.js} +6 -6
  129. package/dist/{flows-7EB63Q2Q.js.map → flows-PDTAKFWM.js.map} +1 -1
  130. package/dist/{helpers-FNZ6J5AB.js → helpers-RQ6LN6SH.js} +9 -9
  131. package/dist/{helpers-FNZ6J5AB.js.map → helpers-RQ6LN6SH.js.map} +1 -1
  132. package/dist/library/index.js +4 -4
  133. package/dist/{library-publish-BM7X5K6K.js → library-publish-VL2UJJFB.js} +13 -13
  134. package/dist/{library-publish-BM7X5K6K.js.map → library-publish-VL2UJJFB.js.map} +1 -1
  135. package/dist/{open-library-TVZI745K.js → open-library-XYYK7HHI.js} +11 -11
  136. package/dist/{open-library-TVZI745K.js.map → open-library-XYYK7HHI.js.map} +1 -1
  137. package/dist/{paths-IK6Y4OIU.js → paths-6VH76QLZ.js} +6 -6
  138. package/dist/{paths-IK6Y4OIU.js.map → paths-6VH76QLZ.js.map} +1 -1
  139. package/dist/{plugin-store-LUJ4GXSO.js → plugin-store-4MXOIEHP.js} +5 -5
  140. package/dist/{plugin-store-LUJ4GXSO.js.map → plugin-store-4MXOIEHP.js.map} +1 -1
  141. package/dist/{project-SLWRBQVB.js → project-P3XZE6TH.js} +10 -10
  142. package/dist/{project-SLWRBQVB.js.map → project-P3XZE6TH.js.map} +1 -1
  143. package/dist/resolver/index.js +3 -3
  144. package/dist/runner/index.js +14 -14
  145. package/dist/runner/src/resources.d.ts +6 -6
  146. package/dist/runner/src/resources.d.ts.map +1 -1
  147. package/dist/runner/src/s3-presign-client.d.ts +15 -0
  148. package/dist/runner/src/s3-presign-client.d.ts.map +1 -0
  149. package/dist/runner/src/serve.d.ts +4 -2
  150. package/dist/runner/src/serve.d.ts.map +1 -1
  151. package/dist/sdk/asset-manager.js +6 -6
  152. package/dist/sdk/bridge.js +6 -6
  153. package/dist/sdk/core.js +3 -3
  154. package/dist/sdk/flow.js +4 -4
  155. package/dist/sdk/index.js +14 -14
  156. package/dist/sdk/resolver.js +3 -3
  157. package/dist/sdk/runner.js +14 -14
  158. package/dist/{setup-YTYMPCWC.js → setup-IIILB5GF.js} +13 -13
  159. package/dist/{setup-YTYMPCWC.js.map → setup-IIILB5GF.js.map} +1 -1
  160. package/dist/{skills-YB5RHUAT.js → skills-FA4VQEO7.js} +5 -5
  161. package/dist/{skills-YB5RHUAT.js.map → skills-FA4VQEO7.js.map} +1 -1
  162. package/dist/{source-WPO6HH4P.js → source-MU7Y42BZ.js} +12 -12
  163. package/dist/{source-WPO6HH4P.js.map → source-MU7Y42BZ.js.map} +1 -1
  164. package/dist/{source-manifest-publish-FNPZJFFK.js → source-manifest-publish-FIVCIPSO.js} +14 -14
  165. package/dist/{source-manifest-publish-FNPZJFFK.js.map → source-manifest-publish-FIVCIPSO.js.map} +1 -1
  166. package/dist/tui/index.js +14 -14
  167. package/dist/workspace-plugin/adapters/mcp.js +5 -5
  168. package/dist/workspace-plugin/adapters/omp.js +7 -7
  169. package/dist/workspace-plugin/index.js +1 -1
  170. package/package.json +1 -1
  171. package/dist/chunk-JN2TH5YB.js.map +0 -1
  172. package/dist/chunk-PB2Y4AMQ.js.map +0 -1
  173. package/dist/chunk-QWGSKDD7.js.map +0 -1
  174. package/dist/chunk-UOJW2DOZ.js.map +0 -1
  175. package/dist/chunk-ZISHZRG6.js.map +0 -1
@@ -1,27 +1,27 @@
1
- import { WorkspacePlugin } from './chunk-IM7S4A5E.js';
2
- import { buildWorkspaceToolDefs } from './chunk-ZXPIKQAN.js';
1
+ import { WorkspacePlugin } from './chunk-MHAH5HDX.js';
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-7CO3MYNN.js';
7
+ import { resolveFlowPath } from './chunk-CPJRS7ZC.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-JN2TH5YB.js';
10
- import { loadConnectorDeclarations, SecretProviderChain, ConnectorStartupError, PreMintedSecretProvider, InMemorySecretProvider, resolvedConfigToDeclarations, isKnownSecretRef, deriveSingleMaterializedConnectorDeclaration } from './chunk-UOJW2DOZ.js';
11
- import { EventNormalizer } from './chunk-W64ZXABT.js';
9
+ import { registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, buildSdkConnectorTools, buildLazySdkFlowTools, describeFlowOperations, buildConnectorToolDefs, buildFlowToolDefs, driveOrchestratorTurn, SessionNodeExecutor, SessionSubpromptRunner, ClassifierSubpromptRunner, SessionInlineSubFlowRunner, buildSdkFlowTools } from './chunk-MDRV5EWH.js';
10
+ import { loadYamlConnectorDeclarations, withMaterializedConnectorDeclarations, SecretProviderChain, ConnectorStartupError, PreMintedSecretProvider, InMemorySecretProvider, resolvedConfigToDeclarations, isKnownSecretRef, deriveSingleMaterializedConnectorDeclaration } from './chunk-MC2MF4U5.js';
11
+ import { EventNormalizer } from './chunk-TEQDWOBS.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
15
  import { classifyClaudeSdkError } from './chunk-GAH4YRCI.js';
16
- import { createDriver, catalogLayer, providerCredentialEnvName, toMergedRegistry, registryCredentialEnv, AI_PROVIDER_PRESETS } from './chunk-LQMALDDB.js';
17
- import { loadFlow } from './chunk-A2T4WIZL.js';
16
+ import { createDriver, catalogLayer, providerCredentialEnvName, toMergedRegistry, registryCredentialEnv, AI_PROVIDER_PRESETS } from './chunk-CJGNYHPG.js';
17
+ import { loadFlow } from './chunk-KTCMBEEB.js';
18
18
  import { parseFlowDefinition } from './chunk-ALLCAFHQ.js';
19
19
  import { renderStimulusPrompt } from './chunk-RQLL7L72.js';
20
20
  import { withActivityLabelJsonSchema, TOOL_ACTIVITY_PROMPT_SECTION, SESSION_ROOT_CONNECTOR_ID, PROTOCOL_VERSION } from './chunk-QQ3G5N7X.js';
21
- import { resolveSettings, loadProviderRegistry } from './chunk-7NRF7BQB.js';
22
- import { resolveRuntimeAssets } from './chunk-NXTLDFLA.js';
21
+ import { resolveSettings, loadProviderRegistry } from './chunk-UWU572Q6.js';
22
+ import { resolveRuntimeAssets } from './chunk-5RHPNNWP.js';
23
23
  import { resolveDriverPaths } from './chunk-K5GBV4SA.js';
24
- import { resolveSkWorkspaceConfig, resolveAgentDir, loadMcpServerDeclarations, COMPACTION_DEFAULTS, resolveCompactionThresholdPercent, validateAssetRecipeAttr, deriveSingleMaterializedMcpDeclaration, stageMaterializedSkills, readSkillAllowList, isStagedSkillMarkerFor, unstageSkill } from './chunk-QWGSKDD7.js';
24
+ import { resolveSkWorkspaceConfig, resolveAgentDir, loadMcpServerDeclarations, COMPACTION_DEFAULTS, resolveCompactionThresholdPercent, validateAssetRecipeAttr, deriveSingleMaterializedMcpDeclaration, stageMaterializedSkills, readSkillAllowList, isStagedSkillMarkerFor, unstageSkill } from './chunk-DF7C3KZK.js';
25
25
  import { withFsDeadline, FsDeadlineError, fsDeadlineMs, tryWithFsDeadline } from './chunk-2FBPAR2V.js';
26
26
  import { parseAssetRef } from './chunk-GEEW6SY2.js';
27
27
  import { resolveLogStoreConfig, createLogStoreFromConfig, OnLogBridgeSink, WsLogSink, resolveLogsRetention, enforceLogsRetention } from './chunk-JMKB7IB4.js';
@@ -2157,6 +2157,67 @@ function buildMcpPromptSection(declarations, connected) {
2157
2157
  return lines.join("\n").trimEnd();
2158
2158
  }
2159
2159
 
2160
+ // runner/src/s3-presign-client.ts
2161
+ var S3_PRESIGN_CAPABILITY = "host.s3_presign";
2162
+ function buildS3Presigner(deps) {
2163
+ return async (request) => {
2164
+ let raw;
2165
+ try {
2166
+ raw = await deps.invokeRemote(S3_PRESIGN_CAPABILITY, request);
2167
+ } catch (err) {
2168
+ return {
2169
+ ok: false,
2170
+ code: "backend-error",
2171
+ message: err instanceof Error ? err.message : String(err)
2172
+ };
2173
+ }
2174
+ const result = parsePresignResult(raw, request.op);
2175
+ if (!result) {
2176
+ deps.log?.(
2177
+ `[serve] ${S3_PRESIGN_CAPABILITY} returned a malformed answer (mount=${request.mountId}, op=${request.op})`
2178
+ );
2179
+ return { ok: false, code: "backend-error", message: "malformed presign answer from host" };
2180
+ }
2181
+ if (!result.ok) {
2182
+ deps.log?.(
2183
+ `[serve] ${S3_PRESIGN_CAPABILITY} refused (mount=${request.mountId}, op=${request.op}, code=${result.code})`
2184
+ );
2185
+ }
2186
+ return result;
2187
+ };
2188
+ }
2189
+ function parsePresignResult(raw, op) {
2190
+ if (typeof raw !== "object" || raw === null) return null;
2191
+ const r = raw;
2192
+ if (r.ok === false) {
2193
+ return {
2194
+ ok: false,
2195
+ code: typeof r.code === "string" ? r.code : "backend-error",
2196
+ message: typeof r.message === "string" ? r.message : "presign refused"
2197
+ };
2198
+ }
2199
+ if (r.ok !== true || r.op !== op || typeof r.expiresAt !== "string") return null;
2200
+ if (op === "list") {
2201
+ return typeof r.url === "string" ? { ok: true, op, url: r.url, expiresAt: r.expiresAt } : null;
2202
+ }
2203
+ const urls = r.urls;
2204
+ const skipped = r.skipped ?? [];
2205
+ if (!Array.isArray(urls) || !Array.isArray(skipped)) return null;
2206
+ const validUrls = urls.every((u) => typeof u?.key === "string" && typeof u?.url === "string");
2207
+ const validSkipped = skipped.every((s) => typeof s?.key === "string");
2208
+ if (!validUrls || !validSkipped) return null;
2209
+ return {
2210
+ ok: true,
2211
+ op,
2212
+ urls,
2213
+ skipped: skipped.map((s) => ({
2214
+ key: s.key,
2215
+ reason: typeof s.reason === "string" ? s.reason : "unknown"
2216
+ })),
2217
+ expiresAt: r.expiresAt
2218
+ };
2219
+ }
2220
+
2160
2221
  // runner/src/resources.ts
2161
2222
  async function buildAgentResources(projectDir, driverType, _onLog, watch, secretProvider, sessionMeta, tokenMediator, preMintedSecrets, deferFilesystemMounts, capabilityRegistry, fallbackConnectorDeclarations, extraMcpDeclarations) {
2162
2223
  const managedProjectMcp = sessionMeta?.managedCodex ? await resolveExternalMcpDeclarations(projectDir, sessionMeta.sessionId, true) : void 0;
@@ -2188,11 +2249,16 @@ async function buildAgentResources(projectDir, driverType, _onLog, watch, secret
2188
2249
  }
2189
2250
  if (!sessionMeta?.managedCodex)
2190
2251
  await maybeInstallNpmPeerDeps(runtimeAssets, projectDir, resLog);
2191
- const diskDeclarations = loadConnectorDeclarations(projectDir);
2192
- const connectorDeclarations = diskDeclarations.length > 0 ? diskDeclarations : fallbackConnectorDeclarations ?? [];
2193
- if (diskDeclarations.length === 0 && connectorDeclarations.length > 0) {
2194
- resLog.info("no disk connector declarations \u2014 using session_init resolvedConfig fallback", {
2195
- count: connectorDeclarations.length
2252
+ const yamlDeclarations = loadYamlConnectorDeclarations(projectDir);
2253
+ const wireDeclarations = fallbackConnectorDeclarations ?? [];
2254
+ const usesWire = yamlDeclarations.length === 0 && wireDeclarations.length > 0;
2255
+ const connectorDeclarations = withMaterializedConnectorDeclarations(
2256
+ usesWire ? wireDeclarations : yamlDeclarations,
2257
+ projectDir
2258
+ );
2259
+ if (usesWire) {
2260
+ resLog.info("no skaile.yaml connector declarations \u2014 using session_init resolvedConfig", {
2261
+ count: wireDeclarations.length
2196
2262
  });
2197
2263
  }
2198
2264
  let resourceManager = null;
@@ -2206,7 +2272,8 @@ async function buildAgentResources(projectDir, driverType, _onLog, watch, secret
2206
2272
  preMintedSecrets,
2207
2273
  deferFilesystemMounts,
2208
2274
  watch,
2209
- resLog
2275
+ resLog,
2276
+ capabilityRegistry
2210
2277
  );
2211
2278
  }
2212
2279
  const resourcePromptSection = resourceManager ? buildConnectorPromptSection(resourceManager) : "";
@@ -2353,11 +2420,18 @@ function logConnectorReport(results, resLog) {
2353
2420
  }
2354
2421
  }
2355
2422
  }
2356
- async function connectAllConnectors(connectorDeclarations, projectDir, runtimeAssets, secretProvider, tokenMediator, preMintedSecrets, deferFilesystemMounts, watch, resLog) {
2423
+ async function connectAllConnectors(connectorDeclarations, projectDir, runtimeAssets, secretProvider, tokenMediator, preMintedSecrets, deferFilesystemMounts, watch, resLog, capabilityRegistry) {
2357
2424
  const resourceManager = new ConnectorManager(projectDir, {
2358
2425
  secrets: secretProvider,
2359
2426
  catalogEntries: runtimeAssets.catalogEntries,
2360
2427
  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
+ } : {},
2361
2435
  preMintedSecrets,
2362
2436
  onStatusChange: watch?.onConnectorStatus
2363
2437
  });
@@ -7313,6 +7387,10 @@ async function startAgentServer(opts) {
7313
7387
  invokeRemote: (name, input) => capabilityRegistry.invokeRemote(name, input),
7314
7388
  log
7315
7389
  });
7390
+ const connectorS3Presigner = buildS3Presigner({
7391
+ invokeRemote: (name, input) => capabilityRegistry.invokeRemote(name, input),
7392
+ log
7393
+ });
7316
7394
  const aiCredentialRefreshScheduler = createAiCredentialRefreshScheduler({
7317
7395
  refresh: async () => {
7318
7396
  const { mint: result } = await aiProviderConfigSwitcher.repull({
@@ -7518,6 +7596,7 @@ async function startAgentServer(opts) {
7518
7596
  let managedInitFingerprint;
7519
7597
  let managedInitComplete = false;
7520
7598
  let appliedWireAgentConfigKey;
7599
+ let wireConnectorDeclarationsApplied = false;
7521
7600
  const stagedSkillDirs = /* @__PURE__ */ new Map();
7522
7601
  const withSkillFsLock = createSerialLock();
7523
7602
  const stageDeclaredSkills = createCoalescedTask(
@@ -7892,7 +7971,8 @@ async function startAgentServer(opts) {
7892
7971
  registerBuiltinConnectors();
7893
7972
  resourceManager = new ConnectorManager(opts.projectDir, {
7894
7973
  catalogEntries: getSessionCatalogEntries(agentSession),
7895
- tokenMediator: connectorTokenMediator
7974
+ tokenMediator: connectorTokenMediator,
7975
+ s3Presigner: connectorS3Presigner
7896
7976
  });
7897
7977
  log("[serve] created ConnectorManager for flow execution (no other connectors declared)");
7898
7978
  }
@@ -8222,6 +8302,16 @@ async function startAgentServer(opts) {
8222
8302
  }
8223
8303
  return initialAiCredentialExpiresAt;
8224
8304
  }
8305
+ function yamlDeclaresNoConnectors() {
8306
+ try {
8307
+ return loadYamlConnectorDeclarations(opts.projectDir).length === 0;
8308
+ } catch (err) {
8309
+ log(
8310
+ `[serve] session_init: skaile.yaml connectors unreadable, wire connector set not applied: ${err instanceof Error ? err.message : String(err)}`
8311
+ );
8312
+ return false;
8313
+ }
8314
+ }
8225
8315
  async function buildSessionFromInit(secrets, fallbackConnectorDeclarations) {
8226
8316
  const wireRegistry = managedCodex ? void 0 : wireAgentConfig?.registry;
8227
8317
  const credentialEnv = wireRegistry ? registryCredentialEnv(wireRegistry, {
@@ -8251,10 +8341,11 @@ async function startAgentServer(opts) {
8251
8341
  emitResourcesAvailable();
8252
8342
  agentSession.startWatching();
8253
8343
  appliedWireAgentConfigKey = wireAgentConfig ? JSON.stringify(wireAgentConfig) : void 0;
8344
+ wireConnectorDeclarationsApplied = (fallbackConnectorDeclarations?.length ?? 0) > 0;
8254
8345
  log("[serve] session built from session_init envelope");
8255
- } else if ((fallbackConnectorDeclarations?.length ?? 0) > 0 && !agentSession.resourceManager) {
8346
+ } else if ((fallbackConnectorDeclarations?.length ?? 0) > 0 && !wireConnectorDeclarationsApplied && yamlDeclaresNoConnectors()) {
8256
8347
  log(
8257
- `[serve] session_init: recreating eagerly-built session to apply ${fallbackConnectorDeclarations.length} wire connector declaration(s) (no disk declarations)`
8348
+ `[serve] session_init: recreating eagerly-built session to apply ${fallbackConnectorDeclarations.length} wire connector declaration(s) (no skaile.yaml declarations)`
8258
8349
  );
8259
8350
  needsWireFallbackRecreate = true;
8260
8351
  }
@@ -8359,7 +8450,8 @@ async function startAgentServer(opts) {
8359
8450
  registerBuiltinConnectors();
8360
8451
  resourceManager = new ConnectorManager(opts.projectDir, {
8361
8452
  catalogEntries: getSessionCatalogEntries(agentSession),
8362
- tokenMediator: connectorTokenMediator
8453
+ tokenMediator: connectorTokenMediator,
8454
+ s3Presigner: connectorS3Presigner
8363
8455
  });
8364
8456
  log("[serve] created ConnectorManager for sharedState (no connectors were declared)");
8365
8457
  return true;
@@ -8758,6 +8850,7 @@ async function startAgentServer(opts) {
8758
8850
  log("[serve] session_init: consolidated session recreate");
8759
8851
  const recreateStartedAt = Date.now();
8760
8852
  await recreateSessionForInit(pendingResumeSessionId);
8853
+ if (needsWireFallbackRecreate) wireConnectorDeclarationsApplied = true;
8761
8854
  logPhase("session_recreate", recreateStartedAt, {
8762
8855
  resuming: !!pendingResumeSessionId
8763
8856
  });
@@ -9469,5 +9562,5 @@ function touchSession(state) {
9469
9562
  }
9470
9563
 
9471
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 };
9472
- //# sourceMappingURL=chunk-ZISHZRG6.js.map
9473
- //# sourceMappingURL=chunk-ZISHZRG6.js.map
9565
+ //# sourceMappingURL=chunk-JZ52Y3ZR.js.map
9566
+ //# sourceMappingURL=chunk-JZ52Y3ZR.js.map