@skaile/workspaces 3.22.0 → 3.23.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 (94) hide show
  1. package/CHANGELOG.md +84 -0
  2. package/dist/app-sdk/index.js +1 -1
  3. package/dist/{asset-feeds-6EETZDHH.js → asset-feeds-7XNPNIHN.js} +4 -4
  4. package/dist/{asset-feeds-6EETZDHH.js.map → asset-feeds-7XNPNIHN.js.map} +1 -1
  5. package/dist/asset-manager/index.js +1 -1
  6. package/dist/{chunk-DAWQ22RW.js → chunk-2WY5GFGM.js} +3 -3
  7. package/dist/{chunk-DAWQ22RW.js.map → chunk-2WY5GFGM.js.map} +1 -1
  8. package/dist/{chunk-FBIETQGY.js → chunk-3AUHU52L.js} +2 -2
  9. package/dist/{chunk-FBIETQGY.js.map → chunk-3AUHU52L.js.map} +1 -1
  10. package/dist/{chunk-ZMV3VFDF.js → chunk-57XKQ6VA.js} +6 -6
  11. package/dist/{chunk-ZMV3VFDF.js.map → chunk-57XKQ6VA.js.map} +1 -1
  12. package/dist/{chunk-IUOXPQA3.js → chunk-74PLEDRD.js} +2 -2
  13. package/dist/{chunk-IUOXPQA3.js.map → chunk-74PLEDRD.js.map} +1 -1
  14. package/dist/{chunk-ORC2K2I7.js → chunk-GA2TTHBP.js} +6 -6
  15. package/dist/{chunk-ORC2K2I7.js.map → chunk-GA2TTHBP.js.map} +1 -1
  16. package/dist/{chunk-IST2V7RU.js → chunk-M2AG3GLB.js} +3 -3
  17. package/dist/{chunk-IST2V7RU.js.map → chunk-M2AG3GLB.js.map} +1 -1
  18. package/dist/{chunk-FXHBHT75.js → chunk-NBXH6RTU.js} +51 -15
  19. package/dist/chunk-NBXH6RTU.js.map +1 -0
  20. package/dist/{chunk-AYOYM3R3.js → chunk-NMP4POJO.js} +3 -3
  21. package/dist/{chunk-AYOYM3R3.js.map → chunk-NMP4POJO.js.map} +1 -1
  22. package/dist/{chunk-AA3ZFPWX.js → chunk-OO5ITOUC.js} +3 -3
  23. package/dist/{chunk-AA3ZFPWX.js.map → chunk-OO5ITOUC.js.map} +1 -1
  24. package/dist/{chunk-TDHG7F77.js → chunk-XHVAGSSY.js} +3 -3
  25. package/dist/{chunk-TDHG7F77.js.map → chunk-XHVAGSSY.js.map} +1 -1
  26. package/dist/{chunk-PLLVREB2.js → chunk-YFBDJWRA.js} +104 -13
  27. package/dist/chunk-YFBDJWRA.js.map +1 -0
  28. package/dist/{chunk-23L3P7IB.js → chunk-ZJLO6HFS.js} +2 -2
  29. package/dist/{chunk-23L3P7IB.js.map → chunk-ZJLO6HFS.js.map} +1 -1
  30. package/dist/cli/index.js +27 -27
  31. package/dist/connectors/index.js +1 -1
  32. package/dist/{ensure-sources-LLUFYDS6.js → ensure-sources-KQARQTTZ.js} +4 -4
  33. package/dist/{ensure-sources-LLUFYDS6.js.map → ensure-sources-KQARQTTZ.js.map} +1 -1
  34. package/dist/factory-assets/connectors/box.js +1 -1
  35. package/dist/factory-assets/connectors/deploy.js +1 -1
  36. package/dist/factory-assets/connectors/devserver.js +1 -1
  37. package/dist/factory-assets/connectors/flow/adapter.js +1 -1
  38. package/dist/factory-assets/connectors/flow/run-flow.js +2 -2
  39. package/dist/factory-assets/connectors/flow.js +1 -1
  40. package/dist/factory-assets/connectors/git/driver.d.ts.map +1 -1
  41. package/dist/factory-assets/connectors/git.js +1 -1
  42. package/dist/factory-assets/connectors/gmail.js +1 -1
  43. package/dist/factory-assets/connectors/googledrive.js +1 -1
  44. package/dist/factory-assets/connectors/local.js +1 -1
  45. package/dist/factory-assets/connectors/mattermost.js +1 -1
  46. package/dist/factory-assets/connectors/memory.js +1 -1
  47. package/dist/factory-assets/connectors/minio.js +1 -1
  48. package/dist/factory-assets/connectors/postgres.js +1 -1
  49. package/dist/factory-assets/connectors/s3.js +1 -1
  50. package/dist/factory-assets/connectors/sharepoint.js +1 -1
  51. package/dist/factory-assets/connectors/sqlite.js +1 -1
  52. package/dist/factory-assets/connectors/static-server.js +1 -1
  53. package/dist/factory-assets/connectors/tunnel.js +1 -1
  54. package/dist/factory-assets/connectors/webdav.js +1 -1
  55. package/dist/factory-assets/connectors/xstate-store.js +1 -1
  56. package/dist/factory-assets/connectors/xstate.js +1 -1
  57. package/dist/{helpers-QCDU5PSM.js → helpers-LOJY7SGY.js} +4 -4
  58. package/dist/{helpers-QCDU5PSM.js.map → helpers-LOJY7SGY.js.map} +1 -1
  59. package/dist/{library-publish-ZKA7VRVX.js → library-publish-AVLOQR4R.js} +6 -6
  60. package/dist/{library-publish-ZKA7VRVX.js.map → library-publish-AVLOQR4R.js.map} +1 -1
  61. package/dist/{open-library-JSP4TJJH.js → open-library-A2UKFS2M.js} +5 -5
  62. package/dist/{open-library-JSP4TJJH.js.map → open-library-A2UKFS2M.js.map} +1 -1
  63. package/dist/{project-6WVN7M7B.js → project-NELXHEXE.js} +5 -5
  64. package/dist/{project-6WVN7M7B.js.map → project-NELXHEXE.js.map} +1 -1
  65. package/dist/runner/index.js +5 -5
  66. package/dist/runner/src/capability-roundtrip.d.ts +2 -6
  67. package/dist/runner/src/capability-roundtrip.d.ts.map +1 -1
  68. package/dist/runner/src/lifecycle-handler.d.ts +6 -3
  69. package/dist/runner/src/lifecycle-handler.d.ts.map +1 -1
  70. package/dist/runner/src/reply-routing.d.ts +44 -0
  71. package/dist/runner/src/reply-routing.d.ts.map +1 -0
  72. package/dist/runner/src/serve.d.ts.map +1 -1
  73. package/dist/sdk/asset-manager.js +1 -1
  74. package/dist/sdk/index.js +5 -5
  75. package/dist/sdk/runner.js +5 -5
  76. package/dist/sdk/session.js +2 -2
  77. package/dist/sdk/types.js +1 -1
  78. package/dist/session/index.js +2 -2
  79. package/dist/{source-KC2IJYXJ.js → source-VXH4TL3D.js} +6 -6
  80. package/dist/{source-KC2IJYXJ.js.map → source-VXH4TL3D.js.map} +1 -1
  81. package/dist/{source-manifest-publish-OLSWFW7L.js → source-manifest-publish-6TUZGQX2.js} +7 -7
  82. package/dist/{source-manifest-publish-OLSWFW7L.js.map → source-manifest-publish-6TUZGQX2.js.map} +1 -1
  83. package/dist/tui/index.js +5 -5
  84. package/dist/types/index.js +1 -1
  85. package/dist/types/src/capabilities.d.ts +43 -0
  86. package/dist/types/src/capabilities.d.ts.map +1 -1
  87. package/dist/types/src/envelope.d.ts +3 -3
  88. package/dist/types/src/envelope.d.ts.map +1 -1
  89. package/dist/types/src/index.d.ts +1 -1
  90. package/dist/types/src/index.d.ts.map +1 -1
  91. package/dist/workspace-plugin/index.js +1 -1
  92. package/package.json +1 -1
  93. package/dist/chunk-FXHBHT75.js.map +0 -1
  94. package/dist/chunk-PLLVREB2.js.map +0 -1
