@skaile/workspaces 5.1.1 → 5.1.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 (132) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +5 -4
  3. package/dist/{asset-feeds-TU5CS6QL.js → asset-feeds-C4X4RTZV.js} +4 -4
  4. package/dist/{asset-feeds-TU5CS6QL.js.map → asset-feeds-C4X4RTZV.js.map} +1 -1
  5. package/dist/asset-manager/index.js +1 -1
  6. package/dist/bridge/drivers/claude-sdk.js +98 -12
  7. package/dist/bridge/drivers/claude-sdk.js.map +1 -1
  8. package/dist/bridge/drivers/codex.js +2 -2
  9. package/dist/bridge/drivers/continue.js +3 -3
  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 +3 -3
  13. package/dist/bridge/drivers/omp.js +2 -2
  14. package/dist/bridge/drivers/opencode.js +3 -3
  15. package/dist/bridge/drivers/qwen.js +5 -5
  16. package/dist/bridge/index.js +3 -3
  17. package/dist/bridge/src/drivers/claude-sdk.d.ts +16 -0
  18. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
  19. package/dist/{chunk-3NGPZC44.js → chunk-2HR3RPWD.js} +6 -6
  20. package/dist/{chunk-3NGPZC44.js.map → chunk-2HR3RPWD.js.map} +1 -1
  21. package/dist/{chunk-JUXQUZOQ.js → chunk-37FTLYFP.js} +26 -3
  22. package/dist/chunk-37FTLYFP.js.map +1 -0
  23. package/dist/{chunk-E67J56FJ.js → chunk-5S4ZK75K.js} +3 -3
  24. package/dist/{chunk-E67J56FJ.js.map → chunk-5S4ZK75K.js.map} +1 -1
  25. package/dist/{chunk-CI6FQ654.js → chunk-AZYIEK3F.js} +3 -3
  26. package/dist/{chunk-CI6FQ654.js.map → chunk-AZYIEK3F.js.map} +1 -1
  27. package/dist/{chunk-6LDUA57J.js → chunk-BEOKEK3B.js} +2 -2
  28. package/dist/{chunk-6LDUA57J.js.map → chunk-BEOKEK3B.js.map} +1 -1
  29. package/dist/{chunk-IYIIT4R3.js → chunk-BJZHNSQO.js} +4 -4
  30. package/dist/{chunk-IYIIT4R3.js.map → chunk-BJZHNSQO.js.map} +1 -1
  31. package/dist/{chunk-KAYH6AXN.js → chunk-DLLM4U6C.js} +3 -3
  32. package/dist/{chunk-KAYH6AXN.js.map → chunk-DLLM4U6C.js.map} +1 -1
  33. package/dist/{chunk-X6E7Y4JD.js → chunk-I75CM2QF.js} +6 -6
  34. package/dist/{chunk-X6E7Y4JD.js.map → chunk-I75CM2QF.js.map} +1 -1
  35. package/dist/{chunk-3KSAFYD4.js → chunk-IAGCOAIW.js} +3 -3
  36. package/dist/{chunk-3KSAFYD4.js.map → chunk-IAGCOAIW.js.map} +1 -1
  37. package/dist/{chunk-G47EV3V6.js → chunk-KNC55536.js} +2 -2
  38. package/dist/{chunk-G47EV3V6.js.map → chunk-KNC55536.js.map} +1 -1
  39. package/dist/{chunk-P5UQ56RA.js → chunk-KVAI5DGL.js} +3 -3
  40. package/dist/{chunk-P5UQ56RA.js.map → chunk-KVAI5DGL.js.map} +1 -1
  41. package/dist/{chunk-57DVX53V.js → chunk-KWP4RVTJ.js} +32 -11
  42. package/dist/chunk-KWP4RVTJ.js.map +1 -0
  43. package/dist/{chunk-QFZFZXQW.js → chunk-M4ISBWXR.js} +30 -11
  44. package/dist/chunk-M4ISBWXR.js.map +1 -0
  45. package/dist/{chunk-EPHQWHOH.js → chunk-O4U7OL6D.js} +6 -6
  46. package/dist/{chunk-EPHQWHOH.js.map → chunk-O4U7OL6D.js.map} +1 -1
  47. package/dist/{chunk-YIVB7GIP.js → chunk-QU4J5YSJ.js} +3 -3
  48. package/dist/{chunk-YIVB7GIP.js.map → chunk-QU4J5YSJ.js.map} +1 -1
  49. package/dist/{chunk-E3ZACBHD.js → chunk-RNOIDD3Y.js} +3 -3
  50. package/dist/{chunk-E3ZACBHD.js.map → chunk-RNOIDD3Y.js.map} +1 -1
  51. package/dist/{chunk-2Y6DSR36.js → chunk-RO4Z2CBP.js} +3 -3
  52. package/dist/{chunk-2Y6DSR36.js.map → chunk-RO4Z2CBP.js.map} +1 -1
  53. package/dist/{chunk-AYNPGPT5.js → chunk-WPWJRDR3.js} +3 -3
  54. package/dist/{chunk-AYNPGPT5.js.map → chunk-WPWJRDR3.js.map} +1 -1
  55. package/dist/{chunk-AOMWF2OE.js → chunk-Y6V6NUEV.js} +3 -3
  56. package/dist/{chunk-AOMWF2OE.js.map → chunk-Y6V6NUEV.js.map} +1 -1
  57. package/dist/{chunk-RDTHJSGY.js → chunk-ZD7CX25M.js} +2 -2
  58. package/dist/{chunk-RDTHJSGY.js.map → chunk-ZD7CX25M.js.map} +1 -1
  59. package/dist/{chunk-2EOPGGLY.js → chunk-ZVKJNNME.js} +3 -3
  60. package/dist/{chunk-2EOPGGLY.js.map → chunk-ZVKJNNME.js.map} +1 -1
  61. package/dist/cli/index.js +36 -36
  62. package/dist/connectors/index.js +5 -5
  63. package/dist/{connectors-VX7YRFFS.js → connectors-BQXFKISC.js} +8 -8
  64. package/dist/{connectors-VX7YRFFS.js.map → connectors-BQXFKISC.js.map} +1 -1
  65. package/dist/{ensure-sources-2XQS32WI.js → ensure-sources-CMHOTYFS.js} +4 -4
  66. package/dist/{ensure-sources-2XQS32WI.js.map → ensure-sources-CMHOTYFS.js.map} +1 -1
  67. package/dist/factory-assets/connectors/box.js +5 -5
  68. package/dist/factory-assets/connectors/deploy.js +5 -5
  69. package/dist/factory-assets/connectors/devserver.js +5 -5
  70. package/dist/factory-assets/connectors/flow/adapter.d.ts +3 -1
  71. package/dist/factory-assets/connectors/flow/adapter.d.ts.map +1 -1
  72. package/dist/factory-assets/connectors/flow/adapter.js +5 -5
  73. package/dist/factory-assets/connectors/flow/contract/index.d.ts +1 -1
  74. package/dist/factory-assets/connectors/flow/contract/index.d.ts.map +1 -1
  75. package/dist/factory-assets/connectors/flow/contract/sub-flow-output.d.ts +20 -0
  76. package/dist/factory-assets/connectors/flow/contract/sub-flow-output.d.ts.map +1 -1
  77. package/dist/factory-assets/connectors/flow/contract.js +1 -1
  78. package/dist/factory-assets/connectors/flow/index.d.ts +1 -0
  79. package/dist/factory-assets/connectors/flow/index.d.ts.map +1 -1
  80. package/dist/factory-assets/connectors/flow/inline-sub-flow-host.d.ts.map +1 -1
  81. package/dist/factory-assets/connectors/flow/run-flow.js +6 -6
  82. package/dist/factory-assets/connectors/flow/sub-flow-runner.d.ts +8 -0
  83. package/dist/factory-assets/connectors/flow/sub-flow-runner.d.ts.map +1 -1
  84. package/dist/factory-assets/connectors/flow.js +5 -5
  85. package/dist/factory-assets/connectors/git.js +5 -5
  86. package/dist/factory-assets/connectors/gmail.js +5 -5
  87. package/dist/factory-assets/connectors/googledrive.js +5 -5
  88. package/dist/factory-assets/connectors/local.js +5 -5
  89. package/dist/factory-assets/connectors/mattermost.js +5 -5
  90. package/dist/factory-assets/connectors/memory.js +5 -5
  91. package/dist/factory-assets/connectors/minio.js +5 -5
  92. package/dist/factory-assets/connectors/postgres.js +5 -5
  93. package/dist/factory-assets/connectors/s3.js +5 -5
  94. package/dist/factory-assets/connectors/sharepoint.js +5 -5
  95. package/dist/factory-assets/connectors/sqlite.js +5 -5
  96. package/dist/factory-assets/connectors/static-server.js +5 -5
  97. package/dist/factory-assets/connectors/tunnel.js +5 -5
  98. package/dist/factory-assets/connectors/webdav.js +5 -5
  99. package/dist/factory-assets/connectors/xstate-store.js +5 -5
  100. package/dist/factory-assets/connectors/xstate.js +5 -5
  101. package/dist/{helpers-IELQGVGB.js → helpers-R3GLTAER.js} +4 -4
  102. package/dist/{helpers-IELQGVGB.js.map → helpers-R3GLTAER.js.map} +1 -1
  103. package/dist/{library-publish-TCFU3X5L.js → library-publish-EL7VYICU.js} +7 -7
  104. package/dist/{library-publish-TCFU3X5L.js.map → library-publish-EL7VYICU.js.map} +1 -1
  105. package/dist/{open-library-SSBN4FX2.js → open-library-MTD34YX3.js} +5 -5
  106. package/dist/{open-library-SSBN4FX2.js.map → open-library-MTD34YX3.js.map} +1 -1
  107. package/dist/{project-PJ37PM6N.js → project-HCNWJP7J.js} +5 -5
  108. package/dist/{project-PJ37PM6N.js.map → project-HCNWJP7J.js.map} +1 -1
  109. package/dist/runner/index.js +10 -10
  110. package/dist/runner/src/ai-provider-switch.d.ts +10 -0
  111. package/dist/runner/src/ai-provider-switch.d.ts.map +1 -1
  112. package/dist/runner/src/reply-routing.d.ts +8 -0
  113. package/dist/runner/src/reply-routing.d.ts.map +1 -1
  114. package/dist/runner/src/serve.d.ts.map +1 -1
  115. package/dist/sdk/asset-manager.js +1 -1
  116. package/dist/sdk/bridge.js +3 -3
  117. package/dist/sdk/index.js +10 -10
  118. package/dist/sdk/runner.js +10 -10
  119. package/dist/{setup-JW2ZGCUG.js → setup-HTXNR2CZ.js} +8 -8
  120. package/dist/{setup-JW2ZGCUG.js.map → setup-HTXNR2CZ.js.map} +1 -1
  121. package/dist/{source-F2VO32W6.js → source-UIFC2PFC.js} +6 -6
  122. package/dist/{source-F2VO32W6.js.map → source-UIFC2PFC.js.map} +1 -1
  123. package/dist/{source-manifest-publish-AXNII2J4.js → source-manifest-publish-QKAKXDVH.js} +8 -8
  124. package/dist/{source-manifest-publish-AXNII2J4.js.map → source-manifest-publish-QKAKXDVH.js.map} +1 -1
  125. package/dist/tui/index.js +10 -10
  126. package/dist/workspace-plugin/adapters/mcp.js +7 -7
  127. package/dist/workspace-plugin/adapters/omp.js +7 -7
  128. package/dist/workspace-plugin/index.js +1 -1
  129. package/package.json +1 -1
  130. package/dist/chunk-57DVX53V.js.map +0 -1
  131. package/dist/chunk-JUXQUZOQ.js.map +0 -1
  132. package/dist/chunk-QFZFZXQW.js.map +0 -1
