@skaile/workspaces 3.6.1 → 3.7.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 (129) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/dist/{asset-feeds-YK6VBW4Y.js → asset-feeds-RJEO72GF.js} +4 -4
  3. package/dist/{asset-feeds-YK6VBW4Y.js.map → asset-feeds-RJEO72GF.js.map} +1 -1
  4. package/dist/asset-manager/index.js +1 -1
  5. package/dist/bridge/drivers/claude-sdk.js +217 -22
  6. package/dist/bridge/drivers/claude-sdk.js.map +1 -1
  7. package/dist/bridge/drivers/codex.js +1 -1
  8. package/dist/bridge/drivers/continue.js +2 -2
  9. package/dist/bridge/drivers/echo.js +1 -1
  10. package/dist/bridge/drivers/gemini.js +3 -3
  11. package/dist/bridge/drivers/goose.js +2 -2
  12. package/dist/bridge/drivers/omp.js +1 -1
  13. package/dist/bridge/drivers/opencode.js +2 -2
  14. package/dist/bridge/drivers/qwen.js +3 -3
  15. package/dist/bridge/index.js +2 -2
  16. package/dist/bridge/src/drivers/claude-sdk.d.ts +68 -6
  17. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
  18. package/dist/{chunk-YYITPROS.js → chunk-5UHEJNBO.js} +3 -3
  19. package/dist/{chunk-YYITPROS.js.map → chunk-5UHEJNBO.js.map} +1 -1
  20. package/dist/{chunk-E554W7ZH.js → chunk-6K2B2VVH.js} +2 -2
  21. package/dist/{chunk-E554W7ZH.js.map → chunk-6K2B2VVH.js.map} +1 -1
  22. package/dist/{chunk-ZNDPABMQ.js → chunk-6N2YOG7K.js} +41 -20
  23. package/dist/chunk-6N2YOG7K.js.map +1 -0
  24. package/dist/chunk-AXEOG4B5.js +193 -0
  25. package/dist/chunk-AXEOG4B5.js.map +1 -0
  26. package/dist/{chunk-QJQL2DGN.js → chunk-CA26655X.js} +4 -4
  27. package/dist/{chunk-QJQL2DGN.js.map → chunk-CA26655X.js.map} +1 -1
  28. package/dist/{chunk-GVXR32DT.js → chunk-DITWUCNL.js} +3 -3
  29. package/dist/{chunk-GVXR32DT.js.map → chunk-DITWUCNL.js.map} +1 -1
  30. package/dist/{chunk-BGVTNQ23.js → chunk-FFDFRQHB.js} +6 -6
  31. package/dist/{chunk-BGVTNQ23.js.map → chunk-FFDFRQHB.js.map} +1 -1
  32. package/dist/{chunk-4Q76UBTV.js → chunk-GRMQBBN4.js} +2 -2
  33. package/dist/{chunk-4Q76UBTV.js.map → chunk-GRMQBBN4.js.map} +1 -1
  34. package/dist/{chunk-VC2I2U6Q.js → chunk-HY6CIKFH.js} +3 -3
  35. package/dist/chunk-HY6CIKFH.js.map +1 -0
  36. package/dist/{chunk-GOCFHDGC.js → chunk-JIQIWH6F.js} +2 -2
  37. package/dist/{chunk-GOCFHDGC.js.map → chunk-JIQIWH6F.js.map} +1 -1
  38. package/dist/{chunk-CL75GNIW.js → chunk-MDDE36QI.js} +4 -4
  39. package/dist/{chunk-CL75GNIW.js.map → chunk-MDDE36QI.js.map} +1 -1
  40. package/dist/{chunk-ZZ6LN5NO.js → chunk-NC5YXVZF.js} +3 -3
  41. package/dist/{chunk-ZZ6LN5NO.js.map → chunk-NC5YXVZF.js.map} +1 -1
  42. package/dist/{chunk-M3CKNK33.js → chunk-OJ3SCEVN.js} +6 -6
  43. package/dist/{chunk-M3CKNK33.js.map → chunk-OJ3SCEVN.js.map} +1 -1
  44. package/dist/{chunk-L3KQJ2Y7.js → chunk-ONLLHZ4O.js} +15 -20
  45. package/dist/chunk-ONLLHZ4O.js.map +1 -0
  46. package/dist/{chunk-FYJY4UIR.js → chunk-OYZIURPH.js} +3 -3
  47. package/dist/{chunk-FYJY4UIR.js.map → chunk-OYZIURPH.js.map} +1 -1
  48. package/dist/{chunk-7T3O4KFG.js → chunk-TNEGQCTP.js} +4 -4
  49. package/dist/{chunk-7T3O4KFG.js.map → chunk-TNEGQCTP.js.map} +1 -1
  50. package/dist/{chunk-BC5MXJZA.js → chunk-U5NPUWBU.js} +3 -3
  51. package/dist/{chunk-BC5MXJZA.js.map → chunk-U5NPUWBU.js.map} +1 -1
  52. package/dist/{chunk-UTMZU56B.js → chunk-UXLT4YQU.js} +3 -3
  53. package/dist/{chunk-UTMZU56B.js.map → chunk-UXLT4YQU.js.map} +1 -1
  54. package/dist/{chunk-AFA7NYN2.js → chunk-YRLSGA6X.js} +2 -2
  55. package/dist/{chunk-AFA7NYN2.js.map → chunk-YRLSGA6X.js.map} +1 -1
  56. package/dist/cli/index.js +33 -32
  57. package/dist/cli/index.js.map +1 -1
  58. package/dist/connectors/index.js +6 -5
  59. package/dist/{ensure-sources-2RW742IO.js → ensure-sources-LIEDRFLL.js} +4 -4
  60. package/dist/{ensure-sources-2RW742IO.js.map → ensure-sources-LIEDRFLL.js.map} +1 -1
  61. package/dist/factory-assets/connectors/box.js +6 -5
  62. package/dist/factory-assets/connectors/deploy.js +6 -5
  63. package/dist/factory-assets/connectors/devserver.js +6 -5
  64. package/dist/factory-assets/connectors/flow/CONNECTOR.md +1 -1
  65. package/dist/factory-assets/connectors/flow/adapter.d.ts.map +1 -1
  66. package/dist/factory-assets/connectors/flow/adapter.js +6 -5
  67. package/dist/factory-assets/connectors/flow/contract/index.d.ts +1 -0
  68. package/dist/factory-assets/connectors/flow/contract/index.d.ts.map +1 -1
  69. package/dist/factory-assets/connectors/flow/contract/input-schema.d.ts +49 -0
  70. package/dist/factory-assets/connectors/flow/contract/input-schema.d.ts.map +1 -0
  71. package/dist/factory-assets/connectors/flow/contract/schema.d.ts +39 -0
  72. package/dist/factory-assets/connectors/flow/contract/schema.d.ts.map +1 -1
  73. package/dist/factory-assets/connectors/flow/contract.js +3 -2
  74. package/dist/factory-assets/connectors/flow/engine.js +2 -2
  75. package/dist/factory-assets/connectors/flow/run-flow.js +7 -6
  76. package/dist/factory-assets/connectors/flow.js +6 -5
  77. package/dist/factory-assets/connectors/git.js +6 -5
  78. package/dist/factory-assets/connectors/gmail.js +6 -5
  79. package/dist/factory-assets/connectors/googledrive.js +6 -5
  80. package/dist/factory-assets/connectors/local.js +6 -5
  81. package/dist/factory-assets/connectors/mattermost.js +6 -5
  82. package/dist/factory-assets/connectors/memory.js +6 -5
  83. package/dist/factory-assets/connectors/minio.js +6 -5
  84. package/dist/factory-assets/connectors/postgres.js +6 -5
  85. package/dist/factory-assets/connectors/s3.js +6 -5
  86. package/dist/factory-assets/connectors/sharepoint.js +6 -5
  87. package/dist/factory-assets/connectors/sqlite.js +6 -5
  88. package/dist/factory-assets/connectors/static-server.js +6 -5
  89. package/dist/factory-assets/connectors/tunnel.js +6 -5
  90. package/dist/factory-assets/connectors/webdav.js +6 -5
  91. package/dist/factory-assets/connectors/xstate-store.js +6 -5
  92. package/dist/factory-assets/connectors/xstate.js +6 -5
  93. package/dist/{flows-W7EYXP6R.js → flows-4R4VJ5VM.js} +3 -3
  94. package/dist/{flows-W7EYXP6R.js.map → flows-4R4VJ5VM.js.map} +1 -1
  95. package/dist/{helpers-D7W7C5NL.js → helpers-3LCAPFGM.js} +4 -4
  96. package/dist/{helpers-D7W7C5NL.js.map → helpers-3LCAPFGM.js.map} +1 -1
  97. package/dist/{library-publish-X4ZR2PG6.js → library-publish-JD2PJOZO.js} +8 -8
  98. package/dist/{library-publish-X4ZR2PG6.js.map → library-publish-JD2PJOZO.js.map} +1 -1
  99. package/dist/{open-library-6VUMR6I6.js → open-library-T4H6CZKH.js} +7 -7
  100. package/dist/{open-library-6VUMR6I6.js.map → open-library-T4H6CZKH.js.map} +1 -1
  101. package/dist/{project-RS6ANRJT.js → project-VYCQHKJ5.js} +5 -5
  102. package/dist/{project-RS6ANRJT.js.map → project-VYCQHKJ5.js.map} +1 -1
  103. package/dist/runner/index.js +10 -9
  104. package/dist/runner/src/compaction/orchestrator.d.ts +4 -0
  105. package/dist/runner/src/compaction/orchestrator.d.ts.map +1 -1
  106. package/dist/runner/src/serve.d.ts.map +1 -1
  107. package/dist/sdk/asset-manager.js +1 -1
  108. package/dist/sdk/bridge.js +2 -2
  109. package/dist/sdk/flow.js +2 -2
  110. package/dist/sdk/index.js +10 -9
  111. package/dist/sdk/index.js.map +1 -1
  112. package/dist/sdk/runner.js +10 -9
  113. package/dist/{setup-4TE4XIDD.js → setup-JDAYBHHG.js} +4 -4
  114. package/dist/{setup-4TE4XIDD.js.map → setup-JDAYBHHG.js.map} +1 -1
  115. package/dist/{source-DF3YRE6B.js → source-RJ7JM6FD.js} +8 -8
  116. package/dist/{source-DF3YRE6B.js.map → source-RJ7JM6FD.js.map} +1 -1
  117. package/dist/{source-manifest-publish-L5JH2WD3.js → source-manifest-publish-QTHBFG3X.js} +9 -9
  118. package/dist/{source-manifest-publish-L5JH2WD3.js.map → source-manifest-publish-QTHBFG3X.js.map} +1 -1
  119. package/dist/tui/index.js +10 -9
  120. package/dist/tui/index.js.map +1 -1
  121. package/dist/types/src/events.d.ts +9 -0
  122. package/dist/types/src/events.d.ts.map +1 -1
  123. package/dist/workspace-plugin/adapters/mcp.js +1 -1
  124. package/dist/workspace-plugin/adapters/omp.js +3 -3
  125. package/dist/workspace-plugin/index.js +1 -1
  126. package/package.json +1 -1
  127. package/dist/chunk-L3KQJ2Y7.js.map +0 -1
  128. package/dist/chunk-VC2I2U6Q.js.map +0 -1
  129. package/dist/chunk-ZNDPABMQ.js.map +0 -1
