@skaile/workspaces 1.5.0 → 1.6.1

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 (135) hide show
  1. package/CHANGELOG.md +117 -0
  2. package/dist/app-sdk/index.js +22 -7
  3. package/dist/app-sdk/index.js.map +1 -1
  4. package/dist/app-sdk/src/connection-params.d.ts +7 -0
  5. package/dist/app-sdk/src/connection-params.d.ts.map +1 -1
  6. package/dist/{asset-feeds-T35ELX2O.js → asset-feeds-PTZBWJEL.js} +11 -11
  7. package/dist/asset-feeds-PTZBWJEL.js.map +1 -0
  8. package/dist/asset-manager/index.js +6 -6
  9. package/dist/asset-manager/installer.js +4 -4
  10. package/dist/asset-manager/src/index.d.ts +18 -0
  11. package/dist/asset-manager/src/index.d.ts.map +1 -1
  12. package/dist/{chunk-HY33RMEA.js → chunk-5NZ56R63.js} +3 -3
  13. package/dist/{chunk-HY33RMEA.js.map → chunk-5NZ56R63.js.map} +1 -1
  14. package/dist/{chunk-ZBZQC5R7.js → chunk-7J7LQP6T.js} +3 -3
  15. package/dist/{chunk-ZBZQC5R7.js.map → chunk-7J7LQP6T.js.map} +1 -1
  16. package/dist/{chunk-RDYOU6N6.js → chunk-EA73UA42.js} +2 -2
  17. package/dist/{chunk-RDYOU6N6.js.map → chunk-EA73UA42.js.map} +1 -1
  18. package/dist/{chunk-CNSNN7N6.js → chunk-HIATVS2E.js} +5 -5
  19. package/dist/{chunk-CNSNN7N6.js.map → chunk-HIATVS2E.js.map} +1 -1
  20. package/dist/{chunk-UQKYT4V6.js → chunk-ISA7R7PK.js} +3 -3
  21. package/dist/{chunk-UQKYT4V6.js.map → chunk-ISA7R7PK.js.map} +1 -1
  22. package/dist/{chunk-BGIC25VK.js → chunk-M4UKIJ5K.js} +30 -14
  23. package/dist/chunk-M4UKIJ5K.js.map +1 -0
  24. package/dist/{chunk-FDE7XRQA.js → chunk-MWE7DEGC.js} +3 -3
  25. package/dist/{chunk-FDE7XRQA.js.map → chunk-MWE7DEGC.js.map} +1 -1
  26. package/dist/{chunk-3CHARYD4.js → chunk-MY7TSVO7.js} +95 -28
  27. package/dist/chunk-MY7TSVO7.js.map +1 -0
  28. package/dist/{chunk-DMG6NJH7.js → chunk-NRWDQBZ7.js} +4 -4
  29. package/dist/{chunk-DMG6NJH7.js.map → chunk-NRWDQBZ7.js.map} +1 -1
  30. package/dist/{chunk-WYGXYGJH.js → chunk-NTYCGPZ3.js} +9 -9
  31. package/dist/{chunk-WYGXYGJH.js.map → chunk-NTYCGPZ3.js.map} +1 -1
  32. package/dist/{chunk-KEQ4GLVM.js → chunk-OJ7G56I7.js} +3 -3
  33. package/dist/{chunk-KEQ4GLVM.js.map → chunk-OJ7G56I7.js.map} +1 -1
  34. package/dist/{chunk-2DWXGUZA.js → chunk-QHU6TM7D.js} +2 -2
  35. package/dist/{chunk-2DWXGUZA.js.map → chunk-QHU6TM7D.js.map} +1 -1
  36. package/dist/{chunk-KMY7HVQ6.js → chunk-SH55Z5QA.js} +3 -3
  37. package/dist/{chunk-KMY7HVQ6.js.map → chunk-SH55Z5QA.js.map} +1 -1
  38. package/dist/{chunk-JIDKX7GC.js → chunk-SNN6O7ON.js} +4 -4
  39. package/dist/{chunk-JIDKX7GC.js.map → chunk-SNN6O7ON.js.map} +1 -1
  40. package/dist/{chunk-6NR2BEIY.js → chunk-STQOPWPS.js} +4 -4
  41. package/dist/{chunk-6NR2BEIY.js.map → chunk-STQOPWPS.js.map} +1 -1
  42. package/dist/{chunk-2ZMO4CFG.js → chunk-VK24PIAB.js} +5 -4
  43. package/dist/chunk-VK24PIAB.js.map +1 -0
  44. package/dist/{chunk-RSYV7XEN.js → chunk-X7G2CCW4.js} +4 -4
  45. package/dist/{chunk-RSYV7XEN.js.map → chunk-X7G2CCW4.js.map} +1 -1
  46. package/dist/{chunk-J5TI55E7.js → chunk-Y5B5272E.js} +23 -7
  47. package/dist/chunk-Y5B5272E.js.map +1 -0
  48. package/dist/cli/index.js +546 -180
  49. package/dist/cli/index.js.map +1 -1
  50. package/dist/cli/src/asset-feeds.d.ts.map +1 -1
  51. package/dist/cli/src/commands/asset-cmd.d.ts.map +1 -1
  52. package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
  53. package/dist/cli/src/commands/library-index.d.ts +49 -0
  54. package/dist/cli/src/commands/library-index.d.ts.map +1 -0
  55. package/dist/cli/src/commands/library-publish.d.ts.map +1 -1
  56. package/dist/cli/src/commands/manage.d.ts +22 -1
  57. package/dist/cli/src/commands/manage.d.ts.map +1 -1
  58. package/dist/cli/src/paths.d.ts.map +1 -1
  59. package/dist/cli/src/store-auth.d.ts.map +1 -1
  60. package/dist/cli/src/store-client.d.ts.map +1 -1
  61. package/dist/connectors/config.js +4 -4
  62. package/dist/connectors/index.js +5 -5
  63. package/dist/core/index.js +3 -3
  64. package/dist/core/runtime-assets.js +2 -2
  65. package/dist/core/src/index.d.ts +1 -1
  66. package/dist/core/src/index.d.ts.map +1 -1
  67. package/dist/core/src/repo-manager.d.ts +4 -0
  68. package/dist/core/src/repo-manager.d.ts.map +1 -1
  69. package/dist/core/workspace-config.js +1 -1
  70. package/dist/deploy/index.js +3 -3
  71. package/dist/{ensure-sources-QDVFUIUP.js → ensure-sources-ORACQA4I.js} +9 -9
  72. package/dist/{ensure-sources-QDVFUIUP.js.map → ensure-sources-ORACQA4I.js.map} +1 -1
  73. package/dist/factory-assets/connectors/box.js +5 -5
  74. package/dist/factory-assets/connectors/deploy.js +5 -5
  75. package/dist/factory-assets/connectors/devserver.js +5 -5
  76. package/dist/factory-assets/connectors/flow/adapter.js +5 -5
  77. package/dist/factory-assets/connectors/flow/engine.js +3 -3
  78. package/dist/factory-assets/connectors/flow/run-flow.js +6 -6
  79. package/dist/factory-assets/connectors/flow.js +5 -5
  80. package/dist/factory-assets/connectors/git.js +5 -5
  81. package/dist/factory-assets/connectors/gmail.js +5 -5
  82. package/dist/factory-assets/connectors/googledrive.js +5 -5
  83. package/dist/factory-assets/connectors/local.js +5 -5
  84. package/dist/factory-assets/connectors/mattermost.js +5 -5
  85. package/dist/factory-assets/connectors/memory.js +5 -5
  86. package/dist/factory-assets/connectors/minio.js +5 -5
  87. package/dist/factory-assets/connectors/postgres.js +5 -5
  88. package/dist/factory-assets/connectors/s3.js +5 -5
  89. package/dist/factory-assets/connectors/sharepoint.js +5 -5
  90. package/dist/factory-assets/connectors/sqlite.js +5 -5
  91. package/dist/factory-assets/connectors/static-server.js +5 -5
  92. package/dist/factory-assets/connectors/tunnel.js +5 -5
  93. package/dist/factory-assets/connectors/webdav.js +5 -5
  94. package/dist/factory-assets/connectors/xstate-store.js +5 -5
  95. package/dist/factory-assets/connectors/xstate.js +5 -5
  96. package/dist/{flows-MRVXTYWC.js → flows-RR6R3WBL.js} +3 -3
  97. package/dist/{flows-MRVXTYWC.js.map → flows-RR6R3WBL.js.map} +1 -1
  98. package/dist/{helpers-TF7GCBRQ.js → helpers-SXGIHFCF.js} +9 -9
  99. package/dist/{helpers-TF7GCBRQ.js.map → helpers-SXGIHFCF.js.map} +1 -1
  100. package/dist/library/index.js +4 -4
  101. package/dist/library/install.js +3 -3
  102. package/dist/{library-publish-K5IBE44D.js → library-publish-NQQFPOUY.js} +27 -19
  103. package/dist/library-publish-NQQFPOUY.js.map +1 -0
  104. package/dist/{open-library-4HMIDK3N.js → open-library-ODW2PJ2J.js} +10 -10
  105. package/dist/{open-library-4HMIDK3N.js.map → open-library-ODW2PJ2J.js.map} +1 -1
  106. package/dist/paths-KOKCMBL5.js +21 -0
  107. package/dist/{paths-P3DWFUPS.js.map → paths-KOKCMBL5.js.map} +1 -1
  108. package/dist/{plugin-store-S7OMGI7N.js → plugin-store-QMJ2B3VM.js} +5 -5
  109. package/dist/{plugin-store-S7OMGI7N.js.map → plugin-store-QMJ2B3VM.js.map} +1 -1
  110. package/dist/runner/index.js +7 -7
  111. package/dist/runner/src/capability-registry.d.ts +21 -2
  112. package/dist/runner/src/capability-registry.d.ts.map +1 -1
  113. package/dist/sdk/asset-manager.js +6 -6
  114. package/dist/sdk/core.js +3 -3
  115. package/dist/sdk/flow.js +3 -3
  116. package/dist/sdk/index.js +7 -7
  117. package/dist/sdk/runner.js +7 -7
  118. package/dist/{setup-2CCS63L6.js → setup-ETGRXSZG.js} +5 -5
  119. package/dist/{setup-2CCS63L6.js.map → setup-ETGRXSZG.js.map} +1 -1
  120. package/dist/{source-LOAM7IIQ.js → source-KPH66TXY.js} +11 -11
  121. package/dist/{source-LOAM7IIQ.js.map → source-KPH66TXY.js.map} +1 -1
  122. package/dist/{source-manifest-publish-TGVZ6KMC.js → source-manifest-publish-HJ5G4CTH.js} +13 -13
  123. package/dist/{source-manifest-publish-TGVZ6KMC.js.map → source-manifest-publish-HJ5G4CTH.js.map} +1 -1
  124. package/dist/tui/index.js +7 -7
  125. package/dist/workspace-plugin/adapters/mcp.js +1 -1
  126. package/dist/workspace-plugin/adapters/omp.js +3 -3
  127. package/dist/workspace-plugin/index.js +1 -1
  128. package/package.json +1 -1
  129. package/dist/asset-feeds-T35ELX2O.js.map +0 -1
  130. package/dist/chunk-2ZMO4CFG.js.map +0 -1
  131. package/dist/chunk-3CHARYD4.js.map +0 -1
  132. package/dist/chunk-BGIC25VK.js.map +0 -1
  133. package/dist/chunk-J5TI55E7.js.map +0 -1
  134. package/dist/library-publish-K5IBE44D.js.map +0 -1
  135. package/dist/paths-P3DWFUPS.js +0 -15
