@skaile/workspaces 6.12.0 → 6.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/app-sdk/index.js +47 -4
  3. package/dist/app-sdk/index.js.map +1 -1
  4. package/dist/app-sdk/src/app.d.ts.map +1 -1
  5. package/dist/app-sdk/src/define-app-capability.d.ts +48 -1
  6. package/dist/app-sdk/src/define-app-capability.d.ts.map +1 -1
  7. package/dist/app-sdk/src/index.d.ts +2 -2
  8. package/dist/app-sdk/src/index.d.ts.map +1 -1
  9. package/dist/app-sdk/src/transport.d.ts +13 -1
  10. package/dist/app-sdk/src/transport.d.ts.map +1 -1
  11. package/dist/{asset-feeds-PO2WC75V.js → asset-feeds-HS4IUMUN.js} +6 -6
  12. package/dist/{asset-feeds-PO2WC75V.js.map → asset-feeds-HS4IUMUN.js.map} +1 -1
  13. package/dist/asset-manager/index.js +1 -1
  14. package/dist/bridge/harnesses/claude-sdk.js +13 -7
  15. package/dist/bridge/harnesses/claude-sdk.js.map +1 -1
  16. package/dist/bridge/harnesses/codex.js +3 -3
  17. package/dist/bridge/harnesses/continue.js +4 -4
  18. package/dist/bridge/harnesses/echo.js +4 -4
  19. package/dist/bridge/harnesses/gemini.js +5 -5
  20. package/dist/bridge/harnesses/goose.js +4 -4
  21. package/dist/bridge/harnesses/omp.js +34 -33
  22. package/dist/bridge/harnesses/omp.js.map +1 -1
  23. package/dist/bridge/harnesses/opencode.js +4 -4
  24. package/dist/bridge/harnesses/qwen.js +5 -5
  25. package/dist/bridge/index.js +9 -9
  26. package/dist/bridge/src/harnesses/claude-error-text.d.ts +9 -0
  27. package/dist/bridge/src/harnesses/claude-error-text.d.ts.map +1 -0
  28. package/dist/bridge/src/harnesses/claude-sdk.d.ts.map +1 -1
  29. package/dist/bridge/src/harnesses/omp.d.ts +2 -0
  30. package/dist/bridge/src/harnesses/omp.d.ts.map +1 -1
  31. package/dist/{chunk-WPTNYDDS.js → chunk-2O4QWC5S.js} +8 -5
  32. package/dist/chunk-2O4QWC5S.js.map +1 -0
  33. package/dist/{chunk-RZQCBFIU.js → chunk-3NKXGAP4.js} +2 -2
  34. package/dist/{chunk-RZQCBFIU.js.map → chunk-3NKXGAP4.js.map} +1 -1
  35. package/dist/{chunk-UHTCOYFJ.js → chunk-4KALKIWP.js} +6 -6
  36. package/dist/{chunk-UHTCOYFJ.js.map → chunk-4KALKIWP.js.map} +1 -1
  37. package/dist/{chunk-FECB7RI7.js → chunk-4OAUOH3A.js} +5 -5
  38. package/dist/{chunk-FECB7RI7.js.map → chunk-4OAUOH3A.js.map} +1 -1
  39. package/dist/{chunk-L74W5TVC.js → chunk-6EPNTAF3.js} +4 -4
  40. package/dist/{chunk-L74W5TVC.js.map → chunk-6EPNTAF3.js.map} +1 -1
  41. package/dist/{chunk-WCHGUS7X.js → chunk-7MO23JPX.js} +4 -4
  42. package/dist/{chunk-WCHGUS7X.js.map → chunk-7MO23JPX.js.map} +1 -1
  43. package/dist/{chunk-CI4I34F4.js → chunk-7YGOEJRD.js} +4 -4
  44. package/dist/{chunk-CI4I34F4.js.map → chunk-7YGOEJRD.js.map} +1 -1
  45. package/dist/{chunk-5XYZNMMC.js → chunk-AONNQPPS.js} +3 -3
  46. package/dist/{chunk-5XYZNMMC.js.map → chunk-AONNQPPS.js.map} +1 -1
  47. package/dist/{chunk-MRTOKIEJ.js → chunk-BALPY67W.js} +3 -3
  48. package/dist/{chunk-MRTOKIEJ.js.map → chunk-BALPY67W.js.map} +1 -1
  49. package/dist/{chunk-CLMIZ4N6.js → chunk-DUIZB6JM.js} +3 -3
  50. package/dist/{chunk-CLMIZ4N6.js.map → chunk-DUIZB6JM.js.map} +1 -1
  51. package/dist/{chunk-342UX2MG.js → chunk-DWPQBMCY.js} +2 -2
  52. package/dist/{chunk-342UX2MG.js.map → chunk-DWPQBMCY.js.map} +1 -1
  53. package/dist/{chunk-DKRD6CZL.js → chunk-E6BXLB5Z.js} +3 -3
  54. package/dist/{chunk-DKRD6CZL.js.map → chunk-E6BXLB5Z.js.map} +1 -1
  55. package/dist/{chunk-ZRKU7BRI.js → chunk-EISPUJ7D.js} +3 -3
  56. package/dist/{chunk-ZRKU7BRI.js.map → chunk-EISPUJ7D.js.map} +1 -1
  57. package/dist/{chunk-FO2GU5L7.js → chunk-F6IEGYOI.js} +18 -17
  58. package/dist/chunk-F6IEGYOI.js.map +1 -0
  59. package/dist/{chunk-IPCRQWNC.js → chunk-G2ZWIYZR.js} +3 -3
  60. package/dist/{chunk-IPCRQWNC.js.map → chunk-G2ZWIYZR.js.map} +1 -1
  61. package/dist/{chunk-7O6SCI7B.js → chunk-GFBKUX3J.js} +5 -5
  62. package/dist/{chunk-7O6SCI7B.js.map → chunk-GFBKUX3J.js.map} +1 -1
  63. package/dist/{chunk-45XL75RO.js → chunk-GIMFNRNR.js} +9 -9
  64. package/dist/{chunk-45XL75RO.js.map → chunk-GIMFNRNR.js.map} +1 -1
  65. package/dist/{chunk-7ZL23M3X.js → chunk-GJT2Q5XD.js} +3 -3
  66. package/dist/{chunk-7ZL23M3X.js.map → chunk-GJT2Q5XD.js.map} +1 -1
  67. package/dist/{chunk-IIELRGIZ.js → chunk-HG2PDB3T.js} +2 -2
  68. package/dist/{chunk-IIELRGIZ.js.map → chunk-HG2PDB3T.js.map} +1 -1
  69. package/dist/{chunk-SZ3XCZHC.js → chunk-HP62IELJ.js} +3 -3
  70. package/dist/{chunk-SZ3XCZHC.js.map → chunk-HP62IELJ.js.map} +1 -1
  71. package/dist/{chunk-6NNXBXYI.js → chunk-HTJPDSAC.js} +3 -3
  72. package/dist/{chunk-6NNXBXYI.js.map → chunk-HTJPDSAC.js.map} +1 -1
  73. package/dist/{chunk-GODUKPGD.js → chunk-JXKT2QGT.js} +3 -3
  74. package/dist/{chunk-GODUKPGD.js.map → chunk-JXKT2QGT.js.map} +1 -1
  75. package/dist/{chunk-4NJVF3DV.js → chunk-MECT5Z5D.js} +4 -4
  76. package/dist/{chunk-4NJVF3DV.js.map → chunk-MECT5Z5D.js.map} +1 -1
  77. package/dist/{chunk-S6NS3I3P.js → chunk-MNED5ZCW.js} +2 -2
  78. package/dist/{chunk-S6NS3I3P.js.map → chunk-MNED5ZCW.js.map} +1 -1
  79. package/dist/{chunk-GYRIO6RA.js → chunk-MVUXBWNW.js} +3 -3
  80. package/dist/{chunk-GYRIO6RA.js.map → chunk-MVUXBWNW.js.map} +1 -1
  81. package/dist/{chunk-YPX7LQSW.js → chunk-P6VNPRLD.js} +6 -6
  82. package/dist/{chunk-YPX7LQSW.js.map → chunk-P6VNPRLD.js.map} +1 -1
  83. package/dist/{chunk-RRKJHADP.js → chunk-R2P77YRM.js} +3 -3
  84. package/dist/{chunk-RRKJHADP.js.map → chunk-R2P77YRM.js.map} +1 -1
  85. package/dist/{chunk-PZS55HOX.js → chunk-TBH6UXYN.js} +3 -3
  86. package/dist/{chunk-PZS55HOX.js.map → chunk-TBH6UXYN.js.map} +1 -1
  87. package/dist/{chunk-FVOQPTK2.js → chunk-UBN7HI4S.js} +3 -3
  88. package/dist/{chunk-FVOQPTK2.js.map → chunk-UBN7HI4S.js.map} +1 -1
  89. package/dist/{chunk-GQQIMKEP.js → chunk-UZCAULGU.js} +8 -8
  90. package/dist/{chunk-GQQIMKEP.js.map → chunk-UZCAULGU.js.map} +1 -1
  91. package/dist/{chunk-5M3S6DLV.js → chunk-YYQDSC7I.js} +3 -3
  92. package/dist/{chunk-5M3S6DLV.js.map → chunk-YYQDSC7I.js.map} +1 -1
  93. package/dist/{chunk-LXD37LHF.js → chunk-Z56QSYGJ.js} +4 -4
  94. package/dist/{chunk-LXD37LHF.js.map → chunk-Z56QSYGJ.js.map} +1 -1
  95. package/dist/{chunk-CH6UVEM5.js → chunk-ZJMSX2T6.js} +7 -7
  96. package/dist/{chunk-CH6UVEM5.js.map → chunk-ZJMSX2T6.js.map} +1 -1
  97. package/dist/{claude-code-TDMSETH6.js → claude-code-G52B7TRB.js} +4 -4
  98. package/dist/{claude-code-TDMSETH6.js.map → claude-code-G52B7TRB.js.map} +1 -1
  99. package/dist/cli/index.js +54 -54
  100. package/dist/connectors/index.js +11 -11
  101. package/dist/{connectors-IUJRBTCW.js → connectors-TT6HTFH6.js} +14 -14
  102. package/dist/{connectors-IUJRBTCW.js.map → connectors-TT6HTFH6.js.map} +1 -1
  103. package/dist/connectors-shared/index.js +2 -2
  104. package/dist/{ensure-sources-Q2TTZVLX.js → ensure-sources-XZ3MUJOM.js} +13 -13
  105. package/dist/{ensure-sources-Q2TTZVLX.js.map → ensure-sources-XZ3MUJOM.js.map} +1 -1
  106. package/dist/factory-assets/connectors/box.js +11 -11
  107. package/dist/factory-assets/connectors/deploy.js +11 -11
  108. package/dist/factory-assets/connectors/devserver.js +11 -11
  109. package/dist/factory-assets/connectors/flow/adapter.js +11 -11
  110. package/dist/factory-assets/connectors/flow/run-flow.js +12 -12
  111. package/dist/factory-assets/connectors/flow.js +11 -11
  112. package/dist/factory-assets/connectors/git.js +11 -11
  113. package/dist/factory-assets/connectors/gmail.js +11 -11
  114. package/dist/factory-assets/connectors/googledrive.js +11 -11
  115. package/dist/factory-assets/connectors/local.js +11 -11
  116. package/dist/factory-assets/connectors/mattermost.js +11 -11
  117. package/dist/factory-assets/connectors/memory.js +11 -11
  118. package/dist/factory-assets/connectors/minio.js +11 -11
  119. package/dist/factory-assets/connectors/postgres.js +11 -11
  120. package/dist/factory-assets/connectors/s3.js +11 -11
  121. package/dist/factory-assets/connectors/sharepoint.js +11 -11
  122. package/dist/factory-assets/connectors/sqlite.js +11 -11
  123. package/dist/factory-assets/connectors/static-server.js +11 -11
  124. package/dist/factory-assets/connectors/tunnel.js +11 -11
  125. package/dist/factory-assets/connectors/webdav.js +11 -11
  126. package/dist/factory-assets/connectors/xstate-store.js +11 -11
  127. package/dist/factory-assets/connectors/xstate.js +11 -11
  128. package/dist/{helpers-S6AQGXRH.js → helpers-Q6LFWGYT.js} +13 -13
  129. package/dist/{helpers-S6AQGXRH.js.map → helpers-Q6LFWGYT.js.map} +1 -1
  130. package/dist/{library-publish-7U4TJNQX.js → library-publish-OADODIMW.js} +26 -26
  131. package/dist/{library-publish-7U4TJNQX.js.map → library-publish-OADODIMW.js.map} +1 -1
  132. package/dist/model-endpoint/index.js +3 -3
  133. package/dist/{open-library-K6O6OVW5.js → open-library-MNCHOTAF.js} +14 -14
  134. package/dist/{open-library-K6O6OVW5.js.map → open-library-MNCHOTAF.js.map} +1 -1
  135. package/dist/{project-ZWIZZIUT.js → project-PHO6JOVL.js} +22 -22
  136. package/dist/{project-ZWIZZIUT.js.map → project-PHO6JOVL.js.map} +1 -1
  137. package/dist/runner/index.js +17 -17
  138. package/dist/runner/src/capability-registry.d.ts.map +1 -1
  139. package/dist/sdk/asset-manager.js +1 -1
  140. package/dist/sdk/bridge.js +9 -9
  141. package/dist/sdk/index.js +17 -17
  142. package/dist/sdk/runner.js +17 -17
  143. package/dist/sdk/session.js +2 -2
  144. package/dist/sdk/types.js +1 -1
  145. package/dist/{serve-preflight-E3IEZTTF.js → serve-preflight-GLE2LPGT.js} +15 -15
  146. package/dist/{serve-preflight-E3IEZTTF.js.map → serve-preflight-GLE2LPGT.js.map} +1 -1
  147. package/dist/session/index.js +2 -2
  148. package/dist/{setup-V4EXOMVQ.js → setup-EPNOIKDM.js} +14 -14
  149. package/dist/{setup-V4EXOMVQ.js.map → setup-EPNOIKDM.js.map} +1 -1
  150. package/dist/{source-O7XXDX55.js → source-CUSCY3KR.js} +24 -24
  151. package/dist/{source-O7XXDX55.js.map → source-CUSCY3KR.js.map} +1 -1
  152. package/dist/{source-manifest-publish-GUU4LX2S.js → source-manifest-publish-AHLDG4XS.js} +26 -26
  153. package/dist/{source-manifest-publish-GUU4LX2S.js.map → source-manifest-publish-AHLDG4XS.js.map} +1 -1
  154. package/dist/tui/index.js +17 -17
  155. package/dist/types/index.js +1 -1
  156. package/dist/types/src/capabilities.d.ts +26 -0
  157. package/dist/types/src/capabilities.d.ts.map +1 -1
  158. package/dist/types/src/index.d.ts +1 -1
  159. package/dist/types/src/index.d.ts.map +1 -1
  160. package/dist/workspace-plugin/adapters/mcp.js +13 -13
  161. package/dist/workspace-plugin/adapters/omp.js +7 -7
  162. package/dist/workspace-plugin/index.js +1 -1
  163. package/package.json +2 -2
  164. package/dist/chunk-FO2GU5L7.js.map +0 -1
  165. package/dist/chunk-WPTNYDDS.js.map +0 -1
