@skaile/workspaces 4.19.0 → 4.20.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 (130) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/app-sdk/index.js +1 -1
  3. package/dist/{asset-feeds-VXK6SHWK.js → asset-feeds-HQJGP42P.js} +4 -4
  4. package/dist/{asset-feeds-VXK6SHWK.js.map → asset-feeds-HQJGP42P.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-S4R3WNRF.js → chunk-2KTI5R4T.js} +3 -3
  17. package/dist/{chunk-S4R3WNRF.js.map → chunk-2KTI5R4T.js.map} +1 -1
  18. package/dist/{chunk-T6QGP5HN.js → chunk-3FGGVQDU.js} +6 -6
  19. package/dist/{chunk-T6QGP5HN.js.map → chunk-3FGGVQDU.js.map} +1 -1
  20. package/dist/{chunk-EEODEEKX.js → chunk-4WBZC7UF.js} +4 -4
  21. package/dist/{chunk-EEODEEKX.js.map → chunk-4WBZC7UF.js.map} +1 -1
  22. package/dist/{chunk-TOXPRXAK.js → chunk-56UHERYI.js} +3 -3
  23. package/dist/{chunk-TOXPRXAK.js.map → chunk-56UHERYI.js.map} +1 -1
  24. package/dist/{chunk-YUH46KA7.js → chunk-666BKSSR.js} +3 -3
  25. package/dist/{chunk-YUH46KA7.js.map → chunk-666BKSSR.js.map} +1 -1
  26. package/dist/{chunk-EBYSCP6J.js → chunk-CHGN5BTN.js} +4 -4
  27. package/dist/{chunk-EBYSCP6J.js.map → chunk-CHGN5BTN.js.map} +1 -1
  28. package/dist/{chunk-UF4AEO54.js → chunk-D3LQY3MT.js} +3 -3
  29. package/dist/{chunk-UF4AEO54.js.map → chunk-D3LQY3MT.js.map} +1 -1
  30. package/dist/{chunk-XAKGLR4Y.js → chunk-DMDZTEL4.js} +6 -6
  31. package/dist/{chunk-XAKGLR4Y.js.map → chunk-DMDZTEL4.js.map} +1 -1
  32. package/dist/{chunk-66WUZ3XL.js → chunk-EC24QFGP.js} +7 -7
  33. package/dist/{chunk-66WUZ3XL.js.map → chunk-EC24QFGP.js.map} +1 -1
  34. package/dist/{chunk-6V3DMJPL.js → chunk-EMWWU6RR.js} +3 -3
  35. package/dist/{chunk-6V3DMJPL.js.map → chunk-EMWWU6RR.js.map} +1 -1
  36. package/dist/{chunk-PQE2MYB6.js → chunk-IDPHRLYV.js} +3 -3
  37. package/dist/{chunk-PQE2MYB6.js.map → chunk-IDPHRLYV.js.map} +1 -1
  38. package/dist/{chunk-W2SDSDR7.js → chunk-OFC725VA.js} +17 -10
  39. package/dist/{chunk-W2SDSDR7.js.map → chunk-OFC725VA.js.map} +1 -1
  40. package/dist/{chunk-P6S5K7AI.js → chunk-OR7C7PTE.js} +3 -3
  41. package/dist/{chunk-P6S5K7AI.js.map → chunk-OR7C7PTE.js.map} +1 -1
  42. package/dist/{chunk-66MJRB6K.js → chunk-P6L3CMKN.js} +2 -2
  43. package/dist/{chunk-66MJRB6K.js.map → chunk-P6L3CMKN.js.map} +1 -1
  44. package/dist/{chunk-QQ3G5N7X.js → chunk-PGQDBXS7.js} +4 -4
  45. package/dist/chunk-PGQDBXS7.js.map +1 -0
  46. package/dist/{chunk-J3K5O6XA.js → chunk-QNC7VEBL.js} +3 -3
  47. package/dist/{chunk-J3K5O6XA.js.map → chunk-QNC7VEBL.js.map} +1 -1
  48. package/dist/{chunk-EPSCLN5W.js → chunk-RJ67DIJI.js} +3 -3
  49. package/dist/{chunk-EPSCLN5W.js.map → chunk-RJ67DIJI.js.map} +1 -1
  50. package/dist/{chunk-FEEAYDKF.js → chunk-RZNASEEJ.js} +3 -3
  51. package/dist/{chunk-FEEAYDKF.js.map → chunk-RZNASEEJ.js.map} +1 -1
  52. package/dist/{chunk-VXY6LSQ3.js → chunk-TFCZYDOE.js} +6 -6
  53. package/dist/{chunk-VXY6LSQ3.js.map → chunk-TFCZYDOE.js.map} +1 -1
  54. package/dist/{chunk-RGB45PIL.js → chunk-TLOP6FLY.js} +2 -2
  55. package/dist/{chunk-RGB45PIL.js.map → chunk-TLOP6FLY.js.map} +1 -1
  56. package/dist/{chunk-7WVPAQPE.js → chunk-TVLQTO7E.js} +7 -4
  57. package/dist/chunk-TVLQTO7E.js.map +1 -0
  58. package/dist/{chunk-25BOOOSM.js → chunk-VFUY5O4T.js} +3 -3
  59. package/dist/{chunk-25BOOOSM.js.map → chunk-VFUY5O4T.js.map} +1 -1
  60. package/dist/{chunk-RYIWFV67.js → chunk-XJTD6KWX.js} +2 -2
  61. package/dist/{chunk-RYIWFV67.js.map → chunk-XJTD6KWX.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-WYXFJWUO.js → ensure-sources-LQNEZUFT.js} +4 -4
  66. package/dist/{ensure-sources-WYXFJWUO.js.map → ensure-sources-LQNEZUFT.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-TANA2HQT.js → helpers-73M3SDDE.js} +4 -4
  90. package/dist/{helpers-TANA2HQT.js.map → helpers-73M3SDDE.js.map} +1 -1
  91. package/dist/{library-publish-JQNTMKZG.js → library-publish-NLA2EBV7.js} +6 -6
  92. package/dist/{library-publish-JQNTMKZG.js.map → library-publish-NLA2EBV7.js.map} +1 -1
  93. package/dist/{open-library-NKZ4HJJ6.js → open-library-FHPRGIP6.js} +5 -5
  94. package/dist/{open-library-NKZ4HJJ6.js.map → open-library-FHPRGIP6.js.map} +1 -1
  95. package/dist/{project-AEAM2ZEW.js → project-OKV7M4BV.js} +5 -5
  96. package/dist/{project-AEAM2ZEW.js.map → project-OKV7M4BV.js.map} +1 -1
  97. package/dist/runner/index.js +11 -11
  98. package/dist/runner/src/resource-handler.d.ts.map +1 -1
  99. package/dist/sdk/asset-manager.js +1 -1
  100. package/dist/sdk/bridge.js +5 -5
  101. package/dist/sdk/index.js +11 -11
  102. package/dist/sdk/runner.js +11 -11
  103. package/dist/sdk/session.js +2 -2
  104. package/dist/sdk/store.js +1 -1
  105. package/dist/sdk/types.js +1 -1
  106. package/dist/session/index.js +2 -2
  107. package/dist/{setup-Q7ACRV72.js → setup-VBXJH72H.js} +10 -10
  108. package/dist/{setup-Q7ACRV72.js.map → setup-VBXJH72H.js.map} +1 -1
  109. package/dist/{source-QXQ3NO46.js → source-6KKMQU67.js} +6 -6
  110. package/dist/{source-QXQ3NO46.js.map → source-6KKMQU67.js.map} +1 -1
  111. package/dist/{source-manifest-publish-UKWCZA2M.js → source-manifest-publish-EPIP6RQ3.js} +7 -7
  112. package/dist/{source-manifest-publish-UKWCZA2M.js.map → source-manifest-publish-EPIP6RQ3.js.map} +1 -1
  113. package/dist/store/index.js +1 -1
  114. package/dist/store/src/resource-client.d.ts +5 -2
  115. package/dist/store/src/resource-client.d.ts.map +1 -1
  116. package/dist/tui/index.js +11 -11
  117. package/dist/types/index.js +1 -1
  118. package/dist/types/src/events.d.ts +19 -0
  119. package/dist/types/src/events.d.ts.map +1 -1
  120. package/dist/types/src/index.d.ts +1 -1
  121. package/dist/types/src/index.d.ts.map +1 -1
  122. package/dist/types/src/protocol.d.ts +3 -3
  123. package/dist/types/src/protocol.d.ts.map +1 -1
  124. package/dist/types/src/version.d.ts +7 -1
  125. package/dist/types/src/version.d.ts.map +1 -1
  126. package/dist/workspace-plugin/adapters/mcp.js +2 -2
  127. package/dist/workspace-plugin/index.js +1 -1
  128. package/package.json +1 -1
  129. package/dist/chunk-7WVPAQPE.js.map +0 -1
  130. package/dist/chunk-QQ3G5N7X.js.map +0 -1
