@skaile/workspaces 6.13.0 → 6.14.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 (172) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/{asset-feeds-3USSYLBS.js → asset-feeds-DOG5FK7T.js} +6 -6
  3. package/dist/{asset-feeds-3USSYLBS.js.map → asset-feeds-DOG5FK7T.js.map} +1 -1
  4. package/dist/asset-manager/index.js +1 -1
  5. package/dist/bridge/harnesses/claude-sdk.js +21 -17
  6. package/dist/bridge/harnesses/claude-sdk.js.map +1 -1
  7. package/dist/bridge/harnesses/codex.js +4 -4
  8. package/dist/bridge/harnesses/continue.js +5 -5
  9. package/dist/bridge/harnesses/echo.js +2 -2
  10. package/dist/bridge/harnesses/gemini.js +7 -7
  11. package/dist/bridge/harnesses/goose.js +5 -5
  12. package/dist/bridge/harnesses/omp.js +7 -6
  13. package/dist/bridge/harnesses/omp.js.map +1 -1
  14. package/dist/bridge/harnesses/opencode.js +7 -88
  15. package/dist/bridge/harnesses/opencode.js.map +1 -1
  16. package/dist/bridge/harnesses/qwen.js +7 -7
  17. package/dist/bridge/index.js +11 -9
  18. package/dist/bridge/src/harness-binaries.d.ts +52 -5
  19. package/dist/bridge/src/harness-binaries.d.ts.map +1 -1
  20. package/dist/bridge/src/harness-detect.d.ts +73 -0
  21. package/dist/bridge/src/harness-detect.d.ts.map +1 -0
  22. package/dist/bridge/src/harness-model-check.d.ts.map +1 -1
  23. package/dist/bridge/src/harness-model-discovery.d.ts +66 -0
  24. package/dist/bridge/src/harness-model-discovery.d.ts.map +1 -0
  25. package/dist/bridge/src/harnesses/_subprocess-cli.d.ts.map +1 -1
  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 +4 -2
  29. package/dist/bridge/src/harnesses/claude-sdk.d.ts.map +1 -1
  30. package/dist/bridge/src/harnesses/omp.d.ts.map +1 -1
  31. package/dist/bridge/src/index.d.ts +3 -1
  32. package/dist/bridge/src/index.d.ts.map +1 -1
  33. package/dist/bridge/src/models.d.ts +9 -0
  34. package/dist/bridge/src/models.d.ts.map +1 -1
  35. package/dist/{chunk-2LDLQWYI.js → chunk-243Z3BNB.js} +3 -3
  36. package/dist/{chunk-2LDLQWYI.js.map → chunk-243Z3BNB.js.map} +1 -1
  37. package/dist/{chunk-42CN5YMX.js → chunk-2URJ7W5X.js} +3 -3
  38. package/dist/{chunk-42CN5YMX.js.map → chunk-2URJ7W5X.js.map} +1 -1
  39. package/dist/{chunk-JTJYM3XT.js → chunk-3BRBTQ6M.js} +2 -2
  40. package/dist/{chunk-JTJYM3XT.js.map → chunk-3BRBTQ6M.js.map} +1 -1
  41. package/dist/{chunk-7MISTEMW.js → chunk-4SSTREBO.js} +3 -3
  42. package/dist/{chunk-7MISTEMW.js.map → chunk-4SSTREBO.js.map} +1 -1
  43. package/dist/{chunk-XECD7XZT.js → chunk-5FO4U3OL.js} +4 -4
  44. package/dist/{chunk-XECD7XZT.js.map → chunk-5FO4U3OL.js.map} +1 -1
  45. package/dist/chunk-6ISJMEDX.js +88 -0
  46. package/dist/chunk-6ISJMEDX.js.map +1 -0
  47. package/dist/{chunk-MPBLRRPK.js → chunk-7UBCUKJO.js} +2 -2
  48. package/dist/{chunk-MPBLRRPK.js.map → chunk-7UBCUKJO.js.map} +1 -1
  49. package/dist/{chunk-NGJAB5OS.js → chunk-A7TM4PZZ.js} +7 -21
  50. package/dist/chunk-A7TM4PZZ.js.map +1 -0
  51. package/dist/{chunk-4QIVQAOP.js → chunk-B6W5DCH5.js} +5 -5
  52. package/dist/{chunk-4QIVQAOP.js.map → chunk-B6W5DCH5.js.map} +1 -1
  53. package/dist/{chunk-ERJOSW4V.js → chunk-CFRHYD4C.js} +8 -8
  54. package/dist/{chunk-ERJOSW4V.js.map → chunk-CFRHYD4C.js.map} +1 -1
  55. package/dist/{chunk-6M4BE42A.js → chunk-DYH3VSPU.js} +7 -7
  56. package/dist/{chunk-6M4BE42A.js.map → chunk-DYH3VSPU.js.map} +1 -1
  57. package/dist/{chunk-U2JQ2EMW.js → chunk-F6LDWA2N.js} +3 -3
  58. package/dist/{chunk-U2JQ2EMW.js.map → chunk-F6LDWA2N.js.map} +1 -1
  59. package/dist/{chunk-UDH4KZ53.js → chunk-F7WMHDTV.js} +10 -4
  60. package/dist/chunk-F7WMHDTV.js.map +1 -0
  61. package/dist/{chunk-WIZZUJ6R.js → chunk-J3FJTH3V.js} +3 -3
  62. package/dist/{chunk-WIZZUJ6R.js.map → chunk-J3FJTH3V.js.map} +1 -1
  63. package/dist/{chunk-ZAU7IXIX.js → chunk-LMUNQYJQ.js} +418 -14
  64. package/dist/chunk-LMUNQYJQ.js.map +1 -0
  65. package/dist/{chunk-DY52RNLI.js → chunk-LZCX2TCZ.js} +12 -12
  66. package/dist/{chunk-DY52RNLI.js.map → chunk-LZCX2TCZ.js.map} +1 -1
  67. package/dist/{chunk-ZCKZHOOU.js → chunk-NAAFRZTA.js} +3 -3
  68. package/dist/{chunk-ZCKZHOOU.js.map → chunk-NAAFRZTA.js.map} +1 -1
  69. package/dist/{chunk-SGCSP3GI.js → chunk-OC3AIMZH.js} +5 -5
  70. package/dist/{chunk-SGCSP3GI.js.map → chunk-OC3AIMZH.js.map} +1 -1
  71. package/dist/{chunk-JPUKRWWS.js → chunk-OKPITFE3.js} +2 -2
  72. package/dist/{chunk-JPUKRWWS.js.map → chunk-OKPITFE3.js.map} +1 -1
  73. package/dist/{chunk-DOG3YBRL.js → chunk-QBLS7X3Z.js} +3 -3
  74. package/dist/{chunk-DOG3YBRL.js.map → chunk-QBLS7X3Z.js.map} +1 -1
  75. package/dist/{chunk-T73IL57H.js → chunk-QNHW26AT.js} +3 -3
  76. package/dist/{chunk-T73IL57H.js.map → chunk-QNHW26AT.js.map} +1 -1
  77. package/dist/{chunk-RNQ26SKJ.js → chunk-RLV3FF4I.js} +5 -5
  78. package/dist/{chunk-RNQ26SKJ.js.map → chunk-RLV3FF4I.js.map} +1 -1
  79. package/dist/{chunk-L4G7AAKM.js → chunk-RRAXV5LE.js} +8 -8
  80. package/dist/{chunk-L4G7AAKM.js.map → chunk-RRAXV5LE.js.map} +1 -1
  81. package/dist/{chunk-ESUF2ZYT.js → chunk-U7EZ2WSC.js} +2 -2
  82. package/dist/{chunk-ESUF2ZYT.js.map → chunk-U7EZ2WSC.js.map} +1 -1
  83. package/dist/{chunk-NJAE5DOC.js → chunk-VKGNMXGZ.js} +3 -3
  84. package/dist/{chunk-NJAE5DOC.js.map → chunk-VKGNMXGZ.js.map} +1 -1
  85. package/dist/{chunk-6JAFK4ZU.js → chunk-WCUT3EQR.js} +3 -3
  86. package/dist/{chunk-6JAFK4ZU.js.map → chunk-WCUT3EQR.js.map} +1 -1
  87. package/dist/{chunk-6OM5QDPA.js → chunk-X66KSHZF.js} +4 -4
  88. package/dist/{chunk-6OM5QDPA.js.map → chunk-X66KSHZF.js.map} +1 -1
  89. package/dist/{chunk-GK5H52WR.js → chunk-XHLRMUMO.js} +3 -3
  90. package/dist/{chunk-GK5H52WR.js.map → chunk-XHLRMUMO.js.map} +1 -1
  91. package/dist/{chunk-4CNJFSCM.js → chunk-YJAKSCCN.js} +3 -3
  92. package/dist/{chunk-4CNJFSCM.js.map → chunk-YJAKSCCN.js.map} +1 -1
  93. package/dist/chunk-YKD2MYLU.js +210 -0
  94. package/dist/chunk-YKD2MYLU.js.map +1 -0
  95. package/dist/{chunk-GUKIUBMF.js → chunk-YNQRVTXH.js} +4 -4
  96. package/dist/{chunk-GUKIUBMF.js.map → chunk-YNQRVTXH.js.map} +1 -1
  97. package/dist/{chunk-RFYL2HRA.js → chunk-ZQL6HGTW.js} +5 -5
  98. package/dist/{chunk-RFYL2HRA.js.map → chunk-ZQL6HGTW.js.map} +1 -1
  99. package/dist/{claude-code-IQHO7PGX.js → claude-code-LFAOJ3UQ.js} +4 -4
  100. package/dist/{claude-code-IQHO7PGX.js.map → claude-code-LFAOJ3UQ.js.map} +1 -1
  101. package/dist/cli/index.js +92 -54
  102. package/dist/cli/index.js.map +1 -1
  103. package/dist/cli/src/commands/harness-preflight.d.ts.map +1 -1
  104. package/dist/cli/src/commands/harness.d.ts +14 -0
  105. package/dist/cli/src/commands/harness.d.ts.map +1 -1
  106. package/dist/cli/src/commands/serve-preflight.d.ts +1 -6
  107. package/dist/cli/src/commands/serve-preflight.d.ts.map +1 -1
  108. package/dist/connectors/index.js +12 -10
  109. package/dist/{connectors-S4W2HZ2J.js → connectors-KPF4UUDS.js} +15 -13
  110. package/dist/{connectors-S4W2HZ2J.js.map → connectors-KPF4UUDS.js.map} +1 -1
  111. package/dist/{ensure-sources-Z4PSTQE4.js → ensure-sources-FOMEGCQ5.js} +15 -13
  112. package/dist/ensure-sources-FOMEGCQ5.js.map +1 -0
  113. package/dist/factory-assets/connectors/box.js +12 -10
  114. package/dist/factory-assets/connectors/deploy.js +12 -10
  115. package/dist/factory-assets/connectors/devserver.js +12 -10
  116. package/dist/factory-assets/connectors/flow/adapter.js +12 -10
  117. package/dist/factory-assets/connectors/flow/run-flow.js +13 -11
  118. package/dist/factory-assets/connectors/flow.js +12 -10
  119. package/dist/factory-assets/connectors/git.js +12 -10
  120. package/dist/factory-assets/connectors/gmail.js +12 -10
  121. package/dist/factory-assets/connectors/googledrive.js +12 -10
  122. package/dist/factory-assets/connectors/local.js +12 -10
  123. package/dist/factory-assets/connectors/mattermost.js +12 -10
  124. package/dist/factory-assets/connectors/memory.js +12 -10
  125. package/dist/factory-assets/connectors/minio.js +12 -10
  126. package/dist/factory-assets/connectors/postgres.js +12 -10
  127. package/dist/factory-assets/connectors/s3.js +12 -10
  128. package/dist/factory-assets/connectors/sharepoint.js +12 -10
  129. package/dist/factory-assets/connectors/sqlite.js +12 -10
  130. package/dist/factory-assets/connectors/static-server.js +12 -10
  131. package/dist/factory-assets/connectors/tunnel.js +12 -10
  132. package/dist/factory-assets/connectors/webdav.js +12 -10
  133. package/dist/factory-assets/connectors/xstate-store.js +12 -10
  134. package/dist/factory-assets/connectors/xstate.js +12 -10
  135. package/dist/{helpers-I537VC5V.js → helpers-ZJ67FO3Z.js} +15 -13
  136. package/dist/{helpers-I537VC5V.js.map → helpers-ZJ67FO3Z.js.map} +1 -1
  137. package/dist/{library-publish-IS56MNSL.js → library-publish-RGVXGTY4.js} +27 -25
  138. package/dist/library-publish-RGVXGTY4.js.map +1 -0
  139. package/dist/model-endpoint/index.js +3 -3
  140. package/dist/{open-library-P7ESNVXK.js → open-library-I5JHL37T.js} +16 -14
  141. package/dist/{open-library-P7ESNVXK.js.map → open-library-I5JHL37T.js.map} +1 -1
  142. package/dist/{project-XX4ZJ3IS.js → project-K5JWPIJ6.js} +23 -21
  143. package/dist/{project-XX4ZJ3IS.js.map → project-K5JWPIJ6.js.map} +1 -1
  144. package/dist/runner/index.js +18 -16
  145. package/dist/sdk/asset-manager.js +1 -1
  146. package/dist/sdk/bridge.js +11 -9
  147. package/dist/sdk/index.js +18 -16
  148. package/dist/sdk/index.js.map +1 -1
  149. package/dist/sdk/runner.js +18 -16
  150. package/dist/{serve-preflight-SHTST6WR.js → serve-preflight-L6VVCDM5.js} +17 -15
  151. package/dist/{serve-preflight-SHTST6WR.js.map → serve-preflight-L6VVCDM5.js.map} +1 -1
  152. package/dist/{setup-OBBZYSBG.js → setup-RXTNGML5.js} +16 -14
  153. package/dist/setup-RXTNGML5.js.map +1 -0
  154. package/dist/{source-3STGEDUY.js → source-2LP5W3ST.js} +25 -23
  155. package/dist/{source-3STGEDUY.js.map → source-2LP5W3ST.js.map} +1 -1
  156. package/dist/{source-manifest-publish-EL5SCBGK.js → source-manifest-publish-EZNCTSQF.js} +27 -25
  157. package/dist/source-manifest-publish-EZNCTSQF.js.map +1 -0
  158. package/dist/tui/index.js +18 -16
  159. package/dist/tui/index.js.map +1 -1
  160. package/dist/workspace-plugin/adapters/mcp.js +14 -12
  161. package/dist/workspace-plugin/adapters/omp.js +7 -7
  162. package/dist/workspace-plugin/index.js +1 -1
  163. package/package.json +1 -1
  164. package/dist/chunk-NGJAB5OS.js.map +0 -1
  165. package/dist/chunk-UDH4KZ53.js.map +0 -1
  166. package/dist/chunk-WWSRIT3J.js +0 -59
  167. package/dist/chunk-WWSRIT3J.js.map +0 -1
  168. package/dist/chunk-ZAU7IXIX.js.map +0 -1
  169. package/dist/ensure-sources-Z4PSTQE4.js.map +0 -1
  170. package/dist/library-publish-IS56MNSL.js.map +0 -1
  171. package/dist/setup-OBBZYSBG.js.map +0 -1
  172. package/dist/source-manifest-publish-EL5SCBGK.js.map +0 -1