package/dist/cli/index.js CHANGED
@@ -1,58 +1,58 @@
1
1
  #!/usr/bin/env node
2
- import { status, enable, disable, install, uninstall } from '../chunk-DKRD6CZL.js';
3
- import { makeValidateCommand, scanIdentities } from '../chunk-CI4I34F4.js';
4
- import { storeNotInstallableReason, mcpNotRunnableHere } from '../chunk-SZ3XCZHC.js';
5
- import { checkHarnessSdk } from '../chunk-7O6SCI7B.js';
6
- import { makeProvidersCommand, loadRegistryView, addProviderEntry, ProviderRegistryWriteError, removeProviderEntry } from '../chunk-RRKJHADP.js';
7
- import { makeInstallCommand, makeCheckCommand, makeCleanCommand, pinComposedAgents, reportRewritten, reportReplaced, reportRelocked, reportMoved, reportStoreNotChecked, reportStoreNotCheckedForUpdates, globalProblems, editedConventionFiles, supportsInstallManifest, runYamlInstall, REF_HINT, reportInstalledSoftDeps } from '../chunk-CH6UVEM5.js';
2
+ import { status, enable, disable, install, uninstall } from '../chunk-E6BXLB5Z.js';
3
+ import { makeValidateCommand, scanIdentities } from '../chunk-7YGOEJRD.js';
4
+ import { storeNotInstallableReason, mcpNotRunnableHere } from '../chunk-HP62IELJ.js';
5
+ import { checkHarnessSdk } from '../chunk-GFBKUX3J.js';
6
+ import { makeProvidersCommand, loadRegistryView, addProviderEntry, ProviderRegistryWriteError, removeProviderEntry } from '../chunk-R2P77YRM.js';
7
+ import { makeInstallCommand, makeCheckCommand, makeCleanCommand, pinComposedAgents, reportRewritten, reportReplaced, reportRelocked, reportMoved, reportStoreNotChecked, reportStoreNotCheckedForUpdates, globalProblems, editedConventionFiles, supportsInstallManifest, runYamlInstall, REF_HINT, reportInstalledSoftDeps } from '../chunk-ZJMSX2T6.js';
8
8
  import { createSpinner } from '../chunk-NESV47MF.js';