@@ -1,12 +1,12 @@
1
1
  import { declaredConnectErrorKind, ClassifiedConnectError, withConnectErrorKind } from './chunk-KC3OF6B2.js';
2
2
  import { OAuthRequiredError, ConnectorFieldMissingError, LegacyAuthGrammarError, resolveAuthRef, readUnavailableMarker, ConnectorStartupError } from './chunk-WKIOWDLQ.js';
3
- import { EventNormalizer } from './chunk-YIVB7GIP.js';
4
- import { resolveModelTier } from './chunk-P5UQ56RA.js';
5
- import { createDriver } from './chunk-RDTHJSGY.js';
3
+ import { EventNormalizer } from './chunk-QU4J5YSJ.js';
4
+ import { resolveModelTier } from './chunk-KVAI5DGL.js';
5
+ import { createDriver } from './chunk-ZD7CX25M.js';
6
6
  import { pluginRegistry } from './chunk-6E6PKKAD.js';
7
7
  import { computeStimulus } from './chunk-IFGTRL2I.js';
8
8
  import { resolveFlowOutputFields, interpolateNodeInstruction, resolveNodeBindings, validateConsumedNodeOutput, appendAttempt, resolveTerminalFailureStatus, remainingActiveExecutionMs, deriveCheckEvidence, computeFlowStateFromSnapshots, availableRouterFrontier, evaluateRouterSelection, routerSelectionOutput, planRouterSkips, unsettledRouterBranchIds, countFailedAttempts, hasAutomaticRetryBudget, persistedRouterSelection } from './chunk-UMSWQKCY.js';
