@skaile/workspaces 4.36.0 → 4.37.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 (137) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/app-sdk/index.js +1 -1
  3. package/dist/{asset-feeds-SJELMLNK.js → asset-feeds-KTRFFJYM.js} +4 -4
  4. package/dist/{asset-feeds-SJELMLNK.js.map → asset-feeds-KTRFFJYM.js.map} +1 -1
  5. package/dist/asset-manager/index.js +1 -1
  6. package/dist/bridge/drivers/claude-sdk.js +4 -4
  7. package/dist/bridge/drivers/codex.js +2 -2
  8. package/dist/bridge/drivers/continue.js +3 -3
  9. package/dist/bridge/drivers/echo.js +3 -3
  10. package/dist/bridge/drivers/gemini.js +5 -5
  11. package/dist/bridge/drivers/goose.js +3 -3
  12. package/dist/bridge/drivers/omp.js +4 -4
  13. package/dist/bridge/drivers/opencode.js +3 -3
  14. package/dist/bridge/drivers/qwen.js +5 -5
  15. package/dist/bridge/index.js +5 -5
  16. package/dist/{chunk-ZWTCXL3H.js → chunk-2QYQOJ2F.js} +3 -3
  17. package/dist/{chunk-ZWTCXL3H.js.map → chunk-2QYQOJ2F.js.map} +1 -1
  18. package/dist/{chunk-3VUHHDZW.js → chunk-5SGS5SN2.js} +4 -4
  19. package/dist/{chunk-3VUHHDZW.js.map → chunk-5SGS5SN2.js.map} +1 -1
  20. package/dist/{chunk-YOIENZHA.js → chunk-7YCPY6NC.js} +6 -6
  21. package/dist/{chunk-YOIENZHA.js.map → chunk-7YCPY6NC.js.map} +1 -1
  22. package/dist/{chunk-LIS5KT2X.js → chunk-A5RRXBLI.js} +3 -3
  23. package/dist/{chunk-LIS5KT2X.js.map → chunk-A5RRXBLI.js.map} +1 -1
  24. package/dist/{chunk-TILISP6X.js → chunk-ENXE4BKS.js} +2 -2
  25. package/dist/{chunk-TILISP6X.js.map → chunk-ENXE4BKS.js.map} +1 -1
  26. package/dist/{chunk-Q7SIVPM2.js → chunk-FZFCOQTI.js} +3 -3
  27. package/dist/{chunk-Q7SIVPM2.js.map → chunk-FZFCOQTI.js.map} +1 -1
  28. package/dist/{chunk-5L55HNNA.js → chunk-KN5Y5BXK.js} +4 -4
  29. package/dist/{chunk-5L55HNNA.js.map → chunk-KN5Y5BXK.js.map} +1 -1
  30. package/dist/{chunk-L22WTIIC.js → chunk-L7R52OOV.js} +3 -3
  31. package/dist/{chunk-L22WTIIC.js.map → chunk-L7R52OOV.js.map} +1 -1
  32. package/dist/{chunk-422WJ2QC.js → chunk-MIRWAK5C.js} +3 -3
  33. package/dist/{chunk-422WJ2QC.js.map → chunk-MIRWAK5C.js.map} +1 -1
  34. package/dist/{chunk-JRSLMZOT.js → chunk-OKGUDNDT.js} +37 -7
  35. package/dist/chunk-OKGUDNDT.js.map +1 -0
  36. package/dist/{chunk-LVRKJW53.js → chunk-OPBGV4DX.js} +10 -3
  37. package/dist/chunk-OPBGV4DX.js.map +1 -0
  38. package/dist/{chunk-PKGI5QG7.js → chunk-R2SYODNK.js} +2 -2
  39. package/dist/{chunk-PKGI5QG7.js.map → chunk-R2SYODNK.js.map} +1 -1
  40. package/dist/{chunk-TTITGVXV.js → chunk-RZXP5ZER.js} +3 -3
  41. package/dist/{chunk-TTITGVXV.js.map → chunk-RZXP5ZER.js.map} +1 -1
  42. package/dist/{chunk-3CLUU45N.js → chunk-SGMCSVTO.js} +3 -3
  43. package/dist/{chunk-3CLUU45N.js.map → chunk-SGMCSVTO.js.map} +1 -1
  44. package/dist/{chunk-FQE2NBUH.js → chunk-SOFPA4S4.js} +6 -6
  45. package/dist/{chunk-FQE2NBUH.js.map → chunk-SOFPA4S4.js.map} +1 -1
  46. package/dist/{chunk-NVNKPWL4.js → chunk-U4CNCL7Q.js} +6 -6
  47. package/dist/{chunk-NVNKPWL4.js.map → chunk-U4CNCL7Q.js.map} +1 -1
  48. package/dist/{chunk-O63QZ6XX.js → chunk-UFBURH6K.js} +3 -3
  49. package/dist/{chunk-O63QZ6XX.js.map → chunk-UFBURH6K.js.map} +1 -1
  50. package/dist/{chunk-KVDXSEQH.js → chunk-USJWXEXS.js} +68 -32
  51. package/dist/chunk-USJWXEXS.js.map +1 -0
  52. package/dist/{chunk-NKYNDLCB.js → chunk-UTZEHXYT.js} +3 -3
  53. package/dist/{chunk-NKYNDLCB.js.map → chunk-UTZEHXYT.js.map} +1 -1
  54. package/dist/{chunk-JS7DCCDA.js → chunk-V2OQ3BI6.js} +4 -4
  55. package/dist/chunk-V2OQ3BI6.js.map +1 -0
  56. package/dist/{chunk-MQU632EK.js → chunk-WQULDAH2.js} +2 -2
  57. package/dist/{chunk-MQU632EK.js.map → chunk-WQULDAH2.js.map} +1 -1
  58. package/dist/{chunk-FWZTKSYI.js → chunk-WTBXGJCD.js} +7 -7
  59. package/dist/{chunk-FWZTKSYI.js.map → chunk-WTBXGJCD.js.map} +1 -1
  60. package/dist/{chunk-5JJ5KQUM.js → chunk-YU433JEL.js} +3 -3
  61. package/dist/{chunk-5JJ5KQUM.js.map → chunk-YU433JEL.js.map} +1 -1
  62. package/dist/cli/index.js +35 -35
  63. package/dist/connectors/index.js +7 -7
  64. package/dist/connectors-shared/index.js +2 -2
  65. package/dist/{ensure-sources-SYZO2HNP.js → ensure-sources-IGU65O72.js} +4 -4
  66. package/dist/{ensure-sources-SYZO2HNP.js.map → ensure-sources-IGU65O72.js.map} +1 -1
  67. package/dist/factory-assets/connectors/box.js +7 -7
  68. package/dist/factory-assets/connectors/deploy.js +7 -7
  69. package/dist/factory-assets/connectors/devserver.js +7 -7
  70. package/dist/factory-assets/connectors/flow/adapter.js +7 -7
  71. package/dist/factory-assets/connectors/flow/run-flow.js +8 -8
  72. package/dist/factory-assets/connectors/flow.js +7 -7
  73. package/dist/factory-assets/connectors/git.js +7 -7
  74. package/dist/factory-assets/connectors/gmail.js +7 -7
  75. package/dist/factory-assets/connectors/googledrive.js +7 -7
  76. package/dist/factory-assets/connectors/local.js +7 -7
  77. package/dist/factory-assets/connectors/mattermost.js +7 -7
  78. package/dist/factory-assets/connectors/memory.js +7 -7
  79. package/dist/factory-assets/connectors/minio.js +7 -7
  80. package/dist/factory-assets/connectors/postgres.js +7 -7
  81. package/dist/factory-assets/connectors/s3.js +7 -7
  82. package/dist/factory-assets/connectors/sharepoint.js +7 -7
  83. package/dist/factory-assets/connectors/sqlite.js +7 -7
  84. package/dist/factory-assets/connectors/static-server.js +7 -7
  85. package/dist/factory-assets/connectors/tunnel.js +7 -7
  86. package/dist/factory-assets/connectors/webdav.js +7 -7
  87. package/dist/factory-assets/connectors/xstate-store.js +7 -7
  88. package/dist/factory-assets/connectors/xstate.js +7 -7
  89. package/dist/{helpers-IMUCDNME.js → helpers-IELIL4YR.js} +4 -4
  90. package/dist/{helpers-IMUCDNME.js.map → helpers-IELIL4YR.js.map} +1 -1
  91. package/dist/{library-publish-XAIAHKRL.js → library-publish-YKBYHZ43.js} +6 -6
  92. package/dist/{library-publish-XAIAHKRL.js.map → library-publish-YKBYHZ43.js.map} +1 -1
  93. package/dist/{open-library-6N3XZ2XL.js → open-library-ULRYWTEA.js} +5 -5
  94. package/dist/{open-library-6N3XZ2XL.js.map → open-library-ULRYWTEA.js.map} +1 -1
  95. package/dist/{project-HESTMGPU.js → project-VKYNDEB6.js} +5 -5
  96. package/dist/{project-HESTMGPU.js.map → project-VKYNDEB6.js.map} +1 -1
  97. package/dist/runner/index.js +11 -11
  98. package/dist/runner/src/prompt-turn-queue.d.ts +27 -4
  99. package/dist/runner/src/prompt-turn-queue.d.ts.map +1 -1
  100. package/dist/runner/src/serve.d.ts.map +1 -1
  101. package/dist/sdk/asset-manager.js +1 -1
  102. package/dist/sdk/bridge.js +5 -5
  103. package/dist/sdk/index.js +11 -11
  104. package/dist/sdk/runner.js +11 -11
  105. package/dist/sdk/session.js +2 -2
  106. package/dist/sdk/store.js +1 -1
  107. package/dist/sdk/types.js +1 -1
  108. package/dist/session/index.js +2 -2
  109. package/dist/session/src/dispatcher.d.ts.map +1 -1
  110. package/dist/{setup-PQG5DH5Z.js → setup-INJFK3VJ.js} +10 -10
  111. package/dist/{setup-PQG5DH5Z.js.map → setup-INJFK3VJ.js.map} +1 -1
  112. package/dist/{source-PNYNVVPM.js → source-IZXICUBU.js} +6 -6
  113. package/dist/{source-PNYNVVPM.js.map → source-IZXICUBU.js.map} +1 -1
  114. package/dist/{source-manifest-publish-6O6H4T2P.js → source-manifest-publish-4JHOT4PA.js} +7 -7
  115. package/dist/{source-manifest-publish-6O6H4T2P.js.map → source-manifest-publish-4JHOT4PA.js.map} +1 -1
  116. package/dist/store/index.js +1 -1
  117. package/dist/store/src/store.d.ts +9 -0
  118. package/dist/store/src/store.d.ts.map +1 -1
  119. package/dist/store/src/types.d.ts +17 -0
  120. package/dist/store/src/types.d.ts.map +1 -1
  121. package/dist/tui/index.js +11 -11
  122. package/dist/types/index.js +1 -1
  123. package/dist/types/src/events.d.ts +24 -1
  124. package/dist/types/src/events.d.ts.map +1 -1
  125. package/dist/types/src/index.d.ts +1 -1
  126. package/dist/types/src/index.d.ts.map +1 -1
  127. package/dist/types/src/protocol.d.ts +2 -0
  128. package/dist/types/src/protocol.d.ts.map +1 -1
  129. package/dist/types/src/version.d.ts +12 -1
  130. package/dist/types/src/version.d.ts.map +1 -1
  131. package/dist/workspace-plugin/adapters/mcp.js +2 -2
  132. package/dist/workspace-plugin/index.js +1 -1
  133. package/package.json +1 -1
  134. package/dist/chunk-JRSLMZOT.js.map +0 -1
  135. package/dist/chunk-JS7DCCDA.js.map +0 -1
  136. package/dist/chunk-KVDXSEQH.js.map +0 -1
  137. package/dist/chunk-LVRKJW53.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { logErr } from './chunk-L22WTIIC.js';