@@ -1,4 +1,4 @@
1
- import { WorkspacePlugin } from './chunk-RDYOU6N6.js';
1
+ import { WorkspacePlugin } from './chunk-EA73UA42.js';
2
2
  import { WebSocketServerTransport } from './chunk-WQ7DE5UC.js';
3
3
  import { assembleSystemPrompt, buildCapabilitiesPromptSection } from './chunk-W3UDISS2.js';
4
4
  import { EventNormalizer } from './chunk-HKX5VSWQ.js';
@@ -6,13 +6,13 @@ import { SUPPORTED_CLOUDS, CLOUD_SECRET_ENV_KEYS } from './chunk-ISQWMBKD.js';
6
6
  import { classifyClaudeSdkError } from './chunk-GAH4YRCI.js';
7
7
  import { createDriver } from './chunk-TNSCHS4I.js';
8
8
  import { deployCatalogEntry, undeployCatalogEntry } from './chunk-LV2HPH3C.js';
9
- import { registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, ConnectorStartupError, buildSdkConnectorTools } from './chunk-DMG6NJH7.js';
10
- import { loadConnectorDeclarations, SecretProviderChain, PreMintedSecretProvider, InMemorySecretProvider, deriveSingleMaterializedConnectorDeclaration } from './chunk-KEQ4GLVM.js';
9
+ import { registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, ConnectorStartupError, buildSdkConnectorTools } from './chunk-NRWDQBZ7.js';
10
+ import { loadConnectorDeclarations, SecretProviderChain, PreMintedSecretProvider, InMemorySecretProvider, deriveSingleMaterializedConnectorDeclaration } from './chunk-OJ7G56I7.js';
11
11
  import { renderStimulusPrompt, buildOrchestratorPrompt } from './chunk-DEYYRFQU.js';
