@skaile/workspaces 0.41.6 → 0.42.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 (172) hide show
  1. package/CHANGELOG.md +83 -0
  2. package/dist/{asset-feeds-FKD5AB2R.js → asset-feeds-UPJJGR3O.js} +8 -8
  3. package/dist/{asset-feeds-FKD5AB2R.js.map → asset-feeds-UPJJGR3O.js.map} +1 -1
  4. package/dist/asset-manager/index.js +6 -6
  5. package/dist/asset-manager/installer.js +5 -5
  6. package/dist/bridge/drivers/claude-sdk.js +112 -7
  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 +6 -0
  18. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
  19. package/dist/bridge/src/drivers/sanitize-assistant-text.d.ts +53 -0
  20. package/dist/bridge/src/drivers/sanitize-assistant-text.d.ts.map +1 -0
  21. package/dist/{chunk-J4RF5ABK.js → chunk-2BEDUMTA.js} +3 -3
  22. package/dist/{chunk-J4RF5ABK.js.map → chunk-2BEDUMTA.js.map} +1 -1
  23. package/dist/{chunk-5VJVSYXX.js → chunk-3HUUP3JC.js} +41 -3
  24. package/dist/chunk-3HUUP3JC.js.map +1 -0
  25. package/dist/{chunk-SBGHNXJD.js → chunk-3K2CYDBT.js} +17 -7
  26. package/dist/chunk-3K2CYDBT.js.map +1 -0
  27. package/dist/{chunk-2XFTGANB.js → chunk-4HKLAUHJ.js} +5 -5
  28. package/dist/{chunk-2XFTGANB.js.map → chunk-4HKLAUHJ.js.map} +1 -1
  29. package/dist/{chunk-5IXCNMMU.js → chunk-5C3QJSOD.js} +3 -3
  30. package/dist/{chunk-5IXCNMMU.js.map → chunk-5C3QJSOD.js.map} +1 -1
  31. package/dist/{chunk-TNYWP6EQ.js → chunk-5VMVNQGB.js} +6 -6
  32. package/dist/{chunk-TNYWP6EQ.js.map → chunk-5VMVNQGB.js.map} +1 -1
  33. package/dist/{chunk-B5PEERRZ.js → chunk-6IDBWPK2.js} +7 -4
  34. package/dist/chunk-6IDBWPK2.js.map +1 -0
  35. package/dist/{chunk-3KX5W3ZU.js → chunk-7WLJW457.js} +4 -4
  36. package/dist/{chunk-3KX5W3ZU.js.map → chunk-7WLJW457.js.map} +1 -1
  37. package/dist/{chunk-ZJ27BHIH.js → chunk-BXYMGZCI.js} +3 -3
  38. package/dist/{chunk-ZJ27BHIH.js.map → chunk-BXYMGZCI.js.map} +1 -1
  39. package/dist/{chunk-2ZI2FFFN.js → chunk-F5Q2RMH4.js} +229 -76
  40. package/dist/chunk-F5Q2RMH4.js.map +1 -0
  41. package/dist/{chunk-2JCUYKUN.js → chunk-G6FJZG4C.js} +2 -2
  42. package/dist/{chunk-2JCUYKUN.js.map → chunk-G6FJZG4C.js.map} +1 -1
  43. package/dist/{chunk-NQDJQ7WB.js → chunk-GJI6FZ56.js} +8 -4
  44. package/dist/chunk-GJI6FZ56.js.map +1 -0
  45. package/dist/{chunk-JAOXG3LL.js → chunk-HVCZLD5Z.js} +4 -4
  46. package/dist/{chunk-JAOXG3LL.js.map → chunk-HVCZLD5Z.js.map} +1 -1
  47. package/dist/{chunk-IODU6UDT.js → chunk-JZQFZ55W.js} +2 -2
  48. package/dist/{chunk-IODU6UDT.js.map → chunk-JZQFZ55W.js.map} +1 -1
  49. package/dist/{chunk-MO2VGW6U.js → chunk-K5TROTFK.js} +3 -3
  50. package/dist/{chunk-MO2VGW6U.js.map → chunk-K5TROTFK.js.map} +1 -1
  51. package/dist/{chunk-MVXXAXDW.js → chunk-KYQNWFJV.js} +3 -3
  52. package/dist/{chunk-MVXXAXDW.js.map → chunk-KYQNWFJV.js.map} +1 -1
  53. package/dist/{chunk-KM6DCR7A.js → chunk-OCAQH66V.js} +2 -2
  54. package/dist/{chunk-KM6DCR7A.js.map → chunk-OCAQH66V.js.map} +1 -1
  55. package/dist/{chunk-HZXOCRLD.js → chunk-OMAK7GNL.js} +78 -39
  56. package/dist/chunk-OMAK7GNL.js.map +1 -0
  57. package/dist/{chunk-X4FCLBI7.js → chunk-R4H6EJW5.js} +7 -5
  58. package/dist/chunk-R4H6EJW5.js.map +1 -0
  59. package/dist/{chunk-U3TV7SRR.js → chunk-RSK6FDMV.js} +3 -3
  60. package/dist/{chunk-U3TV7SRR.js.map → chunk-RSK6FDMV.js.map} +1 -1
  61. package/dist/{chunk-TB342H55.js → chunk-SURALYSM.js} +4 -4
  62. package/dist/{chunk-TB342H55.js.map → chunk-SURALYSM.js.map} +1 -1
  63. package/dist/{chunk-4NZD7423.js → chunk-WJ3RP2FS.js} +3 -3
  64. package/dist/{chunk-4NZD7423.js.map → chunk-WJ3RP2FS.js.map} +1 -1
  65. package/dist/{chunk-4ZACMAT3.js → chunk-Z3GAAIJK.js} +4 -4
  66. package/dist/{chunk-4ZACMAT3.js.map → chunk-Z3GAAIJK.js.map} +1 -1
  67. package/dist/cli/index.js +34 -34
  68. package/dist/connectors/config.js +5 -5
  69. package/dist/connectors/index.js +7 -7
  70. package/dist/connectors/rclone.js +1 -1
  71. package/dist/connectors/src/connector-manager.d.ts +17 -0
  72. package/dist/connectors/src/connector-manager.d.ts.map +1 -1
  73. package/dist/connectors/src/connector-types.d.ts +26 -0
  74. package/dist/connectors/src/connector-types.d.ts.map +1 -1
  75. package/dist/connectors/src/fleet-health-gate.d.ts +53 -36
  76. package/dist/connectors/src/fleet-health-gate.d.ts.map +1 -1
  77. package/dist/connectors/src/fleet-utils.d.ts +11 -2
  78. package/dist/connectors/src/fleet-utils.d.ts.map +1 -1
  79. package/dist/connectors/src/index.d.ts +3 -3
  80. package/dist/connectors/src/index.d.ts.map +1 -1
  81. package/dist/connectors/src/materialized-connectors.d.ts.map +1 -1
  82. package/dist/connectors/src/mount-placeholder.d.ts +19 -0
  83. package/dist/connectors/src/mount-placeholder.d.ts.map +1 -1
  84. package/dist/connectors/src/rclone-process-manager.d.ts +36 -2
  85. package/dist/connectors/src/rclone-process-manager.d.ts.map +1 -1
  86. package/dist/core/index.js +4 -4
  87. package/dist/core/manifest.js +1 -1
  88. package/dist/core/runtime-assets.js +3 -3
  89. package/dist/core/src/index.d.ts +1 -1
  90. package/dist/core/src/index.d.ts.map +1 -1
  91. package/dist/core/src/manifest.d.ts +11 -0
  92. package/dist/core/src/manifest.d.ts.map +1 -1
  93. package/dist/core/src/workspace-config.d.ts +2 -0
  94. package/dist/core/src/workspace-config.d.ts.map +1 -1
  95. package/dist/core/workspace-config.js +2 -2
  96. package/dist/deploy/index.js +4 -4
  97. package/dist/discovery/index.js +2 -2
  98. package/dist/{ensure-sources-EWK7EXKN.js → ensure-sources-TZHDV3BF.js} +8 -8
  99. package/dist/{ensure-sources-EWK7EXKN.js.map → ensure-sources-TZHDV3BF.js.map} +1 -1
  100. package/dist/factory-assets/connectors/deploy.js +7 -7
  101. package/dist/factory-assets/connectors/devserver.js +7 -7
  102. package/dist/factory-assets/connectors/flow/adapter.js +7 -7
  103. package/dist/factory-assets/connectors/flow/engine.js +4 -4
  104. package/dist/factory-assets/connectors/flow/run-flow.js +8 -8
  105. package/dist/factory-assets/connectors/flow.js +7 -7
  106. package/dist/factory-assets/connectors/git.js +7 -7
  107. package/dist/factory-assets/connectors/gmail.js +7 -7
  108. package/dist/factory-assets/connectors/googledrive/driver.d.ts.map +1 -1
  109. package/dist/factory-assets/connectors/googledrive.js +7 -7
  110. package/dist/factory-assets/connectors/local.js +7 -7
  111. package/dist/factory-assets/connectors/mattermost.js +7 -7
  112. package/dist/factory-assets/connectors/memory.js +7 -7
  113. package/dist/factory-assets/connectors/minio.js +7 -7
  114. package/dist/factory-assets/connectors/postgres.js +7 -7
  115. package/dist/factory-assets/connectors/s3.js +7 -7
  116. package/dist/factory-assets/connectors/sharepoint/driver.d.ts.map +1 -1
  117. package/dist/factory-assets/connectors/sharepoint.js +7 -7
  118. package/dist/factory-assets/connectors/sqlite.js +7 -7
  119. package/dist/factory-assets/connectors/static-server.js +7 -7
  120. package/dist/factory-assets/connectors/tunnel.js +7 -7
  121. package/dist/factory-assets/connectors/webdav/driver.d.ts.map +1 -1
  122. package/dist/factory-assets/connectors/webdav.js +7 -7
  123. package/dist/factory-assets/connectors/xstate-store.js +7 -7
  124. package/dist/factory-assets/connectors/xstate.js +7 -7
  125. package/dist/{flows-3MBK2PDN.js → flows-KTBCZ5GQ.js} +3 -3
  126. package/dist/{flows-3MBK2PDN.js.map → flows-KTBCZ5GQ.js.map} +1 -1
  127. package/dist/library/index.js +6 -6
  128. package/dist/library/install.js +4 -4
  129. package/dist/{open-library-QSIPFN5N.js → open-library-EV7UCOFU.js} +9 -9
  130. package/dist/{open-library-QSIPFN5N.js.map → open-library-EV7UCOFU.js.map} +1 -1
  131. package/dist/{paths-KNLBYALO.js → paths-7H5CSBLQ.js} +7 -7
  132. package/dist/{paths-KNLBYALO.js.map → paths-7H5CSBLQ.js.map} +1 -1
  133. package/dist/{plugin-store-CL6CTREE.js → plugin-store-LGLN2QUX.js} +6 -6
  134. package/dist/{plugin-store-CL6CTREE.js.map → plugin-store-LGLN2QUX.js.map} +1 -1
  135. package/dist/runner/index.js +11 -11
  136. package/dist/runner/src/fleet-health-flag-dispatcher.d.ts +3 -2
  137. package/dist/runner/src/fleet-health-flag-dispatcher.d.ts.map +1 -1
  138. package/dist/runner/src/mcp-prompt.d.ts +8 -0
  139. package/dist/runner/src/mcp-prompt.d.ts.map +1 -0
  140. package/dist/runner/src/resource-handler.d.ts +1 -1
  141. package/dist/runner/src/resource-handler.d.ts.map +1 -1
  142. package/dist/runner/src/resources.d.ts +6 -0
  143. package/dist/runner/src/resources.d.ts.map +1 -1
  144. package/dist/runner/src/session-builder.d.ts.map +1 -1
  145. package/dist/sdk/asset-manager.js +6 -6
  146. package/dist/sdk/bridge.js +2 -2
  147. package/dist/sdk/core.js +4 -4
  148. package/dist/sdk/flow.js +4 -4
  149. package/dist/sdk/index.js +11 -11
  150. package/dist/sdk/runner.js +11 -11
  151. package/dist/sdk/session.js +1 -1
  152. package/dist/session/index.js +1 -1
  153. package/dist/session/src/dispatcher.d.ts +8 -0
  154. package/dist/session/src/dispatcher.d.ts.map +1 -1
  155. package/dist/{setup-345XOCH3.js → setup-EVNPECSY.js} +8 -8
  156. package/dist/{setup-345XOCH3.js.map → setup-EVNPECSY.js.map} +1 -1
  157. package/dist/{store-client-W3HKRE46.js → store-client-4XN7IB3R.js} +7 -7
  158. package/dist/{store-client-W3HKRE46.js.map → store-client-4XN7IB3R.js.map} +1 -1
  159. package/dist/tui/index.js +11 -11
  160. package/dist/types/src/events.d.ts +1 -1
  161. package/dist/types/src/events.d.ts.map +1 -1
  162. package/dist/workspace-plugin/adapters/mcp.js +1 -1
  163. package/dist/workspace-plugin/adapters/omp.js +3 -3
  164. package/dist/workspace-plugin/index.js +1 -1
  165. package/package.json +1 -1
  166. package/dist/chunk-2ZI2FFFN.js.map +0 -1
  167. package/dist/chunk-5VJVSYXX.js.map +0 -1
  168. package/dist/chunk-B5PEERRZ.js.map +0 -1
  169. package/dist/chunk-HZXOCRLD.js.map +0 -1
  170. package/dist/chunk-NQDJQ7WB.js.map +0 -1
  171. package/dist/chunk-SBGHNXJD.js.map +0 -1
  172. package/dist/chunk-X4FCLBI7.js.map +0 -1
