@skaile/workspaces 5.10.0 → 5.12.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 (425) hide show
  1. package/CHANGELOG.md +146 -0
  2. package/README.md +14 -2
  3. package/dist/{asset-feeds-ELEBTNUS.js → asset-feeds-AM6PSSGM.js} +24 -21
  4. package/dist/asset-feeds-AM6PSSGM.js.map +1 -0
  5. package/dist/asset-manager/catalog-deployer.js +8 -8
  6. package/dist/asset-manager/fragments.js +1 -1
  7. package/dist/asset-manager/index.js +16 -16
  8. package/dist/asset-manager/installer.js +11 -11
  9. package/dist/asset-manager/renderers.js +9 -9
  10. package/dist/asset-manager/src/fragments.d.ts +5 -0
  11. package/dist/asset-manager/src/fragments.d.ts.map +1 -1
  12. package/dist/asset-manager/src/index.d.ts +197 -11
  13. package/dist/asset-manager/src/index.d.ts.map +1 -1
  14. package/dist/asset-manager/src/install-agent.d.ts +9 -1
  15. package/dist/asset-manager/src/install-agent.d.ts.map +1 -1
  16. package/dist/asset-manager/src/install-instances.d.ts.map +1 -1
  17. package/dist/asset-manager/src/installer.d.ts +33 -3
  18. package/dist/asset-manager/src/installer.d.ts.map +1 -1
  19. package/dist/asset-manager/src/renderers.d.ts +5 -0
  20. package/dist/asset-manager/src/renderers.d.ts.map +1 -1
  21. package/dist/bridge/drivers/claude-sdk.js +16 -13
  22. package/dist/bridge/drivers/claude-sdk.js.map +1 -1
  23. package/dist/bridge/drivers/codex.js +43 -16
  24. package/dist/bridge/drivers/codex.js.map +1 -1
  25. package/dist/bridge/drivers/continue.js +10 -10
  26. package/dist/bridge/drivers/echo.js +2 -2
  27. package/dist/bridge/drivers/gemini.js +7 -7
  28. package/dist/bridge/drivers/goose.js +10 -10
  29. package/dist/bridge/drivers/omp.js +52 -9
  30. package/dist/bridge/drivers/omp.js.map +1 -1
  31. package/dist/bridge/drivers/opencode.js +10 -10
  32. package/dist/bridge/drivers/qwen.js +7 -7
  33. package/dist/bridge/index.js +12 -12
  34. package/dist/bridge/src/codex/config-toml.d.ts +8 -3
  35. package/dist/bridge/src/codex/config-toml.d.ts.map +1 -1
  36. package/dist/bridge/src/codex/managed-driver.d.ts.map +1 -1
  37. package/dist/bridge/src/drivers/claude-sdk.d.ts +1 -1
  38. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
  39. package/dist/bridge/src/drivers/codex.d.ts.map +1 -1
  40. package/dist/bridge/src/drivers/omp-models-yml.d.ts.map +1 -1
  41. package/dist/bridge/src/drivers/omp.d.ts +9 -0
  42. package/dist/bridge/src/drivers/omp.d.ts.map +1 -1
  43. package/dist/bridge/src/provider-materialize/credential-env.d.ts +15 -0
  44. package/dist/bridge/src/provider-materialize/credential-env.d.ts.map +1 -1
  45. package/dist/{chunk-7CR6HT2X.js → chunk-27L6BBAT.js} +9 -9
  46. package/dist/{chunk-7CR6HT2X.js.map → chunk-27L6BBAT.js.map} +1 -1
  47. package/dist/{chunk-QG3HOJEK.js → chunk-2JFIFDDO.js} +3 -3
  48. package/dist/{chunk-QG3HOJEK.js.map → chunk-2JFIFDDO.js.map} +1 -1
  49. package/dist/{chunk-IJHH4DSW.js → chunk-2X3JBVGD.js} +11 -10
  50. package/dist/chunk-2X3JBVGD.js.map +1 -0
  51. package/dist/{chunk-G54USEUP.js → chunk-3HUV2LJF.js} +4 -4
  52. package/dist/{chunk-G54USEUP.js.map → chunk-3HUV2LJF.js.map} +1 -1
  53. package/dist/{chunk-JFXQEVLF.js → chunk-3LVB3HGH.js} +3 -3
  54. package/dist/{chunk-JFXQEVLF.js.map → chunk-3LVB3HGH.js.map} +1 -1
  55. package/dist/{chunk-32XKCNCL.js → chunk-6VLHITAM.js} +146 -4
  56. package/dist/chunk-6VLHITAM.js.map +1 -0
  57. package/dist/{chunk-GEWAIQZ5.js → chunk-7CR2OZPA.js} +10 -12
  58. package/dist/chunk-7CR2OZPA.js.map +1 -0
  59. package/dist/{chunk-6HHE63CO.js → chunk-7QWQTA5S.js} +89 -12
  60. package/dist/chunk-7QWQTA5S.js.map +1 -0
  61. package/dist/{chunk-7I5VRVDP.js → chunk-7XWUJC3A.js} +4 -4
  62. package/dist/{chunk-7I5VRVDP.js.map → chunk-7XWUJC3A.js.map} +1 -1
  63. package/dist/{chunk-3BEY4WK3.js → chunk-C3BMXXTN.js} +203 -31
  64. package/dist/chunk-C3BMXXTN.js.map +1 -0
  65. package/dist/{chunk-IXWODEED.js → chunk-CTP3XBMF.js} +47 -8
  66. package/dist/chunk-CTP3XBMF.js.map +1 -0
  67. package/dist/{chunk-HOHUEKES.js → chunk-DCHQ6BAZ.js} +3 -3
  68. package/dist/{chunk-HOHUEKES.js.map → chunk-DCHQ6BAZ.js.map} +1 -1
  69. package/dist/{chunk-DALV4HHP.js → chunk-DKXNKFKP.js} +3 -2
  70. package/dist/{chunk-DALV4HHP.js.map → chunk-DKXNKFKP.js.map} +1 -1
  71. package/dist/{chunk-3MKPZZRE.js → chunk-G3X4MLDB.js} +3 -3
  72. package/dist/{chunk-3MKPZZRE.js.map → chunk-G3X4MLDB.js.map} +1 -1
  73. package/dist/{chunk-SBFW3CJH.js → chunk-GWD3QNVS.js} +5 -5
  74. package/dist/{chunk-SBFW3CJH.js.map → chunk-GWD3QNVS.js.map} +1 -1
  75. package/dist/chunk-H5U7LNTJ.js +122 -0
  76. package/dist/chunk-H5U7LNTJ.js.map +1 -0
  77. package/dist/{chunk-SX5U422E.js → chunk-HYMERG57.js} +3 -3
  78. package/dist/{chunk-SX5U422E.js.map → chunk-HYMERG57.js.map} +1 -1
  79. package/dist/{chunk-V5TZH4GF.js → chunk-ICIYSJBQ.js} +4 -4
  80. package/dist/{chunk-V5TZH4GF.js.map → chunk-ICIYSJBQ.js.map} +1 -1
  81. package/dist/{chunk-YBQONMH2.js → chunk-ID745F3R.js} +353 -193
  82. package/dist/chunk-ID745F3R.js.map +1 -0
  83. package/dist/{chunk-CLTHEKHR.js → chunk-JQ3DXNQV.js} +4 -4
  84. package/dist/{chunk-CLTHEKHR.js.map → chunk-JQ3DXNQV.js.map} +1 -1
  85. package/dist/chunk-K4VOEYOR.js +21 -0
  86. package/dist/chunk-K4VOEYOR.js.map +1 -0
  87. package/dist/{chunk-XCNK4UE5.js → chunk-KVSDRB35.js} +5 -5
  88. package/dist/{chunk-XCNK4UE5.js.map → chunk-KVSDRB35.js.map} +1 -1
  89. package/dist/{chunk-HJ5MCB3L.js → chunk-MF54ZHWT.js} +20 -3
  90. package/dist/chunk-MF54ZHWT.js.map +1 -0
  91. package/dist/{chunk-NRDSGLCQ.js → chunk-N5M2EISA.js} +240 -52
  92. package/dist/chunk-N5M2EISA.js.map +1 -0
  93. package/dist/{chunk-OBVJ7RPW.js → chunk-NDF24LYP.js} +3 -3
  94. package/dist/{chunk-OBVJ7RPW.js.map → chunk-NDF24LYP.js.map} +1 -1
  95. package/dist/{chunk-ZGQTS3Y4.js → chunk-NGJIVDDD.js} +3 -3
  96. package/dist/{chunk-ZGQTS3Y4.js.map → chunk-NGJIVDDD.js.map} +1 -1
  97. package/dist/{chunk-PE36IF2D.js → chunk-NJV5SLEK.js} +159 -44
  98. package/dist/chunk-NJV5SLEK.js.map +1 -0
  99. package/dist/{chunk-OOWHXOK6.js → chunk-NJXR5OAM.js} +4 -4
  100. package/dist/{chunk-OOWHXOK6.js.map → chunk-NJXR5OAM.js.map} +1 -1
  101. package/dist/{chunk-CGYEHQOX.js → chunk-NOA6EJXE.js} +11 -2
  102. package/dist/chunk-NOA6EJXE.js.map +1 -0
  103. package/dist/{chunk-V7PQZOBR.js → chunk-NR7H7ZJP.js} +14 -6
  104. package/dist/chunk-NR7H7ZJP.js.map +1 -0
  105. package/dist/{chunk-OBYKJB4U.js → chunk-O2SYFJWP.js} +79 -5
  106. package/dist/chunk-O2SYFJWP.js.map +1 -0
  107. package/dist/{chunk-5LKOAX7I.js → chunk-OQ5MKDS3.js} +21 -5
  108. package/dist/chunk-OQ5MKDS3.js.map +1 -0
  109. package/dist/{chunk-4P3KTUZH.js → chunk-P23WJCH2.js} +51 -14
  110. package/dist/chunk-P23WJCH2.js.map +1 -0
  111. package/dist/{chunk-NWDSLXOX.js → chunk-PHRNUTSG.js} +118 -118
  112. package/dist/chunk-PHRNUTSG.js.map +1 -0
  113. package/dist/{chunk-JZCSNEHK.js → chunk-PNOGX36L.js} +141 -39
  114. package/dist/chunk-PNOGX36L.js.map +1 -0
  115. package/dist/{chunk-4OV5DSBB.js → chunk-PNTXHTBC.js} +5 -5
  116. package/dist/chunk-PNTXHTBC.js.map +1 -0
  117. package/dist/{chunk-TRSQP3JD.js → chunk-POQ6PGNE.js} +20 -4
  118. package/dist/chunk-POQ6PGNE.js.map +1 -0
  119. package/dist/{chunk-Y63UQZ7P.js → chunk-QCEKGYHF.js} +3 -3
  120. package/dist/{chunk-Y63UQZ7P.js.map → chunk-QCEKGYHF.js.map} +1 -1
  121. package/dist/{chunk-GFCXNFTW.js → chunk-SHQMPGOL.js} +4 -4
  122. package/dist/{chunk-GFCXNFTW.js.map → chunk-SHQMPGOL.js.map} +1 -1
  123. package/dist/{chunk-WBYDAL6X.js → chunk-SMT3LNAG.js} +4 -4
  124. package/dist/{chunk-WBYDAL6X.js.map → chunk-SMT3LNAG.js.map} +1 -1
  125. package/dist/{chunk-2FMEGSBN.js → chunk-T5TSLSRO.js} +135 -47
  126. package/dist/chunk-T5TSLSRO.js.map +1 -0
  127. package/dist/{chunk-2JMLDZLP.js → chunk-TVAR4JHA.js} +903 -138
  128. package/dist/chunk-TVAR4JHA.js.map +1 -0
  129. package/dist/{chunk-MVQ3Q2HM.js → chunk-UTKENBB6.js} +5 -5
  130. package/dist/{chunk-MVQ3Q2HM.js.map → chunk-UTKENBB6.js.map} +1 -1
  131. package/dist/{chunk-TH4CTXHX.js → chunk-VRLKHL74.js} +6 -6
  132. package/dist/{chunk-TH4CTXHX.js.map → chunk-VRLKHL74.js.map} +1 -1
  133. package/dist/{chunk-Z2K6BGUR.js → chunk-WI4T3KIS.js} +51 -16
  134. package/dist/chunk-WI4T3KIS.js.map +1 -0
  135. package/dist/{chunk-MGGFBZWA.js → chunk-X3RMRJNR.js} +6 -4
  136. package/dist/chunk-X3RMRJNR.js.map +1 -0
  137. package/dist/{chunk-FRPBSUFH.js → chunk-X6LKA3TJ.js} +5 -5
  138. package/dist/{chunk-FRPBSUFH.js.map → chunk-X6LKA3TJ.js.map} +1 -1
  139. package/dist/{chunk-3KHYGOEY.js → chunk-XMAJJPA4.js} +3 -3
  140. package/dist/{chunk-3KHYGOEY.js.map → chunk-XMAJJPA4.js.map} +1 -1
  141. package/dist/{chunk-Y34MSWEZ.js → chunk-XTVSNWLL.js} +19 -7
  142. package/dist/chunk-XTVSNWLL.js.map +1 -0
  143. package/dist/{chunk-VLXDXRRX.js → chunk-XZY6SBGU.js} +3 -3
  144. package/dist/{chunk-VLXDXRRX.js.map → chunk-XZY6SBGU.js.map} +1 -1
  145. package/dist/{chunk-5QI2JYJC.js → chunk-YQU2BPQD.js} +7 -5
  146. package/dist/chunk-YQU2BPQD.js.map +1 -0
  147. package/dist/cli/index.js +1207 -580
  148. package/dist/cli/index.js.map +1 -1
  149. package/dist/cli/src/agent-checks.d.ts +40 -0
  150. package/dist/cli/src/agent-checks.d.ts.map +1 -0
  151. package/dist/cli/src/asset-feeds.d.ts.map +1 -1
  152. package/dist/cli/src/commands/asset-cmd.d.ts.map +1 -1
  153. package/dist/cli/src/commands/catalog.d.ts +24 -0
  154. package/dist/cli/src/commands/catalog.d.ts.map +1 -1
  155. package/dist/cli/src/commands/config.d.ts.map +1 -1
  156. package/dist/cli/src/commands/diff.d.ts +1 -1
  157. package/dist/cli/src/commands/diff.d.ts.map +1 -1
  158. package/dist/cli/src/commands/integration.d.ts.map +1 -1
  159. package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
  160. package/dist/cli/src/commands/library-publish.d.ts.map +1 -1
  161. package/dist/cli/src/commands/manage.d.ts +6 -0
  162. package/dist/cli/src/commands/manage.d.ts.map +1 -1
  163. package/dist/cli/src/commands/mcp-server.d.ts +1 -1
  164. package/dist/cli/src/commands/migrate-assets.d.ts +2 -1
  165. package/dist/cli/src/commands/migrate-assets.d.ts.map +1 -1
  166. package/dist/cli/src/commands/migrate.d.ts.map +1 -1
  167. package/dist/cli/src/commands/outdated.d.ts.map +1 -1
  168. package/dist/cli/src/commands/plugin/claude-code.d.ts +1 -1
  169. package/dist/cli/src/commands/plugin/claude-code.d.ts.map +1 -1
  170. package/dist/cli/src/commands/plugin/types.d.ts +1 -1
  171. package/dist/cli/src/commands/plugin-registry-cmd.d.ts.map +1 -1
  172. package/dist/cli/src/commands/project.d.ts +3 -1
  173. package/dist/cli/src/commands/project.d.ts.map +1 -1
  174. package/dist/cli/src/commands/publish-core.d.ts +5 -0
  175. package/dist/cli/src/commands/publish-core.d.ts.map +1 -1
  176. package/dist/cli/src/commands/run.d.ts +2 -1
  177. package/dist/cli/src/commands/run.d.ts.map +1 -1
  178. package/dist/cli/src/commands/serve-preflight.d.ts +22 -0
  179. package/dist/cli/src/commands/serve-preflight.d.ts.map +1 -0
  180. package/dist/cli/src/commands/serve.d.ts.map +1 -1
  181. package/dist/cli/src/commands/source-manifest-publish.d.ts.map +1 -1
  182. package/dist/cli/src/commands/source-manifest.d.ts.map +1 -1
  183. package/dist/cli/src/commands/source.d.ts.map +1 -1
  184. package/dist/cli/src/commands/store.d.ts.map +1 -1
  185. package/dist/cli/src/commands/tree.d.ts.map +1 -1
  186. package/dist/cli/src/commands/update.d.ts.map +1 -1
  187. package/dist/cli/src/commands/validate.d.ts.map +1 -1
  188. package/dist/cli/src/commands/why.d.ts +1 -0
  189. package/dist/cli/src/commands/why.d.ts.map +1 -1
  190. package/dist/cli/src/curated-manifests.d.ts +21 -0
  191. package/dist/cli/src/curated-manifests.d.ts.map +1 -0
  192. package/dist/cli/src/helpers.d.ts +12 -0
  193. package/dist/cli/src/helpers.d.ts.map +1 -1
  194. package/dist/cli/src/index-busy.d.ts +8 -0
  195. package/dist/cli/src/index-busy.d.ts.map +1 -0
  196. package/dist/cli/src/plugin-store/paths.d.ts +7 -3
  197. package/dist/cli/src/plugin-store/paths.d.ts.map +1 -1
  198. package/dist/cli/src/skill-checks.d.ts +29 -8
  199. package/dist/cli/src/skill-checks.d.ts.map +1 -1
  200. package/dist/cli/src/store-addable.d.ts +18 -0
  201. package/dist/cli/src/store-addable.d.ts.map +1 -0
  202. package/dist/connectors/config.js +5 -5
  203. package/dist/connectors/index.js +16 -16
  204. package/dist/{connectors-OXP2JBGI.js → connectors-UNKUKEPG.js} +19 -19
  205. package/dist/{connectors-OXP2JBGI.js.map → connectors-UNKUKEPG.js.map} +1 -1
  206. package/dist/core/index.js +7 -7
  207. package/dist/core/logging.js +1 -1
  208. package/dist/core/manifest.js +2 -2
  209. package/dist/core/models.js +1 -1
  210. package/dist/core/publish-manifest.js +2 -2
  211. package/dist/core/ref.js +1 -1
  212. package/dist/core/runtime-assets.js +5 -5
  213. package/dist/core/src/index.d.ts +5 -4
  214. package/dist/core/src/index.d.ts.map +1 -1
  215. package/dist/core/src/lock.d.ts +19 -8
  216. package/dist/core/src/lock.d.ts.map +1 -1
  217. package/dist/core/src/logging/sinks/sqlite-sink.d.ts.map +1 -1
  218. package/dist/core/src/manifest.d.ts +5 -0
  219. package/dist/core/src/manifest.d.ts.map +1 -1
  220. package/dist/core/src/models.d.ts +4 -4
  221. package/dist/core/src/models.d.ts.map +1 -1
  222. package/dist/core/src/package-manager.d.ts +19 -0
  223. package/dist/core/src/package-manager.d.ts.map +1 -0
  224. package/dist/core/src/publish-manifest.d.ts +11 -1
  225. package/dist/core/src/publish-manifest.d.ts.map +1 -1
  226. package/dist/core/src/repo-manager.d.ts +11 -0
  227. package/dist/core/src/repo-manager.d.ts.map +1 -1
  228. package/dist/core/src/settings.d.ts +26 -6
  229. package/dist/core/src/settings.d.ts.map +1 -1
  230. package/dist/core/src/walker.d.ts +6 -1
  231. package/dist/core/src/walker.d.ts.map +1 -1
  232. package/dist/core/src/workspace-config.d.ts +4 -1
  233. package/dist/core/src/workspace-config.d.ts.map +1 -1
  234. package/dist/core/workspace-config.js +4 -4
  235. package/dist/deploy/index.js +7 -7
  236. package/dist/discovery/index.js +5 -5
  237. package/dist/discovery/src/source-config.d.ts.map +1 -1
  238. package/dist/{ensure-sources-5ISVIA4T.js → ensure-sources-POMEQSTM.js} +19 -19
  239. package/dist/{ensure-sources-5ISVIA4T.js.map → ensure-sources-POMEQSTM.js.map} +1 -1
  240. package/dist/factory-assets/connectors/box.js +16 -16
  241. package/dist/factory-assets/connectors/deploy.js +16 -16
  242. package/dist/factory-assets/connectors/devserver.js +16 -16
  243. package/dist/factory-assets/connectors/flow/adapter.js +16 -16
  244. package/dist/factory-assets/connectors/flow/contract/normalize.d.ts.map +1 -1
  245. package/dist/factory-assets/connectors/flow/contract.js +1 -1
  246. package/dist/factory-assets/connectors/flow/engine.js +9 -9
  247. package/dist/factory-assets/connectors/flow/run-flow.d.ts.map +1 -1
  248. package/dist/factory-assets/connectors/flow/run-flow.js +18 -18
  249. package/dist/factory-assets/connectors/flow.js +16 -16
  250. package/dist/factory-assets/connectors/git.js +16 -16
  251. package/dist/factory-assets/connectors/gmail.js +16 -16
  252. package/dist/factory-assets/connectors/googledrive.js +16 -16
  253. package/dist/factory-assets/connectors/local.js +16 -16
  254. package/dist/factory-assets/connectors/mattermost.js +16 -16
  255. package/dist/factory-assets/connectors/memory.js +16 -16
  256. package/dist/factory-assets/connectors/minio.js +16 -16
  257. package/dist/factory-assets/connectors/postgres.js +16 -16
  258. package/dist/factory-assets/connectors/s3.js +16 -16
  259. package/dist/factory-assets/connectors/sharepoint.js +16 -16
  260. package/dist/factory-assets/connectors/sqlite.js +16 -16
  261. package/dist/factory-assets/connectors/static-server.js +16 -16
  262. package/dist/factory-assets/connectors/tunnel.js +16 -16
  263. package/dist/factory-assets/connectors/webdav.js +16 -16
  264. package/dist/factory-assets/connectors/xstate-store.js +16 -16
  265. package/dist/factory-assets/connectors/xstate.js +16 -16
  266. package/dist/factory-assets/skills/authoring-skaile-assets/SKILL.md +10 -8
  267. package/dist/factory-assets/skills/authoring-skaile-manifests/SKILL.md +15 -11
  268. package/dist/factory-assets/skills/authoring-skaile-manifests/references/dependency-standard.md +16 -11
  269. package/dist/factory-assets/skills/skaile-author-asset/SKILL.md +2 -2
  270. package/dist/{flows-HMSE76PO.js → flows-DVKMZKM4.js} +12 -12
  271. package/dist/{flows-HMSE76PO.js.map → flows-DVKMZKM4.js.map} +1 -1
  272. package/dist/{helpers-X6URBGSF.js → helpers-Y4OT7VIS.js} +19 -19
  273. package/dist/{helpers-X6URBGSF.js.map → helpers-Y4OT7VIS.js.map} +1 -1
  274. package/dist/library/index.js +12 -12
  275. package/dist/library/install.js +4 -4
  276. package/dist/library/src/index.d.ts +3 -3
  277. package/dist/library/src/index.d.ts.map +1 -1
  278. package/dist/library/src/install/source-fetch-github.d.ts.map +1 -1
  279. package/dist/library/src/local/db.d.ts +2 -0
  280. package/dist/library/src/local/db.d.ts.map +1 -1
  281. package/dist/library/src/local/library-dir.d.ts +26 -0
  282. package/dist/library/src/local/library-dir.d.ts.map +1 -1
  283. package/dist/library/src/local/library-manager.d.ts +5 -0
  284. package/dist/library/src/local/library-manager.d.ts.map +1 -1
  285. package/dist/library/src/local/library.d.ts +5 -3
  286. package/dist/library/src/local/library.d.ts.map +1 -1
  287. package/dist/library/src/local/local-catalog-source.d.ts.map +1 -1
  288. package/dist/library/src/local/store-paths.d.ts +9 -0
  289. package/dist/library/src/local/store-paths.d.ts.map +1 -1
  290. package/dist/library/src/manifest-writer.d.ts.map +1 -1
  291. package/dist/library/src/remote/index.d.ts +1 -1
  292. package/dist/library/src/remote/index.d.ts.map +1 -1
  293. package/dist/library/src/remote/remote-catalog-source.d.ts +17 -0
  294. package/dist/library/src/remote/remote-catalog-source.d.ts.map +1 -1
  295. package/dist/library/src/sync/git-driver.d.ts +2 -0
  296. package/dist/library/src/sync/git-driver.d.ts.map +1 -1
  297. package/dist/{library-publish-OS3JDW4S.js → library-publish-DI4Q5UOG.js} +73 -38
  298. package/dist/library-publish-DI4Q5UOG.js.map +1 -0
  299. package/dist/open-library-N6ESO6IK.js +40 -0
  300. package/dist/{open-library-4QSUORI6.js.map → open-library-N6ESO6IK.js.map} +1 -1
  301. package/dist/open-registry-CBZ5MWTT.js +32 -0
  302. package/dist/{open-registry-VCKS3MP5.js.map → open-registry-CBZ5MWTT.js.map} +1 -1
  303. package/dist/paths-U6W6MQNQ.js +22 -0
  304. package/dist/{paths-BVO56A25.js.map → paths-U6W6MQNQ.js.map} +1 -1
  305. package/dist/{plugin-store-X7GPWGBG.js → plugin-store-XMZSPVBF.js} +48 -12
  306. package/dist/plugin-store-XMZSPVBF.js.map +1 -0
  307. package/dist/project-UP52HEHC.js +79 -0
  308. package/dist/{project-PAXP46RD.js.map → project-UP52HEHC.js.map} +1 -1
  309. package/dist/resolver/index.js +8 -8
  310. package/dist/runner/index.js +33 -33
  311. package/dist/runner/src/agent.d.ts.map +1 -1
  312. package/dist/runner/src/agents/in-process-host.d.ts.map +1 -1
  313. package/dist/runner/src/composition/index.d.ts +1 -0
  314. package/dist/runner/src/composition/index.d.ts.map +1 -1
  315. package/dist/runner/src/composition/prompt-sections.d.ts +7 -4
  316. package/dist/runner/src/composition/prompt-sections.d.ts.map +1 -1
  317. package/dist/runner/src/composition/resolve.d.ts +10 -1
  318. package/dist/runner/src/composition/resolve.d.ts.map +1 -1
  319. package/dist/runner/src/composition/verify.d.ts +29 -0
  320. package/dist/runner/src/composition/verify.d.ts.map +1 -0
  321. package/dist/runner/src/credential-notice.d.ts +14 -0
  322. package/dist/runner/src/credential-notice.d.ts.map +1 -0
  323. package/dist/runner/src/environment.d.ts.map +1 -1
  324. package/dist/runner/src/final-text.d.ts +17 -0
  325. package/dist/runner/src/final-text.d.ts.map +1 -0
  326. package/dist/runner/src/index.d.ts +2 -0
  327. package/dist/runner/src/index.d.ts.map +1 -1
  328. package/dist/runner/src/resource-handler.d.ts.map +1 -1
  329. package/dist/runner/src/serve.d.ts +13 -0
  330. package/dist/runner/src/serve.d.ts.map +1 -1
  331. package/dist/runner/src/usage-limit-turn-hold.d.ts +51 -0
  332. package/dist/runner/src/usage-limit-turn-hold.d.ts.map +1 -0
  333. package/dist/sdk/asset-manager.js +16 -16
  334. package/dist/sdk/bridge.js +12 -12
  335. package/dist/sdk/core.js +7 -7
  336. package/dist/sdk/flow.js +9 -9
  337. package/dist/sdk/index.js +36 -34
  338. package/dist/sdk/index.js.map +1 -1
  339. package/dist/sdk/resolver.js +8 -8
  340. package/dist/sdk/runner.js +33 -33
  341. package/dist/sdk/src/local-runtime.d.ts.map +1 -1
  342. package/dist/sdk/transport/ws/client.js +1 -1
  343. package/dist/sdk/transport/ws/server.js +1 -1
  344. package/dist/sdk/transport/ws.js +2 -2
  345. package/dist/sdk/transport.js +2 -2
  346. package/dist/serve-preflight-6P2JJEJ3.js +47 -0
  347. package/dist/serve-preflight-6P2JJEJ3.js.map +1 -0
  348. package/dist/{setup-BV55VHWC.js → setup-5IRUH5OS.js} +24 -24
  349. package/dist/{setup-BV55VHWC.js.map → setup-5IRUH5OS.js.map} +1 -1
  350. package/dist/{skills-EDFUCJPX.js → skills-HA36RFNM.js} +13 -13
  351. package/dist/{skills-EDFUCJPX.js.map → skills-HA36RFNM.js.map} +1 -1
  352. package/dist/source-DX5SGWEI.js +41 -0
  353. package/dist/{source-E4VAT5RZ.js.map → source-DX5SGWEI.js.map} +1 -1
  354. package/dist/source-fetch-github-PIO6EMMF.js +4 -0
  355. package/dist/{source-fetch-github-QN4LLTL5.js.map → source-fetch-github-PIO6EMMF.js.map} +1 -1
  356. package/dist/{source-manifest-publish-CLEE6TNH.js → source-manifest-publish-NMRLXWVW.js} +27 -26
  357. package/dist/source-manifest-publish-NMRLXWVW.js.map +1 -0
  358. package/dist/transport/index.js +2 -2
  359. package/dist/transport/src/ws/client.d.ts +6 -0
  360. package/dist/transport/src/ws/client.d.ts.map +1 -1
  361. package/dist/transport/src/ws/server.d.ts +4 -0
  362. package/dist/transport/src/ws/server.d.ts.map +1 -1
  363. package/dist/transport/ws/client.js +1 -1
  364. package/dist/transport/ws/server.js +1 -1
  365. package/dist/transport/ws.js +2 -2
  366. package/dist/tui/index.js +89 -52
  367. package/dist/tui/index.js.map +1 -1
  368. package/dist/tui/src/repl-session.d.ts +1 -1
  369. package/dist/tui/src/repl-session.d.ts.map +1 -1
  370. package/dist/tui/src/repl.d.ts +3 -0
  371. package/dist/tui/src/repl.d.ts.map +1 -1
  372. package/dist/types/manifests.js +1 -1
  373. package/dist/types/src/manifests/agent-composition.d.ts +20 -0
  374. package/dist/types/src/manifests/agent-composition.d.ts.map +1 -1
  375. package/dist/types/src/manifests/agent.d.ts.map +1 -1
  376. package/dist/types/src/manifests/cron.d.ts +15 -0
  377. package/dist/types/src/manifests/cron.d.ts.map +1 -0
  378. package/dist/types/src/manifests/index.d.ts +3 -2
  379. package/dist/types/src/manifests/index.d.ts.map +1 -1
  380. package/dist/types/src/manifests/preset.d.ts +1 -1
  381. package/dist/workspace-plugin/adapters/mcp.js +23 -23
  382. package/dist/workspace-plugin/adapters/omp.js +106 -51
  383. package/dist/workspace-plugin/adapters/omp.js.map +1 -1
  384. package/dist/workspace-plugin/index.js +2 -2
  385. package/dist/workspace-plugin/src/adapters/claude-code.d.ts.map +1 -1
  386. package/dist/workspace-plugin/src/adapters/omp.d.ts +11 -2
  387. package/dist/workspace-plugin/src/adapters/omp.d.ts.map +1 -1
  388. package/package.json +1 -1
  389. package/dist/asset-feeds-ELEBTNUS.js.map +0 -1
  390. package/dist/chunk-2FMEGSBN.js.map +0 -1
  391. package/dist/chunk-2JMLDZLP.js.map +0 -1
  392. package/dist/chunk-32XKCNCL.js.map +0 -1
  393. package/dist/chunk-3BEY4WK3.js.map +0 -1
  394. package/dist/chunk-4OV5DSBB.js.map +0 -1
  395. package/dist/chunk-4P3KTUZH.js.map +0 -1
  396. package/dist/chunk-5LKOAX7I.js.map +0 -1
  397. package/dist/chunk-5QI2JYJC.js.map +0 -1
  398. package/dist/chunk-6HHE63CO.js.map +0 -1
  399. package/dist/chunk-CGYEHQOX.js.map +0 -1
  400. package/dist/chunk-GEWAIQZ5.js.map +0 -1
  401. package/dist/chunk-HJ5MCB3L.js.map +0 -1
  402. package/dist/chunk-IJHH4DSW.js.map +0 -1
  403. package/dist/chunk-IXWODEED.js.map +0 -1
  404. package/dist/chunk-JZCSNEHK.js.map +0 -1
  405. package/dist/chunk-MGGFBZWA.js.map +0 -1
  406. package/dist/chunk-NRDSGLCQ.js.map +0 -1
  407. package/dist/chunk-NWDSLXOX.js.map +0 -1
  408. package/dist/chunk-OBYKJB4U.js.map +0 -1
  409. package/dist/chunk-PE36IF2D.js.map +0 -1
  410. package/dist/chunk-R7FOF242.js +0 -59
  411. package/dist/chunk-R7FOF242.js.map +0 -1
  412. package/dist/chunk-TRSQP3JD.js.map +0 -1
  413. package/dist/chunk-V7PQZOBR.js.map +0 -1
  414. package/dist/chunk-Y34MSWEZ.js.map +0 -1
  415. package/dist/chunk-YBQONMH2.js.map +0 -1
  416. package/dist/chunk-Z2K6BGUR.js.map +0 -1
  417. package/dist/library-publish-OS3JDW4S.js.map +0 -1
  418. package/dist/open-library-4QSUORI6.js +0 -40
  419. package/dist/open-registry-VCKS3MP5.js +0 -32
  420. package/dist/paths-BVO56A25.js +0 -22
  421. package/dist/plugin-store-X7GPWGBG.js.map +0 -1
  422. package/dist/project-PAXP46RD.js +0 -41
  423. package/dist/source-E4VAT5RZ.js +0 -41
  424. package/dist/source-fetch-github-QN4LLTL5.js +0 -4
  425. package/dist/source-manifest-publish-CLEE6TNH.js.map +0 -1