1
+ import { logErr } from './chunk-L7R52OOV.js';
2
2
  import { flowKindProvider } from './chunk-FLGLODDF.js';
3
3
  import { knowledgeKindProvider } from './chunk-BSIHJZKN.js';
4
4
  import { createDefaultRegistry } from './chunk-DFZDL62S.js';
@@ -103,5 +103,5 @@ async function openLibraryManager() {
103
103
  }
104
104
 
105
105
  export { LocalCatalogDisabledError, createFullRegistry, openCatalogSource, openLibrary, openLibraryManager, resolveCatalogSource };
106
- //# sourceMappingURL=chunk-5JJ5KQUM.js.map
107
- //# sourceMappingURL=chunk-5JJ5KQUM.js.map
106
+ //# sourceMappingURL=chunk-YU433JEL.js.map
107
+ //# sourceMappingURL=chunk-YU433JEL.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../cli/src/open-registry.ts","../cli/src/open-library.ts"],"names":["source"],"mappings":"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","file":"chunk-5JJ5KQUM.js","sourcesContent":["/**\n * open-registry.ts — shared helper to create a full AssetKindRegistry.\n *\n * Bootstraps the registry with all built-in providers (9 core + preset)\n * from @skaile/discovery, plus the extension kind providers (flow from\n * @skaile/workspaces/factory-assets/connectors/flow/engine, knowledge from @skaile/library).\n *\n * This is the single registration point for the CLI. All code paths\n * that need a registry (source sync, lib-status, etc.) should use this.\n */\n\nimport type { AssetKindRegistry } from \"@skaile/workspaces/discovery\";\nimport { createDefaultRegistry } from \"@skaile/workspaces/discovery\";\nimport { flowKindProvider } from \"@skaile/workspaces/factory-assets/connectors/flow/engine\";\nimport { knowledgeKindProvider } from \"@skaile/workspaces/library\";\n\n/**\n * Create a fully-configured AssetKindRegistry with all known providers.\n *\n * Registers:\n * - 9 core kinds (skill, agent, connector, mount, mcp-server, contract, prompt, persona, ruleset)\n * - preset (composition entity)\n * - flow (extension, from @skaile/workspaces/factory-assets/connectors/flow/engine)\n * - knowledge (extension, from @skaile/library)\n *\n * @returns An unfrozen registry (auto-freezes on first read)\n */\nexport function createFullRegistry(): AssetKindRegistry {\n const registry = createDefaultRegistry();\n registry.register(flowKindProvider);\n registry.register(knowledgeKindProvider);\n return registry;\n}\n","/**\n * open-library.ts — shared helpers to open the LocalIndex and the configured\n * Catalog source.\n *\n * Lazy-loads the `@skaile/workspaces/library` subpath and returns the\n * LocalIndex instance (backed by `@libsql/client`; runs on Node and Bun).\n * The catalog-source helper reads\n * `~/.skaile/config.yaml` (and project-level overlay if `projectDir` is given)\n * to decide between {@link RemoteCatalogSource} (default — points at\n * `https://skaile.store`) and a {@link LocalCatalogSource} bound to the most\n * recent local library registered via `skaile source add`.\n */\n\nimport { logErr } from \"./helpers.ts\";\nimport { createFullRegistry } from \"./open-registry.ts\";\n\n/** Thrown by {@link openCatalogSource} when `catalog.url` is the `local` sentinel. */\nexport class LocalCatalogDisabledError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"LocalCatalogDisabledError\";\n }\n}\n\n/**\n * Open the LocalIndex with the full kind registry. Exits with code 1\n * if the library directory cannot be created.\n *\n * @returns A `LocalIndex` instance ready for use.\n * @docLink cli/dev-guide#open-library\n */\nexport async function openLibrary() {\n try {\n const { LocalIndex } = await import(\"@skaile/workspaces/library\");\n return new LocalIndex({ kindRegistry: createFullRegistry() });\n } catch (err) {\n logErr(`Could not open LocalIndex: ${err instanceof Error ? err.message : String(err)}`);\n process.exit(1);\n }\n}\n\n/**\n * Resolve the configured **remote** Catalog source for the CLI.\n *\n * Reads `~/.skaile/config.yaml` (plus the optional project-level overlay) and\n * returns a {@link RemoteCatalogSource} pointing at `catalog.url` (default:\n * `https://skaile.store`). The `cache_ttl: 0` config flag flips the source\n * into air-gapped mode: network reads are disabled, only `skaile update`\n * performs refreshes.\n *\n * **Local-mode rejection.** If the resolved config has `catalog.url: local`\n * this helper throws — callers wanting the dispatched local-or-remote source\n * must use {@link resolveCatalogSource}. Remote-only consumers like\n * `skaile update --catalog-only` rely on this strict behaviour.\n *\n * @param opts - Project directory (overlays project config) and explicit overrides.\n * @returns A configured {@link RemoteCatalogSource}.\n * @throws When `catalog.url` is the `local` sentinel.\n * @docLink cli/dev-guide#open-library\n */\nexport async function openCatalogSource(opts?: {\n projectDir?: string;\n baseUrlOverride?: string;\n /** Override the user-config path for tests. */\n userConfigFile?: string;\n}): Promise<\n | import(\"@skaile/workspaces/library\").RemoteCatalogSource\n | import(\"@skaile/workspaces/library\").RestCatalogSource\n> {\n const { resolveConfig, RemoteCatalogSource, RestCatalogSource, isLocalCatalogUrl } = await import(\n \"@skaile/workspaces/library\"\n );\n const cfg = resolveConfig({\n projectDir: opts?.projectDir,\n userConfigFile: opts?.userConfigFile,\n });\n const baseUrl = opts?.baseUrlOverride ?? cfg.catalog.url;\n if (isLocalCatalogUrl(baseUrl)) {\n throw new LocalCatalogDisabledError(\n \"catalog.url is set to 'local' — remote catalog is disabled. \" +\n \"Use `skaile source add <path>` + `skaile source sync` for local sources, \" +\n \"or set `catalog.url: https://skaile.store` in ~/.skaile/config.yaml.\",\n );\n }\n const cacheTtlMs = cfg.catalog.cache_ttl * 1000;\n if (cfg.catalog.framing === \"rest\") {\n return new RestCatalogSource({ baseUrl, cacheTtlMs });\n }\n return new RemoteCatalogSource({ baseUrl, cacheTtlMs });\n}\n\n/**\n * Resolved catalog source plus a close handle for releasing any underlying\n * resources (e.g. the `LocalIndex` SQLite connection in local mode).\n *\n * Callers MUST invoke `close()` when done — typically in a `finally` block.\n * For remote-mode sources `close()` is a no-op, but the contract is uniform\n * so consumers don't have to branch.\n *\n * @docLink cli/dev-guide#open-library\n */\nexport interface ResolvedCatalogSource {\n /** The {@link ICatalogSource} ready for use. */\n source: import(\"@skaile/workspaces/library\").ICatalogSource;\n /** Release any underlying resources (SQLite handle in local mode). */\n close(): void;\n}\n\n/**\n * Resolve the configured Catalog source — local or remote — based on\n * `~/.skaile/config.yaml`.\n *\n * Dispatch:\n * - `catalog.url: local` → opens {@link LocalIndex}, picks the most recently\n * registered local library whose `path` still exists on disk, and returns a\n * {@link LocalCatalogSource} bound to that library. Throws if no usable\n * local library is registered.\n * - any URL → returns {@link RemoteCatalogSource} (same as\n * {@link openCatalogSource}).\n *\n * The returned `close()` releases the underlying `LocalIndex` SQLite handle\n * in local mode (no-op in remote mode). Callers MUST invoke it — typically in\n * a `finally` block — to satisfy `library/CLAUDE.md` § \"Notes for Consumers\".\n *\n * @param opts - Project directory (overlays project config) and explicit overrides.\n * @returns A `ResolvedCatalogSource` carrying the source and a close handle.\n * @throws When `local` is configured but no usable local library is registered.\n * @docLink cli/dev-guide#open-library\n */\nexport async function resolveCatalogSource(opts?: {\n projectDir?: string;\n baseUrlOverride?: string;\n /** Override the user-config path for tests. */\n userConfigFile?: string;\n}): Promise<ResolvedCatalogSource> {\n const {\n resolveConfig,\n RemoteCatalogSource,\n RestCatalogSource,\n LocalCatalogSource,\n isLocalCatalogUrl,\n } = await import(\"@skaile/workspaces/library\");\n const cfg = resolveConfig({\n projectDir: opts?.projectDir,\n userConfigFile: opts?.userConfigFile,\n });\n const baseUrl = opts?.baseUrlOverride ?? cfg.catalog.url;\n\n if (isLocalCatalogUrl(baseUrl)) {\n const fs = await import(\"node:fs\");\n const library = await openLibrary();\n try {\n const sources = await library.listSources();\n type LibraryRow = (typeof sources)[number];\n // Type-narrow: `path` is required for local libraries after the filter.\n const usable = sources\n .filter(\n (s): s is LibraryRow & { path: string } =>\n s.backend === \"local\" && typeof s.path === \"string\" && s.path.length > 0,\n )\n .sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime());\n\n if (usable.length === 0) {\n throw new Error(\n \"catalog.url is set to 'local' but no local library is registered. \" +\n \"Run `skaile source add <path>` first, then `skaile source sync`.\",\n );\n }\n\n // Prefer the most recently added library whose path still exists.\n const present = usable.find((s) => fs.existsSync(s.path));\n if (!present) {\n const head = usable[0];\n throw new Error(\n `catalog.url is set to 'local' but every registered local library has a missing path on disk. ` +\n `Most recent: ${head.path} (library ${head.id}). ` +\n `Re-register with \\`skaile source add <existing-path>\\` or run \\`skaile source list\\` to inspect.`,\n );\n }\n\n const source = new LocalCatalogSource(\n library,\n present.id,\n present.path,\n createFullRegistry(),\n );\n return { source, close: () => library.close() };\n } catch (err) {\n // Release the handle on any failure during dispatch — otherwise the\n // SQLite WAL state leaks for the lifetime of the process.\n library.close();\n throw err;\n }\n }\n\n const cacheTtlMs = cfg.catalog.cache_ttl * 1000;\n const source =\n cfg.catalog.framing === \"rest\"\n ? new RestCatalogSource({ baseUrl, cacheTtlMs })\n : new RemoteCatalogSource({ baseUrl, cacheTtlMs });\n return { source, close: () => {} };\n}\n\n/**\n * Open the LibraryManager bound to the active LocalIndex.\n * Caller owns lifetime — must call `close()` (returned helper closes the\n * underlying LocalIndex).\n *\n * @docLink cli/dev-guide#open-library\n */\nexport async function openLibraryManager(): Promise<{\n manager: import(\"@skaile/workspaces/library\").LibraryManager;\n library: import(\"@skaile/workspaces/library\").LocalIndex;\n close: () => void;\n}> {\n const { LibraryManager } = await import(\"@skaile/workspaces/library\");\n const library = await openLibrary();\n const manager = new LibraryManager(library);\n return { manager, library, close: () => library.close() };\n}\n"]}
1
+ {"version":3,"sources":["../cli/src/open-registry.ts","../cli/src/open-library.ts"],"names":["source"],"mappings":"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","file":"chunk-YU433JEL.js","sourcesContent":["/**\n * open-registry.ts — shared helper to create a full AssetKindRegistry.\n *\n * Bootstraps the registry with all built-in providers (9 core + preset)\n * from @skaile/discovery, plus the extension kind providers (flow from\n * @skaile/workspaces/factory-assets/connectors/flow/engine, knowledge from @skaile/library).\n *\n * This is the single registration point for the CLI. All code paths\n * that need a registry (source sync, lib-status, etc.) should use this.\n */\n\nimport type { AssetKindRegistry } from \"@skaile/workspaces/discovery\";\nimport { createDefaultRegistry } from \"@skaile/workspaces/discovery\";\nimport { flowKindProvider } from \"@skaile/workspaces/factory-assets/connectors/flow/engine\";\nimport { knowledgeKindProvider } from \"@skaile/workspaces/library\";\n\n/**\n * Create a fully-configured AssetKindRegistry with all known providers.\n *\n * Registers:\n * - 9 core kinds (skill, agent, connector, mount, mcp-server, contract, prompt, persona, ruleset)\n * - preset (composition entity)\n * - flow (extension, from @skaile/workspaces/factory-assets/connectors/flow/engine)\n * - knowledge (extension, from @skaile/library)\n *\n * @returns An unfrozen registry (auto-freezes on first read)\n */\nexport function createFullRegistry(): AssetKindRegistry {\n const registry = createDefaultRegistry();\n registry.register(flowKindProvider);\n registry.register(knowledgeKindProvider);\n return registry;\n}\n","/**\n * open-library.ts — shared helpers to open the LocalIndex and the configured\n * Catalog source.\n *\n * Lazy-loads the `@skaile/workspaces/library` subpath and returns the\n * LocalIndex instance (backed by `@libsql/client`; runs on Node and Bun).\n * The catalog-source helper reads\n * `~/.skaile/config.yaml` (and project-level overlay if `projectDir` is given)\n * to decide between {@link RemoteCatalogSource} (default — points at\n * `https://skaile.store`) and a {@link LocalCatalogSource} bound to the most\n * recent local library registered via `skaile source add`.\n */\n\nimport { logErr } from \"./helpers.ts\";\nimport { createFullRegistry } from \"./open-registry.ts\";\n\n/** Thrown by {@link openCatalogSource} when `catalog.url` is the `local` sentinel. */\nexport class LocalCatalogDisabledError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"LocalCatalogDisabledError\";\n }\n}\n\n/**\n * Open the LocalIndex with the full kind registry. Exits with code 1\n * if the library directory cannot be created.\n *\n * @returns A `LocalIndex` instance ready for use.\n * @docLink cli/dev-guide#open-library\n */\nexport async function openLibrary() {\n try {\n const { LocalIndex } = await import(\"@skaile/workspaces/library\");\n return new LocalIndex({ kindRegistry: createFullRegistry() });\n } catch (err) {\n logErr(`Could not open LocalIndex: ${err instanceof Error ? err.message : String(err)}`);\n process.exit(1);\n }\n}\n\n/**\n * Resolve the configured **remote** Catalog source for the CLI.\n *\n * Reads `~/.skaile/config.yaml` (plus the optional project-level overlay) and\n * returns a {@link RemoteCatalogSource} pointing at `catalog.url` (default:\n * `https://skaile.store`). The `cache_ttl: 0` config flag flips the source\n * into air-gapped mode: network reads are disabled, only `skaile update`\n * performs refreshes.\n *\n * **Local-mode rejection.** If the resolved config has `catalog.url: local`\n * this helper throws — callers wanting the dispatched local-or-remote source\n * must use {@link resolveCatalogSource}. Remote-only consumers like\n * `skaile update --catalog-only` rely on this strict behaviour.\n *\n * @param opts - Project directory (overlays project config) and explicit overrides.\n * @returns A configured {@link RemoteCatalogSource}.\n * @throws When `catalog.url` is the `local` sentinel.\n * @docLink cli/dev-guide#open-library\n */\nexport async function openCatalogSource(opts?: {\n projectDir?: string;\n baseUrlOverride?: string;\n /** Override the user-config path for tests. */\n userConfigFile?: string;\n}): Promise<\n | import(\"@skaile/workspaces/library\").RemoteCatalogSource\n | import(\"@skaile/workspaces/library\").RestCatalogSource\n> {\n const { resolveConfig, RemoteCatalogSource, RestCatalogSource, isLocalCatalogUrl } = await import(\n \"@skaile/workspaces/library\"\n );\n const cfg = resolveConfig({\n projectDir: opts?.projectDir,\n userConfigFile: opts?.userConfigFile,\n });\n const baseUrl = opts?.baseUrlOverride ?? cfg.catalog.url;\n if (isLocalCatalogUrl(baseUrl)) {\n throw new LocalCatalogDisabledError(\n \"catalog.url is set to 'local' — remote catalog is disabled. \" +\n \"Use `skaile source add <path>` + `skaile source sync` for local sources, \" +\n \"or set `catalog.url: https://skaile.store` in ~/.skaile/config.yaml.\",\n );\n }\n const cacheTtlMs = cfg.catalog.cache_ttl * 1000;\n if (cfg.catalog.framing === \"rest\") {\n return new RestCatalogSource({ baseUrl, cacheTtlMs });\n }\n return new RemoteCatalogSource({ baseUrl, cacheTtlMs });\n}\n\n/**\n * Resolved catalog source plus a close handle for releasing any underlying\n * resources (e.g. the `LocalIndex` SQLite connection in local mode).\n *\n * Callers MUST invoke `close()` when done — typically in a `finally` block.\n * For remote-mode sources `close()` is a no-op, but the contract is uniform\n * so consumers don't have to branch.\n *\n * @docLink cli/dev-guide#open-library\n */\nexport interface ResolvedCatalogSource {\n /** The {@link ICatalogSource} ready for use. */\n source: import(\"@skaile/workspaces/library\").ICatalogSource;\n /** Release any underlying resources (SQLite handle in local mode). */\n close(): void;\n}\n\n/**\n * Resolve the configured Catalog source — local or remote — based on\n * `~/.skaile/config.yaml`.\n *\n * Dispatch:\n * - `catalog.url: local` → opens {@link LocalIndex}, picks the most recently\n * registered local library whose `path` still exists on disk, and returns a\n * {@link LocalCatalogSource} bound to that library. Throws if no usable\n * local library is registered.\n * - any URL → returns {@link RemoteCatalogSource} (same as\n * {@link openCatalogSource}).\n *\n * The returned `close()` releases the underlying `LocalIndex` SQLite handle\n * in local mode (no-op in remote mode). Callers MUST invoke it — typically in\n * a `finally` block — to satisfy `library/CLAUDE.md` § \"Notes for Consumers\".\n *\n * @param opts - Project directory (overlays project config) and explicit overrides.\n * @returns A `ResolvedCatalogSource` carrying the source and a close handle.\n * @throws When `local` is configured but no usable local library is registered.\n * @docLink cli/dev-guide#open-library\n */\nexport async function resolveCatalogSource(opts?: {\n projectDir?: string;\n baseUrlOverride?: string;\n /** Override the user-config path for tests. */\n userConfigFile?: string;\n}): Promise<ResolvedCatalogSource> {\n const {\n resolveConfig,\n RemoteCatalogSource,\n RestCatalogSource,\n LocalCatalogSource,\n isLocalCatalogUrl,\n } = await import(\"@skaile/workspaces/library\");\n const cfg = resolveConfig({\n projectDir: opts?.projectDir,\n userConfigFile: opts?.userConfigFile,\n });\n const baseUrl = opts?.baseUrlOverride ?? cfg.catalog.url;\n\n if (isLocalCatalogUrl(baseUrl)) {\n const fs = await import(\"node:fs\");\n const library = await openLibrary();\n try {\n const sources = await library.listSources();\n type LibraryRow = (typeof sources)[number];\n // Type-narrow: `path` is required for local libraries after the filter.\n const usable = sources\n .filter(\n (s): s is LibraryRow & { path: string } =>\n s.backend === \"local\" && typeof s.path === \"string\" && s.path.length > 0,\n )\n .sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime());\n\n if (usable.length === 0) {\n throw new Error(\n \"catalog.url is set to 'local' but no local library is registered. \" +\n \"Run `skaile source add <path>` first, then `skaile source sync`.\",\n );\n }\n\n // Prefer the most recently added library whose path still exists.\n const present = usable.find((s) => fs.existsSync(s.path));\n if (!present) {\n const head = usable[0];\n throw new Error(\n `catalog.url is set to 'local' but every registered local library has a missing path on disk. ` +\n `Most recent: ${head.path} (library ${head.id}). ` +\n `Re-register with \\`skaile source add <existing-path>\\` or run \\`skaile source list\\` to inspect.`,\n );\n }\n\n const source = new LocalCatalogSource(\n library,\n present.id,\n present.path,\n createFullRegistry(),\n );\n return { source, close: () => library.close() };\n } catch (err) {\n // Release the handle on any failure during dispatch — otherwise the\n // SQLite WAL state leaks for the lifetime of the process.\n library.close();\n throw err;\n }\n }\n\n const cacheTtlMs = cfg.catalog.cache_ttl * 1000;\n const source =\n cfg.catalog.framing === \"rest\"\n ? new RestCatalogSource({ baseUrl, cacheTtlMs })\n : new RemoteCatalogSource({ baseUrl, cacheTtlMs });\n return { source, close: () => {} };\n}\n\n/**\n * Open the LibraryManager bound to the active LocalIndex.\n * Caller owns lifetime — must call `close()` (returned helper closes the\n * underlying LocalIndex).\n *\n * @docLink cli/dev-guide#open-library\n */\nexport async function openLibraryManager(): Promise<{\n manager: import(\"@skaile/workspaces/library\").LibraryManager;\n library: import(\"@skaile/workspaces/library\").LocalIndex;\n close: () => void;\n}> {\n const { LibraryManager } = await import(\"@skaile/workspaces/library\");\n const library = await openLibrary();\n const manager = new LibraryManager(library);\n return { manager, library, close: () => library.close() };\n}\n"]}
package/dist/cli/index.js CHANGED
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import { AI_RESOURCES } from '../chunk-XN7DAZB7.js';
3
- import { makeInstallCommand, makeCheckCommand, makeCleanCommand, reportInstalledSoftDeps } from '../chunk-FQE2NBUH.js';
4
- import { makeProvidersCommand, loadRegistryView, addProviderEntry, ProviderRegistryWriteError } from '../chunk-5L55HNNA.js';
3
+ import { makeInstallCommand, makeCheckCommand, makeCleanCommand, reportInstalledSoftDeps } from '../chunk-SOFPA4S4.js';
4
+ import { makeProvidersCommand, loadRegistryView, addProviderEntry, ProviderRegistryWriteError } from '../chunk-KN5Y5BXK.js';
5
5
  import { getStoreConfig, storeFetch, deviceLogin, loadStoreAuthConfig, logout, hasStoredAuth, isStoreAuthenticated, getStoreToken, getStoreIdentity } from '../chunk-MDBAEEY5.js';