package/dist/cli/index.js CHANGED
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import { AI_RESOURCES } from '../chunk-GMXG2JGN.js';
3
- import { makeInstallCommand, makeCheckCommand, makeCleanCommand, reportInstalledSoftDeps } from '../chunk-VXY6LSQ3.js';
4
- import { makeProvidersCommand, loadRegistryView, addProviderEntry, ProviderRegistryWriteError } from '../chunk-EBYSCP6J.js';
3
+ import { makeInstallCommand, makeCheckCommand, makeCleanCommand, reportInstalledSoftDeps } from '../chunk-TFCZYDOE.js';
4
+ import { makeProvidersCommand, loadRegistryView, addProviderEntry, ProviderRegistryWriteError } from '../chunk-CHGN5BTN.js';
5
5
  import { getStoreConfig, storeFetch, deviceLogin, loadStoreAuthConfig, logout, hasStoredAuth, isStoreAuthenticated, getStoreToken, getStoreIdentity } from '../chunk-IJTEDXWQ.js';
6
- import { makeSourceCommand, syncProjectSources } from '../chunk-XAKGLR4Y.js';
7
- import { openCatalogSource, openLibraryManager, createFullRegistry, openLibrary } from '../chunk-6V3DMJPL.js';
8
- import { logErr, S, logOk, logInfo, logWarn, kindColorPad, kindColor, colorRef, formatSoftDepSection, bareSoftDepName, formatSoftDepHint, formatRelativeTime, formatSoftDepRemovePreview, formatSoftDepAddPreview, fitWidth } from '../chunk-S4R3WNRF.js';
6
+ import { makeSourceCommand, syncProjectSources } from '../chunk-DMDZTEL4.js';
7
+ import { openCatalogSource, openLibraryManager, createFullRegistry, openLibrary } from '../chunk-EMWWU6RR.js';
8
+ import { logErr, S, logOk, logInfo, logWarn, kindColorPad, kindColor, colorRef, formatSoftDepSection, bareSoftDepName, formatSoftDepHint, formatRelativeTime, formatSoftDepRemovePreview, formatSoftDepAddPreview, fitWidth } from '../chunk-2KTI5R4T.js';
9
9
  import { LocalSecretsProvider } from '../chunk-6BEGKO2Q.js';
10
- import { runAgentChat, loadSessionById, loadSession, listSessions, setCurrentSession, deleteSession, clearSession, loadAgentManifest, compileComposition, MarkdownStreamer, resolveMixin } from '../chunk-W2SDSDR7.js';
11
- import { buildClaudePluginFiles } from '../chunk-66MJRB6K.js';
12
- import '../chunk-PQE2MYB6.js';
10
+ import { runAgentChat, loadSessionById, loadSession, listSessions, setCurrentSession, deleteSession, clearSession, loadAgentManifest, compileComposition, MarkdownStreamer, resolveMixin } from '../chunk-OFC725VA.js';
11
+ import { buildClaudePluginFiles } from '../chunk-P6L3CMKN.js';
12
+ import '../chunk-IDPHRLYV.js';
13
13
  import '../chunk-KU473DRO.js';
14
14
  import '../chunk-P2DLXBZK.js';
15
15
  import '../chunk-7IH3RKKK.js';