@@ -1,36 +1,36 @@
1
- import { WorkspacePlugin } from './chunk-5QI2JYJC.js';
2
- import { buildWorkspaceToolDefs } from './chunk-FRPBSUFH.js';
3
- import { findAiAssetsRoot } from './chunk-Y63UQZ7P.js';
4
- import { WebSocketServerTransport } from './chunk-5LKOAX7I.js';
1
+ import { WorkspacePlugin } from './chunk-YQU2BPQD.js';
2
+ import { buildWorkspaceToolDefs } from './chunk-X6LKA3TJ.js';
3
+ import { findAiAssetsRoot } from './chunk-QCEKGYHF.js';
4
+ import { WebSocketServerTransport } from './chunk-OQ5MKDS3.js';
5
5
  import { assembleSystemPrompt, buildCapabilitiesPromptSection } from './chunk-W3UDISS2.js';
6
- import { prepareNativePolicy, codexInstanceEnvironment, parseCodexCredential, parseCodexRefreshInput, parseCodexRefreshResult } from './chunk-NWDSLXOX.js';
7
- import { resolveFlowPath } from './chunk-IJHH4DSW.js';
8
- import { findAiAssetsRoot as findAiAssetsRoot$1, deployCatalogEntry, undeployCatalogEntry } from './chunk-HOHUEKES.js';
9
- import { ConnectFailureCarryOver, registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, buildSdkConnectorTools, buildLazySdkFlowTools, describeFlowOperations, buildConnectorToolDefs, buildFlowToolDefs, SessionNodeExecutor, SessionSubpromptRunner, ClassifierSubpromptRunner, SessionInlineSubFlowRunner, driveOrchestratorTurn, buildSdkFlowTools } from './chunk-7CR6HT2X.js';
10
- import { loadYamlConnectorDeclarations, withMaterializedConnectorDeclarations, SecretProviderChain, ConnectorStartupError, isKnownSecretRef, EnvSecretProvider, PreMintedSecretProvider, InMemorySecretProvider, resolvedConfigToDeclarations, deriveSingleMaterializedConnectorDeclaration } from './chunk-V5TZH4GF.js';
11
- import { EventNormalizer } from './chunk-OBVJ7RPW.js';
12
- import { probeResumeTranscript, transcriptStoreForRuntime } from './chunk-QG3HOJEK.js';
6
+ import { prepareNativePolicy, codexInstanceEnvironment, parseCodexCredential, parseCodexRefreshInput, parseCodexRefreshResult } from './chunk-PHRNUTSG.js';
7
+ import { resolveFlowPath } from './chunk-2X3JBVGD.js';
8
+ import { findAiAssetsRoot as findAiAssetsRoot$1, deployCatalogEntry, undeployCatalogEntry } from './chunk-DCHQ6BAZ.js';
9
+ import { ConnectFailureCarryOver, registerBuiltinConnectors, buildConnectorPromptSection, findMissingPackages, installNpmPackages, ConnectorManager, buildSdkConnectorTools, buildLazySdkFlowTools, describeFlowOperations, buildConnectorToolDefs, buildFlowToolDefs, SessionNodeExecutor, SessionSubpromptRunner, ClassifierSubpromptRunner, SessionInlineSubFlowRunner, driveOrchestratorTurn, buildSdkFlowTools } from './chunk-27L6BBAT.js';
10
+ import { loadYamlConnectorDeclarations, withMaterializedConnectorDeclarations, SecretProviderChain, ConnectorStartupError, isKnownSecretRef, EnvSecretProvider, PreMintedSecretProvider, InMemorySecretProvider, resolvedConfigToDeclarations, deriveSingleMaterializedConnectorDeclaration } from './chunk-ICIYSJBQ.js';
11
+ import { EventNormalizer } from './chunk-NDF24LYP.js';
12
+ import { probeResumeTranscript, transcriptStoreForRuntime } from './chunk-2JFIFDDO.js';
13
13
  import { CodexNativeStateUnavailable } from './chunk-LOO5CB5M.js';
