@skaile/workspaces 6.10.0 → 6.11.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 (201) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/app-sdk/index.js +1 -1
  3. package/dist/{asset-feeds-UG3PG423.js → asset-feeds-PO2WC75V.js} +13 -13
  4. package/dist/{asset-feeds-UG3PG423.js.map → asset-feeds-PO2WC75V.js.map} +1 -1
  5. package/dist/asset-manager/index.js +6 -6
  6. package/dist/asset-manager/installer.js +3 -3
  7. package/dist/asset-manager/renderers.js +2 -2
  8. package/dist/bridge/harnesses/claude-sdk.js +7 -7
  9. package/dist/bridge/harnesses/codex.js +5 -5
  10. package/dist/bridge/harnesses/continue.js +4 -4
  11. package/dist/bridge/harnesses/echo.js +4 -4
  12. package/dist/bridge/harnesses/gemini.js +7 -7
  13. package/dist/bridge/harnesses/goose.js +4 -4
  14. package/dist/bridge/harnesses/omp.js +41 -10
  15. package/dist/bridge/harnesses/omp.js.map +1 -1
  16. package/dist/bridge/harnesses/opencode.js +4 -4
  17. package/dist/bridge/harnesses/qwen.js +7 -7
  18. package/dist/bridge/index.js +11 -11
  19. package/dist/bridge/src/harnesses/omp.d.ts +13 -1
  20. package/dist/bridge/src/harnesses/omp.d.ts.map +1 -1
  21. package/dist/bridge/src/types.d.ts +7 -0
  22. package/dist/bridge/src/types.d.ts.map +1 -1
  23. package/dist/{chunk-7NN3P6VF.js → chunk-342UX2MG.js} +10 -5
  24. package/dist/chunk-342UX2MG.js.map +1 -0
  25. package/dist/{chunk-NTFP2XF4.js → chunk-45XL75RO.js} +9 -9
  26. package/dist/{chunk-NTFP2XF4.js.map → chunk-45XL75RO.js.map} +1 -1
  27. package/dist/{chunk-JDZUQFN7.js → chunk-4NJVF3DV.js} +4 -4
  28. package/dist/{chunk-JDZUQFN7.js.map → chunk-4NJVF3DV.js.map} +1 -1
  29. package/dist/{chunk-GA4GUDTL.js → chunk-5M3S6DLV.js} +3 -3
  30. package/dist/{chunk-GA4GUDTL.js.map → chunk-5M3S6DLV.js.map} +1 -1
  31. package/dist/{chunk-HE3TZYNG.js → chunk-5XYZNMMC.js} +4 -4
  32. package/dist/{chunk-HE3TZYNG.js.map → chunk-5XYZNMMC.js.map} +1 -1
  33. package/dist/{chunk-2U67XYZM.js → chunk-6NNXBXYI.js} +3 -3
  34. package/dist/{chunk-2U67XYZM.js.map → chunk-6NNXBXYI.js.map} +1 -1
  35. package/dist/{chunk-FXBKBOI5.js → chunk-7FXOOUOC.js} +4 -4
  36. package/dist/{chunk-FXBKBOI5.js.map → chunk-7FXOOUOC.js.map} +1 -1
  37. package/dist/{chunk-KRL53RZB.js → chunk-7LJUK5JK.js} +4 -4
  38. package/dist/{chunk-KRL53RZB.js.map → chunk-7LJUK5JK.js.map} +1 -1
  39. package/dist/{chunk-NCJSYU6A.js → chunk-7O6SCI7B.js} +5 -5
  40. package/dist/{chunk-NCJSYU6A.js.map → chunk-7O6SCI7B.js.map} +1 -1
  41. package/dist/{chunk-R3ZNAPBV.js → chunk-7VBD5XUM.js} +3 -3
  42. package/dist/{chunk-R3ZNAPBV.js.map → chunk-7VBD5XUM.js.map} +1 -1
  43. package/dist/{chunk-YEOG7CWQ.js → chunk-7ZL23M3X.js} +3 -3
  44. package/dist/{chunk-YEOG7CWQ.js.map → chunk-7ZL23M3X.js.map} +1 -1
  45. package/dist/{chunk-375HN3FD.js → chunk-CH6UVEM5.js} +9 -9
  46. package/dist/{chunk-375HN3FD.js.map → chunk-CH6UVEM5.js.map} +1 -1
  47. package/dist/{chunk-HQUF6O4B.js → chunk-CI4I34F4.js} +7 -7
  48. package/dist/{chunk-HQUF6O4B.js.map → chunk-CI4I34F4.js.map} +1 -1
  49. package/dist/{chunk-RTFH2QR2.js → chunk-CLMIZ4N6.js} +3 -3
  50. package/dist/{chunk-RTFH2QR2.js.map → chunk-CLMIZ4N6.js.map} +1 -1
  51. package/dist/{chunk-QBJQ426X.js → chunk-DKRD6CZL.js} +3 -3
  52. package/dist/{chunk-QBJQ426X.js.map → chunk-DKRD6CZL.js.map} +1 -1
  53. package/dist/{chunk-RZ5R6GDJ.js → chunk-DRUAQ7IY.js} +3 -3
  54. package/dist/{chunk-RZ5R6GDJ.js.map → chunk-DRUAQ7IY.js.map} +1 -1
  55. package/dist/{chunk-3AIEJSQR.js → chunk-ESUF2ZYT.js} +3 -3
  56. package/dist/{chunk-3AIEJSQR.js.map → chunk-ESUF2ZYT.js.map} +1 -1
  57. package/dist/{chunk-C5UKYTTD.js → chunk-FECB7RI7.js} +9 -9
  58. package/dist/{chunk-C5UKYTTD.js.map → chunk-FECB7RI7.js.map} +1 -1
  59. package/dist/{chunk-4Z4RULWQ.js → chunk-FO2GU5L7.js} +196 -35
  60. package/dist/chunk-FO2GU5L7.js.map +1 -0
  61. package/dist/{chunk-2D6HZAO5.js → chunk-FVOQPTK2.js} +3 -3
  62. package/dist/{chunk-2D6HZAO5.js.map → chunk-FVOQPTK2.js.map} +1 -1
  63. package/dist/{chunk-5JBMYZNA.js → chunk-GODUKPGD.js} +3 -3
  64. package/dist/{chunk-5JBMYZNA.js.map → chunk-GODUKPGD.js.map} +1 -1
  65. package/dist/{chunk-7DUOKE73.js → chunk-GQQIMKEP.js} +11 -11
  66. package/dist/{chunk-7DUOKE73.js.map → chunk-GQQIMKEP.js.map} +1 -1
  67. package/dist/{chunk-BRPEW3UL.js → chunk-GYRIO6RA.js} +3 -3
  68. package/dist/{chunk-BRPEW3UL.js.map → chunk-GYRIO6RA.js.map} +1 -1
  69. package/dist/{chunk-DOMRBOJZ.js → chunk-HPQ2WDYC.js} +4 -4
  70. package/dist/{chunk-DOMRBOJZ.js.map → chunk-HPQ2WDYC.js.map} +1 -1
  71. package/dist/{chunk-4I4SBOCS.js → chunk-IIELRGIZ.js} +7 -7
  72. package/dist/{chunk-4I4SBOCS.js.map → chunk-IIELRGIZ.js.map} +1 -1
  73. package/dist/{chunk-6PVRP3LW.js → chunk-IPCRQWNC.js} +17 -6
  74. package/dist/chunk-IPCRQWNC.js.map +1 -0
  75. package/dist/{chunk-5KQFR4D7.js → chunk-L74W5TVC.js} +4 -4
  76. package/dist/{chunk-5KQFR4D7.js.map → chunk-L74W5TVC.js.map} +1 -1
  77. package/dist/{chunk-WS3BOCAT.js → chunk-LCXQ4LVP.js} +16 -3
  78. package/dist/chunk-LCXQ4LVP.js.map +1 -0
  79. package/dist/{chunk-2MUUPRIG.js → chunk-LXD37LHF.js} +4 -4
  80. package/dist/{chunk-2MUUPRIG.js.map → chunk-LXD37LHF.js.map} +1 -1
  81. package/dist/{chunk-PSPFWTJI.js → chunk-MRTOKIEJ.js} +3 -3
  82. package/dist/{chunk-PSPFWTJI.js.map → chunk-MRTOKIEJ.js.map} +1 -1
  83. package/dist/{chunk-NFFBYG2W.js → chunk-PZS55HOX.js} +3 -3
  84. package/dist/{chunk-NFFBYG2W.js.map → chunk-PZS55HOX.js.map} +1 -1
  85. package/dist/{chunk-XDVR7QIT.js → chunk-QC4Q7PMQ.js} +6 -3
  86. package/dist/chunk-QC4Q7PMQ.js.map +1 -0
  87. package/dist/{chunk-5P7LTPBR.js → chunk-RRKJHADP.js} +3 -3
  88. package/dist/{chunk-5P7LTPBR.js.map → chunk-RRKJHADP.js.map} +1 -1
  89. package/dist/{chunk-6O7VDKX3.js → chunk-RZQCBFIU.js} +2 -2
  90. package/dist/{chunk-6O7VDKX3.js.map → chunk-RZQCBFIU.js.map} +1 -1
  91. package/dist/{chunk-KE5HDORU.js → chunk-S6NS3I3P.js} +2 -2
  92. package/dist/{chunk-KE5HDORU.js.map → chunk-S6NS3I3P.js.map} +1 -1
  93. package/dist/{chunk-XWCV2A2F.js → chunk-SZ3XCZHC.js} +3 -3
  94. package/dist/{chunk-XWCV2A2F.js.map → chunk-SZ3XCZHC.js.map} +1 -1
  95. package/dist/{chunk-SKG6G4HO.js → chunk-UHTCOYFJ.js} +7 -7
  96. package/dist/{chunk-SKG6G4HO.js.map → chunk-UHTCOYFJ.js.map} +1 -1
  97. package/dist/{chunk-HLFLET7S.js → chunk-WCHGUS7X.js} +5 -5
  98. package/dist/{chunk-HLFLET7S.js.map → chunk-WCHGUS7X.js.map} +1 -1
  99. package/dist/{chunk-IMO4EHND.js → chunk-WPTNYDDS.js} +4 -4
  100. package/dist/{chunk-IMO4EHND.js.map → chunk-WPTNYDDS.js.map} +1 -1
  101. package/dist/{chunk-BCID52M5.js → chunk-YPX7LQSW.js} +7 -7
  102. package/dist/{chunk-BCID52M5.js.map → chunk-YPX7LQSW.js.map} +1 -1
  103. package/dist/{chunk-PTXQMTCG.js → chunk-ZRKU7BRI.js} +3 -3
  104. package/dist/{chunk-PTXQMTCG.js.map → chunk-ZRKU7BRI.js.map} +1 -1
  105. package/dist/{claude-code-CMFGCDMX.js → claude-code-TDMSETH6.js} +4 -4
  106. package/dist/{claude-code-CMFGCDMX.js.map → claude-code-TDMSETH6.js.map} +1 -1
  107. package/dist/cli/index.js +63 -63
  108. package/dist/client/index.js +1 -1
  109. package/dist/client/src/client.d.ts +3 -0
  110. package/dist/client/src/client.d.ts.map +1 -1
  111. package/dist/connectors/index.js +13 -13
  112. package/dist/{connectors-P5M2D4MH.js → connectors-IUJRBTCW.js} +16 -16
  113. package/dist/{connectors-P5M2D4MH.js.map → connectors-IUJRBTCW.js.map} +1 -1
  114. package/dist/connectors-shared/index.js +2 -2
  115. package/dist/discovery/index.js +2 -2
  116. package/dist/{ensure-sources-MOGLBEUF.js → ensure-sources-Q2TTZVLX.js} +19 -19
  117. package/dist/{ensure-sources-MOGLBEUF.js.map → ensure-sources-Q2TTZVLX.js.map} +1 -1
  118. package/dist/factory-assets/connectors/box.js +13 -13
  119. package/dist/factory-assets/connectors/deploy.js +13 -13
  120. package/dist/factory-assets/connectors/devserver.js +13 -13
  121. package/dist/factory-assets/connectors/flow/adapter.js +13 -13
  122. package/dist/factory-assets/connectors/flow/run-flow.js +14 -14
  123. package/dist/factory-assets/connectors/flow.js +13 -13
  124. package/dist/factory-assets/connectors/git.js +13 -13
  125. package/dist/factory-assets/connectors/gmail.js +13 -13
  126. package/dist/factory-assets/connectors/googledrive.js +13 -13
  127. package/dist/factory-assets/connectors/local.js +13 -13
  128. package/dist/factory-assets/connectors/mattermost.js +13 -13
  129. package/dist/factory-assets/connectors/memory.js +13 -13
  130. package/dist/factory-assets/connectors/minio.js +13 -13
  131. package/dist/factory-assets/connectors/postgres.js +13 -13
  132. package/dist/factory-assets/connectors/s3.js +13 -13
  133. package/dist/factory-assets/connectors/sharepoint.js +13 -13
  134. package/dist/factory-assets/connectors/sqlite.js +13 -13
  135. package/dist/factory-assets/connectors/static-server.js +13 -13
  136. package/dist/factory-assets/connectors/tunnel.js +13 -13
  137. package/dist/factory-assets/connectors/webdav.js +13 -13
  138. package/dist/factory-assets/connectors/xstate-store.js +13 -13
  139. package/dist/factory-assets/connectors/xstate.js +13 -13
  140. package/dist/{helpers-JL5AEGDT.js → helpers-S6AQGXRH.js} +19 -19
  141. package/dist/{helpers-JL5AEGDT.js.map → helpers-S6AQGXRH.js.map} +1 -1
  142. package/dist/library/index.js +3 -3
  143. package/dist/{library-publish-DZNNZNMB.js → library-publish-7U4TJNQX.js} +33 -33
  144. package/dist/{library-publish-DZNNZNMB.js.map → library-publish-7U4TJNQX.js.map} +1 -1
  145. package/dist/model-endpoint/index.js +3 -3
  146. package/dist/{open-library-OJREQ22B.js → open-library-K6O6OVW5.js} +21 -21
  147. package/dist/{open-library-OJREQ22B.js.map → open-library-K6O6OVW5.js.map} +1 -1
  148. package/dist/{open-registry-OEU6QUK2.js → open-registry-4HNCWOCN.js} +6 -6
  149. package/dist/{open-registry-OEU6QUK2.js.map → open-registry-4HNCWOCN.js.map} +1 -1
  150. package/dist/{project-52UABBD5.js → project-ZWIZZIUT.js} +29 -29
  151. package/dist/{project-52UABBD5.js.map → project-ZWIZZIUT.js.map} +1 -1
  152. package/dist/runner/index.js +21 -21
  153. package/dist/runner/src/serve.d.ts.map +1 -1
  154. package/dist/runner/src/turn-ids.d.ts +70 -0
  155. package/dist/runner/src/turn-ids.d.ts.map +1 -0
  156. package/dist/runner/src/turn-scheduler.d.ts +7 -0
  157. package/dist/runner/src/turn-scheduler.d.ts.map +1 -1
  158. package/dist/sdk/asset-manager.js +6 -6
  159. package/dist/sdk/bridge.js +11 -11
  160. package/dist/sdk/client.js +1 -1
  161. package/dist/sdk/index.js +22 -22
  162. package/dist/sdk/runner.js +21 -21
  163. package/dist/sdk/session.js +2 -2
  164. package/dist/sdk/types.js +1 -1
  165. package/dist/{serve-preflight-HOQ7CGYR.js → serve-preflight-E3IEZTTF.js} +21 -21
  166. package/dist/{serve-preflight-HOQ7CGYR.js.map → serve-preflight-E3IEZTTF.js.map} +1 -1
  167. package/dist/session/index.js +2 -2
  168. package/dist/session/src/dispatcher.d.ts +4 -1
  169. package/dist/session/src/dispatcher.d.ts.map +1 -1
  170. package/dist/{setup-JIDZ372C.js → setup-V4EXOMVQ.js} +20 -20
  171. package/dist/{setup-JIDZ372C.js.map → setup-V4EXOMVQ.js.map} +1 -1
  172. package/dist/{source-P6ZFSSZZ.js → source-O7XXDX55.js} +31 -31
  173. package/dist/{source-P6ZFSSZZ.js.map → source-O7XXDX55.js.map} +1 -1
  174. package/dist/{source-manifest-publish-Y36FHVDS.js → source-manifest-publish-GUU4LX2S.js} +33 -33
  175. package/dist/{source-manifest-publish-Y36FHVDS.js.map → source-manifest-publish-GUU4LX2S.js.map} +1 -1
  176. package/dist/tui/index.js +21 -21
  177. package/dist/types/index.js +1 -1
  178. package/dist/types/manifests.js +1 -1
  179. package/dist/types/src/capabilities.d.ts +2 -1
  180. package/dist/types/src/capabilities.d.ts.map +1 -1
  181. package/dist/types/src/events.d.ts +2 -1
  182. package/dist/types/src/events.d.ts.map +1 -1
  183. package/dist/types/src/index.d.ts +2 -0
  184. package/dist/types/src/index.d.ts.map +1 -1
  185. package/dist/types/src/manifests/agent.d.ts +2 -0
  186. package/dist/types/src/manifests/agent.d.ts.map +1 -1
  187. package/dist/types/src/protocol.d.ts +2 -0
  188. package/dist/types/src/protocol.d.ts.map +1 -1
  189. package/dist/types/src/turn-ids.d.ts +62 -0
  190. package/dist/types/src/turn-ids.d.ts.map +1 -0
  191. package/dist/types/src/version.d.ts +12 -1
  192. package/dist/types/src/version.d.ts.map +1 -1
  193. package/dist/workspace-plugin/adapters/mcp.js +15 -15
  194. package/dist/workspace-plugin/adapters/omp.js +7 -7
  195. package/dist/workspace-plugin/index.js +1 -1
  196. package/package.json +1 -1
  197. package/dist/chunk-4Z4RULWQ.js.map +0 -1
  198. package/dist/chunk-6PVRP3LW.js.map +0 -1
  199. package/dist/chunk-7NN3P6VF.js.map +0 -1
  200. package/dist/chunk-WS3BOCAT.js.map +0 -1
  201. package/dist/chunk-XDVR7QIT.js.map +0 -1