package/dist/cli/index.js CHANGED
@@ -1,58 +1,60 @@
1
1
  #!/usr/bin/env node
2
- import { status, enable, disable, install, uninstall } from '../chunk-4CNJFSCM.js';
3
- import { makeValidateCommand, scanIdentities } from '../chunk-GUKIUBMF.js';
4
- import { storeNotInstallableReason, mcpNotRunnableHere } from '../chunk-WIZZUJ6R.js';
5
- import { checkHarnessSdk } from '../chunk-NGJAB5OS.js';
6
- import { makeProvidersCommand, loadRegistryView, addProviderEntry, ProviderRegistryWriteError, removeProviderEntry } from '../chunk-42CN5YMX.js';
7
- import { makeInstallCommand, makeCheckCommand, makeCleanCommand, pinComposedAgents, reportRewritten, reportReplaced, reportRelocked, reportMoved, reportStoreNotChecked, reportStoreNotCheckedForUpdates, globalProblems, editedConventionFiles, supportsInstallManifest, runYamlInstall, REF_HINT, reportInstalledSoftDeps } from '../chunk-6M4BE42A.js';
2
+ import { status, enable, disable, install, uninstall } from '../chunk-YJAKSCCN.js';
3
+ import { makeValidateCommand, scanIdentities } from '../chunk-YNQRVTXH.js';
4
+ import { storeNotInstallableReason, mcpNotRunnableHere } from '../chunk-J3FJTH3V.js';
5
+ import { checkHarnessSdk } from '../chunk-A7TM4PZZ.js';
6
+ import { makeProvidersCommand, loadRegistryView, addProviderEntry, ProviderRegistryWriteError, removeProviderEntry } from '../chunk-2URJ7W5X.js';
7
+ import { makeInstallCommand, makeCheckCommand, makeCleanCommand, pinComposedAgents, reportRewritten, reportReplaced, reportRelocked, reportMoved, reportStoreNotChecked, reportStoreNotCheckedForUpdates, globalProblems, editedConventionFiles, supportsInstallManifest, runYamlInstall, REF_HINT, reportInstalledSoftDeps } from '../chunk-DYH3VSPU.js';
8
8
  import { createSpinner } from '../chunk-NESV47MF.js';