14
14
  import { dispatchCapability } from './chunk-2H73V6XR.js';
15
15
  import { classifyClaudeSdkError } from './chunk-B4X2N7JQ.js';
16
16
  import { agentExecRequested } from './chunk-YROR332M.js';
17
- import { driverCapabilities, toAgentEffort, createDriver, catalogLayer, providerCredentialEnvName, toMergedRegistry, registryCredentialEnv, AI_PROVIDER_PRESETS, supportsLiveToolUpdates } from './chunk-HJ5MCB3L.js';
18
- import { loadFlow } from './chunk-7I5VRVDP.js';
19
- import { parseFlowDefinition } from './chunk-MGGFBZWA.js';
17
+ import { unresolvedProviderCredentials, driverCapabilities, toAgentEffort, createDriver, catalogLayer, providerCredentialEnvName, toMergedRegistry, registryCredentialEnv, AI_PROVIDER_PRESETS, supportsLiveToolUpdates } from './chunk-MF54ZHWT.js';
18
+ import { loadFlow } from './chunk-7XWUJC3A.js';
19
+ import { parseFlowDefinition } from './chunk-X3RMRJNR.js';
20
20
  import { renderStimulusPrompt } from './chunk-M3WPBTGJ.js';
21
21
  import { TERMINAL_AGENT_RUN_STATUSES, withActivityLabelJsonSchema, TOOL_ACTIVITY_PROMPT_SECTION, SESSION_ROOT_CONNECTOR_ID, PLATFORM_BLOCKS_RUNTIME_FEATURE, PROTOCOL_VERSION, deliveryClassOf } from './chunk-F4NJDSR7.js';
