@skaile/workspaces 3.7.3 → 3.8.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 (148) hide show
  1. package/CHANGELOG.md +103 -0
  2. package/dist/app-sdk/index.js +1 -1
  3. package/dist/{asset-feeds-6XDLVHQJ.js → asset-feeds-7HM3HONM.js} +4 -4
  4. package/dist/{asset-feeds-6XDLVHQJ.js.map → asset-feeds-7HM3HONM.js.map} +1 -1
  5. package/dist/asset-manager/index.js +1 -1
  6. package/dist/bridge/drivers/claude-sdk.js +229 -23
  7. package/dist/bridge/drivers/claude-sdk.js.map +1 -1
  8. package/dist/bridge/drivers/codex.js +1 -1
  9. package/dist/bridge/drivers/continue.js +2 -2
  10. package/dist/bridge/drivers/echo.js +1 -1
  11. package/dist/bridge/drivers/gemini.js +3 -3
  12. package/dist/bridge/drivers/goose.js +2 -2
  13. package/dist/bridge/drivers/omp.js +1 -1
  14. package/dist/bridge/drivers/opencode.js +2 -2
  15. package/dist/bridge/drivers/qwen.js +3 -3
  16. package/dist/bridge/index.js +2 -2
  17. package/dist/bridge/src/drivers/claude-sdk.d.ts +96 -1
  18. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
  19. package/dist/bridge/src/types.d.ts +103 -0
  20. package/dist/bridge/src/types.d.ts.map +1 -1
  21. package/dist/{chunk-WHOM6NF3.js → chunk-2GREL3OD.js} +3 -3
  22. package/dist/{chunk-WHOM6NF3.js.map → chunk-2GREL3OD.js.map} +1 -1
  23. package/dist/{chunk-ZMCBWZ77.js → chunk-2JW5SWIU.js} +6 -6
  24. package/dist/{chunk-ZMCBWZ77.js.map → chunk-2JW5SWIU.js.map} +1 -1
  25. package/dist/{chunk-5Z4JLURL.js → chunk-4WTC6BSV.js} +3 -3
  26. package/dist/{chunk-5Z4JLURL.js.map → chunk-4WTC6BSV.js.map} +1 -1
  27. package/dist/{chunk-DGWJAPRC.js → chunk-6GDVGAIZ.js} +447 -95
  28. package/dist/chunk-6GDVGAIZ.js.map +1 -0
  29. package/dist/{chunk-BSQGQMGA.js → chunk-7SHXLJQP.js} +3 -3
  30. package/dist/{chunk-BSQGQMGA.js.map → chunk-7SHXLJQP.js.map} +1 -1
  31. package/dist/{chunk-YICH6VQB.js → chunk-B7TA2XI7.js} +2 -2
  32. package/dist/{chunk-YICH6VQB.js.map → chunk-B7TA2XI7.js.map} +1 -1
  33. package/dist/{chunk-ML6OHA3S.js → chunk-BGAAZMBK.js} +2 -2
  34. package/dist/chunk-BGAAZMBK.js.map +1 -0
  35. package/dist/{chunk-765ZGKVC.js → chunk-DGDELPOD.js} +3 -3
  36. package/dist/{chunk-765ZGKVC.js.map → chunk-DGDELPOD.js.map} +1 -1
  37. package/dist/{chunk-26L2B6P6.js → chunk-FUCYTGAE.js} +4 -4
  38. package/dist/chunk-FUCYTGAE.js.map +1 -0
  39. package/dist/{chunk-6GTPLCMO.js → chunk-IH2KJYAU.js} +142 -13
  40. package/dist/chunk-IH2KJYAU.js.map +1 -0
  41. package/dist/{chunk-UGBN7MQZ.js → chunk-KNPBMR2P.js} +3 -3
  42. package/dist/{chunk-UGBN7MQZ.js.map → chunk-KNPBMR2P.js.map} +1 -1
  43. package/dist/{chunk-BCXI27BH.js → chunk-NVYEK4FI.js} +3 -3
  44. package/dist/{chunk-BCXI27BH.js.map → chunk-NVYEK4FI.js.map} +1 -1
  45. package/dist/{chunk-D4VHBAJC.js → chunk-O3LEV6KB.js} +4 -4
  46. package/dist/{chunk-D4VHBAJC.js.map → chunk-O3LEV6KB.js.map} +1 -1
  47. package/dist/{chunk-OOUQWDD5.js → chunk-OZZCPTOG.js} +6 -6
  48. package/dist/{chunk-OOUQWDD5.js.map → chunk-OZZCPTOG.js.map} +1 -1
  49. package/dist/{chunk-V7CKJGT4.js → chunk-PRUCNSBI.js} +4 -4
  50. package/dist/{chunk-V7CKJGT4.js.map → chunk-PRUCNSBI.js.map} +1 -1
  51. package/dist/{chunk-MGPHEYW2.js → chunk-QVQH6GV2.js} +2 -2
  52. package/dist/{chunk-MGPHEYW2.js.map → chunk-QVQH6GV2.js.map} +1 -1
  53. package/dist/{chunk-FSWYUSCP.js → chunk-RVXBOKHK.js} +3 -3
  54. package/dist/{chunk-FSWYUSCP.js.map → chunk-RVXBOKHK.js.map} +1 -1
  55. package/dist/cli/index.js +30 -30
  56. package/dist/connectors/index.js +3 -3
  57. package/dist/connectors/src/connector-manager.d.ts +34 -2
  58. package/dist/connectors/src/connector-manager.d.ts.map +1 -1
  59. package/dist/connectors/src/connector-prompt.d.ts.map +1 -1
  60. package/dist/connectors/src/connector-types.d.ts +25 -0
  61. package/dist/connectors/src/connector-types.d.ts.map +1 -1
  62. package/dist/connectors/src/credential-helper-script.d.ts +48 -0
  63. package/dist/connectors/src/credential-helper-script.d.ts.map +1 -1
  64. package/dist/connectors/src/index.d.ts +3 -3
  65. package/dist/connectors/src/index.d.ts.map +1 -1
  66. package/dist/connectors/src/managed-gitconfig.d.ts +80 -0
  67. package/dist/connectors/src/managed-gitconfig.d.ts.map +1 -1
  68. package/dist/{connectors-DY7UBBV5.js → connectors-2OHRZDJZ.js} +3 -3
  69. package/dist/{connectors-DY7UBBV5.js.map → connectors-2OHRZDJZ.js.map} +1 -1
  70. package/dist/{ensure-sources-TSHLAVNU.js → ensure-sources-42LTJ5QI.js} +4 -4
  71. package/dist/{ensure-sources-TSHLAVNU.js.map → ensure-sources-42LTJ5QI.js.map} +1 -1
  72. package/dist/factory-assets/connectors/box.js +3 -3
  73. package/dist/factory-assets/connectors/deploy.js +3 -3
  74. package/dist/factory-assets/connectors/devserver.js +3 -3
  75. package/dist/factory-assets/connectors/flow/adapter.js +3 -3
  76. package/dist/factory-assets/connectors/flow/run-flow.js +4 -4
  77. package/dist/factory-assets/connectors/flow.js +3 -3
  78. package/dist/factory-assets/connectors/git/driver.d.ts +28 -0
  79. package/dist/factory-assets/connectors/git/driver.d.ts.map +1 -1
  80. package/dist/factory-assets/connectors/git.js +3 -3
  81. package/dist/factory-assets/connectors/gmail.js +3 -3
  82. package/dist/factory-assets/connectors/googledrive.js +3 -3
  83. package/dist/factory-assets/connectors/local.js +3 -3
  84. package/dist/factory-assets/connectors/mattermost.js +3 -3
  85. package/dist/factory-assets/connectors/memory.js +3 -3
  86. package/dist/factory-assets/connectors/minio.js +3 -3
  87. package/dist/factory-assets/connectors/postgres.js +3 -3
  88. package/dist/factory-assets/connectors/s3.js +3 -3
  89. package/dist/factory-assets/connectors/sharepoint.js +3 -3
  90. package/dist/factory-assets/connectors/sqlite.js +3 -3
  91. package/dist/factory-assets/connectors/static-server.js +3 -3
  92. package/dist/factory-assets/connectors/tunnel.js +3 -3
  93. package/dist/factory-assets/connectors/webdav.js +3 -3
  94. package/dist/factory-assets/connectors/xstate-store.js +3 -3
  95. package/dist/factory-assets/connectors/xstate.js +3 -3
  96. package/dist/{helpers-PVM4MQV2.js → helpers-BP7FX6CO.js} +4 -4
  97. package/dist/{helpers-PVM4MQV2.js.map → helpers-BP7FX6CO.js.map} +1 -1
  98. package/dist/{library-publish-P7ZVEY6I.js → library-publish-X5Z32WJY.js} +6 -6
  99. package/dist/{library-publish-P7ZVEY6I.js.map → library-publish-X5Z32WJY.js.map} +1 -1
  100. package/dist/{open-library-QG4LHFQQ.js → open-library-PHUMBYHP.js} +5 -5
  101. package/dist/{open-library-QG4LHFQQ.js.map → open-library-PHUMBYHP.js.map} +1 -1
  102. package/dist/{project-YE6GKQTZ.js → project-HAMCXPNE.js} +5 -5
  103. package/dist/{project-YE6GKQTZ.js.map → project-HAMCXPNE.js.map} +1 -1
  104. package/dist/runner/index.js +7 -7
  105. package/dist/runner/src/ai-provider-switch.d.ts +95 -0
  106. package/dist/runner/src/ai-provider-switch.d.ts.map +1 -0
  107. package/dist/runner/src/credential-rotated.d.ts +23 -4
  108. package/dist/runner/src/credential-rotated.d.ts.map +1 -1
  109. package/dist/runner/src/serve.d.ts.map +1 -1
  110. package/dist/runner/src/session-builder.d.ts +19 -0
  111. package/dist/runner/src/session-builder.d.ts.map +1 -1
  112. package/dist/sdk/asset-manager.js +1 -1
  113. package/dist/sdk/bridge.js +2 -2
  114. package/dist/sdk/index.js +7 -7
  115. package/dist/sdk/runner.js +7 -7
  116. package/dist/sdk/session.js +2 -2
  117. package/dist/sdk/types.js +1 -1
  118. package/dist/session/index.js +2 -2
  119. package/dist/{setup-UYLZFES6.js → setup-IOOGR3EL.js} +4 -4
  120. package/dist/{setup-UYLZFES6.js.map → setup-IOOGR3EL.js.map} +1 -1
  121. package/dist/{source-5GTHOFT6.js → source-772GLNM6.js} +6 -6
  122. package/dist/{source-5GTHOFT6.js.map → source-772GLNM6.js.map} +1 -1
  123. package/dist/{source-manifest-publish-DK3CPBSI.js → source-manifest-publish-LAUGDQ5G.js} +7 -7
  124. package/dist/{source-manifest-publish-DK3CPBSI.js.map → source-manifest-publish-LAUGDQ5G.js.map} +1 -1
  125. package/dist/tui/index.js +7 -7
  126. package/dist/types/index.js +1 -1
  127. package/dist/types/src/events.d.ts +34 -1
  128. package/dist/types/src/events.d.ts.map +1 -1
  129. package/dist/types/src/index.d.ts +1 -1
  130. package/dist/types/src/index.d.ts.map +1 -1
  131. package/dist/types/src/lifecycle.d.ts +13 -0
  132. package/dist/types/src/lifecycle.d.ts.map +1 -1
  133. package/dist/types/src/version.d.ts +22 -1
  134. package/dist/types/src/version.d.ts.map +1 -1
  135. package/dist/workspace-plugin/adapters/mcp.js +2 -2
  136. package/dist/workspace-plugin/adapters/mcp.js.map +1 -1
  137. package/dist/workspace-plugin/adapters/omp.js +8 -8
  138. package/dist/workspace-plugin/adapters/omp.js.map +1 -1
  139. package/dist/workspace-plugin/index.js +1 -1
  140. package/dist/workspace-plugin/src/adapters/mcp.d.ts.map +1 -1
  141. package/dist/workspace-plugin/src/adapters/omp.d.ts.map +1 -1
  142. package/dist/workspace-plugin/src/tools/connectors.d.ts +7 -3
  143. package/dist/workspace-plugin/src/tools/connectors.d.ts.map +1 -1
  144. package/package.json +1 -1
  145. package/dist/chunk-26L2B6P6.js.map +0 -1
  146. package/dist/chunk-6GTPLCMO.js.map +0 -1
  147. package/dist/chunk-DGWJAPRC.js.map +0 -1
  148. package/dist/chunk-ML6OHA3S.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { fetchProviderModels } from '../../chunk-V34ZEXSE.js';