9
- import { getStoreConfig, storeFetch, isStoreAuthenticated, getStoreToken } from '../chunk-2LDLQWYI.js';
10
- import { makeSourceCommand, dropVanishedSourceRows, syncProjectSources, divergedSourceClones, uncachedSources } from '../chunk-L4G7AAKM.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-SGCSP3GI.js';
12
- import { openCatalogSource, LocalCatalogDisabledError, openLibraryManager, openLibrary } from '../chunk-NJAE5DOC.js';
9
+ import { getStoreConfig, storeFetch, isStoreAuthenticated, getStoreToken } from '../chunk-243Z3BNB.js';
10
+ import { makeSourceCommand, dropVanishedSourceRows, syncProjectSources, divergedSourceClones, uncachedSources } from '../chunk-RRAXV5LE.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-OC3AIMZH.js';
12
+ import { openCatalogSource, LocalCatalogDisabledError, openLibraryManager, openLibrary } from '../chunk-VKGNMXGZ.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-XECD7XZT.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-5FO4U3OL.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-DY52RNLI.js';
19
- import '../chunk-JPUKRWWS.js';
20
- import '../chunk-6JAFK4ZU.js';
21
- import '../chunk-DOG3YBRL.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-LZCX2TCZ.js';
19
+ import '../chunk-OKPITFE3.js';
20
+ import '../chunk-WCUT3EQR.js';
21
+ import '../chunk-QBLS7X3Z.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-6OM5QDPA.js';
28
+ import '../chunk-X66KSHZF.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-7MISTEMW.js';
35
+ import { runFlow, resumeFlow } from '../chunk-4SSTREBO.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-RNQ26SKJ.js';
39
+ import '../chunk-RLV3FF4I.js';
40
40
  import '../chunk-MVUXBWNW.js';