9
- import { getStoreConfig, storeFetch, isStoreAuthenticated, getStoreToken } from '../chunk-5M3S6DLV.js';
10
- import { makeSourceCommand, dropVanishedSourceRows, syncProjectSources, divergedSourceClones, uncachedSources } from '../chunk-GQQIMKEP.js';
11
- import { manifestEntryRootRefusals, manifestEntryFilesRefusals, libraryAssetRefusals, manifestEntryRenames, deviceLogin, loadStoreAuthConfig, logout, hasStoredAuth, exitOnLibrarySymlinks, resolveLibraryPublisherDetailed, getStoreIdentity, warnLibraryNameFallback, indexLibrary, warnIgnoredDomainFiles, removedDomainOption, rejectRemovedDomainOption, requireValidPublisherOrExit, exitOnManifestPublisherProblems, exitOnRootSkillLibrary, findAssetManifestFile, checkAssetFile, registerLibraryAsset, DOMAIN_REMOVED_HINT, reportLibrarySymlinks, checkAsset, rootLevelAssetFileProblem, manifestPublisherProblems, assetEntryRef, exitOnManifestPathProblems, exitOnRootSkillExtraAssets, manifestRequiresProblems, composeRefContext, registeredAssetKeys, duplicateAssetMessage, manifestParseFailureLine, manifestParseErrorText, unresolvedManifestDependencies, findEntryManifestFile, unheldRequiresOfFile, warnLegacyBundleFiles, warnUntrackedAssetFiles, checkComposeKinds } from '../chunk-FECB7RI7.js';
12
- import { openCatalogSource, LocalCatalogDisabledError, openLibraryManager, openLibrary } from '../chunk-5XYZNMMC.js';
9
+ import { getStoreConfig, storeFetch, isStoreAuthenticated, getStoreToken } from '../chunk-YYQDSC7I.js';
10
+ import { makeSourceCommand, dropVanishedSourceRows, syncProjectSources, divergedSourceClones, uncachedSources } from '../chunk-UZCAULGU.js';
11
+ import { manifestEntryRootRefusals, manifestEntryFilesRefusals, libraryAssetRefusals, manifestEntryRenames, deviceLogin, loadStoreAuthConfig, logout, hasStoredAuth, exitOnLibrarySymlinks, resolveLibraryPublisherDetailed, getStoreIdentity, warnLibraryNameFallback, indexLibrary, warnIgnoredDomainFiles, removedDomainOption, rejectRemovedDomainOption, requireValidPublisherOrExit, exitOnManifestPublisherProblems, exitOnRootSkillLibrary, findAssetManifestFile, checkAssetFile, registerLibraryAsset, DOMAIN_REMOVED_HINT, reportLibrarySymlinks, checkAsset, rootLevelAssetFileProblem, manifestPublisherProblems, assetEntryRef, exitOnManifestPathProblems, exitOnRootSkillExtraAssets, manifestRequiresProblems, composeRefContext, registeredAssetKeys, duplicateAssetMessage, manifestParseFailureLine, manifestParseErrorText, unresolvedManifestDependencies, findEntryManifestFile, unheldRequiresOfFile, warnLegacyBundleFiles, warnUntrackedAssetFiles, checkComposeKinds } from '../chunk-4OAUOH3A.js';
12
+ import { openCatalogSource, LocalCatalogDisabledError, openLibraryManager, openLibrary } from '../chunk-AONNQPPS.js';
13
13
  import { getKindRegistry, getKnownKinds } from '../chunk-HPQ2WDYC.js';
14
- import { logErr, unknownHarnessTargetMessage, S, logOk, setActiveCommand, logInfo, logWarnErr, canonicalHarnessId, unknownHarnessMessage, logWarn, TARGET_DEFAULT_HINT, parseHarnessFilter, requireProjectConfig, deferredWarnings, warnPlaceholderBodies, warnFilesOnlyDelegates, reportLegacyOmpCopies, reportUnknownHarnesses, warnProjectConfig, logNoProject, warnStaleHarnessCopies, kindColorPad, kindColor, colorRef, formatSoftDepSection, bareSoftDepName, reportProjectConfig, driverAliasOption, foldDriverFlag, friendlyHarnessError, harnessErrorNotes, agentInstanceErrorLines, formatSoftDepHint, formatRelativeTime, isRecord, formatSoftDepRemovePreview, formatSoftDepAddPreview, fitWidth, KIND_COL_WIDTH } from '../chunk-LXD37LHF.js';
14
+ import { logErr, unknownHarnessTargetMessage, S, logOk, setActiveCommand, logInfo, logWarnErr, canonicalHarnessId, unknownHarnessMessage, logWarn, TARGET_DEFAULT_HINT, parseHarnessFilter, requireProjectConfig, deferredWarnings, warnPlaceholderBodies, warnFilesOnlyDelegates, reportLegacyOmpCopies, reportUnknownHarnesses, warnProjectConfig, logNoProject, warnStaleHarnessCopies, kindColorPad, kindColor, colorRef, formatSoftDepSection, bareSoftDepName, reportProjectConfig, driverAliasOption, foldDriverFlag, friendlyHarnessError, harnessErrorNotes, agentInstanceErrorLines, formatSoftDepHint, formatRelativeTime, isRecord, formatSoftDepRemovePreview, formatSoftDepAddPreview, fitWidth, KIND_COL_WIDTH } from '../chunk-Z56QSYGJ.js';
15
15
  import { AI_RESOURCES } from '../chunk-ZLDAPZIX.js';
16
16
  import { loadDeclaredPlugins } from '../chunk-2PVYDAFN.js';
17
17
  import { LocalSecretsProvider } from '../chunk-ILFGVSTJ.js';
18
- import { resolveInstanceAgentDir, instanceSessionOverrides, modelForHarness, loadAgentManifest, manifestModelForHarness, runAgentChat, isCompositionError, resolveSessionId, loadSessionById, loadSession, listSessions, setCurrentSession, deleteSession, clearSession, hashAgentFiles, createCompositionContentSource, compileComposition, MarkdownStreamer, createFinalTextFallback, instanceForSession, resolveAgentInstance, describeComposition } from '../chunk-FO2GU5L7.js';
19
- import '../chunk-RZQCBFIU.js';
20
- import '../chunk-L74W5TVC.js';
21
- import '../chunk-6NNXBXYI.js';
18
+ import { resolveInstanceAgentDir, instanceSessionOverrides, modelForHarness, loadAgentManifest, manifestModelForHarness, runAgentChat, isCompositionError, resolveSessionId, loadSessionById, loadSession, listSessions, setCurrentSession, deleteSession, clearSession, hashAgentFiles, createCompositionContentSource, compileComposition, MarkdownStreamer, createFinalTextFallback, instanceForSession, resolveAgentInstance, describeComposition } from '../chunk-F6IEGYOI.js';
19
+ import '../chunk-3NKXGAP4.js';
20
+ import '../chunk-6EPNTAF3.js';
21
+ import '../chunk-HTJPDSAC.js';
22
22
  import '../chunk-IOXFT5D7.js';
23
23
  import '../chunk-WYZXSJBK.js';
24
24
  import '../chunk-EB2LKPI6.js';