@@ -24,22 +24,22 @@ import '../chunk-73ZXUUL6.js';
24
24
  import '../chunk-32NA4TVC.js';
25
25
  import '../chunk-W3UDISS2.js';
26
26
  import '../chunk-PE3A6FFW.js';
27
- import { runFlow, resumeFlow } from '../chunk-J3K5O6XA.js';
27
+ import { runFlow, resumeFlow } from '../chunk-QNC7VEBL.js';
28
28
  import '../chunk-4R6DROGN.js';
29
29
  import { validateFlowVersions, parseSkillFrontmatter } from '../chunk-T3YUSWVK.js';
30
30
  import '../chunk-Q6NDQ6BH.js';
31
31
  import '../chunk-ZK7DQRB2.js';
32
- import '../chunk-66WUZ3XL.js';
33
- import '../chunk-UF4AEO54.js';
32
+ import '../chunk-EC24QFGP.js';
33
+ import '../chunk-D3LQY3MT.js';
34
34
  import '../chunk-MC2MF4U5.js';
35
- import '../chunk-EEODEEKX.js';
35
+ import '../chunk-4WBZC7UF.js';
36
36
  import '../chunk-6S5KL76M.js';
37
37
  import '../chunk-LOO5CB5M.js';
38
- import '../chunk-TOXPRXAK.js';
39
- import '../chunk-P6S5K7AI.js';
38
+ import '../chunk-56UHERYI.js';
39
+ import '../chunk-OR7C7PTE.js';
40
40
  import '../chunk-BGY4KTU6.js';
41
41
  import '../chunk-YROR332M.js';
42
- import { getProviderPreset, AI_PROVIDER_PRESETS } from '../chunk-RGB45PIL.js';
42
+ import { getProviderPreset, AI_PROVIDER_PRESETS } from '../chunk-TLOP6FLY.js';
43
43
  import '../chunk-6E6PKKAD.js';
44
44
  import '../chunk-IFGTRL2I.js';
45
45
  import { projectAiAssetsRoots, loadFlow, loadAllFlowEntries, findFlowFileInRoots } from '../chunk-KTCMBEEB.js';
@@ -48,8 +48,8 @@ import '../chunk-ALLCAFHQ.js';
48
48
  import '../chunk-RQLL7L72.js';
49
49
  import { nodeLabel, nodeSkillAsset, nodeIsInert, nodeIsOptional, nodeRunKind, flowSkillVersionPins } from '../chunk-V4RGCKYC.js';
50
50
  import '../chunk-DHMBE5J7.js';
51
- import '../chunk-QQ3G5N7X.js';
52
- import { AssetManager, NON_DEPLOYABLE_KINDS, MissingManifestError, parseRefTolerant, normalizeRepoUrl, FACTORY_SOURCE_URL } from '../chunk-RYIWFV67.js';
51
+ import '../chunk-PGQDBXS7.js';
52
+ import { AssetManager, NON_DEPLOYABLE_KINDS, MissingManifestError, parseRefTolerant, normalizeRepoUrl, FACTORY_SOURCE_URL } from '../chunk-XJTD6KWX.js';
53
53
  import { getStoreManifestsDir, getDefaultValue, isSecretPlaceholder } from '../chunk-UFWADBG6.js';
54
54
  import '../chunk-HGPSZXZP.js';
55
55
  import '../chunk-VOEBLPXO.js';
@@ -128,7 +128,7 @@ async function runSearch(kind, query, opts) {
128
128
  }
129
129
  }