41
41
  import '../chunk-SBAUZ7XH.js';
42
- import { checkHarnessModel, checkOmpListedModel, isUnlistedModel, checkModelSurface } from '../chunk-ZAU7IXIX.js';
43
- import '../chunk-RFYL2HRA.js';
44
- import '../chunk-T73IL57H.js';
45
- import { checkCodexCredential } from '../chunk-4QIVQAOP.js';
42
+ import { checkHarnessModel, detectHarnesses, checkOmpListedModel, isUnlistedModel, checkModelSurface } from '../chunk-LMUNQYJQ.js';
43
+ import '../chunk-ZQL6HGTW.js';
44
+ import '../chunk-QNHW26AT.js';
45
+ import { checkCodexCredential } from '../chunk-B6W5DCH5.js';
46
46
  import '../chunk-5KSGZP3E.js';
47
47
  import '../chunk-7EKQDY2T.js';
48
48
  import '../chunk-GJT2Q5XD.js';
49
- import '../chunk-ESUF2ZYT.js';
50
- import { findHarnessBinary, HARNESS_BINARIES } from '../chunk-WWSRIT3J.js';
51
- import '../chunk-ZCKZHOOU.js';
49
+ import '../chunk-U7EZ2WSC.js';
50
+ import '../chunk-6ISJMEDX.js';
51
+ import '../chunk-NBAGV6L2.js';
52
+ import '../chunk-NAAFRZTA.js';
53
+ import { resolveHarnessBinary, HARNESS_BINARIES } from '../chunk-YKD2MYLU.js';
52
54
  import '../chunk-5DE3DGVR.js';