9
- import { undeclaredSubFlowOutputReads, INPUT_SCHEMA_SHAPES_HINT, coerceInputSchema } from './chunk-JUXQUZOQ.js';
9
+ import { undeclaredSubFlowOutputReads, mismatchedSubFlowOutputTypes, INPUT_SCHEMA_SHAPES_HINT, coerceInputSchema } from './chunk-37FTLYFP.js';
10
10
  import { parseFlowDefinition } from './chunk-QZLWJETK.js';
11
11
  import { describeStimulus, buildOrchestratorPrompt, renderSubpromptPrompt, renderStimulusPrompt } from './chunk-XUUYAS3Z.js';
12
12
  import { deterministicNodeKindLabel, nodeInstruction, flowDefaults, isAgentNode, isGateNode, isCheckNode, nodeRequiresApproval, isSubFlowNode, isActiveRuntimeNode, isFunctionNode, isSubpromptNode, isRouterNode, nodeIsOptional, nodeLabel, nodeAssets } from './chunk-NFGRW3L7.js';
@@ -65,6 +65,11 @@ var AbstractConnector = class {
65
65
  }
66
66
  };
67
67
 
68
+ // factory-assets/connectors/flow/sub-flow-runner.ts
69
+ var SubFlowContractError = class extends Error {
70
+ name = "SubFlowContractError";
71
+ };
72
+
68
73
  // factory-assets/connectors/flow/inline-sub-flow-host.ts