12
12
  import { PROTOCOL_VERSION } from './chunk-PK7Q7MC7.js';
13
- import { resolveSettings, resolveApiKey, providerEnvKey } from './chunk-HY33RMEA.js';
14
- import { resolveRuntimeAssets } from './chunk-ZBZQC5R7.js';
15
- import { resolveSkWorkspaceConfig, resolveAgentDir, cloudConfigFromProfile, stageMaterializedSkills, loadMcpServerDeclarations, COMPACTION_DEFAULTS, validateAssetRecipeAttr, deriveSingleMaterializedMcpDeclaration } from './chunk-UQKYT4V6.js';
13
+ import { resolveSettings, resolveApiKey, providerEnvKey } from './chunk-5NZ56R63.js';
14
+ import { resolveRuntimeAssets } from './chunk-7J7LQP6T.js';
15
+ import { resolveSkWorkspaceConfig, resolveAgentDir, cloudConfigFromProfile, stageMaterializedSkills, loadMcpServerDeclarations, COMPACTION_DEFAULTS, validateAssetRecipeAttr, deriveSingleMaterializedMcpDeclaration } from './chunk-ISA7R7PK.js';
16
16
  import { parseAssetRef } from './chunk-GEEW6SY2.js';
17
17
  import { resolveDriverPaths } from './chunk-K5GBV4SA.js';
