@agentxm/client-core 0.11.0 → 0.11.2

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 (292) hide show
  1. package/dist/src/unstable/agent-capabilities/catalog.generated.d.ts +429 -0
  2. package/dist/src/unstable/agent-capabilities/catalog.generated.d.ts.map +1 -0
  3. package/dist/src/unstable/agent-capabilities/catalog.generated.js +474 -0
  4. package/dist/src/unstable/agent-capabilities/catalog.generated.js.map +1 -0
  5. package/dist/src/unstable/agent-capabilities/derive.d.ts +121 -0
  6. package/dist/src/unstable/agent-capabilities/derive.d.ts.map +1 -0
  7. package/dist/src/unstable/agent-capabilities/derive.js +72 -0
  8. package/dist/src/unstable/agent-capabilities/derive.js.map +1 -0
  9. package/dist/src/unstable/agent-capabilities/index.d.ts +13 -0
  10. package/dist/src/unstable/agent-capabilities/index.d.ts.map +1 -0
  11. package/dist/src/unstable/agent-capabilities/index.js +13 -0
  12. package/dist/src/unstable/agent-capabilities/index.js.map +1 -0
  13. package/dist/src/unstable/agent-capabilities/lookup.d.ts +10 -0
  14. package/dist/src/unstable/agent-capabilities/lookup.d.ts.map +1 -0
  15. package/dist/src/unstable/agent-capabilities/lookup.js +9 -0
  16. package/dist/src/unstable/agent-capabilities/lookup.js.map +1 -0
  17. package/dist/src/unstable/agent-capabilities/schema.d.ts +254 -0
  18. package/dist/src/unstable/agent-capabilities/schema.d.ts.map +1 -0
  19. package/dist/src/unstable/agent-capabilities/schema.js +178 -0
  20. package/dist/src/unstable/agent-capabilities/schema.js.map +1 -0
  21. package/dist/src/unstable/agent-capabilities/standards.d.ts +24 -0
  22. package/dist/src/unstable/agent-capabilities/standards.d.ts.map +1 -0
  23. package/dist/src/unstable/agent-capabilities/standards.js +24 -0
  24. package/dist/src/unstable/agent-capabilities/standards.js.map +1 -0
  25. package/dist/src/unstable/agent-capabilities/validate.d.ts +19 -0
  26. package/dist/src/unstable/agent-capabilities/validate.d.ts.map +1 -0
  27. package/dist/src/unstable/agent-capabilities/validate.js +107 -0
  28. package/dist/src/unstable/agent-capabilities/validate.js.map +1 -0
  29. package/dist/src/unstable/agents/augment/service.d.ts.map +1 -1
  30. package/dist/src/unstable/agents/augment/service.js +12 -1
  31. package/dist/src/unstable/agents/augment/service.js.map +1 -1
  32. package/dist/src/unstable/agents/coding-agent.d.ts +2 -0
  33. package/dist/src/unstable/agents/coding-agent.d.ts.map +1 -1
  34. package/dist/src/unstable/agents/coding-agent.js.map +1 -1
  35. package/dist/src/unstable/agents/command-sync.d.ts.map +1 -1
  36. package/dist/src/unstable/agents/command-sync.js +10 -1
  37. package/dist/src/unstable/agents/command-sync.js.map +1 -1
  38. package/dist/src/unstable/agents/detection.d.ts +4 -4
  39. package/dist/src/unstable/agents/subagent-sync.d.ts.map +1 -1
  40. package/dist/src/unstable/agents/subagent-sync.js +10 -1
  41. package/dist/src/unstable/agents/subagent-sync.js.map +1 -1
  42. package/dist/src/unstable/auth/credential-store.d.ts +1 -1
  43. package/dist/src/unstable/auth/guard-interaction.d.ts +1 -1
  44. package/dist/src/unstable/commands/manager.d.ts +3 -2
  45. package/dist/src/unstable/commands/manager.d.ts.map +1 -1
  46. package/dist/src/unstable/commands/manager.js +43 -20
  47. package/dist/src/unstable/commands/manager.js.map +1 -1
  48. package/dist/src/unstable/commands/operations/disable.d.ts.map +1 -1
  49. package/dist/src/unstable/commands/operations/disable.js +4 -1
  50. package/dist/src/unstable/commands/operations/disable.js.map +1 -1
  51. package/dist/src/unstable/commands/operations/enable.d.ts.map +1 -1
  52. package/dist/src/unstable/commands/operations/enable.js +10 -1
  53. package/dist/src/unstable/commands/operations/enable.js.map +1 -1
  54. package/dist/src/unstable/commands/operations/install.d.ts.map +1 -1
  55. package/dist/src/unstable/commands/operations/install.js +21 -3
  56. package/dist/src/unstable/commands/operations/install.js.map +1 -1
  57. package/dist/src/unstable/commands/operations/new-command.d.ts.map +1 -1
  58. package/dist/src/unstable/commands/operations/new-command.js +11 -1
  59. package/dist/src/unstable/commands/operations/new-command.js.map +1 -1
  60. package/dist/src/unstable/commands/operations/shared-command-helpers.d.ts +8 -5
  61. package/dist/src/unstable/commands/operations/shared-command-helpers.d.ts.map +1 -1
  62. package/dist/src/unstable/commands/operations/shared-command-helpers.js +20 -2
  63. package/dist/src/unstable/commands/operations/shared-command-helpers.js.map +1 -1
  64. package/dist/src/unstable/commands/operations/uninstall.d.ts.map +1 -1
  65. package/dist/src/unstable/commands/operations/uninstall.js +3 -1
  66. package/dist/src/unstable/commands/operations/uninstall.js.map +1 -1
  67. package/dist/src/unstable/commands/paths.d.ts +4 -3
  68. package/dist/src/unstable/commands/paths.d.ts.map +1 -1
  69. package/dist/src/unstable/commands/paths.js +10 -3
  70. package/dist/src/unstable/commands/paths.js.map +1 -1
  71. package/dist/src/unstable/commands/renderers/render-markdown-only.d.ts.map +1 -1
  72. package/dist/src/unstable/commands/renderers/render-markdown-only.js +8 -1
  73. package/dist/src/unstable/commands/renderers/render-markdown-only.js.map +1 -1
  74. package/dist/src/unstable/commands/renderers/render-markdown-with-frontmatter.d.ts.map +1 -1
  75. package/dist/src/unstable/commands/renderers/render-markdown-with-frontmatter.js +8 -1
  76. package/dist/src/unstable/commands/renderers/render-markdown-with-frontmatter.js.map +1 -1
  77. package/dist/src/unstable/commands/renderers/render-plain-text.d.ts.map +1 -1
  78. package/dist/src/unstable/commands/renderers/render-plain-text.js +8 -1
  79. package/dist/src/unstable/commands/renderers/render-plain-text.js.map +1 -1
  80. package/dist/src/unstable/commands/renderers/render-prompt-md.d.ts.map +1 -1
  81. package/dist/src/unstable/commands/renderers/render-prompt-md.js +8 -1
  82. package/dist/src/unstable/commands/renderers/render-prompt-md.js.map +1 -1
  83. package/dist/src/unstable/commands/renderers/render-toml.d.ts.map +1 -1
  84. package/dist/src/unstable/commands/renderers/render-toml.js +2 -1
  85. package/dist/src/unstable/commands/renderers/render-toml.js.map +1 -1
  86. package/dist/src/unstable/commands/renderers/types.d.ts +2 -1
  87. package/dist/src/unstable/commands/renderers/types.d.ts.map +1 -1
  88. package/dist/src/unstable/commands/renderers/types.js.map +1 -1
  89. package/dist/src/unstable/discover/discover.d.ts +1 -1
  90. package/dist/src/unstable/extensions/index.d.ts +1 -0
  91. package/dist/src/unstable/extensions/index.d.ts.map +1 -1
  92. package/dist/src/unstable/extensions/index.js +1 -0
  93. package/dist/src/unstable/extensions/index.js.map +1 -1
  94. package/dist/src/unstable/extensions/managed-file-banner.d.ts +14 -0
  95. package/dist/src/unstable/extensions/managed-file-banner.d.ts.map +1 -0
  96. package/dist/src/unstable/extensions/managed-file-banner.js +39 -0
  97. package/dist/src/unstable/extensions/managed-file-banner.js.map +1 -0
  98. package/dist/src/unstable/extensions/operations.d.ts +2 -0
  99. package/dist/src/unstable/extensions/operations.d.ts.map +1 -1
  100. package/dist/src/unstable/extensions/operations.js +4 -1
  101. package/dist/src/unstable/extensions/operations.js.map +1 -1
  102. package/dist/src/unstable/extensions/rendered-files.d.ts +6 -3
  103. package/dist/src/unstable/extensions/rendered-files.d.ts.map +1 -1
  104. package/dist/src/unstable/extensions/rendered-files.js +6 -2
  105. package/dist/src/unstable/extensions/rendered-files.js.map +1 -1
  106. package/dist/src/unstable/install-meta/install-meta.d.ts +4 -4
  107. package/dist/src/unstable/install-method/install-method.d.ts +3 -3
  108. package/dist/src/unstable/lint/catalog/workspace/configured-but-not-installed.d.ts.map +1 -1
  109. package/dist/src/unstable/lint/catalog/workspace/configured-but-not-installed.js +7 -1
  110. package/dist/src/unstable/lint/catalog/workspace/configured-but-not-installed.js.map +1 -1
  111. package/dist/src/unstable/lint/catalog/workspace/helpers/registry-source.d.ts +2 -1
  112. package/dist/src/unstable/lint/catalog/workspace/helpers/registry-source.d.ts.map +1 -1
  113. package/dist/src/unstable/lint/catalog/workspace/helpers/registry-source.js.map +1 -1
  114. package/dist/src/unstable/lint/catalog/workspace/skills-lockfile-aligned.d.ts.map +1 -1
  115. package/dist/src/unstable/lint/catalog/workspace/skills-lockfile-aligned.js +2 -1
  116. package/dist/src/unstable/lint/catalog/workspace/skills-lockfile-aligned.js.map +1 -1
  117. package/dist/src/unstable/lint/catalog/workspace-read-model/lint-workspace.d.ts.map +1 -1
  118. package/dist/src/unstable/lint/catalog/workspace-read-model/lint-workspace.js +4 -3
  119. package/dist/src/unstable/lint/catalog/workspace-read-model/lint-workspace.js.map +1 -1
  120. package/dist/src/unstable/lockfile/lockfile.d.ts +1 -1
  121. package/dist/src/unstable/lockfile/schema.d.ts +63 -63
  122. package/dist/src/unstable/lockfile/schema.d.ts.map +1 -1
  123. package/dist/src/unstable/lockfile/schema.js +7 -1
  124. package/dist/src/unstable/lockfile/schema.js.map +1 -1
  125. package/dist/src/unstable/mcp-servers/manager.d.ts +1 -1
  126. package/dist/src/unstable/package-urls/companion-package.d.ts.map +1 -1
  127. package/dist/src/unstable/package-urls/companion-package.js +7 -4
  128. package/dist/src/unstable/package-urls/companion-package.js.map +1 -1
  129. package/dist/src/unstable/package-urls/companion-package.spec.js +39 -0
  130. package/dist/src/unstable/package-urls/companion-package.spec.js.map +1 -1
  131. package/dist/src/unstable/package-urls/internal.d.ts.map +1 -1
  132. package/dist/src/unstable/package-urls/internal.js +6 -3
  133. package/dist/src/unstable/package-urls/internal.js.map +1 -1
  134. package/dist/src/unstable/package-urls/vers-range.d.ts +2 -0
  135. package/dist/src/unstable/package-urls/vers-range.d.ts.map +1 -1
  136. package/dist/src/unstable/package-urls/vers-range.js +2 -2
  137. package/dist/src/unstable/package-urls/vers-range.js.map +1 -1
  138. package/dist/src/unstable/packaging/detect.d.ts +1 -1
  139. package/dist/src/unstable/packaging/jsr.d.ts +1 -1
  140. package/dist/src/unstable/packaging/jsr.d.ts.map +1 -1
  141. package/dist/src/unstable/packaging/jsr.js +4 -11
  142. package/dist/src/unstable/packaging/jsr.js.map +1 -1
  143. package/dist/src/unstable/packaging/mojo.d.ts +1 -1
  144. package/dist/src/unstable/packaging/mojo.js +4 -4
  145. package/dist/src/unstable/packaging/mojo.js.map +1 -1
  146. package/dist/src/unstable/packaging/read.d.ts +1 -1
  147. package/dist/src/unstable/packaging/zig.d.ts +1 -1
  148. package/dist/src/unstable/packaging/zig.js +3 -3
  149. package/dist/src/unstable/packaging/zig.js.map +1 -1
  150. package/dist/src/unstable/packs/manager.d.ts +1 -1
  151. package/dist/src/unstable/packs/paths.d.ts +2 -1
  152. package/dist/src/unstable/packs/paths.d.ts.map +1 -1
  153. package/dist/src/unstable/packs/paths.js +2 -1
  154. package/dist/src/unstable/packs/paths.js.map +1 -1
  155. package/dist/src/unstable/plan/resolve-plan.d.ts +1 -1
  156. package/dist/src/unstable/plan/resolve-plan.d.ts.map +1 -1
  157. package/dist/src/unstable/plan/resolve-plan.js +4 -3
  158. package/dist/src/unstable/plan/resolve-plan.js.map +1 -1
  159. package/dist/src/unstable/registry/client.d.ts +1 -1
  160. package/dist/src/unstable/registry/utils.d.ts +1 -1
  161. package/dist/src/unstable/settings/settings.d.ts +1 -1
  162. package/dist/src/unstable/skills/manager.d.ts +1 -1
  163. package/dist/src/unstable/skills/manager.d.ts.map +1 -1
  164. package/dist/src/unstable/skills/manager.js +33 -21
  165. package/dist/src/unstable/skills/manager.js.map +1 -1
  166. package/dist/src/unstable/skills/materialization.d.ts +5 -0
  167. package/dist/src/unstable/skills/materialization.d.ts.map +1 -1
  168. package/dist/src/unstable/skills/materialization.js +28 -3
  169. package/dist/src/unstable/skills/materialization.js.map +1 -1
  170. package/dist/src/unstable/skills/operations/disable.d.ts.map +1 -1
  171. package/dist/src/unstable/skills/operations/disable.js +3 -1
  172. package/dist/src/unstable/skills/operations/disable.js.map +1 -1
  173. package/dist/src/unstable/skills/operations/install.d.ts +1 -1
  174. package/dist/src/unstable/skills/operations/install.d.ts.map +1 -1
  175. package/dist/src/unstable/skills/operations/install.js +16 -4
  176. package/dist/src/unstable/skills/operations/install.js.map +1 -1
  177. package/dist/src/unstable/skills/operations/source-hash.d.ts +1 -1
  178. package/dist/src/unstable/skills/operations/uninstall.d.ts.map +1 -1
  179. package/dist/src/unstable/skills/operations/uninstall.js +3 -1
  180. package/dist/src/unstable/skills/operations/uninstall.js.map +1 -1
  181. package/dist/src/unstable/skills/paths.d.ts +3 -2
  182. package/dist/src/unstable/skills/paths.d.ts.map +1 -1
  183. package/dist/src/unstable/skills/paths.js +9 -2
  184. package/dist/src/unstable/skills/paths.js.map +1 -1
  185. package/dist/src/unstable/source-resolution/providers/git-hosting.d.ts +4 -4
  186. package/dist/src/unstable/source-resolution/providers/registry/host-provider.d.ts +1 -1
  187. package/dist/src/unstable/source-resolution/resolve-identifier.d.ts +1 -1
  188. package/dist/src/unstable/source-resolution/resolve-source.d.ts +1 -1
  189. package/dist/src/unstable/source-resolution/service.d.ts +2 -2
  190. package/dist/src/unstable/sources/lock-entry-to-ref.d.ts +2 -0
  191. package/dist/src/unstable/sources/lock-entry-to-ref.d.ts.map +1 -1
  192. package/dist/src/unstable/sources/lock-entry-to-ref.js +21 -12
  193. package/dist/src/unstable/sources/lock-entry-to-ref.js.map +1 -1
  194. package/dist/src/unstable/sources/source-to-lock-entry.d.ts +2 -0
  195. package/dist/src/unstable/sources/source-to-lock-entry.d.ts.map +1 -1
  196. package/dist/src/unstable/sources/source-to-lock-entry.js +2 -1
  197. package/dist/src/unstable/sources/source-to-lock-entry.js.map +1 -1
  198. package/dist/src/unstable/subagents/lock-entry-builder.d.ts +2 -1
  199. package/dist/src/unstable/subagents/lock-entry-builder.d.ts.map +1 -1
  200. package/dist/src/unstable/subagents/lock-entry-builder.js +3 -2
  201. package/dist/src/unstable/subagents/lock-entry-builder.js.map +1 -1
  202. package/dist/src/unstable/subagents/manager.d.ts +1 -1
  203. package/dist/src/unstable/subagents/manager.d.ts.map +1 -1
  204. package/dist/src/unstable/subagents/manager.js +38 -15
  205. package/dist/src/unstable/subagents/manager.js.map +1 -1
  206. package/dist/src/unstable/subagents/operations/enable.d.ts.map +1 -1
  207. package/dist/src/unstable/subagents/operations/enable.js +24 -6
  208. package/dist/src/unstable/subagents/operations/enable.js.map +1 -1
  209. package/dist/src/unstable/subagents/paths.d.ts +4 -3
  210. package/dist/src/unstable/subagents/paths.d.ts.map +1 -1
  211. package/dist/src/unstable/subagents/paths.js +10 -3
  212. package/dist/src/unstable/subagents/paths.js.map +1 -1
  213. package/dist/src/unstable/subagents/rendering/adapters/json.d.ts.map +1 -1
  214. package/dist/src/unstable/subagents/rendering/adapters/json.js +2 -3
  215. package/dist/src/unstable/subagents/rendering/adapters/json.js.map +1 -1
  216. package/dist/src/unstable/subagents/rendering/adapters/markdown-yaml.d.ts.map +1 -1
  217. package/dist/src/unstable/subagents/rendering/adapters/markdown-yaml.js +2 -3
  218. package/dist/src/unstable/subagents/rendering/adapters/markdown-yaml.js.map +1 -1
  219. package/dist/src/unstable/subagents/rendering/adapters/toml.d.ts.map +1 -1
  220. package/dist/src/unstable/subagents/rendering/adapters/toml.js +2 -3
  221. package/dist/src/unstable/subagents/rendering/adapters/toml.js.map +1 -1
  222. package/dist/src/unstable/subagents/rendering/types.d.ts +2 -2
  223. package/dist/src/unstable/subagents/rendering/types.d.ts.map +1 -1
  224. package/dist/src/unstable/update-check/update-check.d.ts +3 -3
  225. package/dist/src/unstable/utils/build-zip-archive.d.ts +1 -1
  226. package/dist/src/unstable/utils/create-symlink.d.ts +1 -1
  227. package/dist/src/unstable/utils/index.d.ts +2 -1
  228. package/dist/src/unstable/utils/index.d.ts.map +1 -1
  229. package/dist/src/unstable/utils/index.js +2 -1
  230. package/dist/src/unstable/utils/index.js.map +1 -1
  231. package/dist/src/unstable/utils/path-safety.d.ts +12 -0
  232. package/dist/src/unstable/utils/path-safety.d.ts.map +1 -1
  233. package/dist/src/unstable/utils/path-safety.js +18 -0
  234. package/dist/src/unstable/utils/path-safety.js.map +1 -1
  235. package/dist/src/unstable/utils/path-types.d.ts +22 -0
  236. package/dist/src/unstable/utils/path-types.d.ts.map +1 -0
  237. package/dist/src/unstable/utils/path-types.js +48 -0
  238. package/dist/src/unstable/utils/path-types.js.map +1 -0
  239. package/dist/src/unstable/workflows/install-command/workflow.d.ts +1 -1
  240. package/dist/src/unstable/workflows/uninstall-command/workflow.d.ts +1 -1
  241. package/dist/src/unstable/workspace/configured-entry-resolution/resolve.d.ts +5 -5
  242. package/dist/src/unstable/workspace/initialization-interaction.d.ts +1 -1
  243. package/dist/src/unstable/workspace/initialization.d.ts +28 -28
  244. package/dist/src/unstable/workspace/initialization.d.ts.map +1 -1
  245. package/dist/src/unstable/workspace/initialization.js +7 -10
  246. package/dist/src/unstable/workspace/initialization.js.map +1 -1
  247. package/dist/src/unstable/workspace/paths.d.ts +6 -5
  248. package/dist/src/unstable/workspace/paths.d.ts.map +1 -1
  249. package/dist/src/unstable/workspace/paths.js +4 -3
  250. package/dist/src/unstable/workspace/paths.js.map +1 -1
  251. package/dist/src/unstable/workspace/read-model/__fixtures__/occurrences.d.ts.map +1 -1
  252. package/dist/src/unstable/workspace/read-model/__fixtures__/occurrences.js +13 -8
  253. package/dist/src/unstable/workspace/read-model/__fixtures__/occurrences.js.map +1 -1
  254. package/dist/src/unstable/workspace/read-model/__fixtures__/test-layer.d.ts.map +1 -1
  255. package/dist/src/unstable/workspace/read-model/__fixtures__/test-layer.js +4 -3
  256. package/dist/src/unstable/workspace/read-model/__fixtures__/test-layer.js.map +1 -1
  257. package/dist/src/unstable/workspace/read-model/discovery/subagents.d.ts +2 -2
  258. package/dist/src/unstable/workspace/read-model/scanners/agent-dir.d.ts.map +1 -1
  259. package/dist/src/unstable/workspace/read-model/scanners/agent-dir.js +7 -4
  260. package/dist/src/unstable/workspace/read-model/scanners/agent-dir.js.map +1 -1
  261. package/dist/src/unstable/workspace/read-model/scanners/agent-settings.d.ts.map +1 -1
  262. package/dist/src/unstable/workspace/read-model/scanners/agent-settings.js +2 -1
  263. package/dist/src/unstable/workspace/read-model/scanners/agent-settings.js.map +1 -1
  264. package/dist/src/unstable/workspace/read-model/scanners/canonical-extensions.d.ts.map +1 -1
  265. package/dist/src/unstable/workspace/read-model/scanners/canonical-extensions.js +4 -2
  266. package/dist/src/unstable/workspace/read-model/scanners/canonical-extensions.js.map +1 -1
  267. package/dist/src/unstable/workspace/read-model/scanners/mcp-config.d.ts.map +1 -1
  268. package/dist/src/unstable/workspace/read-model/scanners/mcp-config.js +5 -2
  269. package/dist/src/unstable/workspace/read-model/scanners/mcp-config.js.map +1 -1
  270. package/dist/src/unstable/workspace/read-model/scanners/types.d.ts +8 -7
  271. package/dist/src/unstable/workspace/read-model/scanners/types.d.ts.map +1 -1
  272. package/dist/src/unstable/workspace/read-model/scanners/types.js.map +1 -1
  273. package/dist/src/unstable/workspace/read-model/service.d.ts +4 -3
  274. package/dist/src/unstable/workspace/read-model/service.d.ts.map +1 -1
  275. package/dist/src/unstable/workspace/read-model/service.js +3 -2
  276. package/dist/src/unstable/workspace/read-model/service.js.map +1 -1
  277. package/dist/src/unstable/workspace/resolve-plan-interaction.d.ts +1 -1
  278. package/dist/src/unstable/workspace/service-interface.d.ts +1 -0
  279. package/dist/src/unstable/workspace/service-interface.d.ts.map +1 -1
  280. package/dist/src/unstable/workspace/service-interface.js.map +1 -1
  281. package/dist/src/unstable/workspace/service.d.ts +65 -65
  282. package/dist/src/unstable/workspace/service.d.ts.map +1 -1
  283. package/dist/src/unstable/workspace/service.js +4 -3
  284. package/dist/src/unstable/workspace/service.js.map +1 -1
  285. package/dist/src/unstable/workspace/skill-snapshot.d.ts +3 -3
  286. package/dist/src/unstable/workspace/skill-snapshot.d.ts.map +1 -1
  287. package/dist/src/unstable/workspace/skill-snapshot.js +4 -3
  288. package/dist/src/unstable/workspace/skill-snapshot.js.map +1 -1
  289. package/dist/src/unstable/workspace/test-stubs.d.ts.map +1 -1
  290. package/dist/src/unstable/workspace/test-stubs.js +2 -1
  291. package/dist/src/unstable/workspace/test-stubs.js.map +1 -1
  292. package/package.json +6 -2