22
- import { knowledgeKindProvider, scanLibraryRoot } from './chunk-3BEY4WK3.js';
23
- import { createDefaultKindRegistry } from './chunk-GEWAIQZ5.js';
24
- import { BindingSchema, effectiveComposes, AgentManifestSchema, AgentTriggerSchema } from './chunk-32XKCNCL.js';
25
- import { readLock, buildAgentPromptSections, resolveSettings, loadProviderRegistry, resolveLibraryDir } from './chunk-2FMEGSBN.js';
26
- import { resolveRuntimeAssets } from './chunk-GFCXNFTW.js';
22
+ import { knowledgeKindProvider, scanLibraryRoot } from './chunk-C3BMXXTN.js';
23
+ import { createDefaultKindRegistry } from './chunk-7CR2OZPA.js';
24
+ import { BindingSchema, effectiveComposes, AgentManifestSchema, AgentTriggerSchema } from './chunk-6VLHITAM.js';
25
+ import { readLock, buildAgentPromptSections, resolveSettings, loadProviderRegistry, resolveLibraryDir } from './chunk-T5TSLSRO.js';
26
+ import { resolveRuntimeAssets } from './chunk-SHQMPGOL.js';
27
27
  import { DEFAULT_DRIVER_ID, resolveDriverPaths } from './chunk-5BEFNLOR.js';