@@ -1,16 +1,16 @@
1
- import { WorkspacePlugin } from './chunk-E554W7ZH.js';
1
+ import { WorkspacePlugin } from './chunk-6K2B2VVH.js';
2
2
  import { assembleSystemPrompt, buildCapabilitiesPromptSection } from './chunk-W3UDISS2.js';
3
3
  import { WebSocketServerTransport } from './chunk-WQ7DE5UC.js';
4
- import { resolveFlowPath } from './chunk-CL75GNIW.js';
4
+ import { resolveFlowPath } from './chunk-MDDE36QI.js';
5
5
  import { findAiAssetsRoot, deployCatalogEntry, undeployCatalogEntry } from './chunk-GHWJHOYX.js';
6
- import { registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, ConnectorStartupError, buildSdkConnectorTools, driveOrchestratorTurn, SessionNodeExecutor, SessionSubpromptRunner, SessionInlineSubFlowRunner, buildSdkFlowTools } from './chunk-L3KQJ2Y7.js';
6
+ import { registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, ConnectorStartupError, buildSdkConnectorTools, driveOrchestratorTurn, SessionNodeExecutor, SessionSubpromptRunner, SessionInlineSubFlowRunner, buildSdkFlowTools } from './chunk-ONLLHZ4O.js';
7
7
  import { loadConnectorDeclarations, SecretProviderChain, PreMintedSecretProvider, InMemorySecretProvider, resolvedConfigToDeclarations, isKnownSecretRef, deriveSingleMaterializedConnectorDeclaration } from './chunk-3UU3D2Q3.js';