6
- import { makeSourceCommand, syncProjectSources } from '../chunk-NVNKPWL4.js';
7
- import { openCatalogSource, openLibraryManager, createFullRegistry, openLibrary } from '../chunk-5JJ5KQUM.js';
8
- import { logErr, S, logOk, logInfo, logWarn, kindColorPad, kindColor, colorRef, formatSoftDepSection, bareSoftDepName, formatSoftDepHint, formatRelativeTime, formatSoftDepRemovePreview, formatSoftDepAddPreview, fitWidth } from '../chunk-L22WTIIC.js';
6
+ import { makeSourceCommand, syncProjectSources } from '../chunk-U4CNCL7Q.js';
7
+ import { openCatalogSource, openLibraryManager, createFullRegistry, openLibrary } from '../chunk-YU433JEL.js';
8
+ import { logErr, S, logOk, logInfo, logWarn, kindColorPad, kindColor, colorRef, formatSoftDepSection, bareSoftDepName, formatSoftDepHint, formatRelativeTime, formatSoftDepRemovePreview, formatSoftDepAddPreview, fitWidth } from '../chunk-L7R52OOV.js';
9
9
  import { LocalSecretsProvider } from '../chunk-6BEGKO2Q.js';
10
- import { runAgentChat, loadSessionById, loadSession, listSessions, setCurrentSession, deleteSession, clearSession, loadAgentManifest, compileComposition, MarkdownStreamer, resolveMixin } from '../chunk-KVDXSEQH.js';
11
- import { buildClaudePluginFiles } from '../chunk-TILISP6X.js';
12
- import '../chunk-LIS5KT2X.js';
10
+ import { runAgentChat, loadSessionById, loadSession, listSessions, setCurrentSession, deleteSession, clearSession, loadAgentManifest, compileComposition, MarkdownStreamer, resolveMixin } from '../chunk-USJWXEXS.js';
11
+ import { buildClaudePluginFiles } from '../chunk-ENXE4BKS.js';
12
+ import '../chunk-A5RRXBLI.js';
13
13
  import '../chunk-MRS5YHPI.js';