2
2
  import { classifyGenericErrorMessage } from '../../chunk-GAH4YRCI.js';
3
- import { BUILTIN_DRIVER_CATALOG, AgentDriver, getBridgeLogger } from '../../chunk-ML6OHA3S.js';
3
+ import { BUILTIN_DRIVER_CATALOG, AgentDriver, getBridgeLogger } from '../../chunk-BGAAZMBK.js';
4
4
  import '../../chunk-6E6PKKAD.js';
5
5
  import '../../chunk-5Q7HA4JP.js';
6
6
  import '../../chunk-3A5IKBHQ.js';
@@ -1,6 +1,6 @@
1
- import { SubprocessCliDriver, mapApiKeysToEnv, extractText, extractCost, extractTokens } from '../../chunk-BSQGQMGA.js';
1
+ import { SubprocessCliDriver, mapApiKeysToEnv, extractText, extractCost, extractTokens } from '../../chunk-7SHXLJQP.js';
2
2
  import '../../chunk-GAH4YRCI.js';
3
- import { BUILTIN_DRIVER_CATALOG, getBridgeLogger } from '../../chunk-ML6OHA3S.js';
3
+ import { BUILTIN_DRIVER_CATALOG, getBridgeLogger } from '../../chunk-BGAAZMBK.js';
4
4
  import '../../chunk-6E6PKKAD.js';