25
25
  import '../chunk-V2VDTQ7A.js';
26
26
  import '../chunk-KW37WNXY.js';
27
27
  import '../chunk-3MWQKQUB.js';
28
- import '../chunk-WPTNYDDS.js';
28
+ import '../chunk-2O4QWC5S.js';
29
29
  import '../chunk-O7SG5PC2.js';
30
30
  import '../chunk-7QBNJTTQ.js';
31
31
  import '../chunk-O2SYFJWP.js';
32
32
  import '../chunk-7K73MCI6.js';
33
33
  import '../chunk-32NA4TVC.js';
34
34
  import '../chunk-W3UDISS2.js';
35
- import { runFlow, resumeFlow } from '../chunk-FVOQPTK2.js';
35
+ import { runFlow, resumeFlow } from '../chunk-UBN7HI4S.js';
36
36
  import '../chunk-4R6DROGN.js';
37
37
  import { parseSkillRequirements, validateRequirements } from '../chunk-KOI7QFDH.js';
38
38
  import '../chunk-LQWOU7S2.js';
39
- import '../chunk-UHTCOYFJ.js';
40
- import '../chunk-GYRIO6RA.js';
39
+ import '../chunk-4KALKIWP.js';
40
+ import '../chunk-MVUXBWNW.js';
41
41
  import '../chunk-SBAUZ7XH.js';
42
- import { checkHarnessModel, checkOmpListedModel, isUnlistedModel, checkModelSurface } from '../chunk-45XL75RO.js';
43
- import '../chunk-4NJVF3DV.js';
44
- import '../chunk-MRTOKIEJ.js';
45
- import { checkCodexCredential } from '../chunk-WCHGUS7X.js';
42
+ import { checkHarnessModel, checkOmpListedModel, isUnlistedModel, checkModelSurface } from '../chunk-GIMFNRNR.js';
43
+ import '../chunk-MECT5Z5D.js';
44
+ import '../chunk-BALPY67W.js';
45
+ import { checkCodexCredential } from '../chunk-7MO23JPX.js';
46
46
  import '../chunk-5KSGZP3E.js';
47
47
  import '../chunk-7EKQDY2T.js';
48
- import '../chunk-7ZL23M3X.js';
48
+ import '../chunk-GJT2Q5XD.js';
49
49
  import '../chunk-ESUF2ZYT.js';
50
50
  import { findHarnessBinary, HARNESS_BINARIES } from '../chunk-WWSRIT3J.js';
51
- import '../chunk-CLMIZ4N6.js';
51
+ import '../chunk-DUIZB6JM.js';
52
52
  import '../chunk-5DE3DGVR.js';
53
53
  import '../chunk-7DN6JKP2.js';
54
- import '../chunk-PZS55HOX.js';
55
- import { listHarnesses } from '../chunk-S6NS3I3P.js';
54
+ import '../chunk-TBH6UXYN.js';
55
+ import { listHarnesses } from '../chunk-MNED5ZCW.js';
56
56
  import '../chunk-G5SUWZEU.js';
57
57
  import '../chunk-CG63XGVV.js';
58
58
  import { getProviderPreset, AI_PROVIDER_PRESETS } from '../chunk-6UP2EDFN.js';
@@ -60,8 +60,8 @@ import '../chunk-IFGTRL2I.js';
60
60
  import { loadFlow, flowLookupRoots, findFlowFileInRoots, loadAllFlowEntries } from '../chunk-WDG5IVEA.js';
61
61
  import '../chunk-WD3L5QSU.js';
62
62
  import { nodeLabel, nodeSkillAsset, nodeIsInert, nodeIsOptional, nodeRunKind, nodeAssets } from '../chunk-7RGTAEG6.js';
63
- import '../chunk-342UX2MG.js';
64
- import { setLibraryAssetCheck, setRenamedEntryLookup, LibraryEntryError, AssetManager, parseRefTolerant, MissingManifestError, writeHarnessSwitchState, harnessSwitchKeptKey, parseCanonicalLockKey, normalizeRepoUrl, readHarnessSwitchState } from '../chunk-IIELRGIZ.js';
63
+ import '../chunk-DWPQBMCY.js';
64
+ import { setLibraryAssetCheck, setRenamedEntryLookup, LibraryEntryError, AssetManager, parseRefTolerant, MissingManifestError, writeHarnessSwitchState, harnessSwitchKeptKey, parseCanonicalLockKey, normalizeRepoUrl, readHarnessSwitchState } from '../chunk-HG2PDB3T.js';
65
65
  import { CatalogHttpError, OfflineError, libraryDirMissing, missingLibraryDirMessage, cloneOrInitGitRepo, trackOriginBranch, stampManifestPublisher, addMissingEntryVersions, isGitRepo, ensureGitRepo, conflictingAssetRoot, scanUnlistedAssets, setManifestPublisher, LIBRARY_OWNERSHIPS, assertManifestEditable, installLibraryAsset, getStoreManifestsDir, assertValidLibraryName, unparsableAssetFiles, missingRootAssets, syncManifestWithDisk, renamedLibraryName, storeManifestFile, getDefaultValue, isSecretPlaceholder } from '../chunk-7FXOOUOC.js';
66
66
  import { flowFileNameError, SEMVER_RE } from '../chunk-DRUAQ7IY.js';
67
67
  import '../chunk-CVUMZTNO.js';
@@ -239,7 +239,7 @@ async function runSearch(kind, query, opts) {
239
239
  }
240
240
  }