8
- import { EventNormalizer } from './chunk-UTMZU56B.js';
8
+ import { EventNormalizer } from './chunk-UXLT4YQU.js';
9
9
  import { SUPPORTED_CLOUDS, probeResumeTranscript, CLOUD_SECRET_ENV_KEYS } from './chunk-RUFTB7QN.js';
10
10
  import { classifyClaudeSdkError } from './chunk-GAH4YRCI.js';
11
- import { createDriver } from './chunk-AFA7NYN2.js';
12
- import { loadFlow } from './chunk-FYJY4UIR.js';
13
- import { parseFlowDefinition } from './chunk-VC2I2U6Q.js';
11
+ import { createDriver } from './chunk-YRLSGA6X.js';
12
+ import { loadFlow } from './chunk-OYZIURPH.js';
13
+ import { parseFlowDefinition } from './chunk-HY6CIKFH.js';
14
14
  import { renderStimulusPrompt } from './chunk-HGFKNJA5.js';
15
15
  import { PROTOCOL_VERSION } from './chunk-D4VHBAJC.js';
16
16
  import { resolveSettings, resolveApiKey, providerEnvKey } from './chunk-AZPXCHDK.js';
@@ -3316,20 +3316,21 @@ var CompactionOrchestrator = class {
3316
3316
  mcpDirectives: this.opts.mcpDirectives,
3317
3317
  focus
3318
3318
  });