14
14
  import '../chunk-H3KXUUYQ.js';
15
15
  import '../chunk-OEBAXTQ4.js';
@@ -24,23 +24,23 @@ import '../chunk-5LKOAX7I.js';
24
24
  import '../chunk-32NA4TVC.js';
25
25
  import '../chunk-W3UDISS2.js';
26
26
  import '../chunk-HCYS7GFP.js';
27
- import { runFlow, resumeFlow } from '../chunk-3CLUU45N.js';
27
+ import { runFlow, resumeFlow } from '../chunk-SGMCSVTO.js';
28
28
  import '../chunk-4R6DROGN.js';
29
29
  import { validateFlowVersions, parseSkillFrontmatter } from '../chunk-3SUWLY3H.js';
30
30
  import '../chunk-5JAO4MXA.js';
31
31
  import '../chunk-6X4DHKHP.js';
32
- import '../chunk-FWZTKSYI.js';
33
- import '../chunk-ZWTCXL3H.js';
32
+ import '../chunk-WTBXGJCD.js';
33
+ import '../chunk-2QYQOJ2F.js';
34
34
  import '../chunk-S63H4HDH.js';
35
- import '../chunk-3VUHHDZW.js';
35
+ import '../chunk-5SGS5SN2.js';
36
36
  import '../chunk-NTASYPDN.js';
37
37
  import '../chunk-EINLFFP6.js';
38
38
  import '../chunk-LOO5CB5M.js';
39
- import '../chunk-TTITGVXV.js';
40
- import '../chunk-O63QZ6XX.js';
39
+ import '../chunk-RZXP5ZER.js';
40
+ import '../chunk-UFBURH6K.js';
41
41
  import '../chunk-XBSQ4KMC.js';
42
42
  import '../chunk-YROR332M.js';
43
- import { getProviderPreset, AI_PROVIDER_PRESETS } from '../chunk-MQU632EK.js';
43
+ import { getProviderPreset, AI_PROVIDER_PRESETS } from '../chunk-WQULDAH2.js';
44
44
  import '../chunk-6E6PKKAD.js';
45
45
  import '../chunk-IFGTRL2I.js';
46
46
  import { projectAiAssetsRoots, loadFlow, loadAllFlowEntries, findFlowFileInRoots } from '../chunk-FLGLODDF.js';
@@ -49,8 +49,8 @@ import '../chunk-DIQDYNXZ.js';
49
49
  import '../chunk-K3IBZ2UZ.js';
50
50
  import { nodeLabel, nodeSkillAsset, nodeIsInert, nodeIsOptional, nodeRunKind, flowSkillVersionPins } from '../chunk-UDFWBALP.js';
51
51
  import '../chunk-ORH2BZEM.js';