@@ -17,6 +17,7 @@ import { makeAppError } from "../../app-error/index.js";
17
17
  import { WorkspaceMutations } from "../../workspace/service-interface.js";
18
18
  import { sanitizeName } from "../../extensions/utils.js";
19
19
  import { computeSourceHash, RenderedFilesMapSchema } from "../../extensions/rendered-files.js";
20
+ import { makeWorkspaceRelativePath } from "../../utils/path-types.js";
20
21
  import { computeSubagentPaths, subagentContentFilename, subagentContentPath } from "../paths.js";
21
22
  import { parseSubagentMd } from "../subagent-content.js";
22
23
  import { warnOnOrphanOverrides } from "../rendering/overrides.js";
@@ -99,6 +100,13 @@ export const enableSubagent = (op) => Effect.gen(function* () {
99
100
  // Read and parse the subagent content file
100
101
  const expectedFilename = subagentContentFilename(op.args.subagentName);
101
102
  const contentPath = subagentContentPath(path.join, paths.subagentSrcPath, op.args.subagentName);
103
+ const editSourcePath = makeWorkspaceRelativePath(path, baseDir, contentPath);
104
+ if (Option.isNone(editSourcePath)) {
105
+ return yield* makeAppError({
106
+ code: "internal",
107
+ detail: `Subagent source path escapes workspace root: ${contentPath}`,
108
+ });
109
+ }
102
110
  const rawContent = yield* fs.readFileString(contentPath).pipe(Effect.mapError((error) => makeAppError({
103
111
  code: "internal",
104
112
  detail: `Failed to read ${expectedFilename} from ${paths.subagentSrcPath}`,
@@ -122,6 +130,7 @@ export const enableSubagent = (op) => Effect.gen(function* () {
122
130
  .addSubagent({
123
131
  workspaceRoot: baseDir,
124
132
  scope: "project",
133
+ editSourcePath: editSourcePath.value,
125
134
  input: {
126
135
  agentId: agent.id,
127
136
  name: op.args.subagentName,
@@ -131,12 +140,21 @@ export const enableSubagent = (op) => Effect.gen(function* () {
131
140
  },
132
141
  force: false,
133
142
  })
134
- .pipe(Effect.map((outcome) => {
135
- if (outcome._tag === "success") {
136
- renderedFilesMap[agent.id] = outcome.renderedFilePaths.map((p) => ({
137
- path: p,
138
- }));
139
- }
143
+ .pipe(Effect.flatMap((outcome) => {
144
+ if (outcome._tag !== "success")
145
+ return Effect.void;
146
+ return Effect.forEach(outcome.renderedFilePaths, (p) => {
147
+ const relativePath = makeWorkspaceRelativePath(path, baseDir, p);
148
+ if (Option.isNone(relativePath)) {
149
+ return Effect.fail(makeAppError({
150
+ code: "internal",
151
+ detail: `Rendered subagent path escapes workspace root: ${p}`,
152
+ }));
153
+ }
154
+ return Effect.succeed({ path: relativePath.value });
155
+ }).pipe(Effect.map((entries) => {
156
+ renderedFilesMap[agent.id] = entries;
157
+ }));
140
158
  })), { concurrency: "unbounded" });
141
159
  // Update lockfile with rendered files and source hash
142
160
  const decodeRenderedFiles = Schema.decodeUnknownSync(RenderedFilesMapSchema);
@@ -1 +1 @@
1
- {"version":3,"file":"enable.js","sourceRoot":"","sources":["../../../../../src/unstable/subagents/operations/enable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enable.js","sourceRoot":"","sources":["../../../../../src/unstable/subagents/operations/enable.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@
7
7
  * @experimental This API is unstable and may change without notice.
8
8
  */
9
9
  import type { Handle } from "../extensions/handle.js";
10
+ import { type AbsolutePath } from "../utils/path-types.js";
10
11
  /**
11
12
  * Minimal structural discriminant for determining subagent path layout.
12
13
  *
@@ -34,8 +35,8 @@ export type SubagentPathSource = {
34
35
  * @experimental This API is unstable and may change without notice.
35
36
  */
36
37
  export interface SubagentDirPaths {
37
- readonly canonicalPath: string;
38
- readonly subagentSrcPath: string;
38
+ readonly canonicalPath: AbsolutePath;
39
+ readonly subagentSrcPath: AbsolutePath;
39
40
  }
40
41
  /**
41
42
  * Content filename for subagent instructions.
@@ -48,7 +49,7 @@ export declare const subagentContentFilename: (name: string) => string;
48
49
  *
49
50
  * @experimental This API is unstable and may change without notice.
50
51
  */
51
- export declare const subagentContentPath: (join: (...paths: string[]) => string, root: string, name: string) => string;
52
+ export declare const subagentContentPath: (join: (...paths: string[]) => string, root: string, name: string) => AbsolutePath;
52
53
  /**
53
54
  * Pure function to compute subagent directory paths.
54
55
  *
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../../src/unstable/subagents/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEtD;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAA;CAAE,CAAC;AAEjD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAAI,MAAM,MAAM,KAAG,MAAsB,CAAC;AAE9E;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,EACpC,MAAM,MAAM,EACZ,MAAM,MAAM,KACX,MAAmD,CAAC;AAEvD;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,EACpC,MAAM,MAAM,EACZ,QAAQ,kBAAkB,EAC1B,eAAe,MAAM,KACpB,gBAaF,CAAC"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../../src/unstable/subagents/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAA0B,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEnF;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAA;CAAE,CAAC;AAEjD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC;CACxC;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAAI,MAAM,MAAM,KAAG,MAAsB,CAAC;AAE9E;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,EACpC,MAAM,MAAM,EACZ,MAAM,MAAM,KACX,YAAiF,CAAC;AAErF;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,EACpC,MAAM,MAAM,EACZ,QAAQ,kBAAkB,EAC1B,eAAe,MAAM,KACpB,gBAmBF,CAAC"}
@@ -7,6 +7,7 @@
7
7
  * @experimental This API is unstable and may change without notice.
8
8
  */
9
9
  import { EXTERNAL_EXTENSIONS_DIR, REGISTRY_EXTENSIONS_DIR } from "../extensions/index.js";
10
+ import { decodeAbsolutePathSync } from "../utils/path-types.js";
10
11
  /**
11
12
  * Content filename for subagent instructions.
12
13
  *
@@ -18,7 +19,7 @@ export const subagentContentFilename = (name) => `${name}.md`;
18
19
  *
19
20
  * @experimental This API is unstable and may change without notice.
20
21
  */
21
- export const subagentContentPath = (join, root, name) => join(root, subagentContentFilename(name));
22
+ export const subagentContentPath = (join, root, name) => decodeAbsolutePathSync(join(root, subagentContentFilename(name)));
22
23
  /**
23
24
  * Pure function to compute subagent directory paths.
24
25
  *
@@ -32,9 +33,15 @@ export const subagentContentPath = (join, root, name) => join(root, subagentCont
32
33
  export const computeSubagentPaths = (join, base, source, sanitizedName) => {
33
34
  if (source.refType === "registry") {
34
35
  const canonicalPath = join(base, REGISTRY_EXTENSIONS_DIR, source.owner, "subagents", sanitizedName);
35
- return { canonicalPath, subagentSrcPath: join(canonicalPath, "src") };
36
+ return {
37
+ canonicalPath: decodeAbsolutePathSync(canonicalPath),
38
+ subagentSrcPath: decodeAbsolutePathSync(join(canonicalPath, "src")),
39
+ };
36
40
  }
37
41
  const canonicalPath = join(base, EXTERNAL_EXTENSIONS_DIR, "subagents", sanitizedName);
38
- return { canonicalPath, subagentSrcPath: canonicalPath };
42
+ return {
43
+ canonicalPath: decodeAbsolutePathSync(canonicalPath),
44
+ subagentSrcPath: decodeAbsolutePathSync(canonicalPath),
45
+ };
39
46
  };
40
47
  //# sourceMappingURL=paths.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../../src/unstable/subagents/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAgC1F;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,IAAoC,EACpC,IAAY,EACZ,IAAY,EACJ,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;AAEvD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,IAAoC,EACpC,IAAY,EACZ,MAA0B,EAC1B,aAAqB,EACH,EAAE;IACpB,IAAI,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAClC,MAAM,aAAa,GAAG,IAAI,CACxB,IAAI,EACJ,uBAAuB,EACvB,MAAM,CAAC,KAAK,EACZ,WAAW,EACX,aAAa,CACd,CAAC;QACF,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IACxE,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,uBAAuB,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;IACtF,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC;AAC3D,CAAC,CAAC"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../../src/unstable/subagents/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAE1F,OAAO,EAAE,sBAAsB,EAAqB,MAAM,wBAAwB,CAAC;AA+BnF;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,GAAG,IAAI,KAAK,CAAC;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,IAAoC,EACpC,IAAY,EACZ,IAAY,EACE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAErF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,IAAoC,EACpC,IAAY,EACZ,MAA0B,EAC1B,aAAqB,EACH,EAAE;IACpB,IAAI,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAClC,MAAM,aAAa,GAAG,IAAI,CACxB,IAAI,EACJ,uBAAuB,EACvB,MAAM,CAAC,KAAK,EACZ,WAAW,EACX,aAAa,CACd,CAAC;QACF,OAAO;YACL,aAAa,EAAE,sBAAsB,CAAC,aAAa,CAAC;YACpD,eAAe,EAAE,sBAAsB,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;SACpE,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,uBAAuB,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;IACtF,OAAO;QACL,aAAa,EAAE,sBAAsB,CAAC,aAAa,CAAC;QACpD,eAAe,EAAE,sBAAsB,CAAC,aAAa,CAAC;KACvD,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/subagents/rendering/adapters/json.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAY,KAAK,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAM7F;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,mBAAmB,KAAG,qBAOvD,CAAC"}
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/subagents/rendering/adapters/json.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAY,KAAK,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAE7F;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,mBAAmB,KAAG,qBAOvD,CAAC"}
@@ -7,10 +7,9 @@
7
7
  *
8
8
  * @experimental This API is unstable and may change without notice.
9
9
  */
10
- import * as Schema from "effect/Schema";
10
+ import { decodeRelativePathSync } from "../../../utils/path-types.js";
11
11
  import { applyOverrides } from "../overrides.js";
12
12
  import { rendered } from "../types.js";
13
- const decodeRenderedFilePath = Schema.decodeUnknownSync(Schema.String.pipe(Schema.brand("RenderedFilePath")));
14
13
  /**
15
14
  * Render a subagent as JSON for Kiro CLI.
16
15
  *
@@ -20,7 +19,7 @@ export const renderJson = (input) => {
20
19
  const base = { ...input.frontmatter, prompt: input.body };
21
20
  const merged = applyOverrides(base, input.agentOverrides);
22
21
  const content = JSON.stringify(merged, null, 2);
23
- const path = decodeRenderedFilePath(`.kiro/agents/${input.name}.json`);
22
+ const path = decodeRelativePathSync(`.kiro/agents/${input.name}.json`);
24
23
  return rendered([{ content, path }], []);
25
24
  };
26
25
  //# sourceMappingURL=json.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../../../../src/unstable/subagents/rendering/adapters/json.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAwD,MAAM,aAAa,CAAC;AAE7F,MAAM,sBAAsB,GAAG,MAAM,CAAC,iBAAiB,CACrD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CACrD,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAA0B,EAAyB,EAAE;IAC9E,MAAM,IAAI,GAA4B,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IACnF,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,sBAAsB,CAAC,gBAAgB,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC;IAEvE,OAAO,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3C,CAAC,CAAC"}
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../../../../src/unstable/subagents/rendering/adapters/json.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAwD,MAAM,aAAa,CAAC;AAE7F;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAA0B,EAAyB,EAAE;IAC9E,MAAM,IAAI,GAA4B,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IACnF,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,sBAAsB,CAAC,gBAAgB,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC;IAEvE,OAAO,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3C,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-yaml.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/subagents/rendering/adapters/markdown-yaml.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAY,KAAK,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAoB7F;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,mBAAmB,KAAG,qBAa/D,CAAC"}
1
+ {"version":3,"file":"markdown-yaml.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/subagents/rendering/adapters/markdown-yaml.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAY,KAAK,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAgB7F;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,mBAAmB,KAAG,qBAa/D,CAAC"}
@@ -9,11 +9,10 @@
9
9
  *
10
10
  * @experimental This API is unstable and may change without notice.
11
11
  */
12
- import * as Schema from "effect/Schema";
13
12
  import YAML from "yaml";
13
+ import { decodeRelativePathSync } from "../../../utils/path-types.js";
14
14
  import { applyOverrides } from "../overrides.js";
15
15
  import { rendered } from "../types.js";
16
- const decodeRenderedFilePath = Schema.decodeUnknownSync(Schema.String.pipe(Schema.brand("RenderedFilePath")));
17
16
  const AGENT_DIRS = {
18
17
  "claude-code": ".claude/agents",
19
18
  "github-copilot": ".github/agents",
@@ -38,7 +37,7 @@ export const renderMarkdownYaml = (input) => {
38
37
  if (input.body.length > 0) {
39
38
  parts.push(input.body);
40
39
  }
41
- const path = decodeRenderedFilePath(`${resolveAgentsDir(input.agentId)}/${input.name}.md`);
40
+ const path = decodeRelativePathSync(`${resolveAgentsDir(input.agentId)}/${input.name}.md`);
42
41
  return rendered([{ content: parts.join("\n"), path }], []);
43
42
  };
44
43
  //# sourceMappingURL=markdown-yaml.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-yaml.js","sourceRoot":"","sources":["../../../../../../src/unstable/subagents/rendering/adapters/markdown-yaml.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAwD,MAAM,aAAa,CAAC;AAE7F,MAAM,sBAAsB,GAAG,MAAM,CAAC,iBAAiB,CACrD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CACrD,CAAC;AAEF,MAAM,UAAU,GAAqC;IACnD,aAAa,EAAE,gBAAgB;IAC/B,gBAAgB,EAAE,gBAAgB;IAClC,MAAM,EAAE,gBAAgB;IACxB,YAAY,EAAE,gBAAgB;IAC9B,QAAQ,EAAE,kBAAkB;IAC5B,OAAO,EAAE,iBAAiB;IAC1B,KAAK,EAAE,eAAe;IACtB,WAAW,EAAE,cAAc;IAC3B,IAAI,EAAE,cAAc;CACrB,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAU,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,SAAS,CAAC;AAElG;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAA0B,EAAyB,EAAE;IACtF,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IAEzE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClE,MAAM,KAAK,GAAkB,CAAC,QAAQ,OAAO,OAAO,CAAC,CAAC;IAEtD,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,IAAI,GAAG,sBAAsB,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC;IAE3F,OAAO,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7D,CAAC,CAAC"}
1
+ {"version":3,"file":"markdown-yaml.js","sourceRoot":"","sources":["../../../../../../src/unstable/subagents/rendering/adapters/markdown-yaml.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAwD,MAAM,aAAa,CAAC;AAE7F,MAAM,UAAU,GAAqC;IACnD,aAAa,EAAE,gBAAgB;IAC/B,gBAAgB,EAAE,gBAAgB;IAClC,MAAM,EAAE,gBAAgB;IACxB,YAAY,EAAE,gBAAgB;IAC9B,QAAQ,EAAE,kBAAkB;IAC5B,OAAO,EAAE,iBAAiB;IAC1B,KAAK,EAAE,eAAe;IACtB,WAAW,EAAE,cAAc;IAC3B,IAAI,EAAE,cAAc;CACrB,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAU,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,SAAS,CAAC;AAElG;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAA0B,EAAyB,EAAE;IACtF,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IAEzE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClE,MAAM,KAAK,GAAkB,CAAC,QAAQ,OAAO,OAAO,CAAC,CAAC;IAEtD,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,IAAI,GAAG,sBAAsB,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC;IAE3F,OAAO,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7D,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"toml.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/subagents/rendering/adapters/toml.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAY,KAAK,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAwB7F;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,mBAAmB,KAAG,qBAWvD,CAAC"}
1
+ {"version":3,"file":"toml.d.ts","sourceRoot":"","sources":["../../../../../../src/unstable/subagents/rendering/adapters/toml.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAY,KAAK,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAoB7F;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,mBAAmB,KAAG,qBAWvD,CAAC"}
@@ -8,10 +8,9 @@
8
8
  *
9
9
  * @experimental This API is unstable and may change without notice.
10
10
  */
11
- import * as Schema from "effect/Schema";
11
+ import { decodeRelativePathSync } from "../../../utils/path-types.js";
12
12
  import { applyOverrides } from "../overrides.js";
13
13
  import { rendered } from "../types.js";
14
- const decodeRenderedFilePath = Schema.decodeUnknownSync(Schema.String.pipe(Schema.brand("RenderedFilePath")));
15
14
  /**
16
15
  * Serialize a single value to a TOML right-hand side.
17
16
  *
@@ -41,7 +40,7 @@ export const renderToml = (input) => {
41
40
  };
42
41
  const merged = applyOverrides(base, input.agentOverrides);
43
42
  const lines = Object.entries(merged).map(([key, value]) => `${key} = ${tomlValue(value)}`);
44
- const path = decodeRenderedFilePath(`.codex/agents/${input.name}.toml`);
43
+ const path = decodeRelativePathSync(`.codex/agents/${input.name}.toml`);
45
44
  return rendered([{ content: lines.join("\n"), path }], []);
46
45
  };
47
46
  //# sourceMappingURL=toml.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toml.js","sourceRoot":"","sources":["../../../../../../src/unstable/subagents/rendering/adapters/toml.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAwD,MAAM,aAAa,CAAC;AAE7F,MAAM,sBAAsB,GAAG,MAAM,CAAC,iBAAiB,CACrD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CACrD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,SAAS,GAAG,CAAC,KAAc,EAAU,EAAE;IAC3C,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9D,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,QAAQ,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC;IACtD,CAAC;IACD,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;AAChE,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAA0B,EAAyB,EAAE;IAC9E,MAAM,IAAI,GAA4B;QACpC,GAAG,KAAK,CAAC,WAAW;QACpB,sBAAsB,EAAE,KAAK,CAAC,IAAI;KACnC,CAAC;IACF,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAE3F,MAAM,IAAI,GAAG,sBAAsB,CAAC,iBAAiB,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC;IAExE,OAAO,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7D,CAAC,CAAC"}
1
+ {"version":3,"file":"toml.js","sourceRoot":"","sources":["../../../../../../src/unstable/subagents/rendering/adapters/toml.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAwD,MAAM,aAAa,CAAC;AAE7F;;;;;;GAMG;AACH,MAAM,SAAS,GAAG,CAAC,KAAc,EAAU,EAAE;IAC3C,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9D,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,QAAQ,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC;IACtD,CAAC;IACD,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;AAChE,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAA0B,EAAyB,EAAE;IAC9E,MAAM,IAAI,GAA4B;QACpC,GAAG,KAAK,CAAC,WAAW;QACpB,sBAAsB,EAAE,KAAK,CAAC,IAAI;KACnC,CAAC;IACF,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAE3F,MAAM,IAAI,GAAG,sBAAsB,CAAC,iBAAiB,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC;IAExE,OAAO,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7D,CAAC,CAAC"}
@@ -8,7 +8,7 @@
8
8
  * @experimental This API is unstable and may change without notice.
9
9
  */
10
10
  import type { LossyRenderingWarning } from "../../commands/rendering-warnings.js";
11
- import type { RenderedFilePath } from "../../extensions/rendered-files.js";
11
+ import type { RelativePath } from "../../utils/path-types.js";
12
12
  /**
13
13
  * Per-agent override map applied as an RFC 7396 JSON Merge Patch on top of
14
14
  * the user's frontmatter for the target agent.
@@ -42,7 +42,7 @@ export interface SubagentRenderOutput {
42
42
  /** The rendered file content. */
43
43
  readonly content: string;
44
44
  /** The relative path for the rendered file (e.g., ".claude/agents/my-agent.md"). */
45
- readonly path: RenderedFilePath;
45
+ readonly path: RelativePath;
46
46
  }
47
47
  /**
48
48
  * Tagged union for render outcomes.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/unstable/subagents/rendering/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAE/D;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,kCAAkC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uFAAuF;IACvF,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,wEAAwE;IACxE,QAAQ,CAAC,cAAc,EAAE,cAAc,GAAG,SAAS,CAAC;CACrD;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,iCAAiC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,oFAAoF;IACpF,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;CACjC;AAED;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,GAAG,eAAe,CAAC;AAEvE;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,6DAA6D;IAC7D,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACtD,yDAAyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;CACzD;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,qEAAqE;IACrE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GACnB,SAAS,aAAa,CAAC,oBAAoB,CAAC,EAC5C,WAAU,aAAa,CAAC,qBAAqB,CAAM,KAClD,gBAID,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,QAAQ,MAAM,KAAG,eAGvC,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,mBAAmB,KAAK,qBAAqB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/unstable/subagents/rendering/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAE/D;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,kCAAkC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,uFAAuF;IACvF,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,wEAAwE;IACxE,QAAQ,CAAC,cAAc,EAAE,cAAc,GAAG,SAAS,CAAC;CACrD;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,iCAAiC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,oFAAoF;IACpF,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,GAAG,eAAe,CAAC;AAEvE;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,6DAA6D;IAC7D,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACtD,yDAAyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;CACzD;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,qEAAqE;IACrE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GACnB,SAAS,aAAa,CAAC,oBAAoB,CAAC,EAC5C,WAAU,aAAa,CAAC,qBAAqB,CAAM,KAClD,gBAID,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,QAAQ,MAAM,KAAG,eAGvC,CAAC;AAEH;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,mBAAmB,KAAK,qBAAqB,CAAC"}
@@ -79,7 +79,7 @@ export declare const readCacheFromPath: (cachePath: string) => Effect.Effect<Opt
79
79
  /**
80
80
  * Write the cache file with the given version and current timestamp.
81
81
  */
82
- export declare const writeCacheToPath: (cachePath: string, latestVersion: string) => Effect.Effect<void, never, FileSystem.FileSystem | Path.Path>;
82
+ export declare const writeCacheToPath: (cachePath: string, latestVersion: string) => Effect.Effect<void, never, Path.Path | FileSystem.FileSystem>;
83
83
  /**
84
84
  * Check if an update is available by reading the cache and comparing versions.
85
85
  */
@@ -90,10 +90,10 @@ export declare const isUpdateAvailableFromPath: (cachePath: string, localVersion
90
90
  readonly current: string;
91
91
  readonly latest: string;
92
92
  }>, never, FileSystem.FileSystem>;
93
- export declare const UpdateCheckLive: Layer.Layer<UpdateCheck, never, FileSystem.FileSystem | Path.Path>;
93
+ export declare const UpdateCheckLive: Layer.Layer<UpdateCheck, never, Path.Path | FileSystem.FileSystem>;
94
94
  /**
95
95
  * Create an UpdateCheck layer for testing with a configurable cache path.
96
96
  */
97
- export declare const UpdateCheckTest: (cachePath: string) => Layer.Layer<UpdateCheck, never, FileSystem.FileSystem | Path.Path>;
97
+ export declare const UpdateCheckTest: (cachePath: string) => Layer.Layer<UpdateCheck, never, Path.Path | FileSystem.FileSystem>;
98
98
  export {};
99
99
  //# sourceMappingURL=update-check.d.ts.map
@@ -16,5 +16,5 @@ import * as Path from "effect/Path";
16
16
  * Files are stored at the root of the zip (no enclosing directory).
17
17
  * Directory entries are not emitted.
18
18
  */
19
- export declare const buildZipArchive: (dir: string) => Effect.Effect<Uint8Array<ArrayBufferLike>, import("../app-error/app-error.ts").AppError, FileSystem.FileSystem | Path.Path>;
19
+ export declare const buildZipArchive: (dir: string) => Effect.Effect<Uint8Array<ArrayBufferLike>, import("../app-error/app-error.ts").AppError, Path.Path | FileSystem.FileSystem>;
20
20
  //# sourceMappingURL=build-zip-archive.d.ts.map
@@ -21,5 +21,5 @@ export type SymlinkResult = "created" | "replaced" | "no-op" | "skipped";
21
21
  export declare const createSymlink: (opts: {
22
22
  readonly target: string;
23
23
  readonly link: string;
24
- }) => Effect.Effect<"created" | "replaced" | "no-op" | "skipped", import("../app-error/app-error.ts").AppError, FileSystem.FileSystem | Path.Path>;
24
+ }) => Effect.Effect<"created" | "replaced" | "no-op" | "skipped", import("../app-error/app-error.ts").AppError, Path.Path | FileSystem.FileSystem>;
25
25
  //# sourceMappingURL=create-symlink.d.ts.map
@@ -1,7 +1,8 @@
1
1
  export { buildZipArchive } from "./build-zip-archive.js";
2
2
  export { removeIfExists, removeFromAllCanonicalLocations, stripFileProtocol, } from "./fs-helpers.js";
3
3
  export { computeIntegrity } from "./integrity.js";
4
- export { isPathSafe } from "./path-safety.js";
4
+ export { isPathSafe, safeChildPath, safeChildPathSync } from "./path-safety.js";
5
+ export { AbsolutePathSchema, RelativePathSchema, decodeAbsolutePathSync, decodeRelativePathSync, makeAbsolutePath, makeRelativePath, makeWorkspaceRelativePath, makeWorkspaceRelativeSourcePath, type AbsolutePath, type RelativePath, } from "./path-types.js";
5
6
  export { resolveParentSymlinks } from "./resolve-parent-symlinks.js";
6
7
  export { createSymlink, type SymlinkResult } from "./create-symlink.js";
7
8
  export { envOption, envWithDefault, isContainer, isRoot, isSSH, isWSL, resolveAxmDataDir, resolveAxmDataDirPure, } from "./environment.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/unstable/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACL,cAAc,EACd,+BAA+B,EAC/B,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EACL,SAAS,EACT,cAAc,EACd,WAAW,EACX,MAAM,EACN,KAAK,EACL,KAAK,EACL,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/unstable/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACL,cAAc,EACd,+BAA+B,EAC/B,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,yBAAyB,EACzB,+BAA+B,EAC/B,KAAK,YAAY,EACjB,KAAK,YAAY,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EACL,SAAS,EACT,cAAc,EACd,WAAW,EACX,MAAM,EACN,KAAK,EACL,KAAK,EACL,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
@@ -1,7 +1,8 @@
1
1
  export { buildZipArchive } from "./build-zip-archive.js";
2
2
  export { removeIfExists, removeFromAllCanonicalLocations, stripFileProtocol, } from "./fs-helpers.js";
3
3
  export { computeIntegrity } from "./integrity.js";
4
- export { isPathSafe } from "./path-safety.js";
4
+ export { isPathSafe, safeChildPath, safeChildPathSync } from "./path-safety.js";
5
+ export { AbsolutePathSchema, RelativePathSchema, decodeAbsolutePathSync, decodeRelativePathSync, makeAbsolutePath, makeRelativePath, makeWorkspaceRelativePath, makeWorkspaceRelativeSourcePath, } from "./path-types.js";
5
6
  export { resolveParentSymlinks } from "./resolve-parent-symlinks.js";
6
7
  export { createSymlink } from "./create-symlink.js";
7
8
  export { envOption, envWithDefault, isContainer, isRoot, isSSH, isWSL, resolveAxmDataDir, resolveAxmDataDirPure, } from "./environment.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/unstable/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACL,cAAc,EACd,+BAA+B,EAC/B,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAsB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EACL,SAAS,EACT,cAAc,EACd,WAAW,EACX,MAAM,EACN,KAAK,EACL,KAAK,EACL,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/unstable/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACL,cAAc,EACd,+BAA+B,EAC/B,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,yBAAyB,EACzB,+BAA+B,GAGhC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAsB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EACL,SAAS,EACT,cAAc,EACd,WAAW,EACX,MAAM,EACN,KAAK,EACL,KAAK,EACL,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
@@ -1,6 +1,18 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Option from "effect/Option";
3
+ import * as Path from "effect/Path";
4
+ import { type AbsolutePath } from "./path-types.js";
1
5
  /**
2
6
  * Validates that a resolved target path stays within a base directory.
3
7
  * Uses path separator boundary check to prevent prefix false positives.
4
8
  */
5
9
  export declare function isPathSafe(base: string, target: string): boolean;
10
+ /**
11
+ * Resolve `target` and return it only when it stays inside `base`.
12
+ */
13
+ export declare const safeChildPath: (base: AbsolutePath, target: string) => Effect.Effect<Option.Option<AbsolutePath>, never, Path.Path>;
14
+ /**
15
+ * Synchronous variant for non-Effect call sites.
16
+ */
17
+ export declare const safeChildPathSync: (base: AbsolutePath, target: string) => Option.Option<AbsolutePath>;
6
18
  //# sourceMappingURL=path-safety.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"path-safety.d.ts","sourceRoot":"","sources":["../../../../src/unstable/utils/path-safety.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAShE"}
1
+ {"version":3,"file":"path-safety.d.ts","sourceRoot":"","sources":["../../../../src/unstable/utils/path-safety.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEtE;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAShE;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,GACxB,MAAM,YAAY,EAClB,QAAQ,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAU1D,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,MAAM,YAAY,EAClB,QAAQ,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,YAAY,CACyD,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import * as NodeServices from "@effect/platform-node/NodeServices";
2
2
  import * as Effect from "effect/Effect";
3
+ import * as Option from "effect/Option";
3
4
  import * as Path from "effect/Path";
5
+ import { makeAbsolutePath } from "./path-types.js";
4
6
  /**
5
7
  * Validates that a resolved target path stays within a base directory.
6
8
  * Uses path separator boundary check to prevent prefix false positives.
@@ -13,4 +15,20 @@ export function isPathSafe(base, target) {
13
15
  return resolvedTarget === resolvedBase || resolvedTarget.startsWith(resolvedBase + path.sep);
14
16
  }).pipe(Effect.provide(NodeServices.layer)));
15
17
  }
18
+ /**
19
+ * Resolve `target` and return it only when it stays inside `base`.
20
+ */
21
+ export const safeChildPath = (base, target) => Effect.gen(function* () {
22
+ const path = yield* Path.Path;
23
+ const resolvedBase = path.resolve(base);
24
+ const resolvedTarget = path.isAbsolute(target)
25
+ ? path.resolve(target)
26
+ : path.resolve(resolvedBase, target);
27
+ const safe = resolvedTarget === resolvedBase || resolvedTarget.startsWith(resolvedBase + path.sep);
28
+ return safe ? Option.some(makeAbsolutePath(path, resolvedTarget)) : Option.none();
29
+ });
30
+ /**
31
+ * Synchronous variant for non-Effect call sites.
32
+ */
33
+ export const safeChildPathSync = (base, target) => Effect.runSync(safeChildPath(base, target).pipe(Effect.provide(NodeServices.layer)));
16
34
  //# sourceMappingURL=path-safety.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"path-safety.js","sourceRoot":"","sources":["../../../../src/unstable/utils/path-safety.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,oCAAoC,CAAC;AACnE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAEpC;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,MAAc;IACrD,OAAO,MAAM,CAAC,OAAO,CACnB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO,cAAc,KAAK,YAAY,IAAI,cAAc,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAC5C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"path-safety.js","sourceRoot":"","sources":["../../../../src/unstable/utils/path-safety.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,oCAAoC,CAAC;AACnE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAqB,MAAM,iBAAiB,CAAC;AAEtE;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,MAAc;IACrD,OAAO,MAAM,CAAC,OAAO,CACnB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO,cAAc,KAAK,YAAY,IAAI,cAAc,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAC5C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,IAAkB,EAClB,MAAc,EACgD,EAAE,CAChE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAC5C,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACtB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACvC,MAAM,IAAI,GACR,cAAc,KAAK,YAAY,IAAI,cAAc,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACxF,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AACpF,CAAC,CAAC,CAAC;AAEL;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,IAAkB,EAClB,MAAc,EACe,EAAE,CAC/B,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Nominal path string types.
3
+ *
4
+ * Use these at module boundaries after a path has been normalized by the
5
+ * Effect `Path` service. Keep raw strings at external input boundaries.
6
+ *
7
+ * @experimental This API is unstable and may change without notice.
8
+ */
9
+ import * as Option from "effect/Option";
10
+ import type * as Path from "effect/Path";
11
+ import * as Schema from "effect/Schema";
12
+ export declare const AbsolutePathSchema: Schema.brand<Schema.String, "AbsolutePath">;
13
+ export type AbsolutePath = Schema.Schema.Type<typeof AbsolutePathSchema>;
14
+ export declare const RelativePathSchema: Schema.brand<Schema.String, "RelativePath">;
15
+ export type RelativePath = Schema.Schema.Type<typeof RelativePathSchema>;
16
+ export declare const decodeAbsolutePathSync: (value: string) => AbsolutePath;
17
+ export declare const decodeRelativePathSync: (value: string) => RelativePath;
18
+ export declare const makeAbsolutePath: (path: Path.Path, value: string) => AbsolutePath;
19
+ export declare const makeRelativePath: (path: Path.Path, value: string) => Option.Option<RelativePath>;
20
+ export declare const makeWorkspaceRelativePath: (path: Path.Path, workspaceRoot: AbsolutePath | string, target: string) => Option.Option<RelativePath>;
21
+ export declare const makeWorkspaceRelativeSourcePath: (path: Path.Path, workspaceRoot: AbsolutePath | string, target: string) => Option.Option<string>;
22
+ //# sourceMappingURL=path-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-types.d.ts","sourceRoot":"","sources":["../../../../src/unstable/utils/path-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,IAAI,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAQxC,eAAO,MAAM,kBAAkB,6CAO9B,CAAC;AACF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEzE,eAAO,MAAM,kBAAkB,6CAS9B,CAAC;AACF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAKzE,eAAO,MAAM,sBAAsB,GAAI,OAAO,MAAM,KAAG,YAAyC,CAAC;AAEjG,eAAO,MAAM,sBAAsB,GAAI,OAAO,MAAM,KAAG,YAAyC,CAAC;AAEjG,eAAO,MAAM,gBAAgB,GAAI,MAAM,IAAI,CAAC,IAAI,EAAE,OAAO,MAAM,KAAG,YACzB,CAAC;AAE1C,eAAO,MAAM,gBAAgB,GAAI,MAAM,IAAI,CAAC,IAAI,EAAE,OAAO,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAK3F,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,MAAM,IAAI,CAAC,IAAI,EACf,eAAe,YAAY,GAAG,MAAM,EACpC,QAAQ,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,YAAY,CAO5B,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAC1C,MAAM,IAAI,CAAC,IAAI,EACf,eAAe,YAAY,GAAG,MAAM,EACpC,QAAQ,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,MAAM,CAQtB,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Nominal path string types.
3
+ *
4
+ * Use these at module boundaries after a path has been normalized by the
5
+ * Effect `Path` service. Keep raw strings at external input boundaries.
6
+ *
7
+ * @experimental This API is unstable and may change without notice.
8
+ */
9
+ import * as Option from "effect/Option";
10
+ import * as Schema from "effect/Schema";
11
+ const looksAbsolutePath = (value) => value.startsWith("/") || /^[A-Za-z]:[\\/]/.test(value) || value.startsWith("\\\\");
12
+ const looksEscapingRelativePath = (value) => value === "" || value === ".." || value.startsWith("../") || value.startsWith("..\\");
13
+ export const AbsolutePathSchema = Schema.String.pipe(Schema.check(Schema.makeFilter((value) => looksAbsolutePath(value) ? undefined : "Expected an absolute path")), Schema.brand("AbsolutePath"));
14
+ export const RelativePathSchema = Schema.String.pipe(Schema.check(Schema.makeFilter((value) => looksAbsolutePath(value) || looksEscapingRelativePath(value)
15
+ ? "Expected a relative path that stays within its root"
16
+ : undefined)), Schema.brand("RelativePath"));
17
+ const decodeAbsolutePath = Schema.decodeUnknownSync(AbsolutePathSchema);
18
+ const decodeRelativePath = Schema.decodeUnknownSync(RelativePathSchema);
19
+ export const decodeAbsolutePathSync = (value) => decodeAbsolutePath(value);
20
+ export const decodeRelativePathSync = (value) => decodeRelativePath(value);
21
+ export const makeAbsolutePath = (path, value) => decodeAbsolutePath(path.resolve(value));
22
+ export const makeRelativePath = (path, value) => {
23
+ if (path.isAbsolute(value))
24
+ return Option.none();
25
+ const normalized = path.normalize(value);
26
+ if (looksEscapingRelativePath(normalized))
27
+ return Option.none();
28
+ return Option.some(decodeRelativePath(normalized));
29
+ };
30
+ export const makeWorkspaceRelativePath = (path, workspaceRoot, target) => {
31
+ const root = path.resolve(workspaceRoot);
32
+ const resolvedTarget = path.isAbsolute(target)
33
+ ? path.resolve(target)
34
+ : path.resolve(root, target);
35
+ const relative = path.relative(root, resolvedTarget);
36
+ return makeRelativePath(path, relative);
37
+ };
38
+ export const makeWorkspaceRelativeSourcePath = (path, workspaceRoot, target) => {
39
+ const root = path.resolve(workspaceRoot);
40
+ const resolvedTarget = path.isAbsolute(target)
41
+ ? path.resolve(target)
42
+ : path.resolve(root, target);
43
+ const relative = path.relative(root, resolvedTarget);
44
+ if (path.isAbsolute(relative))
45
+ return Option.none();
46
+ return Option.some(path.normalize(relative.length === 0 ? "." : relative));
47
+ };
48
+ //# sourceMappingURL=path-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-types.js","sourceRoot":"","sources":["../../../../src/unstable/utils/path-types.ts"],"names":[],"mappings":"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"}
@@ -46,5 +46,5 @@ export declare const runInstallCommandWorkflow: <Args, Parsed, Req, Ref, Intent>
46
46
  yes: boolean;
47
47
  force: boolean;
48
48
  preview: boolean;
49
- }) => Effect.Effect<PlanResolution, AppError | PromptCancelled, import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("../../workspace/service-interface.ts").WorkspaceMutations | "effect/unstable/cli/GlobalFlag/axm-non-interactive" | import("../../cli-flags/verbosity.ts").Verbosity | import("../../cli-renderer/cli-renderer.ts").CliRenderer>;
49
+ }) => Effect.Effect<PlanResolution, AppError | PromptCancelled, import("effect/Path").Path | import("effect/FileSystem").FileSystem | import("../../workspace/service-interface.ts").WorkspaceMutations | "effect/unstable/cli/GlobalFlag/axm-non-interactive" | import("../../cli-flags/verbosity.ts").Verbosity | import("../../cli-renderer/cli-renderer.ts").CliRenderer>;
50
50
  //# sourceMappingURL=workflow.d.ts.map
@@ -34,5 +34,5 @@ export declare const runUninstallCommandWorkflow: <Args, Parsed, Intent>(args: A
34
34
  yes: boolean;
35
35
  force: boolean;
36
36
  preview: boolean;
37
- }) => Effect.Effect<PlanResolution, AppError | import("../../cli-prompt/prompt-cancelled.ts").PromptCancelled, import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("../../workspace/service-interface.ts").WorkspaceMutations | "effect/unstable/cli/GlobalFlag/axm-non-interactive" | import("../../cli-flags/verbosity.ts").Verbosity | import("../../cli-renderer/cli-renderer.ts").CliRenderer>;
37
+ }) => Effect.Effect<PlanResolution, AppError | import("../../cli-prompt/prompt-cancelled.ts").PromptCancelled, import("effect/Path").Path | import("effect/FileSystem").FileSystem | import("../../workspace/service-interface.ts").WorkspaceMutations | "effect/unstable/cli/GlobalFlag/axm-non-interactive" | import("../../cli-flags/verbosity.ts").Verbosity | import("../../cli-renderer/cli-renderer.ts").CliRenderer>;
38
38
  //# sourceMappingURL=workflow.d.ts.map
@@ -9,21 +9,21 @@ import { WorkspaceMutations } from "../service-interface.js";
9
9
  export declare const resolveConfiguredSkill: (name: string, source: string) => Effect.Effect<{
10
10
  ref: SkillExtensionRef;
11
11
  versionRange: Option.None<string & import("effect/Brand").Brand<"VersionRange">> | Option.Some<string & import("effect/Brand").Brand<"VersionRange">>;
12
- }, import("../../app-error/app-error.ts").AppError, import("effect/FileSystem").FileSystem | import("effect/Path").Path | WorkspaceMutations | import("effect/Scope").Scope | SourceHostProviders>;
12
+ }, import("../../app-error/app-error.ts").AppError, import("effect/Path").Path | import("effect/FileSystem").FileSystem | WorkspaceMutations | import("effect/Scope").Scope | SourceHostProviders>;
13
13
  export declare const resolveConfiguredSubagent: (name: string, source: string) => Effect.Effect<{
14
14
  ref: SubagentExtensionRef;
15
15
  versionRange: Option.None<string & import("effect/Brand").Brand<"VersionRange">> | Option.Some<string & import("effect/Brand").Brand<"VersionRange">>;
16
- }, import("../../app-error/app-error.ts").AppError, import("effect/FileSystem").FileSystem | import("effect/Path").Path | WorkspaceMutations | import("effect/Scope").Scope | SourceHostProviders>;
16
+ }, import("../../app-error/app-error.ts").AppError, import("effect/Path").Path | import("effect/FileSystem").FileSystem | WorkspaceMutations | import("effect/Scope").Scope | SourceHostProviders>;
17
17
  export declare const resolveConfiguredCommand: (name: string, source: string) => Effect.Effect<{
18
18
  ref: CommandExtensionRef;
19
19
  versionRange: Option.Option<string & import("effect/Brand").Brand<"VersionRange">>;
20
- }, import("../../app-error/app-error.ts").AppError, import("effect/FileSystem").FileSystem | import("effect/Path").Path | WorkspaceMutations | import("effect/Scope").Scope | SourceHostProviders>;
20
+ }, import("../../app-error/app-error.ts").AppError, import("effect/Path").Path | import("effect/FileSystem").FileSystem | WorkspaceMutations | import("effect/Scope").Scope | SourceHostProviders>;
21
21
  export declare const resolveConfiguredMcpServer: (name: string, source: string) => Effect.Effect<{
22
22
  ref: McpServerExtensionRef;
23
23
  versionRange: Option.Option<string & import("effect/Brand").Brand<"VersionRange">>;
24
- }, import("../../app-error/app-error.ts").AppError, import("effect/FileSystem").FileSystem | import("effect/Path").Path | WorkspaceMutations | import("effect/Scope").Scope | SourceHostProviders>;
24
+ }, import("../../app-error/app-error.ts").AppError, import("effect/Path").Path | import("effect/FileSystem").FileSystem | WorkspaceMutations | import("effect/Scope").Scope | SourceHostProviders>;
25
25
  export declare const resolveConfiguredPack: (name: string, source: string) => Effect.Effect<{
26
26
  ref: import("../../packs/refs.ts").RegistryPackRef;
27
27
  versionRange: Option.Option<string & import("effect/Brand").Brand<"VersionRange">>;
28
- }, import("../../app-error/app-error.ts").AppError, import("effect/FileSystem").FileSystem | import("effect/Path").Path | WorkspaceMutations | import("effect/Scope").Scope | SourceHostProviders>;
28
+ }, import("../../app-error/app-error.ts").AppError, import("effect/Path").Path | import("effect/FileSystem").FileSystem | WorkspaceMutations | import("effect/Scope").Scope | SourceHostProviders>;
29
29
  //# sourceMappingURL=resolve.d.ts.map