5
5
  import '../../chunk-5Q7HA4JP.js';
6
6
  import '../../chunk-3A5IKBHQ.js';
@@ -1,5 +1,5 @@
1
1
  import { dispatchCapability } from '../../chunk-RRVQAE5D.js';
2
- import { BUILTIN_DRIVER_CATALOG, AgentDriver, getBridgeLogger } from '../../chunk-ML6OHA3S.js';
2
+ import { BUILTIN_DRIVER_CATALOG, AgentDriver, getBridgeLogger } from '../../chunk-BGAAZMBK.js';
3
3
  import '../../chunk-6E6PKKAD.js';
4
4
  import '../../chunk-5Q7HA4JP.js';
5
5
  import '../../chunk-3A5IKBHQ.js';
@@ -1,8 +1,8 @@
1
- export { GeminiDriver, GeminiFamilyDriver, geminiDriverTarget } from '../../chunk-V7CKJGT4.js';
2
- import '../../chunk-BSQGQMGA.js';
1
+ export { GeminiDriver, GeminiFamilyDriver, geminiDriverTarget } from '../../chunk-PRUCNSBI.js';
2
+ import '../../chunk-7SHXLJQP.js';
3
3
  import '../../chunk-V34ZEXSE.js';
4
4
  import '../../chunk-GAH4YRCI.js';
5
- import '../../chunk-ML6OHA3S.js';
5
+ import '../../chunk-BGAAZMBK.js';
6
6
  import '../../chunk-6E6PKKAD.js';