241
241
  async function searchIndex(query, kind, projectDir) {
242
- const { openLibrary: openLibrary2 } = await import('../open-library-K6O6OVW5.js');
242
+ const { openLibrary: openLibrary2 } = await import('../open-library-MNCHOTAF.js');
243
243
  const library = await openLibrary2();
244
244
  try {
245
245
  const { libraryDirMissing: libraryDirMissing2 } = await import('../library/index.js');
@@ -415,14 +415,14 @@ async function withAddVersions(entries, projectDir) {
415
415
  }
416
416
  async function searchLocal(query, kind, opts, showStore, airGapped) {
417
417
  const projectDir = path19__default.resolve(opts.projectDir);
418
- const { restoreSourceReaders } = await import('../source-O7XXDX55.js');
418
+ const { restoreSourceReaders } = await import('../source-CUSCY3KR.js');
419
419
  for (const name of await restoreSourceReaders(projectDir)) {
420
420
  logInfo(`Re-registered source "${name}" (its library entry was removed elsewhere).`);
421
421
  }
422
422
  const factory = await searchFactory(projectDir, query, kind);
423
423
  let entries = unionEntries(await searchIndex(query, kind, projectDir), factory);
424
424
  if (entries.length === 0 && !query && !kind && !airGapped) {
425
- const { autoSyncForSearch } = await import('../source-O7XXDX55.js');
425
+ const { autoSyncForSearch } = await import('../source-CUSCY3KR.js');
426
426
  if (await autoSyncForSearch(projectDir)) {
427
427
  entries = unionEntries(await searchIndex(query, kind, projectDir), factory);
428
428
  }
@@ -542,7 +542,7 @@ async function searchStore(query, kind, opts, airGapped) {
542
542
  logInfo("air-gapped (cache_ttl: 0) \u2014 local sources only");
543
543
  return "skipped";
544
544
  }
545
- const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-K6O6OVW5.js');
545
+ const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-MNCHOTAF.js');
546
546
  try {
547
547
  const remote = await openCatalogSource2({ projectDir: path19__default.resolve(opts.projectDir) });
548
548
  const assets = await remote.listAssets(kind ? { kind } : {});
@@ -1152,7 +1152,7 @@ async function resolveInfoEntry(am2, ref, opts) {
1152
1152
  return { entry: match ?? deployed, deployed: true };
1153
1153
  }
1154
1154
  const lookup = opts.storeLookup ?? (async (filter) => {
1155
- const { resolveCatalogSource } = await import('../open-library-K6O6OVW5.js');
1155
+ const { resolveCatalogSource } = await import('../open-library-MNCHOTAF.js');
1156
1156
  const { source, close } = await resolveCatalogSource({ projectDir: opts.projectDir });
1157
1157
  try {
1158
1158
  return await source.listAssets(filter);
@@ -1168,7 +1168,7 @@ async function resolveInfoEntry(am2, ref, opts) {
1168
1168
  );
1169
1169
  return { entry: hit ? catalogAssetToEntry(hit) : null };
1170
1170
  } catch (err) {
1171
- const { LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-K6O6OVW5.js');
1171
+ const { LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-MNCHOTAF.js');
1172
1172
  const storeNote = err instanceof Error ? err.message : String(err);
1173
1173
  const disabled = err instanceof LocalCatalogDisabledError2 || /catalog\.url/i.test(storeNote);
1174
1174
  return { entry: null, storeNote, ...disabled ? { storeDisabled: true } : {} };
@@ -1930,7 +1930,7 @@ function makeCatalogCommand() {
1930
1930
  return catalog;
1931
1931
  }
1932
1932
  async function runLocalCatalogTest(projectDir) {
1933
- const { resolveCatalogSource } = await import('../open-library-K6O6OVW5.js');
1933
+ const { resolveCatalogSource } = await import('../open-library-MNCHOTAF.js');
1934
1934
  let resolved;
1935
1935
  try {
1936
1936
  resolved = await resolveCatalogSource({ projectDir });
@@ -4970,7 +4970,7 @@ function remoteBranches(url) {
4970
4970
  return r.stdout.split("\n").map((line) => line.split(" ")[1]?.replace(/^refs\/heads\//, "")).filter((b) => !!b);
4971
4971
  }
4972
4972
  async function warnIfNotGithubRemote(name, url) {
4973
- const { isGithubRemote, notGithubRemoteMessage } = await import('../library-publish-7U4TJNQX.js');
4973
+ const { isGithubRemote, notGithubRemoteMessage } = await import('../library-publish-OADODIMW.js');
4974
4974
  if (!isGithubRemote(url)) logWarn(notGithubRemoteMessage(name, url));
4975
4975
  }
4976
4976
  function scaffoldLibraryFiles(dir, name) {
@@ -5814,16 +5814,16 @@ function makeLibraryCommand() {
5814
5814
  "With --create-repo: create the repo private (the store only accepts public repos)"
5815
5815
  ).option("--ref <gitref>", "Git ref to ingest (default: the library branch or main)").option("--dry-run", "Print the plan; push nothing and call no store endpoint").action(
5816
5816
  async (lib, opts) => {
5817
- const { runLibraryPublish } = await import('../library-publish-7U4TJNQX.js');
5817
+ const { runLibraryPublish } = await import('../library-publish-OADODIMW.js');
5818
5818
  await withStoreErrorHandling(() => runLibraryPublish(lib, opts));
5819
5819
  }
5820
5820
  );
5821
5821
  cmd.command("register <lib>").description("Register the library's manifest without pushing (bytes already on github)").option("--asset <ref>", "Publish only the single asset matching this ref/name").option("--ref <gitref>", "Git ref to ingest (default: the library branch or main)").option("--dry-run", "Print the plan; call no store endpoint").action(async (lib, opts) => {
5822
- const { runLibraryRegister } = await import('../library-publish-7U4TJNQX.js');
5822
+ const { runLibraryRegister } = await import('../library-publish-OADODIMW.js');
5823
5823
  await withStoreErrorHandling(() => runLibraryRegister(lib, opts));
5824
5824
  });
5825
5825
  cmd.command("yank <lib>").description("Retract the library's published assets from the store").option("--asset <ref>", "Yank only the single asset matching this ref/name").action(async (lib, opts) => {
5826
- const { runLibraryYank } = await import('../library-publish-7U4TJNQX.js');
5826
+ const { runLibraryYank } = await import('../library-publish-OADODIMW.js');
5827
5827
  await withStoreErrorHandling(() => runLibraryYank(lib, opts));
5828
5828
  });
5829
5829
  return cmd;
@@ -6483,7 +6483,7 @@ function scheduleSoftDepPreview() {
6483
6483
  }
6484
6484
  async function loadAssets() {
6485
6485
  softDepPreviewCache.clear();
6486
- const { gatherAssetFeeds } = await import('../asset-feeds-PO2WC75V.js');
6486
+ const { gatherAssetFeeds } = await import('../asset-feeds-HS4IUMUN.js');
6487
6487
  const { entries, notes } = await gatherAssetFeeds(am, am.projectDir);
6488
6488
  if (notes.length > 0) {
6489
6489
  state.message = notes.map((n) => `[${n.feed}] ${n.message}`).join(" \u2022 ");
@@ -6687,7 +6687,7 @@ function reconcileCollapsedSets(rows) {
6687
6687
  async function loadSourcesAndLibraries() {
6688
6688
  try {
6689
6689
  const [{ openLibraryManager: openLibraryManager2 }, { getGlobalCacheDir: getGlobalCacheDir2, globalSkaileDir: globalSkaileDir2 }] = await Promise.all([
6690
- import('../open-library-K6O6OVW5.js'),
6690
+ import('../open-library-MNCHOTAF.js'),
6691
6691
  import('../core/index.js')
6692
6692
  ]);
6693
6693
  const { manager, library, close } = await openLibraryManager2();
@@ -11626,7 +11626,7 @@ function makeServeCommand() {
11626
11626
  process.exitCode = 1;
11627
11627
  return;
11628
11628
  }
11629
- const dirProblem = (await import('../serve-preflight-E3IEZTTF.js')).checkServeProjectDir(
11629
+ const dirProblem = (await import('../serve-preflight-GLE2LPGT.js')).checkServeProjectDir(
11630
11630
  opts.projectDir
11631
11631
  );
11632
11632
  if (dirProblem) {
@@ -11655,7 +11655,7 @@ function makeServeCommand() {
11655
11655
  }
11656
11656
  let providers = parseProviderIds(opts.providers);
11657
11657
  if (!managedCodex) {
11658
- const { resolveServeProvider } = await import('../serve-preflight-E3IEZTTF.js');
11658
+ const { resolveServeProvider } = await import('../serve-preflight-GLE2LPGT.js');
11659
11659
  const picked = resolveServeProvider(opts.projectDir, opts.provider, providers);
11660
11660
  if ("problem" in picked) {
11661
11661
  logErr(picked.problem);
@@ -11665,8 +11665,8 @@ function makeServeCommand() {
11665
11665
  providers = [...picked.providers];
11666
11666
  }
11667
11667
  const modelEndpoint = parseModelEndpointFlag(opts.modelEndpoint, opts.modelEndpointAgent);
11668
- const { checkHarnessSdk: checkHarnessSdk2, checkModelEndpointPeer, checkServeModel } = await import('../serve-preflight-E3IEZTTF.js');
11669
- const { checkServeHarness, checkServeAgents, checkServeConnectors } = await import('../serve-preflight-E3IEZTTF.js');
11668
+ const { checkHarnessSdk: checkHarnessSdk2, checkModelEndpointPeer, checkServeModel } = await import('../serve-preflight-GLE2LPGT.js');
11669
+ const { checkServeHarness, checkServeAgents, checkServeConnectors } = await import('../serve-preflight-GLE2LPGT.js');
11670
11670
  const startProblem = managedCodex ? null : await checkServeHarness(opts.projectDir, opts.harness) ?? checkServeAgents(opts.projectDir) ?? await checkServeConnectors(opts.projectDir);
11671
11671
  if (startProblem) {
11672
11672
  logErr(startProblem);
@@ -11733,7 +11733,7 @@ function makeServeCommand() {
11733
11733
  );
11734
11734
  }
11735
11735
  async function ensurePluginsLoadedForServe(projectDir) {
11736
- const { logInfo: logInfo2, logWarn: logWarn2 } = await import('../helpers-S6AQGXRH.js');
11736
+ const { logInfo: logInfo2, logWarn: logWarn2 } = await import('../helpers-Q6LFWGYT.js');
11737
11737
  try {
11738
11738
  const { resolveSkWorkspaceConfig: resolveSkWorkspaceConfig2 } = await import('../core/index.js');
11739
11739
  const config = resolveSkWorkspaceConfig2(projectDir);
@@ -11752,7 +11752,7 @@ async function ensurePluginsLoadedForServe(projectDir) {
11752
11752
  }
11753
11753
  }
11754
11754
  async function runCompileTest(opts) {
11755
- const { logOk: logOk2, logErr: logErr2, logInfo: logInfo2, S: S2 } = await import('../helpers-S6AQGXRH.js');
11755
+ const { logOk: logOk2, logErr: logErr2, logInfo: logInfo2, S: S2 } = await import('../helpers-Q6LFWGYT.js');
11756
11756
  const { tmpdir } = await import('os');
11757
11757
  const { dirname: dirname3, join: join6, resolve: resolve4 } = await import('path');
11758
11758
  const { fileURLToPath: fileURLToPath2 } = await import('url');
@@ -12719,7 +12719,7 @@ function makeStoreCommand() {
12719
12719
  "--all",
12720
12720
  `List every match (default: ${STORE_ROW_LIMIT} rows, only what \`skaile add\` can install)`
12721
12721
  ).option("-C, --project-dir <dir>", "Project directory (catalog config overlay)", process.cwd()).action(async (query, opts) => {
12722
- const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-K6O6OVW5.js');
12722
+ const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-MNCHOTAF.js');
12723
12723
  const { getKnownKinds: getKnownKinds2 } = await import('../open-registry-4HNCWOCN.js');
12724
12724
  const projectDir = path19__default.resolve(opts.projectDir);
12725
12725
  if (opts.kind && !getKnownKinds2().has(opts.kind)) {
@@ -12778,8 +12778,8 @@ function makeStoreCommand() {
12778
12778
  }
12779
12779
  });
12780
12780
  store.command("show <ref>").description("Show a store asset's details + provenance (source, files, integrity)").option("-C, --project-dir <dir>", "Project directory (catalog config overlay)", process.cwd()).action(async (ref, opts) => {
12781
- const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-K6O6OVW5.js');
12782
- const { supportsInstallManifest: supportsInstallManifest2 } = await import('../project-ZWIZZIUT.js');
12781
+ const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-MNCHOTAF.js');
12782
+ const { supportsInstallManifest: supportsInstallManifest2 } = await import('../project-PHO6JOVL.js');
12783
12783
  try {
12784
12784
  parseAssetRef(ref);
12785
12785
  } catch (e) {
@@ -13762,7 +13762,7 @@ async function bootstrapUserConfig() {
13762
13762
  }
13763
13763
  async function hydrateInitSources(resolved, created) {
13764
13764
  try {
13765
- const { ensureSourcesCloned } = await import('../ensure-sources-Q2TTZVLX.js');
13765
+ const { ensureSourcesCloned } = await import('../ensure-sources-XZ3MUJOM.js');
13766
13766
  const hydrate = ensureSourcesCloned(resolved, { quiet: true });
13767
13767
  for (const n of hydrate.cloned) created.push(`~/.skaile/cache/sources/${n}/`);
13768
13768
  if (hydrate.failed.length > 0) {
@@ -13803,7 +13803,7 @@ function printInitSummary(resolved, projectDir, created) {
13803
13803
  }
13804
13804
  program.hook("preAction", (_program, actionCommand) => setActiveCommand(actionCommand));
13805
13805
  program.command("setup").description("Interactive provider setup wizard").action(async () => {
13806
- const { cmdSetup } = await import('../setup-V4EXOMVQ.js');
13806
+ const { cmdSetup } = await import('../setup-EPNOIKDM.js');
13807
13807
  await cmdSetup([], { projectDir: process.cwd() });
13808
13808
  });
13809
13809
  program.addCommand(makeInstallCommand());
@@ -13884,7 +13884,7 @@ program.hook("postAction", async (_thisCommand, actionCommand) => {
13884
13884
  const opts = actionCommand.opts();
13885
13885
  if (opts.global || opts.dryRun) return;
13886
13886
  const projectDir = path19__default.resolve(opts.projectDir ?? process.cwd());
13887
- const { refreshPluginSkills } = await import('../claude-code-TDMSETH6.js');
13887
+ const { refreshPluginSkills } = await import('../claude-code-G52B7TRB.js');
13888
13888
  try {
13889
13889
  if (await refreshPluginSkills(projectDir)) {
13890
13890
  logInfo(`Updated ${S.cmd(".claude/plugins/skaile/skills")} (the --full plugin copy)`);
@@ -1,20 +1,20 @@
1
- export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, CONNECT_FAILURE_CARRY_OVER_TTL_MS, ConnectFailureCarryOver, ConnectorConnectingError, ConnectorManager, FleetMountConnectingError, FlowAdapter, LogBuffer, ManagedGitconfigCollisionError, NO_ACTIVE_FLOW_ERROR, PortPool, TRUSTED_GIT_CA_ENV, atomicReplaceCredential, buildConnectorListPayload, buildConnectorPromptSection, buildLazyFlowToolDefs, buildLazySdkFlowTools, buildSdkConnectorTools, buildSdkFlowTools, checkFleetMountLiveness, classifyConnectError, createFsWatcher, createWorktree, defaultSpawn, ensureDirMode, ensureFleetMounted, ensureRefreshAttemptStamp, findGitRoot, findMissingPackages, fleetMountConnectingMessage, getConnector, installNpmPackages, isFleetManaged, isFleetMountConnectingError, isPackageResolvable, listConnectors, listWorktrees, missingTokenMediatorMessage, registerBuiltinConnectors, removeMountBlock, removeUnavailableMountBlock, renderCredentialHelperScript, resolveAccessPolicy, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock, writeUnavailableMountBlock, writeUserGitconfigInclude } from '../chunk-UHTCOYFJ.js';
2
- export { CONNECT_ERROR_KIND_PROPERTY, ClassifiedConnectError, declaredConnectErrorKind, withConnectErrorKind } from '../chunk-GYRIO6RA.js';
1
+ export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, CONNECT_FAILURE_CARRY_OVER_TTL_MS, ConnectFailureCarryOver, ConnectorConnectingError, ConnectorManager, FleetMountConnectingError, FlowAdapter, LogBuffer, ManagedGitconfigCollisionError, NO_ACTIVE_FLOW_ERROR, PortPool, TRUSTED_GIT_CA_ENV, atomicReplaceCredential, buildConnectorListPayload, buildConnectorPromptSection, buildLazyFlowToolDefs, buildLazySdkFlowTools, buildSdkConnectorTools, buildSdkFlowTools, checkFleetMountLiveness, classifyConnectError, createFsWatcher, createWorktree, defaultSpawn, ensureDirMode, ensureFleetMounted, ensureRefreshAttemptStamp, findGitRoot, findMissingPackages, fleetMountConnectingMessage, getConnector, installNpmPackages, isFleetManaged, isFleetMountConnectingError, isPackageResolvable, listConnectors, listWorktrees, missingTokenMediatorMessage, registerBuiltinConnectors, removeMountBlock, removeUnavailableMountBlock, renderCredentialHelperScript, resolveAccessPolicy, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock, writeUnavailableMountBlock, writeUserGitconfigInclude } from '../chunk-4KALKIWP.js';
2
+ export { CONNECT_ERROR_KIND_PROPERTY, ClassifiedConnectError, declaredConnectErrorKind, withConnectErrorKind } from '../chunk-MVUXBWNW.js';
3
3
  export { ConnectorFieldMissingError, ConnectorStartupError, EnvSecretProvider, ForgeSecretProvider, InMemorySecretProvider, LegacyAuthGrammarError, LockedSecretProvider, OAuthRequiredError, PreMintedSecretProvider, SecretProviderChain, createCliSecretProviderChain, createForgeSecretProviderChain, deriveSingleMaterializedConnectorDeclaration, fromMaterializedConnectorMd, isKnownSecretRef, loadConnectorDeclarations, loadMaterializedConnectorDeclarations, loadYamlConnectorDeclarations, readUnavailableMarker, resolveAuthRef, resolveBackendAuthFor, resolvedConfigToDeclarations, withMaterializedConnectorDeclarations } from '../chunk-SBAUZ7XH.js';
4
- import '../chunk-45XL75RO.js';
5
- import '../chunk-4NJVF3DV.js';
6
- import '../chunk-MRTOKIEJ.js';
7
- import '../chunk-WCHGUS7X.js';
4
+ import '../chunk-GIMFNRNR.js';
5
+ import '../chunk-MECT5Z5D.js';
6
+ import '../chunk-BALPY67W.js';
7
+ import '../chunk-7MO23JPX.js';
8
8
  import '../chunk-5KSGZP3E.js';
9
9
  import '../chunk-7EKQDY2T.js';
10
- import '../chunk-7ZL23M3X.js';
10
+ import '../chunk-GJT2Q5XD.js';
11
11
  import '../chunk-ESUF2ZYT.js';
12
12
  import '../chunk-WWSRIT3J.js';
13
- import '../chunk-CLMIZ4N6.js';
13
+ import '../chunk-DUIZB6JM.js';
14
14
  import '../chunk-5DE3DGVR.js';
15
15
  import '../chunk-7DN6JKP2.js';
16
- import '../chunk-PZS55HOX.js';
17
- import '../chunk-S6NS3I3P.js';
16
+ import '../chunk-TBH6UXYN.js';
17
+ import '../chunk-MNED5ZCW.js';
18
18
  import '../chunk-G5SUWZEU.js';
19
19
  import '../chunk-CG63XGVV.js';
20
20
  import '../chunk-6UP2EDFN.js';
@@ -22,7 +22,7 @@ import '../chunk-IFGTRL2I.js';
22
22
  import '../chunk-WDG5IVEA.js';
23
23
  import '../chunk-WD3L5QSU.js';
24
24
  import '../chunk-7RGTAEG6.js';
25
- import '../chunk-342UX2MG.js';
25
+ import '../chunk-DWPQBMCY.js';
26
26
  import '../chunk-LNFKL23K.js';
27
27
  import '../chunk-JRN5QF4C.js';
28
28
  import '../chunk-NUELZWCF.js';
@@ -1,22 +1,22 @@
1
- export { connectorDescribe, connectorExec, connectorList, connectorLoadSkill, connectorRead, connectorSearch, connectorWrite, mountList, mountRead, mountStatus, mountSync } from './chunk-6NNXBXYI.js';
1
+ export { connectorDescribe, connectorExec, connectorList, connectorLoadSkill, connectorRead, connectorSearch, connectorWrite, mountList, mountRead, mountStatus, mountSync } from './chunk-HTJPDSAC.js';
2
2
  import './chunk-3MWQKQUB.js';
3
- import './chunk-UHTCOYFJ.js';
4
- import './chunk-GYRIO6RA.js';
3
+ import './chunk-4KALKIWP.js';
4
+ import './chunk-MVUXBWNW.js';
5
5
  import './chunk-SBAUZ7XH.js';
6
- import './chunk-45XL75RO.js';
7
- import './chunk-4NJVF3DV.js';
8
- import './chunk-MRTOKIEJ.js';
9
- import './chunk-WCHGUS7X.js';
6
+ import './chunk-GIMFNRNR.js';
7
+ import './chunk-MECT5Z5D.js';
8
+ import './chunk-BALPY67W.js';
9
+ import './chunk-7MO23JPX.js';
10
10
  import './chunk-5KSGZP3E.js';
11
11
  import './chunk-7EKQDY2T.js';
12
- import './chunk-7ZL23M3X.js';
12
+ import './chunk-GJT2Q5XD.js';
13
13
  import './chunk-ESUF2ZYT.js';
14
14
  import './chunk-WWSRIT3J.js';
15
- import './chunk-CLMIZ4N6.js';
15
+ import './chunk-DUIZB6JM.js';
16
16
  import './chunk-5DE3DGVR.js';
17
17
  import './chunk-7DN6JKP2.js';
18
- import './chunk-PZS55HOX.js';
19
- import './chunk-S6NS3I3P.js';
18
+ import './chunk-TBH6UXYN.js';
19
+ import './chunk-MNED5ZCW.js';
20
20
  import './chunk-G5SUWZEU.js';
21
21
  import './chunk-CG63XGVV.js';
22
22
  import './chunk-6UP2EDFN.js';
@@ -24,7 +24,7 @@ import './chunk-IFGTRL2I.js';
24
24
  import './chunk-WDG5IVEA.js';
25
25
  import './chunk-WD3L5QSU.js';
26
26
  import './chunk-7RGTAEG6.js';
27
- import './chunk-342UX2MG.js';
27
+ import './chunk-DWPQBMCY.js';
28
28
  import './chunk-LNFKL23K.js';
29
29
  import './chunk-JRN5QF4C.js';
30
30
  import './chunk-NUELZWCF.js';
@@ -48,5 +48,5 @@ import './chunk-RZL4TOK3.js';
48
48
  import './chunk-C3CAXQMA.js';
49
49
  import './chunk-BOFL7GIF.js';
50
50
  import './chunk-NSBPE2FW.js';
51
- //# sourceMappingURL=connectors-IUJRBTCW.js.map
52
- //# sourceMappingURL=connectors-IUJRBTCW.js.map
51
+ //# sourceMappingURL=connectors-TT6HTFH6.js.map
52
+ //# sourceMappingURL=connectors-TT6HTFH6.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"connectors-IUJRBTCW.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"connectors-TT6HTFH6.js"}
@@ -1,5 +1,5 @@
1
- export { CONNECT_ERROR_KIND_PROPERTY, ClassifiedConnectError, withConnectErrorKind } from '../chunk-GYRIO6RA.js';
2
- import '../chunk-342UX2MG.js';
1
+ export { CONNECT_ERROR_KIND_PROPERTY, ClassifiedConnectError, withConnectErrorKind } from '../chunk-MVUXBWNW.js';
2
+ import '../chunk-DWPQBMCY.js';
3
3
  import '../chunk-NSBPE2FW.js';
4
4
  import * as z from 'zod';
5
5
 
@@ -1,24 +1,24 @@
1
- import { logErr, logOk, logInfo } from './chunk-LXD37LHF.js';
1
+ import { logErr, logOk, logInfo } from './chunk-Z56QSYGJ.js';
2
2
  import './chunk-2PVYDAFN.js';
3
- import './chunk-45XL75RO.js';
4
- import './chunk-4NJVF3DV.js';
5
- import './chunk-MRTOKIEJ.js';
6
- import './chunk-WCHGUS7X.js';
3
+ import './chunk-GIMFNRNR.js';
4
+ import './chunk-MECT5Z5D.js';
5
+ import './chunk-BALPY67W.js';
6
+ import './chunk-7MO23JPX.js';
7
7
  import './chunk-5KSGZP3E.js';
8
8
  import './chunk-7EKQDY2T.js';
9
- import './chunk-7ZL23M3X.js';
9
+ import './chunk-GJT2Q5XD.js';
10
10
  import './chunk-ESUF2ZYT.js';
11
11
  import './chunk-WWSRIT3J.js';
12
- import './chunk-CLMIZ4N6.js';
12
+ import './chunk-DUIZB6JM.js';
13
13
  import './chunk-5DE3DGVR.js';
14
14
  import './chunk-7DN6JKP2.js';
15
- import './chunk-PZS55HOX.js';
16
- import './chunk-S6NS3I3P.js';
15
+ import './chunk-TBH6UXYN.js';
16
+ import './chunk-MNED5ZCW.js';
17
17
  import './chunk-G5SUWZEU.js';
18
18
  import './chunk-CG63XGVV.js';
19
19
  import './chunk-6UP2EDFN.js';
20
- import './chunk-342UX2MG.js';
21
- import './chunk-IIELRGIZ.js';
20
+ import './chunk-DWPQBMCY.js';
21
+ import './chunk-HG2PDB3T.js';
22
22
  import './chunk-7FXOOUOC.js';
23
23
  import './chunk-DRUAQ7IY.js';
24
24
  import './chunk-CVUMZTNO.js';
@@ -116,5 +116,5 @@ function ensureSourcesCloned(projectDir, opts = {}) {
116
116
  }
117
117
 
118
118
  export { ensureSourcesCloned };
119
- //# sourceMappingURL=ensure-sources-Q2TTZVLX.js.map
120
- //# sourceMappingURL=ensure-sources-Q2TTZVLX.js.map
119
+ //# sourceMappingURL=ensure-sources-XZ3MUJOM.js.map
120
+ //# sourceMappingURL=ensure-sources-XZ3MUJOM.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../cli/src/ensure-sources.ts"],"names":[],"mappings":"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","file":"ensure-sources-Q2TTZVLX.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 discardUnclonedSourceDir,\n getGlobalCacheDir,\n isSourceCloned,\n missingPinMessage,\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 // A folder without a git checkout (a failed first clone left it) is not a cached clone.\n if (isSourceCloned(dest)) {\n result.cached.push(slug);\n return;\n }\n discardUnclonedSourceDir(dest);\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 discardUnclonedSourceDir(dest);\n const missing = entry.pin ? missingPinMessage(entry.url, entry.pin) : undefined;\n if (missing) logErr(missing);\n else if (quiet) logErr(`git clone failed for ${entry.url}`);\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-XZ3MUJOM.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 discardUnclonedSourceDir,\n getGlobalCacheDir,\n isSourceCloned,\n missingPinMessage,\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 // A folder without a git checkout (a failed first clone left it) is not a cached clone.\n if (isSourceCloned(dest)) {\n result.cached.push(slug);\n return;\n }\n discardUnclonedSourceDir(dest);\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 discardUnclonedSourceDir(dest);\n const missing = entry.pin ? missingPinMessage(entry.url, entry.pin) : undefined;\n if (missing) logErr(missing);\n else if (quiet) logErr(`git clone failed for ${entry.url}`);\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,20 +1,20 @@
1
- export { BoxConnector, createConnector4 as createConnector } from '../../chunk-UHTCOYFJ.js';
2
- import '../../chunk-GYRIO6RA.js';
1
+ export { BoxConnector, createConnector4 as createConnector } from '../../chunk-4KALKIWP.js';
2
+ import '../../chunk-MVUXBWNW.js';
3
3
  import '../../chunk-SBAUZ7XH.js';
4
- import '../../chunk-45XL75RO.js';
5
- import '../../chunk-4NJVF3DV.js';
6
- import '../../chunk-MRTOKIEJ.js';
7
- import '../../chunk-WCHGUS7X.js';
4
+ import '../../chunk-GIMFNRNR.js';
5
+ import '../../chunk-MECT5Z5D.js';
6
+ import '../../chunk-BALPY67W.js';
7
+ import '../../chunk-7MO23JPX.js';
8
8
  import '../../chunk-5KSGZP3E.js';
9
9
  import '../../chunk-7EKQDY2T.js';
10
- import '../../chunk-7ZL23M3X.js';
10
+ import '../../chunk-GJT2Q5XD.js';
11
11
  import '../../chunk-ESUF2ZYT.js';
12
12
  import '../../chunk-WWSRIT3J.js';
13
- import '../../chunk-CLMIZ4N6.js';
13
+ import '../../chunk-DUIZB6JM.js';
14
14
  import '../../chunk-5DE3DGVR.js';
15
15
  import '../../chunk-7DN6JKP2.js';
16
- import '../../chunk-PZS55HOX.js';
17
- import '../../chunk-S6NS3I3P.js';
16
+ import '../../chunk-TBH6UXYN.js';
17
+ import '../../chunk-MNED5ZCW.js';
18
18
  import '../../chunk-G5SUWZEU.js';
19
19
  import '../../chunk-CG63XGVV.js';
20
20
  import '../../chunk-6UP2EDFN.js';
@@ -22,7 +22,7 @@ import '../../chunk-IFGTRL2I.js';
22
22
  import '../../chunk-WDG5IVEA.js';
23
23
  import '../../chunk-WD3L5QSU.js';
24
24
  import '../../chunk-7RGTAEG6.js';
25
- import '../../chunk-342UX2MG.js';
25
+ import '../../chunk-DWPQBMCY.js';
26
26
  import '../../chunk-LNFKL23K.js';
27
27
  import '../../chunk-JRN5QF4C.js';
28
28
  import '../../chunk-NUELZWCF.js';
@@ -1,20 +1,20 @@
1
- export { DeployConnector, createConnector2 as createConnector } from '../../chunk-UHTCOYFJ.js';
2
- import '../../chunk-GYRIO6RA.js';
1
+ export { DeployConnector, createConnector2 as createConnector } from '../../chunk-4KALKIWP.js';
2
+ import '../../chunk-MVUXBWNW.js';
3
3
  import '../../chunk-SBAUZ7XH.js';
4
- import '../../chunk-45XL75RO.js';
5
- import '../../chunk-4NJVF3DV.js';
6
- import '../../chunk-MRTOKIEJ.js';
7
- import '../../chunk-WCHGUS7X.js';
4
+ import '../../chunk-GIMFNRNR.js';
5
+ import '../../chunk-MECT5Z5D.js';
6
+ import '../../chunk-BALPY67W.js';
7
+ import '../../chunk-7MO23JPX.js';
8
8
  import '../../chunk-5KSGZP3E.js';
9
9
  import '../../chunk-7EKQDY2T.js';
10
- import '../../chunk-7ZL23M3X.js';
10
+ import '../../chunk-GJT2Q5XD.js';
11
11
  import '../../chunk-ESUF2ZYT.js';
12
12
  import '../../chunk-WWSRIT3J.js';
13
- import '../../chunk-CLMIZ4N6.js';
13
+ import '../../chunk-DUIZB6JM.js';
14
14
  import '../../chunk-5DE3DGVR.js';
15
15
  import '../../chunk-7DN6JKP2.js';
16
- import '../../chunk-PZS55HOX.js';
17
- import '../../chunk-S6NS3I3P.js';
16
+ import '../../chunk-TBH6UXYN.js';
17
+ import '../../chunk-MNED5ZCW.js';
18
18
  import '../../chunk-G5SUWZEU.js';
19
19
  import '../../chunk-CG63XGVV.js';
20
20
  import '../../chunk-6UP2EDFN.js';
@@ -22,7 +22,7 @@ import '../../chunk-IFGTRL2I.js';
22
22
  import '../../chunk-WDG5IVEA.js';
23
23
  import '../../chunk-WD3L5QSU.js';
24
24
  import '../../chunk-7RGTAEG6.js';
25
- import '../../chunk-342UX2MG.js';
25
+ import '../../chunk-DWPQBMCY.js';
26
26
  import '../../chunk-LNFKL23K.js';
27
27
  import '../../chunk-JRN5QF4C.js';
28
28
  import '../../chunk-NUELZWCF.js';
@@ -1,20 +1,20 @@
1
- export { DevServerConnector, createConnector3 as createConnector } from '../../chunk-UHTCOYFJ.js';
2
- import '../../chunk-GYRIO6RA.js';
1
+ export { DevServerConnector, createConnector3 as createConnector } from '../../chunk-4KALKIWP.js';
2
+ import '../../chunk-MVUXBWNW.js';
3
3
  import '../../chunk-SBAUZ7XH.js';
4
- import '../../chunk-45XL75RO.js';
5
- import '../../chunk-4NJVF3DV.js';
6
- import '../../chunk-MRTOKIEJ.js';
7
- import '../../chunk-WCHGUS7X.js';
4
+ import '../../chunk-GIMFNRNR.js';
5
+ import '../../chunk-MECT5Z5D.js';
6
+ import '../../chunk-BALPY67W.js';
7
+ import '../../chunk-7MO23JPX.js';
8
8
  import '../../chunk-5KSGZP3E.js';
9
9
  import '../../chunk-7EKQDY2T.js';
10
- import '../../chunk-7ZL23M3X.js';
10
+ import '../../chunk-GJT2Q5XD.js';
11
11
  import '../../chunk-ESUF2ZYT.js';
12
12
  import '../../chunk-WWSRIT3J.js';
13
- import '../../chunk-CLMIZ4N6.js';
13
+ import '../../chunk-DUIZB6JM.js';
14
14
  import '../../chunk-5DE3DGVR.js';
15
15
  import '../../chunk-7DN6JKP2.js';
16
- import '../../chunk-PZS55HOX.js';
17
- import '../../chunk-S6NS3I3P.js';
16
+ import '../../chunk-TBH6UXYN.js';
17
+ import '../../chunk-MNED5ZCW.js';
18
18
  import '../../chunk-G5SUWZEU.js';
19
19
  import '../../chunk-CG63XGVV.js';
20
20
  import '../../chunk-6UP2EDFN.js';
@@ -22,7 +22,7 @@ import '../../chunk-IFGTRL2I.js';
22
22
  import '../../chunk-WDG5IVEA.js';
23
23
  import '../../chunk-WD3L5QSU.js';
24
24
  import '../../chunk-7RGTAEG6.js';
25
- import '../../chunk-342UX2MG.js';
25
+ import '../../chunk-DWPQBMCY.js';
26
26
  import '../../chunk-LNFKL23K.js';
27
27
  import '../../chunk-JRN5QF4C.js';
28
28
  import '../../chunk-NUELZWCF.js';