28
- import { matchPin, DEFAULT_AGENT_INSTANCE_ID, effectiveAgentInstances, resolveSkWorkspaceConfig, resolveAgentDir, loadMcpServerDeclarations, COMPACTION_DEFAULTS, resolveCompactionThresholdPercent, getGlobalCacheDir, sourceCacheKey, resolveAgentDefinitionDir, AgentRefResolutionError, validateAssetRecipeAttr, deriveSingleMaterializedMcpDeclaration, stageMaterializedSkills, readSkillAllowList, isStagedSkillMarkerFor, unstageSkill, STAGED_SKILL_MARKER } from './chunk-JZCSNEHK.js';
28
+ import { matchPin, DEFAULT_AGENT_INSTANCE_ID, effectiveAgentInstances, resolveSkWorkspaceConfig, resolveAgentDir, loadMcpServerDeclarations, COMPACTION_DEFAULTS, resolveCompactionThresholdPercent, getGlobalCacheDir, sourceCacheKey, resolveAgentDefinitionDir, AgentRefResolutionError, validateAssetRecipeAttr, deriveSingleMaterializedMcpDeclaration, stageMaterializedSkills, readSkillAllowList, isStagedSkillMarkerFor, unstageSkill, STAGED_SKILL_MARKER } from './chunk-PNOGX36L.js';
29
29
  import { globalSkaileDir } from './chunk-L5VSIPQD.js';
30
30
  import { driverTargetForDriver, SUPPORTED_DRIVER_TARGETS, DRIVER_TARGETS } from './chunk-CPSIPIX7.js';
31
- import { withFsDeadline, FsDeadlineError, fsDeadlineMs, parseFrontmatter, tryWithFsDeadline } from './chunk-Y34MSWEZ.js';
32
- import { parseAssetRef } from './chunk-4OV5DSBB.js';
33
- import { resolveLogStoreConfig, createLogStoreFromConfig, OnLogBridgeSink, WsLogSink, resolveLogsRetention, enforceLogsRetention } from './chunk-DALV4HHP.js';
31
+ import { withFsDeadline, FsDeadlineError, fsDeadlineMs, parseFrontmatter, tryWithFsDeadline } from './chunk-XTVSNWLL.js';
32
+ import { parseAssetRef } from './chunk-PNTXHTBC.js';
33
+ import { resolveLogStoreConfig, createLogStoreFromConfig, OnLogBridgeSink, WsLogSink, resolveLogsRetention, enforceLogsRetention } from './chunk-DKXNKFKP.js';
34
34
  import { pickRegistryEntries, registryEntries, resolveEntryBaseUrl, parseModelRef, isEntryEnabled, parseCredentialRef } from './chunk-MJHSLODD.js';
35
35
  import { getLogStore, registerLogStore, createLogger, resetLogStore, isUnwritableStreamError, markStreamBroken, isBrokenPipeError, redactCredentials } from './chunk-BOFL7GIF.js';
36
36
  import { __require } from './chunk-NSBPE2FW.js';
@@ -61,6 +61,39 @@ import mime from 'mime';
61
61
  import { homedir } from 'os';
62
62
  import { Worker } from 'worker_threads';
63
63
 
64
+ // runner/src/final-text.ts
65
+ function messageText(message) {
66
+ if (!message) return "";
67
+ if (typeof message.content === "string") return message.content;
68
+ if (!Array.isArray(message.content)) return "";
69
+ return message.content.filter((block) => block.type === "text" && block.text).map((block) => block.text).join("");
70
+ }
71
+ function createFinalTextFallback(write) {
72
+ let streamed = false;
73
+ return (event) => {
74
+ if (event.type === "message_start") {
75
+ streamed = false;
76
+ } else if (event.type === "message_update") {
77
+ if (event._textDelta) streamed = true;
78
+ } else if (event.type === "message_end") {
79
+ const hadStream = streamed;
80
+ streamed = false;
81
+ if (hadStream || event.message?.role !== "assistant") return;
82
+ const text2 = messageText(event.message);
83
+ if (text2) write(text2);
84
+ }
85
+ };
86
+ }
87
+
88
+ // runner/src/credential-notice.ts
89
+ function unresolvedCredentialNotices(session) {
90
+ if (session.driverType !== "omp") return [];
91
+ return unresolvedProviderCredentials(session.registry, {
92
+ env: { ...process.env, ...session.credentialEnv }
93
+ }).map(
94
+ (u) => `provider '${u.providerId}' is not used: ${u.reason}; omp falls back to its own login (check with \`skaile providers test ${u.providerId}\`)`
95
+ );
96
+ }
64
97
  var PreInitRingSink = class {
65
98
  ring = [];
66
99
  cap;
@@ -1138,12 +1171,31 @@ async function resolveItem(item, binding, source, compileManifest, runSnapshot,
1138
1171
  item.ref
1139
1172
  );
1140
1173
  }