52
- import '../chunk-JS7DCCDA.js';
53
- import { AssetManager, NON_DEPLOYABLE_KINDS, MissingManifestError, parseRefTolerant, normalizeRepoUrl, FACTORY_SOURCE_URL } from '../chunk-PKGI5QG7.js';
52
+ import '../chunk-V2OQ3BI6.js';
53
+ import { AssetManager, NON_DEPLOYABLE_KINDS, MissingManifestError, parseRefTolerant, normalizeRepoUrl, FACTORY_SOURCE_URL } from '../chunk-R2SYODNK.js';
54
54
  import { getStoreManifestsDir, getDefaultValue, isSecretPlaceholder } from '../chunk-BSIHJZKN.js';
55
55
  import '../chunk-DFZDL62S.js';
56
56
  import '../chunk-VOEBLPXO.js';
@@ -129,7 +129,7 @@ async function runSearch(kind, query, opts) {
129
129
  }
130
130
  }
131
131
  async function searchIndex(query, kind) {
132
- const { openLibrary: openLibrary2 } = await import('../open-library-6N3XZ2XL.js');
132
+ const { openLibrary: openLibrary2 } = await import('../open-library-ULRYWTEA.js');
133
133
  const library = await openLibrary2();
134
134
  try {
135
135
  const defs = await library.listAssetDefs(kind ? { kind } : {});
@@ -182,7 +182,7 @@ async function searchLocal(query, kind, opts, showStore, airGapped) {
182
182
  const factory = await searchFactory(projectDir, query, kind);
183
183
  let entries = unionEntries(await searchIndex(query, kind), factory);
184
184
  if (entries.length === 0 && !query && !kind && !airGapped) {
185
- const { autoSyncForSearch } = await import('../source-PNYNVVPM.js');
185
+ const { autoSyncForSearch } = await import('../source-IZXICUBU.js');
186
186
  if (await autoSyncForSearch(projectDir)) {
187
187
  entries = unionEntries(await searchIndex(query, kind), factory);
188
188
  }
@@ -236,7 +236,7 @@ async function searchStore(query, kind, opts, airGapped) {
236
236
  logInfo("air-gapped (cache_ttl: 0) \u2014 local sources only");
237
237
  return;
238
238
  }
239
- const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError } = await import('../open-library-6N3XZ2XL.js');
239
+ const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError } = await import('../open-library-ULRYWTEA.js');
240
240
  try {
241
241
  const remote = await openCatalogSource2({ projectDir: path36__default.resolve(opts.projectDir) });
242
242
  const assets = await remote.listAssets(kind ? { kind } : {});
@@ -559,7 +559,7 @@ async function resolveInfoEntry(am2, ref, opts) {
559
559
  return { entry: match ?? deployed };
560
560
  }
561
561
  const lookup = opts.storeLookup ?? (async (filter) => {
562
- const { resolveCatalogSource } = await import('../open-library-6N3XZ2XL.js');
562
+ const { resolveCatalogSource } = await import('../open-library-ULRYWTEA.js');
563
563
  const { source, close } = await resolveCatalogSource({ projectDir: opts.projectDir });
564
564
  try {
565
565
  return await source.listAssets(filter);
@@ -575,7 +575,7 @@ async function resolveInfoEntry(am2, ref, opts) {
575
575
  );
576
576
  return { entry: hit ? catalogAssetToEntry(hit) : null };
577
577
  } catch (err) {
578
- const { LocalCatalogDisabledError } = await import('../open-library-6N3XZ2XL.js');
578
+ const { LocalCatalogDisabledError } = await import('../open-library-ULRYWTEA.js');
579
579
  const storeNote = err instanceof Error ? err.message : String(err);
580
580
  const disabled = err instanceof LocalCatalogDisabledError || /catalog\.url/i.test(storeNote);
581
581
  return { entry: null, storeNote, ...disabled ? { storeDisabled: true } : {} };
@@ -1195,7 +1195,7 @@ function makeCatalogCommand() {
1195
1195
  return catalog;
1196
1196
  }
1197
1197
  async function runLocalCatalogTest(projectDir) {
1198
- const { resolveCatalogSource } = await import('../open-library-6N3XZ2XL.js');
1198
+ const { resolveCatalogSource } = await import('../open-library-ULRYWTEA.js');
1199
1199
  let resolved;
1200
1200
  try {
1201
1201
  resolved = await resolveCatalogSource({ projectDir });
@@ -3512,16 +3512,16 @@ function makeLibraryCommand() {
3512
3512
  });
3513
3513
  cmd.command("publish <lib>").description("Push + register the library's manifest atomically (needs git backend)").option("--asset <ref>", "Publish only the single asset matching this ref/name").option("--create-repo", "Provision + link a public github repo if the library has no remote").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(
3514
3514
  async (lib, opts) => {
3515
- const { runLibraryPublish } = await import('../library-publish-XAIAHKRL.js');
3515
+ const { runLibraryPublish } = await import('../library-publish-YKBYHZ43.js');
3516
3516
  await withStoreErrorHandling(() => runLibraryPublish(lib, opts));
3517
3517
  }
3518
3518
  );
3519
3519
  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) => {
3520
- const { runLibraryRegister } = await import('../library-publish-XAIAHKRL.js');
3520
+ const { runLibraryRegister } = await import('../library-publish-YKBYHZ43.js');
3521
3521
  await withStoreErrorHandling(() => runLibraryRegister(lib, opts));
3522
3522
  });
3523
3523
  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) => {
3524
- const { runLibraryYank } = await import('../library-publish-XAIAHKRL.js');
3524
+ const { runLibraryYank } = await import('../library-publish-YKBYHZ43.js');
3525
3525
  await withStoreErrorHandling(() => runLibraryYank(lib, opts));
3526
3526
  });
3527
3527
  return cmd;
@@ -4243,7 +4243,7 @@ function scheduleSoftDepPreview() {
4243
4243
  }
4244
4244
  async function loadAssets() {
4245
4245
  softDepPreviewCache.clear();
4246
- const { gatherAssetFeeds } = await import('../asset-feeds-SJELMLNK.js');
4246
+ const { gatherAssetFeeds } = await import('../asset-feeds-KTRFFJYM.js');
4247
4247
  const { entries, domains, notes } = await gatherAssetFeeds(am, am.projectDir);
4248
4248
  if (notes.length > 0) {
4249
4249
  state.message = notes.map((n) => `[${n.feed}] ${n.message}`).join(" \u2022 ");
@@ -4449,7 +4449,7 @@ function reconcileCollapsedSets(rows) {
4449
4449
  async function loadSourcesAndLibraries() {
4450
4450
  try {
4451
4451
  const [{ openLibraryManager: openLibraryManager2 }, { skaileHomeDir }, { getGlobalCacheDir: getGlobalCacheDir2 }] = await Promise.all([
4452
- import('../open-library-6N3XZ2XL.js'),
4452
+ import('../open-library-ULRYWTEA.js'),
4453
4453
  import('../library/index.js'),
4454
4454
  import('../core/index.js')
4455
4455
  ]);
@@ -7272,7 +7272,7 @@ function makeServeCommand() {
7272
7272
  );
7273
7273
  }
7274
7274
  async function ensurePluginsLoadedForServe(projectDir) {
7275
- const { logInfo: logInfo2, logWarn: logWarn2 } = await import('../helpers-IMUCDNME.js');
7275
+ const { logInfo: logInfo2, logWarn: logWarn2 } = await import('../helpers-IELIL4YR.js');
7276
7276
  try {
7277
7277
  const { resolveSkWorkspaceConfig: resolveSkWorkspaceConfig2 } = await import('../core/index.js');
7278
7278
  const config = resolveSkWorkspaceConfig2(projectDir);
@@ -7291,7 +7291,7 @@ async function ensurePluginsLoadedForServe(projectDir) {
7291
7291
  }
7292
7292
  }
7293
7293
  async function runCompileTest(opts) {
7294
- const { logOk: logOk2, logErr: logErr2, logInfo: logInfo2, S: S2 } = await import('../helpers-IMUCDNME.js');
7294
+ const { logOk: logOk2, logErr: logErr2, logInfo: logInfo2, S: S2 } = await import('../helpers-IELIL4YR.js');
7295
7295
  const { tmpdir } = await import('os');
7296
7296
  const { dirname: dirname4, join: join7, resolve: resolve5 } = await import('path');
7297
7297
  const { fileURLToPath: fileURLToPath2 } = await import('url');
@@ -8174,7 +8174,7 @@ function makeStoreCommand() {
8174
8174
  process.exit(2);
8175
8175
  });
8176
8176
  store.command("search <query>").description("Search the AI Asset Store catalog by name, description, or publisher").option("--kind <kind>", "Filter by asset kind (skill, agent, prompt, flow, \u2026)").option("-C, --project-dir <dir>", "Project directory (catalog config overlay)", process.cwd()).action(async (query, opts) => {
8177
- const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError } = await import('../open-library-6N3XZ2XL.js');
8177
+ const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError } = await import('../open-library-ULRYWTEA.js');
8178
8178
  try {
8179
8179
  const remote = await openCatalogSource2({ projectDir: path36__default.resolve(opts.projectDir) });
8180
8180
  const assets = await remote.listAssets(opts.kind ? { kind: opts.kind } : {});
@@ -8207,8 +8207,8 @@ function makeStoreCommand() {
8207
8207
  }
8208
8208
  });
8209
8209
  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) => {
8210
- const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError } = await import('../open-library-6N3XZ2XL.js');
8211
- const { supportsInstallManifest } = await import('../project-HESTMGPU.js');
8210
+ const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError } = await import('../open-library-ULRYWTEA.js');
8211
+ const { supportsInstallManifest } = await import('../project-VKYNDEB6.js');
8212
8212
  try {
8213
8213
  const remote = await openCatalogSource2({ projectDir: path36__default.resolve(opts.projectDir) });
8214
8214
  const asset = await remote.resolve(ref);
@@ -9296,7 +9296,7 @@ async function bootstrapUserConfig() {
9296
9296
  }
9297
9297
  async function hydrateInitSources(resolved, created) {
9298
9298
  try {
9299
- const { ensureSourcesCloned } = await import('../ensure-sources-SYZO2HNP.js');
9299
+ const { ensureSourcesCloned } = await import('../ensure-sources-IGU65O72.js');
9300
9300
  const hydrate = ensureSourcesCloned(resolved, { quiet: true });
9301
9301
  for (const n of hydrate.cloned) created.push(`~/.skaile/cache/sources/${n}/`);
9302
9302
  if (hydrate.failed.length > 0) {
@@ -9336,7 +9336,7 @@ function printInitSummary(resolved, projectDir, created) {
9336
9336
  console.log();
9337
9337
  }
9338
9338
  program.command("setup").description("Interactive provider setup wizard").action(async () => {
9339
- const { cmdSetup } = await import('../setup-PQG5DH5Z.js');
9339
+ const { cmdSetup } = await import('../setup-INJFK3VJ.js');
9340
9340
  await cmdSetup([], { projectDir: process.cwd() });
9341
9341
  });
9342
9342
  program.addCommand(makeInstallCommand());
@@ -1,15 +1,15 @@
1
- export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, CONNECT_FAILURE_CARRY_OVER_TTL_MS, ConnectFailureCarryOver, ConnectorManager, FlowAdapter, LogBuffer, ManagedGitconfigCollisionError, NO_ACTIVE_FLOW_ERROR, PortPool, atomicReplaceCredential, buildConnectorPromptSection, buildLazyFlowToolDefs, buildLazySdkFlowTools, buildSdkConnectorTools, buildSdkFlowTools, checkFleetMountLiveness, classifyConnectError, createFsWatcher, createWorktree, defaultSpawn, ensureDirMode, ensureFleetMounted, ensureRefreshAttemptStamp, findGitRoot, findMissingPackages, getConnector, installNpmPackages, isFleetManaged, isPackageResolvable, listConnectors, listWorktrees, missingTokenMediatorMessage, registerBuiltinConnectors, removeMountBlock, removeUnavailableMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock, writeUnavailableMountBlock } from '../chunk-FWZTKSYI.js';
2
- export { CONNECT_ERROR_KIND_PROPERTY, ClassifiedConnectError, declaredConnectErrorKind, withConnectErrorKind } from '../chunk-ZWTCXL3H.js';
1
+ export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, CONNECT_FAILURE_CARRY_OVER_TTL_MS, ConnectFailureCarryOver, ConnectorManager, FlowAdapter, LogBuffer, ManagedGitconfigCollisionError, NO_ACTIVE_FLOW_ERROR, PortPool, atomicReplaceCredential, buildConnectorPromptSection, buildLazyFlowToolDefs, buildLazySdkFlowTools, buildSdkConnectorTools, buildSdkFlowTools, checkFleetMountLiveness, classifyConnectError, createFsWatcher, createWorktree, defaultSpawn, ensureDirMode, ensureFleetMounted, ensureRefreshAttemptStamp, findGitRoot, findMissingPackages, getConnector, installNpmPackages, isFleetManaged, isPackageResolvable, listConnectors, listWorktrees, missingTokenMediatorMessage, registerBuiltinConnectors, removeMountBlock, removeUnavailableMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock, writeUnavailableMountBlock } from '../chunk-WTBXGJCD.js';
2
+ export { CONNECT_ERROR_KIND_PROPERTY, ClassifiedConnectError, declaredConnectErrorKind, withConnectErrorKind } from '../chunk-2QYQOJ2F.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-S63H4HDH.js';
4
- import '../chunk-3VUHHDZW.js';
4
+ import '../chunk-5SGS5SN2.js';
5
5
  import '../chunk-NTASYPDN.js';
6
6
  import '../chunk-EINLFFP6.js';
7
7
  import '../chunk-LOO5CB5M.js';
8
- import '../chunk-TTITGVXV.js';
9
- import '../chunk-O63QZ6XX.js';
8
+ import '../chunk-RZXP5ZER.js';
9
+ import '../chunk-UFBURH6K.js';
10
10
  import '../chunk-XBSQ4KMC.js';
11
11
  import '../chunk-YROR332M.js';
12
- import '../chunk-MQU632EK.js';
12
+ import '../chunk-WQULDAH2.js';
13
13
  import '../chunk-6E6PKKAD.js';
14
14
  import '../chunk-IFGTRL2I.js';
15
15
  import '../chunk-FLGLODDF.js';
@@ -18,7 +18,7 @@ import '../chunk-DIQDYNXZ.js';
18
18
  import '../chunk-K3IBZ2UZ.js';
19
19
  import '../chunk-UDFWBALP.js';
20
20
  import '../chunk-ORH2BZEM.js';
21
- import '../chunk-JS7DCCDA.js';
21
+ import '../chunk-V2OQ3BI6.js';
22
22
  import '../chunk-FJYOQMXT.js';
23
23
  import '../chunk-4GY63JU6.js';
24
24
  import '../chunk-VRFKCF3R.js';
@@ -1,5 +1,5 @@
1
- export { CONNECT_ERROR_KIND_PROPERTY, ClassifiedConnectError, withConnectErrorKind } from '../chunk-ZWTCXL3H.js';
2
- import '../chunk-JS7DCCDA.js';
1
+ export { CONNECT_ERROR_KIND_PROPERTY, ClassifiedConnectError, withConnectErrorKind } from '../chunk-2QYQOJ2F.js';
2
+ import '../chunk-V2OQ3BI6.js';
3
3
  import '../chunk-NSBPE2FW.js';
4
4
  import * as z from 'zod';
5
5
 
@@ -1,5 +1,5 @@
1
- import { logErr, logOk, logInfo } from './chunk-L22WTIIC.js';
2
- import './chunk-PKGI5QG7.js';
1
+ import { logErr, logOk, logInfo } from './chunk-L7R52OOV.js';
2
+ import './chunk-R2SYODNK.js';
3
3
  import './chunk-BSIHJZKN.js';
4
4
  import './chunk-DFZDL62S.js';
5
5
  import './chunk-VOEBLPXO.js';
@@ -90,5 +90,5 @@ function ensureSourcesCloned(projectDir, opts = {}) {
90
90
  }
91
91
 
92
92
  export { ensureSourcesCloned };
93
- //# sourceMappingURL=ensure-sources-SYZO2HNP.js.map
94
- //# sourceMappingURL=ensure-sources-SYZO2HNP.js.map
93
+ //# sourceMappingURL=ensure-sources-IGU65O72.js.map
94
+ //# sourceMappingURL=ensure-sources-IGU65O72.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../cli/src/ensure-sources.ts"],"names":[],"mappings":"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","file":"ensure-sources-SYZO2HNP.js","sourcesContent":["/**\n * ensure-sources.ts — hydrate the `~/.skaile/cache/sources/` clone cache from a\n * project's `skaile.yaml` `sources:` entries.\n *\n * Called by `skaile init` (idempotent: no-op when no sources declared) and\n * `skaile install` so checking out a project pulls its source clones onto\n * the local machine.\n */\n\nimport { spawnSync } from \"node:child_process\";\nimport { existsSync, mkdirSync } from \"node:fs\";\nimport * as path from \"node:path\";\nimport {\n getGlobalCacheDir,\n type SourceEntry,\n sourceCacheKey,\n sourceShortName,\n WorkspaceYamlEditor,\n} from \"@skaile/workspaces/core\";\nimport { logErr, logInfo, logOk } from \"./helpers.ts\";\n\nfunction sourceClonePath(key: string): string {\n return path.join(getGlobalCacheDir(), key);\n}\n\nexport interface EnsureResult {\n cloned: string[];\n cached: string[];\n failed: string[];\n}\n\n/** Load `sources:` from a project's `skaile.yaml`, or `null` when unavailable. */\nfunction loadProjectSources(yamlPath: string, quiet: boolean): SourceEntry[] | null {\n try {\n return WorkspaceYamlEditor.load(yamlPath).getSources();\n } catch (err) {\n if (!quiet) {\n logErr(`Could not read ${yamlPath}: ${err instanceof Error ? err.message : String(err)}`);\n }\n return null;\n }\n}\n\n/**\n * Hydrate a single source entry into `result`: skip when already cached,\n * otherwise clone and record success/failure. Mutates `result` in place.\n */\nfunction hydrateSourceEntry(entry: SourceEntry, quiet: boolean, result: EnsureResult): void {\n const key = sourceCacheKey(entry.url);\n const slug = sourceShortName(entry.url);\n const dest = sourceClonePath(key);\n if (existsSync(dest)) {\n result.cached.push(slug);\n return;\n }\n mkdirSync(path.dirname(dest), { recursive: true });\n const args = [\"clone\", entry.url, dest];\n if (entry.pin) args.splice(1, 0, \"--branch\", entry.pin);\n const clone = spawnSync(\"git\", args, { stdio: quiet ? \"pipe\" : \"inherit\" });\n if (clone.status !== 0) {\n result.failed.push(slug);\n if (quiet) {\n logErr(`git clone failed for ${entry.url}`);\n }\n return;\n }\n result.cloned.push(slug);\n}\n\n/** Log a full-hydrate summary of cloned + reused-cached entries. */\nfunction logHydrateSummary(result: EnsureResult): void {\n for (const n of result.cloned) logOk(`Cloned source \"${n}\".`);\n if (result.cached.length > 0) {\n logInfo(`Reused cached clones: ${result.cached.join(\", \")}`);\n }\n}\n\n/**\n * Walk `projectDir/skaile.yaml` `sources:` and clone any entries whose\n * clone directory does not yet exist under `~/.skaile/cache/sources/`. Existing\n * clones are left untouched — this is hydration, not sync.\n *\n * Quiet by default: when `quiet: true` the helper only prints failures.\n * On full hydrate (`quiet: false`) it logs each cloned/cached entry.\n */\nexport function ensureSourcesCloned(\n projectDir: string,\n opts: { quiet?: boolean } = {},\n): EnsureResult {\n const result: EnsureResult = { cloned: [], cached: [], failed: [] };\n const yamlPath = path.join(projectDir, \"skaile.yaml\");\n if (!existsSync(yamlPath)) return result;\n\n const quiet = opts.quiet ?? false;\n const sources = loadProjectSources(yamlPath, quiet);\n if (sources === null) return result;\n if (sources.length === 0) return result;\n\n for (const entry of sources) {\n hydrateSourceEntry(entry, quiet, result);\n }\n\n if (!quiet) {\n logHydrateSummary(result);\n }\n\n return result;\n}\n"]}
1
+ {"version":3,"sources":["../cli/src/ensure-sources.ts"],"names":[],"mappings":"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","file":"ensure-sources-IGU65O72.js","sourcesContent":["/**\n * ensure-sources.ts — hydrate the `~/.skaile/cache/sources/` clone cache from a\n * project's `skaile.yaml` `sources:` entries.\n *\n * Called by `skaile init` (idempotent: no-op when no sources declared) and\n * `skaile install` so checking out a project pulls its source clones onto\n * the local machine.\n */\n\nimport { spawnSync } from \"node:child_process\";\nimport { existsSync, mkdirSync } from \"node:fs\";\nimport * as path from \"node:path\";\nimport {\n getGlobalCacheDir,\n type SourceEntry,\n sourceCacheKey,\n sourceShortName,\n WorkspaceYamlEditor,\n} from \"@skaile/workspaces/core\";\nimport { logErr, logInfo, logOk } from \"./helpers.ts\";\n\nfunction sourceClonePath(key: string): string {\n return path.join(getGlobalCacheDir(), key);\n}\n\nexport interface EnsureResult {\n cloned: string[];\n cached: string[];\n failed: string[];\n}\n\n/** Load `sources:` from a project's `skaile.yaml`, or `null` when unavailable. */\nfunction loadProjectSources(yamlPath: string, quiet: boolean): SourceEntry[] | null {\n try {\n return WorkspaceYamlEditor.load(yamlPath).getSources();\n } catch (err) {\n if (!quiet) {\n logErr(`Could not read ${yamlPath}: ${err instanceof Error ? err.message : String(err)}`);\n }\n return null;\n }\n}\n\n/**\n * Hydrate a single source entry into `result`: skip when already cached,\n * otherwise clone and record success/failure. Mutates `result` in place.\n */\nfunction hydrateSourceEntry(entry: SourceEntry, quiet: boolean, result: EnsureResult): void {\n const key = sourceCacheKey(entry.url);\n const slug = sourceShortName(entry.url);\n const dest = sourceClonePath(key);\n if (existsSync(dest)) {\n result.cached.push(slug);\n return;\n }\n mkdirSync(path.dirname(dest), { recursive: true });\n const args = [\"clone\", entry.url, dest];\n if (entry.pin) args.splice(1, 0, \"--branch\", entry.pin);\n const clone = spawnSync(\"git\", args, { stdio: quiet ? \"pipe\" : \"inherit\" });\n if (clone.status !== 0) {\n result.failed.push(slug);\n if (quiet) {\n logErr(`git clone failed for ${entry.url}`);\n }\n return;\n }\n result.cloned.push(slug);\n}\n\n/** Log a full-hydrate summary of cloned + reused-cached entries. */\nfunction logHydrateSummary(result: EnsureResult): void {\n for (const n of result.cloned) logOk(`Cloned source \"${n}\".`);\n if (result.cached.length > 0) {\n logInfo(`Reused cached clones: ${result.cached.join(\", \")}`);\n }\n}\n\n/**\n * Walk `projectDir/skaile.yaml` `sources:` and clone any entries whose\n * clone directory does not yet exist under `~/.skaile/cache/sources/`. Existing\n * clones are left untouched — this is hydration, not sync.\n *\n * Quiet by default: when `quiet: true` the helper only prints failures.\n * On full hydrate (`quiet: false`) it logs each cloned/cached entry.\n */\nexport function ensureSourcesCloned(\n projectDir: string,\n opts: { quiet?: boolean } = {},\n): EnsureResult {\n const result: EnsureResult = { cloned: [], cached: [], failed: [] };\n const yamlPath = path.join(projectDir, \"skaile.yaml\");\n if (!existsSync(yamlPath)) return result;\n\n const quiet = opts.quiet ?? false;\n const sources = loadProjectSources(yamlPath, quiet);\n if (sources === null) return result;\n if (sources.length === 0) return result;\n\n for (const entry of sources) {\n hydrateSourceEntry(entry, quiet, result);\n }\n\n if (!quiet) {\n logHydrateSummary(result);\n }\n\n return result;\n}\n"]}
@@ -1,15 +1,15 @@
1
- export { BoxConnector, createConnector4 as createConnector } from '../../chunk-FWZTKSYI.js';
2
- import '../../chunk-ZWTCXL3H.js';
1
+ export { BoxConnector, createConnector4 as createConnector } from '../../chunk-WTBXGJCD.js';
2
+ import '../../chunk-2QYQOJ2F.js';
3
3
  import '../../chunk-S63H4HDH.js';
4
- import '../../chunk-3VUHHDZW.js';
4
+ import '../../chunk-5SGS5SN2.js';
5
5
  import '../../chunk-NTASYPDN.js';
6
6
  import '../../chunk-EINLFFP6.js';
7
7
  import '../../chunk-LOO5CB5M.js';
8
- import '../../chunk-TTITGVXV.js';
9
- import '../../chunk-O63QZ6XX.js';
8
+ import '../../chunk-RZXP5ZER.js';
9
+ import '../../chunk-UFBURH6K.js';
10
10
  import '../../chunk-XBSQ4KMC.js';
11
11
  import '../../chunk-YROR332M.js';
12
- import '../../chunk-MQU632EK.js';
12
+ import '../../chunk-WQULDAH2.js';
13
13
  import '../../chunk-6E6PKKAD.js';
14
14
  import '../../chunk-IFGTRL2I.js';
15
15
  import '../../chunk-FLGLODDF.js';
@@ -18,7 +18,7 @@ import '../../chunk-DIQDYNXZ.js';
18
18
  import '../../chunk-K3IBZ2UZ.js';
19
19
  import '../../chunk-UDFWBALP.js';
20
20
  import '../../chunk-ORH2BZEM.js';
21
- import '../../chunk-JS7DCCDA.js';
21
+ import '../../chunk-V2OQ3BI6.js';
22
22
  import '../../chunk-FJYOQMXT.js';
23
23
  import '../../chunk-4GY63JU6.js';
24
24
  import '../../chunk-VRFKCF3R.js';
@@ -1,15 +1,15 @@
1
- export { DeployConnector, createConnector2 as createConnector } from '../../chunk-FWZTKSYI.js';
2
- import '../../chunk-ZWTCXL3H.js';
1
+ export { DeployConnector, createConnector2 as createConnector } from '../../chunk-WTBXGJCD.js';
2
+ import '../../chunk-2QYQOJ2F.js';
3
3
  import '../../chunk-S63H4HDH.js';
4
- import '../../chunk-3VUHHDZW.js';
4
+ import '../../chunk-5SGS5SN2.js';
5
5
  import '../../chunk-NTASYPDN.js';
6
6
  import '../../chunk-EINLFFP6.js';
7
7
  import '../../chunk-LOO5CB5M.js';
8
- import '../../chunk-TTITGVXV.js';
9
- import '../../chunk-O63QZ6XX.js';
8
+ import '../../chunk-RZXP5ZER.js';
9
+ import '../../chunk-UFBURH6K.js';
10
10
  import '../../chunk-XBSQ4KMC.js';
11
11
  import '../../chunk-YROR332M.js';
12
- import '../../chunk-MQU632EK.js';
12
+ import '../../chunk-WQULDAH2.js';
13
13
  import '../../chunk-6E6PKKAD.js';
14
14
  import '../../chunk-IFGTRL2I.js';
15
15
  import '../../chunk-FLGLODDF.js';
@@ -18,7 +18,7 @@ import '../../chunk-DIQDYNXZ.js';
18
18
  import '../../chunk-K3IBZ2UZ.js';
19
19
  import '../../chunk-UDFWBALP.js';
20
20
  import '../../chunk-ORH2BZEM.js';
21
- import '../../chunk-JS7DCCDA.js';
21
+ import '../../chunk-V2OQ3BI6.js';
22
22
  import '../../chunk-FJYOQMXT.js';
23
23
  import '../../chunk-4GY63JU6.js';
24
24
  import '../../chunk-VRFKCF3R.js';
@@ -1,15 +1,15 @@
1
- export { DevServerConnector, createConnector3 as createConnector } from '../../chunk-FWZTKSYI.js';
2
- import '../../chunk-ZWTCXL3H.js';
1
+ export { DevServerConnector, createConnector3 as createConnector } from '../../chunk-WTBXGJCD.js';
2
+ import '../../chunk-2QYQOJ2F.js';
3
3
  import '../../chunk-S63H4HDH.js';
4
- import '../../chunk-3VUHHDZW.js';
4
+ import '../../chunk-5SGS5SN2.js';
5
5
  import '../../chunk-NTASYPDN.js';
6
6
  import '../../chunk-EINLFFP6.js';
7
7
  import '../../chunk-LOO5CB5M.js';
8
- import '../../chunk-TTITGVXV.js';
9
- import '../../chunk-O63QZ6XX.js';
8
+ import '../../chunk-RZXP5ZER.js';
9
+ import '../../chunk-UFBURH6K.js';
10
10
  import '../../chunk-XBSQ4KMC.js';
11
11
  import '../../chunk-YROR332M.js';
12
- import '../../chunk-MQU632EK.js';
12
+ import '../../chunk-WQULDAH2.js';
13
13
  import '../../chunk-6E6PKKAD.js';
14
14
  import '../../chunk-IFGTRL2I.js';
15
15
  import '../../chunk-FLGLODDF.js';
@@ -18,7 +18,7 @@ import '../../chunk-DIQDYNXZ.js';
18
18
  import '../../chunk-K3IBZ2UZ.js';
19
19
  import '../../chunk-UDFWBALP.js';
20
20
  import '../../chunk-ORH2BZEM.js';
21
- import '../../chunk-JS7DCCDA.js';
21
+ import '../../chunk-V2OQ3BI6.js';
22
22
  import '../../chunk-FJYOQMXT.js';
23
23
  import '../../chunk-4GY63JU6.js';
24
24
  import '../../chunk-VRFKCF3R.js';
@@ -1,15 +1,15 @@
1
- export { FlowAdapter, createConnector, describeFlowOperations } from '../../../chunk-FWZTKSYI.js';
2
- import '../../../chunk-ZWTCXL3H.js';
1
+ export { FlowAdapter, createConnector, describeFlowOperations } from '../../../chunk-WTBXGJCD.js';
2
+ import '../../../chunk-2QYQOJ2F.js';
3
3
  import '../../../chunk-S63H4HDH.js';
4
- import '../../../chunk-3VUHHDZW.js';
4
+ import '../../../chunk-5SGS5SN2.js';
5
5
  import '../../../chunk-NTASYPDN.js';
6
6
  import '../../../chunk-EINLFFP6.js';
7
7
  import '../../../chunk-LOO5CB5M.js';
8
- import '../../../chunk-TTITGVXV.js';
9
- import '../../../chunk-O63QZ6XX.js';
8
+ import '../../../chunk-RZXP5ZER.js';
9
+ import '../../../chunk-UFBURH6K.js';
10
10
  import '../../../chunk-XBSQ4KMC.js';
11
11
  import '../../../chunk-YROR332M.js';
12
- import '../../../chunk-MQU632EK.js';
12
+ import '../../../chunk-WQULDAH2.js';
13
13
  import '../../../chunk-6E6PKKAD.js';
14
14
  import '../../../chunk-IFGTRL2I.js';
15
15
  export { isBlocking } from '../../../chunk-FLGLODDF.js';
@@ -18,7 +18,7 @@ import '../../../chunk-DIQDYNXZ.js';
18
18
  import '../../../chunk-K3IBZ2UZ.js';
19
19
  import '../../../chunk-UDFWBALP.js';
20
20
  import '../../../chunk-ORH2BZEM.js';
21
- import '../../../chunk-JS7DCCDA.js';
21
+ import '../../../chunk-V2OQ3BI6.js';
22
22
  import '../../../chunk-FJYOQMXT.js';
23
23
  import '../../../chunk-4GY63JU6.js';
24
24
  import '../../../chunk-VRFKCF3R.js';
@@ -1,18 +1,18 @@
1
- export { awaitAgentEnd, resolveFlowPath, resumeFlow, runFlow } from '../../../chunk-3CLUU45N.js';
1
+ export { awaitAgentEnd, resolveFlowPath, resumeFlow, runFlow } from '../../../chunk-SGMCSVTO.js';
2
2
  import '../../../chunk-4R6DROGN.js';
3
3
  import '../../../chunk-3SUWLY3H.js';
4
- import '../../../chunk-FWZTKSYI.js';
5
- import '../../../chunk-ZWTCXL3H.js';
4
+ import '../../../chunk-WTBXGJCD.js';
5
+ import '../../../chunk-2QYQOJ2F.js';
6
6
  import '../../../chunk-S63H4HDH.js';
7
- import '../../../chunk-3VUHHDZW.js';
7
+ import '../../../chunk-5SGS5SN2.js';
8
8
  import '../../../chunk-NTASYPDN.js';
9
9
  import '../../../chunk-EINLFFP6.js';
10
10
  import '../../../chunk-LOO5CB5M.js';
11
- import '../../../chunk-TTITGVXV.js';
12
- import '../../../chunk-O63QZ6XX.js';
11
+ import '../../../chunk-RZXP5ZER.js';
12
+ import '../../../chunk-UFBURH6K.js';
13
13
  import '../../../chunk-XBSQ4KMC.js';
14
14
  import '../../../chunk-YROR332M.js';
15
- import '../../../chunk-MQU632EK.js';
15
+ import '../../../chunk-WQULDAH2.js';
16
16
  import '../../../chunk-6E6PKKAD.js';
17
17
  import '../../../chunk-IFGTRL2I.js';
18
18
  import '../../../chunk-FLGLODDF.js';
@@ -21,7 +21,7 @@ import '../../../chunk-DIQDYNXZ.js';
21
21
  import '../../../chunk-K3IBZ2UZ.js';
22
22
  import '../../../chunk-UDFWBALP.js';
23
23
  import '../../../chunk-ORH2BZEM.js';
24
- import '../../../chunk-JS7DCCDA.js';
24
+ import '../../../chunk-V2OQ3BI6.js';
25
25
  import '../../../chunk-FJYOQMXT.js';
26
26
  import '../../../chunk-4GY63JU6.js';
27
27
  import '../../../chunk-VRFKCF3R.js';
@@ -1,15 +1,15 @@
1
- export { ClassifierSubpromptRunner, FlowAdapter, SessionInlineSubFlowRunner, SessionNodeExecutor, SessionSubpromptRunner, buildFlowPromptEvent, classifierQuestion, createConnector, describeFlowOperations, driveOrchestratorTurn } from '../../chunk-FWZTKSYI.js';
2
- import '../../chunk-ZWTCXL3H.js';
1
+ export { ClassifierSubpromptRunner, FlowAdapter, SessionInlineSubFlowRunner, SessionNodeExecutor, SessionSubpromptRunner, buildFlowPromptEvent, classifierQuestion, createConnector, describeFlowOperations, driveOrchestratorTurn } from '../../chunk-WTBXGJCD.js';
2
+ import '../../chunk-2QYQOJ2F.js';
3
3
  import '../../chunk-S63H4HDH.js';
4
- import '../../chunk-3VUHHDZW.js';
4
+ import '../../chunk-5SGS5SN2.js';
5
5
  import '../../chunk-NTASYPDN.js';
6
6
  import '../../chunk-EINLFFP6.js';
7
7
  import '../../chunk-LOO5CB5M.js';
8
- import '../../chunk-TTITGVXV.js';
9
- import '../../chunk-O63QZ6XX.js';
8
+ import '../../chunk-RZXP5ZER.js';
9
+ import '../../chunk-UFBURH6K.js';
10
10
  import '../../chunk-XBSQ4KMC.js';
11
11
  import '../../chunk-YROR332M.js';
12
- import '../../chunk-MQU632EK.js';
12
+ import '../../chunk-WQULDAH2.js';
13
13
  import '../../chunk-6E6PKKAD.js';
14
14
  import '../../chunk-IFGTRL2I.js';
15
15
  import '../../chunk-FLGLODDF.js';
@@ -18,7 +18,7 @@ import '../../chunk-DIQDYNXZ.js';
18
18
  import '../../chunk-K3IBZ2UZ.js';
19
19
  import '../../chunk-UDFWBALP.js';
20
20
  import '../../chunk-ORH2BZEM.js';
21
- import '../../chunk-JS7DCCDA.js';
21
+ import '../../chunk-V2OQ3BI6.js';
22
22
  import '../../chunk-FJYOQMXT.js';
23
23
  import '../../chunk-4GY63JU6.js';
24
24
  import '../../chunk-VRFKCF3R.js';
@@ -1,15 +1,15 @@
1
- export { GitConnector, MAX_REARM_MS, MIN_REFRESH_DELAY_MS, REFRESH_LEAD_MS, __test, createConnector5 as createConnector, readGitSyncStatus } from '../../chunk-FWZTKSYI.js';
2
- import '../../chunk-ZWTCXL3H.js';
1
+ export { GitConnector, MAX_REARM_MS, MIN_REFRESH_DELAY_MS, REFRESH_LEAD_MS, __test, createConnector5 as createConnector, readGitSyncStatus } from '../../chunk-WTBXGJCD.js';
2
+ import '../../chunk-2QYQOJ2F.js';
3
3
  import '../../chunk-S63H4HDH.js';
4
- import '../../chunk-3VUHHDZW.js';
4
+ import '../../chunk-5SGS5SN2.js';
5
5
  import '../../chunk-NTASYPDN.js';
6
6
  import '../../chunk-EINLFFP6.js';
7
7
  import '../../chunk-LOO5CB5M.js';
8
- import '../../chunk-TTITGVXV.js';
9
- import '../../chunk-O63QZ6XX.js';
8
+ import '../../chunk-RZXP5ZER.js';
9
+ import '../../chunk-UFBURH6K.js';
10
10
  import '../../chunk-XBSQ4KMC.js';
11
11
  import '../../chunk-YROR332M.js';
12
- import '../../chunk-MQU632EK.js';
12
+ import '../../chunk-WQULDAH2.js';
13
13
  import '../../chunk-6E6PKKAD.js';
14
14
  import '../../chunk-IFGTRL2I.js';
15
15
  import '../../chunk-FLGLODDF.js';
@@ -18,7 +18,7 @@ import '../../chunk-DIQDYNXZ.js';
18
18
  import '../../chunk-K3IBZ2UZ.js';
19
19
  import '../../chunk-UDFWBALP.js';
20
20
  import '../../chunk-ORH2BZEM.js';
21
- import '../../chunk-JS7DCCDA.js';
21
+ import '../../chunk-V2OQ3BI6.js';
22
22
  import '../../chunk-FJYOQMXT.js';
23
23
  import '../../chunk-4GY63JU6.js';
24
24
  import '../../chunk-VRFKCF3R.js';