7
7
  import '../../chunk-5Q7HA4JP.js';
8
8
  import '../../chunk-3A5IKBHQ.js';
@@ -1,6 +1,6 @@
1
- import { SubprocessCliDriver, mapApiKeysToEnv, extractText, extractCost, extractTokens } from '../../chunk-BSQGQMGA.js';
1
+ import { SubprocessCliDriver, mapApiKeysToEnv, extractText, extractCost, extractTokens } from '../../chunk-7SHXLJQP.js';
2
2
  import '../../chunk-GAH4YRCI.js';
3
- import { BUILTIN_DRIVER_CATALOG, getBridgeLogger } from '../../chunk-ML6OHA3S.js';
3
+ import { BUILTIN_DRIVER_CATALOG, getBridgeLogger } from '../../chunk-BGAAZMBK.js';
4
4
  import '../../chunk-6E6PKKAD.js';
5
5
  import '../../chunk-5Q7HA4JP.js';
6
6
  import '../../chunk-3A5IKBHQ.js';
@@ -1,5 +1,5 @@
1
1
  import { classifyGenericErrorMessage } from '../../chunk-GAH4YRCI.js';
2
- import { BUILTIN_DRIVER_CATALOG, AgentDriver, getBridgeLogger } from '../../chunk-ML6OHA3S.js';
2
+ import { BUILTIN_DRIVER_CATALOG, AgentDriver, getBridgeLogger } from '../../chunk-BGAAZMBK.js';
3
3
  import '../../chunk-6E6PKKAD.js';
4
4
  import '../../chunk-5Q7HA4JP.js';
5
5
  import '../../chunk-3A5IKBHQ.js';
@@ -1,6 +1,6 @@
1
- import { SubprocessCliDriver, mapApiKeysToEnv, extractText, extractCost, extractTokens } from '../../chunk-BSQGQMGA.js';
1
+ import { SubprocessCliDriver, mapApiKeysToEnv, extractText, extractCost, extractTokens } from '../../chunk-7SHXLJQP.js';
2
2
  import '../../chunk-GAH4YRCI.js';
3
- import { BUILTIN_DRIVER_CATALOG, getBridgeLogger } from '../../chunk-ML6OHA3S.js';
3
+ import { BUILTIN_DRIVER_CATALOG, getBridgeLogger } from '../../chunk-BGAAZMBK.js';
4
4
  import '../../chunk-6E6PKKAD.js';
5
5
  import '../../chunk-5Q7HA4JP.js';
6
6
  import '../../chunk-3A5IKBHQ.js';
@@ -1,8 +1,8 @@
1
- import { GeminiFamilyDriver } from '../../chunk-V7CKJGT4.js';
2
- import '../../chunk-BSQGQMGA.js';
1
+ import { GeminiFamilyDriver } from '../../chunk-PRUCNSBI.js';
2
+ import '../../chunk-7SHXLJQP.js';
3
3
  import { fetchProviderModels } from '../../chunk-V34ZEXSE.js';
4
4
  import '../../chunk-GAH4YRCI.js';
5
- import { BUILTIN_DRIVER_CATALOG, getBridgeLogger } from '../../chunk-ML6OHA3S.js';
5
+ import { BUILTIN_DRIVER_CATALOG, getBridgeLogger } from '../../chunk-BGAAZMBK.js';
6
6
  import '../../chunk-6E6PKKAD.js';
7
7
  import '../../chunk-5Q7HA4JP.js';
8
8
  import '../../chunk-3A5IKBHQ.js';
@@ -1,9 +1,9 @@
1
- export { BridgeRuntime, EventNormalizer, createRuntime, detectFileChange, detectFileChanges, summarizeToolCall, summarizeToolResult, validateApiKey } from '../chunk-UGBN7MQZ.js';
1
+ export { BridgeRuntime, EventNormalizer, createRuntime, detectFileChange, detectFileChanges, summarizeToolCall, summarizeToolResult, validateApiKey } from '../chunk-KNPBMR2P.js';
2
2
  export { CLOUD_SECRET_ENV_KEYS, SUPPORTED_CLOUDS, buildClaudeCloudEnv, probeResumeTranscript, resolveClaudeConfigDir } from '../chunk-RUFTB7QN.js';
3
3
  export { dispatchCapability, filterRenderCapabilities, renderFallback } from '../chunk-RRVQAE5D.js';
4
4
  export { ModelTierResolutionError, PROVIDER_MODEL_TIERS, STATIC_MODELS, fetchProviderModels, getModels, getStaticModels, resolveModelTier } from '../chunk-V34ZEXSE.js';
5
5
  export { AccountUnavailableError, AuthError, classifyClaudeSdkError, reclassifyAuthAsAccountUnavailable } from '../chunk-GAH4YRCI.js';
6
- export { AgentDriver, BUILTIN_DRIVER_CATALOG, DRIVER_CATALOG, createDriver, getBridgeLogger, listDrivers, listModelsForDriver, registerBuiltinDrivers } from '../chunk-ML6OHA3S.js';
6
+ export { AgentDriver, BUILTIN_DRIVER_CATALOG, DRIVER_CATALOG, createDriver, getBridgeLogger, listDrivers, listModelsForDriver, registerBuiltinDrivers } from '../chunk-BGAAZMBK.js';
7
7
  import '../chunk-6E6PKKAD.js';