@@ -1,12 +1,12 @@
1
1
  import { buildWorkspaceToolDefs } from './chunk-NCHMJPKN.js';
2
2
  import { findAiAssetsRoot } from './chunk-7IRJ4K4F.js';
3
- import { WorkspacePlugin } from './chunk-IUOXPQA3.js';
3
+ import { WorkspacePlugin } from './chunk-74PLEDRD.js';
4
4
  import { assembleSystemPrompt, buildCapabilitiesPromptSection } from './chunk-W3UDISS2.js';
5
5
  import { WebSocketServerTransport } from './chunk-WQ7DE5UC.js';
6
6
  import { prepareNativePolicy, codexInstanceEnvironment, parseCodexCredential, parseCodexRefreshInput, parseCodexRefreshResult } from './chunk-T3YLZQS4.js';
7
- import { resolveFlowPath } from './chunk-AA3ZFPWX.js';
7
+ import { resolveFlowPath } from './chunk-OO5ITOUC.js';
8
8
  import { findAiAssetsRoot as findAiAssetsRoot$1, deployCatalogEntry, undeployCatalogEntry } from './chunk-7BUZQVRR.js';
9
- import { registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, ConnectorStartupError, buildSdkConnectorTools, buildConnectorToolDefs, buildFlowToolDefs, driveOrchestratorTurn, SessionNodeExecutor, SessionSubpromptRunner, SessionInlineSubFlowRunner, buildSdkFlowTools } from './chunk-PLLVREB2.js';
9
+ import { registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, ConnectorStartupError, buildSdkConnectorTools, buildConnectorToolDefs, buildFlowToolDefs, driveOrchestratorTurn, SessionNodeExecutor, SessionSubpromptRunner, SessionInlineSubFlowRunner, buildSdkFlowTools } from './chunk-YFBDJWRA.js';
10
10
  import { loadConnectorDeclarations, SecretProviderChain, PreMintedSecretProvider, InMemorySecretProvider, resolvedConfigToDeclarations, isKnownSecretRef, deriveSingleMaterializedConnectorDeclaration } from './chunk-SIREWRZE.js';