1174
+ if (implicit) await assertConventionItemUnedited(item, compiled2, source);
1141
1175
  return asResolved(item, binding, compiled2, "compiled");
1142
1176
  }
1143
- if (binding === "discoverable" && compiled2)
1177
+ if (binding === "discoverable" && compiled2) {
1178
+ if (implicit) await assertConventionItemUnedited(item, compiled2, source);
1144
1179
  return asResolved(item, binding, compiled2, "compiled");
1180
+ }
1145
1181
  return fromSource(item, binding, source);
1146
1182
  }
1183
+ async function assertConventionItemUnedited(item, compiled2, source) {
1184
+ let live;
1185
+ try {
1186
+ live = await source.load(item.ref, item.kind);
1187
+ } catch (err) {
1188
+ if (err instanceof CompositionError && err.code === "composition_asset_missing") return;
1189
+ throw err;
1190
+ }
1191
+ if (live.sha256 === compiled2.hash) return;
1192
+ throw new CompositionError(
1193
+ "composition_conflict",
1194
+ "hash_mismatch",
1195
+ `"${item.ref}" (${item.kind}): the file hashes to ${live.sha256.slice(0, 12)}\u2026 but compile_manifest.json records ${compiled2.hash.slice(0, 12)}\u2026 \u2014 it was edited after \`skaile rebuild\`; run \`skaile rebuild\` to pin the edit or restore the file with \`skaile install\``,
1196
+ item.ref
1197
+ );
1198
+ }
1147
1199
  async function resolveSubagentItem(item, binding, source, compileManifest, runSnapshot) {
1148
1200
  const captured = findEntry(runSnapshot?.items, item, void 0);
1149
1201
  if (captured) return asResolved(item, binding, captured, "run-snapshot");
@@ -3671,7 +3723,11 @@ function nestedLauncher(deps) {
3671
3723
  agentDir: target.agentDir,
3672
3724
  sessionId: ctx.run.sessionId,
3673
3725
  ...Number.isFinite(maxTurns) ? { maxTurns } : {},
3674
- ...modelPreferred ? { modelRef: modelPreferred } : {}
3726
+ // `model` is what the primary session hands the driver (`--model`); a registry
3727
+ // session resolves `modelRef` first. Both are set, so the role runs on its own
3728
+ // `model.preferred` whether or not a provider registry is configured, not on the
3729
+ // parent's model or the driver default.
3730
+ ...modelPreferred ? { model: modelPreferred, modelRef: modelPreferred } : {}
3675
3731
  });