130
130
  async function searchIndex(query, kind) {
131
- const { openLibrary: openLibrary2 } = await import('../open-library-NKZ4HJJ6.js');
131
+ const { openLibrary: openLibrary2 } = await import('../open-library-FHPRGIP6.js');
132
132
  const library = await openLibrary2();
133
133
  try {
134
134
  const defs = await library.listAssetDefs(kind ? { kind } : {});
@@ -181,7 +181,7 @@ async function searchLocal(query, kind, opts, showStore, airGapped) {
181
181
  const factory = await searchFactory(projectDir, query, kind);
182
182
  let entries = unionEntries(await searchIndex(query, kind), factory);
183
183
  if (entries.length === 0 && !query && !kind && !airGapped) {
184
- const { autoSyncForSearch } = await import('../source-QXQ3NO46.js');
184
+ const { autoSyncForSearch } = await import('../source-6KKMQU67.js');
185
185
  if (await autoSyncForSearch(projectDir)) {
186
186
  entries = unionEntries(await searchIndex(query, kind), factory);
187
187
  }
@@ -235,7 +235,7 @@ async function searchStore(query, kind, opts, airGapped) {
235
235
  logInfo("air-gapped (cache_ttl: 0) \u2014 local sources only");
236
236
  return;
237
237
  }
238
- const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError } = await import('../open-library-NKZ4HJJ6.js');
238
+ const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError } = await import('../open-library-FHPRGIP6.js');
239
239
  try {
240
240
  const remote = await openCatalogSource2({ projectDir: path36__default.resolve(opts.projectDir) });
241
241
  const assets = await remote.listAssets(kind ? { kind } : {});
@@ -550,7 +550,7 @@ async function resolveInfoEntry(am2, ref, opts) {
550
550
  return { entry: match ?? deployed };
551
551
  }
552
552
  const lookup = opts.storeLookup ?? (async (filter) => {
553
- const { resolveCatalogSource } = await import('../open-library-NKZ4HJJ6.js');
553
+ const { resolveCatalogSource } = await import('../open-library-FHPRGIP6.js');
554
554
  const { source, close } = await resolveCatalogSource({ projectDir: opts.projectDir });
555
555
  try {
556
556
  return await source.listAssets(filter);
@@ -566,7 +566,7 @@ async function resolveInfoEntry(am2, ref, opts) {
566
566
  );
567
567
  return { entry: hit ? catalogAssetToEntry(hit) : null };
568
568
  } catch (err) {
569
- const { LocalCatalogDisabledError } = await import('../open-library-NKZ4HJJ6.js');
569
+ const { LocalCatalogDisabledError } = await import('../open-library-FHPRGIP6.js');
570
570
  const storeNote = err instanceof Error ? err.message : String(err);
571
571
  const disabled = err instanceof LocalCatalogDisabledError || /catalog\.url/i.test(storeNote);
572
572
  return { entry: null, storeNote, ...disabled ? { storeDisabled: true } : {} };
@@ -1186,7 +1186,7 @@ function makeCatalogCommand() {
1186
1186
  return catalog;
1187
1187
  }
1188
1188
  async function runLocalCatalogTest(projectDir) {
1189
- const { resolveCatalogSource } = await import('../open-library-NKZ4HJJ6.js');
1189
+ const { resolveCatalogSource } = await import('../open-library-FHPRGIP6.js');
1190
1190
  let resolved;
1191
1191
  try {
1192
1192
  resolved = await resolveCatalogSource({ projectDir });
@@ -3503,16 +3503,16 @@ function makeLibraryCommand() {
3503
3503
  });
3504
3504
  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(
3505
3505
  async (lib, opts) => {
3506
- const { runLibraryPublish } = await import('../library-publish-JQNTMKZG.js');
3506
+ const { runLibraryPublish } = await import('../library-publish-NLA2EBV7.js');
3507
3507
  await withStoreErrorHandling(() => runLibraryPublish(lib, opts));
3508
3508
  }
3509
3509
  );
3510
3510
  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) => {
3511
- const { runLibraryRegister } = await import('../library-publish-JQNTMKZG.js');
3511
+ const { runLibraryRegister } = await import('../library-publish-NLA2EBV7.js');
3512
3512
  await withStoreErrorHandling(() => runLibraryRegister(lib, opts));
3513
3513
  });
3514
3514
  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) => {
3515
- const { runLibraryYank } = await import('../library-publish-JQNTMKZG.js');
3515
+ const { runLibraryYank } = await import('../library-publish-NLA2EBV7.js');
3516
3516
  await withStoreErrorHandling(() => runLibraryYank(lib, opts));
3517
3517
  });
3518
3518
  return cmd;
@@ -4234,7 +4234,7 @@ function scheduleSoftDepPreview() {
4234
4234
  }
4235
4235
  async function loadAssets() {
4236
4236
  softDepPreviewCache.clear();
4237
- const { gatherAssetFeeds } = await import('../asset-feeds-VXK6SHWK.js');
4237
+ const { gatherAssetFeeds } = await import('../asset-feeds-HQJGP42P.js');
4238
4238
  const { entries, domains, notes } = await gatherAssetFeeds(am, am.projectDir);
4239
4239
  if (notes.length > 0) {
4240
4240
  state.message = notes.map((n) => `[${n.feed}] ${n.message}`).join(" \u2022 ");
@@ -4440,7 +4440,7 @@ function reconcileCollapsedSets(rows) {
4440
4440
  async function loadSourcesAndLibraries() {
4441
4441
  try {
4442
4442
  const [{ openLibraryManager: openLibraryManager2 }, { skaileHomeDir }, { getGlobalCacheDir: getGlobalCacheDir2 }] = await Promise.all([
4443
- import('../open-library-NKZ4HJJ6.js'),
4443
+ import('../open-library-FHPRGIP6.js'),
4444
4444
  import('../library/index.js'),
4445
4445
  import('../core/index.js')
4446
4446
  ]);
@@ -7255,7 +7255,7 @@ function makeServeCommand() {
7255
7255
  );
7256
7256
  }
7257
7257
  async function ensurePluginsLoadedForServe(projectDir) {
7258
- const { logInfo: logInfo2, logWarn: logWarn2 } = await import('../helpers-TANA2HQT.js');
7258
+ const { logInfo: logInfo2, logWarn: logWarn2 } = await import('../helpers-73M3SDDE.js');
7259
7259
  try {
7260
7260
  const { resolveSkWorkspaceConfig: resolveSkWorkspaceConfig2 } = await import('../core/index.js');
7261
7261
  const config = resolveSkWorkspaceConfig2(projectDir);
@@ -7274,7 +7274,7 @@ async function ensurePluginsLoadedForServe(projectDir) {
7274
7274
  }
7275
7275
  }
7276
7276
  async function runCompileTest(opts) {
7277
- const { logOk: logOk2, logErr: logErr2, logInfo: logInfo2, S: S2 } = await import('../helpers-TANA2HQT.js');
7277
+ const { logOk: logOk2, logErr: logErr2, logInfo: logInfo2, S: S2 } = await import('../helpers-73M3SDDE.js');
7278
7278
  const { tmpdir } = await import('os');
7279
7279
  const { dirname: dirname4, join: join7, resolve: resolve5 } = await import('path');
7280
7280
  const { fileURLToPath: fileURLToPath2 } = await import('url');
@@ -8156,7 +8156,7 @@ function makeStoreCommand() {
8156
8156
  process.exit(2);
8157
8157
  });
8158
8158
  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) => {
8159
- const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError } = await import('../open-library-NKZ4HJJ6.js');
8159
+ const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError } = await import('../open-library-FHPRGIP6.js');
8160
8160
  try {
8161
8161
  const remote = await openCatalogSource2({ projectDir: path36__default.resolve(opts.projectDir) });
8162
8162
  const assets = await remote.listAssets(opts.kind ? { kind: opts.kind } : {});
@@ -8189,8 +8189,8 @@ function makeStoreCommand() {
8189
8189
  }
8190
8190
  });
8191
8191
  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) => {
8192
- const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError } = await import('../open-library-NKZ4HJJ6.js');
8193
- const { supportsInstallManifest } = await import('../project-AEAM2ZEW.js');
8192
+ const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError } = await import('../open-library-FHPRGIP6.js');
8193
+ const { supportsInstallManifest } = await import('../project-OKV7M4BV.js');
8194
8194
  try {
8195
8195
  const remote = await openCatalogSource2({ projectDir: path36__default.resolve(opts.projectDir) });
8196
8196
  const asset = await remote.resolve(ref);
@@ -9278,7 +9278,7 @@ async function bootstrapUserConfig() {
9278
9278
  }
9279
9279
  async function hydrateInitSources(resolved, created) {
9280
9280
  try {
9281
- const { ensureSourcesCloned } = await import('../ensure-sources-WYXFJWUO.js');
9281
+ const { ensureSourcesCloned } = await import('../ensure-sources-LQNEZUFT.js');
9282
9282
  const hydrate = ensureSourcesCloned(resolved, { quiet: true });
9283
9283
  for (const n of hydrate.cloned) created.push(`~/.skaile/cache/sources/${n}/`);
9284
9284
  if (hydrate.failed.length > 0) {
@@ -9318,7 +9318,7 @@ function printInitSummary(resolved, projectDir, created) {
9318
9318
  console.log();
9319
9319
  }
9320
9320
  program.command("setup").description("Interactive provider setup wizard").action(async () => {
9321
- const { cmdSetup } = await import('../setup-Q7ACRV72.js');
9321
+ const { cmdSetup } = await import('../setup-VBXJH72H.js');
9322
9322
  await cmdSetup([], { projectDir: process.cwd() });
9323
9323
  });
9324
9324
  program.addCommand(makeInstallCommand());
@@ -1,14 +1,14 @@
1
- export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, 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, registerBuiltinConnectors, removeMountBlock, removeUnavailableMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock, writeUnavailableMountBlock } from '../chunk-66WUZ3XL.js';
2
- export { CONNECT_ERROR_KIND_PROPERTY, ClassifiedConnectError, declaredConnectErrorKind, withConnectErrorKind } from '../chunk-UF4AEO54.js';
1
+ export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, 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, registerBuiltinConnectors, removeMountBlock, removeUnavailableMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock, writeUnavailableMountBlock } from '../chunk-EC24QFGP.js';
2
+ export { CONNECT_ERROR_KIND_PROPERTY, ClassifiedConnectError, declaredConnectErrorKind, withConnectErrorKind } from '../chunk-D3LQY3MT.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-MC2MF4U5.js';
4
- import '../chunk-EEODEEKX.js';
4
+ import '../chunk-4WBZC7UF.js';
5
5
  import '../chunk-6S5KL76M.js';
6
6
  import '../chunk-LOO5CB5M.js';
7
- import '../chunk-TOXPRXAK.js';
8
- import '../chunk-P6S5K7AI.js';
7
+ import '../chunk-56UHERYI.js';
8
+ import '../chunk-OR7C7PTE.js';
9
9
  import '../chunk-BGY4KTU6.js';
10
10
  import '../chunk-YROR332M.js';
11
- import '../chunk-RGB45PIL.js';
11
+ import '../chunk-TLOP6FLY.js';
12
12
  import '../chunk-6E6PKKAD.js';
13
13
  import '../chunk-IFGTRL2I.js';
14
14
  import '../chunk-KTCMBEEB.js';
@@ -17,7 +17,7 @@ import '../chunk-ALLCAFHQ.js';
17
17
  import '../chunk-RQLL7L72.js';
18
18
  import '../chunk-V4RGCKYC.js';
19
19
  import '../chunk-DHMBE5J7.js';
20
- import '../chunk-QQ3G5N7X.js';
20
+ import '../chunk-PGQDBXS7.js';
21
21
  import '../chunk-UWU572Q6.js';
22
22
  import '../chunk-4GY63JU6.js';
23
23
  import '../chunk-5RHPNNWP.js';
@@ -1,5 +1,5 @@
1
- export { CONNECT_ERROR_KIND_PROPERTY, ClassifiedConnectError, withConnectErrorKind } from '../chunk-UF4AEO54.js';
2
- import '../chunk-QQ3G5N7X.js';
1
+ export { CONNECT_ERROR_KIND_PROPERTY, ClassifiedConnectError, withConnectErrorKind } from '../chunk-D3LQY3MT.js';
2
+ import '../chunk-PGQDBXS7.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-S4R3WNRF.js';
2
- import './chunk-RYIWFV67.js';
1
+ import { logErr, logOk, logInfo } from './chunk-2KTI5R4T.js';
2
+ import './chunk-XJTD6KWX.js';
3
3
  import './chunk-UFWADBG6.js';
4
4
  import './chunk-HGPSZXZP.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-WYXFJWUO.js.map
94
- //# sourceMappingURL=ensure-sources-WYXFJWUO.js.map
93
+ //# sourceMappingURL=ensure-sources-LQNEZUFT.js.map
94
+ //# sourceMappingURL=ensure-sources-LQNEZUFT.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../cli/src/ensure-sources.ts"],"names":[],"mappings":"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","file":"ensure-sources-WYXFJWUO.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-LQNEZUFT.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,14 +1,14 @@
1
- export { BoxConnector, createConnector4 as createConnector } from '../../chunk-66WUZ3XL.js';
2
- import '../../chunk-UF4AEO54.js';
1
+ export { BoxConnector, createConnector4 as createConnector } from '../../chunk-EC24QFGP.js';
2
+ import '../../chunk-D3LQY3MT.js';
3
3
  import '../../chunk-MC2MF4U5.js';
4
- import '../../chunk-EEODEEKX.js';
4
+ import '../../chunk-4WBZC7UF.js';
5
5
  import '../../chunk-6S5KL76M.js';
6
6
  import '../../chunk-LOO5CB5M.js';
7
- import '../../chunk-TOXPRXAK.js';
8
- import '../../chunk-P6S5K7AI.js';
7
+ import '../../chunk-56UHERYI.js';
8
+ import '../../chunk-OR7C7PTE.js';
9
9
  import '../../chunk-BGY4KTU6.js';
10
10
  import '../../chunk-YROR332M.js';
11
- import '../../chunk-RGB45PIL.js';
11
+ import '../../chunk-TLOP6FLY.js';
12
12
  import '../../chunk-6E6PKKAD.js';
13
13
  import '../../chunk-IFGTRL2I.js';
14
14
  import '../../chunk-KTCMBEEB.js';
@@ -17,7 +17,7 @@ import '../../chunk-ALLCAFHQ.js';
17
17
  import '../../chunk-RQLL7L72.js';
18
18
  import '../../chunk-V4RGCKYC.js';
19
19
  import '../../chunk-DHMBE5J7.js';
20
- import '../../chunk-QQ3G5N7X.js';
20
+ import '../../chunk-PGQDBXS7.js';
21
21
  import '../../chunk-UWU572Q6.js';
22
22
  import '../../chunk-4GY63JU6.js';
23
23
  import '../../chunk-5RHPNNWP.js';
@@ -1,14 +1,14 @@
1
- export { DeployConnector, createConnector2 as createConnector } from '../../chunk-66WUZ3XL.js';
2
- import '../../chunk-UF4AEO54.js';
1
+ export { DeployConnector, createConnector2 as createConnector } from '../../chunk-EC24QFGP.js';
2
+ import '../../chunk-D3LQY3MT.js';
3
3
  import '../../chunk-MC2MF4U5.js';
4
- import '../../chunk-EEODEEKX.js';
4
+ import '../../chunk-4WBZC7UF.js';
5
5
  import '../../chunk-6S5KL76M.js';
6
6
  import '../../chunk-LOO5CB5M.js';
7
- import '../../chunk-TOXPRXAK.js';
8
- import '../../chunk-P6S5K7AI.js';
7
+ import '../../chunk-56UHERYI.js';
8
+ import '../../chunk-OR7C7PTE.js';
9
9
  import '../../chunk-BGY4KTU6.js';
10
10
  import '../../chunk-YROR332M.js';
11
- import '../../chunk-RGB45PIL.js';
11
+ import '../../chunk-TLOP6FLY.js';
12
12
  import '../../chunk-6E6PKKAD.js';
13
13
  import '../../chunk-IFGTRL2I.js';
14
14
  import '../../chunk-KTCMBEEB.js';
@@ -17,7 +17,7 @@ import '../../chunk-ALLCAFHQ.js';
17
17
  import '../../chunk-RQLL7L72.js';
18
18
  import '../../chunk-V4RGCKYC.js';
19
19
  import '../../chunk-DHMBE5J7.js';
20
- import '../../chunk-QQ3G5N7X.js';
20
+ import '../../chunk-PGQDBXS7.js';
21
21
  import '../../chunk-UWU572Q6.js';
22
22
  import '../../chunk-4GY63JU6.js';
23
23
  import '../../chunk-5RHPNNWP.js';
@@ -1,14 +1,14 @@
1
- export { DevServerConnector, createConnector3 as createConnector } from '../../chunk-66WUZ3XL.js';
2
- import '../../chunk-UF4AEO54.js';
1
+ export { DevServerConnector, createConnector3 as createConnector } from '../../chunk-EC24QFGP.js';
2
+ import '../../chunk-D3LQY3MT.js';
3
3
  import '../../chunk-MC2MF4U5.js';
4
- import '../../chunk-EEODEEKX.js';
4
+ import '../../chunk-4WBZC7UF.js';
5
5
  import '../../chunk-6S5KL76M.js';
6
6
  import '../../chunk-LOO5CB5M.js';
7
- import '../../chunk-TOXPRXAK.js';
8
- import '../../chunk-P6S5K7AI.js';
7
+ import '../../chunk-56UHERYI.js';
8
+ import '../../chunk-OR7C7PTE.js';
9
9
  import '../../chunk-BGY4KTU6.js';
10
10
  import '../../chunk-YROR332M.js';
11
- import '../../chunk-RGB45PIL.js';
11
+ import '../../chunk-TLOP6FLY.js';
12
12
  import '../../chunk-6E6PKKAD.js';
13
13
  import '../../chunk-IFGTRL2I.js';
14
14
  import '../../chunk-KTCMBEEB.js';
@@ -17,7 +17,7 @@ import '../../chunk-ALLCAFHQ.js';
17
17
  import '../../chunk-RQLL7L72.js';
18
18
  import '../../chunk-V4RGCKYC.js';
19
19
  import '../../chunk-DHMBE5J7.js';
20
- import '../../chunk-QQ3G5N7X.js';
20
+ import '../../chunk-PGQDBXS7.js';
21
21
  import '../../chunk-UWU572Q6.js';
22
22
  import '../../chunk-4GY63JU6.js';
23
23
  import '../../chunk-5RHPNNWP.js';
@@ -1,14 +1,14 @@
1
- export { FlowAdapter, createConnector, describeFlowOperations } from '../../../chunk-66WUZ3XL.js';
2
- import '../../../chunk-UF4AEO54.js';
1
+ export { FlowAdapter, createConnector, describeFlowOperations } from '../../../chunk-EC24QFGP.js';
2
+ import '../../../chunk-D3LQY3MT.js';
3
3
  import '../../../chunk-MC2MF4U5.js';
4
- import '../../../chunk-EEODEEKX.js';
4
+ import '../../../chunk-4WBZC7UF.js';
5
5
  import '../../../chunk-6S5KL76M.js';
6
6
  import '../../../chunk-LOO5CB5M.js';
7
- import '../../../chunk-TOXPRXAK.js';
8
- import '../../../chunk-P6S5K7AI.js';
7
+ import '../../../chunk-56UHERYI.js';
8
+ import '../../../chunk-OR7C7PTE.js';
9
9
  import '../../../chunk-BGY4KTU6.js';
10
10
  import '../../../chunk-YROR332M.js';
11
- import '../../../chunk-RGB45PIL.js';
11
+ import '../../../chunk-TLOP6FLY.js';
12
12
  import '../../../chunk-6E6PKKAD.js';
13
13
  import '../../../chunk-IFGTRL2I.js';
14
14
  export { isBlocking } from '../../../chunk-KTCMBEEB.js';
@@ -17,7 +17,7 @@ import '../../../chunk-ALLCAFHQ.js';
17
17
  import '../../../chunk-RQLL7L72.js';
18
18
  import '../../../chunk-V4RGCKYC.js';
19
19
  import '../../../chunk-DHMBE5J7.js';
20
- import '../../../chunk-QQ3G5N7X.js';
20
+ import '../../../chunk-PGQDBXS7.js';
21
21
  import '../../../chunk-UWU572Q6.js';
22
22
  import '../../../chunk-4GY63JU6.js';
23
23
  import '../../../chunk-5RHPNNWP.js';
@@ -1,17 +1,17 @@
1
- export { resolveFlowPath, resumeFlow, runFlow } from '../../../chunk-J3K5O6XA.js';
1
+ export { resolveFlowPath, resumeFlow, runFlow } from '../../../chunk-QNC7VEBL.js';
2
2
  import '../../../chunk-4R6DROGN.js';
3
3
  import '../../../chunk-T3YUSWVK.js';
4
- import '../../../chunk-66WUZ3XL.js';
5
- import '../../../chunk-UF4AEO54.js';
4
+ import '../../../chunk-EC24QFGP.js';
5
+ import '../../../chunk-D3LQY3MT.js';
6
6
  import '../../../chunk-MC2MF4U5.js';
7
- import '../../../chunk-EEODEEKX.js';
7
+ import '../../../chunk-4WBZC7UF.js';
8
8
  import '../../../chunk-6S5KL76M.js';
9
9
  import '../../../chunk-LOO5CB5M.js';
10
- import '../../../chunk-TOXPRXAK.js';
11
- import '../../../chunk-P6S5K7AI.js';
10
+ import '../../../chunk-56UHERYI.js';
11
+ import '../../../chunk-OR7C7PTE.js';
12
12
  import '../../../chunk-BGY4KTU6.js';
13
13
  import '../../../chunk-YROR332M.js';
14
- import '../../../chunk-RGB45PIL.js';
14
+ import '../../../chunk-TLOP6FLY.js';
15
15
  import '../../../chunk-6E6PKKAD.js';
16
16
  import '../../../chunk-IFGTRL2I.js';
17
17
  import '../../../chunk-KTCMBEEB.js';
@@ -20,7 +20,7 @@ import '../../../chunk-ALLCAFHQ.js';
20
20
  import '../../../chunk-RQLL7L72.js';
21
21
  import '../../../chunk-V4RGCKYC.js';
22
22
  import '../../../chunk-DHMBE5J7.js';
23
- import '../../../chunk-QQ3G5N7X.js';
23
+ import '../../../chunk-PGQDBXS7.js';
24
24
  import '../../../chunk-UWU572Q6.js';
25
25
  import '../../../chunk-4GY63JU6.js';
26
26
  import '../../../chunk-5RHPNNWP.js';
@@ -1,14 +1,14 @@
1
- export { ClassifierSubpromptRunner, FlowAdapter, SessionInlineSubFlowRunner, SessionNodeExecutor, SessionSubpromptRunner, buildFlowPromptEvent, classifierQuestion, createConnector, describeFlowOperations, driveOrchestratorTurn } from '../../chunk-66WUZ3XL.js';
2
- import '../../chunk-UF4AEO54.js';
1
+ export { ClassifierSubpromptRunner, FlowAdapter, SessionInlineSubFlowRunner, SessionNodeExecutor, SessionSubpromptRunner, buildFlowPromptEvent, classifierQuestion, createConnector, describeFlowOperations, driveOrchestratorTurn } from '../../chunk-EC24QFGP.js';
2
+ import '../../chunk-D3LQY3MT.js';
3
3
  import '../../chunk-MC2MF4U5.js';
4
- import '../../chunk-EEODEEKX.js';
4
+ import '../../chunk-4WBZC7UF.js';
5
5
  import '../../chunk-6S5KL76M.js';
6
6
  import '../../chunk-LOO5CB5M.js';
7
- import '../../chunk-TOXPRXAK.js';
8
- import '../../chunk-P6S5K7AI.js';
7
+ import '../../chunk-56UHERYI.js';
8
+ import '../../chunk-OR7C7PTE.js';
9
9
  import '../../chunk-BGY4KTU6.js';
10
10
  import '../../chunk-YROR332M.js';
11
- import '../../chunk-RGB45PIL.js';
11
+ import '../../chunk-TLOP6FLY.js';
12
12
  import '../../chunk-6E6PKKAD.js';
13
13
  import '../../chunk-IFGTRL2I.js';
14
14
  import '../../chunk-KTCMBEEB.js';
@@ -17,7 +17,7 @@ import '../../chunk-ALLCAFHQ.js';
17
17
  import '../../chunk-RQLL7L72.js';
18
18
  import '../../chunk-V4RGCKYC.js';
19
19
  import '../../chunk-DHMBE5J7.js';
20
- import '../../chunk-QQ3G5N7X.js';
20
+ import '../../chunk-PGQDBXS7.js';
21
21
  import '../../chunk-UWU572Q6.js';
22
22
  import '../../chunk-4GY63JU6.js';
23
23
  import '../../chunk-5RHPNNWP.js';
@@ -1,14 +1,14 @@
1
- export { GitConnector, MAX_REARM_MS, MIN_REFRESH_DELAY_MS, REFRESH_LEAD_MS, __test, createConnector5 as createConnector, readGitSyncStatus } from '../../chunk-66WUZ3XL.js';
2
- import '../../chunk-UF4AEO54.js';
1
+ export { GitConnector, MAX_REARM_MS, MIN_REFRESH_DELAY_MS, REFRESH_LEAD_MS, __test, createConnector5 as createConnector, readGitSyncStatus } from '../../chunk-EC24QFGP.js';
2
+ import '../../chunk-D3LQY3MT.js';
3
3
  import '../../chunk-MC2MF4U5.js';
4
- import '../../chunk-EEODEEKX.js';
4
+ import '../../chunk-4WBZC7UF.js';
5
5
  import '../../chunk-6S5KL76M.js';
6
6
  import '../../chunk-LOO5CB5M.js';
7
- import '../../chunk-TOXPRXAK.js';
8
- import '../../chunk-P6S5K7AI.js';
7
+ import '../../chunk-56UHERYI.js';
8
+ import '../../chunk-OR7C7PTE.js';
9
9
  import '../../chunk-BGY4KTU6.js';
10
10
  import '../../chunk-YROR332M.js';
11
- import '../../chunk-RGB45PIL.js';
11
+ import '../../chunk-TLOP6FLY.js';
12
12
  import '../../chunk-6E6PKKAD.js';
13
13
  import '../../chunk-IFGTRL2I.js';
14
14
  import '../../chunk-KTCMBEEB.js';
@@ -17,7 +17,7 @@ import '../../chunk-ALLCAFHQ.js';
17
17
  import '../../chunk-RQLL7L72.js';
18
18
  import '../../chunk-V4RGCKYC.js';
19
19
  import '../../chunk-DHMBE5J7.js';
20
- import '../../chunk-QQ3G5N7X.js';
20
+ import '../../chunk-PGQDBXS7.js';
21
21
  import '../../chunk-UWU572Q6.js';
22
22
  import '../../chunk-4GY63JU6.js';
23
23
  import '../../chunk-5RHPNNWP.js';
@@ -1,14 +1,14 @@
1
- export { GmailConnector, createConnector6 as createConnector } from '../../chunk-66WUZ3XL.js';
2
- import '../../chunk-UF4AEO54.js';
1
+ export { GmailConnector, createConnector6 as createConnector } from '../../chunk-EC24QFGP.js';
2
+ import '../../chunk-D3LQY3MT.js';
3
3
  import '../../chunk-MC2MF4U5.js';
4
- import '../../chunk-EEODEEKX.js';
4
+ import '../../chunk-4WBZC7UF.js';
5
5
  import '../../chunk-6S5KL76M.js';
6
6
  import '../../chunk-LOO5CB5M.js';
7
- import '../../chunk-TOXPRXAK.js';
8
- import '../../chunk-P6S5K7AI.js';
7
+ import '../../chunk-56UHERYI.js';
8
+ import '../../chunk-OR7C7PTE.js';
9
9
  import '../../chunk-BGY4KTU6.js';
10
10
  import '../../chunk-YROR332M.js';
11
- import '../../chunk-RGB45PIL.js';
11
+ import '../../chunk-TLOP6FLY.js';
12
12
  import '../../chunk-6E6PKKAD.js';
13
13
  import '../../chunk-IFGTRL2I.js';
14
14
  import '../../chunk-KTCMBEEB.js';
@@ -17,7 +17,7 @@ import '../../chunk-ALLCAFHQ.js';
17
17
  import '../../chunk-RQLL7L72.js';
18
18
  import '../../chunk-V4RGCKYC.js';
19
19
  import '../../chunk-DHMBE5J7.js';
20
- import '../../chunk-QQ3G5N7X.js';
20
+ import '../../chunk-PGQDBXS7.js';
21
21
  import '../../chunk-UWU572Q6.js';
22
22
  import '../../chunk-4GY63JU6.js';
23
23
  import '../../chunk-5RHPNNWP.js';
@@ -1,14 +1,14 @@
1
- export { GoogleDriveConnector, createConnector7 as createConnector } from '../../chunk-66WUZ3XL.js';
2
- import '../../chunk-UF4AEO54.js';
1
+ export { GoogleDriveConnector, createConnector7 as createConnector } from '../../chunk-EC24QFGP.js';
2
+ import '../../chunk-D3LQY3MT.js';
3
3
  import '../../chunk-MC2MF4U5.js';
4
- import '../../chunk-EEODEEKX.js';
4
+ import '../../chunk-4WBZC7UF.js';
5
5
  import '../../chunk-6S5KL76M.js';
6
6
  import '../../chunk-LOO5CB5M.js';
7
- import '../../chunk-TOXPRXAK.js';
8
- import '../../chunk-P6S5K7AI.js';
7
+ import '../../chunk-56UHERYI.js';
8
+ import '../../chunk-OR7C7PTE.js';
9
9
  import '../../chunk-BGY4KTU6.js';
10
10
  import '../../chunk-YROR332M.js';
11
- import '../../chunk-RGB45PIL.js';
11
+ import '../../chunk-TLOP6FLY.js';
12
12
  import '../../chunk-6E6PKKAD.js';
13
13
  import '../../chunk-IFGTRL2I.js';
14
14
  import '../../chunk-KTCMBEEB.js';
@@ -17,7 +17,7 @@ import '../../chunk-ALLCAFHQ.js';
17
17
  import '../../chunk-RQLL7L72.js';
18
18
  import '../../chunk-V4RGCKYC.js';
19
19
  import '../../chunk-DHMBE5J7.js';
20
- import '../../chunk-QQ3G5N7X.js';
20
+ import '../../chunk-PGQDBXS7.js';
21
21
  import '../../chunk-UWU572Q6.js';
22
22
  import '../../chunk-4GY63JU6.js';
23
23
  import '../../chunk-5RHPNNWP.js';
@@ -1,14 +1,14 @@
1
- export { LocalConnector, createConnector8 as createConnector } from '../../chunk-66WUZ3XL.js';
2
- import '../../chunk-UF4AEO54.js';
1
+ export { LocalConnector, createConnector8 as createConnector } from '../../chunk-EC24QFGP.js';
2
+ import '../../chunk-D3LQY3MT.js';
3
3
  import '../../chunk-MC2MF4U5.js';
4
- import '../../chunk-EEODEEKX.js';
4
+ import '../../chunk-4WBZC7UF.js';
5
5
  import '../../chunk-6S5KL76M.js';
6
6
  import '../../chunk-LOO5CB5M.js';
7
- import '../../chunk-TOXPRXAK.js';
8
- import '../../chunk-P6S5K7AI.js';
7
+ import '../../chunk-56UHERYI.js';
8
+ import '../../chunk-OR7C7PTE.js';
9
9
  import '../../chunk-BGY4KTU6.js';
10
10
  import '../../chunk-YROR332M.js';
11
- import '../../chunk-RGB45PIL.js';
11
+ import '../../chunk-TLOP6FLY.js';
12
12
  import '../../chunk-6E6PKKAD.js';
13
13
  import '../../chunk-IFGTRL2I.js';
14
14
  import '../../chunk-KTCMBEEB.js';
@@ -17,7 +17,7 @@ import '../../chunk-ALLCAFHQ.js';
17
17
  import '../../chunk-RQLL7L72.js';
18
18
  import '../../chunk-V4RGCKYC.js';
19
19
  import '../../chunk-DHMBE5J7.js';
20
- import '../../chunk-QQ3G5N7X.js';
20
+ import '../../chunk-PGQDBXS7.js';
21
21
  import '../../chunk-UWU572Q6.js';
22
22
  import '../../chunk-4GY63JU6.js';
23
23
  import '../../chunk-5RHPNNWP.js';