@skaile/workspaces 1.9.0 → 1.10.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 (118) hide show
  1. package/CHANGELOG.md +81 -0
  2. package/dist/{asset-feeds-SS336LXB.js → asset-feeds-FMV3SJVQ.js} +4 -4
  3. package/dist/{asset-feeds-SS336LXB.js.map → asset-feeds-FMV3SJVQ.js.map} +1 -1
  4. package/dist/asset-manager/index.js +1 -1
  5. package/dist/bridge/drivers/claude-sdk.js +1 -1
  6. package/dist/bridge/drivers/codex.js +1 -1
  7. package/dist/bridge/drivers/continue.js +2 -2
  8. package/dist/bridge/drivers/echo.js +201 -1
  9. package/dist/bridge/drivers/echo.js.map +1 -1
  10. package/dist/bridge/drivers/gemini.js +3 -3
  11. package/dist/bridge/drivers/goose.js +2 -2
  12. package/dist/bridge/drivers/omp.js +1 -1
  13. package/dist/bridge/drivers/opencode.js +2 -2
  14. package/dist/bridge/drivers/qwen.js +3 -3
  15. package/dist/bridge/index.js +2 -2
  16. package/dist/bridge/src/drivers/echo.d.ts +16 -0
  17. package/dist/bridge/src/drivers/echo.d.ts.map +1 -1
  18. package/dist/bridge/src/drivers/flow-script.d.ts +129 -0
  19. package/dist/bridge/src/drivers/flow-script.d.ts.map +1 -0
  20. package/dist/bridge/src/types.d.ts +32 -1
  21. package/dist/bridge/src/types.d.ts.map +1 -1
  22. package/dist/{chunk-4DFBHEXQ.js → chunk-2257NSNY.js} +96 -17
  23. package/dist/chunk-2257NSNY.js.map +1 -0
  24. package/dist/{chunk-MWZGGCMF.js → chunk-2ZP6KIIQ.js} +2 -2
  25. package/dist/{chunk-MWZGGCMF.js.map → chunk-2ZP6KIIQ.js.map} +1 -1
  26. package/dist/{chunk-NKTFEV7Q.js → chunk-6XQ5QG63.js} +4 -4
  27. package/dist/{chunk-NKTFEV7Q.js.map → chunk-6XQ5QG63.js.map} +1 -1
  28. package/dist/{chunk-TNSCHS4I.js → chunk-APHTT5GE.js} +2 -2
  29. package/dist/{chunk-TNSCHS4I.js.map → chunk-APHTT5GE.js.map} +1 -1
  30. package/dist/{chunk-UNJGSISX.js → chunk-DEBMR6MK.js} +3 -3
  31. package/dist/{chunk-UNJGSISX.js.map → chunk-DEBMR6MK.js.map} +1 -1
  32. package/dist/{chunk-UQ5FK2AB.js → chunk-FRD4NU3W.js} +3 -3
  33. package/dist/{chunk-UQ5FK2AB.js.map → chunk-FRD4NU3W.js.map} +1 -1
  34. package/dist/{chunk-GKPUN2YQ.js → chunk-GEZMBQ3R.js} +3 -3
  35. package/dist/{chunk-GKPUN2YQ.js.map → chunk-GEZMBQ3R.js.map} +1 -1
  36. package/dist/{chunk-TJNEKDWS.js → chunk-IFCHOBEF.js} +6 -6
  37. package/dist/{chunk-TJNEKDWS.js.map → chunk-IFCHOBEF.js.map} +1 -1
  38. package/dist/{chunk-HKX5VSWQ.js → chunk-LVQO4X4U.js} +3 -3
  39. package/dist/{chunk-HKX5VSWQ.js.map → chunk-LVQO4X4U.js.map} +1 -1
  40. package/dist/{chunk-QY47VHNI.js → chunk-PU3FGN4T.js} +2 -2
  41. package/dist/{chunk-QY47VHNI.js.map → chunk-PU3FGN4T.js.map} +1 -1
  42. package/dist/{chunk-OMBYBUOF.js → chunk-SMWXVW6Z.js} +3 -3
  43. package/dist/{chunk-OMBYBUOF.js.map → chunk-SMWXVW6Z.js.map} +1 -1
  44. package/dist/{chunk-R5UMZEBH.js → chunk-TR6E5JOF.js} +6 -6
  45. package/dist/{chunk-R5UMZEBH.js.map → chunk-TR6E5JOF.js.map} +1 -1
  46. package/dist/{chunk-DTZ7JUZY.js → chunk-YNEJXDCZ.js} +250 -195
  47. package/dist/chunk-YNEJXDCZ.js.map +1 -0
  48. package/dist/{chunk-5DC744E3.js → chunk-ZDRAMXBS.js} +3 -3
  49. package/dist/{chunk-5DC744E3.js.map → chunk-ZDRAMXBS.js.map} +1 -1
  50. package/dist/cli/index.js +27 -27
  51. package/dist/connectors/index.js +1 -1
  52. package/dist/connectors/src/connector-prompt.d.ts +23 -0
  53. package/dist/connectors/src/connector-prompt.d.ts.map +1 -1
  54. package/dist/connectors/src/credential-helper-script.d.ts +8 -5
  55. package/dist/connectors/src/credential-helper-script.d.ts.map +1 -1
  56. package/dist/connectors/src/index.d.ts +1 -1
  57. package/dist/connectors/src/index.d.ts.map +1 -1
  58. package/dist/connectors/src/managed-gitconfig.d.ts +4 -2
  59. package/dist/connectors/src/managed-gitconfig.d.ts.map +1 -1
  60. package/dist/{ensure-sources-ELLWRQAT.js → ensure-sources-OJ5GIRZF.js} +4 -4
  61. package/dist/{ensure-sources-ELLWRQAT.js.map → ensure-sources-OJ5GIRZF.js.map} +1 -1
  62. package/dist/factory-assets/connectors/box.js +1 -1
  63. package/dist/factory-assets/connectors/deploy.js +1 -1
  64. package/dist/factory-assets/connectors/devserver.js +1 -1
  65. package/dist/factory-assets/connectors/flow/adapter.js +1 -1
  66. package/dist/factory-assets/connectors/flow/run-flow.js +2 -2
  67. package/dist/factory-assets/connectors/flow.js +1 -1
  68. package/dist/factory-assets/connectors/git/driver.d.ts.map +1 -1
  69. package/dist/factory-assets/connectors/git.js +1 -1
  70. package/dist/factory-assets/connectors/gmail.js +1 -1
  71. package/dist/factory-assets/connectors/googledrive.js +1 -1
  72. package/dist/factory-assets/connectors/local.js +1 -1
  73. package/dist/factory-assets/connectors/mattermost.js +1 -1
  74. package/dist/factory-assets/connectors/memory.js +1 -1
  75. package/dist/factory-assets/connectors/minio.js +1 -1
  76. package/dist/factory-assets/connectors/postgres.js +1 -1
  77. package/dist/factory-assets/connectors/s3.js +1 -1
  78. package/dist/factory-assets/connectors/sharepoint.js +1 -1
  79. package/dist/factory-assets/connectors/sqlite.js +1 -1
  80. package/dist/factory-assets/connectors/static-server.js +1 -1
  81. package/dist/factory-assets/connectors/tunnel.js +1 -1
  82. package/dist/factory-assets/connectors/webdav.js +1 -1
  83. package/dist/factory-assets/connectors/xstate-store.js +1 -1
  84. package/dist/factory-assets/connectors/xstate.js +1 -1
  85. package/dist/{helpers-7Y4DTFR6.js → helpers-PS37RNFV.js} +4 -4
  86. package/dist/{helpers-7Y4DTFR6.js.map → helpers-PS37RNFV.js.map} +1 -1
  87. package/dist/{library-publish-7AH63NKA.js → library-publish-CRG7JLDZ.js} +6 -6
  88. package/dist/{library-publish-7AH63NKA.js.map → library-publish-CRG7JLDZ.js.map} +1 -1
  89. package/dist/{open-library-J2PRSM3J.js → open-library-5SRCSBSY.js} +5 -5
  90. package/dist/{open-library-J2PRSM3J.js.map → open-library-5SRCSBSY.js.map} +1 -1
  91. package/dist/{project-CSNHUQFK.js → project-SM2VMQOZ.js} +5 -5
  92. package/dist/{project-CSNHUQFK.js.map → project-SM2VMQOZ.js.map} +1 -1
  93. package/dist/run-group-engine/index.js.map +1 -1
  94. package/dist/run-group-engine/src/rollup.d.ts +5 -3
  95. package/dist/run-group-engine/src/rollup.d.ts.map +1 -1
  96. package/dist/runner/index.js +5 -5
  97. package/dist/runner/src/serve.d.ts.map +1 -1
  98. package/dist/runner/src/session-capability-wiring.d.ts +49 -0
  99. package/dist/runner/src/session-capability-wiring.d.ts.map +1 -0
  100. package/dist/runner/src/session-resource-handlers.d.ts +1 -2
  101. package/dist/runner/src/session-resource-handlers.d.ts.map +1 -1
  102. package/dist/sdk/asset-manager.js +1 -1
  103. package/dist/sdk/bridge.js +2 -2
  104. package/dist/sdk/index.js +5 -5
  105. package/dist/sdk/runner.js +5 -5
  106. package/dist/{setup-ETGRXSZG.js → setup-H3WCLOEH.js} +4 -4
  107. package/dist/{setup-ETGRXSZG.js.map → setup-H3WCLOEH.js.map} +1 -1
  108. package/dist/{source-4YG45QO6.js → source-Y7ZTBG2U.js} +6 -6
  109. package/dist/{source-4YG45QO6.js.map → source-Y7ZTBG2U.js.map} +1 -1
  110. package/dist/{source-manifest-publish-RFU4YBC6.js → source-manifest-publish-SXJ6LF4S.js} +7 -7
  111. package/dist/{source-manifest-publish-RFU4YBC6.js.map → source-manifest-publish-SXJ6LF4S.js.map} +1 -1
  112. package/dist/tui/index.js +5 -5
  113. package/dist/types/src/run-group.d.ts +2 -2
  114. package/dist/types/src/run-group.d.ts.map +1 -1
  115. package/dist/workspace-plugin/index.js +1 -1
  116. package/package.json +1 -1
  117. package/dist/chunk-4DFBHEXQ.js.map +0 -1
  118. package/dist/chunk-DTZ7JUZY.js.map +0 -1
@@ -1,4 +1,4 @@
1
- export { XStateConnector, createConnector19 as createConnector } from '../../chunk-4DFBHEXQ.js';
1
+ export { XStateConnector, createConnector19 as createConnector } from '../../chunk-2257NSNY.js';
2
2
  import '../../chunk-Y6FV73IH.js';
3
3
  import '../../chunk-6E6PKKAD.js';
4
4
  import '../../chunk-4N5XR5DQ.js';
@@ -1,5 +1,5 @@
1
- export { KIND_COL_WIDTH, S, bareSoftDepName, colorRef, fitWidth, formatRelativeTime, formatSoftDepAddPreview, formatSoftDepHint, formatSoftDepRemovePreview, formatSoftDepSection, kindColor, kindColorPad, logErr, logInfo, logOk, logWarn } from './chunk-5DC744E3.js';
2
- import './chunk-QY47VHNI.js';
1
+ export { KIND_COL_WIDTH, S, bareSoftDepName, colorRef, fitWidth, formatRelativeTime, formatSoftDepAddPreview, formatSoftDepHint, formatSoftDepRemovePreview, formatSoftDepSection, kindColor, kindColorPad, logErr, logInfo, logOk, logWarn } from './chunk-ZDRAMXBS.js';
2
+ import './chunk-PU3FGN4T.js';
3
3
  import './chunk-MWE7DEGC.js';
4
4
  import './chunk-MZV6WCF3.js';
5
5
  import './chunk-JXT46QFC.js';
@@ -23,5 +23,5 @@ import './chunk-UQ6LFBPZ.js';
23
23
  import './chunk-IEX5YV4R.js';
24
24
  import './chunk-IRORTHGA.js';
25
25
  import './chunk-NSBPE2FW.js';
26
- //# sourceMappingURL=helpers-7Y4DTFR6.js.map
27
- //# sourceMappingURL=helpers-7Y4DTFR6.js.map
26
+ //# sourceMappingURL=helpers-PS37RNFV.js.map
27
+ //# sourceMappingURL=helpers-PS37RNFV.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"helpers-7Y4DTFR6.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"helpers-PS37RNFV.js"}
@@ -1,9 +1,9 @@
1
- import { makeHttpPublisherClient, bareName, refFor, formatNamespaceAvailability, preflightNamespace, publishToStore } from './chunk-GKPUN2YQ.js';
1
+ import { makeHttpPublisherClient, bareName, refFor, formatNamespaceAvailability, preflightNamespace, publishToStore } from './chunk-GEZMBQ3R.js';
2
2
  import { isStoreAuthenticated } from './chunk-MB6563TL.js';
3
- import { openLibraryManager } from './chunk-OMBYBUOF.js';
4
- import { logErr, logInfo, logOk, S } from './chunk-5DC744E3.js';
3
+ import { openLibraryManager } from './chunk-SMWXVW6Z.js';
4
+ import { logErr, logInfo, logOk, S } from './chunk-ZDRAMXBS.js';
5
5
  import './chunk-4N5XR5DQ.js';