3676
3732
  const release2 = async () => {
3677
3733
  session.driver.kill();
@@ -3869,9 +3925,12 @@ async function createStandaloneAgentSurface(opts) {
3869
3925
 
3870
3926
  // runner/src/composition/prompt-sections.ts
3871
3927
  function buildRunnerAgentSections(resolved, promptExtensions) {
3928
+ const blocks = resolved?.inlineBlocks ?? [];
3929
+ const duties = blocks.filter((block) => block.implicit && block.kind === "prompt").map((block) => block.content.trim()).filter(Boolean).join("\n\n");
3872
3930
  return buildAgentPromptSections({
3873
3931
  memory: resolved?.memoryBlocks ?? [],
3874
- composed: (resolved?.inlineBlocks ?? []).filter((block) => !block.implicit).map((block) => ({ text: block.content, source: block.ref })),
3932
+ duties,
3933
+ composed: blocks.filter((block) => !block.implicit).map((block) => ({ text: block.content, source: block.ref })),
3875
3934
  promptExtensions: promptExtensions.map((e) => ({ text: e.value, source: e.source }))
3876
3935
  });
3877
3936
  }
@@ -3918,6 +3977,9 @@ function buildContextSection(context) {
3918
3977
  return lines.join("\n");
3919
3978
  }
3920
3979
  var execFileAsync = promisify(execFile);
3980
+ function runsInContainer() {
3981
+ return existsSync("/.dockerenv") || existsSync("/run/.containerenv") || process.env.KUBERNETES_SERVICE_HOST !== void 0;
3982
+ }
3921
3983
  var PROBE_TIMEOUT_MS = 1500;
3922
3984
  var VERSION_PROBES = [
3923
3985
  { label: "Python", bin: "python3", args: ["--version"] },
@@ -3976,7 +4038,7 @@ async function buildEnvironmentSection(projectDir) {
3976
4038
  const lines = [
3977
4039
  "## Environment",
3978
4040
  "",
3979
- "You are running inside an isolated container with the following tools available:",
4041
+ runsInContainer() ? "You are running inside an isolated container with the following tools available:" : "You are running on the user's machine with the following tools available:",
3980
4042
  ""
3981
4043
  ];
3982
4044
  if (runtimes.length > 0) {
@@ -6477,20 +6539,26 @@ async function runAgentChat(opts) {
6477
6539
  throw error;
6478
6540
  }
6479
6541
  const driver = agentSession.driver;
6542
+ for (const notice of unresolvedCredentialNotices(agentSession)) {
6543
+ console.error(` ${pc.yellow("!")} ${notice}`);
6544
+ }
6480
6545
  await driver.start();
6481
6546
  let firstChunk = true;
6482
6547
  const mdStream = new MarkdownStreamer();
6548
+ const writeText = (text2) => {
6549
+ if (firstChunk) {
6550
+ process.stdout.write(PROMPT_AGENT);
6551
+ firstChunk = false;
6552
+ }
6553
+ mdStream.write(text2);
6554
+ };
6555
+ const printUnstreamed = createFinalTextFallback(writeText);
6483
6556
  driver.on("agent-event", (event) => {
6484
6557
  opts.onEvent?.(event);
6558
+ printUnstreamed(event);
6485
6559
  if (event.type === "message_update") {
6486
6560
  const delta = event._textDelta;
6487
- if (delta) {
6488
- if (firstChunk) {
6489
- process.stdout.write(PROMPT_AGENT);
6490
- firstChunk = false;
6491
- }
6492
- mdStream.write(delta);
6493
- }
6561
+ if (delta) writeText(delta);
6494
6562
  } else if (event.type === "message_retract") {
6495
6563
  mdStream.retract(event.text);
6496
6564
  }
@@ -6503,14 +6571,17 @@ ${message}`;
6503
6571
  }
6504
6572
  try {
6505
6573
  await new Promise((resolve4, reject) => {
6574
+ let settled = false;
6506
6575
  const onEvent = (event) => {
6507
6576
  if (event.type === "agent_end") {
6577
+ settled = true;
6508
6578
  driver.off("agent-event", onEvent);
6509
6579
  mdStream.end();
6510
6580
  process.stdout.write("\n");
6511
6581
  driver.kill();
6512
6582
  resolve4();
6513
6583
  } else if (event.type === "error" && event.retrying !== true) {
6584
+ settled = true;
6514
6585
  driver.off("agent-event", onEvent);
6515
6586
  const err = Object.assign(new Error(String(event.error)), {
6516
6587
  detail: event.detail
@@ -6522,6 +6593,8 @@ ${message}`;
6522
6593
  };
6523
6594
  driver.on("agent-event", onEvent);
6524
6595
  driver.prompt(message).catch((err) => {
6596
+ if (settled) return;
6597
+ settled = true;
6525
6598
  driver.off("agent-event", onEvent);
6526
6599
  chatLog.error("prompt failed", err);
6527
6600
  driver.kill();
@@ -6671,6 +6744,38 @@ function deliveryFor(item, binding, target) {
6671
6744
  }
6672
6745
  return "unsupported";
6673
6746
  }
6747
+
6748
+ // runner/src/composition/verify.ts
6749
+ async function verifyConventionItems(opts) {
6750
+ const compileManifest = await loadCompileManifestFromDir(opts.agentDir);
6751
+ if (!compileManifest) return [];
6752
+ const files = await hashAgentFiles(opts.agentDir);
6753
+ const items = effectiveComposes(
6754
+ [],
6755
+ files.map((f) => f.path)
6756
+ );
6757
+ const source = createCompositionContentSource({
6758
+ agentDir: opts.agentDir,
6759
+ projectDir: opts.projectDir,
6760
+ registry: opts.registry
6761
+ });
6762
+ const drifted = [];
6763
+ for (const item of items) {
6764
+ const binding = resolveBinding(item);
6765
+ if (binding === "inline-live") continue;
6766
+ const compiled2 = compileManifest.entries.find(
6767
+ (e) => e.asset_ref === item.ref && e.kind === item.kind && e.binding === binding
6768
+ );
6769
+ if (!compiled2) continue;
6770
+ try {
6771
+ await assertConventionItemUnedited(item, compiled2, source);
6772
+ } catch (err) {
6773
+ if (err instanceof CompositionError) drifted.push(err);
6774
+ else throw err;
6775
+ }
6776
+ }
6777
+ return drifted;
6778
+ }
6674
6779
  var ResourceOperationError = class extends Error {
6675
6780
  constructor(message, code) {
6676
6781
  super(message);
@@ -7393,6 +7498,20 @@ async function handleSessionRootResourceRequest(command, rootDir, emit) {
7393
7498
  }
7394
7499
  async function dispatchResourceRequest(command, deps) {
7395
7500
  const { resourceManager, projectDir, emit } = deps;
7501
+ if (typeof command.connectorId !== "string" && "resourceId" in command) {
7502
+ const aliased = command.resourceId;
7503
+ if (typeof aliased === "string") command = { ...command, connectorId: aliased };
7504
+ }
7505
+ if (typeof command.connectorId !== "string" || command.connectorId.length === 0) {
7506
+ emit({
7507
+ type: "resource_response",
7508
+ requestId: command.requestId,
7509
+ resourceId: "",
7510
+ operation: command.operation,
7511
+ error: "resource_request needs a string `connectorId` (the connector or mount id)"
7512
+ });
7513
+ return;
7514
+ }
7396
7515
  if (command.connectorId === SESSION_ROOT_CONNECTOR_ID) {
7397
7516
  await handleSessionRootResourceRequest(command, projectDir, emit);
7398
7517
  return;
@@ -7793,6 +7912,38 @@ function movedOffBlockedSeat(blockedConfigId, outcome) {
7793
7912
  return outcome.configId !== blockedConfigId;
7794
7913
  }
7795
7914
 
7915
+ // runner/src/usage-limit-turn-hold.ts
7916
+ var UNKNOWN_RESET_HOLD_MS = 60 * 60 * 1e3;
7917
+ function holdUntil(nowMs, resetsAt) {
7918
+ if (resetsAt !== void 0 && resetsAt > 1e9 && resetsAt < 1e11) {
7919
+ return resetsAt * 1e3;
7920
+ }
7921
+ return nowMs + UNKNOWN_RESET_HOLD_MS;
7922
+ }
7923
+ function createUsageLimitTurnHold(opts = {}) {
7924
+ const now = opts.now ?? Date.now;
7925
+ let heldUntil = null;
7926
+ const isHeld = () => {
7927
+ if (heldUntil !== null && now() >= heldUntil) heldUntil = null;
7928
+ return heldUntil !== null;
7929
+ };
7930
+ return {
7931
+ noteLimitFailover: (switched, resetsAt) => {
7932
+ heldUntil = switched ? null : holdUntil(now(), resetsAt);
7933
+ },
7934
+ release: () => {
7935
+ heldUntil = null;
7936
+ },
7937
+ admit: (stimulus) => {
7938
+ if (!isHeld()) return true;
7939
+ if (stimulus.kind === "state_changed") return false;
7940
+ heldUntil = null;
7941
+ return true;
7942
+ },
7943
+ isHeld
7944
+ };
7945
+ }
7946
+
7796
7947
  // runner/src/provider-quota-forwarder.ts
7797
7948
  function createProviderQuotaForwarder(deps) {
7798
7949
  const now = deps.now ?? (() => /* @__PURE__ */ new Date());
@@ -12428,6 +12579,7 @@ async function startAgentServer(opts) {
12428
12579
  projectDir: opts.projectDir,
12429
12580
  yamlBlock: wsConfig.logging,
12430
12581
  onLog: opts.onLog,
12582
+ ...opts.stdout === void 0 ? {} : { stdout: opts.stdout },
12431
12583
  // Broker mode has no host-side trim of this file; see logging-bootstrap.ts.
12432
12584
  enforceRetention: true
12433
12585
  });
@@ -12440,6 +12592,11 @@ async function startAgentServer(opts) {
12440
12592
  serverLog.info("ws auth token", {
12441
12593
  source: opts.authToken ? "caller" : takenAuthToken.source
12442
12594
  });
12595
+ if (!opts.transport && !authToken) {
12596
+ serverLog.warn(
12597
+ `WARNING: the WebSocket server on port ${opts.port ?? 8080} listens on ${opts.host ?? "all interfaces"} without authentication: any host that can reach the port can drive this agent. Set SKAILE_WS_AUTH_TOKEN, or bind 127.0.0.1 with --host.`
12598
+ );
12599
+ }
12443
12600
  if (takenAuthToken.unlinkError)
12444
12601
  serverLog.warn("ws auth token file could not be removed", {
12445
12602
  code: takenAuthToken.unlinkError
@@ -12470,7 +12627,12 @@ async function startAgentServer(opts) {
12470
12627
  } else {
12471
12628
  serverLog.warn("no agent definition found in skaile.yaml");
12472
12629
  }
12473
- const transport = opts.transport ?? new WebSocketServerTransport({ port, onLog: log, ...authToken ? { authToken } : {} });
12630
+ const transport = opts.transport ?? new WebSocketServerTransport({
12631
+ port,
12632
+ onLog: log,
12633
+ ...opts.host ? { host: opts.host } : {},
12634
+ ...authToken ? { authToken } : {}
12635
+ });
12474
12636
  logStore.addSink(
12475
12637
  new WsLogSink({
12476
12638
  send: (event) => {
@@ -12597,6 +12759,7 @@ async function startAgentServer(opts) {
12597
12759
  return { ok: false, code: "backend-error", message: errMsg };
12598
12760
  }
12599
12761
  }
12762
+ const usageLimitTurnHold = createUsageLimitTurnHold();
12600
12763
  const providerQuotaForwarder = createProviderQuotaForwarder({
12601
12764
  getConfigId: () => aiProviderConfigId,
12602
12765
  send: sendEvent,
@@ -12608,6 +12771,7 @@ async function startAgentServer(opts) {
12608
12771
  setConfigId: (next) => {
12609
12772
  aiProviderConfigId = next;
12610
12773
  providerQuotaForwarder.reset();
12774
+ usageLimitTurnHold.release();
12611
12775
  const live = sessionConfig;
12612
12776
  if (live) live.aiProviderConfigId = next;
12613
12777
  },
@@ -12630,8 +12794,10 @@ async function startAgentServer(opts) {
12630
12794
  rejection: "usage-limit"
12631
12795
  });
12632
12796
  if (outcome.switched || movedOffBlockedSeat(ctx.configId, outcome)) {
12797
+ usageLimitTurnHold.noteLimitFailover(true);
12633
12798
  return { switched: true, ...outcome.configId ? { configId: outcome.configId } : {} };
12634
12799
  }
12800
+ usageLimitTurnHold.noteLimitFailover(false, ctx.resetsAt);
12635
12801
  return {
12636
12802
  switched: false,
12637
12803
  ...outcome.configId ? { configId: outcome.configId } : {},
@@ -13382,6 +13548,12 @@ async function startAgentServer(opts) {
13382
13548
  return;
13383
13549
  }
13384
13550
  const stimulus = stimulusFromMetas(metas);
13551
+ if (!usageLimitTurnHold.admit(stimulus)) {
13552
+ serverLog.warn("flow turn held: the last turn hit a usage limit no seat covers", {
13553
+ runId: entry.runId
13554
+ });
13555
+ return;
13556
+ }
13385
13557
  await entry.adapter.drainRuntimeNodes(entry.handle);
13386
13558
  const execution = entry.adapter.getExecution(entry.handle);
13387
13559
  if (!entry.adapter.shouldDriveAgentTurn(entry.handle, stimulus)) return;
@@ -14216,9 +14388,11 @@ async function startAgentServer(opts) {
14216
14388
  agentVersion: PROTOCOL_VERSION,
14217
14389
  platformVersion: cmd.protocolVersion
14218
14390
  });
14391
+ runtimeRejected = true;
14219
14392
  await cleanup();
14220
14393
  teardownProcessHandlers();
14221
14394
  disposeLogStore();
14395
+ await transport.close();
14222
14396
  return;
14223
14397
  }
14224
14398
  try {
@@ -14589,6 +14763,7 @@ async function startAgentServer(opts) {
14589
14763
  }
14590
14764
  }
14591
14765
  sendEvent({ type: "status", phase: "thinking" });
14766
+ usageLimitTurnHold.release();
14592
14767
  const carried = pendingFlowPlatformBlocks.splice(0);
14593
14768
  const blocks = [
14594
14769
  ...carried,
@@ -14975,6 +15150,19 @@ async function startAgentServer(opts) {
14975
15150
  case "capability_approve":
14976
15151
  handleCapabilityApprove(cmd);
14977
15152
  break;
15153
+ default: {
15154
+ const raw = cmd;
15155
+ const unknownType = typeof raw === "object" && raw !== null && "type" in raw ? raw.type : void 0;
15156
+ const label = typeof unknownType === "string" ? `"${unknownType}"` : "(no type)";
15157
+ const hint = unknownType === "state_action" ? " `state_action` was removed in protocol v3; use the runner.set_state capability." : "";
15158
+ log(`[serve] dropping unknown command ${label}`);
15159
+ sendEvent({
15160
+ type: "error",
15161
+ fatal: false,
15162
+ category: "validation",
15163
+ message: `Unknown command ${label}: this runner does not handle it.${hint}`
15164
+ });
15165
+ }
14978
15166
  }
14979
15167
  }
14980
15168
  transport.onCommand((cmd) => {
@@ -14990,6 +15178,20 @@ async function startAgentServer(opts) {
14990
15178
  replayed: true
14991
15179
  });
14992
15180
  });
15181
+ transport.onConnect(() => {
15182
+ if (managedHost && !managedBootstrapClosed)
15183
+ sendEvent({
15184
+ type: "protocol_info",
15185
+ version: PROTOCOL_VERSION,
15186
+ runtimeFeatures: supportedRuntimeFeatures
15187
+ });
15188
+ else if (initAcknowledged && sessionReadyOutcome !== "rejected")
15189
+ sendEvent({
15190
+ type: "protocol_info",
15191
+ version: PROTOCOL_VERSION,
15192
+ runtimeFeatures: supportedRuntimeFeatures
15193
+ });
15194
+ });
14993
15195
  transport.onConnect(() => {
14994
15196
  if (!eventGapBuffer.hasPending) return;
14995
15197
  if (!initAcknowledged || sessionReadyOutcome === "rejected") {
@@ -15012,20 +15214,6 @@ async function startAgentServer(opts) {
15012
15214
  if (!initAcknowledged || managedCodex || aiProviderConfigId === void 0) return;
15013
15215
  aiCredentialRefreshScheduler.ensureArmed();
15014
15216
  });
15015
- transport.onConnect(() => {
15016
- if (managedHost && !managedBootstrapClosed)
15017
- sendEvent({
15018
- type: "protocol_info",
15019
- version: PROTOCOL_VERSION,
15020
- runtimeFeatures: supportedRuntimeFeatures
15021
- });
15022
- else if (initAcknowledged && sessionReadyOutcome !== "rejected")
15023
- sendEvent({
15024
- type: "protocol_info",
15025
- version: PROTOCOL_VERSION,
15026
- runtimeFeatures: supportedRuntimeFeatures
15027
- });
15028
- });
15029
15217
  await transport.listen();
15030
15218
  if (secretsMode === "env" && agentSession) {
15031
15219
  agentSession.startWatching();
@@ -15232,6 +15420,6 @@ function touchSession(state) {
15232
15420
  return { ...state, updatedAt: (/* @__PURE__ */ new Date()).toISOString() };
15233
15421
  }
15234
15422
 
15235
- export { AgentRunError, CLAUDE_CODE_CREDENTIALS_KEY, COMPILE_MANIFEST_FILENAME, CONNECTOR_MUTATE_NOT_READY, CapabilityRegistry, CompileManifestEntrySchema, CompositionError, DEFAULT_CAPABILITY_CALL_TIMEOUT_MS, DEFAULT_COALESCE_MS, DEFAULT_FLOW_MUTATE_CONNECTOR_WAIT_MS, DEFAULT_MAX_FINISHED_TREES, DEFAULT_RUN_LIMITS, MOUNT_LIST_MAX_DEPTH, MOUNT_LIST_MAX_ENTRIES, MOUNT_READ_DEADLINE_FACTOR, MOUNT_READ_MAX_CHUNK_BYTES, MOUNT_STAT_BUDGET_MS, MOUNT_STAT_MAX_ENTRIES, MOUNT_TREE_OP_DEADLINE_FACTOR, MOUNT_WRITE_MAX_CHUNK_BYTES, MarkdownStreamer, PreInitRingSink, ResourceOperationError, SESSION_ROOT_WRITABLE_DIRS, SESSION_ROOT_WRITABLE_FILES, UnknownCompositionKindError, WRITE_RANGE_PARTIAL_TTL_MS, WS_AUTH_TOKEN_ENV, WS_AUTH_TOKEN_FILE_ENV, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildCompositionRunSnapshot, buildConnectorTokenMediator, buildContextSection, buildEnvironmentSection, buildResourcesAvailablePayload, buildRunnerAgentSections, buildStoreSnapshotReplay, builtinCapabilities, canonicalJson, capabilityLogInstance, capabilitySignatureInputs, clearPreInitRingSink, clearSession, compileComposition, compositionRunSnapshotPath, computeCapabilitySignature, computeDirectoryTotals, computeRevisionHash, connectorRefreshKind, createAgentSession, createCompositionContentSource, createFlowConnectorReadiness, createInMemoryRunStore, createManagedCodexSubpromptDriver, createRunController, createSessionStimulusBus, defineCapability, deleteSession, describeComposition, dispatchResourceRequest, dispatchRunnerCapabilityInvocation, driverActiveAfterTurnEnd, emitSystemPromptComposed, ensureClaudeSettingsDisablesConnectors, ensureGitConfigInclude, executeConnectorMutate, extractClaudeAiOauthExpiresAt, flowStartNeedsDriverRestart, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, handleSessionRootResourceRequest, hasNonTerminalFlow, hashAgentFiles, hashContent, hostOpResumeStimulus, installPreInitRingSink, instanceForSession, isCompositionError, isEmptyKnowledgeIndex, isSessionRootPathAllowed, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadCompositionRunSnapshot, loadKnowledgeDir, loadManagedCodexHostConfig, loadSession, loadSessionById, mcpAuthSecretKey, newSession, nulTailPaddingLength, pickChatFlowTarget, pickFlowToolTarget, pickRepointedManager, planFlowMutate, prepareCodexTools, reconcilePendingDecisions, reconnectedRunNeedsAgentTurn, recreateKeepingLiveFlows, registerActiveFlow, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, rejectPendingCapabilityCallsOnDisconnect, resetRunnerLogStore, resolveAgentInstance, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveFlowMutateConnectorWaitMs, resolveMixin, restoredRunHasWorkToResume, runAgentChat, saveCompositionRunSnapshot, saveSession, setCurrentSession, setUpFlowConnector, startAgentServer, stimulusFromMetas, stripFrontmatter, takeRunnerWsAuthToken, toActiveFlowTarget, touchSession, validateInputResponse, writeClaudeCodeCredentialsFile, writeRangeChunk, writeRangePartialPath };
15236
- //# sourceMappingURL=chunk-NRDSGLCQ.js.map
15237
- //# sourceMappingURL=chunk-NRDSGLCQ.js.map
15423
+ export { AgentRunError, CLAUDE_CODE_CREDENTIALS_KEY, COMPILE_MANIFEST_FILENAME, CONNECTOR_MUTATE_NOT_READY, CapabilityRegistry, CompileManifestEntrySchema, CompositionError, DEFAULT_CAPABILITY_CALL_TIMEOUT_MS, DEFAULT_COALESCE_MS, DEFAULT_FLOW_MUTATE_CONNECTOR_WAIT_MS, DEFAULT_MAX_FINISHED_TREES, DEFAULT_RUN_LIMITS, MOUNT_LIST_MAX_DEPTH, MOUNT_LIST_MAX_ENTRIES, MOUNT_READ_DEADLINE_FACTOR, MOUNT_READ_MAX_CHUNK_BYTES, MOUNT_STAT_BUDGET_MS, MOUNT_STAT_MAX_ENTRIES, MOUNT_TREE_OP_DEADLINE_FACTOR, MOUNT_WRITE_MAX_CHUNK_BYTES, MarkdownStreamer, PreInitRingSink, ResourceOperationError, SESSION_ROOT_WRITABLE_DIRS, SESSION_ROOT_WRITABLE_FILES, UnknownCompositionKindError, WRITE_RANGE_PARTIAL_TTL_MS, WS_AUTH_TOKEN_ENV, WS_AUTH_TOKEN_FILE_ENV, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildCompositionRunSnapshot, buildConnectorTokenMediator, buildContextSection, buildEnvironmentSection, buildResourcesAvailablePayload, buildRunnerAgentSections, buildStoreSnapshotReplay, builtinCapabilities, canonicalJson, capabilityLogInstance, capabilitySignatureInputs, clearPreInitRingSink, clearSession, compileComposition, compositionRunSnapshotPath, computeCapabilitySignature, computeDirectoryTotals, computeRevisionHash, connectorRefreshKind, createAgentSession, createCompositionContentSource, createFinalTextFallback, createFlowConnectorReadiness, createInMemoryRunStore, createManagedCodexSubpromptDriver, createRunController, createSessionStimulusBus, defineCapability, deleteSession, describeComposition, dispatchResourceRequest, dispatchRunnerCapabilityInvocation, driverActiveAfterTurnEnd, emitSystemPromptComposed, ensureClaudeSettingsDisablesConnectors, ensureGitConfigInclude, executeConnectorMutate, extractClaudeAiOauthExpiresAt, flowStartNeedsDriverRestart, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, handleSessionRootResourceRequest, hasNonTerminalFlow, hashAgentFiles, hashContent, hostOpResumeStimulus, installPreInitRingSink, instanceForSession, isCompositionError, isEmptyKnowledgeIndex, isSessionRootPathAllowed, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadCompositionRunSnapshot, loadKnowledgeDir, loadManagedCodexHostConfig, loadSession, loadSessionById, mcpAuthSecretKey, newSession, nulTailPaddingLength, pickChatFlowTarget, pickFlowToolTarget, pickRepointedManager, planFlowMutate, prepareCodexTools, reconcilePendingDecisions, reconnectedRunNeedsAgentTurn, recreateKeepingLiveFlows, registerActiveFlow, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, rejectPendingCapabilityCallsOnDisconnect, resetRunnerLogStore, resolveAgentInstance, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveFlowMutateConnectorWaitMs, resolveMixin, restoredRunHasWorkToResume, runAgentChat, saveCompositionRunSnapshot, saveSession, setCurrentSession, setUpFlowConnector, startAgentServer, stimulusFromMetas, stripFrontmatter, takeRunnerWsAuthToken, toActiveFlowTarget, touchSession, unresolvedCredentialNotices, validateInputResponse, verifyConventionItems, writeClaudeCodeCredentialsFile, writeRangeChunk, writeRangePartialPath };
15424
+ //# sourceMappingURL=chunk-N5M2EISA.js.map
15425
+ //# sourceMappingURL=chunk-N5M2EISA.js.map