53
55
  import '../chunk-7DN6JKP2.js';
54
- import '../chunk-GK5H52WR.js';
55
- import { listHarnesses } from '../chunk-JTJYM3XT.js';
56
+ import '../chunk-XHLRMUMO.js';
57
+ import { listHarnesses } from '../chunk-3BRBTQ6M.js';
56
58
  import '../chunk-G5SUWZEU.js';
57
59
  import '../chunk-CG63XGVV.js';
58
60
  import { getProviderPreset, AI_PROVIDER_PRESETS } from '../chunk-6UP2EDFN.js';
@@ -61,7 +63,7 @@ import { loadFlow, flowLookupRoots, findFlowFileInRoots, loadAllFlowEntries } fr
61
63
  import '../chunk-WD3L5QSU.js';
62
64
  import { nodeLabel, nodeSkillAsset, nodeIsInert, nodeIsOptional, nodeRunKind, nodeAssets } from '../chunk-7RGTAEG6.js';
63
65
  import '../chunk-DWPQBMCY.js';
64
- import { setLibraryAssetCheck, setRenamedEntryLookup, LibraryEntryError, AssetManager, parseRefTolerant, MissingManifestError, writeHarnessSwitchState, harnessSwitchKeptKey, parseCanonicalLockKey, normalizeRepoUrl, readHarnessSwitchState } from '../chunk-MPBLRRPK.js';
66
+ import { setLibraryAssetCheck, setRenamedEntryLookup, LibraryEntryError, AssetManager, parseRefTolerant, MissingManifestError, writeHarnessSwitchState, harnessSwitchKeptKey, parseCanonicalLockKey, normalizeRepoUrl, readHarnessSwitchState } from '../chunk-7UBCUKJO.js';
65
67
  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
68
  import { flowFileNameError, SEMVER_RE } from '../chunk-DRUAQ7IY.js';
67
69
  import '../chunk-CVUMZTNO.js';
@@ -239,7 +241,7 @@ async function runSearch(kind, query, opts) {
239
241
  }
240
242
  }