@@ -1,9 +1,9 @@
1
- import { SubprocessCliHarness, extractText, extractCost, extractTokens } from './chunk-5JBMYZNA.js';
2
- import { getStaticModels, fetchProviderModels } from './chunk-3AIEJSQR.js';
1
+ import { SubprocessCliHarness, extractText, extractCost, extractTokens } from './chunk-GODUKPGD.js';
2
+ import { getStaticModels, fetchProviderModels } from './chunk-ESUF2ZYT.js';
3
3
  import { HARNESS_BINARIES } from './chunk-WWSRIT3J.js';
4
- import { resolveEnvHarnessSession, bindSingleProviderEntry, resolveRegistryBinding } from './chunk-RTFH2QR2.js';
5
- import { getBridgeLogger, registryHarnessConfig } from './chunk-NFFBYG2W.js';
6
- import { BUILTIN_HARNESS_CATALOG, entryCredentialValue } from './chunk-KE5HDORU.js';
4
+ import { resolveEnvHarnessSession, bindSingleProviderEntry, resolveRegistryBinding } from './chunk-CLMIZ4N6.js';
5
+ import { getBridgeLogger, registryHarnessConfig } from './chunk-PZS55HOX.js';
6
+ import { BUILTIN_HARNESS_CATALOG, entryCredentialValue } from './chunk-S6NS3I3P.js';
7
7
  import { getProviderPreset } from './chunk-6UP2EDFN.js';
8
8
  import * as z from 'zod';
9
9
 
@@ -186,5 +186,5 @@ var geminiHarnessTarget = {
186
186
  };
187
187
 
188
188
  export { GeminiFamilyHarness, GeminiHarness, geminiHarnessTarget };