3319
- const { summaryText, promptError } = await this._runCompactionPrompt(prompt);
3319
+ const { summaryText, promptError, elapsedMs } = await this._runCompactionPrompt(prompt);
3320
+ const attempt = { ...attemptBase, elapsedMs };
3320
3321
  if (promptError !== null) {
3321
- this._emitThrownFailure(attemptBase, promptError);
3322
+ this._emitThrownFailure(attempt, promptError);
3322
3323
  return null;
3323
3324
  }
3324
3325
  const actualUsage = this.driver.getTokenUsage();
3325
3326
  const tokensAfter = actualUsage?.outputTokens ?? Math.ceil(summaryText.length / 4);
3326
3327
  const validation = validateCompactionOutput(summaryText, tokensBefore, tokensAfter);
3327
3328
  if (!validation.ok) {
3328
- this._emitValidationFailure(attemptBase, validation.errorCode, tokensAfter);
3329
+ this._emitValidationFailure(attempt, validation.errorCode, tokensAfter);
3329
3330
  return null;
3330
3331
  }
3331
3332
  return await this._completeCompaction(
3332
- attemptBase,
3333
+ attempt,
3333
3334
  trigger,
3334
3335
  summaryText,
3335
3336
  tokensBefore,
@@ -3341,9 +3342,15 @@ var CompactionOrchestrator = class {
3341
3342
  * Drive the compaction `prompt()` call, capturing summary text from the
3342
3343
  * driver's raw bridge-level events and any thrown error. The listener is
3343
3344
  * always removed in `finally`.
3345
+ *
3346
+ * `elapsedMs` is the wall-clock cost of the `prompt()` call. It is the only
3347
+ * thing that separates a genuinely empty model response from a turn that was
3348
+ * settled by something other than the model, which resolves in milliseconds.
3344
3349
  */
3345
3350
  async _runCompactionPrompt(prompt) {
3346
3351
  let summaryText = "";
3352
+ let sawDeltas = false;
3353
+ const capturedMessages = /* @__PURE__ */ new WeakSet();
3347
3354
  const captureHandler = (raw) => {
3348
3355
  const event = raw;
3349
3356
  if (event.type === "text") {
@@ -3352,12 +3359,21 @@ var CompactionOrchestrator = class {
3352
3359
  }
3353
3360
  if (event.type === "message_update") {
3354
3361
  const delta = event._textDelta;
3355
- if (delta) summaryText += delta;
3362
+ if (delta) {
3363
+ summaryText += delta;
3364
+ sawDeltas = true;
3365
+ }
3356
3366
  return;
3357
3367
  }
3358
3368
  if (event.type === "message_start" || event.type === "message_end") {
3359
3369
  const msg = event.message;
3360
3370
  if (!msg?.content) return;
3371
+ const alreadyCaptured = capturedMessages.has(msg);
3372
+ capturedMessages.add(msg);
3373
+ if (alreadyCaptured || sawDeltas) {
3374
+ if (event.type === "message_start") sawDeltas = false;
3375
+ return;
3376
+ }
3361
3377
  const blocks = Array.isArray(msg.content) ? msg.content : [];
3362
3378
  for (const b of blocks) {
3363
3379
  if (b.type === "text" && b.text) summaryText += b.text;
@@ -3365,6 +3381,7 @@ var CompactionOrchestrator = class {
3365
3381
  }
3366
3382
  };
3367
3383
  let promptError = null;
3384
+ const startedAt = Date.now();
3368
3385
  try {
3369
3386
  this.driver.on("agent-event", captureHandler);
3370
3387
  await this.driver.prompt(prompt);
@@ -3373,7 +3390,7 @@ var CompactionOrchestrator = class {
3373
3390
  } finally {
3374
3391
  this.driver.removeListener("agent-event", captureHandler);
3375
3392
  }
3376
- return { summaryText, promptError };
3393
+ return { summaryText, promptError, elapsedMs: Date.now() - startedAt };
3377
3394
  }
3378
3395
  /**
3379
3396
  * Record a `failed` attempt for a thrown `prompt()` error: classify the
@@ -5325,11 +5342,15 @@ async function startAgentServer(opts) {
5325
5342
  }
5326
5343
  if (event.type === "finished") {
5327
5344
  if (!compacting && compactionOrchestrator?.shouldCompact()) {
5328
- compactionOrchestrator.compact("threshold").catch((err) => {
5329
- log(
5330
- `[serve] auto-compaction failed: ${err instanceof Error ? err.message : String(err)}`
5331
- );
5332
- });
5345
+ const compactionTimer = setTimeout(() => {
5346
+ if (compacting || !compactionOrchestrator?.shouldCompact()) return;
5347
+ compactionOrchestrator.compact("threshold").catch((err) => {
5348
+ log(
5349
+ `[serve] auto-compaction failed: ${err instanceof Error ? err.message : String(err)}`
5350
+ );
5351
+ });
5352
+ }, 0);
5353
+ compactionTimer.unref?.();
5333
5354
  }
5334
5355
  const driverSessionId = driver?.runtimeSessionId;
5335
5356
  if (driverSessionId) {
@@ -6814,5 +6835,5 @@ function touchSession(state) {
6814
6835
  }
6815
6836
 
6816
6837
  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, createSessionStimulusBus, defineCapability, deleteSession, dispatchRunnerCapabilityInvocation, emitSystemPromptComposed, ensureGitConfigInclude, executeConnectorMutate, extractClaudeAiOauthExpiresAt, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, hasNonTerminalFlow, hostOpResumeStimulus, installPreInitRingSink, isTerminalFlowStatus, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadSession, loadSessionById, mcpAuthSecretKey, newSession, pickRepointedManager, planFlowMutate, reconcilePendingDecisions, registerActiveFlow, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, resetRunnerLogStore, resolveAgentComposition, resolveAgentMixins, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveFlowMutateConnectorWaitMs, resolveMixin, runAgentChat, saveSession, setCurrentSession, setUpFlowConnector, startAgentServer, stimulusFromMetas, touchSession, validateInputResponse, writeClaudeCodeCredentialsFile };
6817
- //# sourceMappingURL=chunk-ZNDPABMQ.js.map
6818
- //# sourceMappingURL=chunk-ZNDPABMQ.js.map
6838
+ //# sourceMappingURL=chunk-6N2YOG7K.js.map
6839
+ //# sourceMappingURL=chunk-6N2YOG7K.js.map