241
243
  async function searchIndex(query, kind, projectDir) {
242
- const { openLibrary: openLibrary2 } = await import('../open-library-P7ESNVXK.js');
244
+ const { openLibrary: openLibrary2 } = await import('../open-library-I5JHL37T.js');
243
245
  const library = await openLibrary2();
244
246
  try {
245
247
  const { libraryDirMissing: libraryDirMissing2 } = await import('../library/index.js');
@@ -415,14 +417,14 @@ async function withAddVersions(entries, projectDir) {
415
417
  }
416
418
  async function searchLocal(query, kind, opts, showStore, airGapped) {
417
419
  const projectDir = path19__default.resolve(opts.projectDir);
418
- const { restoreSourceReaders } = await import('../source-3STGEDUY.js');
420
+ const { restoreSourceReaders } = await import('../source-2LP5W3ST.js');
419
421
  for (const name of await restoreSourceReaders(projectDir)) {
420
422
  logInfo(`Re-registered source "${name}" (its library entry was removed elsewhere).`);
421
423
  }
422
424
  const factory = await searchFactory(projectDir, query, kind);
423
425
  let entries = unionEntries(await searchIndex(query, kind, projectDir), factory);
424
426
  if (entries.length === 0 && !query && !kind && !airGapped) {
425
- const { autoSyncForSearch } = await import('../source-3STGEDUY.js');
427
+ const { autoSyncForSearch } = await import('../source-2LP5W3ST.js');
426
428
  if (await autoSyncForSearch(projectDir)) {
427
429
  entries = unionEntries(await searchIndex(query, kind, projectDir), factory);
428
430
  }
@@ -542,7 +544,7 @@ async function searchStore(query, kind, opts, airGapped) {
542
544
  logInfo("air-gapped (cache_ttl: 0) \u2014 local sources only");
543
545
  return "skipped";
544
546
  }
545
- const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-P7ESNVXK.js');
547
+ const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-I5JHL37T.js');
546
548
  try {
547
549
  const remote = await openCatalogSource2({ projectDir: path19__default.resolve(opts.projectDir) });
548
550
  const assets = await remote.listAssets(kind ? { kind } : {});
@@ -1152,7 +1154,7 @@ async function resolveInfoEntry(am2, ref, opts) {
1152
1154
  return { entry: match ?? deployed, deployed: true };
1153
1155
  }
1154
1156
  const lookup = opts.storeLookup ?? (async (filter) => {
1155
- const { resolveCatalogSource } = await import('../open-library-P7ESNVXK.js');
1157
+ const { resolveCatalogSource } = await import('../open-library-I5JHL37T.js');
1156
1158
  const { source, close } = await resolveCatalogSource({ projectDir: opts.projectDir });
1157
1159
  try {
1158
1160
  return await source.listAssets(filter);
@@ -1168,7 +1170,7 @@ async function resolveInfoEntry(am2, ref, opts) {
1168
1170
  );
1169
1171
  return { entry: hit ? catalogAssetToEntry(hit) : null };
1170
1172
  } catch (err) {
1171
- const { LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-P7ESNVXK.js');
1173
+ const { LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-I5JHL37T.js');
1172
1174
  const storeNote = err instanceof Error ? err.message : String(err);
1173
1175
  const disabled = err instanceof LocalCatalogDisabledError2 || /catalog\.url/i.test(storeNote);
1174
1176
  return { entry: null, storeNote, ...disabled ? { storeDisabled: true } : {} };
@@ -1930,7 +1932,7 @@ function makeCatalogCommand() {
1930
1932
  return catalog;
1931
1933
  }
1932
1934
  async function runLocalCatalogTest(projectDir) {
1933
- const { resolveCatalogSource } = await import('../open-library-P7ESNVXK.js');
1935
+ const { resolveCatalogSource } = await import('../open-library-I5JHL37T.js');
1934
1936
  let resolved;
1935
1937
  try {
1936
1938
  resolved = await resolveCatalogSource({ projectDir });
@@ -3580,9 +3582,44 @@ function makeHarnessCommand() {
3580
3582
  ).action(async (name, opts) => {
3581
3583
  await runHarnessSet(name, path19__default.resolve(opts.projectDir), opts);
3582
3584
  });
3585
+ cmd.command("status").description("Report each harness's installed program, version, SDK and login").option(
3586
+ "--project-dir <path>",
3587
+ "Project whose node_modules the SDK probe looks in",
3588
+ process.cwd()
3589
+ ).option("--json", "Print the detections as JSON").action(async (opts) => {
3590
+ await runHarnessStatus(opts);
3591
+ });
3583
3592
  helpOnBareGroup(cmd);
3584
3593
  return cmd;
3585
3594
  }
3595
+ function loginSuffix(login) {
3596
+ if (!login) return "";
3597
+ if (login.status === "ok") return ` login: ok${login.detail ? ` (${login.detail})` : ""}`;
3598
+ if (login.status === "missing") return " not logged in";
3599
+ return " login: unknown";
3600
+ }
3601
+ async function runHarnessStatus(opts, detect = detectHarnesses) {
3602
+ const detections = await detect({
3603
+ projectDir: path19__default.resolve(opts.projectDir ?? process.cwd()),
3604
+ fresh: true
3605
+ });
3606
+ if (opts.json) {
3607
+ console.log(JSON.stringify(detections, null, 2));
3608
+ return;
3609
+ }
3610
+ for (const d of detections) {
3611
+ if (d.status === "ok") {
3612
+ const where = [d.version ?? "version unknown", d.path].filter(Boolean).join(" ");
3613
+ logOk(`${d.id} ${where}${loginSuffix(d.login)}`);
3614
+ } else if (d.status === "outdated") {
3615
+ logWarn(`${d.id} ${d.problem ?? "version below the minimum"}`);
3616
+ } else if (d.status === "missing") {
3617
+ logErr(`${d.id} ${d.problem ?? "not found"}`);
3618
+ } else {
3619
+ logInfo(`${d.id} ${d.problem ?? "(no check)"}`);
3620
+ }
3621
+ }
3622
+ }
3586
3623
  async function runHarnessSet(name, projectDir, opts) {
3587
3624
  const target = parseHarnessTarget(name);
3588
3625
  if (!target) {
@@ -4970,7 +5007,7 @@ function remoteBranches(url) {
4970
5007
  return r.stdout.split("\n").map((line) => line.split(" ")[1]?.replace(/^refs\/heads\//, "")).filter((b) => !!b);
4971
5008
  }
4972
5009
  async function warnIfNotGithubRemote(name, url) {
4973
- const { isGithubRemote, notGithubRemoteMessage } = await import('../library-publish-IS56MNSL.js');
5010
+ const { isGithubRemote, notGithubRemoteMessage } = await import('../library-publish-RGVXGTY4.js');
4974
5011
  if (!isGithubRemote(url)) logWarn(notGithubRemoteMessage(name, url));
4975
5012
  }
4976
5013
  function scaffoldLibraryFiles(dir, name) {
@@ -5814,16 +5851,16 @@ function makeLibraryCommand() {
5814
5851
  "With --create-repo: create the repo private (the store only accepts public repos)"
5815
5852
  ).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
5853
  async (lib, opts) => {
5817
- const { runLibraryPublish } = await import('../library-publish-IS56MNSL.js');
5854
+ const { runLibraryPublish } = await import('../library-publish-RGVXGTY4.js');
5818
5855
  await withStoreErrorHandling(() => runLibraryPublish(lib, opts));
5819
5856
  }
5820
5857
  );
5821
5858
  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-IS56MNSL.js');
5859
+ const { runLibraryRegister } = await import('../library-publish-RGVXGTY4.js');
5823
5860
  await withStoreErrorHandling(() => runLibraryRegister(lib, opts));
5824
5861
  });
5825
5862
  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-IS56MNSL.js');
5863
+ const { runLibraryYank } = await import('../library-publish-RGVXGTY4.js');
5827
5864
  await withStoreErrorHandling(() => runLibraryYank(lib, opts));
5828
5865
  });
5829
5866
  return cmd;
@@ -6483,7 +6520,7 @@ function scheduleSoftDepPreview() {
6483
6520
  }
6484
6521
  async function loadAssets() {
6485
6522
  softDepPreviewCache.clear();
6486
- const { gatherAssetFeeds } = await import('../asset-feeds-3USSYLBS.js');
6523
+ const { gatherAssetFeeds } = await import('../asset-feeds-DOG5FK7T.js');
6487
6524
  const { entries, notes } = await gatherAssetFeeds(am, am.projectDir);
6488
6525
  if (notes.length > 0) {
6489
6526
  state.message = notes.map((n) => `[${n.feed}] ${n.message}`).join(" \u2022 ");
@@ -6687,7 +6724,7 @@ function reconcileCollapsedSets(rows) {
6687
6724
  async function loadSourcesAndLibraries() {
6688
6725
  try {
6689
6726
  const [{ openLibraryManager: openLibraryManager2 }, { getGlobalCacheDir: getGlobalCacheDir2, globalSkaileDir: globalSkaileDir2 }] = await Promise.all([
6690
- import('../open-library-P7ESNVXK.js'),
6727
+ import('../open-library-I5JHL37T.js'),
6691
6728
  import('../core/index.js')
6692
6729
  ]);
6693
6730
  const { manager, library, close } = await openLibraryManager2();
@@ -10882,7 +10919,7 @@ async function preflightHarness(input, deps = {}) {
10882
10919
  registry: input.registry ?? loadRegistryView({ projectDir: input.projectDir }).merged
10883
10920
  },
10884
10921
  {
10885
- hasBinary: deps.hasBinary ?? ((id) => findHarnessBinary(HARNESS_BINARIES[id])),
10922
+ hasBinary: deps.hasBinary ?? ((id) => resolveHarnessBinary(HARNESS_BINARIES[id]) !== void 0),
10886
10923
  sdkProblem: deps.sdkProblem ?? checkHarnessSdk,
10887
10924
  ompListed: deps.ompListed ?? checkOmpListedModel,
10888
10925
  codexCredential: deps.codexCredential ?? checkCodexCredential
@@ -11626,7 +11663,7 @@ function makeServeCommand() {
11626
11663
  process.exitCode = 1;
11627
11664
  return;
11628
11665
  }
11629
- const dirProblem = (await import('../serve-preflight-SHTST6WR.js')).checkServeProjectDir(
11666
+ const dirProblem = (await import('../serve-preflight-L6VVCDM5.js')).checkServeProjectDir(
11630
11667
  opts.projectDir
11631
11668
  );
11632
11669
  if (dirProblem) {
@@ -11655,7 +11692,7 @@ function makeServeCommand() {
11655
11692
  }
11656
11693
  let providers = parseProviderIds(opts.providers);
11657
11694
  if (!managedCodex) {
11658
- const { resolveServeProvider } = await import('../serve-preflight-SHTST6WR.js');
11695
+ const { resolveServeProvider } = await import('../serve-preflight-L6VVCDM5.js');
11659
11696
  const picked = resolveServeProvider(opts.projectDir, opts.provider, providers);
11660
11697
  if ("problem" in picked) {
11661
11698
  logErr(picked.problem);
@@ -11665,8 +11702,8 @@ function makeServeCommand() {
11665
11702
  providers = [...picked.providers];
11666
11703
  }
11667
11704
  const modelEndpoint = parseModelEndpointFlag(opts.modelEndpoint, opts.modelEndpointAgent);
11668
- const { checkHarnessSdk: checkHarnessSdk2, checkModelEndpointPeer, checkServeModel } = await import('../serve-preflight-SHTST6WR.js');
11669
- const { checkServeHarness, checkServeAgents, checkServeConnectors } = await import('../serve-preflight-SHTST6WR.js');
11705
+ const { checkHarnessSdk: checkHarnessSdk2, checkModelEndpointPeer, checkServeModel } = await import('../serve-preflight-L6VVCDM5.js');
11706
+ const { checkServeHarness, checkServeAgents, checkServeConnectors } = await import('../serve-preflight-L6VVCDM5.js');
11670
11707
  const startProblem = managedCodex ? null : await checkServeHarness(opts.projectDir, opts.harness) ?? checkServeAgents(opts.projectDir) ?? await checkServeConnectors(opts.projectDir);
11671
11708
  if (startProblem) {
11672
11709
  logErr(startProblem);
@@ -11733,7 +11770,7 @@ function makeServeCommand() {
11733
11770
  );
11734
11771
  }
11735
11772
  async function ensurePluginsLoadedForServe(projectDir) {
11736
- const { logInfo: logInfo2, logWarn: logWarn2 } = await import('../helpers-I537VC5V.js');
11773
+ const { logInfo: logInfo2, logWarn: logWarn2 } = await import('../helpers-ZJ67FO3Z.js');
11737
11774
  try {
11738
11775
  const { resolveSkWorkspaceConfig: resolveSkWorkspaceConfig2 } = await import('../core/index.js');
11739
11776
  const config = resolveSkWorkspaceConfig2(projectDir);
@@ -11752,7 +11789,7 @@ async function ensurePluginsLoadedForServe(projectDir) {
11752
11789
  }
11753
11790
  }
11754
11791
  async function runCompileTest(opts) {
11755
- const { logOk: logOk2, logErr: logErr2, logInfo: logInfo2, S: S2 } = await import('../helpers-I537VC5V.js');
11792
+ const { logOk: logOk2, logErr: logErr2, logInfo: logInfo2, S: S2 } = await import('../helpers-ZJ67FO3Z.js');
11756
11793
  const { tmpdir } = await import('os');
11757
11794
  const { dirname: dirname3, join: join6, resolve: resolve4 } = await import('path');
11758
11795
  const { fileURLToPath: fileURLToPath2 } = await import('url');
@@ -12719,7 +12756,7 @@ function makeStoreCommand() {
12719
12756
  "--all",
12720
12757
  `List every match (default: ${STORE_ROW_LIMIT} rows, only what \`skaile add\` can install)`
12721
12758
  ).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-P7ESNVXK.js');
12759
+ const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-I5JHL37T.js');
12723
12760
  const { getKnownKinds: getKnownKinds2 } = await import('../open-registry-4HNCWOCN.js');
12724
12761
  const projectDir = path19__default.resolve(opts.projectDir);
12725
12762
  if (opts.kind && !getKnownKinds2().has(opts.kind)) {
@@ -12778,8 +12815,8 @@ function makeStoreCommand() {
12778
12815
  }
12779
12816
  });
12780
12817
  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-P7ESNVXK.js');
12782
- const { supportsInstallManifest: supportsInstallManifest2 } = await import('../project-XX4ZJ3IS.js');
12818
+ const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-I5JHL37T.js');
12819
+ const { supportsInstallManifest: supportsInstallManifest2 } = await import('../project-K5JWPIJ6.js');
12783
12820
  try {
12784
12821
  parseAssetRef(ref);
12785
12822
  } catch (e) {
@@ -13591,6 +13628,7 @@ More:
13591
13628
  migrate providers|agents|assets|harness One-time config and asset migrations
13592
13629
  providers list|add|set|rm|test AI provider registry
13593
13630
  auth status|set-key-strategy Secret key strategy and provider status
13631
+ harness status [--json] Which harnesses can start here: version, SDK, login
13594
13632
  cache clean|dir|size Inspect and reclaim the re-derivable cache
13595
13633
  npx skills add <url> Compatibility shim for npx skills syntax
13596
13634
  rebuild Re-snapshot composition items, bump prompt version
@@ -13762,7 +13800,7 @@ async function bootstrapUserConfig() {
13762
13800
  }
13763
13801
  async function hydrateInitSources(resolved, created) {
13764
13802
  try {
13765
- const { ensureSourcesCloned } = await import('../ensure-sources-Z4PSTQE4.js');
13803
+ const { ensureSourcesCloned } = await import('../ensure-sources-FOMEGCQ5.js');
13766
13804
  const hydrate = ensureSourcesCloned(resolved, { quiet: true });
13767
13805
  for (const n of hydrate.cloned) created.push(`~/.skaile/cache/sources/${n}/`);
13768
13806
  if (hydrate.failed.length > 0) {
@@ -13803,7 +13841,7 @@ function printInitSummary(resolved, projectDir, created) {
13803
13841
  }
13804
13842
  program.hook("preAction", (_program, actionCommand) => setActiveCommand(actionCommand));
13805
13843
  program.command("setup").description("Interactive provider setup wizard").action(async () => {
13806
- const { cmdSetup } = await import('../setup-OBBZYSBG.js');
13844
+ const { cmdSetup } = await import('../setup-RXTNGML5.js');
13807
13845
  await cmdSetup([], { projectDir: process.cwd() });
13808
13846
  });
13809
13847
  program.addCommand(makeInstallCommand());
@@ -13884,7 +13922,7 @@ program.hook("postAction", async (_thisCommand, actionCommand) => {
13884
13922
  const opts = actionCommand.opts();
13885
13923
  if (opts.global || opts.dryRun) return;
13886
13924
  const projectDir = path19__default.resolve(opts.projectDir ?? process.cwd());
13887
- const { refreshPluginSkills } = await import('../claude-code-IQHO7PGX.js');
13925
+ const { refreshPluginSkills } = await import('../claude-code-LFAOJ3UQ.js');
13888
13926
  try {
13889
13927
  if (await refreshPluginSkills(projectDir)) {
13890
13928
  logInfo(`Updated ${S.cmd(".claude/plugins/skaile/skills")} (the --full plugin copy)`);