69
74
  var INLINE_SUB_FLOW_MAX_DEPTH = 16;
70
75
  function isRecord(value) {
@@ -191,10 +196,18 @@ var SessionInlineSubFlowRunner = class {
191
196
  }
192
197
  const undeclared = undeclaredSubFlowOutputReads(request.parentFlow, request.node.id, authored);
193
198
  if (undeclared.length > 0) {
194
- throw new Error(
199
+ throw new SubFlowContractError(
195
200
  `flow ${request.parentFlow.id} node ${request.node.id} reads output field ${undeclared.join(", ")}, which flow ${authored.id} does not return (declare it in output.schema and bind it in output.bindings)`
196
201
  );
197
202
  }
203
+ const mismatched = mismatchedSubFlowOutputTypes(request.parentFlow, request.node.id, authored);
204
+ if (mismatched.length > 0) {
205
+ throw new SubFlowContractError(
206
+ mismatched.map(
207
+ ({ path, parentType, childType }) => `flow ${request.parentFlow.id} node ${request.node.id} reads output field ${path} as ${parentType.join(" | ")}, but flow ${authored.id} returns it as ${childType.join(" | ")}`
208
+ ).join("; ")
209
+ );
210
+ }
198
211
  const flow = childDefinition(request, authored);
199
212
  const adapter = new FlowAdapter();
200
213
  const handle = await adapter.connect(
@@ -12072,6 +12085,7 @@ var FlowAdapter = class extends AbstractConnector {
12072
12085
  const remainingMs = runningExecution ? remainingActiveExecutionMs(runningExecution, timeoutSec, Date.now()) : void 0;
12073
12086
  let result;
12074
12087
  let subFlowInputOrigins;
12088
+ let contractMismatch = false;
12075
12089
  try {
12076
12090
  const runner = state.inlineSubFlowRunner;
12077
12091
  if (!runner) {
@@ -12119,6 +12133,7 @@ var FlowAdapter = class extends AbstractConnector {
12119
12133
  error: { message: error.message, recoverable: false, at: now() }
12120
12134
  };
12121
12135
  } else {
12136
+ contractMismatch = error instanceof SubFlowContractError;
12122
12137
  result = {
12123
12138
  status: "failed",
12124
12139
  error: {
@@ -12184,7 +12199,9 @@ var FlowAdapter = class extends AbstractConnector {
12184
12199
  result.error.message,
12185
12200
  completedAt,
12186
12201
  result.output,
12187
- result.error.at
12202
+ result.error.at,
12203
+ void 0,
12204
+ !contractMismatch
12188
12205
  );
12189
12206
  subFlowRetrying = retry;
12190
12207
  current.execution.nodes[node.id] = retry ? { ...execution2, ...patch, status: "available", error: void 0 } : {
@@ -12930,11 +12947,13 @@ var FlowAdapter = class extends AbstractConnector {
12930
12947
  * failure message is synthesized at the moment of detection.
12931
12948
  * @param checkEvidence - Derived evidence for a check's fail verdict, so it
12932
12949
  * rides on the same appended attempt as the failure it explains.
12950
+ * @param automaticRetry - False for a failure no retry can fix (a sub-flow
12951
+ * contract mismatch): the budget is not spent, the manual override stays.
12933
12952
  */
12934
- planAutomaticRetry(node, execution, message, completedAtIso, capturedOutput, sourceErrorAtIso, checkEvidence) {
12953
+ planAutomaticRetry(node, execution, message, completedAtIso, capturedOutput, sourceErrorAtIso, checkEvidence, automaticRetry = true) {
12935
12954
  const retries = node.control?.retries;
12936
12955
  const priorFailures = countFailedAttempts(execution.outputHistory);
12937
- const retry = hasAutomaticRetryBudget(priorFailures, retries);
12956
+ const retry = automaticRetry && hasAutomaticRetryBudget(priorFailures, retries);
12938
12957
  const error = {
12939
12958
  message,
12940
12959
  recoverable: !retry && !!retries && resolveTerminalFailureStatus(node) === "failed",
@@ -13283,6 +13302,6 @@ function describeFlowOperations() {
13283
13302
  return new FlowAdapter().tools.describeOperations({ access: "read-write" });
13284
13303
  }
13285
13304
 
13286
- export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, BoxConnector, CONNECT_FAILURE_CARRY_OVER_TTL_MS, ClassifierSubpromptRunner, ConnectFailureCarryOver, ConnectorManager, DeployConnector, DevServerConnector, FlowAdapter, GitConnector, GmailConnector, GoogleDriveConnector, LocalConnector, LogBuffer, MAX_REARM_MS, MIN_REFRESH_DELAY_MS, ManagedGitconfigCollisionError, MattermostConnector, MemoryConnector, MinIOConnector, NO_ACTIVE_FLOW_ERROR, PortPool, PostgresConnector, REFRESH_LEAD_MS, S3Connector, S3FetchStoppedError, S3PresignedRequestError, S3_PRESIGN_BATCH, SQLiteConnector, SessionInlineSubFlowRunner, SessionNodeExecutor, SessionSubpromptRunner, SharePointConnector, StaticServerConnector, TunnelConnector, WebDAVConnector, XStateConnector, XStateStoreConnector, __test, atomicReplaceCredential, buildConnectorListPayload, buildConnectorPromptSection, buildConnectorToolDefs, buildFlowPromptEvent, buildFlowToolDefs, buildLazyFlowToolDefs, buildLazySdkFlowTools, buildSdkConnectorTools, buildSdkFlowTools, checkFleetMountLiveness, classifierQuestion, classifyConnectError, createConnector, createConnector10, createConnector11, createConnector12, createConnector13, createConnector14, createConnector15, createConnector16, createConnector17, createConnector18, createConnector19, createConnector2, createConnector20, createConnector3, createConnector4, createConnector5, createConnector6, createConnector7, createConnector8, createConnector9, createFsWatcher, createWorktree, defaultSpawn, describeFlowOperations, driveOrchestratorTurn, ensureDirMode, ensureFleetMounted, ensureRefreshAttemptStamp, findGitRoot, findMissingPackages, getConnector, installNpmPackages, isFleetManaged, isPackageResolvable, listConnectors, listWorktrees, missingTokenMediatorMessage, parseListObjectsV2, presignScopePrefix, presignableKey, readGitSyncStatus, registerBuiltinConnectors, removeMountBlock, removeUnavailableMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock, writeUnavailableMountBlock };
13287
- //# sourceMappingURL=chunk-QFZFZXQW.js.map
13288
- //# sourceMappingURL=chunk-QFZFZXQW.js.map
13305
+ export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, BoxConnector, CONNECT_FAILURE_CARRY_OVER_TTL_MS, ClassifierSubpromptRunner, ConnectFailureCarryOver, ConnectorManager, DeployConnector, DevServerConnector, FlowAdapter, GitConnector, GmailConnector, GoogleDriveConnector, LocalConnector, LogBuffer, MAX_REARM_MS, MIN_REFRESH_DELAY_MS, ManagedGitconfigCollisionError, MattermostConnector, MemoryConnector, MinIOConnector, NO_ACTIVE_FLOW_ERROR, PortPool, PostgresConnector, REFRESH_LEAD_MS, S3Connector, S3FetchStoppedError, S3PresignedRequestError, S3_PRESIGN_BATCH, SQLiteConnector, SessionInlineSubFlowRunner, SessionNodeExecutor, SessionSubpromptRunner, SharePointConnector, StaticServerConnector, SubFlowContractError, TunnelConnector, WebDAVConnector, XStateConnector, XStateStoreConnector, __test, atomicReplaceCredential, buildConnectorListPayload, buildConnectorPromptSection, buildConnectorToolDefs, buildFlowPromptEvent, buildFlowToolDefs, buildLazyFlowToolDefs, buildLazySdkFlowTools, buildSdkConnectorTools, buildSdkFlowTools, checkFleetMountLiveness, classifierQuestion, classifyConnectError, createConnector, createConnector10, createConnector11, createConnector12, createConnector13, createConnector14, createConnector15, createConnector16, createConnector17, createConnector18, createConnector19, createConnector2, createConnector20, createConnector3, createConnector4, createConnector5, createConnector6, createConnector7, createConnector8, createConnector9, createFsWatcher, createWorktree, defaultSpawn, describeFlowOperations, driveOrchestratorTurn, ensureDirMode, ensureFleetMounted, ensureRefreshAttemptStamp, findGitRoot, findMissingPackages, getConnector, installNpmPackages, isFleetManaged, isPackageResolvable, listConnectors, listWorktrees, missingTokenMediatorMessage, parseListObjectsV2, presignScopePrefix, presignableKey, readGitSyncStatus, registerBuiltinConnectors, removeMountBlock, removeUnavailableMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock, writeUnavailableMountBlock };
13306
+ //# sourceMappingURL=chunk-M4ISBWXR.js.map
13307
+ //# sourceMappingURL=chunk-M4ISBWXR.js.map