11
11
  import { EventNormalizer } from './chunk-K5BUXOBH.js';
12
12
  import { SUPPORTED_CLOUDS, probeResumeTranscript, CLOUD_SECRET_ENV_KEYS } from './chunk-3NCGSSCU.js';
@@ -17,7 +17,7 @@ import { createDriver } from './chunk-6FZCQT3V.js';
17
17
  import { loadFlow } from './chunk-W5LPG3X6.js';
18
18
  import { parseFlowDefinition } from './chunk-CP62G5PK.js';
19
19
  import { renderStimulusPrompt } from './chunk-2D5BYAL6.js';
20
- import { PROTOCOL_VERSION } from './chunk-23L3P7IB.js';
20
+ import { PROTOCOL_VERSION } from './chunk-ZJLO6HFS.js';
21
21
  import { resolveSettings, resolveApiKey, providerEnvKey } from './chunk-HSRHO7SK.js';
22
22
  import { resolveDriverPaths } from './chunk-K5GBV4SA.js';
23
23
  import { resolveRuntimeAssets } from './chunk-IB4XKQMQ.js';
@@ -3925,6 +3925,16 @@ var DriverSwapGate = class {
3925
3925
  }
3926
3926
  };
3927
3927
 
3928
+ // runner/src/reply-routing.ts
3929
+ async function routeReply(deps) {
3930
+ const current = deps.getDriver();
3931
+ if (current.hasPendingQuestion()) {
3932
+ return current.answerQuestion(deps.answer, deps.question, deps.requestId) ? "answered" : "fresh-turn";
3933
+ }
3934
+ await deps.awaitSwap();
3935
+ return "fresh-turn";
3936
+ }
3937
+
3928
3938
  // runner/src/compaction/prompt.ts