18
18
  import { getLogStore, resolveLogStoreConfig, createLogStoreFromConfig, OnLogBridgeSink, WsLogSink, registerLogStore, resetLogStore, createLogger } from './chunk-JB35MVBN.js';
@@ -2193,6 +2193,10 @@ function audienceOf(cap) {
2193
2193
  function hasAudience(cap, target) {
2194
2194
  return audienceOf(cap).includes(target);
2195
2195
  }
2196
+ var APP_CAPABILITY_PREFIX = "app.";
2197
+ function capabilityLogInstance(cap) {
2198
+ return cap.origin.kind === "app" ? `${cap.origin.appId}.${cap.name}` : cap.name;
2199
+ }
2196
2200
  var ORIGIN_PROMPT_ORDER = [
2197
2201
  "framework",
2198
2202
  "client",
@@ -2255,9 +2259,14 @@ var CapabilityRegistry = class {
2255
2259
  *
2256
2260
  * Allowed combinations:
2257
2261
  * - source `'agent'`: origins `framework | agent | flow | skill | mcp | connector | mount`
2258
- * - source `'client'`: origin `client` only
2262
+ * never `client`, and never `app` (an in-process registrant must not be
2263
+ * able to impersonate an embedded app)
2264
+ * - source `'client'`: origins `client` or `app`. The platform gateway is the
2265
+ * only client peer; it forwards an embedded app's capabilities after binding
2266
+ * each to the connection it arrived on. The runner cannot verify an `appId`.
2259
2267
  * - source `{ kind: 'app', appId }`: origin `app` only, and the origin's
2260
- * `appId` must match the source `appId`
2268
+ * `appId` must match the source `appId`. For a direct app→runner connection;
2269
+ * unused today.
2261
2270
  *
2262
2271
  * @param cap - capability to register (typically built via {@link defineCapability})
2263
2272
  * @param source - which side is doing the registration
@@ -2369,10 +2378,16 @@ var CapabilityRegistry = class {
2369
2378
  * hibernation by this method — agent-side ones come back via the
2370
2379
  * skill / flow / connector / mount adapters. Snapshot entries from other
2371
2380
  * origins are skipped on hydrate.
2381
+ *
2382
+ * Embedded-app capabilities carry an `app` origin, so the `client`-origin
2383
+ * check already excludes them; the reserved-prefix skip below is a backstop
2384
+ * against a capability that reaches the registry with a relabelled origin.
2372
2385
  */
2373
2386
  hydrate(snapshot) {
2387
+ let hydrated = 0;
2374
2388
  for (const cap of snapshot) {
2375
2389
  if (cap.origin.kind !== "client") continue;
2390
+ if (cap.name.startsWith(APP_CAPABILITY_PREFIX)) continue;
2376
2391
  const stub = {
2377
2392
  ...cap,
2378
2393
  inputZod: HYDRATED_PASSTHROUGH_ZOD,
@@ -2380,8 +2395,9 @@ var CapabilityRegistry = class {
2380
2395
  handler: HYDRATED_REJECT_HANDLER
2381
2396
  };
2382
2397
  this.byName.set(cap.name, stub);
2398
+ hydrated++;
2383
2399
  }
2384
- this.logger.info("capability registry hydrated", { count: snapshot.length });
2400
+ this.logger.info("capability registry hydrated", { count: hydrated, total: snapshot.length });
2385
2401
  }
2386
2402
  /**
2387
2403
  * Invoke a registered capability. Validates the input against the Zod
@@ -2399,7 +2415,7 @@ var CapabilityRegistry = class {
2399
2415
  const log = createLogger({
2400
2416
  kind: "capability",
2401
2417
  subkind: cap.origin.kind,
2402
- instance: cap.name
2418
+ instance: capabilityLogInstance(cap)
2403
2419
  });
2404
2420
  log.info("invoking", { input });
2405
2421
  try {
@@ -2415,7 +2431,7 @@ var CapabilityRegistry = class {
2415
2431
  /** True when `source` is allowed to register the given `origin`. */
2416
2432
  isOriginAllowed(source, origin) {
2417
2433
  if (source === "client") {
2418
- return origin.kind === "client";
2434
+ return origin.kind === "client" || origin.kind === "app";
2419
2435
  }
2420
2436
  if (source === "agent") {
2421
2437
  return origin.kind !== "client" && origin.kind !== "app";
@@ -5908,6 +5924,6 @@ function touchSession(state) {
5908
5924
  return { ...state, updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
5909
5925
  }
5910
5926
 
5911
- export { CLAUDE_CODE_CREDENTIALS_KEY, COMPILE_MANIFEST_FILENAME, CapabilityRegistry, DEFAULT_CAPABILITY_CALL_TIMEOUT_MS, DEFAULT_COALESCE_MS, MarkdownStreamer, PreInitRingSink, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildConnectorTokenMediator, buildContextSection, buildEnvironmentSection, buildResourcesAvailablePayload, builtinCapabilities, clearPreInitRingSink, clearSession, compileComposition, computeCapabilitySignature, connectorRefreshKind, createAgentSession, createSessionStimulusBus, defineCapability, deleteSession, dispatchRunnerCapabilityInvocation, emitSystemPromptComposed, ensureGitConfigInclude, extractClaudeAiOauthExpiresAt, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, installPreInitRingSink, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadSession, loadSessionById, mcpAuthSecretKey, newSession, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, resetRunnerLogStore, resolveAgentComposition, resolveAgentMixins, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveMixin, runAgentChat, saveSession, setCurrentSession, startAgentServer, touchSession, writeClaudeCodeCredentialsFile };
5912
- //# sourceMappingURL=chunk-BGIC25VK.js.map
5913
- //# sourceMappingURL=chunk-BGIC25VK.js.map
5927
+ export { CLAUDE_CODE_CREDENTIALS_KEY, COMPILE_MANIFEST_FILENAME, CapabilityRegistry, DEFAULT_CAPABILITY_CALL_TIMEOUT_MS, DEFAULT_COALESCE_MS, MarkdownStreamer, PreInitRingSink, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildConnectorTokenMediator, buildContextSection, buildEnvironmentSection, buildResourcesAvailablePayload, builtinCapabilities, capabilityLogInstance, clearPreInitRingSink, clearSession, compileComposition, computeCapabilitySignature, connectorRefreshKind, createAgentSession, createSessionStimulusBus, defineCapability, deleteSession, dispatchRunnerCapabilityInvocation, emitSystemPromptComposed, ensureGitConfigInclude, extractClaudeAiOauthExpiresAt, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, installPreInitRingSink, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadSession, loadSessionById, mcpAuthSecretKey, newSession, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, resetRunnerLogStore, resolveAgentComposition, resolveAgentMixins, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveMixin, runAgentChat, saveSession, setCurrentSession, startAgentServer, touchSession, writeClaudeCodeCredentialsFile };
5928
+ //# sourceMappingURL=chunk-M4UKIJ5K.js.map
5929
+ //# sourceMappingURL=chunk-M4UKIJ5K.js.map