189
- //# sourceMappingURL=chunk-BCID52M5.js.map
190
- //# sourceMappingURL=chunk-BCID52M5.js.map
189
+ //# sourceMappingURL=chunk-YPX7LQSW.js.map
190
+ //# sourceMappingURL=chunk-YPX7LQSW.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../bridge/src/harnesses/gemini.ts"],"names":[],"mappings":"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","file":"chunk-BCID52M5.js","sourcesContent":["import type { HarnessTarget } from \"@skaile/workspaces/plugin-registry\";\nimport type { Logger } from \"@skaile/workspaces/types\";\nimport * as z from \"zod\";\nimport { HARNESS_BINARIES } from \"../harness-binaries.js\";\nimport { getBridgeLogger } from \"../logger.js\";\nimport { fetchProviderModels, getStaticModels, type ModelEntry } from \"../models.js\";\nimport { getProviderPreset } from \"../provider-catalog.js\";\nimport { entryCredentialValue } from \"../provider-materialize/credential-env.js\";\nimport {\n bindSingleProviderEntry,\n type EnvHarnessSession,\n type RegistryModelBinding,\n resolveEnvHarnessSession,\n resolveRegistryBinding,\n} from \"../provider-materialize/env-harnesses.js\";\nimport { registryHarnessConfig } from \"../provider-registry-derive.js\";\nimport { BUILTIN_HARNESS_CATALOG } from \"../registry.js\";\nimport type { AgentConfig, HarnessInfo, ReconfigureApplied } from \"../types.js\";\nimport {\n extractCost,\n extractText,\n extractTokens,\n SubprocessCliHarness,\n} from \"./_subprocess-cli.js\";\n\n/**\n * The Gemini API host the CLI talks to unless told otherwise — the catalog's\n * `google` preset, so the two can never drift apart.\n */\nconst GOOGLE_DEFAULT_BASE_URL = getProviderPreset(\"google\")?.base_url;\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/harnesses#gemini-harness\n */\nexport abstract class GeminiFamilyHarness extends SubprocessCliHarness {\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 // ── Registry binding ──────────────────────────────────────────────────────\n\n private providers?: EnvHarnessSession;\n private boundEntry?: RegistryModelBinding;\n private bindingResolved = false;\n\n /** This session's AI providers, resolved once from the config. */\n protected providerSession(): EnvHarnessSession {\n this.providers ??= resolveEnvHarnessSession(this.config);\n return this.providers;\n }\n\n /**\n * The AI provider entry this session's model selector names, memoized until\n * the model changes.\n *\n * Gemini CLI and Qwen Code are `single`-plurality harnesses (§2.3): they\n * address one endpoint, so the bound entry supplies both the credential and\n * the base URL. Resolving through {@link bindSingleProviderEntry} is what\n * puts the surface check — which throws — on the start path.\n */\n protected registryBinding(): RegistryModelBinding | undefined {\n if (this.bindingResolved) return this.boundEntry;\n const binding = bindSingleProviderEntry(\n this.harnessInfo.id,\n this.productName,\n this.providerSession(),\n );\n for (const warning of binding?.warnings ?? []) this.log.warn(warning);\n this.boundEntry = binding;\n this.bindingResolved = true;\n return binding;\n }\n\n /**\n * Fail before the first spawn when the bound entry speaks a surface this\n * harness cannot — the error names the surface.\n */\n override async start(): Promise<void> {\n this.registryBinding();\n await super.start();\n }\n\n protected override onReconfigured(applied: ReconfigureApplied): void {\n if (applied.model !== undefined) {\n this.providers = undefined;\n this.bindingResolved = false;\n }\n }\n\n /** The provider-side model id the harness is actually run with. */\n override getModel(): string | undefined {\n return resolveRegistryBinding(this.providerSession())?.providerModelId ?? this.config.model;\n }\n}\n\n/**\n * Agent harness 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 * models only (`surface: google-generative-ai`): the AI provider entry the\n * session's model selector names supplies `GEMINI_API_KEY`, the `-m` model id\n * and — for a non-default endpoint — `GOOGLE_GEMINI_BASE_URL`.\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 harness 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/harnesses#gemini-harness\n */\nexport class GeminiHarness extends GeminiFamilyHarness {\n readonly harnessInfo: HarnessInfo = {\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 const model = this.registryBinding()?.providerModelId ?? this.config.model;\n if (model) args.push(\"-m\", model);\n return args;\n }\n\n protected buildEnv(): Record<string, string> {\n const env = this.baseEnv([\"GEMINI_API_KEY\", \"GOOGLE_API_KEY\", \"GOOGLE_GEMINI_BASE_URL\"]);\n const binding = this.registryBinding();\n if (!binding) return env;\n\n // The entry is the authority: inherited Google carriers are dropped so an\n // ambient key cannot authenticate a session pointed somewhere else.\n delete env.GEMINI_API_KEY;\n delete env.GOOGLE_API_KEY;\n delete env.GOOGLE_GEMINI_BASE_URL;\n const key = entryCredentialValue(binding.providerId, binding.entry, {\n env: this.providerSession().lookupEnv,\n });\n if (key) env.GEMINI_API_KEY = key;\n // Only a non-default endpoint is worth naming: Gemini CLI reads\n // GOOGLE_GEMINI_BASE_URL as an override of its own default host.\n if (binding.baseUrl && binding.baseUrl !== GOOGLE_DEFAULT_BASE_URL) {\n env.GOOGLE_GEMINI_BASE_URL = binding.baseUrl;\n }\n return env;\n }\n\n protected installHint(): string {\n return HARNESS_BINARIES.gemini.hint;\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 /**\n * Discovery runs against the bound entry: its credential and, for a\n * non-default endpoint, its base URL. Without an entry the ambient\n * `GEMINI_API_KEY` is the last resort, and an unreachable API falls back to\n * the static Google catalog.\n */\n override async listModels(): Promise<ModelEntry[]> {\n const session = this.providerSession();\n const binding = resolveRegistryBinding(session);\n const key = binding\n ? entryCredentialValue(binding.providerId, binding.entry, { env: session.lookupEnv })\n : session.lookupEnv.GEMINI_API_KEY;\n if (!key) return getStaticModels(\"google\");\n const result = await fetchProviderModels(\n \"google\",\n key,\n binding?.baseUrl && binding.baseUrl !== GOOGLE_DEFAULT_BASE_URL\n ? { baseUrl: binding.baseUrl }\n : {},\n );\n return result.ok && result.models.length > 0 ? result.models : getStaticModels(\"google\");\n }\n}\n\n/**\n * `HarnessTarget` wrapper for the gemini harness. Registered into the plugin\n * registry by `registerBuiltinHarnesses()`.\n */\nexport const geminiHarnessTarget: HarnessTarget<AgentConfig> = {\n id: \"gemini\",\n displayName: BUILTIN_HARNESS_CATALOG.gemini?.name ?? \"Gemini CLI\",\n apiVersion: 1,\n configSchema: z.custom<AgentConfig>(() => true),\n create: async (config, _ctx) => new GeminiHarness(config),\n listModels: async (registry, options) =>\n new GeminiHarness({\n cwd: process.cwd(),\n sessionId: \"model-list\",\n ...registryHarnessConfig(registry, options),\n }).listModels(),\n};\n"]}
1
+ {"version":3,"sources":["../bridge/src/harnesses/gemini.ts"],"names":[],"mappings":"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","file":"chunk-YPX7LQSW.js","sourcesContent":["import type { HarnessTarget } from \"@skaile/workspaces/plugin-registry\";\nimport type { Logger } from \"@skaile/workspaces/types\";\nimport * as z from \"zod\";\nimport { HARNESS_BINARIES } from \"../harness-binaries.js\";\nimport { getBridgeLogger } from \"../logger.js\";\nimport { fetchProviderModels, getStaticModels, type ModelEntry } from \"../models.js\";\nimport { getProviderPreset } from \"../provider-catalog.js\";\nimport { entryCredentialValue } from \"../provider-materialize/credential-env.js\";\nimport {\n bindSingleProviderEntry,\n type EnvHarnessSession,\n type RegistryModelBinding,\n resolveEnvHarnessSession,\n resolveRegistryBinding,\n} from \"../provider-materialize/env-harnesses.js\";\nimport { registryHarnessConfig } from \"../provider-registry-derive.js\";\nimport { BUILTIN_HARNESS_CATALOG } from \"../registry.js\";\nimport type { AgentConfig, HarnessInfo, ReconfigureApplied } from \"../types.js\";\nimport {\n extractCost,\n extractText,\n extractTokens,\n SubprocessCliHarness,\n} from \"./_subprocess-cli.js\";\n\n/**\n * The Gemini API host the CLI talks to unless told otherwise — the catalog's\n * `google` preset, so the two can never drift apart.\n */\nconst GOOGLE_DEFAULT_BASE_URL = getProviderPreset(\"google\")?.base_url;\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/harnesses#gemini-harness\n */\nexport abstract class GeminiFamilyHarness extends SubprocessCliHarness {\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 // ── Registry binding ──────────────────────────────────────────────────────\n\n private providers?: EnvHarnessSession;\n private boundEntry?: RegistryModelBinding;\n private bindingResolved = false;\n\n /** This session's AI providers, resolved once from the config. */\n protected providerSession(): EnvHarnessSession {\n this.providers ??= resolveEnvHarnessSession(this.config);\n return this.providers;\n }\n\n /**\n * The AI provider entry this session's model selector names, memoized until\n * the model changes.\n *\n * Gemini CLI and Qwen Code are `single`-plurality harnesses (§2.3): they\n * address one endpoint, so the bound entry supplies both the credential and\n * the base URL. Resolving through {@link bindSingleProviderEntry} is what\n * puts the surface check — which throws — on the start path.\n */\n protected registryBinding(): RegistryModelBinding | undefined {\n if (this.bindingResolved) return this.boundEntry;\n const binding = bindSingleProviderEntry(\n this.harnessInfo.id,\n this.productName,\n this.providerSession(),\n );\n for (const warning of binding?.warnings ?? []) this.log.warn(warning);\n this.boundEntry = binding;\n this.bindingResolved = true;\n return binding;\n }\n\n /**\n * Fail before the first spawn when the bound entry speaks a surface this\n * harness cannot — the error names the surface.\n */\n override async start(): Promise<void> {\n this.registryBinding();\n await super.start();\n }\n\n protected override onReconfigured(applied: ReconfigureApplied): void {\n if (applied.model !== undefined) {\n this.providers = undefined;\n this.bindingResolved = false;\n }\n }\n\n /** The provider-side model id the harness is actually run with. */\n override getModel(): string | undefined {\n return resolveRegistryBinding(this.providerSession())?.providerModelId ?? this.config.model;\n }\n}\n\n/**\n * Agent harness 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 * models only (`surface: google-generative-ai`): the AI provider entry the\n * session's model selector names supplies `GEMINI_API_KEY`, the `-m` model id\n * and — for a non-default endpoint — `GOOGLE_GEMINI_BASE_URL`.\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 harness 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/harnesses#gemini-harness\n */\nexport class GeminiHarness extends GeminiFamilyHarness {\n readonly harnessInfo: HarnessInfo = {\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 const model = this.registryBinding()?.providerModelId ?? this.config.model;\n if (model) args.push(\"-m\", model);\n return args;\n }\n\n protected buildEnv(): Record<string, string> {\n const env = this.baseEnv([\"GEMINI_API_KEY\", \"GOOGLE_API_KEY\", \"GOOGLE_GEMINI_BASE_URL\"]);\n const binding = this.registryBinding();\n if (!binding) return env;\n\n // The entry is the authority: inherited Google carriers are dropped so an\n // ambient key cannot authenticate a session pointed somewhere else.\n delete env.GEMINI_API_KEY;\n delete env.GOOGLE_API_KEY;\n delete env.GOOGLE_GEMINI_BASE_URL;\n const key = entryCredentialValue(binding.providerId, binding.entry, {\n env: this.providerSession().lookupEnv,\n });\n if (key) env.GEMINI_API_KEY = key;\n // Only a non-default endpoint is worth naming: Gemini CLI reads\n // GOOGLE_GEMINI_BASE_URL as an override of its own default host.\n if (binding.baseUrl && binding.baseUrl !== GOOGLE_DEFAULT_BASE_URL) {\n env.GOOGLE_GEMINI_BASE_URL = binding.baseUrl;\n }\n return env;\n }\n\n protected installHint(): string {\n return HARNESS_BINARIES.gemini.hint;\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 /**\n * Discovery runs against the bound entry: its credential and, for a\n * non-default endpoint, its base URL. Without an entry the ambient\n * `GEMINI_API_KEY` is the last resort, and an unreachable API falls back to\n * the static Google catalog.\n */\n override async listModels(): Promise<ModelEntry[]> {\n const session = this.providerSession();\n const binding = resolveRegistryBinding(session);\n const key = binding\n ? entryCredentialValue(binding.providerId, binding.entry, { env: session.lookupEnv })\n : session.lookupEnv.GEMINI_API_KEY;\n if (!key) return getStaticModels(\"google\");\n const result = await fetchProviderModels(\n \"google\",\n key,\n binding?.baseUrl && binding.baseUrl !== GOOGLE_DEFAULT_BASE_URL\n ? { baseUrl: binding.baseUrl }\n : {},\n );\n return result.ok && result.models.length > 0 ? result.models : getStaticModels(\"google\");\n }\n}\n\n/**\n * `HarnessTarget` wrapper for the gemini harness. Registered into the plugin\n * registry by `registerBuiltinHarnesses()`.\n */\nexport const geminiHarnessTarget: HarnessTarget<AgentConfig> = {\n id: \"gemini\",\n displayName: BUILTIN_HARNESS_CATALOG.gemini?.name ?? \"Gemini CLI\",\n apiVersion: 1,\n configSchema: z.custom<AgentConfig>(() => true),\n create: async (config, _ctx) => new GeminiHarness(config),\n listModels: async (registry, options) =>\n new GeminiHarness({\n cwd: process.cwd(),\n sessionId: \"model-list\",\n ...registryHarnessConfig(registry, options),\n }).listModels(),\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { getStoreConfig, getStoreToken, storeFetch } from './chunk-GA4GUDTL.js';
1
+ import { getStoreConfig, getStoreToken, storeFetch } from './chunk-5M3S6DLV.js';
2
2
 
3
3
  // cli/src/store-publisher.ts
4
4
  function makeHttpPublisherClient(config = getStoreConfig(), timeoutMs = 2e4) {
@@ -25,5 +25,5 @@ function makeHttpPublisherClient(config = getStoreConfig(), timeoutMs = 2e4) {
25
25
  }
26
26
 
27
27
  export { makeHttpPublisherClient };
28
- //# sourceMappingURL=chunk-PTXQMTCG.js.map
29
- //# sourceMappingURL=chunk-PTXQMTCG.js.map
28
+ //# sourceMappingURL=chunk-ZRKU7BRI.js.map
29
+ //# sourceMappingURL=chunk-ZRKU7BRI.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../cli/src/store-publisher.ts"],"names":[],"mappings":";;;AA+FO,SAAS,uBAAA,CACd,MAAA,GAAsB,cAAA,EAAe,EACrC,YAAY,GAAA,EACK;AAGjB,EAAA,MAAM,IAAA,GAAO,OACX,IAAA,EACA,IAAA,KACe;AACf,IAAA,MAAM,GAAA,GAAM,MAAM,aAAA,EAAc;AAChC,IAAA,OAAO,UAAA,CAAc,EAAE,GAAG,MAAA,EAAQ,GAAA,EAAI,EAAG,IAAA,EAAM,EAAE,SAAA,EAAW,GAAG,IAAA,EAAM,CAAA;AAAA,EACvE,CAAA;AACA,EAAA,OAAO;AAAA,IACL,EAAA,EAAI,MAAM,IAAA,CAAK,YAAY,CAAA;AAAA,IAC3B,UAAA,EAAY,CAAC,IAAA,KAAS,IAAA,CAAK,mBAAmB,EAAE,MAAA,EAAQ,MAAA,EAAQ,IAAA,EAAM,CAAA;AAAA,IACtE,WAAA,EAAa,MAAM,IAAA,CAAK,iBAAiB,CAAA;AAAA,IACzC,UAAA,EAAY,CAAC,EAAA,KAAO,IAAA,CAAK,CAAA,gBAAA,EAAmB,EAAE,CAAA,KAAA,CAAA,EAAS,EAAE,MAAA,EAAQ,MAAA,EAAQ,IAAA,EAAM,IAAI,CAAA;AAAA,IACnF,QAAQ,CAAC,KAAA,KAAU,IAAA,CAAK,CAAA,aAAA,EAAgB,KAAK,CAAA,CAAE,CAAA;AAAA,IAC/C,kBAAkB,CAAC,EAAA,KAAO,IAAA,CAAK,CAAA,gBAAA,EAAmB,EAAE,CAAA,WAAA,CAAa,CAAA;AAAA,IACjE,cAAc,CAAC,EAAA,KAAO,IAAA,CAAK,CAAA,eAAA,EAAkB,EAAE,CAAA,QAAA,CAAU,CAAA;AAAA,IACzD,YAAA,EAAc,CAAC,EAAA,EAAI,IAAA,EAAM,WACvB,IAAA,CAAK,CAAA,eAAA,EAAkB,EAAE,CAAA,QAAA,CAAA,EAAY;AAAA,MACnC,MAAA,EAAQ,MAAA;AAAA,MACR,IAAA;AAAA,MACA,GAAI,SAAS,EAAE,MAAA,EAAQ,EAAE,MAAA,EAAQ,GAAA,EAAI,EAAE,GAAI;AAAC,KAC7C,CAAA;AAAA,IACH,cAAA,EAAgB,CAAC,EAAA,KAAO,IAAA,CAAK,CAAA,eAAA,EAAkB,EAAE,CAAA,UAAA,CAAA,EAAc,EAAE,MAAA,EAAQ,MAAA,EAAQ,IAAA,EAAM,IAAI,CAAA;AAAA,IAC3F,qBAAA,EAAuB,CAAC,EAAA,KACtB,IAAA,CAAK,sBAAsB,kBAAA,CAAmB,EAAE,CAAC,CAAA,aAAA,CAAe;AAAA,GACpE;AACF","file":"chunk-PTXQMTCG.js","sourcesContent":["/**\n * Typed REST client for the AI Asset Store **publisher** surface — the\n * curator-publish flow (`skaile source manifest publish` / `yank`). Thin\n * wrappers over {@link storeFetch}; every method maps 1:1 to an `/api/v1/…`\n * endpoint. The {@link PublisherClient} interface is injectable so the\n * orchestration in `commands/source-manifest-publish.ts` can be unit-tested\n * against a fake without a live store.\n *\n * @docLink cli/dev-guide#store-publisher\n */\n\nimport { getStoreConfig, getStoreToken, type StoreConfig, storeFetch } from \"./store-client.ts\";\n\n/**\n * The publisher REST surface used by the curator-publish flow. Kept minimal —\n * only the endpoints `runPublish` / `runYank` actually call. Response shapes\n * are narrowed to the fields the orchestration reads (the server returns more).\n */\nexport interface PublisherClient {\n /**\n * Identity of the caller. `username` is the Keycloak login (personal-tier\n * namespace); `githubLogin` is the verified GitHub handle when connected —\n * the namespace to publish under when it differs from the login.\n */\n me(): Promise<{ username: string; githubLogin?: string | null }>;\n /** Register (or re-register) a source; returns the created/existing row id. */\n sourcesAdd(body: {\n url: string;\n ref: string;\n sidecarUrl?: string;\n sidecarRef?: string;\n /**\n * Target publisher namespace (the manifest's `publisher`). When it differs\n * from the caller's login username, the store resolves the CLAIMED Publisher\n * for it (the store must already have the claim). Omitted → the store\n * defaults to `@<username>` (personal).\n */\n namespace?: string;\n }): Promise<{ id: string }>;\n /** List sources — used to recover an id when `sourcesAdd` rejects a dup url. */\n sourcesList(): Promise<Array<{ id: string; url: string }>>;\n /** Kick off a source sync; returns the async job id to poll. */\n sourceSync(id: string): Promise<{ jobId: string }>;\n /** Poll a job's terminal status + per-item results. */\n jobGet(\n jobId: string,\n ): Promise<{ status: string; items?: Array<{ label: string; status: string; error?: string }> }>;\n /** Discovered publishable candidates for a synced source. */\n sourceCandidates(id: string): Promise<\n Array<{\n id: string;\n name: string;\n version: string;\n kind: string;\n published: boolean;\n assetRoot: string;\n }>\n >;\n /** Per-asset preview — the discovered file set + resolved candidate metadata. */\n assetPreview(id: string): Promise<{\n discoveredFiles: string[];\n candidate: { name: string; version: string; kind: string; publisherNamespace: string };\n }>;\n /**\n * Publish one asset. `dryRun` returns the would-be `{ manifest }` without\n * launching a job; the normal path returns `{ jobId }`.\n */\n assetPublish(\n id: string,\n body: { ref: string; files: string[] },\n dryRun?: boolean,\n ): Promise<{ jobId?: string; manifest?: unknown }>;\n /** Retract a published asset. Response body is ignored. */\n assetUnpublish(id: string): Promise<unknown>;\n /**\n * Read-only \"can I publish under `@<ns>` right now, and if not, what's the\n * path?\" probe. Backs the `publish --dry-run` namespace status line; its\n * `message` is store-authored and meant to be surfaced verbatim.\n */\n namespaceAvailability(ns: string): Promise<{\n namespace: string;\n status: \"owned-by-you\" | \"claimable-by-you\" | \"reserved\" | \"available\";\n claimMethod?: string;\n message: string;\n }>;\n}\n\n/**\n * Construct the real HTTP-backed {@link PublisherClient}. Every call carries a\n * longer timeout than the default store client because publish/sync trigger\n * server-side clone work.\n *\n * @param config - Store connection config; defaults to {@link getStoreConfig}.\n * @param timeoutMs - Per-request abort timeout (default 20s).\n */\nexport function makeHttpPublisherClient(\n config: StoreConfig = getStoreConfig(),\n timeoutMs = 20_000,\n): PublisherClient {\n // Acquire a fresh Keycloak token per call (device-flow session in\n // ~/.skaile/auth.json, refreshed on demand) rather than a static config.jwt.\n const call = async <T>(\n path: string,\n opts?: { method?: string; body?: unknown; params?: Record<string, string> },\n ): Promise<T> => {\n const jwt = await getStoreToken();\n return storeFetch<T>({ ...config, jwt }, path, { timeoutMs, ...opts });\n };\n return {\n me: () => call(\"/api/v1/me\"),\n sourcesAdd: (body) => call(\"/api/v1/sources\", { method: \"POST\", body }),\n sourcesList: () => call(\"/api/v1/sources\"),\n sourceSync: (id) => call(`/api/v1/sources/${id}/sync`, { method: \"POST\", body: {} }),\n jobGet: (jobId) => call(`/api/v1/jobs/${jobId}`),\n sourceCandidates: (id) => call(`/api/v1/sources/${id}/candidates`),\n assetPreview: (id) => call(`/api/v1/assets/${id}/preview`),\n assetPublish: (id, body, dryRun) =>\n call(`/api/v1/assets/${id}/publish`, {\n method: \"POST\",\n body,\n ...(dryRun ? { params: { dryRun: \"1\" } } : {}),\n }),\n assetUnpublish: (id) => call(`/api/v1/assets/${id}/unpublish`, { method: \"POST\", body: {} }),\n namespaceAvailability: (ns) =>\n call(`/api/v1/namespaces/${encodeURIComponent(ns)}/availability`),\n };\n}\n"]}
1
+ {"version":3,"sources":["../cli/src/store-publisher.ts"],"names":[],"mappings":";;;AA+FO,SAAS,uBAAA,CACd,MAAA,GAAsB,cAAA,EAAe,EACrC,YAAY,GAAA,EACK;AAGjB,EAAA,MAAM,IAAA,GAAO,OACX,IAAA,EACA,IAAA,KACe;AACf,IAAA,MAAM,GAAA,GAAM,MAAM,aAAA,EAAc;AAChC,IAAA,OAAO,UAAA,CAAc,EAAE,GAAG,MAAA,EAAQ,GAAA,EAAI,EAAG,IAAA,EAAM,EAAE,SAAA,EAAW,GAAG,IAAA,EAAM,CAAA;AAAA,EACvE,CAAA;AACA,EAAA,OAAO;AAAA,IACL,EAAA,EAAI,MAAM,IAAA,CAAK,YAAY,CAAA;AAAA,IAC3B,UAAA,EAAY,CAAC,IAAA,KAAS,IAAA,CAAK,mBAAmB,EAAE,MAAA,EAAQ,MAAA,EAAQ,IAAA,EAAM,CAAA;AAAA,IACtE,WAAA,EAAa,MAAM,IAAA,CAAK,iBAAiB,CAAA;AAAA,IACzC,UAAA,EAAY,CAAC,EAAA,KAAO,IAAA,CAAK,CAAA,gBAAA,EAAmB,EAAE,CAAA,KAAA,CAAA,EAAS,EAAE,MAAA,EAAQ,MAAA,EAAQ,IAAA,EAAM,IAAI,CAAA;AAAA,IACnF,QAAQ,CAAC,KAAA,KAAU,IAAA,CAAK,CAAA,aAAA,EAAgB,KAAK,CAAA,CAAE,CAAA;AAAA,IAC/C,kBAAkB,CAAC,EAAA,KAAO,IAAA,CAAK,CAAA,gBAAA,EAAmB,EAAE,CAAA,WAAA,CAAa,CAAA;AAAA,IACjE,cAAc,CAAC,EAAA,KAAO,IAAA,CAAK,CAAA,eAAA,EAAkB,EAAE,CAAA,QAAA,CAAU,CAAA;AAAA,IACzD,YAAA,EAAc,CAAC,EAAA,EAAI,IAAA,EAAM,WACvB,IAAA,CAAK,CAAA,eAAA,EAAkB,EAAE,CAAA,QAAA,CAAA,EAAY;AAAA,MACnC,MAAA,EAAQ,MAAA;AAAA,MACR,IAAA;AAAA,MACA,GAAI,SAAS,EAAE,MAAA,EAAQ,EAAE,MAAA,EAAQ,GAAA,EAAI,EAAE,GAAI;AAAC,KAC7C,CAAA;AAAA,IACH,cAAA,EAAgB,CAAC,EAAA,KAAO,IAAA,CAAK,CAAA,eAAA,EAAkB,EAAE,CAAA,UAAA,CAAA,EAAc,EAAE,MAAA,EAAQ,MAAA,EAAQ,IAAA,EAAM,IAAI,CAAA;AAAA,IAC3F,qBAAA,EAAuB,CAAC,EAAA,KACtB,IAAA,CAAK,sBAAsB,kBAAA,CAAmB,EAAE,CAAC,CAAA,aAAA,CAAe;AAAA,GACpE;AACF","file":"chunk-ZRKU7BRI.js","sourcesContent":["/**\n * Typed REST client for the AI Asset Store **publisher** surface — the\n * curator-publish flow (`skaile source manifest publish` / `yank`). Thin\n * wrappers over {@link storeFetch}; every method maps 1:1 to an `/api/v1/…`\n * endpoint. The {@link PublisherClient} interface is injectable so the\n * orchestration in `commands/source-manifest-publish.ts` can be unit-tested\n * against a fake without a live store.\n *\n * @docLink cli/dev-guide#store-publisher\n */\n\nimport { getStoreConfig, getStoreToken, type StoreConfig, storeFetch } from \"./store-client.ts\";\n\n/**\n * The publisher REST surface used by the curator-publish flow. Kept minimal —\n * only the endpoints `runPublish` / `runYank` actually call. Response shapes\n * are narrowed to the fields the orchestration reads (the server returns more).\n */\nexport interface PublisherClient {\n /**\n * Identity of the caller. `username` is the Keycloak login (personal-tier\n * namespace); `githubLogin` is the verified GitHub handle when connected —\n * the namespace to publish under when it differs from the login.\n */\n me(): Promise<{ username: string; githubLogin?: string | null }>;\n /** Register (or re-register) a source; returns the created/existing row id. */\n sourcesAdd(body: {\n url: string;\n ref: string;\n sidecarUrl?: string;\n sidecarRef?: string;\n /**\n * Target publisher namespace (the manifest's `publisher`). When it differs\n * from the caller's login username, the store resolves the CLAIMED Publisher\n * for it (the store must already have the claim). Omitted → the store\n * defaults to `@<username>` (personal).\n */\n namespace?: string;\n }): Promise<{ id: string }>;\n /** List sources — used to recover an id when `sourcesAdd` rejects a dup url. */\n sourcesList(): Promise<Array<{ id: string; url: string }>>;\n /** Kick off a source sync; returns the async job id to poll. */\n sourceSync(id: string): Promise<{ jobId: string }>;\n /** Poll a job's terminal status + per-item results. */\n jobGet(\n jobId: string,\n ): Promise<{ status: string; items?: Array<{ label: string; status: string; error?: string }> }>;\n /** Discovered publishable candidates for a synced source. */\n sourceCandidates(id: string): Promise<\n Array<{\n id: string;\n name: string;\n version: string;\n kind: string;\n published: boolean;\n assetRoot: string;\n }>\n >;\n /** Per-asset preview — the discovered file set + resolved candidate metadata. */\n assetPreview(id: string): Promise<{\n discoveredFiles: string[];\n candidate: { name: string; version: string; kind: string; publisherNamespace: string };\n }>;\n /**\n * Publish one asset. `dryRun` returns the would-be `{ manifest }` without\n * launching a job; the normal path returns `{ jobId }`.\n */\n assetPublish(\n id: string,\n body: { ref: string; files: string[] },\n dryRun?: boolean,\n ): Promise<{ jobId?: string; manifest?: unknown }>;\n /** Retract a published asset. Response body is ignored. */\n assetUnpublish(id: string): Promise<unknown>;\n /**\n * Read-only \"can I publish under `@<ns>` right now, and if not, what's the\n * path?\" probe. Backs the `publish --dry-run` namespace status line; its\n * `message` is store-authored and meant to be surfaced verbatim.\n */\n namespaceAvailability(ns: string): Promise<{\n namespace: string;\n status: \"owned-by-you\" | \"claimable-by-you\" | \"reserved\" | \"available\";\n claimMethod?: string;\n message: string;\n }>;\n}\n\n/**\n * Construct the real HTTP-backed {@link PublisherClient}. Every call carries a\n * longer timeout than the default store client because publish/sync trigger\n * server-side clone work.\n *\n * @param config - Store connection config; defaults to {@link getStoreConfig}.\n * @param timeoutMs - Per-request abort timeout (default 20s).\n */\nexport function makeHttpPublisherClient(\n config: StoreConfig = getStoreConfig(),\n timeoutMs = 20_000,\n): PublisherClient {\n // Acquire a fresh Keycloak token per call (device-flow session in\n // ~/.skaile/auth.json, refreshed on demand) rather than a static config.jwt.\n const call = async <T>(\n path: string,\n opts?: { method?: string; body?: unknown; params?: Record<string, string> },\n ): Promise<T> => {\n const jwt = await getStoreToken();\n return storeFetch<T>({ ...config, jwt }, path, { timeoutMs, ...opts });\n };\n return {\n me: () => call(\"/api/v1/me\"),\n sourcesAdd: (body) => call(\"/api/v1/sources\", { method: \"POST\", body }),\n sourcesList: () => call(\"/api/v1/sources\"),\n sourceSync: (id) => call(`/api/v1/sources/${id}/sync`, { method: \"POST\", body: {} }),\n jobGet: (jobId) => call(`/api/v1/jobs/${jobId}`),\n sourceCandidates: (id) => call(`/api/v1/sources/${id}/candidates`),\n assetPreview: (id) => call(`/api/v1/assets/${id}/preview`),\n assetPublish: (id, body, dryRun) =>\n call(`/api/v1/assets/${id}/publish`, {\n method: \"POST\",\n body,\n ...(dryRun ? { params: { dryRun: \"1\" } } : {}),\n }),\n assetUnpublish: (id) => call(`/api/v1/assets/${id}/unpublish`, { method: \"POST\", body: {} }),\n namespaceAvailability: (ns) =>\n call(`/api/v1/namespaces/${encodeURIComponent(ns)}/availability`),\n };\n}\n"]}
@@ -1,10 +1,10 @@
1
- export { disable, enable, install, refreshPluginSkills, status, uninstall } from './chunk-QBJQ426X.js';
2
- import './chunk-6O7VDKX3.js';
1
+ export { disable, enable, install, refreshPluginSkills, status, uninstall } from './chunk-DKRD6CZL.js';
2
+ import './chunk-RZQCBFIU.js';
3
3
  import './chunk-3MWQKQUB.js';
4
4
  import './chunk-C5HFK34M.js';
5
5
  import './chunk-RZL4TOK3.js';
6
6
  import './chunk-C3CAXQMA.js';
7
7
  import './chunk-BOFL7GIF.js';
8
8
  import './chunk-NSBPE2FW.js';
9
- //# sourceMappingURL=claude-code-CMFGCDMX.js.map
10
- //# sourceMappingURL=claude-code-CMFGCDMX.js.map
9
+ //# sourceMappingURL=claude-code-TDMSETH6.js.map
10
+ //# sourceMappingURL=claude-code-TDMSETH6.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"claude-code-CMFGCDMX.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"claude-code-TDMSETH6.js"}
package/dist/cli/index.js CHANGED
@@ -1,58 +1,58 @@
1
1
  #!/usr/bin/env node
2
- import { status, enable, disable, install, uninstall } from '../chunk-QBJQ426X.js';
3
- import { makeValidateCommand, scanIdentities } from '../chunk-HQUF6O4B.js';
4
- import { storeNotInstallableReason, mcpNotRunnableHere } from '../chunk-XWCV2A2F.js';
5
- import { checkHarnessSdk } from '../chunk-NCJSYU6A.js';
6
- import { makeProvidersCommand, loadRegistryView, addProviderEntry, ProviderRegistryWriteError, removeProviderEntry } from '../chunk-5P7LTPBR.js';
7
- import { makeInstallCommand, makeCheckCommand, makeCleanCommand, pinComposedAgents, reportRewritten, reportReplaced, reportRelocked, reportMoved, reportStoreNotChecked, reportStoreNotCheckedForUpdates, globalProblems, editedConventionFiles, supportsInstallManifest, runYamlInstall, REF_HINT, reportInstalledSoftDeps } from '../chunk-375HN3FD.js';
2
+ import { status, enable, disable, install, uninstall } from '../chunk-DKRD6CZL.js';
3
+ import { makeValidateCommand, scanIdentities } from '../chunk-CI4I34F4.js';
4
+ import { storeNotInstallableReason, mcpNotRunnableHere } from '../chunk-SZ3XCZHC.js';
5
+ import { checkHarnessSdk } from '../chunk-7O6SCI7B.js';
6
+ import { makeProvidersCommand, loadRegistryView, addProviderEntry, ProviderRegistryWriteError, removeProviderEntry } from '../chunk-RRKJHADP.js';
7
+ import { makeInstallCommand, makeCheckCommand, makeCleanCommand, pinComposedAgents, reportRewritten, reportReplaced, reportRelocked, reportMoved, reportStoreNotChecked, reportStoreNotCheckedForUpdates, globalProblems, editedConventionFiles, supportsInstallManifest, runYamlInstall, REF_HINT, reportInstalledSoftDeps } from '../chunk-CH6UVEM5.js';
8
8
  import { createSpinner } from '../chunk-NESV47MF.js';
9
- import { getStoreConfig, storeFetch, isStoreAuthenticated, getStoreToken } from '../chunk-GA4GUDTL.js';
10
- import { makeSourceCommand, dropVanishedSourceRows, syncProjectSources, divergedSourceClones, uncachedSources } from '../chunk-7DUOKE73.js';
11
- import { manifestEntryRootRefusals, manifestEntryFilesRefusals, libraryAssetRefusals, manifestEntryRenames, deviceLogin, loadStoreAuthConfig, logout, hasStoredAuth, exitOnLibrarySymlinks, resolveLibraryPublisherDetailed, getStoreIdentity, warnLibraryNameFallback, indexLibrary, warnIgnoredDomainFiles, removedDomainOption, rejectRemovedDomainOption, requireValidPublisherOrExit, exitOnManifestPublisherProblems, exitOnRootSkillLibrary, findAssetManifestFile, checkAssetFile, registerLibraryAsset, DOMAIN_REMOVED_HINT, reportLibrarySymlinks, checkAsset, rootLevelAssetFileProblem, manifestPublisherProblems, assetEntryRef, exitOnManifestPathProblems, exitOnRootSkillExtraAssets, manifestRequiresProblems, composeRefContext, registeredAssetKeys, duplicateAssetMessage, manifestParseFailureLine, manifestParseErrorText, unresolvedManifestDependencies, findEntryManifestFile, unheldRequiresOfFile, warnLegacyBundleFiles, warnUntrackedAssetFiles, checkComposeKinds } from '../chunk-C5UKYTTD.js';
12
- import { openCatalogSource, LocalCatalogDisabledError, openLibraryManager, openLibrary } from '../chunk-HE3TZYNG.js';
13
- import { getKindRegistry, getKnownKinds } from '../chunk-DOMRBOJZ.js';
14
- import { logErr, unknownHarnessTargetMessage, S, logOk, setActiveCommand, logInfo, logWarnErr, canonicalHarnessId, unknownHarnessMessage, logWarn, TARGET_DEFAULT_HINT, parseHarnessFilter, requireProjectConfig, deferredWarnings, warnPlaceholderBodies, warnFilesOnlyDelegates, reportLegacyOmpCopies, reportUnknownHarnesses, warnProjectConfig, logNoProject, warnStaleHarnessCopies, kindColorPad, kindColor, colorRef, formatSoftDepSection, bareSoftDepName, reportProjectConfig, driverAliasOption, foldDriverFlag, friendlyHarnessError, harnessErrorNotes, agentInstanceErrorLines, formatSoftDepHint, formatRelativeTime, isRecord, formatSoftDepRemovePreview, formatSoftDepAddPreview, fitWidth, KIND_COL_WIDTH } from '../chunk-2MUUPRIG.js';
9
+ import { getStoreConfig, storeFetch, isStoreAuthenticated, getStoreToken } from '../chunk-5M3S6DLV.js';
10
+ import { makeSourceCommand, dropVanishedSourceRows, syncProjectSources, divergedSourceClones, uncachedSources } from '../chunk-GQQIMKEP.js';
11
+ import { manifestEntryRootRefusals, manifestEntryFilesRefusals, libraryAssetRefusals, manifestEntryRenames, deviceLogin, loadStoreAuthConfig, logout, hasStoredAuth, exitOnLibrarySymlinks, resolveLibraryPublisherDetailed, getStoreIdentity, warnLibraryNameFallback, indexLibrary, warnIgnoredDomainFiles, removedDomainOption, rejectRemovedDomainOption, requireValidPublisherOrExit, exitOnManifestPublisherProblems, exitOnRootSkillLibrary, findAssetManifestFile, checkAssetFile, registerLibraryAsset, DOMAIN_REMOVED_HINT, reportLibrarySymlinks, checkAsset, rootLevelAssetFileProblem, manifestPublisherProblems, assetEntryRef, exitOnManifestPathProblems, exitOnRootSkillExtraAssets, manifestRequiresProblems, composeRefContext, registeredAssetKeys, duplicateAssetMessage, manifestParseFailureLine, manifestParseErrorText, unresolvedManifestDependencies, findEntryManifestFile, unheldRequiresOfFile, warnLegacyBundleFiles, warnUntrackedAssetFiles, checkComposeKinds } from '../chunk-FECB7RI7.js';
12
+ import { openCatalogSource, LocalCatalogDisabledError, openLibraryManager, openLibrary } from '../chunk-5XYZNMMC.js';
13
+ import { getKindRegistry, getKnownKinds } from '../chunk-HPQ2WDYC.js';
14
+ import { logErr, unknownHarnessTargetMessage, S, logOk, setActiveCommand, logInfo, logWarnErr, canonicalHarnessId, unknownHarnessMessage, logWarn, TARGET_DEFAULT_HINT, parseHarnessFilter, requireProjectConfig, deferredWarnings, warnPlaceholderBodies, warnFilesOnlyDelegates, reportLegacyOmpCopies, reportUnknownHarnesses, warnProjectConfig, logNoProject, warnStaleHarnessCopies, kindColorPad, kindColor, colorRef, formatSoftDepSection, bareSoftDepName, reportProjectConfig, driverAliasOption, foldDriverFlag, friendlyHarnessError, harnessErrorNotes, agentInstanceErrorLines, formatSoftDepHint, formatRelativeTime, isRecord, formatSoftDepRemovePreview, formatSoftDepAddPreview, fitWidth, KIND_COL_WIDTH } from '../chunk-LXD37LHF.js';
15
15
  import { AI_RESOURCES } from '../chunk-ZLDAPZIX.js';
16
16
  import { loadDeclaredPlugins } from '../chunk-2PVYDAFN.js';
17
17
  import { LocalSecretsProvider } from '../chunk-ILFGVSTJ.js';
18
- import { resolveInstanceAgentDir, instanceSessionOverrides, modelForHarness, loadAgentManifest, manifestModelForHarness, runAgentChat, isCompositionError, resolveSessionId, loadSessionById, loadSession, listSessions, setCurrentSession, deleteSession, clearSession, hashAgentFiles, createCompositionContentSource, compileComposition, MarkdownStreamer, createFinalTextFallback, instanceForSession, resolveAgentInstance, describeComposition } from '../chunk-4Z4RULWQ.js';
19
- import '../chunk-6O7VDKX3.js';
20
- import '../chunk-5KQFR4D7.js';
21
- import '../chunk-2U67XYZM.js';
18
+ import { resolveInstanceAgentDir, instanceSessionOverrides, modelForHarness, loadAgentManifest, manifestModelForHarness, runAgentChat, isCompositionError, resolveSessionId, loadSessionById, loadSession, listSessions, setCurrentSession, deleteSession, clearSession, hashAgentFiles, createCompositionContentSource, compileComposition, MarkdownStreamer, createFinalTextFallback, instanceForSession, resolveAgentInstance, describeComposition } from '../chunk-FO2GU5L7.js';
19
+ import '../chunk-RZQCBFIU.js';
20
+ import '../chunk-L74W5TVC.js';
21
+ import '../chunk-6NNXBXYI.js';
22
22
  import '../chunk-IOXFT5D7.js';
23
23
  import '../chunk-WYZXSJBK.js';
24
24
  import '../chunk-EB2LKPI6.js';
25
25
  import '../chunk-V2VDTQ7A.js';
26
26
  import '../chunk-KW37WNXY.js';
27
27
  import '../chunk-3MWQKQUB.js';
28
- import '../chunk-IMO4EHND.js';
28
+ import '../chunk-WPTNYDDS.js';
29
29
  import '../chunk-O7SG5PC2.js';
30
30
  import '../chunk-7QBNJTTQ.js';
31
31
  import '../chunk-O2SYFJWP.js';
32
32
  import '../chunk-7K73MCI6.js';
33
33
  import '../chunk-32NA4TVC.js';
34
34
  import '../chunk-W3UDISS2.js';
35
- import { runFlow, resumeFlow } from '../chunk-2D6HZAO5.js';
35
+ import { runFlow, resumeFlow } from '../chunk-FVOQPTK2.js';
36
36
  import '../chunk-4R6DROGN.js';
37
37
  import { parseSkillRequirements, validateRequirements } from '../chunk-KOI7QFDH.js';
38
38
  import '../chunk-LQWOU7S2.js';
39
- import '../chunk-SKG6G4HO.js';
40
- import '../chunk-BRPEW3UL.js';
39
+ import '../chunk-UHTCOYFJ.js';
40
+ import '../chunk-GYRIO6RA.js';
41
41
  import '../chunk-SBAUZ7XH.js';
42
- import { checkHarnessModel, checkOmpListedModel, isUnlistedModel, checkModelSurface } from '../chunk-NTFP2XF4.js';
43
- import '../chunk-JDZUQFN7.js';
44
- import '../chunk-PSPFWTJI.js';
45
- import { checkCodexCredential } from '../chunk-HLFLET7S.js';
42
+ import { checkHarnessModel, checkOmpListedModel, isUnlistedModel, checkModelSurface } from '../chunk-45XL75RO.js';
43
+ import '../chunk-4NJVF3DV.js';
44
+ import '../chunk-MRTOKIEJ.js';
45
+ import { checkCodexCredential } from '../chunk-WCHGUS7X.js';
46
46
  import '../chunk-5KSGZP3E.js';
47
47
  import '../chunk-7EKQDY2T.js';
48
- import '../chunk-YEOG7CWQ.js';
49
- import '../chunk-3AIEJSQR.js';
48
+ import '../chunk-7ZL23M3X.js';
49
+ import '../chunk-ESUF2ZYT.js';
50
50
  import { findHarnessBinary, HARNESS_BINARIES } from '../chunk-WWSRIT3J.js';
51
- import '../chunk-RTFH2QR2.js';
51
+ import '../chunk-CLMIZ4N6.js';
52
52
  import '../chunk-5DE3DGVR.js';
53
53
  import '../chunk-7DN6JKP2.js';
54
- import '../chunk-NFFBYG2W.js';
55
- import { listHarnesses } from '../chunk-KE5HDORU.js';
54
+ import '../chunk-PZS55HOX.js';
55
+ import { listHarnesses } from '../chunk-S6NS3I3P.js';
56
56
  import '../chunk-G5SUWZEU.js';
57
57
  import '../chunk-CG63XGVV.js';
58
58
  import { getProviderPreset, AI_PROVIDER_PRESETS } from '../chunk-6UP2EDFN.js';
@@ -60,10 +60,10 @@ import '../chunk-IFGTRL2I.js';
60
60
  import { loadFlow, flowLookupRoots, findFlowFileInRoots, loadAllFlowEntries } from '../chunk-WDG5IVEA.js';
61
61
  import '../chunk-WD3L5QSU.js';
62
62
  import { nodeLabel, nodeSkillAsset, nodeIsInert, nodeIsOptional, nodeRunKind, nodeAssets } from '../chunk-7RGTAEG6.js';
63
- import '../chunk-7NN3P6VF.js';
64
- import { setLibraryAssetCheck, setRenamedEntryLookup, LibraryEntryError, AssetManager, parseRefTolerant, MissingManifestError, writeHarnessSwitchState, harnessSwitchKeptKey, parseCanonicalLockKey, normalizeRepoUrl, readHarnessSwitchState } from '../chunk-4I4SBOCS.js';
65
- import { CatalogHttpError, OfflineError, libraryDirMissing, missingLibraryDirMessage, cloneOrInitGitRepo, trackOriginBranch, stampManifestPublisher, addMissingEntryVersions, isGitRepo, ensureGitRepo, conflictingAssetRoot, scanUnlistedAssets, setManifestPublisher, LIBRARY_OWNERSHIPS, assertManifestEditable, installLibraryAsset, getStoreManifestsDir, assertValidLibraryName, unparsableAssetFiles, missingRootAssets, syncManifestWithDisk, renamedLibraryName, storeManifestFile, getDefaultValue, isSecretPlaceholder } from '../chunk-FXBKBOI5.js';
66
- import { flowFileNameError, SEMVER_RE } from '../chunk-RZ5R6GDJ.js';
63
+ import '../chunk-342UX2MG.js';
64
+ import { setLibraryAssetCheck, setRenamedEntryLookup, LibraryEntryError, AssetManager, parseRefTolerant, MissingManifestError, writeHarnessSwitchState, harnessSwitchKeptKey, parseCanonicalLockKey, normalizeRepoUrl, readHarnessSwitchState } from '../chunk-IIELRGIZ.js';
65
+ import { CatalogHttpError, OfflineError, libraryDirMissing, missingLibraryDirMessage, cloneOrInitGitRepo, trackOriginBranch, stampManifestPublisher, addMissingEntryVersions, isGitRepo, ensureGitRepo, conflictingAssetRoot, scanUnlistedAssets, setManifestPublisher, LIBRARY_OWNERSHIPS, assertManifestEditable, installLibraryAsset, getStoreManifestsDir, assertValidLibraryName, unparsableAssetFiles, missingRootAssets, syncManifestWithDisk, renamedLibraryName, storeManifestFile, getDefaultValue, isSecretPlaceholder } from '../chunk-7FXOOUOC.js';
66
+ import { flowFileNameError, SEMVER_RE } from '../chunk-DRUAQ7IY.js';
67
67
  import '../chunk-CVUMZTNO.js';
68
68
  import '../chunk-F3D25RGM.js';
69
69
  import '../chunk-3TXEJN4W.js';
@@ -71,12 +71,12 @@ import '../chunk-ISHJITXJ.js';
71
71
  import '../chunk-LNFKL23K.js';
72
72
  import '../chunk-JRN5QF4C.js';
73
73
  import '../chunk-NUELZWCF.js';
74
- import { installTargetOf, SCAFFOLD_KINDS } from '../chunk-KRL53RZB.js';
74
+ import { installTargetOf, SCAFFOLD_KINDS } from '../chunk-7LJUK5JK.js';
75
75
  import '../chunk-PKE3PXOK.js';
76
76
  import '../chunk-LKBRBVVS.js';
77
77
  import '../chunk-UQ6LFBPZ.js';
78
- import { CODEX_IDENTITY_DIR } from '../chunk-R3ZNAPBV.js';
79
- import { effectiveComposes, validatePreset, validateAgent, composeSlotDiagnostics, agentDeprecationDiagnostics, SLOT_ID_PATTERN } from '../chunk-WS3BOCAT.js';
78
+ import { CODEX_IDENTITY_DIR } from '../chunk-7VBD5XUM.js';
79
+ import { effectiveComposes, validatePreset, validateAgent, composeSlotDiagnostics, agentDeprecationDiagnostics, SLOT_ID_PATTERN } from '../chunk-LCXQ4LVP.js';
80
80
  import { LockParseError, loadSettings, globalSettingsPath, resolveSettings, projectSettingsPath, saveSettings, WorkspaceYamlEditor, readLock, resolveLibraryDir, checkAgentSkillConformance, resolveSettingsWithSources, resolveConfiguredHarnessName, FACTORY_SOURCE_URL, globalInstallDir, GLOBAL_INSTALL_DIR_NAME, workspaceProviderRegistryPath, userProviderRegistryPath, loadProviderRegistryFile, aiResourceRoots } from '../chunk-MEU2HHGV.js';
81
81
  import '../chunk-4GY63JU6.js';
82
82
  import { factoryAssetRoots } from '../chunk-CJO3XKO7.js';
@@ -239,7 +239,7 @@ async function runSearch(kind, query, opts) {
239
239
  }
240
240
  }
241
241
  async function searchIndex(query, kind, projectDir) {
242
- const { openLibrary: openLibrary2 } = await import('../open-library-OJREQ22B.js');
242
+ const { openLibrary: openLibrary2 } = await import('../open-library-K6O6OVW5.js');
243
243
  const library = await openLibrary2();
244
244
  try {
245
245
  const { libraryDirMissing: libraryDirMissing2 } = await import('../library/index.js');
@@ -415,14 +415,14 @@ async function withAddVersions(entries, projectDir) {
415
415
  }
416
416
  async function searchLocal(query, kind, opts, showStore, airGapped) {
417
417
  const projectDir = path19__default.resolve(opts.projectDir);
418
- const { restoreSourceReaders } = await import('../source-P6ZFSSZZ.js');
418
+ const { restoreSourceReaders } = await import('../source-O7XXDX55.js');
419
419
  for (const name of await restoreSourceReaders(projectDir)) {
420
420
  logInfo(`Re-registered source "${name}" (its library entry was removed elsewhere).`);
421
421
  }
422
422
  const factory = await searchFactory(projectDir, query, kind);
423
423
  let entries = unionEntries(await searchIndex(query, kind, projectDir), factory);
424
424
  if (entries.length === 0 && !query && !kind && !airGapped) {
425
- const { autoSyncForSearch } = await import('../source-P6ZFSSZZ.js');
425
+ const { autoSyncForSearch } = await import('../source-O7XXDX55.js');
426
426
  if (await autoSyncForSearch(projectDir)) {
427
427
  entries = unionEntries(await searchIndex(query, kind, projectDir), factory);
428
428
  }
@@ -542,7 +542,7 @@ async function searchStore(query, kind, opts, airGapped) {
542
542
  logInfo("air-gapped (cache_ttl: 0) \u2014 local sources only");
543
543
  return "skipped";
544
544
  }
545
- const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-OJREQ22B.js');
545
+ const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-K6O6OVW5.js');
546
546
  try {
547
547
  const remote = await openCatalogSource2({ projectDir: path19__default.resolve(opts.projectDir) });
548
548
  const assets = await remote.listAssets(kind ? { kind } : {});
@@ -1152,7 +1152,7 @@ async function resolveInfoEntry(am2, ref, opts) {
1152
1152
  return { entry: match ?? deployed, deployed: true };
1153
1153
  }
1154
1154
  const lookup = opts.storeLookup ?? (async (filter) => {
1155
- const { resolveCatalogSource } = await import('../open-library-OJREQ22B.js');
1155
+ const { resolveCatalogSource } = await import('../open-library-K6O6OVW5.js');
1156
1156
  const { source, close } = await resolveCatalogSource({ projectDir: opts.projectDir });
1157
1157
  try {
1158
1158
  return await source.listAssets(filter);
@@ -1168,7 +1168,7 @@ async function resolveInfoEntry(am2, ref, opts) {
1168
1168
  );
1169
1169
  return { entry: hit ? catalogAssetToEntry(hit) : null };
1170
1170
  } catch (err) {
1171
- const { LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-OJREQ22B.js');
1171
+ const { LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-K6O6OVW5.js');
1172
1172
  const storeNote = err instanceof Error ? err.message : String(err);
1173
1173
  const disabled = err instanceof LocalCatalogDisabledError2 || /catalog\.url/i.test(storeNote);
1174
1174
  return { entry: null, storeNote, ...disabled ? { storeDisabled: true } : {} };
@@ -1930,7 +1930,7 @@ function makeCatalogCommand() {
1930
1930
  return catalog;
1931
1931
  }
1932
1932
  async function runLocalCatalogTest(projectDir) {
1933
- const { resolveCatalogSource } = await import('../open-library-OJREQ22B.js');
1933
+ const { resolveCatalogSource } = await import('../open-library-K6O6OVW5.js');
1934
1934
  let resolved;
1935
1935
  try {
1936
1936
  resolved = await resolveCatalogSource({ projectDir });
@@ -2106,7 +2106,7 @@ async function scanLibraryFlowEntries() {
2106
2106
  const { LocalIndex, resolveIndexPath, scanAuthoringLibraries } = await import('../library/index.js');
2107
2107
  const indexPath = resolveIndexPath();
2108
2108
  if (!existsSync(indexPath)) return entries;
2109
- const { getKindRegistry: getKindRegistry2 } = await import('../open-registry-OEU6QUK2.js');
2109
+ const { getKindRegistry: getKindRegistry2 } = await import('../open-registry-4HNCWOCN.js');
2110
2110
  const index = new LocalIndex({ indexPath });
2111
2111
  try {
2112
2112
  for (const { library, assets } of await scanAuthoringLibraries(index, getKindRegistry2())) {
@@ -4970,7 +4970,7 @@ function remoteBranches(url) {
4970
4970
  return r.stdout.split("\n").map((line) => line.split(" ")[1]?.replace(/^refs\/heads\//, "")).filter((b) => !!b);
4971
4971
  }
4972
4972
  async function warnIfNotGithubRemote(name, url) {
4973
- const { isGithubRemote, notGithubRemoteMessage } = await import('../library-publish-DZNNZNMB.js');
4973
+ const { isGithubRemote, notGithubRemoteMessage } = await import('../library-publish-7U4TJNQX.js');
4974
4974
  if (!isGithubRemote(url)) logWarn(notGithubRemoteMessage(name, url));
4975
4975
  }
4976
4976
  function scaffoldLibraryFiles(dir, name) {
@@ -5814,16 +5814,16 @@ function makeLibraryCommand() {
5814
5814
  "With --create-repo: create the repo private (the store only accepts public repos)"
5815
5815
  ).option("--ref <gitref>", "Git ref to ingest (default: the library branch or main)").option("--dry-run", "Print the plan; push nothing and call no store endpoint").action(
5816
5816
  async (lib, opts) => {
5817
- const { runLibraryPublish } = await import('../library-publish-DZNNZNMB.js');
5817
+ const { runLibraryPublish } = await import('../library-publish-7U4TJNQX.js');
5818
5818
  await withStoreErrorHandling(() => runLibraryPublish(lib, opts));
5819
5819
  }
5820
5820
  );
5821
5821
  cmd.command("register <lib>").description("Register the library's manifest without pushing (bytes already on github)").option("--asset <ref>", "Publish only the single asset matching this ref/name").option("--ref <gitref>", "Git ref to ingest (default: the library branch or main)").option("--dry-run", "Print the plan; call no store endpoint").action(async (lib, opts) => {
5822
- const { runLibraryRegister } = await import('../library-publish-DZNNZNMB.js');
5822
+ const { runLibraryRegister } = await import('../library-publish-7U4TJNQX.js');
5823
5823
  await withStoreErrorHandling(() => runLibraryRegister(lib, opts));
5824
5824
  });
5825
5825
  cmd.command("yank <lib>").description("Retract the library's published assets from the store").option("--asset <ref>", "Yank only the single asset matching this ref/name").action(async (lib, opts) => {
5826
- const { runLibraryYank } = await import('../library-publish-DZNNZNMB.js');
5826
+ const { runLibraryYank } = await import('../library-publish-7U4TJNQX.js');
5827
5827
  await withStoreErrorHandling(() => runLibraryYank(lib, opts));
5828
5828
  });
5829
5829
  return cmd;
@@ -6483,7 +6483,7 @@ function scheduleSoftDepPreview() {
6483
6483
  }
6484
6484
  async function loadAssets() {
6485
6485
  softDepPreviewCache.clear();
6486
- const { gatherAssetFeeds } = await import('../asset-feeds-UG3PG423.js');
6486
+ const { gatherAssetFeeds } = await import('../asset-feeds-PO2WC75V.js');
6487
6487
  const { entries, notes } = await gatherAssetFeeds(am, am.projectDir);
6488
6488
  if (notes.length > 0) {
6489
6489
  state.message = notes.map((n) => `[${n.feed}] ${n.message}`).join(" \u2022 ");
@@ -6687,7 +6687,7 @@ function reconcileCollapsedSets(rows) {
6687
6687
  async function loadSourcesAndLibraries() {
6688
6688
  try {
6689
6689
  const [{ openLibraryManager: openLibraryManager2 }, { getGlobalCacheDir: getGlobalCacheDir2, globalSkaileDir: globalSkaileDir2 }] = await Promise.all([
6690
- import('../open-library-OJREQ22B.js'),
6690
+ import('../open-library-K6O6OVW5.js'),
6691
6691
  import('../core/index.js')
6692
6692
  ]);
6693
6693
  const { manager, library, close } = await openLibraryManager2();
@@ -11626,7 +11626,7 @@ function makeServeCommand() {
11626
11626
  process.exitCode = 1;
11627
11627
  return;
11628
11628
  }
11629
- const dirProblem = (await import('../serve-preflight-HOQ7CGYR.js')).checkServeProjectDir(
11629
+ const dirProblem = (await import('../serve-preflight-E3IEZTTF.js')).checkServeProjectDir(
11630
11630
  opts.projectDir
11631
11631
  );
11632
11632
  if (dirProblem) {
@@ -11655,7 +11655,7 @@ function makeServeCommand() {
11655
11655
  }
11656
11656
  let providers = parseProviderIds(opts.providers);
11657
11657
  if (!managedCodex) {
11658
- const { resolveServeProvider } = await import('../serve-preflight-HOQ7CGYR.js');
11658
+ const { resolveServeProvider } = await import('../serve-preflight-E3IEZTTF.js');
11659
11659
  const picked = resolveServeProvider(opts.projectDir, opts.provider, providers);
11660
11660
  if ("problem" in picked) {
11661
11661
  logErr(picked.problem);
@@ -11665,8 +11665,8 @@ function makeServeCommand() {
11665
11665
  providers = [...picked.providers];
11666
11666
  }
11667
11667
  const modelEndpoint = parseModelEndpointFlag(opts.modelEndpoint, opts.modelEndpointAgent);
11668
- const { checkHarnessSdk: checkHarnessSdk2, checkModelEndpointPeer, checkServeModel } = await import('../serve-preflight-HOQ7CGYR.js');
11669
- const { checkServeHarness, checkServeAgents, checkServeConnectors } = await import('../serve-preflight-HOQ7CGYR.js');
11668
+ const { checkHarnessSdk: checkHarnessSdk2, checkModelEndpointPeer, checkServeModel } = await import('../serve-preflight-E3IEZTTF.js');
11669
+ const { checkServeHarness, checkServeAgents, checkServeConnectors } = await import('../serve-preflight-E3IEZTTF.js');
11670
11670
  const startProblem = managedCodex ? null : await checkServeHarness(opts.projectDir, opts.harness) ?? checkServeAgents(opts.projectDir) ?? await checkServeConnectors(opts.projectDir);
11671
11671
  if (startProblem) {
11672
11672
  logErr(startProblem);
@@ -11733,7 +11733,7 @@ function makeServeCommand() {
11733
11733
  );
11734
11734
  }
11735
11735
  async function ensurePluginsLoadedForServe(projectDir) {
11736
- const { logInfo: logInfo2, logWarn: logWarn2 } = await import('../helpers-JL5AEGDT.js');
11736
+ const { logInfo: logInfo2, logWarn: logWarn2 } = await import('../helpers-S6AQGXRH.js');
11737
11737
  try {
11738
11738
  const { resolveSkWorkspaceConfig: resolveSkWorkspaceConfig2 } = await import('../core/index.js');
11739
11739
  const config = resolveSkWorkspaceConfig2(projectDir);
@@ -11752,7 +11752,7 @@ async function ensurePluginsLoadedForServe(projectDir) {
11752
11752
  }
11753
11753
  }
11754
11754
  async function runCompileTest(opts) {
11755
- const { logOk: logOk2, logErr: logErr2, logInfo: logInfo2, S: S2 } = await import('../helpers-JL5AEGDT.js');
11755
+ const { logOk: logOk2, logErr: logErr2, logInfo: logInfo2, S: S2 } = await import('../helpers-S6AQGXRH.js');
11756
11756
  const { tmpdir } = await import('os');
11757
11757
  const { dirname: dirname3, join: join6, resolve: resolve4 } = await import('path');
11758
11758
  const { fileURLToPath: fileURLToPath2 } = await import('url');
@@ -12719,8 +12719,8 @@ function makeStoreCommand() {
12719
12719
  "--all",
12720
12720
  `List every match (default: ${STORE_ROW_LIMIT} rows, only what \`skaile add\` can install)`
12721
12721
  ).option("-C, --project-dir <dir>", "Project directory (catalog config overlay)", process.cwd()).action(async (query, opts) => {
12722
- const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-OJREQ22B.js');
12723
- const { getKnownKinds: getKnownKinds2 } = await import('../open-registry-OEU6QUK2.js');
12722
+ const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-K6O6OVW5.js');
12723
+ const { getKnownKinds: getKnownKinds2 } = await import('../open-registry-4HNCWOCN.js');
12724
12724
  const projectDir = path19__default.resolve(opts.projectDir);
12725
12725
  if (opts.kind && !getKnownKinds2().has(opts.kind)) {
12726
12726
  logErr(
@@ -12778,8 +12778,8 @@ function makeStoreCommand() {
12778
12778
  }
12779
12779
  });
12780
12780
  store.command("show <ref>").description("Show a store asset's details + provenance (source, files, integrity)").option("-C, --project-dir <dir>", "Project directory (catalog config overlay)", process.cwd()).action(async (ref, opts) => {
12781
- const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-OJREQ22B.js');
12782
- const { supportsInstallManifest: supportsInstallManifest2 } = await import('../project-52UABBD5.js');
12781
+ const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-K6O6OVW5.js');
12782
+ const { supportsInstallManifest: supportsInstallManifest2 } = await import('../project-ZWIZZIUT.js');
12783
12783
  try {
12784
12784
  parseAssetRef(ref);
12785
12785
  } catch (e) {
@@ -13762,7 +13762,7 @@ async function bootstrapUserConfig() {
13762
13762
  }
13763
13763
  async function hydrateInitSources(resolved, created) {
13764
13764
  try {
13765
- const { ensureSourcesCloned } = await import('../ensure-sources-MOGLBEUF.js');
13765
+ const { ensureSourcesCloned } = await import('../ensure-sources-Q2TTZVLX.js');
13766
13766
  const hydrate = ensureSourcesCloned(resolved, { quiet: true });
13767
13767
  for (const n of hydrate.cloned) created.push(`~/.skaile/cache/sources/${n}/`);
13768
13768
  if (hydrate.failed.length > 0) {
@@ -13803,7 +13803,7 @@ function printInitSummary(resolved, projectDir, created) {
13803
13803
  }
13804
13804
  program.hook("preAction", (_program, actionCommand) => setActiveCommand(actionCommand));
13805
13805
  program.command("setup").description("Interactive provider setup wizard").action(async () => {
13806
- const { cmdSetup } = await import('../setup-JIDZ372C.js');
13806
+ const { cmdSetup } = await import('../setup-V4EXOMVQ.js');
13807
13807
  await cmdSetup([], { projectDir: process.cwd() });
13808
13808
  });
13809
13809
  program.addCommand(makeInstallCommand());
@@ -13884,7 +13884,7 @@ program.hook("postAction", async (_thisCommand, actionCommand) => {
13884
13884
  const opts = actionCommand.opts();
13885
13885
  if (opts.global || opts.dryRun) return;
13886
13886
  const projectDir = path19__default.resolve(opts.projectDir ?? process.cwd());
13887
- const { refreshPluginSkills } = await import('../claude-code-CMFGCDMX.js');
13887
+ const { refreshPluginSkills } = await import('../claude-code-TDMSETH6.js');
13888
13888
  try {
13889
13889
  if (await refreshPluginSkills(projectDir)) {
13890
13890
  logInfo(`Updated ${S.cmd(".claude/plugins/skaile/skills")} (the --full plugin copy)`);
@@ -1,4 +1,4 @@
1
- export { AgentClient } from '../chunk-XDVR7QIT.js';
1
+ export { AgentClient } from '../chunk-QC4Q7PMQ.js';
2
2
  import '../chunk-NSBPE2FW.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -48,10 +48,13 @@ export declare class AgentClient implements IAgentRuntime {
48
48
  * Send a user message to the agent. `platformBlocks` and `toolAllowlist` are
49
49
  * host-only fields (see `PlatformBlock`); send them only to a runner that
50
50
  * announced `PLATFORM_BLOCKS_RUNTIME_FEATURE`, since an older one ignores them.
51
+ * `turnId` is the host's id for the turn, echoed on its events by a runner
52
+ * that announced `TURN_IDS_RUNTIME_FEATURE`.
51
53
  */
52
54
  prompt(message: string, opts?: {
53
55
  platformBlocks?: PlatformBlock[];
54
56
  toolAllowlist?: string[];
57
+ turnId?: string;
55
58
  }): Promise<void>;
56
59
  promptInput(input: AgentPromptInput): Promise<void>;
57
60
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../client/src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACd,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,WAAY,YAAW,aAAa;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0C;IACnE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAa;gBAEhC,SAAS,EAAE,eAAe;IAStC,oEAAoE;IAC9D,KAAK,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtD;;;;;;OAMG;IAEG,SAAS,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,6CAA6C;IAC7C,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAIjC;;;;OAIG;IACG,MAAM,CACV,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GACpE,OAAO,CAAC,IAAI,CAAC;IASV,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IASzD;;;;OAIG;IACG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASjF,oCAAoC;IAC9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,oDAAoD;IAC9C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAM9B;;;;;;OAMG;IAEH,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIrE,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IAInD,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IAIpD,IAAI,SAAS,IAAI,OAAO,CAEvB;CACF"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../client/src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACd,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,WAAY,YAAW,aAAa;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0C;IACnE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAa;gBAEhC,SAAS,EAAE,eAAe;IAStC,oEAAoE;IAC9D,KAAK,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtD;;;;;;OAMG;IAEG,SAAS,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,6CAA6C;IAC7C,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAIjC;;;;;;OAMG;IACG,MAAM,CACV,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GACrF,OAAO,CAAC,IAAI,CAAC;IAUV,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IASzD;;;;OAIG;IACG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASjF,oCAAoC;IAC9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,oDAAoD;IAC9C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAM9B;;;;;;OAMG;IAEH,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIrE,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IAInD,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IAIpD,IAAI,SAAS,IAAI,OAAO,CAEvB;CACF"}
@@ -1,20 +1,20 @@
1
- export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, CONNECT_FAILURE_CARRY_OVER_TTL_MS, ConnectFailureCarryOver, ConnectorConnectingError, ConnectorManager, FleetMountConnectingError, FlowAdapter, LogBuffer, ManagedGitconfigCollisionError, NO_ACTIVE_FLOW_ERROR, PortPool, TRUSTED_GIT_CA_ENV, atomicReplaceCredential, buildConnectorListPayload, buildConnectorPromptSection, buildLazyFlowToolDefs, buildLazySdkFlowTools, buildSdkConnectorTools, buildSdkFlowTools, checkFleetMountLiveness, classifyConnectError, createFsWatcher, createWorktree, defaultSpawn, ensureDirMode, ensureFleetMounted, ensureRefreshAttemptStamp, findGitRoot, findMissingPackages, fleetMountConnectingMessage, getConnector, installNpmPackages, isFleetManaged, isFleetMountConnectingError, isPackageResolvable, listConnectors, listWorktrees, missingTokenMediatorMessage, registerBuiltinConnectors, removeMountBlock, removeUnavailableMountBlock, renderCredentialHelperScript, resolveAccessPolicy, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock, writeUnavailableMountBlock, writeUserGitconfigInclude } from '../chunk-SKG6G4HO.js';
2
- export { CONNECT_ERROR_KIND_PROPERTY, ClassifiedConnectError, declaredConnectErrorKind, withConnectErrorKind } from '../chunk-BRPEW3UL.js';
1
+ export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, CONNECT_FAILURE_CARRY_OVER_TTL_MS, ConnectFailureCarryOver, ConnectorConnectingError, ConnectorManager, FleetMountConnectingError, FlowAdapter, LogBuffer, ManagedGitconfigCollisionError, NO_ACTIVE_FLOW_ERROR, PortPool, TRUSTED_GIT_CA_ENV, atomicReplaceCredential, buildConnectorListPayload, buildConnectorPromptSection, buildLazyFlowToolDefs, buildLazySdkFlowTools, buildSdkConnectorTools, buildSdkFlowTools, checkFleetMountLiveness, classifyConnectError, createFsWatcher, createWorktree, defaultSpawn, ensureDirMode, ensureFleetMounted, ensureRefreshAttemptStamp, findGitRoot, findMissingPackages, fleetMountConnectingMessage, getConnector, installNpmPackages, isFleetManaged, isFleetMountConnectingError, isPackageResolvable, listConnectors, listWorktrees, missingTokenMediatorMessage, registerBuiltinConnectors, removeMountBlock, removeUnavailableMountBlock, renderCredentialHelperScript, resolveAccessPolicy, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock, writeUnavailableMountBlock, writeUserGitconfigInclude } from '../chunk-UHTCOYFJ.js';
2
+ export { CONNECT_ERROR_KIND_PROPERTY, ClassifiedConnectError, declaredConnectErrorKind, withConnectErrorKind } from '../chunk-GYRIO6RA.js';
3
3
  export { ConnectorFieldMissingError, ConnectorStartupError, EnvSecretProvider, ForgeSecretProvider, InMemorySecretProvider, LegacyAuthGrammarError, LockedSecretProvider, OAuthRequiredError, PreMintedSecretProvider, SecretProviderChain, createCliSecretProviderChain, createForgeSecretProviderChain, deriveSingleMaterializedConnectorDeclaration, fromMaterializedConnectorMd, isKnownSecretRef, loadConnectorDeclarations, loadMaterializedConnectorDeclarations, loadYamlConnectorDeclarations, readUnavailableMarker, resolveAuthRef, resolveBackendAuthFor, resolvedConfigToDeclarations, withMaterializedConnectorDeclarations } from '../chunk-SBAUZ7XH.js';
4
- import '../chunk-NTFP2XF4.js';
5
- import '../chunk-JDZUQFN7.js';
6
- import '../chunk-PSPFWTJI.js';
7
- import '../chunk-HLFLET7S.js';
4
+ import '../chunk-45XL75RO.js';
5
+ import '../chunk-4NJVF3DV.js';
6
+ import '../chunk-MRTOKIEJ.js';
7
+ import '../chunk-WCHGUS7X.js';
8
8
  import '../chunk-5KSGZP3E.js';
9
9
  import '../chunk-7EKQDY2T.js';
10
- import '../chunk-YEOG7CWQ.js';
11
- import '../chunk-3AIEJSQR.js';
10
+ import '../chunk-7ZL23M3X.js';
11
+ import '../chunk-ESUF2ZYT.js';
12
12
  import '../chunk-WWSRIT3J.js';
13
- import '../chunk-RTFH2QR2.js';
13
+ import '../chunk-CLMIZ4N6.js';
14
14
  import '../chunk-5DE3DGVR.js';
15
15
  import '../chunk-7DN6JKP2.js';
16
- import '../chunk-NFFBYG2W.js';
17
- import '../chunk-KE5HDORU.js';
16
+ import '../chunk-PZS55HOX.js';
17
+ import '../chunk-S6NS3I3P.js';
18
18
  import '../chunk-G5SUWZEU.js';
19
19
  import '../chunk-CG63XGVV.js';
20
20
  import '../chunk-6UP2EDFN.js';
@@ -22,11 +22,11 @@ import '../chunk-IFGTRL2I.js';
22
22
  import '../chunk-WDG5IVEA.js';
23
23
  import '../chunk-WD3L5QSU.js';
24
24
  import '../chunk-7RGTAEG6.js';
25
- import '../chunk-7NN3P6VF.js';
25
+ import '../chunk-342UX2MG.js';
26
26
  import '../chunk-LNFKL23K.js';
27
27
  import '../chunk-JRN5QF4C.js';
28
28
  import '../chunk-NUELZWCF.js';
29
- import '../chunk-WS3BOCAT.js';
29
+ import '../chunk-LCXQ4LVP.js';
30
30
  import '../chunk-MEU2HHGV.js';
31
31
  import '../chunk-4GY63JU6.js';
32
32
  import '../chunk-CJO3XKO7.js';