3929
3939
  var DEFAULT_COMPACTION_PROMPT = `You are being asked to compact this conversation into a structured summary.
3930
3940
  This summary will replace the full conversation history when the session
@@ -4749,6 +4759,16 @@ function readCurrentClaudeAccessToken(home) {
4749
4759
  }
4750
4760
 
4751
4761
  // runner/src/lifecycle-handler.ts
4762
+ function raiseHookFailures(phase, results, log) {
4763
+ const failed = results.filter((r) => !r.ok);
4764
+ if (failed.length === 0) return;
4765
+ for (const f of failed) {
4766
+ log(`[lifecycle] ${phase}: connector "${f.id}" failed \u2014 ${f.error ?? "unknown error"}`);
4767
+ }
4768
+ throw new Error(
4769
+ `${failed.length} connector(s) failed to ${phase}: ${failed.map((f) => `${f.id}: ${f.error ?? "unknown error"}`).join("; ")}`
4770
+ );
4771
+ }
4752
4772
  function buildLifecycleHandler(deps) {
4753
4773
  const { getCompactionOrchestrator, getResourceManager, log } = deps;
4754
4774
  return async ({ phase }) => {
@@ -4761,13 +4781,13 @@ function buildLifecycleHandler(deps) {
4761
4781
  }
4762
4782
  case "hibernate": {
4763
4783
  const manager = getResourceManager();
4764
- if (manager) await manager.hibernateAll();
4784
+ if (manager) raiseHookFailures("hibernate", await manager.hibernateAll(), log);
4765
4785
  else log("[lifecycle] hibernate: no resource manager \u2014 skipped");
4766
4786
  break;
4767
4787
  }
4768
4788
  case "close": {
4769
4789
  const manager = getResourceManager();
4770
- if (manager) await manager.closeAll();
4790
+ if (manager) raiseHookFailures("close", await manager.closeAll(), log);
4771
4791
  else log("[lifecycle] close: no resource manager \u2014 skipped");
4772
4792
  break;
4773
4793
  }
@@ -7430,7 +7450,9 @@ async function startAgentServer(opts) {
7430
7450
  }
7431
7451
  log(`[serve] runner.attach_instance staged skill(s): ${staged.join(", ")}`);
7432
7452
  const live = driverStarted;
7433
- await restartDriverForSkillChanges(staged.map((s) => ({ name: s, action: "add" })));
7453
+ scheduleDriverRestartForSkillChanges(
7454
+ staged.map((s) => ({ name: s, action: "add" }))
7455
+ );
7434
7456
  return { ok: true, id: name, live, toolCount: 0 };
7435
7457
  } catch (err) {
7436
7458
  return {
@@ -7474,6 +7496,13 @@ async function startAgentServer(opts) {
7474
7496
  }))
7475
7497
  });
7476
7498
  }
7499
+ function scheduleDriverRestartForSkillChanges(catalogActions) {
7500
+ void restartDriverForSkillChanges(catalogActions).catch((err) => {
7501
+ serverLog.warn(
7502
+ `[serve] background driver restart for skill changes failed: ${err instanceof Error ? err.message : String(err)}`
7503
+ );
7504
+ });
7505
+ }
7477
7506
  let runtimeRejected = false;
7478
7507
  async function handleSessionInit(cmd) {
7479
7508
  const initReceivedAt = Date.now();
@@ -7779,9 +7808,14 @@ async function startAgentServer(opts) {
7779
7808
  async function handleReply(cmd) {
7780
7809
  if (!await awaitSessionReadyOrFail()) return;
7781
7810
  log(`[serve] reply: ${cmd.answer.slice(0, 80)}...`);
7782
- await driverSwapGate.awaitSwap();
7783
- if (driver.hasPendingQuestion() && driver.answerQuestion(cmd.answer, cmd.question, cmd.requestId))
7784
- return;
7811
+ const routed = await routeReply({
7812
+ getDriver: () => driver,
7813
+ awaitSwap: () => driverSwapGate.awaitSwap(),
7814
+ answer: cmd.answer,
7815
+ question: cmd.question,
7816
+ requestId: cmd.requestId
7817
+ });
7818
+ if (routed === "answered") return;
7785
7819
  if (!driver.acceptsReplyAsPrompt) return;
7786
7820
  if (!await awaitCompactionIdle("reply")) return;
7787
7821
  const endTurn = driverSwapGate.beginTurn();
@@ -8026,7 +8060,6 @@ async function startAgentServer(opts) {
8026
8060
  }
8027
8061
  async function handleCommand(cmd) {
8028
8062
  if (runtimeRejected || managedHost && managedBootstrapClosed) return;
8029
- const inbound = cmd;
8030
8063
  if (isCredentialRotatedSignal(cmd)) {
8031
8064
  if (managedCodex) return;
8032
8065
  await handleCredentialRotatedSignal({
@@ -8040,11 +8073,14 @@ async function startAgentServer(opts) {
8040
8073
  });
8041
8074
  return;
8042
8075
  }
8043
- if (inbound.type === "capability_invoked") {
8076
+ if (cmd.type === "capability_invoked") {
8044
8077
  await dispatchRunnerCapabilityInvocation(
8045
- { callId: inbound.callId ?? "", name: inbound.name ?? "", input: inbound.input },
8078
+ { callId: cmd.callId, name: cmd.name, input: cmd.input },
8046
8079
  {
8047
8080
  invoke: (name, input) => capabilityRegistry.invoke(name, input, { sessionId }),
8081
+ // `capability_result` is a CapabilityEvent; `sendEvent` and
8082
+ // `ServerTransport.send` are typed to AgentEvent alone though both
8083
+ // unions ride one wire. Widening that is a consumer-breaking change.
8048
8084
  emit: (event) => sendEvent(event)
8049
8085
  }
8050
8086
  );
@@ -8346,5 +8382,5 @@ function touchSession(state) {
8346
8382
  }
8347
8383
 
8348
8384
  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_TREE_OP_DEADLINE_FACTOR, MarkdownStreamer, PreInitRingSink, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildConnectorTokenMediator, buildContextSection, buildEnvironmentSection, buildResourcesAvailablePayload, buildStoreSnapshotReplay, builtinCapabilities, capabilityLogInstance, clearPreInitRingSink, clearSession, compileComposition, computeCapabilitySignature, connectorRefreshKind, createAgentSession, createFlowConnectorReadiness, createManagedCodexSubpromptDriver, createSessionStimulusBus, defineCapability, deleteSession, dispatchRunnerCapabilityInvocation, emitSystemPromptComposed, ensureClaudeSettingsDisablesConnectors, ensureGitConfigInclude, executeConnectorMutate, extractClaudeAiOauthExpiresAt, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, hasNonTerminalFlow, hostOpResumeStimulus, installPreInitRingSink, isTerminalFlowStatus, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadManagedCodexHostConfig, loadSession, loadSessionById, mcpAuthSecretKey, newSession, nulTailPaddingLength, 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 };
8349
- //# sourceMappingURL=chunk-FXHBHT75.js.map
8350
- //# sourceMappingURL=chunk-FXHBHT75.js.map
8385
+ //# sourceMappingURL=chunk-NBXH6RTU.js.map
8386
+ //# sourceMappingURL=chunk-NBXH6RTU.js.map