@@ -1,6 +1,6 @@
1
- import { SubprocessCliDriver, extractText, extractCost, extractTokens } from './chunk-U3TV7SRR.js';
1
+ import { SubprocessCliDriver, extractText, extractCost, extractTokens } from './chunk-RSK6FDMV.js';
2
2
  import { getStaticModels, fetchProviderModels } from './chunk-BMQKMOQY.js';
3
- import { BUILTIN_DRIVER_CATALOG, getBridgeLogger } from './chunk-KM6DCR7A.js';
3
+ import { BUILTIN_DRIVER_CATALOG, getBridgeLogger } from './chunk-OCAQH66V.js';
4
4
  import * as z from 'zod';
5
5
 
6
6
  var GeminiFamilyDriver = class extends SubprocessCliDriver {
@@ -106,5 +106,5 @@ var geminiDriverTarget = {
106
106
  };
107
107
 
108
108
  export { GeminiDriver, GeminiFamilyDriver, geminiDriverTarget };
109
- //# sourceMappingURL=chunk-4ZACMAT3.js.map
110
- //# sourceMappingURL=chunk-4ZACMAT3.js.map
109
+ //# sourceMappingURL=chunk-Z3GAAIJK.js.map
110
+ //# sourceMappingURL=chunk-Z3GAAIJK.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../bridge/src/drivers/gemini.ts"],"names":[],"mappings":"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","file":"chunk-4ZACMAT3.js","sourcesContent":["import type { DriverTarget } from \"@skaile/workspaces/plugin-registry\";\nimport type { Logger } from \"@skaile/workspaces/types\";\nimport * as z from \"zod\";\nimport { getBridgeLogger } from \"../logger.js\";\nimport { fetchProviderModels, getStaticModels, type ModelEntry } from \"../models.js\";\nimport { BUILTIN_DRIVER_CATALOG } from \"../registry.js\";\nimport type { AgentConfig, DriverInfo } from \"../types.js\";\nimport { extractCost, extractText, extractTokens, SubprocessCliDriver } from \"./_subprocess-cli.js\";\n\n/**\n * Shared base for the Gemini-CLI event family. Gemini CLI and Qwen Code (a fork\n * of Gemini CLI) emit the same `stream-json` event shape, so both dispatch the\n * same {@link handleJson}: `init`/`system` → session capture, `message`/\n * `assistant` → streamed assistant text, `tool_use` / `tool_result` → tool\n * events, `result` → tokens + cost.\n *\n * @docLink packages/bridge/drivers#gemini-driver\n */\nexport abstract class GeminiFamilyDriver extends SubprocessCliDriver {\n protected handleJson(json: any): void {\n switch (json?.type) {\n case \"init\":\n case \"system\":\n this.captureSession(json.sessionId ?? json.session_id ?? json.id);\n break;\n\n case \"message\":\n case \"assistant\": {\n const role = json.role ?? json.message?.role ?? \"assistant\";\n if (role !== \"assistant\") break;\n const text = extractText(json);\n if (json.done === true || json.final === true || json.finished === true) {\n this.pushAssistantEnd(text);\n } else {\n this.pushAssistantDelta(text);\n }\n break;\n }\n\n case \"tool_use\":\n case \"tool_call\":\n this.pushToolCall(json.name ?? json.tool ?? \"tool\", json.input ?? json.args ?? {});\n break;\n\n case \"tool_result\":\n this.pushToolResult(\n json.name ?? json.tool ?? \"tool\",\n json.result ?? json.output ?? json.content,\n Boolean(json.is_error ?? json.isError ?? json.error),\n );\n break;\n\n case \"error\":\n this.pushError(this.classifyMessage(String(json.message ?? json.error ?? \"error\")));\n break;\n\n case \"result\":\n this.captureSession(json.sessionId ?? json.session_id);\n this.pushResult({\n tokens: extractTokens(json),\n costUsd: extractCost(json),\n summary: extractText(json) || \"Task completed\",\n });\n break;\n }\n }\n}\n\n/**\n * Agent driver for the Google **Gemini CLI** (`gemini`).\n *\n * Spawns `gemini -p \"<prompt>\" --output-format stream-json` per turn and maps\n * the stream-json events to the unified {@link AgentEvent} stream. Google /\n * Vertex models only — uses `GEMINI_API_KEY` from `apiKeys.google` /\n * `apiKeys.gemini` / env.\n *\n * @remarks\n * - **Requires Gemini CLI ≥ v0.6.1** — earlier versions reject\n * `--output-format`. A too-old CLI surfaces as a `process`-category exit error.\n * - **Session resume is not available in headless (`-p`) mode** — the CLI errors\n * if asked to resume non-interactively, so this driver runs single-turn per\n * process and logs a warning when a resume id is present.\n * - Exit codes: `42` → input/validation error, `53` → turn-limit (treated as a\n * completed turn).\n *\n * @see https://github.com/google-gemini/gemini-cli\n * @docLink packages/bridge/drivers#gemini-driver\n */\nexport class GeminiDriver extends GeminiFamilyDriver {\n readonly driverInfo: DriverInfo = {\n id: \"gemini\",\n name: \"Gemini CLI\",\n modelAgnostic: false,\n supportsInBandAbort: false,\n };\n\n protected readonly log: Logger = getBridgeLogger(\"gemini\");\n protected readonly defaultBin = \"gemini\";\n protected readonly productName = \"Gemini CLI\";\n protected readonly envPrefix = \"GEMINI\";\n\n protected buildArgs(message: string, resumeId: string | undefined): string[] {\n if (resumeId) {\n this.log.warn(\"Gemini CLI cannot resume in headless mode; starting a fresh turn\", {\n resumeId,\n });\n }\n const args = [\"-p\", message, \"--output-format\", \"stream-json\"];\n if (this.config.model) args.push(\"-m\", this.config.model);\n return args;\n }\n\n protected buildEnv(): Record<string, string> {\n const env = this.baseEnv([\"GEMINI_API_KEY\", \"GOOGLE_API_KEY\"]);\n const key =\n this.config.apiKeys?.google ??\n this.config.apiKeys?.gemini ??\n this.config.env?.GEMINI_API_KEY ??\n process.env.GEMINI_API_KEY;\n if (key) env.GEMINI_API_KEY = key;\n return env;\n }\n\n protected installHint(): string {\n return \"Gemini CLI is not installed or not on your PATH. Install it with `npm i -g @google/gemini-cli` (≥ v0.6.1).\";\n }\n\n protected override classifyExit(code: number | null, signal: NodeJS.Signals | null) {\n if (code === 42) {\n return {\n message: \"Gemini CLI reported an input error (exit 42)\",\n category: \"validation\" as const,\n retryable: false,\n hint: \"The prompt or flags were rejected by Gemini CLI. Check the model name and arguments.\",\n };\n }\n if (code === 53) return null; // turn-limit — the result was already emitted.\n return super.classifyExit(code, signal);\n }\n\n override async listModels(): Promise<ModelEntry[]> {\n const key =\n this.config.apiKeys?.google ?? this.config.apiKeys?.gemini ?? process.env.GEMINI_API_KEY;\n if (!key) return getStaticModels(\"google\");\n const result = await fetchProviderModels(\"google\", key);\n return result.ok && result.models.length > 0 ? result.models : getStaticModels(\"google\");\n }\n}\n\n/**\n * `DriverTarget` wrapper for the gemini driver. Registered into the plugin\n * registry by `registerBuiltinDrivers()`.\n */\nexport const geminiDriverTarget: DriverTarget<AgentConfig> = {\n id: \"gemini\",\n displayName: BUILTIN_DRIVER_CATALOG.gemini?.name ?? \"Gemini CLI\",\n apiVersion: 1,\n configSchema: z.custom<AgentConfig>(() => true),\n create: async (config, _ctx) => new GeminiDriver(config),\n listModels: async (apiKeys) =>\n new GeminiDriver({ cwd: process.cwd(), sessionId: \"model-list\", apiKeys }).listModels(),\n};\n"]}
1
+ {"version":3,"sources":["../bridge/src/drivers/gemini.ts"],"names":[],"mappings":"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","file":"chunk-Z3GAAIJK.js","sourcesContent":["import type { DriverTarget } from \"@skaile/workspaces/plugin-registry\";\nimport type { Logger } from \"@skaile/workspaces/types\";\nimport * as z from \"zod\";\nimport { getBridgeLogger } from \"../logger.js\";\nimport { fetchProviderModels, getStaticModels, type ModelEntry } from \"../models.js\";\nimport { BUILTIN_DRIVER_CATALOG } from \"../registry.js\";\nimport type { AgentConfig, DriverInfo } from \"../types.js\";\nimport { extractCost, extractText, extractTokens, SubprocessCliDriver } from \"./_subprocess-cli.js\";\n\n/**\n * Shared base for the Gemini-CLI event family. Gemini CLI and Qwen Code (a fork\n * of Gemini CLI) emit the same `stream-json` event shape, so both dispatch the\n * same {@link handleJson}: `init`/`system` → session capture, `message`/\n * `assistant` → streamed assistant text, `tool_use` / `tool_result` → tool\n * events, `result` → tokens + cost.\n *\n * @docLink packages/bridge/drivers#gemini-driver\n */\nexport abstract class GeminiFamilyDriver extends SubprocessCliDriver {\n protected handleJson(json: any): void {\n switch (json?.type) {\n case \"init\":\n case \"system\":\n this.captureSession(json.sessionId ?? json.session_id ?? json.id);\n break;\n\n case \"message\":\n case \"assistant\": {\n const role = json.role ?? json.message?.role ?? \"assistant\";\n if (role !== \"assistant\") break;\n const text = extractText(json);\n if (json.done === true || json.final === true || json.finished === true) {\n this.pushAssistantEnd(text);\n } else {\n this.pushAssistantDelta(text);\n }\n break;\n }\n\n case \"tool_use\":\n case \"tool_call\":\n this.pushToolCall(json.name ?? json.tool ?? \"tool\", json.input ?? json.args ?? {});\n break;\n\n case \"tool_result\":\n this.pushToolResult(\n json.name ?? json.tool ?? \"tool\",\n json.result ?? json.output ?? json.content,\n Boolean(json.is_error ?? json.isError ?? json.error),\n );\n break;\n\n case \"error\":\n this.pushError(this.classifyMessage(String(json.message ?? json.error ?? \"error\")));\n break;\n\n case \"result\":\n this.captureSession(json.sessionId ?? json.session_id);\n this.pushResult({\n tokens: extractTokens(json),\n costUsd: extractCost(json),\n summary: extractText(json) || \"Task completed\",\n });\n break;\n }\n }\n}\n\n/**\n * Agent driver for the Google **Gemini CLI** (`gemini`).\n *\n * Spawns `gemini -p \"<prompt>\" --output-format stream-json` per turn and maps\n * the stream-json events to the unified {@link AgentEvent} stream. Google /\n * Vertex models only — uses `GEMINI_API_KEY` from `apiKeys.google` /\n * `apiKeys.gemini` / env.\n *\n * @remarks\n * - **Requires Gemini CLI ≥ v0.6.1** — earlier versions reject\n * `--output-format`. A too-old CLI surfaces as a `process`-category exit error.\n * - **Session resume is not available in headless (`-p`) mode** — the CLI errors\n * if asked to resume non-interactively, so this driver runs single-turn per\n * process and logs a warning when a resume id is present.\n * - Exit codes: `42` → input/validation error, `53` → turn-limit (treated as a\n * completed turn).\n *\n * @see https://github.com/google-gemini/gemini-cli\n * @docLink packages/bridge/drivers#gemini-driver\n */\nexport class GeminiDriver extends GeminiFamilyDriver {\n readonly driverInfo: DriverInfo = {\n id: \"gemini\",\n name: \"Gemini CLI\",\n modelAgnostic: false,\n supportsInBandAbort: false,\n };\n\n protected readonly log: Logger = getBridgeLogger(\"gemini\");\n protected readonly defaultBin = \"gemini\";\n protected readonly productName = \"Gemini CLI\";\n protected readonly envPrefix = \"GEMINI\";\n\n protected buildArgs(message: string, resumeId: string | undefined): string[] {\n if (resumeId) {\n this.log.warn(\"Gemini CLI cannot resume in headless mode; starting a fresh turn\", {\n resumeId,\n });\n }\n const args = [\"-p\", message, \"--output-format\", \"stream-json\"];\n if (this.config.model) args.push(\"-m\", this.config.model);\n return args;\n }\n\n protected buildEnv(): Record<string, string> {\n const env = this.baseEnv([\"GEMINI_API_KEY\", \"GOOGLE_API_KEY\"]);\n const key =\n this.config.apiKeys?.google ??\n this.config.apiKeys?.gemini ??\n this.config.env?.GEMINI_API_KEY ??\n process.env.GEMINI_API_KEY;\n if (key) env.GEMINI_API_KEY = key;\n return env;\n }\n\n protected installHint(): string {\n return \"Gemini CLI is not installed or not on your PATH. Install it with `npm i -g @google/gemini-cli` (≥ v0.6.1).\";\n }\n\n protected override classifyExit(code: number | null, signal: NodeJS.Signals | null) {\n if (code === 42) {\n return {\n message: \"Gemini CLI reported an input error (exit 42)\",\n category: \"validation\" as const,\n retryable: false,\n hint: \"The prompt or flags were rejected by Gemini CLI. Check the model name and arguments.\",\n };\n }\n if (code === 53) return null; // turn-limit — the result was already emitted.\n return super.classifyExit(code, signal);\n }\n\n override async listModels(): Promise<ModelEntry[]> {\n const key =\n this.config.apiKeys?.google ?? this.config.apiKeys?.gemini ?? process.env.GEMINI_API_KEY;\n if (!key) return getStaticModels(\"google\");\n const result = await fetchProviderModels(\"google\", key);\n return result.ok && result.models.length > 0 ? result.models : getStaticModels(\"google\");\n }\n}\n\n/**\n * `DriverTarget` wrapper for the gemini driver. Registered into the plugin\n * registry by `registerBuiltinDrivers()`.\n */\nexport const geminiDriverTarget: DriverTarget<AgentConfig> = {\n id: \"gemini\",\n displayName: BUILTIN_DRIVER_CATALOG.gemini?.name ?? \"Gemini CLI\",\n apiVersion: 1,\n configSchema: z.custom<AgentConfig>(() => true),\n create: async (config, _ctx) => new GeminiDriver(config),\n listModels: async (apiKeys) =>\n new GeminiDriver({ cwd: process.cwd(), sessionId: \"model-list\", apiKeys }).listModels(),\n};\n"]}
package/dist/cli/index.js CHANGED
@@ -1,19 +1,19 @@
1
1
  #!/usr/bin/env node
2
- import { openCatalogSource, openLibraryManager, createFullRegistry, openLibrary } from '../chunk-3KX5W3ZU.js';
2
+ import { openCatalogSource, openLibraryManager, createFullRegistry, openLibrary } from '../chunk-7WLJW457.js';
3
3
  import { logErr, S, logOk, logInfo, colorRef, logWarn, kindColorPad, kindColor, formatRelativeTime, fitWidth } from '../chunk-GYPA2Q7F.js';
4
- import { getStoreConfig, storeFetch, saveStoreTokens, clearStoreTokens, isStoreAuthenticated } from '../chunk-J4RF5ABK.js';
5
- import { AI_RESOURCES, aiResourceRoots } from '../chunk-ZJ27BHIH.js';
4
+ import { getStoreConfig, storeFetch, saveStoreTokens, clearStoreTokens, isStoreAuthenticated } from '../chunk-2BEDUMTA.js';
5
+ import { AI_RESOURCES, aiResourceRoots } from '../chunk-BXYMGZCI.js';
6
6
  import { LocalSecretsProvider } from '../chunk-6BEGKO2Q.js';
7
- import { resolveLibraryDir, LocalCatalogSource, skaileHomeDir } from '../chunk-MO2VGW6U.js';
8
- import '../chunk-4NZD7423.js';
7
+ import { resolveLibraryDir, LocalCatalogSource, skaileHomeDir } from '../chunk-K5TROTFK.js';
8
+ import '../chunk-WJ3RP2FS.js';
9
9
  import '../chunk-JXT46QFC.js';
10
10
  import '../chunk-UKJMQZV6.js';
11
11
  import '../chunk-R7FOF242.js';
12
- import { runFlow, resumeFlow } from '../chunk-2XFTGANB.js';
12
+ import { runFlow, resumeFlow } from '../chunk-4HKLAUHJ.js';
13
13
  import '../chunk-4R6DROGN.js';
14
14
  import { validateFlowVersions, parseSkillFrontmatter } from '../chunk-GXC3TYMQ.js';
15
- import { runAgentChat, loadSessionById, loadSession, listSessions, setCurrentSession, deleteSession, clearSession, loadAgentManifest, compileComposition, MarkdownStreamer, resolveMixin } from '../chunk-HZXOCRLD.js';
16
- import { buildClaudePluginFiles } from '../chunk-IODU6UDT.js';
15
+ import { runAgentChat, loadSessionById, loadSession, listSessions, setCurrentSession, deleteSession, clearSession, loadAgentManifest, compileComposition, MarkdownStreamer, resolveMixin } from '../chunk-OMAK7GNL.js';
16
+ import { buildClaudePluginFiles } from '../chunk-JZQFZ55W.js';
17
17
  import '../chunk-X5YPJV4N.js';
18
18
  import '../chunk-O7SG5PC2.js';
19
19
  import '../chunk-7QBNJTTQ.js';
@@ -22,28 +22,28 @@ import '../chunk-WQ7DE5UC.js';
22
22
  import '../chunk-32NA4TVC.js';
23
23
  import '../chunk-W3UDISS2.js';
24
24
  import '../chunk-TDSRLMDB.js';
25
- import '../chunk-5IXCNMMU.js';
25
+ import '../chunk-5C3QJSOD.js';
26
26
  import '../chunk-RRVQAE5D.js';
27
27
  import '../chunk-BMQKMOQY.js';
28
28
  import '../chunk-GAH4YRCI.js';
29
- import '../chunk-KM6DCR7A.js';
29
+ import '../chunk-OCAQH66V.js';
30
30
  import '../chunk-LV2HPH3C.js';
31
- import '../chunk-2ZI2FFFN.js';
31
+ import '../chunk-F5Q2RMH4.js';
32
32
  import '../chunk-OVRSNIKJ.js';
33
- import '../chunk-X4FCLBI7.js';
34
- import '../chunk-5VJVSYXX.js';
33
+ import '../chunk-R4H6EJW5.js';
34
+ import '../chunk-3HUUP3JC.js';
35
35
  import '../chunk-6E6PKKAD.js';
36
36
  import { loadFlow, loadAllFlows } from '../chunk-X46FY45B.js';
37
37
  import '../chunk-DEYYRFQU.js';
38
38
  import '../chunk-IFGTRL2I.js';
39
- import { AssetManager } from '../chunk-TNYWP6EQ.js';
40
- import '../chunk-TB342H55.js';
41
- import { readLock, resolveSettings, globalSettingsPath, projectSettingsPath, loadSettings, saveSettings, portableSpawn, portableSpawnSync, WorkspaceYamlEditor } from '../chunk-MVXXAXDW.js';
39
+ import { AssetManager } from '../chunk-5VMVNQGB.js';
40
+ import '../chunk-SURALYSM.js';
41
+ import { readLock, resolveSettings, globalSettingsPath, projectSettingsPath, loadSettings, saveSettings, portableSpawn, portableSpawnSync, WorkspaceYamlEditor } from '../chunk-KYQNWFJV.js';
42
42
  import { assetSearchDirs, detectDomains } from '../chunk-ZAP2BDHG.js';
43
- import '../chunk-JAOXG3LL.js';
44
- import { resolveAgentDir, findWorkspaceRoot, workspaceConfigFilename, resolveSkWorkspaceConfig } from '../chunk-NQDJQ7WB.js';
43
+ import '../chunk-HVCZLD5Z.js';
44
+ import { resolveAgentDir, findWorkspaceRoot, workspaceConfigFilename, resolveSkWorkspaceConfig } from '../chunk-GJI6FZ56.js';
45
45
  import { SKAILE_MANIFEST_FILENAME, decodeSkaileManifest } from '../chunk-DZCK7GRW.js';
46
- import { parseFrontmatter } from '../chunk-B5PEERRZ.js';
46
+ import { parseFrontmatter } from '../chunk-6IDBWPK2.js';
47
47
  import { ASSET_KINDS, parseAssetRef, isValidAssetName, ASSET_NAME_HINT, assetRefToStr } from '../chunk-GEEW6SY2.js';
48
48
  import '../chunk-XGCXFX7X.js';
49
49
  import { SUPPORTED_DRIVER_TARGETS } from '../chunk-O4JH3KUE.js';
@@ -321,7 +321,7 @@ function printLocalEntries(entries) {
321
321
  }
322
322
  async function searchStore(query, kind, opts) {
323
323
  try {
324
- const { getStoreConfig: getStoreConfig2, storeFetch: storeFetch2 } = await import('../store-client-W3HKRE46.js');
324
+ const { getStoreConfig: getStoreConfig2, storeFetch: storeFetch2 } = await import('../store-client-4XN7IB3R.js');
325
325
  const config = getStoreConfig2();
326
326
  const params = {};
327
327
  if (query) params.q = query;
@@ -509,7 +509,7 @@ function makeCatalogCommand() {
509
509
  return catalog;
510
510
  }
511
511
  async function runLocalCatalogTest(projectDir) {
512
- const { resolveCatalogSource } = await import('../open-library-QSIPFN5N.js');
512
+ const { resolveCatalogSource } = await import('../open-library-EV7UCOFU.js');
513
513
  let resolved;
514
514
  try {
515
515
  resolved = await resolveCatalogSource({ projectDir });
@@ -1499,7 +1499,7 @@ async function ensureTargetsRegistered(projectDir) {
1499
1499
  const { resolveSkWorkspaceConfig: resolveSkWorkspaceConfig2 } = await import('../core/index.js');
1500
1500
  const config = resolveSkWorkspaceConfig2(projectDir);
1501
1501
  if (config.plugins && config.plugins.length > 0) {
1502
- const { ensurePluginsLoaded } = await import('../plugin-store-CL6CTREE.js');
1502
+ const { ensurePluginsLoaded } = await import('../plugin-store-LGLN2QUX.js');
1503
1503
  const result = await ensurePluginsLoaded(projectDir, config.plugins, pluginRegistry);
1504
1504
  for (const f of result.failed) logWarn(f.error);
1505
1505
  }
@@ -3011,7 +3011,7 @@ function actOnHeader(row, action3) {
3011
3011
  return row.type === "domain-header" || row.type === "domain-info";
3012
3012
  }
3013
3013
  async function loadAssets() {
3014
- const { gatherAssetFeeds } = await import('../asset-feeds-FKD5AB2R.js');
3014
+ const { gatherAssetFeeds } = await import('../asset-feeds-UPJJGR3O.js');
3015
3015
  const { entries, domains, notes } = await gatherAssetFeeds(am, am.projectDir);
3016
3016
  if (notes.length > 0) {
3017
3017
  state.message = notes.map((n) => `[${n.feed}] ${n.message}`).join(" \u2022 ");
@@ -3109,7 +3109,7 @@ function reconcileCollapsedSets(rows) {
3109
3109
  async function loadSourcesAndLibraries() {
3110
3110
  try {
3111
3111
  const [{ openLibraryManager: openLibraryManager2 }, { skaileHomeDir: skaileHomeDir2 }] = await Promise.all([
3112
- import('../open-library-QSIPFN5N.js'),
3112
+ import('../open-library-EV7UCOFU.js'),
3113
3113
  import('../library/index.js')
3114
3114
  ]);
3115
3115
  const { manager, library, close } = await openLibraryManager2();
@@ -3974,7 +3974,7 @@ function action2(fn) {
3974
3974
  };
3975
3975
  }
3976
3976
  async function reconcileAndReport(projectDir, plugins) {
3977
- const { reconcilePlugins } = await import('../plugin-store-CL6CTREE.js');
3977
+ const { reconcilePlugins } = await import('../plugin-store-LGLN2QUX.js');
3978
3978
  if (plugins.length === 0) {
3979
3979
  logInfo("No plugins declared \u2014 nothing to reconcile.");
3980
3980
  return;
@@ -3990,7 +3990,7 @@ async function reconcileAndReport(projectDir, plugins) {
3990
3990
  async function runInstall2(spec, opts) {
3991
3991
  const projectDir = path12__default.resolve(opts.projectDir);
3992
3992
  const { WorkspaceYamlEditor: WorkspaceYamlEditor2 } = await import('../core/index.js');
3993
- const { specName } = await import('../plugin-store-CL6CTREE.js');
3993
+ const { specName } = await import('../plugin-store-LGLN2QUX.js');
3994
3994
  const yamlPath = path12__default.join(projectDir, "skaile.yaml");
3995
3995
  const editor = WorkspaceYamlEditor2.load(yamlPath);
3996
3996
  const replaced = editor.addPlugin(spec, specName);
@@ -4002,7 +4002,7 @@ async function runInstall2(spec, opts) {
4002
4002
  async function runRemove(name, opts) {
4003
4003
  const projectDir = path12__default.resolve(opts.projectDir);
4004
4004
  const { WorkspaceYamlEditor: WorkspaceYamlEditor2 } = await import('../core/index.js');
4005
- const { specName } = await import('../plugin-store-CL6CTREE.js');
4005
+ const { specName } = await import('../plugin-store-LGLN2QUX.js');
4006
4006
  const yamlPath = path12__default.join(projectDir, "skaile.yaml");
4007
4007
  const editor = WorkspaceYamlEditor2.load(yamlPath);
4008
4008
  const removed = editor.removePlugin(name, specName);
@@ -4030,7 +4030,7 @@ async function runList(opts) {
4030
4030
  const registry = createPluginRegistry();
4031
4031
  if (declared.length > 0) {
4032
4032
  try {
4033
- const { loadPlugins } = await import('../plugin-store-CL6CTREE.js');
4033
+ const { loadPlugins } = await import('../plugin-store-LGLN2QUX.js');
4034
4034
  const result = await loadPlugins(projectDir, declared, registry);
4035
4035
  for (const f of result.failed) logWarn(f.error);
4036
4036
  } catch (err) {
@@ -4262,7 +4262,7 @@ async function runRefInstall(ref, opts) {
4262
4262
  const spinner5 = p5.spinner();
4263
4263
  spinner5.start(`Installing ${ref}`);
4264
4264
  try {
4265
- const { openCatalogSource: openCatalogSource2, openLibrary: openLibrary2 } = await import('../open-library-QSIPFN5N.js');
4265
+ const { openCatalogSource: openCatalogSource2, openLibrary: openLibrary2 } = await import('../open-library-EV7UCOFU.js');
4266
4266
  const catalog = await openCatalogSource2({ projectDir: path12__default.resolve(opts.projectDir) });
4267
4267
  if (!supportsInstallManifest(catalog)) {
4268
4268
  throw new Error(
@@ -4294,7 +4294,7 @@ async function runRefInstall(ref, opts) {
4294
4294
  async function runYamlInstall(opts) {
4295
4295
  const projectDir = path12__default.resolve(opts.projectDir);
4296
4296
  try {
4297
- const { ensureSourcesCloned } = await import('../ensure-sources-EWK7EXKN.js');
4297
+ const { ensureSourcesCloned } = await import('../ensure-sources-TZHDV3BF.js');
4298
4298
  const hydrate = ensureSourcesCloned(projectDir, { quiet: true });
4299
4299
  if (hydrate.cloned.length > 0) {
4300
4300
  logOk(`Cloned source(s): ${hydrate.cloned.join(", ")}`);
@@ -4731,7 +4731,7 @@ async function ensurePluginsLoadedForServe(projectDir) {
4731
4731
  const { resolveSkWorkspaceConfig: resolveSkWorkspaceConfig2 } = await import('../core/index.js');
4732
4732
  const config = resolveSkWorkspaceConfig2(projectDir);
4733
4733
  if (!config.plugins || config.plugins.length === 0) return;
4734
- const { ensurePluginsLoaded } = await import('../plugin-store-CL6CTREE.js');
4734
+ const { ensurePluginsLoaded } = await import('../plugin-store-LGLN2QUX.js');
4735
4735
  const { pluginRegistry } = await import('../plugin-registry/index.js');
4736
4736
  const result = await ensurePluginsLoaded(projectDir, config.plugins, pluginRegistry);
4737
4737
  if (result.loaded.length > 0) {
@@ -4752,7 +4752,7 @@ async function runCompileTest(opts) {
4752
4752
  const { unlinkSync, existsSync: existsSync12 } = await import('fs');
4753
4753
  const { spawn } = await import('child_process');
4754
4754
  const { portableSpawnSync: portableSpawnSync2 } = await import('../core/index.js');
4755
- const { MONOREPO_ROOT } = await import('../paths-KNLBYALO.js');
4755
+ const { MONOREPO_ROOT } = await import('../paths-7H5CSBLQ.js');
4756
4756
  if (MONOREPO_ROOT === null) {
4757
4757
  logErr2("--compile-test is only available inside the skaile-dev workspace.");
4758
4758
  logInfo2("Run it from a checkout of skaile-ai/skaile-dev (the monorepo shell).");
@@ -6848,7 +6848,7 @@ async function bootstrapUserConfig() {
6848
6848
  }
6849
6849
  async function hydrateInitSources(resolved, created) {
6850
6850
  try {
6851
- const { ensureSourcesCloned } = await import('../ensure-sources-EWK7EXKN.js');
6851
+ const { ensureSourcesCloned } = await import('../ensure-sources-TZHDV3BF.js');
6852
6852
  const hydrate = ensureSourcesCloned(resolved, { quiet: true });
6853
6853
  for (const n of hydrate.cloned) created.push(`~/.skaile/sources/${n}/`);
6854
6854
  if (hydrate.failed.length > 0) {
@@ -6876,7 +6876,7 @@ function printInitSummary(resolved, projectDir, created) {
6876
6876
  console.log();
6877
6877
  }
6878
6878
  program.command("setup").description("Interactive provider setup wizard").action(async () => {
6879
- const { cmdSetup } = await import('../setup-345XOCH3.js');
6879
+ const { cmdSetup } = await import('../setup-EVNPECSY.js');
6880
6880
  await cmdSetup([], { projectDir: process.cwd() });
6881
6881
  });
6882
6882
  program.addCommand(makeInstallCommand());
@@ -1,10 +1,10 @@
1
- export { LegacyAuthGrammarError, MountTokenMediatorError, createCliSecretProviderChain, createForgeSecretProviderChain, loadConnectorDeclarations, resolveAuth, resolveAuthRef, resolveBackendAuthFor, resolveMountCredential, resolveMountCredentialString } from '../chunk-X4FCLBI7.js';
2
- import '../chunk-MVXXAXDW.js';
1
+ export { LegacyAuthGrammarError, MountTokenMediatorError, createCliSecretProviderChain, createForgeSecretProviderChain, loadConnectorDeclarations, resolveAuth, resolveAuthRef, resolveBackendAuthFor, resolveMountCredential, resolveMountCredentialString } from '../chunk-R4H6EJW5.js';
2
+ import '../chunk-KYQNWFJV.js';
3
3
  import '../chunk-ZAP2BDHG.js';
4
- import '../chunk-JAOXG3LL.js';
5
- import '../chunk-NQDJQ7WB.js';
4
+ import '../chunk-HVCZLD5Z.js';
5
+ import '../chunk-GJI6FZ56.js';
6
6
  import '../chunk-DZCK7GRW.js';
7
- import '../chunk-B5PEERRZ.js';
7
+ import '../chunk-6IDBWPK2.js';
8
8
  import '../chunk-GEEW6SY2.js';
9
9
  import '../chunk-XGCXFX7X.js';
10
10
  import '../chunk-O4JH3KUE.js';
@@ -1,17 +1,17 @@
1
- export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, ConnectorFieldMissingError, ConnectorManager, ConnectorStartupError, DEFAULT_REACTIVE_COOLDOWN_MS, FleetHealthGate, FlowAdapter, LogBuffer, ManagedGitconfigCollisionError, NOT_READY_SENTINEL, PROACTIVE_RCLONE_REFRESH_MARGIN_MS, RoMountPlaceholderBarrier, atomicReplaceCredential, buildConnectorPromptSection, buildSdkConnectorTools, createRcloneTokenRefresh, createWorktree, defaultMountPlaceholderBarrier, defaultSpawn, ensureFleetMounted, findGitRoot, findMissingPackages, getConnector, installNpmPackages, isFleetManaged, isPackageResolvable, listConnectors, listWorktrees, probeFleetHealth, registerBuiltinConnectors, removeMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock } from '../chunk-2ZI2FFFN.js';
1
+ export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, ConnectorFieldMissingError, ConnectorManager, ConnectorStartupError, DEFAULT_REACTIVE_COOLDOWN_MS, FleetHealthGate, FlowAdapter, LogBuffer, ManagedGitconfigCollisionError, NOT_READY_SENTINEL, PROACTIVE_RCLONE_REFRESH_MARGIN_MS, RoMountPlaceholderBarrier, atomicReplaceCredential, buildConnectorPromptSection, buildSdkConnectorTools, createRcloneTokenRefresh, createWorktree, defaultMountPlaceholderBarrier, defaultSpawn, ensureFleetMounted, findGitRoot, findMissingPackages, getConnector, installNpmPackages, isFleetManaged, isPackageResolvable, listConnectors, listWorktrees, probeFleetHealth, registerBuiltinConnectors, removeMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock } from '../chunk-F5Q2RMH4.js';
2
2
  export { renderGoogleDriveConfig, renderOneDriveConfig, renderWebDAVConfig } from '../chunk-OVRSNIKJ.js';
3
- export { EnvSecretProvider, ForgeSecretProvider, InMemorySecretProvider, LegacyAuthGrammarError, LockedSecretProvider, MountTokenMediatorError, OAuthRequiredError, PreMintedSecretProvider, SecretProviderChain, createCliSecretProviderChain, createForgeSecretProviderChain, deriveSingleMaterializedConnectorDeclaration, fromMaterializedConnectorMd, loadConnectorDeclarations, loadMaterializedConnectorDeclarations, resolveAuth, resolveAuthRef, resolveBackendAuthFor, resolveMountCredential, resolveMountCredentialString } from '../chunk-X4FCLBI7.js';
4
- export { PortPool, RcloneProcessManager, createFsWatcher, ensureDirMode } from '../chunk-5VJVSYXX.js';
3
+ export { EnvSecretProvider, ForgeSecretProvider, InMemorySecretProvider, LegacyAuthGrammarError, LockedSecretProvider, MountTokenMediatorError, OAuthRequiredError, PreMintedSecretProvider, SecretProviderChain, createCliSecretProviderChain, createForgeSecretProviderChain, deriveSingleMaterializedConnectorDeclaration, fromMaterializedConnectorMd, loadConnectorDeclarations, loadMaterializedConnectorDeclarations, resolveAuth, resolveAuthRef, resolveBackendAuthFor, resolveMountCredential, resolveMountCredentialString } from '../chunk-R4H6EJW5.js';
4
+ export { PortPool, RcloneProcessManager, createFsWatcher, ensureDirMode, fetchAuthoritativeSize } from '../chunk-3HUUP3JC.js';
5
5
  import '../chunk-6E6PKKAD.js';
6
6
  import '../chunk-X46FY45B.js';
7
7
  import '../chunk-DEYYRFQU.js';
8
8
  import '../chunk-IFGTRL2I.js';
9
- import '../chunk-MVXXAXDW.js';
9
+ import '../chunk-KYQNWFJV.js';
10
10
  import '../chunk-ZAP2BDHG.js';
11
- import '../chunk-JAOXG3LL.js';
12
- import '../chunk-NQDJQ7WB.js';
11
+ import '../chunk-HVCZLD5Z.js';
12
+ import '../chunk-GJI6FZ56.js';
13
13
  import '../chunk-DZCK7GRW.js';
14
- import '../chunk-B5PEERRZ.js';
14
+ import '../chunk-6IDBWPK2.js';
15
15
  import '../chunk-GEEW6SY2.js';
16
16
  import '../chunk-XGCXFX7X.js';
17
17
  import '../chunk-O4JH3KUE.js';
@@ -1,4 +1,4 @@
1
- export { DEFAULT_UPLOAD_STUCK_THRESHOLD, DEFAULT_VFS_WRITE_BACK, RcloneProcessManager, _buildRcloneArgs, _fuseMountPresent, _routeRcloneLogLine, awaitQuiescent } from '../chunk-5VJVSYXX.js';
1
+ export { DEFAULT_UPLOAD_STUCK_THRESHOLD, DEFAULT_VFS_WRITE_BACK, RcloneProcessManager, _buildRcloneArgs, _fuseMountPresent, _operationsStatTarget, _routeRcloneLogLine, awaitQuiescent, fetchAuthoritativeSize } from '../chunk-3HUUP3JC.js';
2
2
  import '../chunk-JB35MVBN.js';
3
3
  import '../chunk-NSBPE2FW.js';
4
4
  //# sourceMappingURL=rclone.js.map
@@ -124,6 +124,7 @@ export interface ConnectorManagerOptions {
124
124
  export declare class ConnectorManager {
125
125
  private readonly opts;
126
126
  private active;
127
+ private readonly mountTargets;
127
128
  readonly workspaceDir: string;
128
129
  private readonly chain?;
129
130
  private readonly secrets?;
@@ -173,6 +174,9 @@ export declare class ConnectorManager {
173
174
  * - otherwise → `decl.mount.target ?? .mounts/<id>`, resolved relative to workspaceDir
174
175
  */
175
176
  private resolveMountTarget;
177
+ private reserveMountTarget;
178
+ /** Release every mount target owned by `id` (on disconnect). */
179
+ private releaseMountTarget;
176
180
  /**
177
181
  * Build a `ConnectContext` for a connector, resolving fields and — for
178
182
  * filesystem-face connectors — allocating the mount-target directory.
@@ -253,6 +257,19 @@ export declare class ConnectorManager {
253
257
  * writable* degraded mount that the local probe cannot. The runner watches the
254
258
  * `<workspace>/.skaile/fleet-health/<connectorId>` flag and forwards its verdict
255
259
  * here. Unknown / non-fleet ids are ignored.
260
+ *
261
+ * The verdict drives the gate across three surfaces (writable / read-only-
262
+ * readable / masked): `healthy` lifts any barrier, `degraded` downgrades to a
263
+ * read-only surface that keeps the live content visible, `error` keeps the
264
+ * opaque mask.
265
+ *
266
+ * A deferred remote mount may have been brought up with the *static* boot-time
267
+ * barrier (it was not fleet-managed at connect — e.g. the host bind landed
268
+ * late, after `connectAll` placed the not-ready barrier). When a fleet verdict
269
+ * later arrives for such a connector, a gate is created lazily over that same
270
+ * barrier (seeded `masked`, matching the static barrier already in place) so the
271
+ * authoritative platform signal can lift or downgrade it — otherwise a late-
272
+ * arriving live mount stays masked forever even after it goes healthy.
256
273
  */
257
274
  reportFleetHealth(connectorId: string, verdict: FleetHealthVerdict): Promise<void>;
258
275
  /** Drive all deferred mounts concurrently; resolves when every one settles. */
@@ -1 +1 @@
1
- {"version":3,"file":"connector-manager.d.ts","sourceRoot":"","sources":["../../../connectors/src/connector-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connector-manager.d.ts","sourceRoot":"","sources":["../../../connectors/src/connector-manager.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,12 @@ export interface ConnectorDeclaration {
35
35
  mode?: "agent" | "sync";
36
36
  /** Driver-specific configuration. */
37
37
  options?: Record<string, unknown>;
38
+ /**
39
+ * Owner-authored instruction text projected from the materialized
40
+ * CONNECTOR.md body (preset custom instructions). Injected eagerly into the
41
+ * agent system prompt. Absent when the body is empty.
42
+ */
43
+ instructions?: string;
38
44
  /** Filesystem-face config — only meaningful for mountable connectors. */
39
45
  mount?: {
40
46
  /** Source URL or path (repo URL, bucket name, host path). */
@@ -68,6 +74,26 @@ export interface ConnectorHandle {
68
74
  /** Adapter-specific state (connection pool, client, etc.). Opaque to callers. */
69
75
  state: unknown;
70
76
  }
77
+ /**
78
+ * Optional capability a filesystem-face connector attaches to its
79
+ * {@link ConnectorHandle.state}, letting the mount read path gate a read
80
+ * against the authoritative remote byte size.
81
+ *
82
+ * rclone's VFS can serve a non-truncated cache item after a remote file is
83
+ * replaced by a *shorter* version — the read returns `[new bytes][leftover
84
+ * tail of the older, longer version]` and `statSync` reports the inflated size,
85
+ * so the on-disk length is not a signal the read path can trust. An
86
+ * implementation returns the true remote size for a mount-relative path by
87
+ * querying the backend directly (bypassing the VFS cache), or `null` when it
88
+ * can't be determined — in which case the read falls back to the on-disk bytes.
89
+ *
90
+ * The read path duck-types `handle.state` for this method; a connector opts in
91
+ * by attaching it. rclone-backed mounts (sharepoint / webdav / googledrive)
92
+ * wire it to `RcloneProcessManager.statSize`.
93
+ */
94
+ export interface AuthoritativeSizeProvider {
95
+ authoritativeSize(relPath: string): Promise<number | null>;
96
+ }
71
97
  /**
72
98
  * Change event emitted by a connector adapter's `watch()` implementation.
73
99
  * @docLink packages/connectors/concepts#connector-change-event
@@ -1 +1 @@
1
- {"version":3,"file":"connector-types.d.ts","sourceRoot":"","sources":["../../../connectors/src/connector-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connector-types.d.ts","sourceRoot":"","sources":["../../../connectors/src/connector-types.ts"],"names":[],"mappings":"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"}
@@ -11,35 +11,51 @@
11
11
  * mounts sit outside the barrier).
12
12
  *
13
13
  * This gate closes that window. It dynamically drives a `MountPlaceholderBarrier`
14
- * over the *live* fleet target:
15
- * - gate = `establish(target)` read-only tmpfs shadows the bind, blocking
16
- * writes for every uid (the agent runs as uid 1001 and could chmod a
17
- * bit back; a `ro` mount it cannot).
18
- * - ungate = `remove(target)` unmounts the tmpfs, restoring the live bind.
14
+ * over the *live* fleet target across THREE surfaces, because read availability
15
+ * and write availability are independent:
16
+ * - open = `remove(target)` no barrier; live bind exposed read-write.
17
+ * - ro = `exposeReadOnly(target)` content visible, writes blocked. The
18
+ * mount is live and READABLE but uploads are degraded; masking the
19
+ * visible content would be wrong, so it is left read-only-readable.
20
+ * - masked = `establish(target)` — opaque read-only tmpfs. The mount is not
21
+ * live / unreadable; there is nothing trustworthy to show.
22
+ *
23
+ * Verdict → surface: `healthy` → open, `degraded` → ro, `error` → masked.
19
24
  *
20
25
  * Invariants:
21
- * - FAIL-CLOSED: if `establish` throws, the mount is treated as gated. A known-
22
- * unhealthy fleet mount is never left writable.
23
- * - HYSTERESIS: gate trips only after `unhealthyThreshold` consecutive unhealthy
24
- * observations and lifts only after `healthyThreshold` consecutive healthy
25
- * ones, so a single transient stat blip does not flap `ro ↔ rw`.
26
- * - IDEMPOTENT: establish/remove fire only on an actual state change, so steady-
26
+ * - FAIL-CLOSED: if a barrier op throws, the target is treated as gated read-
27
+ * only (masked). A known-unhealthy fleet mount is never left writable.
28
+ * - HYSTERESIS: a surface change applies only after a verdict repeats
29
+ * `threshold` times moving toward writable uses `healthyThreshold`, moving
30
+ * away (ro/masked) uses `unhealthyThreshold` — so a single transient blip
31
+ * does not flap surfaces.
32
+ * - IDEMPOTENT: barrier ops fire only on an actual surface change, so steady-
27
33
  * state polling does no mount work.
28
34
  */
29
35
  import type { Logger } from "@skaile/workspaces/types";
30
36
  import type { FleetHealthVerdict } from "./fleet-utils.js";
31
37
  import type { MountPlaceholderBarrier } from "./mount-placeholder.js";
38
+ /** The barrier surface currently applied (or being transitioned to) over the target. */
39
+ export type FleetGateSurface = "open" | "ro" | "masked";
32
40
  export interface FleetHealthGateOptions {
33
41
  /** Consecutive unhealthy observations required to gate (default 2). */
34
42
  unhealthyThreshold?: number;
35
43
  /** Consecutive healthy observations required to ungate (default 2). */
36
44
  healthyThreshold?: number;
45
+ /**
46
+ * The surface the barrier already holds when the gate is constructed. Defaults
47
+ * to `"open"` (no barrier — the normal fleet path). Set to `"masked"` when a
48
+ * gate is created lazily over a target that already carries a static boot-time
49
+ * barrier, so the first recovering verdict actually removes it.
50
+ */
51
+ initialSurface?: FleetGateSurface;
37
52
  }
53
+ type Surface = FleetGateSurface;
38
54
  /**
39
55
  * Per-target health gate. Construct one per fleet-managed mount target; feed it
40
56
  * verdicts via `observe()`; tear it down with `dispose()` (removes the gate if
41
- * currently established, so teardown leaves nothing un-writable that should not
42
- * be — caller controls ordering relative to connector disconnect).
57
+ * any barrier is established, so teardown leaves nothing un-writable that should
58
+ * not be — caller controls ordering relative to connector disconnect).
43
59
  */
44
60
  export declare class FleetHealthGate {
45
61
  private readonly target;
@@ -47,40 +63,41 @@ export declare class FleetHealthGate {
47
63
  private readonly log?;
48
64
  private readonly unhealthyThreshold;
49
65
  private readonly healthyThreshold;
50
- /** True while the read-only barrier is established over the target. */
51
- private gated;
66
+ /** The barrier surface actually applied to the target right now. */
67
+ private surface;
52
68
  /**
53
- * The gate state that the most recently *enqueued* transition will settle on.
54
- * Hysteresis is measured against this, not `gated`, so that verdicts arriving
55
- * while a (slow, async) establish/remove is still in flight are counted toward
56
- * the post-transition state rather than the stale pre-transition one. Without
57
- * this, fast healthy verdicts arriving during a slow `establish()` could meet
58
- * `healthyThreshold` before the gate finished tripping, ungating it on the
59
- * first healthy verdict afterwards and defeating the threshold.
69
+ * The surface the most recently *enqueued* transition will settle on.
70
+ * Hysteresis and re-enqueue de-duping are measured against this, not
71
+ * `surface`, so verdicts arriving while a (slow, async) barrier op is still in
72
+ * flight are counted toward the post-transition surface, not the stale one.
60
73
  */
61
- private pendingGated;
62
- /** Consecutive same-verdict run length, signed by the *current* run's verdict. */
63
- private unhealthyRun;
64
- private healthyRun;
65
- /** Serialises establish/remove so overlapping observe() calls can't race. */
74
+ private pendingSurface;
75
+ /** The surface of the *current* same-verdict run, and its length. */
76
+ private runSurface;
77
+ private runLength;
78
+ /** Serialises barrier ops so overlapping observe() calls can't race. */
66
79
  private transition;
67
80
  constructor(target: string, barrier: MountPlaceholderBarrier, log?: Logger | undefined, opts?: FleetHealthGateOptions);
68
- /** True while the read-only barrier is established (test/observability hook). */
81
+ /** True while any read-only barrier (ro or masked) is established. */
69
82
  get isGated(): boolean;
83
+ /** The currently-applied surface (test/observability hook). */
84
+ get currentSurface(): Surface;
70
85
  /**
71
- * Feed one health verdict. Applies hysteresis, then establishes or removes the
72
- * barrier on a state change. Resolves once the (possibly no-op) transition is
73
- * applied. Never throws — a failed establish is treated as gated (fail-closed).
86
+ * Feed one health verdict. Applies hysteresis, then drives the barrier toward
87
+ * the target surface on a change. Resolves once the (possibly no-op)
88
+ * transition is applied. Never throws — a failed barrier op stays gated
89
+ * (fail-closed).
74
90
  */
75
91
  observe(verdict: FleetHealthVerdict): Promise<void>;
76
92
  /**
77
- * Tear the gate down. If currently gated, removes the barrier so a leftover
78
- * read-only tmpfs is not leaked. Call only after the connector above the target
79
- * is disconnected (top-down, no leaked mount).
93
+ * Tear the gate down. If any barrier is established (or in flight), removes it
94
+ * so a leftover read-only surface is not leaked. Call only after the connector
95
+ * above the target is disconnected (top-down, no leaked mount).
80
96
  */
81
97
  dispose(): Promise<void>;
82
98
  private enqueue;
83
- private gate;
84
- private ungate;
99
+ /** Drive the barrier to `desired`, fail-closed to `masked` on any throw. */
100
+ private apply;
85
101
  }
102
+ export {};
86
103
  //# sourceMappingURL=fleet-health-gate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fleet-health-gate.d.ts","sourceRoot":"","sources":["../../../connectors/src/fleet-health-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEtE,MAAM,WAAW,sBAAsB;IACrC,uEAAuE;IACvE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;GAKG;AACH,qBAAa,eAAe;IAuBxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;IAxBvB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAE1C,uEAAuE;IACvE,OAAO,CAAC,KAAK,CAAS;IACtB;;;;;;;;OAQG;IACH,OAAO,CAAC,YAAY,CAAS;IAC7B,kFAAkF;IAClF,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,UAAU,CAAK;IACvB,6EAA6E;IAC7E,OAAO,CAAC,UAAU,CAAoC;gBAGnC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,uBAAuB,EAChC,GAAG,CAAC,EAAE,MAAM,YAAA,EAC7B,IAAI,CAAC,EAAE,sBAAsB;IAM/B,iFAAiF;IACjF,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;;;OAIG;IACH,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBnD;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAUxB,OAAO,CAAC,OAAO;YAKD,IAAI;YAwBJ,MAAM;CAkBrB"}
1
+ {"version":3,"file":"fleet-health-gate.d.ts","sourceRoot":"","sources":["../../../connectors/src/fleet-health-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEtE,wFAAwF;AACxF,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC;AAExD,MAAM,WAAW,sBAAsB;IACrC,uEAAuE;IACvE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,gBAAgB,CAAC;CACnC;AAED,KAAK,OAAO,GAAG,gBAAgB,CAAC;AAQhC;;;;;GAKG;AACH,qBAAa,eAAe;IAoBxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;IArBvB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAE1C,oEAAoE;IACpE,OAAO,CAAC,OAAO,CAAU;IACzB;;;;;OAKG;IACH,OAAO,CAAC,cAAc,CAAU;IAChC,qEAAqE;IACrE,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,SAAS,CAAK;IACtB,wEAAwE;IACxE,OAAO,CAAC,UAAU,CAAoC;gBAGnC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,uBAAuB,EAChC,GAAG,CAAC,EAAE,MAAM,YAAA,EAC7B,IAAI,CAAC,EAAE,sBAAsB;IAU/B,sEAAsE;IACtE,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,+DAA+D;IAC/D,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBnD;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,OAAO,CAAC,OAAO;IAKf,4EAA4E;YAC9D,KAAK;CAmDpB"}