8
8
  import '../chunk-AZPXCHDK.js';
9
9
  import '../chunk-F3HNW354.js';
@@ -70,6 +70,52 @@ export declare class ClaudeSdkDriver extends AgentDriver {
70
70
  * reset elsewhere — the next call's set is the only legitimate transition.
71
71
  */
72
72
  private authSelfHealUsed;
73
+ /**
74
+ * Mirror of the in-flight turn's seat-failover budget — same contract as
75
+ * {@link authSelfHealUsed}, for the `onLimitBlocked` path.
76
+ */
77
+ private limitFailoverUsed;
78
+ /**
79
+ * Set when THIS attempt saw an upstream usage-limit rejection: either the
80
+ * SDK's `rate_limit_event` telemetry with `status: "rejected"`, or an error
81
+ * result the classifier calls `rate_limit`.
82
+ *
83
+ * The telemetry is the load-bearing half. A subscription ceiling arrives as
84
+ * `{"status":"rejected","type":"five_hour"}` followed by an error result
85
+ * whose text ("You've hit your session limit · resets 9:50am") matches none
86
+ * of the classifier's rate-limit keywords — so without this flag the
87
+ * rejection classifies as `unknown` and no failover is reachable at all.
88
+ *
89
+ * Reset at the top of every {@link runPrompt} attempt, so the replay after a
90
+ * failover observes its own outcome rather than inheriting the first one's.
91
+ */
92
+ private limitRejectionSeen;
93
+ /**
94
+ * True when {@link handleResultErrorPayload} rejected this turn ONLY so the
95
+ * seat-failover branch could run — a turn that, before this existed, would
96
+ * have emitted its error and resolved. If the failover then declines, the
97
+ * rejection is undone so a limit block with no peer available looks exactly
98
+ * as it always has downstream (one error event, one `agent_end`, a resolved
99
+ * promise) rather than also drawing the runner's fatal "prompt failed".
100
+ */
101
+ private limitTurnRejectedForFailover;
102
+ /**
103
+ * Whether this attempt already reported a provider rejection. One upstream
104
+ * failure routinely reaches the driver twice — `rejected` telemetry followed
105
+ * by the error result, or an `is_error` result followed by the iterator throw
106
+ * carrying the real text — and these observations feed counters, so counting
107
+ * one rejection twice would overstate the seat's pressure.
108
+ */
109
+ private providerResponseReported;
110
+ /** Limit-window metadata from this attempt's rejection telemetry, if any. */
111
+ private lastLimitInfo;
112
+ /**
113
+ * The `agent-event: error` {@link failTurn} withheld because a recovery
114
+ * (auth self-heal or seat failover) was about to run. The recovery emits it
115
+ * if it declines, and drops it if it retries — so a recovered turn shows the
116
+ * user nothing and a failed one shows exactly one error.
117
+ */
118
+ private deferredTurnError;
73
119
  /** Tracks whether a session has been started (for continue: true). */
74
120
  private hasSession;
75
121
  /** Session ID from the SDK — used for streamInput messages. */
@@ -269,6 +315,21 @@ export declare class ClaudeSdkDriver extends AgentDriver {
269
315
  * performs the refresh + state mutation, never control flow.
270
316
  */
271
317
  private attemptAuthSelfHeal;
318
+ /**
319
+ * Side-effects of the seat-failover path: ask the host to re-resolve the AI
320
+ * provider config behind this session. On `switched: true` drop the query and
321
+ * return `true` (the caller recurses onto a fresh CLI); otherwise emit the
322
+ * deferred error and return `false`. Mirrors {@link attemptAuthSelfHeal} —
323
+ * this performs the state mutation, the caller owns the control flow.
324
+ *
325
+ * Dropping `this.query` is the whole point of the retry, not bookkeeping: a
326
+ * resident CLI caches "blocked until <reset>" and short-circuits the next
327
+ * prompt locally with no API attempt at all (skaile-ai/workspaces#566), so a
328
+ * rewritten credentials file alone would change nothing. Only a fresh spawn
329
+ * clears it. `sessionId` / `hasSession` are preserved so the new query
330
+ * resumes the same conversation.
331
+ */
332
+ private attemptLimitFailover;
272
333
  /**
273
334
  * Resolve the Claude Code config directory — the parent of `projects/` — from
274
335
  * the driver config, the process environment, or the `~/.claude` default.
@@ -364,6 +425,8 @@ export declare class ClaudeSdkDriver extends AgentDriver {
364
425
  * incident that motivated this pattern.
365
426
  */
366
427
  private completeTurn;
428
+ /** Emit the turn-end signal, swallowing a throwing listener. */
429
+ private emitAgentEnd;
367
430
  /**
368
431
  * Reject the current turn WITHOUT emitting an `agent-event: error`.
369
432
  *
@@ -409,13 +472,45 @@ export declare class ClaudeSdkDriver extends AgentDriver {
409
472
  * exposed this hang).
410
473
  */
411
474
  private failTurn;
475
+ /**
476
+ * Whether a usage-limit block on the current attempt still has a seat
477
+ * failover available. Evaluated identically by {@link failTurn} (to decide
478
+ * whether to withhold the error event) and by {@link handleResultErrorPayload}
479
+ * (to decide whether to reject the turn at all) — one predicate so the two
480
+ * can never disagree and strand a deferred event.
481
+ */
482
+ private willFailoverOnLimit;
483
+ /** Emit one `agent-event: error`, swallowing a throwing listener. */
484
+ private emitTurnErrorEvent;
485
+ /**
486
+ * Emit the error {@link failTurn} withheld, exactly once. Called by a
487
+ * recovery path that decided NOT to retry, so every failure produces one
488
+ * downstream error event and a recovered one produces none. `fallback` covers
489
+ * the paths that reject without going through `failTurn`.
490
+ */
491
+ private emitDeferredTurnError;
412
492
  private handleSdkMessage;
413
493
  /**
414
- * Surface subscription rate-limit telemetry as a structured warning log.
494
+ * Surface subscription rate-limit telemetry as a structured warning log, and
495
+ * — on `status: "rejected"` — arm the seat failover and report the rejection
496
+ * to the host for per-seat health attribution.
497
+ *
415
498
  * Returns `true` when the message was a rate-limit event (and fully handled),
416
499
  * so the caller can stop dispatching.
500
+ *
501
+ * This used to only log. That is what left a session pinned to a parked seat:
502
+ * the rejection was fully handled here and nothing propagated, so the
503
+ * platform's re-resolution — which was ready and working — was reachable only
504
+ * through a token refresh that happened to be due (skaile-ai/platform#2976).
417
505
  */
418
506
  private handleRateLimitEvent;
507
+ /**
508
+ * Report an observed 401 / 429 to the host so the owning AI provider config's
509
+ * live health counters can be bumped (skaile-ai/workspaces#368). Strictly
510
+ * fire-and-forget: a throwing host callback must never fail the turn that
511
+ * produced the observation.
512
+ */
513
+ private reportProviderResponse;
419
514
  private handleAssistantMessage;
420
515
  private isSuppressibleAuthRender;
421
516
  private textIsAuthRender;
@@ -1 +1 @@
1
- {"version":3,"file":"claude-sdk.d.ts","sourceRoot":"","sources":["../../../../bridge/src/drivers/claude-sdk.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAU,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAUnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAUvE,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAEpE,OAAO,EACL,KAAK,WAAW,EAChB,WAAW,EAIX,KAAK,UAAU,EACf,KAAK,gBAAgB,EAEtB,MAAM,aAAa,CAAC;AAgSrB,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,QAAQ,CAAC,UAAU,EAAE,UAAU,CAK7B;IAEF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAyC;IAC7D,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,GAAG,CAA6C;IACxD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,QAAQ,CAAM;IACtB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB,CAAK;IAChC,oGAAoG;IACpG,OAAO,CAAC,qBAAqB,CAAS;IAEtC,uEAAuE;IACvE,OAAO,CAAC,KAAK,CAAyB;IACtC;;;;;OAKG;IACH,OAAO,CAAC,WAAW,CAAoC;IACvD;;;;OAIG;IACH,OAAO,CAAC,mBAAmB,CAAS;IACpC;;;OAGG;IACH,OAAO,CAAC,YAAY,CAAuB;IAC3C;;;;OAIG;IACH,OAAO,CAAC,aAAa,CAAuB;IAC5C,gDAAgD;IAChD,OAAO,CAAC,WAAW,CAA6B;IAChD,4CAA4C;IAC5C,OAAO,CAAC,UAAU,CAAuC;IACzD;;;OAGG;IACH,OAAO,CAAC,UAAU,CAAoC;IACtD,6DAA6D;IAC7D,OAAO,CAAC,aAAa,CAAS;IAC9B,oFAAoF;IACpF,OAAO,CAAC,gBAAgB,CAAK;IAC7B,oFAAoF;IACpF,OAAO,CAAC,cAAc,CAA8C;IACpE;;;;;;;;OAQG;IACH,OAAO,CAAC,gBAAgB,CAAS;IACjC,sEAAsE;IACtE,OAAO,CAAC,UAAU,CAAS;IAC3B,+DAA+D;IAC/D,OAAO,CAAC,SAAS,CAAM;IACvB;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe,CAKP;IAChB,qDAAqD;IACrD,OAAO,CAAC,cAAc,CAA0B;IAChD,uDAAuD;IACvD,OAAO,CAAC,WAAW,CAA2B;IAC9C;;;;OAIG;IACH,OAAO,CAAC,kBAAkB,CAAuB;IACjD,oEAAoE;IACpE,OAAO,CAAC,cAAc,CAAuB;IAC7C;;;;OAIG;IACH,OAAO,CAAC,sBAAsB,CAAK;IACnC,oGAAoG;IACpG,OAAO,CAAC,gBAAgB,CAAK;IAC7B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB,CAAK;IAClC,oEAAoE;IACpE,OAAO,CAAC,uBAAuB,CAAM;IACrC;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB,CAAS;IAErC;;;;;;;;;;;;;;OAcG;gBACS,MAAM,EAAE,WAAW;IAK/B,IAAa,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAElD;IAEQ,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI;IAMrF,QAAQ,IAAI,MAAM,GAAG,SAAS;IAIvC;;;;;OAKG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAWnC;;;;;;;;;;;;;;OAcG;IACI,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY7C;;;;;OAKG;YACW,SAAS;IA4KvB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,oBAAoB;IA8B5B,OAAO,CAAC,uBAAuB;IAO/B;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAoBrB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,cAAc;IAgBtB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAOtB;;;;;;;;;OASG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;;;;;;;OAQG;IACH,OAAO,CAAC,uBAAuB;IAkB/B;;;;;;;OAOG;IACH,OAAO,CAAC,sBAAsB;IAM9B,2EAA2E;IAC3E,OAAO,CAAC,QAAQ;IAiBhB,+EAA+E;IAC/E,OAAO,CAAC,SAAS;IASjB,iFAAiF;IACjF,OAAO,CAAC,qBAAqB;IAgB7B;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IA6B/B;;;;;;;OAOG;YACW,uBAAuB;IAiDrC;;;;;;;OAOG;YACW,mBAAmB;IA2DjC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAI9B;;;;;;;;;;;;;;;;OAgBG;YACW,2BAA2B;IA6BzC;;;;;OAKG;IACH,OAAO,CAAC,YAAY;YAQN,UAAU;IA4Mf,gBAAgB,IAAI,gBAAgB,EAAE;IAM/C;;;;;;;;;OASG;IACH,OAAO,CAAC,gBAAgB,CAyCtB;IAEO,kBAAkB,IAAI,OAAO;IAI7B,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO;IAgCnE;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAS3B;;;;;;;;OAQG;YACW,wBAAwB;IAiBtC;;;;;;;OAOG;YACW,wBAAwB;IAwDtC,yDAAyD;YAC3C,kBAAkB;IAmBhC;;;;OAIG;YACW,eAAe;IA+F7B,gFAAgF;IAChF,OAAO,CAAC,gBAAgB;IAWxB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAkC3B;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY;IAkBpB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,kBAAkB;IAW1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,OAAO,CAAC,QAAQ;IAsChB,OAAO,CAAC,gBAAgB;IAoBxB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAyB5B,OAAO,CAAC,sBAAsB;IAmC9B,OAAO,CAAC,wBAAwB;IAehC,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,iBAAiB;IAyCzB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,mBAAmB;IA4B3B;;;;;;;OAOG;IACH,OAAO,CAAC,uBAAuB;IAuB/B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IA2C1B,6EAA6E;IAC7E,OAAO,CAAC,mBAAmB;IAwB3B;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IA4BzB;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAgDhC,gEAAgE;IAChE,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,mBAAmB;IAiC3B,OAAO,CAAC,cAAc;IAqBtB;;;;;;;;;;;;OAYG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgDnC,+DAA+D;IAC/D,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;;;;;;;;OASG;IACI,IAAI,IAAI,IAAI;IAmBJ,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAczC,aAAa,IAAI,UAAU,GAAG,IAAI;IAIlC,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIjC,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIpC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBnC;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IA0B7B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAazB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,gBAAgB;CAezB;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAAY,CAAC,WAAW,CAU3D,CAAC"}
1
+ {"version":3,"file":"claude-sdk.d.ts","sourceRoot":"","sources":["../../../../bridge/src/drivers/claude-sdk.ts"],"names":[],"mappings":"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"}
@@ -149,6 +149,67 @@ export interface DriverOptions {
149
149
  /** Codex-specific options. Ignored by all other drivers. */
150
150
  codex?: CodexDriverOptions;
151
151
  }
152
+ /**
153
+ * What the driver tells the host about a turn blocked by an upstream usage
154
+ * limit. Everything but `configId` is best-effort: the SDK reports the limit
155
+ * window only on its structured telemetry, not on the error result text.
156
+ *
157
+ * @see AgentConfig.onLimitBlocked
158
+ * @category Configuration
159
+ * @since 3.9.0
160
+ */
161
+ export interface LimitBlockedContext {
162
+ /** The AI provider config the blocked turn ran on (`""` when unmediated). */
163
+ configId: string;
164
+ /** Upstream limit window (`five_hour`, `seven_day`, …) when reported. */
165
+ limitType?: string;
166
+ /** Epoch seconds at which the limit window resets, when reported. */
167
+ resetsAt?: number;
168
+ /** Fraction of the limit window consumed (0–1) when reported. */
169
+ utilization?: number;
170
+ }
171
+ /**
172
+ * The host's verdict on a limit-blocked turn. `switched: true` is a promise
173
+ * that a different seat's credential is already on disk — the driver acts on it
174
+ * by respawning the CLI and replaying the prompt, so returning it without
175
+ * having rewritten the credential file would just replay onto the dead seat.
176
+ *
177
+ * @see AgentConfig.onLimitBlocked
178
+ * @category Configuration
179
+ * @since 3.9.0
180
+ */
181
+ export interface LimitFailoverResult {
182
+ /** Whether the session was repointed at a different AI provider config. */
183
+ switched: boolean;
184
+ /** The config id now in effect. Informational — used for logs. */
185
+ configId?: string;
186
+ /**
187
+ * Why no switch happened: `same-config`, `standalone`,
188
+ * `platform-omitted-config-id` (the mint succeeded but named no seat, so a
189
+ * re-resolution is indistinguishable from none), or a `CredentialMint`
190
+ * failure code. Diagnostic only — the driver branches on `switched`.
191
+ */
192
+ reason?: string;
193
+ }
194
+ /**
195
+ * One observed AI-provider rejection, reported to the host for per-seat health
196
+ * attribution. Fire-and-forget — see {@link AgentConfig.onProviderResponse}.
197
+ *
198
+ * @category Configuration
199
+ * @since 3.9.0
200
+ */
201
+ export interface ProviderResponseObservation {
202
+ /** 401 — the credential was rejected. 429 — an upstream rate/session limit. */
203
+ status: 401 | 429;
204
+ /** The AI provider config the observation is attributed to, when known. */
205
+ configId?: string;
206
+ /** Upstream limit window (`five_hour`, `seven_day`, …) when reported. */
207
+ limitType?: string;
208
+ /** Fraction of the limit window consumed (0–1) when reported. */
209
+ utilization?: number;
210
+ /** Epoch seconds at which the limit window resets, when reported. */
211
+ resetsAt?: number;
212
+ }
152
213
  /**
153
214
  * Configuration passed to a driver when it is created via {@link createDriver}.
154
215
  *
@@ -305,6 +366,48 @@ export interface AgentConfig {
305
366
  onAuthError?: (args: {
306
367
  configId: string;
307
368
  }) => Promise<CredentialMint>;
369
+ /**
370
+ * Optional callback invoked by the driver when a turn is blocked by an
371
+ * upstream **usage limit** rather than a bad credential — the subscription
372
+ * five-hour / seven-day ceiling, or any `rate_limit` the classifier
373
+ * recognises. Called at most once per logical turn, and only after the
374
+ * blocked attempt has already failed, so it never runs mid-turn.
375
+ *
376
+ * The runner implements it by asking the platform to re-resolve the seat:
377
+ *
378
+ * - `switched: true` — the session was repointed at a DIFFERENT AI
379
+ * provider config and `.credentials.json` was rewritten. The driver
380
+ * drops its query (forcing a fresh CLI spawn, which is what clears a
381
+ * resident CLI's cached "blocked until <reset>" state — a hot file
382
+ * rewrite alone does not) and replays the prompt once.
383
+ * - `switched: false` — no alternative seat was available. The driver
384
+ * surfaces the original limit error unchanged.
385
+ *
386
+ * Left unset by standalone runners (CLI / forge / Claude plugin): there is
387
+ * no platform mediator to re-resolve a seat, so the limit error surfaces
388
+ * exactly as it does today.
389
+ *
390
+ * Companion to {@link onAuthError}: that one covers 401s, this one covers
391
+ * the rejection path, which previously reached no failover at all
392
+ * (skaile-ai/workspaces#567, skaile-ai/platform#2976).
393
+ *
394
+ * @since 3.9.0
395
+ */
396
+ onLimitBlocked?: (ctx: LimitBlockedContext) => Promise<LimitFailoverResult>;
397
+ /**
398
+ * Optional fire-and-forget hook invoked when the driver observes a 401 or a
399
+ * 429 / subscription-limit rejection from the AI provider. The runner
400
+ * forwards it to the platform as a `provider_response_seen` event so the
401
+ * owning `AIProviderConfig`'s live health counters can be bumped — the cron
402
+ * health probe only samples auth, never capacity
403
+ * (skaile-ai/workspaces#368, skaile-ai/platform#3539).
404
+ *
405
+ * Never awaited and never retried; the driver swallows a throwing
406
+ * implementation so telemetry can never fail a turn.
407
+ *
408
+ * @since 3.9.0
409
+ */
410
+ onProviderResponse?: (observation: ProviderResponseObservation) => void;
308
411
  /**
309
412
  * Test-only flow driver hook. When present, the echo driver's scripted-flow
310
413
  * mode uses it to advance flow nodes deterministically (no LLM). The runner
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../bridge/src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../bridge/src/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { initTelemetry } from './chunk-4R6DROGN.js';
2
2
  import { parseSkillFrontmatter, validateFlowVersions } from './chunk-4VTBZ2MF.js';
3
- import { FlowAdapter, SessionNodeExecutor, SessionSubpromptRunner, SessionInlineSubFlowRunner, driveOrchestratorTurn } from './chunk-DGWJAPRC.js';
3
+ import { FlowAdapter, SessionNodeExecutor, SessionSubpromptRunner, SessionInlineSubFlowRunner, driveOrchestratorTurn } from './chunk-6GDVGAIZ.js';
4
4
  import { loadFlow, flowLookupRoots, findFlowFileInRoots, FLOW_FILE_EXTENSIONS } from './chunk-OYZIURPH.js';
5
5
  import { renderStimulusPrompt } from './chunk-HGFKNJA5.js';
6
6
  import { flowSkillVersionPins } from './chunk-ELPR5XBG.js';
@@ -521,5 +521,5 @@ function walkForSkill(dir, skillId) {
521
521
  }
522
522
 
523
523
  export { resolveFlowPath, resumeFlow, runFlow };
524
- //# sourceMappingURL=chunk-WHOM6NF3.js.map
525
- //# sourceMappingURL=chunk-WHOM6NF3.js.map
524
+ //# sourceMappingURL=chunk-2GREL3OD.js.map
525
+ //# sourceMappingURL=chunk-2GREL3OD.js.map