6
- import './chunk-QY47VHNI.js';
6
+ import './chunk-PU3FGN4T.js';
7
7
  import './chunk-MWE7DEGC.js';
8
8
  import './chunk-MZV6WCF3.js';
9
9
  import './chunk-JXT46QFC.js';
@@ -269,5 +269,5 @@ async function runLibraryYank(name, opts, client) {
269
269
  }
270
270
 
271
271
  export { runLibraryPublish, runLibraryRegister, runLibraryYank };
272
- //# sourceMappingURL=library-publish-7AH63NKA.js.map
273
- //# sourceMappingURL=library-publish-7AH63NKA.js.map
272
+ //# sourceMappingURL=library-publish-CRG7JLDZ.js.map
273
+ //# sourceMappingURL=library-publish-CRG7JLDZ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../cli/src/commands/library-publish.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,IAAM,iBAAA,GAAoB,sBAAA;AAG1B,SAAS,YAAY,GAAA,EAAkC;AACrD,EAAA,IAAI,GAAA,CAAI,OAAA,KAAY,KAAA,EAAO,OAAO,MAAA;AAClC,EAAA,OAAQ,IAAI,aAAA,CAAmC,GAAA;AACjD;AAGA,SAAS,SAAS,GAAA,EAAsB;AACtC,EAAA,IAAI,GAAA,CAAI,OAAA,KAAY,KAAA,EAAO,OAAO,MAAA;AAClC,EAAA,OAAQ,GAAA,CAAI,cAAmC,MAAA,IAAU,MAAA;AAC3D;AAMA,SAAS,aAAa,OAAA,EAAoC;AACxD,EAAA,IAAI,IAAA;AACJ,EAAA,IAAI;AACF,IAAA,IAAA,GAAO,YAAA,CAAa,IAAA,CAAK,OAAA,EAAS,iBAAiB,GAAG,OAAO,CAAA;AAAA,EAC/D,CAAA,CAAA,MAAQ;AACN,IAAA,MAAA;AAAA,MACE,CAAA,GAAA,EAAM,CAAA,CAAE,GAAA,CAAI,iBAAiB,CAAC,CAAA,+GAAA;AAAA,KAEhC;AACA,IAAA,OAAA,CAAQ,KAAK,CAAC,CAAA;AAAA,EAChB;AACA,EAAA,MAAM,EAAE,QAAA,EAAU,WAAA,EAAY,GAAI,qBAAqB,IAAI,CAAA;AAC3D,EAAA,MAAM,SAAS,WAAA,CAAY,MAAA,CAAO,CAAC,CAAA,KAAM,CAAA,CAAE,aAAa,OAAO,CAAA;AAC/D,EAAA,IAAI,MAAA,CAAO,SAAS,CAAA,EAAG;AACrB,IAAA,KAAA,MAAW,CAAA,IAAK,QAAQ,MAAA,CAAO,CAAA,EAAG,EAAE,IAAI,CAAA,EAAA,EAAK,CAAA,CAAE,OAAO,CAAA,CAAE,CAAA;AACxD,IAAA,MAAA,CAAO,mFAA8E,CAAA;AACrF,IAAA,OAAA,CAAQ,KAAK,CAAC,CAAA;AAAA,EAChB;AACA,EAAA,OAAO,QAAA;AACT;AAGA,SAAS,MAAA,CAAO,KAAA,EAAkB,GAAA,EAAa,IAAA,EAAgB;AAC7D,EAAA,OAAO,KAAA,CAAM,KAAA,EAAO,CAAC,IAAA,EAAM,GAAA,EAAK,GAAG,IAAI,CAAA,EAAG,EAAE,QAAA,EAAU,OAAA,EAAS,CAAA;AACjE;AAQA,SAAS,cAAc,IAAA,EAKd;AACP,EAAA,MAAM,EAAE,OAAA,EAAS,SAAA,EAAW,MAAA,EAAQ,OAAM,GAAI,IAAA;AAE9C,EAAA,MAAM,SAAS,MAAA,CAAO,KAAA,EAAO,SAAS,CAAC,WAAA,EAAa,WAAW,CAAC,CAAA;AAChE,EAAA,IAAI,MAAA,CAAO,WAAW,CAAA,EAAG;AACvB,IAAA,MAAM,OAAO,MAAA,CAAO,KAAA,EAAO,OAAA,EAAS,CAAC,MAAM,CAAC,CAAA;AAC5C,IAAA,IAAI,IAAA,CAAK,WAAW,CAAA,EAAG;AACrB,MAAA,MAAM,IAAI,KAAA;AAAA,QACR,CAAA,iBAAA,EAAA,CAAqB,IAAA,CAAK,MAAA,IAAU,EAAA,EAAI,QAAA,EAAS,CAAE,IAAA,EAAK,IAAK,CAAA,KAAA,EAAQ,IAAA,CAAK,MAAM,CAAA,CAAE,CAAA;AAAA,OACpF;AAAA,IACF;AAAA,EACF;AAGA,EAAA,MAAM,MAAA,GAAS,OAAO,KAAA,EAAO,OAAA,EAAS,CAAC,QAAA,EAAU,SAAA,EAAW,QAAQ,CAAC,CAAA;AACrE,EAAA,MAAM,UAAA,GACJ,MAAA,CAAO,MAAA,KAAW,CAAA,GACd,CAAC,QAAA,EAAU,SAAA,EAAW,QAAA,EAAU,SAAS,CAAA,GACzC,CAAC,QAAA,EAAU,KAAA,EAAO,UAAU,SAAS,CAAA;AAC3C,EAAA,MAAM,SAAA,GAAY,MAAA,CAAO,KAAA,EAAO,OAAA,EAAS,UAAU,CAAA;AACnD,EAAA,IAAI,SAAA,CAAU,WAAW,CAAA,EAAG;AAC1B,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,mBAAA,EAAA,CAAuB,SAAA,CAAU,MAAA,IAAU,EAAA,EAAI,QAAA,EAAS,CAAE,IAAA,EAAK,IAAK,CAAA,KAAA,EAAQ,SAAA,CAAU,MAAM,CAAA,CAAE,CAAA;AAAA,KAChG;AAAA,EACF;AAEA,EAAA,MAAM,MAAM,MAAA,CAAO,KAAA,EAAO,SAAS,CAAC,KAAA,EAAO,IAAI,CAAC,CAAA;AAChD,EAAA,IAAI,GAAA,CAAI,WAAW,CAAA,EAAG;AACpB,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,gBAAA,EAAA,CAAoB,GAAA,CAAI,MAAA,IAAU,EAAA,EAAI,QAAA,EAAS,CAAE,IAAA,EAAK,IAAK,CAAA,KAAA,EAAQ,GAAA,CAAI,MAAM,CAAA,CAAE,CAAA;AAAA,KACjF;AAAA,EACF;AAIA,EAAA,MAAM,MAAA,GAAS,KAAA;AAAA,IACb,KAAA;AAAA,IACA;AAAA,MACE,IAAA;AAAA,MACA,OAAA;AAAA,MACA,IAAA;AAAA,MACA,iCAAA;AAAA,MACA,IAAA;AAAA,MACA,kBAAA;AAAA,MACA,QAAA;AAAA,MACA,IAAA;AAAA,MACA;AAAA,KACF;AAAA,IACA,EAAE,UAAU,OAAA;AAAQ,GACtB;AACA,EAAA,IAAI,MAAA,CAAO,WAAW,CAAA,EAAG;AACvB,IAAA,MAAM,GAAA,GAAM,GAAG,MAAA,CAAO,MAAA,IAAU,EAAE,CAAA,EAAG,MAAA,CAAO,UAAU,EAAE,CAAA,CAAA;AACxD,IAAA,IAAI,CAAC,oBAAA,CAAqB,IAAA,CAAK,GAAG,CAAA,EAAG;AACnC,MAAA,MAAM,IAAI,KAAA,CAAM,CAAA,mBAAA,EAAsB,GAAA,CAAI,IAAA,MAAU,CAAA,KAAA,EAAQ,MAAA,CAAO,MAAM,CAAA,CAAE,CAAA,CAAE,CAAA;AAAA,IAC/E;AAAA,EACF;AAEA,EAAA,MAAM,IAAA,GAAO,MAAA,CAAO,KAAA,EAAO,OAAA,EAAS,CAAC,QAAQ,QAAA,EAAU,CAAA,KAAA,EAAQ,MAAM,CAAA,CAAE,CAAC,CAAA;AACxE,EAAA,IAAI,IAAA,CAAK,WAAW,CAAA,EAAG;AACrB,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,iBAAA,EAAA,CAAqB,IAAA,CAAK,MAAA,IAAU,EAAA,EAAI,QAAA,EAAS,CAAE,IAAA,EAAK,IAAK,CAAA,KAAA,EAAQ,IAAA,CAAK,MAAM,CAAA,CAAE,CAAA;AAAA,KACpF;AAAA,EACF;AACF;AAMA,SAAS,eAAA,CAAgB,MAAc,KAAA,EAA0B;AAC/D,EAAA,MAAM,GAAA,GAAM,KAAA,CAAM,IAAA,EAAM,CAAC,MAAA,EAAQ,QAAA,EAAU,IAAA,EAAM,UAAU,CAAA,EAAG,EAAE,QAAA,EAAU,OAAA,EAAS,CAAA;AACnF,EAAA,IAAI,GAAA,CAAI,WAAW,CAAA,EAAG;AACpB,IAAA,MAAM,UAAU,GAAA,CAAI,MAAA,IAAU,EAAA,EAAI,QAAA,GAAW,IAAA,EAAK;AAClD,IAAA,MAAM,IAAI,KAAA,CAAM,CAAA,eAAA,EAAkB,IAAI,CAAA,SAAA,EAAY,UAAU,CAAA,KAAA,EAAQ,GAAA,CAAI,MAAM,CAAA,CAAE,CAAA,CAAE,CAAA;AAAA,EACpF;AAIA,EAAA,MAAM,GAAA,GAAM,CAAA,EAAG,GAAA,CAAI,MAAA,IAAU,EAAE;AAAA,EAAK,GAAA,CAAI,UAAU,EAAE,CAAA,CAAA;AACpD,EAAA,MAAM,KAAA,GAAQ,GAAA,CAAI,KAAA,CAAM,+BAA+B,CAAA;AACvD,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,MAAM,IAAI,KAAA,CAAM,CAAA,eAAA,EAAkB,IAAI,CAAA;AAAA,EAAwC,GAAA,CAAI,IAAA,EAAM,CAAA,CAAE,CAAA;AAAA,EAC5F;AACA,EAAA,OAAO,MAAM,CAAC,CAAA,CAAE,QAAQ,QAAA,EAAU,EAAE,EAAE,IAAA,EAAK;AAC7C;AAGA,eAAe,cAAA,CACb,IAAA,EACA,IAAA,EAOA,MAAA,EACA,QAAmB,SAAA,EACJ;AACf,EAAA,MAAM,WAAW,MAAA,KAAW,MAAA;AAC5B,EAAA,MAAM,EAAE,OAAA,EAAS,KAAA,EAAM,GAAI,MAAM,kBAAA,EAAmB;AACpD,EAAA,IAAI;AACF,IAAA,MAAM,GAAA,GAAM,MAAM,OAAA,CAAQ,cAAA,CAAe,IAAI,CAAA;AAC7C,IAAA,MAAM,QAAA,GAAW,YAAA,CAAa,GAAA,CAAI,IAAI,CAAA;AAItC,IAAA,IAAI,SAAA,GAAY,YAAY,GAAG,CAAA;AAC/B,IAAA,IAAI,eAAA,GAAkB,KAAA;AACtB,IAAA,IAAI,CAAC,SAAA,EAAW;AACd,MAAA,IAAI,KAAK,UAAA,EAAY;AACnB,QAAA,IAAI,KAAK,MAAA,EAAQ;AAGf,UAAA,eAAA,GAAkB,IAAA;AAClB,UAAA,SAAA,GAAY,CAAA,kCAAA,EAAqC,IAAI,IAAI,CAAA,CAAA;AAAA,QAC3D,CAAA,MAAO;AACL,UAAA,SAAA,GAAY,eAAA,CAAgB,GAAA,CAAI,IAAA,EAAM,KAAK,CAAA;AAC3C,UAAA,MAAM,OAAA,CAAQ,cAAc,IAAA,EAAM;AAAA,YAChC,OAAA,EAAS,KAAA;AAAA,YACT,eAAe,EAAE,GAAA,EAAK,WAAW,MAAA,EAAQ,MAAA,EAAQ,UAAU,KAAA;AAAM,WAClE,CAAA;AACD,UAAA,KAAA,CAAM,CAAA,iBAAA,EAAoB,CAAA,CAAE,GAAA,CAAI,SAAS,CAAC,CAAA,CAAA,CAAG,CAAA;AAAA,QAC/C;AAAA,MACF,CAAA,MAAO;AACL,QAAA,MAAA;AAAA,UACE,CAAA,SAAA,EAAY,IAAI,CAAA,2BAAA,EAAyB,CAAA,CAAE,IAAI,CAAA,oBAAA,EAAuB,IAAI,QAAQ,CAAC,CAAA,6DAAA;AAAA,SAErF;AACA,QAAA,OAAA,CAAQ,KAAK,CAAC,CAAA;AAAA,MAChB;AAAA,IACF;AAGA,IAAA,MAAM,SAAA,GAAY,SAAS,SAAA,IAAa,sBAAA;AACxC,IAAA,MAAM,aAAa,IAAA,CAAK,KAAA,GAAQ,QAAA,CAAS,IAAA,CAAK,KAAK,CAAA,GAAI,KAAA,CAAA;AACvD,IAAA,MAAM,WAAA,GAAA,CAAe,QAAA,CAAS,MAAA,IAAU,EAAC,EACtC,MAAA,CAAO,CAAC,CAAA,KAAM,CAAC,UAAA,IAAc,CAAA,CAAE,IAAA,KAAS,UAAU,CAAA,CAClD,GAAA,CAAI,CAAC,CAAA,KAAM,MAAA,CAAO,CAAA,CAAE,IAAA,EAAM,SAAA,EAAW,CAAA,CAAE,IAAA,EAAM,CAAA,CAAE,OAAA,IAAW,QAAA,CAAS,OAAO,CAAC,CAAA;AAE9E,IAAA,MAAM,SAAA,GAAY,IAAA,CAAK,GAAA,IAAO,QAAA,CAAS,GAAG,CAAA;AAE1C,IAAA,IAAI,KAAK,MAAA,EAAQ;AACf,MAAA,OAAA,CAAQ,CAAA,iBAAA,EAAoB,CAAA,CAAE,IAAA,CAAK,IAAI,CAAC,CAAA,CAAA,CAAG,CAAA;AAC3C,MAAA,OAAA;AAAA,QACE,CAAA,cAAA,EAAiB,SAAS,CAAA,EAAG,eAAA,GAAkB,uDAAuD,EAAE,CAAA;AAAA,OAC1G;AACA,MAAA,OAAA,CAAQ,CAAA,cAAA,EAAiB,SAAS,CAAA,CAAE,CAAA;AAGpC,MAAA,IAAI,QAAA,CAAS,SAAA,KAAc,QAAA,IAAY,oBAAA,EAAqB,CAAA,EAAI;AAC9D,QAAA,IAAI;AACF,UAAA,MAAM,KAAA,GAAQ,MAAA,CAAO,MAAA,IAAU,uBAAA,EAAwB,EAAG,qBAAA;AAAA,YACxD,QAAA,CAAS;AAAA,WACX;AACA,UAAA,OAAA,CAAQ,CAAA,cAAA,EAAiB,2BAAA,CAA4B,KAAK,CAAC,CAAA,CAAE,CAAA;AAAA,QAC/D,CAAA,CAAA,MAAQ;AAAA,QAER;AAAA,MACF;AACA,MAAA,OAAA,CAAQ,CAAA,cAAA,EAAiB,SAAS,CAAA,CAAE,CAAA;AACpC,MAAA,OAAA,CAAQ,CAAA,gBAAA,EAAmB,WAAA,CAAY,MAAM,CAAA,UAAA,CAAY,CAAA;AACzD,MAAA,KAAA,MAAW,CAAA,IAAK,WAAA,EAAa,OAAA,CAAQ,CAAA,IAAA,EAAO,CAAC,CAAA,CAAE,CAAA;AAC/C,MAAA;AAAA,IACF;AAGA,IAAA,IAAI,CAAC,QAAA,IAAY,CAAC,oBAAA,EAAqB,EAAG;AACxC,MAAA,MAAA,CAAO,sDAAiD,CAAA;AACxD,MAAA,OAAA,CAAQ,KAAK,CAAC,CAAA;AAAA,IAChB;AAEA,IAAA,MAAM,GAAA,GAAM,UAAU,uBAAA,EAAwB;AAI9C,IAAA,IAAI,SAAS,SAAA,EAAW;AACtB,MAAA,MAAM,IAAA,GAAO,MAAM,kBAAA,CAAmB,GAAA,EAAK,SAAS,SAAS,CAAA;AAC7D,MAAA,IAAI,CAAC,KAAK,EAAA,EAAI;AACZ,QAAA,MAAA,CAAO,IAAA,CAAK,OAAA,IAAW,CAAA,sBAAA,EAAyB,QAAA,CAAS,SAAS,CAAA,CAAA,CAAG,CAAA;AACrE,QAAA,OAAA,CAAQ,KAAK,CAAC,CAAA;AAAA,MAChB;AAAA,IACF;AAGA,IAAA,IAAI,CAAC,KAAK,QAAA,EAAU;AAGlB,MAAA,OAAA;AAAA,QACE,CAAA,wDAAA,EAA2D,CAAA,CAAE,GAAA,CAAI,SAAS,CAAC,CAAA,wEAAA;AAAA,OAE7E;AACA,MAAA,aAAA,CAAc,EAAE,OAAA,EAAS,GAAA,CAAI,IAAA,EAAM,SAAA,EAAW,QAAQ,QAAA,CAAS,GAAG,CAAA,EAAG,KAAA,EAAO,CAAA;AAC5E,MAAA,KAAA,CAAM,CAAA,OAAA,EAAU,CAAA,CAAE,GAAA,CAAI,IAAI,CAAC,OAAO,CAAA,CAAE,GAAA,CAAI,SAAS,CAAC,CAAA,CAAA,CAAG,CAAA;AAAA,IACvD;AAEA,IAAA,MAAM,EAAE,SAAA,EAAU,GAAI,MAAM,cAAA,CAAe;AAAA,MACzC,SAAA,EAAW,SAAA;AAAA,MACX,GAAA,EAAK,SAAA;AAAA,MACL,QAAA;AAAA,MACA,SAAA,EAAW,UAAA;AAAA,MACX,MAAA,EAAQ;AAAA,KACT,CAAA;AAED,IAAA,IAAI,SAAA,CAAU,SAAS,CAAA,EAAG;AACxB,MAAA,OAAA,CAAQ,CAAA,+BAAA,EAAkC,SAAA,CAAU,CAAC,CAAC,CAAA,GAAA,CAAK,CAAA;AAAA,IAC7D;AAAA,EACF,CAAA,SAAE;AACA,IAAA,KAAA,EAAM;AAAA,EACR;AACF;AAOA,eAAsB,iBAAA,CACpB,IAAA,EACA,IAAA,EACA,MAAA,EACA,QAAmB,SAAA,EACJ;AACf,EAAA,MAAM,cAAA,CAAe,MAAM,EAAE,GAAG,MAAM,QAAA,EAAU,KAAA,EAAM,EAAG,MAAA,EAAQ,KAAK,CAAA;AACxE;AAOA,eAAsB,kBAAA,CACpB,IAAA,EACA,IAAA,EACA,MAAA,EACA,QAAmB,SAAA,EACJ;AACf,EAAA,MAAM,cAAA,CAAe,MAAM,EAAE,GAAG,MAAM,QAAA,EAAU,IAAA,EAAK,EAAG,MAAA,EAAQ,KAAK,CAAA;AACvE;AAOA,eAAsB,cAAA,CACpB,IAAA,EACA,IAAA,EACA,MAAA,EACe;AACf,EAAA,MAAM,WAAW,MAAA,KAAW,MAAA;AAC5B,EAAA,MAAM,EAAE,OAAA,EAAS,KAAA,EAAM,GAAI,MAAM,kBAAA,EAAmB;AACpD,EAAA,IAAI;AACF,IAAA,MAAM,GAAA,GAAM,MAAM,OAAA,CAAQ,cAAA,CAAe,IAAI,CAAA;AAC7C,IAAA,MAAM,SAAA,GAAY,YAAY,GAAG,CAAA;AACjC,IAAA,IAAI,CAAC,SAAA,EAAW;AACd,MAAA,MAAA,CAAO,CAAA,SAAA,EAAY,IAAI,CAAA,iDAAA,CAA8C,CAAA;AACrE,MAAA,OAAA,CAAQ,KAAK,CAAC,CAAA;AAAA,IAChB;AAEA,IAAA,IAAI,CAAC,QAAA,IAAY,CAAC,oBAAA,EAAqB,EAAG;AACxC,MAAA,MAAA,CAAO,sDAAiD,CAAA;AACxD,MAAA,OAAA,CAAQ,KAAK,CAAC,CAAA;AAAA,IAChB;AAEA,IAAA,MAAM,GAAA,GAAM,UAAU,uBAAA,EAAwB;AAC9C,IAAA,MAAM,IAAA,GAAO,MAAM,GAAA,CAAI,WAAA,EAAY;AACnC,IAAA,MAAM,SAAS,IAAA,CAAK,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,QAAQ,SAAS,CAAA;AACnD,IAAA,IAAI,CAAC,MAAA,EAAQ;AACX,MAAA,MAAA,CAAO,CAAA,SAAA,EAAY,IAAI,CAAA,wDAAA,CAAqD,CAAA;AAC5E,MAAA,OAAA,CAAQ,KAAK,CAAC,CAAA;AAAA,IAChB;AAEA,IAAA,MAAM,aAAa,IAAA,CAAK,KAAA,GAAQ,QAAA,CAAS,IAAA,CAAK,KAAK,CAAA,GAAI,KAAA,CAAA;AACvD,IAAA,MAAM,cAAc,MAAM,GAAA,CAAI,gBAAA,CAAiB,MAAA,CAAO,EAAE,CAAA,EAAG,MAAA;AAAA,MACzD,CAAC,CAAA,KAAM,CAAA,CAAE,cAAc,CAAC,UAAA,IAAc,EAAE,IAAA,KAAS,UAAA;AAAA,KACnD;AACA,IAAA,IAAI,UAAA,CAAW,WAAW,CAAA,EAAG;AAC3B,MAAA,OAAA,CAAQ,qDAAgD,CAAA;AACxD,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,SAAmB,EAAC;AAC1B,IAAA,KAAA,MAAW,KAAK,UAAA,EAAY;AAC1B,MAAA,IAAI;AACF,QAAA,MAAM,GAAA,CAAI,cAAA,CAAe,CAAA,CAAE,EAAE,CAAA;AAC7B,QAAA,MAAA,CAAO,KAAK,CAAA,EAAG,CAAA,CAAE,IAAI,CAAA,CAAA,EAAI,CAAA,CAAE,IAAI,CAAA,CAAE,CAAA;AAAA,MACnC,SAAS,GAAA,EAAK;AACZ,QAAA,MAAA;AAAA,UACE,CAAA,eAAA,EAAkB,CAAA,CAAE,IAAI,CAAA,CAAA,EAAI,CAAA,CAAE,IAAI,CAAA,EAAA,EAAK,GAAA,YAAe,KAAA,GAAQ,GAAA,CAAI,OAAA,GAAU,MAAA,CAAO,GAAG,CAAC,CAAA;AAAA,SACzF;AAAA,MACF;AAAA,IACF;AAEA,IAAA,KAAA,CAAM,CAAA,OAAA,EAAU,MAAA,CAAO,MAAM,CAAA,UAAA,CAAY,CAAA;AACzC,IAAA,KAAA,MAAW,CAAA,IAAK,MAAA,EAAQ,OAAA,CAAQ,CAAA,EAAA,EAAK,CAAC,CAAA,CAAE,CAAA;AAAA,EAC1C,CAAA,SAAE;AACA,IAAA,KAAA,EAAM;AAAA,EACR;AACF","file":"library-publish-7AH63NKA.js","sourcesContent":["/**\n * `skaile library publish / register / yank` — the first-party publish flow.\n * A git-backed library you own carries an in-repo `skaile.manifest.yaml`; this\n * commits + pushes the library repo (publish), or takes the current remote HEAD\n * as-is (register), then registers + syncs it as a store source and publishes\n * the manifest's assets under the manifest's own `publisher` (no namespace\n * remap — first-party authors intend their declared namespace).\n *\n * - `publish` = commit (if dirty) + push + register + sync + publish.\n * - `register` = same, but skip the commit/push (bytes already on GitHub).\n * - `yank` = unpublish the library's published assets (all, or one).\n *\n * The store REST surface is reached through the injectable {@link PublisherClient}\n * (default HTTP); git side-effects go through an injectable `spawn`. Both seams\n * keep the flow unit/integration-testable without a live store or a real remote.\n *\n * @docLink cli/commands/library\n */\n\nimport { spawnSync } from \"node:child_process\";\nimport { readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { decodeSkaileManifest, type SkPublishManifest } from \"@skaile/workspaces/core\";\nimport type { GitBackendConfig, Library } from \"@skaile/workspaces/library\";\nimport { logErr, logInfo, logOk, S } from \"../helpers.ts\";\nimport { openLibraryManager } from \"../open-library.ts\";\nimport { isStoreAuthenticated } from \"../store-client.ts\";\nimport { makeHttpPublisherClient, type PublisherClient } from \"../store-publisher.ts\";\nimport {\n bareName,\n formatNamespaceAvailability,\n preflightNamespace,\n publishToStore,\n refFor,\n} from \"./publish-core.ts\";\n\n/** Injectable spawn contract — the subset of `spawnSync` these helpers use. */\ntype SpawnLike = typeof spawnSync;\n\n/** The fixed filename a library carries at its root for publication. */\nconst MANIFEST_FILENAME = \"skaile.manifest.yaml\";\n\n/** The remote url of a git-backed library, or `undefined` for a local one. */\nfunction remoteUrlOf(lib: Library): string | undefined {\n if (lib.backend !== \"git\") return undefined;\n return (lib.backendConfig as GitBackendConfig).url;\n}\n\n/** The publish branch of a git-backed library (defaults to `main`). */\nfunction branchOf(lib: Library): string {\n if (lib.backend !== \"git\") return \"main\";\n return (lib.backendConfig as GitBackendConfig).branch ?? \"main\";\n}\n\n/**\n * Read + decode the in-repo `skaile.manifest.yaml`. Prints each error\n * diagnostic and exits (1) — mirroring the sidecar flow's validation gate.\n */\nfunction loadManifest(libPath: string): SkPublishManifest {\n let text: string;\n try {\n text = readFileSync(join(libPath, MANIFEST_FILENAME), \"utf-8\");\n } catch {\n logErr(\n `No ${S.dim(MANIFEST_FILENAME)} in the library — author it (see \\`skaile library create\\`) ` +\n \"and run `skaile validate` before publishing.\",\n );\n process.exit(1);\n }\n const { manifest, diagnostics } = decodeSkaileManifest(text);\n const errors = diagnostics.filter((d) => d.severity === \"error\");\n if (errors.length > 0) {\n for (const d of errors) logErr(`${d.code}: ${d.message}`);\n logErr(\"The manifest has errors — fix them with `skaile validate` before publishing.\");\n process.exit(1);\n }\n return manifest;\n}\n\n/** Run a git command in `cwd` via the injected spawn; returns the result. */\nfunction runGit(spawn: SpawnLike, cwd: string, args: string[]) {\n return spawn(\"git\", [\"-C\", cwd, ...args], { encoding: \"utf-8\" });\n}\n\n/**\n * Ensure `libPath` is a git repo whose `origin` points at `remoteUrl`, then\n * commit any changes and push to `branch`. Idempotent re-publish: an unchanged\n * tree makes `git commit` fail with \"nothing to commit\" — swallowed. Push (or\n * any other git) failures surface as thrown Errors carrying git's stderr.\n */\nfunction commitAndPush(opts: {\n libPath: string;\n remoteUrl: string;\n branch: string;\n spawn: SpawnLike;\n}): void {\n const { libPath, remoteUrl, branch, spawn } = opts;\n\n const gitDir = runGit(spawn, libPath, [\"rev-parse\", \"--git-dir\"]);\n if (gitDir.status !== 0) {\n const init = runGit(spawn, libPath, [\"init\"]);\n if (init.status !== 0) {\n throw new Error(\n `git init failed: ${(init.stderr ?? \"\").toString().trim() || `exit ${init.status}`}`,\n );\n }\n }\n\n // Point origin at the resolved remote (add if absent, else set-url).\n const getUrl = runGit(spawn, libPath, [\"remote\", \"get-url\", \"origin\"]);\n const originArgs =\n getUrl.status === 0\n ? [\"remote\", \"set-url\", \"origin\", remoteUrl]\n : [\"remote\", \"add\", \"origin\", remoteUrl];\n const setOrigin = runGit(spawn, libPath, originArgs);\n if (setOrigin.status !== 0) {\n throw new Error(\n `git remote failed: ${(setOrigin.stderr ?? \"\").toString().trim() || `exit ${setOrigin.status}`}`,\n );\n }\n\n const add = runGit(spawn, libPath, [\"add\", \"-A\"]);\n if (add.status !== 0) {\n throw new Error(\n `git add failed: ${(add.stderr ?? \"\").toString().trim() || `exit ${add.status}`}`,\n );\n }\n\n // Fixed bot identity via -c so the commit succeeds regardless of the author's\n // git config (the publish commit is a machine action).\n const commit = spawn(\n \"git\",\n [\n \"-C\",\n libPath,\n \"-c\",\n \"user.email=publish@skaile.store\",\n \"-c\",\n \"user.name=skaile\",\n \"commit\",\n \"-m\",\n \"chore: publish\",\n ],\n { encoding: \"utf-8\" },\n );\n if (commit.status !== 0) {\n const out = `${commit.stdout ?? \"\"}${commit.stderr ?? \"\"}`;\n if (!/nothing to commit/i.test(out)) {\n throw new Error(`git commit failed: ${out.trim() || `exit ${commit.status}`}`);\n }\n }\n\n const push = runGit(spawn, libPath, [\"push\", \"origin\", `HEAD:${branch}`]);\n if (push.status !== 0) {\n throw new Error(\n `git push failed: ${(push.stderr ?? \"\").toString().trim() || `exit ${push.status}`}`,\n );\n }\n}\n\n/**\n * Provision a public GitHub repo `github.com/<you>/<name>` via `gh` and return\n * its https url. Parses the url `gh` prints on success. Throws on failure.\n */\nfunction createRepoViaGh(name: string, spawn: SpawnLike): string {\n const res = spawn(\"gh\", [\"repo\", \"create\", name, \"--public\"], { encoding: \"utf-8\" });\n if (res.status !== 0) {\n const stderr = (res.stderr ?? \"\").toString().trim();\n throw new Error(`gh repo create ${name} failed: ${stderr || `exit ${res.status}`}`);\n }\n // `gh repo create` prints the repo url (e.g. `https://github.com/<owner>/<name>`);\n // scan combined output for the first github.com url so we capture whatever\n // owner gh resolved (the authed user).\n const out = `${res.stdout ?? \"\"}\\n${res.stderr ?? \"\"}`;\n const match = out.match(/https:\\/\\/github\\.com\\/[^\\s]+/);\n if (!match) {\n throw new Error(`gh repo create ${name} succeeded but printed no repo url:\\n${out.trim()}`);\n }\n return match[0].replace(/\\.git$/, \"\").trim();\n}\n\n/** Shared publish body for `publish` (pushes) and `register` (skips the push). */\nasync function publishLibrary(\n name: string,\n opts: {\n asset?: string;\n createRepo?: boolean;\n ref?: string;\n dryRun?: boolean;\n skipPush: boolean;\n },\n client?: PublisherClient,\n spawn: SpawnLike = spawnSync,\n): Promise<void> {\n const injected = client !== undefined;\n const { manager, close } = await openLibraryManager();\n try {\n const lib = await manager.requireLibrary(name);\n const manifest = loadManifest(lib.path);\n\n // Resolve the remote: git-backed → its url; local + --create-repo → provision\n // and link; else stop with a hint.\n let remoteUrl = remoteUrlOf(lib);\n let wouldCreateRepo = false;\n if (!remoteUrl) {\n if (opts.createRepo) {\n if (opts.dryRun) {\n // A dry-run must not provision anything — defer the real\n // `gh repo create` to the live run and just show the would-be remote.\n wouldCreateRepo = true;\n remoteUrl = `https://github.com/<your-account>/${lib.name}`;\n } else {\n remoteUrl = createRepoViaGh(lib.name, spawn);\n await manager.updateLibrary(name, {\n backend: \"git\",\n backendConfig: { url: remoteUrl, branch: \"main\", authHint: \"ssh\" },\n });\n logOk(`Created + linked ${S.dim(remoteUrl)}.`);\n }\n } else {\n logErr(\n `Library \"${name}\" has no remote — run ${S.cmd(`skaile library link ${name} <url>`)} ` +\n \"first, or pass `--create-repo` to provision a public repo.\",\n );\n process.exit(1);\n }\n }\n\n // The manifest's own publisher is the namespace (first-party — no remap).\n const namespace = manifest.publisher ?? \"<manifest publisher>\";\n const targetName = opts.asset ? bareName(opts.asset) : undefined;\n const wouldBeRefs = (manifest.assets ?? [])\n .filter((a) => !targetName || a.name === targetName)\n .map((a) => refFor(a.kind, namespace, a.name, a.version ?? manifest.version));\n\n const sourceRef = opts.ref ?? branchOf(lib);\n\n if (opts.dryRun) {\n logInfo(`Publish plan for ${S.bold(name)}:`);\n logInfo(\n ` remote: ${remoteUrl}${wouldCreateRepo ? \" (would be created via `gh repo create --public`)\" : \"\"}`,\n );\n logInfo(` publisher: ${namespace}`);\n // Best-effort namespace-availability probe — a read-only GET, only when\n // signed in (or a client is injected). A failure keeps dry-run offline-safe.\n if (manifest.publisher && (injected || isStoreAuthenticated())) {\n try {\n const avail = await (client ?? makeHttpPublisherClient()).namespaceAvailability(\n manifest.publisher,\n );\n logInfo(` namespace: ${formatNamespaceAvailability(avail)}`);\n } catch {\n // Store unreachable / not signed in — skip the advisory, never fail.\n }\n }\n logInfo(` source ref: ${sourceRef}`);\n logInfo(` would publish ${wouldBeRefs.length} asset(s):`);\n for (const r of wouldBeRefs) logInfo(` ${r}`);\n return;\n }\n\n // A real publish makes store calls, so it needs a token (injected fakes bypass).\n if (!injected && !isStoreAuthenticated()) {\n logErr(\"Not signed in — run `skaile store login` first.\");\n process.exit(1);\n }\n\n const pub = client ?? makeHttpPublisherClient();\n\n // Preflight the namespace BEFORE the public git push, so a reserved/unclaimed\n // namespace fails fast with guidance instead of after publishing bytes.\n if (manifest.publisher) {\n const gate = await preflightNamespace(pub, manifest.publisher);\n if (!gate.ok) {\n logErr(gate.message ?? `Cannot publish under @${manifest.publisher}.`);\n process.exit(1);\n }\n }\n\n // publish commits + pushes the library repo; register takes the remote HEAD as-is.\n if (!opts.skipPush) {\n // `git add -A` stages every non-ignored file → a PUBLIC push. Surface it so\n // an unexpected file in the working tree is not silently published.\n logInfo(\n `Committing the library and pushing to the PUBLIC remote ${S.dim(remoteUrl)} ` +\n \"(.gitignore honored; anything else in the working tree becomes public).\",\n );\n commitAndPush({ libPath: lib.path, remoteUrl, branch: branchOf(lib), spawn });\n logOk(`Pushed ${S.dim(name)} to ${S.dim(remoteUrl)}.`);\n }\n\n const { published } = await publishToStore({\n sourceUrl: remoteUrl,\n ref: sourceRef,\n manifest,\n assetName: targetName,\n client: pub,\n });\n\n if (published.length > 0) {\n logInfo(`Consumers can now \\`skaile add ${published[0]}\\`.`);\n }\n } finally {\n close();\n }\n}\n\n/**\n * `skaile library publish <lib>` — commit + push the library repo, register +\n * sync it as a store source, and publish its manifest's assets under the\n * manifest publisher. See the module header for the full flow.\n */\nexport async function runLibraryPublish(\n name: string,\n opts: { asset?: string; createRepo?: boolean; ref?: string; dryRun?: boolean },\n client?: PublisherClient,\n spawn: SpawnLike = spawnSync,\n): Promise<void> {\n await publishLibrary(name, { ...opts, skipPush: false }, client, spawn);\n}\n\n/**\n * `skaile library register <lib>` — same as publish but skips the commit/push\n * (the bytes are already on GitHub at the current remote HEAD). Still requires a\n * git-backed remote.\n */\nexport async function runLibraryRegister(\n name: string,\n opts: { asset?: string; ref?: string; dryRun?: boolean },\n client?: PublisherClient,\n spawn: SpawnLike = spawnSync,\n): Promise<void> {\n await publishLibrary(name, { ...opts, skipPush: true }, client, spawn);\n}\n\n/**\n * `skaile library yank <lib>` — unpublish the library's published assets from\n * the store (all, or the single asset matching `opts.asset`'s name).\n * Auth-gated like publish.\n */\nexport async function runLibraryYank(\n name: string,\n opts: { asset?: string },\n client?: PublisherClient,\n): Promise<void> {\n const injected = client !== undefined;\n const { manager, close } = await openLibraryManager();\n try {\n const lib = await manager.requireLibrary(name);\n const remoteUrl = remoteUrlOf(lib);\n if (!remoteUrl) {\n logErr(`Library \"${name}\" has no remote — nothing published to yank.`);\n process.exit(1);\n }\n\n if (!injected && !isStoreAuthenticated()) {\n logErr(\"Not signed in — run `skaile store login` first.\");\n process.exit(1);\n }\n\n const pub = client ?? makeHttpPublisherClient();\n const rows = await pub.sourcesList();\n const source = rows.find((r) => r.url === remoteUrl);\n if (!source) {\n logErr(`Library \"${name}\" is not registered in the store — nothing to yank.`);\n process.exit(1);\n }\n\n const targetName = opts.asset ? bareName(opts.asset) : undefined;\n const candidates = (await pub.sourceCandidates(source.id)).filter(\n (c) => c.published && (!targetName || c.name === targetName),\n );\n if (candidates.length === 0) {\n logInfo(\"No published assets matched — nothing to yank.\");\n return;\n }\n\n const yanked: string[] = [];\n for (const c of candidates) {\n try {\n await pub.assetUnpublish(c.id);\n yanked.push(`${c.kind}:${c.name}`);\n } catch (err) {\n logErr(\n `Failed to yank ${c.kind}:${c.name}: ${err instanceof Error ? err.message : String(err)}`,\n );\n }\n }\n\n logOk(`Yanked ${yanked.length} asset(s):`);\n for (const r of yanked) logInfo(` ${r}`);\n } finally {\n close();\n }\n}\n"]}
1
+ {"version":3,"sources":["../cli/src/commands/library-publish.ts"],"names":[],"mappings":"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","file":"library-publish-CRG7JLDZ.js","sourcesContent":["/**\n * `skaile library publish / register / yank` — the first-party publish flow.\n * A git-backed library you own carries an in-repo `skaile.manifest.yaml`; this\n * commits + pushes the library repo (publish), or takes the current remote HEAD\n * as-is (register), then registers + syncs it as a store source and publishes\n * the manifest's assets under the manifest's own `publisher` (no namespace\n * remap — first-party authors intend their declared namespace).\n *\n * - `publish` = commit (if dirty) + push + register + sync + publish.\n * - `register` = same, but skip the commit/push (bytes already on GitHub).\n * - `yank` = unpublish the library's published assets (all, or one).\n *\n * The store REST surface is reached through the injectable {@link PublisherClient}\n * (default HTTP); git side-effects go through an injectable `spawn`. Both seams\n * keep the flow unit/integration-testable without a live store or a real remote.\n *\n * @docLink cli/commands/library\n */\n\nimport { spawnSync } from \"node:child_process\";\nimport { readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { decodeSkaileManifest, type SkPublishManifest } from \"@skaile/workspaces/core\";\nimport type { GitBackendConfig, Library } from \"@skaile/workspaces/library\";\nimport { logErr, logInfo, logOk, S } from \"../helpers.ts\";\nimport { openLibraryManager } from \"../open-library.ts\";\nimport { isStoreAuthenticated } from \"../store-client.ts\";\nimport { makeHttpPublisherClient, type PublisherClient } from \"../store-publisher.ts\";\nimport {\n bareName,\n formatNamespaceAvailability,\n preflightNamespace,\n publishToStore,\n refFor,\n} from \"./publish-core.ts\";\n\n/** Injectable spawn contract — the subset of `spawnSync` these helpers use. */\ntype SpawnLike = typeof spawnSync;\n\n/** The fixed filename a library carries at its root for publication. */\nconst MANIFEST_FILENAME = \"skaile.manifest.yaml\";\n\n/** The remote url of a git-backed library, or `undefined` for a local one. */\nfunction remoteUrlOf(lib: Library): string | undefined {\n if (lib.backend !== \"git\") return undefined;\n return (lib.backendConfig as GitBackendConfig).url;\n}\n\n/** The publish branch of a git-backed library (defaults to `main`). */\nfunction branchOf(lib: Library): string {\n if (lib.backend !== \"git\") return \"main\";\n return (lib.backendConfig as GitBackendConfig).branch ?? \"main\";\n}\n\n/**\n * Read + decode the in-repo `skaile.manifest.yaml`. Prints each error\n * diagnostic and exits (1) — mirroring the sidecar flow's validation gate.\n */\nfunction loadManifest(libPath: string): SkPublishManifest {\n let text: string;\n try {\n text = readFileSync(join(libPath, MANIFEST_FILENAME), \"utf-8\");\n } catch {\n logErr(\n `No ${S.dim(MANIFEST_FILENAME)} in the library — author it (see \\`skaile library create\\`) ` +\n \"and run `skaile validate` before publishing.\",\n );\n process.exit(1);\n }\n const { manifest, diagnostics } = decodeSkaileManifest(text);\n const errors = diagnostics.filter((d) => d.severity === \"error\");\n if (errors.length > 0) {\n for (const d of errors) logErr(`${d.code}: ${d.message}`);\n logErr(\"The manifest has errors — fix them with `skaile validate` before publishing.\");\n process.exit(1);\n }\n return manifest;\n}\n\n/** Run a git command in `cwd` via the injected spawn; returns the result. */\nfunction runGit(spawn: SpawnLike, cwd: string, args: string[]) {\n return spawn(\"git\", [\"-C\", cwd, ...args], { encoding: \"utf-8\" });\n}\n\n/**\n * Ensure `libPath` is a git repo whose `origin` points at `remoteUrl`, then\n * commit any changes and push to `branch`. Idempotent re-publish: an unchanged\n * tree makes `git commit` fail with \"nothing to commit\" — swallowed. Push (or\n * any other git) failures surface as thrown Errors carrying git's stderr.\n */\nfunction commitAndPush(opts: {\n libPath: string;\n remoteUrl: string;\n branch: string;\n spawn: SpawnLike;\n}): void {\n const { libPath, remoteUrl, branch, spawn } = opts;\n\n const gitDir = runGit(spawn, libPath, [\"rev-parse\", \"--git-dir\"]);\n if (gitDir.status !== 0) {\n const init = runGit(spawn, libPath, [\"init\"]);\n if (init.status !== 0) {\n throw new Error(\n `git init failed: ${(init.stderr ?? \"\").toString().trim() || `exit ${init.status}`}`,\n );\n }\n }\n\n // Point origin at the resolved remote (add if absent, else set-url).\n const getUrl = runGit(spawn, libPath, [\"remote\", \"get-url\", \"origin\"]);\n const originArgs =\n getUrl.status === 0\n ? [\"remote\", \"set-url\", \"origin\", remoteUrl]\n : [\"remote\", \"add\", \"origin\", remoteUrl];\n const setOrigin = runGit(spawn, libPath, originArgs);\n if (setOrigin.status !== 0) {\n throw new Error(\n `git remote failed: ${(setOrigin.stderr ?? \"\").toString().trim() || `exit ${setOrigin.status}`}`,\n );\n }\n\n const add = runGit(spawn, libPath, [\"add\", \"-A\"]);\n if (add.status !== 0) {\n throw new Error(\n `git add failed: ${(add.stderr ?? \"\").toString().trim() || `exit ${add.status}`}`,\n );\n }\n\n // Fixed bot identity via -c so the commit succeeds regardless of the author's\n // git config (the publish commit is a machine action).\n const commit = spawn(\n \"git\",\n [\n \"-C\",\n libPath,\n \"-c\",\n \"user.email=publish@skaile.store\",\n \"-c\",\n \"user.name=skaile\",\n \"commit\",\n \"-m\",\n \"chore: publish\",\n ],\n { encoding: \"utf-8\" },\n );\n if (commit.status !== 0) {\n const out = `${commit.stdout ?? \"\"}${commit.stderr ?? \"\"}`;\n if (!/nothing to commit/i.test(out)) {\n throw new Error(`git commit failed: ${out.trim() || `exit ${commit.status}`}`);\n }\n }\n\n const push = runGit(spawn, libPath, [\"push\", \"origin\", `HEAD:${branch}`]);\n if (push.status !== 0) {\n throw new Error(\n `git push failed: ${(push.stderr ?? \"\").toString().trim() || `exit ${push.status}`}`,\n );\n }\n}\n\n/**\n * Provision a public GitHub repo `github.com/<you>/<name>` via `gh` and return\n * its https url. Parses the url `gh` prints on success. Throws on failure.\n */\nfunction createRepoViaGh(name: string, spawn: SpawnLike): string {\n const res = spawn(\"gh\", [\"repo\", \"create\", name, \"--public\"], { encoding: \"utf-8\" });\n if (res.status !== 0) {\n const stderr = (res.stderr ?? \"\").toString().trim();\n throw new Error(`gh repo create ${name} failed: ${stderr || `exit ${res.status}`}`);\n }\n // `gh repo create` prints the repo url (e.g. `https://github.com/<owner>/<name>`);\n // scan combined output for the first github.com url so we capture whatever\n // owner gh resolved (the authed user).\n const out = `${res.stdout ?? \"\"}\\n${res.stderr ?? \"\"}`;\n const match = out.match(/https:\\/\\/github\\.com\\/[^\\s]+/);\n if (!match) {\n throw new Error(`gh repo create ${name} succeeded but printed no repo url:\\n${out.trim()}`);\n }\n return match[0].replace(/\\.git$/, \"\").trim();\n}\n\n/** Shared publish body for `publish` (pushes) and `register` (skips the push). */\nasync function publishLibrary(\n name: string,\n opts: {\n asset?: string;\n createRepo?: boolean;\n ref?: string;\n dryRun?: boolean;\n skipPush: boolean;\n },\n client?: PublisherClient,\n spawn: SpawnLike = spawnSync,\n): Promise<void> {\n const injected = client !== undefined;\n const { manager, close } = await openLibraryManager();\n try {\n const lib = await manager.requireLibrary(name);\n const manifest = loadManifest(lib.path);\n\n // Resolve the remote: git-backed → its url; local + --create-repo → provision\n // and link; else stop with a hint.\n let remoteUrl = remoteUrlOf(lib);\n let wouldCreateRepo = false;\n if (!remoteUrl) {\n if (opts.createRepo) {\n if (opts.dryRun) {\n // A dry-run must not provision anything — defer the real\n // `gh repo create` to the live run and just show the would-be remote.\n wouldCreateRepo = true;\n remoteUrl = `https://github.com/<your-account>/${lib.name}`;\n } else {\n remoteUrl = createRepoViaGh(lib.name, spawn);\n await manager.updateLibrary(name, {\n backend: \"git\",\n backendConfig: { url: remoteUrl, branch: \"main\", authHint: \"ssh\" },\n });\n logOk(`Created + linked ${S.dim(remoteUrl)}.`);\n }\n } else {\n logErr(\n `Library \"${name}\" has no remote — run ${S.cmd(`skaile library link ${name} <url>`)} ` +\n \"first, or pass `--create-repo` to provision a public repo.\",\n );\n process.exit(1);\n }\n }\n\n // The manifest's own publisher is the namespace (first-party — no remap).\n const namespace = manifest.publisher ?? \"<manifest publisher>\";\n const targetName = opts.asset ? bareName(opts.asset) : undefined;\n const wouldBeRefs = (manifest.assets ?? [])\n .filter((a) => !targetName || a.name === targetName)\n .map((a) => refFor(a.kind, namespace, a.name, a.version ?? manifest.version));\n\n const sourceRef = opts.ref ?? branchOf(lib);\n\n if (opts.dryRun) {\n logInfo(`Publish plan for ${S.bold(name)}:`);\n logInfo(\n ` remote: ${remoteUrl}${wouldCreateRepo ? \" (would be created via `gh repo create --public`)\" : \"\"}`,\n );\n logInfo(` publisher: ${namespace}`);\n // Best-effort namespace-availability probe — a read-only GET, only when\n // signed in (or a client is injected). A failure keeps dry-run offline-safe.\n if (manifest.publisher && (injected || isStoreAuthenticated())) {\n try {\n const avail = await (client ?? makeHttpPublisherClient()).namespaceAvailability(\n manifest.publisher,\n );\n logInfo(` namespace: ${formatNamespaceAvailability(avail)}`);\n } catch {\n // Store unreachable / not signed in — skip the advisory, never fail.\n }\n }\n logInfo(` source ref: ${sourceRef}`);\n logInfo(` would publish ${wouldBeRefs.length} asset(s):`);\n for (const r of wouldBeRefs) logInfo(` ${r}`);\n return;\n }\n\n // A real publish makes store calls, so it needs a token (injected fakes bypass).\n if (!injected && !isStoreAuthenticated()) {\n logErr(\"Not signed in — run `skaile store login` first.\");\n process.exit(1);\n }\n\n const pub = client ?? makeHttpPublisherClient();\n\n // Preflight the namespace BEFORE the public git push, so a reserved/unclaimed\n // namespace fails fast with guidance instead of after publishing bytes.\n if (manifest.publisher) {\n const gate = await preflightNamespace(pub, manifest.publisher);\n if (!gate.ok) {\n logErr(gate.message ?? `Cannot publish under @${manifest.publisher}.`);\n process.exit(1);\n }\n }\n\n // publish commits + pushes the library repo; register takes the remote HEAD as-is.\n if (!opts.skipPush) {\n // `git add -A` stages every non-ignored file → a PUBLIC push. Surface it so\n // an unexpected file in the working tree is not silently published.\n logInfo(\n `Committing the library and pushing to the PUBLIC remote ${S.dim(remoteUrl)} ` +\n \"(.gitignore honored; anything else in the working tree becomes public).\",\n );\n commitAndPush({ libPath: lib.path, remoteUrl, branch: branchOf(lib), spawn });\n logOk(`Pushed ${S.dim(name)} to ${S.dim(remoteUrl)}.`);\n }\n\n const { published } = await publishToStore({\n sourceUrl: remoteUrl,\n ref: sourceRef,\n manifest,\n assetName: targetName,\n client: pub,\n });\n\n if (published.length > 0) {\n logInfo(`Consumers can now \\`skaile add ${published[0]}\\`.`);\n }\n } finally {\n close();\n }\n}\n\n/**\n * `skaile library publish <lib>` — commit + push the library repo, register +\n * sync it as a store source, and publish its manifest's assets under the\n * manifest publisher. See the module header for the full flow.\n */\nexport async function runLibraryPublish(\n name: string,\n opts: { asset?: string; createRepo?: boolean; ref?: string; dryRun?: boolean },\n client?: PublisherClient,\n spawn: SpawnLike = spawnSync,\n): Promise<void> {\n await publishLibrary(name, { ...opts, skipPush: false }, client, spawn);\n}\n\n/**\n * `skaile library register <lib>` — same as publish but skips the commit/push\n * (the bytes are already on GitHub at the current remote HEAD). Still requires a\n * git-backed remote.\n */\nexport async function runLibraryRegister(\n name: string,\n opts: { asset?: string; ref?: string; dryRun?: boolean },\n client?: PublisherClient,\n spawn: SpawnLike = spawnSync,\n): Promise<void> {\n await publishLibrary(name, { ...opts, skipPush: true }, client, spawn);\n}\n\n/**\n * `skaile library yank <lib>` — unpublish the library's published assets from\n * the store (all, or the single asset matching `opts.asset`'s name).\n * Auth-gated like publish.\n */\nexport async function runLibraryYank(\n name: string,\n opts: { asset?: string },\n client?: PublisherClient,\n): Promise<void> {\n const injected = client !== undefined;\n const { manager, close } = await openLibraryManager();\n try {\n const lib = await manager.requireLibrary(name);\n const remoteUrl = remoteUrlOf(lib);\n if (!remoteUrl) {\n logErr(`Library \"${name}\" has no remote — nothing published to yank.`);\n process.exit(1);\n }\n\n if (!injected && !isStoreAuthenticated()) {\n logErr(\"Not signed in — run `skaile store login` first.\");\n process.exit(1);\n }\n\n const pub = client ?? makeHttpPublisherClient();\n const rows = await pub.sourcesList();\n const source = rows.find((r) => r.url === remoteUrl);\n if (!source) {\n logErr(`Library \"${name}\" is not registered in the store — nothing to yank.`);\n process.exit(1);\n }\n\n const targetName = opts.asset ? bareName(opts.asset) : undefined;\n const candidates = (await pub.sourceCandidates(source.id)).filter(\n (c) => c.published && (!targetName || c.name === targetName),\n );\n if (candidates.length === 0) {\n logInfo(\"No published assets matched — nothing to yank.\");\n return;\n }\n\n const yanked: string[] = [];\n for (const c of candidates) {\n try {\n await pub.assetUnpublish(c.id);\n yanked.push(`${c.kind}:${c.name}`);\n } catch (err) {\n logErr(\n `Failed to yank ${c.kind}:${c.name}: ${err instanceof Error ? err.message : String(err)}`,\n );\n }\n }\n\n logOk(`Yanked ${yanked.length} asset(s):`);\n for (const r of yanked) logInfo(` ${r}`);\n } finally {\n close();\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
- export { LocalCatalogDisabledError, openCatalogSource, openLibrary, openLibraryManager, resolveCatalogSource } from './chunk-OMBYBUOF.js';
2
- import './chunk-5DC744E3.js';
1
+ export { LocalCatalogDisabledError, openCatalogSource, openLibrary, openLibraryManager, resolveCatalogSource } from './chunk-SMWXVW6Z.js';
2
+ import './chunk-ZDRAMXBS.js';
3
3
  import './chunk-4N5XR5DQ.js';
4
- import './chunk-QY47VHNI.js';
4
+ import './chunk-PU3FGN4T.js';
5
5
  import './chunk-MWE7DEGC.js';
6
6
  import './chunk-MZV6WCF3.js';
7
7
  import './chunk-JXT46QFC.js';
@@ -25,5 +25,5 @@ import './chunk-UQ6LFBPZ.js';
25
25
  import './chunk-IEX5YV4R.js';
26
26
  import './chunk-IRORTHGA.js';
27
27
  import './chunk-NSBPE2FW.js';
28
- //# sourceMappingURL=open-library-J2PRSM3J.js.map
29
- //# sourceMappingURL=open-library-J2PRSM3J.js.map
28
+ //# sourceMappingURL=open-library-5SRCSBSY.js.map
29
+ //# sourceMappingURL=open-library-5SRCSBSY.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"open-library-J2PRSM3J.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"open-library-5SRCSBSY.js"}
@@ -1,6 +1,6 @@
1
- export { makeCheckCommand, makeCleanCommand, makeInstallCommand, reportInstalledSoftDeps, runPointerOnlyInstall, supportsInstallManifest } from './chunk-R5UMZEBH.js';
2
- import './chunk-5DC744E3.js';
3
- import './chunk-QY47VHNI.js';
1
+ export { makeCheckCommand, makeCleanCommand, makeInstallCommand, reportInstalledSoftDeps, runPointerOnlyInstall, supportsInstallManifest } from './chunk-TR6E5JOF.js';
2
+ import './chunk-ZDRAMXBS.js';
3
+ import './chunk-PU3FGN4T.js';
4
4
  import './chunk-MWE7DEGC.js';
5
5
  import './chunk-MZV6WCF3.js';
6
6
  import './chunk-JXT46QFC.js';
@@ -24,5 +24,5 @@ import './chunk-UQ6LFBPZ.js';
24
24
  import './chunk-IEX5YV4R.js';
25
25
  import './chunk-IRORTHGA.js';
26
26
  import './chunk-NSBPE2FW.js';
27
- //# sourceMappingURL=project-CSNHUQFK.js.map
28
- //# sourceMappingURL=project-CSNHUQFK.js.map
27
+ //# sourceMappingURL=project-SM2VMQOZ.js.map
28
+ //# sourceMappingURL=project-SM2VMQOZ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"project-CSNHUQFK.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"project-SM2VMQOZ.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../run-group-engine/src/derive-instance-status.ts","../../run-group-engine/src/admit.ts","../../run-group-engine/src/rollup.ts","../../run-group-engine/src/plan-retry.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import type { FlowExecution, InstanceStatus } from \"@skaile/workspaces/types\";\n\n/**\n * Mirror an instance's flow execution into the instance status.\n * Terminal flow statuses win; gate nodes surface next (approval before\n * input); `paused` is not expected inside an instance (pausing is a\n * group-level concept) and is treated as live.\n */\nexport function deriveInstanceStatus(flow: FlowExecution): InstanceStatus {\n if (flow.status === \"complete\" || flow.status === \"failed\" || flow.status === \"cancelled\") {\n return flow.status;\n }\n const nodes = Object.values(flow.nodes);\n if (nodes.some((n) => n.status === \"awaiting_approval\")) return \"awaiting_approval\";\n if (nodes.some((n) => n.status === \"awaiting_input\")) return \"awaiting_input\";\n return \"running\";\n}\n","import type { RunGroup, RunInstance } from \"@skaile/workspaces/types\";\n\n/**\n * Which queued instances may spawn now. FIFO by receivedAt (instanceId\n * tiebreak), bounded by maxParallel minus slot-occupying instances.\n * Slot-occupying = spawning | running. Gate-parked instances\n * (awaiting_approval / awaiting_input) do NOT hold slots - hosts hibernate\n * them, so a slow approver cannot stall intake.\n *\n * receivedAt must be UTC ISO 8601 (Z-suffixed): ordering is lexicographic,\n * so non-UTC offsets would misorder the queue.\n */\nexport function admit(group: RunGroup, instances: RunInstance[]): RunInstance[] {\n if (group.status !== \"active\") return [];\n const occupying = instances.filter(\n (i) => i.status === \"spawning\" || i.status === \"running\",\n ).length;\n const slots = Math.max(0, group.policy.maxParallel - occupying);\n if (slots === 0) return [];\n return instances\n .filter((i) => i.status === \"queued\")\n .sort(\n (a, b) =>\n a.input.receivedAt.localeCompare(b.input.receivedAt) ||\n a.instanceId.localeCompare(b.instanceId),\n )\n .slice(0, slots);\n}\n","import type {\n InstanceStatus,\n RunGroup,\n RunGroupStatus,\n RunInstance,\n} from \"@skaile/workspaces/types\";\n\nconst ALL_STATUSES: InstanceStatus[] = [\n \"queued\",\n \"spawning\",\n \"running\",\n \"awaiting_approval\",\n \"awaiting_input\",\n \"complete\",\n \"failed\",\n \"cancelled\",\n];\n\nconst TERMINAL: ReadonlySet<InstanceStatus> = new Set([\"complete\", \"failed\", \"cancelled\"]);\n\n/**\n * Counters per status plus the group-status transition to apply\n * (null = none). Batch only, when all instances are terminal: any failed\n * -> `failed`; else all cancelled (no completes) -> `cancelled`; else\n * `complete` (mixed complete + cancelled counts as `complete`). `active`\n * is the reverse transition after retry_instance re-queues on a terminal\n * group. Standing groups never auto-transition (pause/close are host\n * commands). Rollup owns reactivation - hosts re-run it after every\n * mutation, including retries.\n */\nexport function rollup(\n group: RunGroup,\n instances: RunInstance[],\n): { counters: Record<InstanceStatus, number>; groupStatus: RunGroupStatus | null } {\n const counters = Object.fromEntries(ALL_STATUSES.map((s) => [s, 0])) as Record<\n InstanceStatus,\n number\n >;\n for (const i of instances) counters[i.status] += 1;\n\n let groupStatus: RunGroupStatus | null = null;\n if (group.mode === \"batch\") {\n const allTerminal =\n instances.length > 0 && instances.every((i) => TERMINAL.has(i.status));\n if (group.status === \"active\" && allTerminal) {\n if (counters.failed > 0) {\n groupStatus = \"failed\";\n } else if (counters.complete === 0 && counters.cancelled > 0) {\n groupStatus = \"cancelled\";\n } else {\n groupStatus = \"complete\";\n }\n } else if (\n (group.status === \"complete\" || group.status === \"failed\") &&\n instances.some((i) => !TERMINAL.has(i.status))\n ) {\n groupStatus = \"active\";\n }\n }\n return { counters, groupStatus };\n}\n","import type { RunGroupPolicy, RunInstance } from \"@skaile/workspaces/types\";\n\n/**\n * Whether a failed instance gets another attempt. `requeue` while the\n * error is recoverable and attempts remain (attempt is 1-based; maxRetries\n * is the RE-queue budget, so total attempts = maxRetries + 1). Retries\n * always imply a fresh session - no half-poisoned state.\n */\nexport function planRetry(\n instance: RunInstance & { status: \"failed\" },\n policy: RunGroupPolicy,\n): \"requeue\" | \"final_fail\" {\n if (!instance.error || !instance.error.recoverable) return \"final_fail\";\n return instance.attempt <= policy.maxRetries ? \"requeue\" : \"final_fail\";\n}\n"]}
1
+ {"version":3,"sources":["../../run-group-engine/src/derive-instance-status.ts","../../run-group-engine/src/admit.ts","../../run-group-engine/src/rollup.ts","../../run-group-engine/src/plan-retry.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import type { FlowExecution, InstanceStatus } from \"@skaile/workspaces/types\";\n\n/**\n * Mirror an instance's flow execution into the instance status.\n * Terminal flow statuses win; gate nodes surface next (approval before\n * input); `paused` is not expected inside an instance (pausing is a\n * group-level concept) and is treated as live.\n */\nexport function deriveInstanceStatus(flow: FlowExecution): InstanceStatus {\n if (flow.status === \"complete\" || flow.status === \"failed\" || flow.status === \"cancelled\") {\n return flow.status;\n }\n const nodes = Object.values(flow.nodes);\n if (nodes.some((n) => n.status === \"awaiting_approval\")) return \"awaiting_approval\";\n if (nodes.some((n) => n.status === \"awaiting_input\")) return \"awaiting_input\";\n return \"running\";\n}\n","import type { RunGroup, RunInstance } from \"@skaile/workspaces/types\";\n\n/**\n * Which queued instances may spawn now. FIFO by receivedAt (instanceId\n * tiebreak), bounded by maxParallel minus slot-occupying instances.\n * Slot-occupying = spawning | running. Gate-parked instances\n * (awaiting_approval / awaiting_input) do NOT hold slots - hosts hibernate\n * them, so a slow approver cannot stall intake.\n *\n * receivedAt must be UTC ISO 8601 (Z-suffixed): ordering is lexicographic,\n * so non-UTC offsets would misorder the queue.\n */\nexport function admit(group: RunGroup, instances: RunInstance[]): RunInstance[] {\n if (group.status !== \"active\") return [];\n const occupying = instances.filter(\n (i) => i.status === \"spawning\" || i.status === \"running\",\n ).length;\n const slots = Math.max(0, group.policy.maxParallel - occupying);\n if (slots === 0) return [];\n return instances\n .filter((i) => i.status === \"queued\")\n .sort(\n (a, b) =>\n a.input.receivedAt.localeCompare(b.input.receivedAt) ||\n a.instanceId.localeCompare(b.instanceId),\n )\n .slice(0, slots);\n}\n","import type {\n InstanceStatus,\n RunGroup,\n RunGroupStatus,\n RunInstance,\n} from \"@skaile/workspaces/types\";\n\nconst ALL_STATUSES: InstanceStatus[] = [\n \"queued\",\n \"spawning\",\n \"running\",\n \"awaiting_approval\",\n \"awaiting_input\",\n \"complete\",\n \"failed\",\n \"cancelled\",\n];\n\nconst TERMINAL: ReadonlySet<InstanceStatus> = new Set([\"complete\", \"failed\", \"cancelled\"]);\n\n/**\n * Counters per status plus the group-status transition to apply\n * (null = none). Batch only, when all instances are terminal: any failed\n * -> `failed`; else all cancelled (no completes) -> `cancelled`; else\n * `complete` (mixed complete + cancelled counts as `complete`). `active`\n * is the reverse transition after retry_instance re-queues on a terminal\n * group - deliberately only from `complete`/`failed`: a `cancelled` group\n * never reactivates (cancel_group is a final host command; a cancelled\n * group's instances cannot be retried). Standing groups never\n * auto-transition (pause/close are host commands). Rollup owns\n * reactivation - hosts re-run it after every mutation, including retries.\n */\nexport function rollup(\n group: RunGroup,\n instances: RunInstance[],\n): { counters: Record<InstanceStatus, number>; groupStatus: RunGroupStatus | null } {\n const counters = Object.fromEntries(ALL_STATUSES.map((s) => [s, 0])) as Record<\n InstanceStatus,\n number\n >;\n for (const i of instances) counters[i.status] += 1;\n\n let groupStatus: RunGroupStatus | null = null;\n if (group.mode === \"batch\") {\n const allTerminal =\n instances.length > 0 && instances.every((i) => TERMINAL.has(i.status));\n if (group.status === \"active\" && allTerminal) {\n if (counters.failed > 0) {\n groupStatus = \"failed\";\n } else if (counters.complete === 0 && counters.cancelled > 0) {\n groupStatus = \"cancelled\";\n } else {\n groupStatus = \"complete\";\n }\n } else if (\n (group.status === \"complete\" || group.status === \"failed\") &&\n instances.some((i) => !TERMINAL.has(i.status))\n ) {\n groupStatus = \"active\";\n }\n }\n return { counters, groupStatus };\n}\n","import type { RunGroupPolicy, RunInstance } from \"@skaile/workspaces/types\";\n\n/**\n * Whether a failed instance gets another attempt. `requeue` while the\n * error is recoverable and attempts remain (attempt is 1-based; maxRetries\n * is the RE-queue budget, so total attempts = maxRetries + 1). Retries\n * always imply a fresh session - no half-poisoned state.\n */\nexport function planRetry(\n instance: RunInstance & { status: \"failed\" },\n policy: RunGroupPolicy,\n): \"requeue\" | \"final_fail\" {\n if (!instance.error || !instance.error.recoverable) return \"final_fail\";\n return instance.attempt <= policy.maxRetries ? \"requeue\" : \"final_fail\";\n}\n"]}
@@ -5,9 +5,11 @@ import type { InstanceStatus, RunGroup, RunGroupStatus, RunInstance } from "@ska
5
5
  * -> `failed`; else all cancelled (no completes) -> `cancelled`; else
6
6
  * `complete` (mixed complete + cancelled counts as `complete`). `active`
7
7
  * is the reverse transition after retry_instance re-queues on a terminal
8
- * group. Standing groups never auto-transition (pause/close are host
9
- * commands). Rollup owns reactivation - hosts re-run it after every
10
- * mutation, including retries.
8
+ * group - deliberately only from `complete`/`failed`: a `cancelled` group
9
+ * never reactivates (cancel_group is a final host command; a cancelled
10
+ * group's instances cannot be retried). Standing groups never
11
+ * auto-transition (pause/close are host commands). Rollup owns
12
+ * reactivation - hosts re-run it after every mutation, including retries.
11
13
  */
12
14
  export declare function rollup(group: RunGroup, instances: RunInstance[]): {
13
15
  counters: Record<InstanceStatus, number>;
@@ -1 +1 @@
1
- {"version":3,"file":"rollup.d.ts","sourceRoot":"","sources":["../../../run-group-engine/src/rollup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,QAAQ,EACR,cAAc,EACd,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAelC;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CACpB,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,WAAW,EAAE,GACvB;IAAE,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAAC,WAAW,EAAE,cAAc,GAAG,IAAI,CAAA;CAAE,CA2BlF"}
1
+ {"version":3,"file":"rollup.d.ts","sourceRoot":"","sources":["../../../run-group-engine/src/rollup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,QAAQ,EACR,cAAc,EACd,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAelC;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CACpB,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,WAAW,EAAE,GACvB;IAAE,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAAC,WAAW,EAAE,cAAc,GAAG,IAAI,CAAA;CAAE,CA2BlF"}
@@ -1,5 +1,5 @@
1
- export { CLAUDE_CODE_CREDENTIALS_KEY, COMPILE_MANIFEST_FILENAME, CapabilityRegistry, DEFAULT_CAPABILITY_CALL_TIMEOUT_MS, DEFAULT_COALESCE_MS, MarkdownStreamer, PreInitRingSink, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildConnectorTokenMediator, buildContextSection, buildEnvironmentSection, buildResourcesAvailablePayload, builtinCapabilities, capabilityLogInstance, clearPreInitRingSink, clearSession, compileComposition, computeCapabilitySignature, connectorRefreshKind, createAgentSession, createSessionStimulusBus, defineCapability, deleteSession, dispatchRunnerCapabilityInvocation, emitSystemPromptComposed, ensureGitConfigInclude, extractClaudeAiOauthExpiresAt, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, installPreInitRingSink, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadSession, loadSessionById, mcpAuthSecretKey, newSession, pickRepointedManager, planFlowMutate, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, resetRunnerLogStore, resolveAgentComposition, resolveAgentMixins, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveMixin, runAgentChat, saveSession, setCurrentSession, startAgentServer, touchSession, writeClaudeCodeCredentialsFile } from '../chunk-DTZ7JUZY.js';
2
- import '../chunk-MWZGGCMF.js';
1
+ export { CLAUDE_CODE_CREDENTIALS_KEY, COMPILE_MANIFEST_FILENAME, CapabilityRegistry, DEFAULT_CAPABILITY_CALL_TIMEOUT_MS, DEFAULT_COALESCE_MS, MarkdownStreamer, PreInitRingSink, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildConnectorTokenMediator, buildContextSection, buildEnvironmentSection, buildResourcesAvailablePayload, builtinCapabilities, capabilityLogInstance, clearPreInitRingSink, clearSession, compileComposition, computeCapabilitySignature, connectorRefreshKind, createAgentSession, createSessionStimulusBus, defineCapability, deleteSession, dispatchRunnerCapabilityInvocation, emitSystemPromptComposed, ensureGitConfigInclude, extractClaudeAiOauthExpiresAt, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, installPreInitRingSink, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadSession, loadSessionById, mcpAuthSecretKey, newSession, pickRepointedManager, planFlowMutate, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, resetRunnerLogStore, resolveAgentComposition, resolveAgentMixins, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveMixin, runAgentChat, saveSession, setCurrentSession, startAgentServer, touchSession, writeClaudeCodeCredentialsFile } from '../chunk-YNEJXDCZ.js';
2
+ import '../chunk-2ZP6KIIQ.js';
3
3
  import '../chunk-X5YPJV4N.js';
4
4
  import '../chunk-O7SG5PC2.js';
5
5
  import '../chunk-7QBNJTTQ.js';
@@ -7,14 +7,14 @@ import '../chunk-GTS2FODO.js';
7
7
  import '../chunk-WQ7DE5UC.js';
8
8
  import '../chunk-32NA4TVC.js';
9
9
  export { assembleSystemPrompt, buildCapabilitiesPromptSection, buildLinkedPeersPromptSection } from '../chunk-W3UDISS2.js';
10
- import '../chunk-HKX5VSWQ.js';
10
+ import '../chunk-LVQO4X4U.js';
11
11
  import '../chunk-ISQWMBKD.js';
12
12
  import '../chunk-RRVQAE5D.js';
13
13
  import '../chunk-BMQKMOQY.js';
14
14
  import '../chunk-GAH4YRCI.js';
15
- import '../chunk-TNSCHS4I.js';
15
+ import '../chunk-APHTT5GE.js';
16
16
  import '../chunk-LV2HPH3C.js';
17
- import '../chunk-4DFBHEXQ.js';
17
+ import '../chunk-2257NSNY.js';
18
18
  import '../chunk-Y6FV73IH.js';
19
19
  import '../chunk-6E6PKKAD.js';
20
20
  import '../chunk-4N5XR5DQ.js';
@@ -1 +1 @@
1
- {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../runner/src/serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../runner/src/serve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAsBH,OAAO,EAKL,gBAAgB,EAMhB,KAAK,aAAa,EAEnB,MAAM,+BAA+B,CAAC;AAYvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0DAA0D,CAAC;AAO/F,OAAO,KAAK,EAEV,UAAU,EAEV,wBAAwB,EACxB,aAAa,EAEb,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAiClC,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAG7B,8BAA8B,EAC/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,YAAY,EAGlB,MAAM,sBAAsB,CAAC;AAkB9B;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,GACjC,IAAI,CAMN;AAoFD,8EAA8E;AAC9E,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,IAAI,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9F,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,IAAI,EAAE,CAAC,GAAG,IAAI,EACd,OAAO,EAAE,CAAC,GAAG,IAAI,EACjB,QAAQ,EAAE,CAAC,GAAG,IAAI,GACjB,CAAC,GAAG,IAAI,CAIV;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,gBAAgB,GAAG,IAAI,EAChC,UAAU,EAAE,eAAe,GAAG,IAAI,EAClC,UAAU,EAAE,OAAO,EACnB,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GACnC,wBAAwB,CAO1B;AAaD;;;;;;;;;GASG;AACH,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,8BAA8B,GAC/B,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAoCzE;AA0CD;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sEAAsE;IACtE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B;;;;OAIG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWnE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAChD,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACjE,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B,GAAG,aAAa,CAkDhB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,cAAc,GACtB;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACtE,GACD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,cAAc,CAAC;IAAC,SAAS,EAAE,aAAa,CAAA;CAAE,GAC7E;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EAClE,GAAG,EAAE;IACH,qFAAqF;IACrF,YAAY,EAAE,OAAO,CAAC;IACtB,mDAAmD;IACnD,cAAc,EAAE,OAAO,CAAC;IACxB,uEAAuE;IACvE,aAAa,EAAE,OAAO,CAAC;IACvB,mEAAmE;IACnE,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC,GACA,cAAc,CA8DhB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAgtFxE"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Wires the per-session capability surface that a `session_init` must install:
3
+ * the outbound remote invoker (so `host.*` calls can reach the platform peer)
4
+ * and the `runner.*` capabilities (audience: `runtime`) the platform dispatches
5
+ * through `invokeRunnerCapability`.
6
+ *
7
+ * Rationale for the split from `serve.ts` and the getter-only dependency style:
8
+ * `_devlog/notes/2026-07-17-env-mode-wire-fallback-recreate.md`.
9
+ *
10
+ * @category Runtime
11
+ * @since 3.6.0
12
+ */
13
+ import type { ConnectorManager, PreMintedSecretProvider } from "@skaile/workspaces/connectors";
14
+ import type { CapabilityRegistry, RemoteCapabilityInvoker } from "./capability-registry.js";
15
+ import type { CompactionOrchestrator } from "./compaction/index.js";
16
+ import type { ExternalMcpManager } from "./external-mcp.js";
17
+ import { type AttachResult } from "./session-resource-handlers.js";
18
+ export interface SessionCapabilityWiringDeps {
19
+ /** The per-session registry to wire. */
20
+ capabilityRegistry: CapabilityRegistry;
21
+ /** Outbound bridge to the platform peer, installed via `setRemoteInvoker`. */
22
+ remoteCapabilityInvoker: RemoteCapabilityInvoker;
23
+ /** The live unified connector manager, or null before the session is built. */
24
+ getResourceManager: () => ConnectorManager | null;
25
+ /** The in-process pre-minted credential store, or undefined before init. */
26
+ getPreMintedSecrets: () => PreMintedSecretProvider | undefined;
27
+ /** Re-emit `resources_available` so the frontend reflects the live change. */
28
+ emitResourcesAvailable: () => void;
29
+ /** True when the active driver picks up newly-registered tools without a restart. */
30
+ driverPicksUpToolsLive: () => boolean;
31
+ /** Returns `null` during the brief session-recreate gap; guard before use. */
32
+ getOrCreateMcpManager: () => ExternalMcpManager | null;
33
+ /** The current compaction orchestrator, or null before the driver is built. */
34
+ getCompactionOrchestrator: () => CompactionOrchestrator | null;
35
+ /** Absolute path to the session project directory. */
36
+ getProjectDir: () => string;
37
+ /** Stage-then-fast-restart a skill by name (owned by `serve.ts`). */
38
+ attachSkillInstance: (name: string) => Promise<AttachResult>;
39
+ log: (msg: string) => void;
40
+ }
41
+ /**
42
+ * Install the remote invoker and register the `runner.*` capabilities.
43
+ *
44
+ * Idempotent by construction: `setRemoteInvoker` replaces the prior invoker and
45
+ * `register` is overwrite-by-name — so this is safe to call on every
46
+ * `session_init`, whichever branch built the session.
47
+ */
48
+ export declare function wireSessionCapabilities(deps: SessionCapabilityWiringDeps): void;
49
+ //# sourceMappingURL=session-capability-wiring.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-capability-wiring.d.ts","sourceRoot":"","sources":["../../../runner/src/session-capability-wiring.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC/F,OAAO,KAAK,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAC5F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAI5D,OAAO,EACL,KAAK,YAAY,EAElB,MAAM,gCAAgC,CAAC;AAExC,MAAM,WAAW,2BAA2B;IAC1C,wCAAwC;IACxC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,8EAA8E;IAC9E,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,+EAA+E;IAC/E,kBAAkB,EAAE,MAAM,gBAAgB,GAAG,IAAI,CAAC;IAClD,4EAA4E;IAC5E,mBAAmB,EAAE,MAAM,uBAAuB,GAAG,SAAS,CAAC;IAC/D,8EAA8E;IAC9E,sBAAsB,EAAE,MAAM,IAAI,CAAC;IACnC,qFAAqF;IACrF,sBAAsB,EAAE,MAAM,OAAO,CAAC;IACtC,8EAA8E;IAC9E,qBAAqB,EAAE,MAAM,kBAAkB,GAAG,IAAI,CAAC;IACvD,+EAA+E;IAC/E,yBAAyB,EAAE,MAAM,sBAAsB,GAAG,IAAI,CAAC;IAC/D,sDAAsD;IACtD,aAAa,EAAE,MAAM,MAAM,CAAC;IAC5B,qEAAqE;IACrE,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7D,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,2BAA2B,GAAG,IAAI,CAwE/E"}
@@ -16,7 +16,7 @@ export interface SessionResourceHandlerDeps {
16
16
  getProjectDir?: () => string;
17
17
  }
18
18
  /** Attach-by-ref result — shape parity with the MCP `attachInstance` return. */
19
- type AttachResult = {
19
+ export type AttachResult = {
20
20
  ok: true;
21
21
  id: string;
22
22
  live: boolean;
@@ -36,5 +36,4 @@ export declare function buildSessionResourceHandlers(deps: SessionResourceHandle
36
36
  expiresAt?: string | null;
37
37
  }) => Promise<AttachResult>;
38
38
  };
39
- export {};
40
39
  //# sourceMappingURL=session-resource-handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-resource-handlers.d.ts","sourceRoot":"","sources":["../../../runner/src/session-resource-handlers.ts"],"names":[],"mappings":"AAWA,OAAO,EAEL,KAAK,gBAAgB,EAErB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC7B,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzE,MAAM,WAAW,0BAA0B;IACzC,+EAA+E;IAC/E,kBAAkB,EAAE,MAAM,gBAAgB,GAAG,IAAI,CAAC;IAClD,4EAA4E;IAC5E,mBAAmB,EAAE,MAAM,uBAAuB,GAAG,SAAS,CAAC;IAC/D,8EAA8E;IAC9E,sBAAsB,EAAE,MAAM,IAAI,CAAC;IACnC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,MAAM,CAAC;CAC9B;AAKD,gFAAgF;AAChF,KAAK,YAAY,GACb;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAejD,wBAAgB,WAAW,CAAC,KAAK,EAAE;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,GAAG,mBAAmB,CAEtB;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,0BAA0B,GAAG,IAAI,CAClF,wBAAwB,EACxB,cAAc,GAAG,UAAU,GAAG,gBAAgB,GAAG,kBAAkB,CACpE,GAAG;IACF,uBAAuB,EAAE,CACvB,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KAC1D,OAAO,CAAC,YAAY,CAAC,CAAC;CAC5B,CAwJA"}
1
+ {"version":3,"file":"session-resource-handlers.d.ts","sourceRoot":"","sources":["../../../runner/src/session-resource-handlers.ts"],"names":[],"mappings":"AAWA,OAAO,EAEL,KAAK,gBAAgB,EAErB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC7B,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzE,MAAM,WAAW,0BAA0B;IACzC,+EAA+E;IAC/E,kBAAkB,EAAE,MAAM,gBAAgB,GAAG,IAAI,CAAC;IAClD,4EAA4E;IAC5E,mBAAmB,EAAE,MAAM,uBAAuB,GAAG,SAAS,CAAC;IAC/D,8EAA8E;IAC9E,sBAAsB,EAAE,MAAM,IAAI,CAAC;IACnC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,MAAM,CAAC;CAC9B;AAKD,gFAAgF;AAChF,MAAM,MAAM,YAAY,GACpB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAejD,wBAAgB,WAAW,CAAC,KAAK,EAAE;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,GAAG,mBAAmB,CAEtB;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,0BAA0B,GAAG,IAAI,CAClF,wBAAwB,EACxB,cAAc,GAAG,UAAU,GAAG,gBAAgB,GAAG,kBAAkB,CACpE,GAAG;IACF,uBAAuB,EAAE,CACvB,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KAC1D,OAAO,CAAC,YAAY,CAAC,CAAC;CAC5B,CAwJA"}
@@ -1,4 +1,4 @@
1
- export { AssetManager, FACTORY_SOURCE_URL, MissingManifestError, NON_DEPLOYABLE_KINDS, normalizeRepoUrl, parseCanonicalLockKey, parseRefTolerant, softDepName } from '../chunk-QY47VHNI.js';
1
+ export { AssetManager, FACTORY_SOURCE_URL, MissingManifestError, NON_DEPLOYABLE_KINDS, normalizeRepoUrl, parseCanonicalLockKey, parseRefTolerant, softDepName } from '../chunk-PU3FGN4T.js';
2
2
  import '../chunk-MWE7DEGC.js';
3
3
  import '../chunk-MZV6WCF3.js';
4
4
  import '../chunk-JXT46QFC.js';
@@ -1,9 +1,9 @@
1
- export { BridgeRuntime, EventNormalizer, createRuntime, detectFileChange, detectFileChanges, summarizeToolCall, summarizeToolResult, validateApiKey } from '../chunk-HKX5VSWQ.js';
1
+ export { BridgeRuntime, EventNormalizer, createRuntime, detectFileChange, detectFileChanges, summarizeToolCall, summarizeToolResult, validateApiKey } from '../chunk-LVQO4X4U.js';
2
2
  export { CLOUD_SECRET_ENV_KEYS, SUPPORTED_CLOUDS, buildClaudeCloudEnv } from '../chunk-ISQWMBKD.js';
3
3
  export { dispatchCapability, filterRenderCapabilities, renderFallback } from '../chunk-RRVQAE5D.js';
4
4
  export { STATIC_MODELS, fetchProviderModels, getModels, getStaticModels } from '../chunk-BMQKMOQY.js';
5
5
  export { AccountUnavailableError, AuthError, classifyClaudeSdkError, reclassifyAuthAsAccountUnavailable } from '../chunk-GAH4YRCI.js';
6
- export { AgentDriver, BUILTIN_DRIVER_CATALOG, DRIVER_CATALOG, createDriver, getBridgeLogger, listDrivers, listModelsForDriver, registerBuiltinDrivers } from '../chunk-TNSCHS4I.js';
6
+ export { AgentDriver, BUILTIN_DRIVER_CATALOG, DRIVER_CATALOG, createDriver, getBridgeLogger, listDrivers, listModelsForDriver, registerBuiltinDrivers } from '../chunk-APHTT5GE.js';
7
7
  import '../chunk-6E6PKKAD.js';
8
8
  import '../chunk-JB35MVBN.js';
9
9
  import '../chunk-NSBPE2FW.js';
package/dist/sdk/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { AgentClient } from '../chunk-SZ3SIVZQ.js';
2
- import { startAgentServer } from '../chunk-DTZ7JUZY.js';
3
- import '../chunk-MWZGGCMF.js';
2
+ import { startAgentServer } from '../chunk-YNEJXDCZ.js';
3
+ import '../chunk-2ZP6KIIQ.js';
4
4
  import '../chunk-X5YPJV4N.js';
5
5
  import '../chunk-O7SG5PC2.js';
6
6
  import '../chunk-7QBNJTTQ.js';
@@ -8,14 +8,14 @@ import { WebSocketClientTransport } from '../chunk-GTS2FODO.js';
8
8
  import '../chunk-WQ7DE5UC.js';
9
9
  import '../chunk-32NA4TVC.js';
10
10
  import '../chunk-W3UDISS2.js';
11
- import '../chunk-HKX5VSWQ.js';
11
+ import '../chunk-LVQO4X4U.js';
12
12
  import '../chunk-ISQWMBKD.js';
13
13
  import '../chunk-RRVQAE5D.js';
14
14
  import '../chunk-BMQKMOQY.js';
15
15
  import '../chunk-GAH4YRCI.js';
16
- import '../chunk-TNSCHS4I.js';
16
+ import '../chunk-APHTT5GE.js';
17
17
  import '../chunk-LV2HPH3C.js';
18
- import '../chunk-4DFBHEXQ.js';
18
+ import '../chunk-2257NSNY.js';
19
19
  import '../chunk-Y6FV73IH.js';
20
20
  import '../chunk-6E6PKKAD.js';
21
21
  import '../chunk-4N5XR5DQ.js';
@@ -1,5 +1,5 @@
1
- export { CLAUDE_CODE_CREDENTIALS_KEY, COMPILE_MANIFEST_FILENAME, CapabilityRegistry, DEFAULT_CAPABILITY_CALL_TIMEOUT_MS, DEFAULT_COALESCE_MS, MarkdownStreamer, PreInitRingSink, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildConnectorTokenMediator, buildContextSection, buildEnvironmentSection, buildResourcesAvailablePayload, builtinCapabilities, capabilityLogInstance, clearPreInitRingSink, clearSession, compileComposition, computeCapabilitySignature, connectorRefreshKind, createAgentSession, createSessionStimulusBus, defineCapability, deleteSession, dispatchRunnerCapabilityInvocation, emitSystemPromptComposed, ensureGitConfigInclude, extractClaudeAiOauthExpiresAt, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, installPreInitRingSink, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadSession, loadSessionById, mcpAuthSecretKey, newSession, pickRepointedManager, planFlowMutate, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, resetRunnerLogStore, resolveAgentComposition, resolveAgentMixins, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveMixin, runAgentChat, saveSession, setCurrentSession, startAgentServer, touchSession, writeClaudeCodeCredentialsFile } from '../chunk-DTZ7JUZY.js';
2
- import '../chunk-MWZGGCMF.js';
1
+ export { CLAUDE_CODE_CREDENTIALS_KEY, COMPILE_MANIFEST_FILENAME, CapabilityRegistry, DEFAULT_CAPABILITY_CALL_TIMEOUT_MS, DEFAULT_COALESCE_MS, MarkdownStreamer, PreInitRingSink, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildConnectorTokenMediator, buildContextSection, buildEnvironmentSection, buildResourcesAvailablePayload, builtinCapabilities, capabilityLogInstance, clearPreInitRingSink, clearSession, compileComposition, computeCapabilitySignature, connectorRefreshKind, createAgentSession, createSessionStimulusBus, defineCapability, deleteSession, dispatchRunnerCapabilityInvocation, emitSystemPromptComposed, ensureGitConfigInclude, extractClaudeAiOauthExpiresAt, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, installPreInitRingSink, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadSession, loadSessionById, mcpAuthSecretKey, newSession, pickRepointedManager, planFlowMutate, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, resetRunnerLogStore, resolveAgentComposition, resolveAgentMixins, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveMixin, runAgentChat, saveSession, setCurrentSession, startAgentServer, touchSession, writeClaudeCodeCredentialsFile } from '../chunk-YNEJXDCZ.js';
2
+ import '../chunk-2ZP6KIIQ.js';
3
3
  import '../chunk-X5YPJV4N.js';
4
4
  import '../chunk-O7SG5PC2.js';
5
5
  import '../chunk-7QBNJTTQ.js';
@@ -7,14 +7,14 @@ import '../chunk-GTS2FODO.js';
7
7
  import '../chunk-WQ7DE5UC.js';
8
8
  import '../chunk-32NA4TVC.js';
9
9
  export { assembleSystemPrompt, buildCapabilitiesPromptSection, buildLinkedPeersPromptSection } from '../chunk-W3UDISS2.js';
10
- import '../chunk-HKX5VSWQ.js';
10
+ import '../chunk-LVQO4X4U.js';
11
11
  import '../chunk-ISQWMBKD.js';
12
12
  import '../chunk-RRVQAE5D.js';
13
13
  import '../chunk-BMQKMOQY.js';
14
14
  import '../chunk-GAH4YRCI.js';
15
- import '../chunk-TNSCHS4I.js';
15
+ import '../chunk-APHTT5GE.js';
16
16
  import '../chunk-LV2HPH3C.js';
17
- import '../chunk-4DFBHEXQ.js';
17
+ import '../chunk-2257NSNY.js';
18
18
  import '../chunk-Y6FV73IH.js';
19
19
  import '../chunk-6E6PKKAD.js';
20
20
  import '../chunk-4N5XR5DQ.js';
@@ -1,9 +1,9 @@
1
- import { validateApiKey } from './chunk-HKX5VSWQ.js';
1
+ import { validateApiKey } from './chunk-LVQO4X4U.js';
2
2
  import './chunk-ISQWMBKD.js';
3
3
  import './chunk-RRVQAE5D.js';
4
4
  import { getModels } from './chunk-BMQKMOQY.js';
5
5
  import './chunk-GAH4YRCI.js';
6
- import './chunk-TNSCHS4I.js';
6
+ import './chunk-APHTT5GE.js';
7
7
  import './chunk-6E6PKKAD.js';
8
8
  import { ALL_PROVIDERS, detectEnvApiKeys, resolveSettings, maskApiKey, projectSettingsPath, loadSettings, saveSettings, WorkspaceYamlEditor, providerEnvKey } from './chunk-5NZ56R63.js';
9
9
  import './chunk-ZAP2BDHG.js';
@@ -510,5 +510,5 @@ async function cmdSetup(_args, opts) {
510
510
  }
511
511
 
512
512
  export { cmdSetup };
513
- //# sourceMappingURL=setup-ETGRXSZG.js.map
514
- //# sourceMappingURL=setup-ETGRXSZG.js.map
513
+ //# sourceMappingURL=setup-H3WCLOEH.js.map
514
+ //# sourceMappingURL=setup-H3WCLOEH.js.map