opkg 0.6.1 → 0.7.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 (487) hide show
  1. package/README.md +109 -186
  2. package/assets/openpackage_ascii_dark.png +0 -0
  3. package/assets/openpackage_ascii_light.png +0 -0
  4. package/dist/commands/add.js +34 -10
  5. package/dist/commands/add.js.map +1 -1
  6. package/dist/commands/apply.js +16 -0
  7. package/dist/commands/apply.js.map +1 -0
  8. package/dist/commands/delete.js +1 -1
  9. package/dist/commands/delete.js.map +1 -1
  10. package/dist/commands/install.js +177 -8
  11. package/dist/commands/install.js.map +1 -1
  12. package/dist/commands/list.js +2 -2
  13. package/dist/commands/list.js.map +1 -1
  14. package/dist/commands/login.js +1 -1
  15. package/dist/commands/login.js.map +1 -1
  16. package/dist/commands/logout.js +1 -1
  17. package/dist/commands/logout.js.map +1 -1
  18. package/dist/commands/new.js +125 -0
  19. package/dist/commands/new.js.map +1 -0
  20. package/dist/commands/pack.js +7 -13
  21. package/dist/commands/pack.js.map +1 -1
  22. package/dist/commands/pull.js +1 -1
  23. package/dist/commands/pull.js.map +1 -1
  24. package/dist/commands/push.js +1 -1
  25. package/dist/commands/push.js.map +1 -1
  26. package/dist/commands/remove.js +63 -0
  27. package/dist/commands/remove.js.map +1 -0
  28. package/dist/commands/save.js +11 -17
  29. package/dist/commands/save.js.map +1 -1
  30. package/dist/commands/set.js +33 -0
  31. package/dist/commands/set.js.map +1 -0
  32. package/dist/commands/show.js +16 -94
  33. package/dist/commands/show.js.map +1 -1
  34. package/dist/commands/status.js +26 -701
  35. package/dist/commands/status.js.map +1 -1
  36. package/dist/commands/uninstall.js +14 -427
  37. package/dist/commands/uninstall.js.map +1 -1
  38. package/dist/constants/index.js +72 -16
  39. package/dist/constants/index.js.map +1 -1
  40. package/dist/core/add/add-conflict-handler.js +1 -8
  41. package/dist/core/add/add-conflict-handler.js.map +1 -1
  42. package/dist/core/add/add-pipeline.js +12 -10
  43. package/dist/core/add/add-pipeline.js.map +1 -1
  44. package/dist/core/add/add-to-source-pipeline.js +123 -0
  45. package/dist/core/add/add-to-source-pipeline.js.map +1 -0
  46. package/dist/core/add/package-index-updater.js +77 -78
  47. package/dist/core/add/package-index-updater.js.map +1 -1
  48. package/dist/core/add/platform-path-transformer.js +6 -4
  49. package/dist/core/add/platform-path-transformer.js.map +1 -1
  50. package/dist/core/add/source-collector.js +2 -3
  51. package/dist/core/add/source-collector.js.map +1 -1
  52. package/dist/core/apply/apply-pipeline.js +110 -0
  53. package/dist/core/apply/apply-pipeline.js.map +1 -0
  54. package/dist/core/dependency-resolver.js +263 -21
  55. package/dist/core/dependency-resolver.js.map +1 -1
  56. package/dist/core/discovery/file-discovery.js +1 -2
  57. package/dist/core/discovery/file-discovery.js.map +1 -1
  58. package/dist/core/discovery/platform-files-discovery.js +33 -18
  59. package/dist/core/discovery/platform-files-discovery.js.map +1 -1
  60. package/dist/core/flows/flow-executor.js +974 -0
  61. package/dist/core/flows/flow-executor.js.map +1 -0
  62. package/dist/core/flows/flow-inverter.js +442 -0
  63. package/dist/core/flows/flow-inverter.js.map +1 -0
  64. package/dist/core/flows/flow-key-extractor.js +101 -0
  65. package/dist/core/flows/flow-key-extractor.js.map +1 -0
  66. package/dist/core/flows/flow-key-mapper.js +382 -0
  67. package/dist/core/flows/flow-key-mapper.js.map +1 -0
  68. package/dist/core/flows/flow-transforms.js +632 -0
  69. package/dist/core/flows/flow-transforms.js.map +1 -0
  70. package/dist/core/flows/map-pipeline/context.js +73 -0
  71. package/dist/core/flows/map-pipeline/context.js.map +1 -0
  72. package/dist/core/flows/map-pipeline/index.js +156 -0
  73. package/dist/core/flows/map-pipeline/index.js.map +1 -0
  74. package/dist/core/flows/map-pipeline/operations/copy.js +104 -0
  75. package/dist/core/flows/map-pipeline/operations/copy.js.map +1 -0
  76. package/dist/core/flows/map-pipeline/operations/pipe.js +70 -0
  77. package/dist/core/flows/map-pipeline/operations/pipe.js.map +1 -0
  78. package/dist/core/flows/map-pipeline/operations/rename.js +102 -0
  79. package/dist/core/flows/map-pipeline/operations/rename.js.map +1 -0
  80. package/dist/core/flows/map-pipeline/operations/set.js +50 -0
  81. package/dist/core/flows/map-pipeline/operations/set.js.map +1 -0
  82. package/dist/core/flows/map-pipeline/operations/switch.js +79 -0
  83. package/dist/core/flows/map-pipeline/operations/switch.js.map +1 -0
  84. package/dist/core/flows/map-pipeline/operations/transform.js +543 -0
  85. package/dist/core/flows/map-pipeline/operations/transform.js.map +1 -0
  86. package/dist/core/flows/map-pipeline/operations/unset.js +65 -0
  87. package/dist/core/flows/map-pipeline/operations/unset.js.map +1 -0
  88. package/dist/core/flows/map-pipeline/types.js +8 -0
  89. package/dist/core/flows/map-pipeline/types.js.map +1 -0
  90. package/dist/core/flows/map-pipeline/utils.js +278 -0
  91. package/dist/core/flows/map-pipeline/utils.js.map +1 -0
  92. package/dist/core/flows/platform-converter.js +328 -0
  93. package/dist/core/flows/platform-converter.js.map +1 -0
  94. package/dist/core/flows/source-resolver.js +192 -0
  95. package/dist/core/flows/source-resolver.js.map +1 -0
  96. package/dist/core/flows/toml-domain-transforms.js +23 -0
  97. package/dist/core/flows/toml-domain-transforms.js.map +1 -0
  98. package/dist/core/install/bulk-install-pipeline.js +68 -7
  99. package/dist/core/install/bulk-install-pipeline.js.map +1 -1
  100. package/dist/core/install/canonical-plan.js +3 -3
  101. package/dist/core/install/canonical-plan.js.map +1 -1
  102. package/dist/core/install/dry-run.js +3 -3
  103. package/dist/core/install/dry-run.js.map +1 -1
  104. package/dist/core/install/flow-based-installer.js +1158 -0
  105. package/dist/core/install/flow-based-installer.js.map +1 -0
  106. package/dist/core/install/flow-workspace-tracker.js +111 -0
  107. package/dist/core/install/flow-workspace-tracker.js.map +1 -0
  108. package/dist/core/install/format-detector.js +228 -0
  109. package/dist/core/install/format-detector.js.map +1 -0
  110. package/dist/core/install/git-package-loader.js +20 -0
  111. package/dist/core/install/git-package-loader.js.map +1 -0
  112. package/dist/core/install/install-errors.js +1 -1
  113. package/dist/core/install/install-errors.js.map +1 -1
  114. package/dist/core/install/install-flow.js +34 -14
  115. package/dist/core/install/install-flow.js.map +1 -1
  116. package/dist/core/install/install-pipeline.js +52 -17
  117. package/dist/core/install/install-pipeline.js.map +1 -1
  118. package/dist/core/install/install-reporting.js +26 -8
  119. package/dist/core/install/install-reporting.js.map +1 -1
  120. package/dist/core/install/local-source-resolution.js +103 -0
  121. package/dist/core/install/local-source-resolution.js.map +1 -0
  122. package/dist/core/install/marketplace-handler.js +221 -0
  123. package/dist/core/install/marketplace-handler.js.map +1 -0
  124. package/dist/core/install/path-install-pipeline.js +241 -0
  125. package/dist/core/install/path-install-pipeline.js.map +1 -0
  126. package/dist/core/install/path-package-loader.js +116 -0
  127. package/dist/core/install/path-package-loader.js.map +1 -0
  128. package/dist/core/install/plugin-detector.js +72 -0
  129. package/dist/core/install/plugin-detector.js.map +1 -0
  130. package/dist/core/install/plugin-to-universal-converter.js +218 -0
  131. package/dist/core/install/plugin-to-universal-converter.js.map +1 -0
  132. package/dist/core/install/plugin-transformer.js +191 -0
  133. package/dist/core/install/plugin-transformer.js.map +1 -0
  134. package/dist/core/install/version-selection.js +1 -1
  135. package/dist/core/install/version-selection.js.map +1 -1
  136. package/dist/core/openpackage.js +40 -22
  137. package/dist/core/openpackage.js.map +1 -1
  138. package/dist/core/pack/pack-output.js +62 -0
  139. package/dist/core/pack/pack-output.js.map +1 -0
  140. package/dist/core/pack/pack-pipeline.js +186 -0
  141. package/dist/core/pack/pack-pipeline.js.map +1 -0
  142. package/dist/core/package-context.js +45 -70
  143. package/dist/core/package-context.js.map +1 -1
  144. package/dist/core/package-creation.js +203 -0
  145. package/dist/core/package-creation.js.map +1 -0
  146. package/dist/core/package.js +20 -6
  147. package/dist/core/package.js.map +1 -1
  148. package/dist/core/platforms.js +665 -209
  149. package/dist/core/platforms.js.map +1 -1
  150. package/dist/core/push/push-context.js +1 -1
  151. package/dist/core/push/push-context.js.map +1 -1
  152. package/dist/core/push/push-upload.js +2 -2
  153. package/dist/core/push/push-upload.js.map +1 -1
  154. package/dist/core/registry.js +6 -6
  155. package/dist/core/registry.js.map +1 -1
  156. package/dist/core/remote-pull.js +2 -2
  157. package/dist/core/remote-pull.js.map +1 -1
  158. package/dist/core/remove/removal-collector.js +52 -0
  159. package/dist/core/remove/removal-collector.js.map +1 -0
  160. package/dist/core/remove/removal-confirmation.js +39 -0
  161. package/dist/core/remove/removal-confirmation.js.map +1 -0
  162. package/dist/core/remove/remove-from-source-pipeline.js +173 -0
  163. package/dist/core/remove/remove-from-source-pipeline.js.map +1 -0
  164. package/dist/core/save/constants.js +3 -3
  165. package/dist/core/save/constants.js.map +1 -1
  166. package/dist/core/save/flow-based-saver.js +270 -0
  167. package/dist/core/save/flow-based-saver.js.map +1 -0
  168. package/dist/core/save/name-resolution.js +1 -1
  169. package/dist/core/save/name-resolution.js.map +1 -1
  170. package/dist/core/save/package-yml-generator.js +4 -5
  171. package/dist/core/save/package-yml-generator.js.map +1 -1
  172. package/dist/core/save/save-candidate-builder.js +215 -0
  173. package/dist/core/save/save-candidate-builder.js.map +1 -0
  174. package/dist/core/save/save-candidate-loader.js +12 -11
  175. package/dist/core/save/save-candidate-loader.js.map +1 -1
  176. package/dist/core/save/save-conflict-analyzer.js +150 -0
  177. package/dist/core/save/save-conflict-analyzer.js.map +1 -0
  178. package/dist/core/save/save-conflict-resolution.js +28 -14
  179. package/dist/core/save/save-conflict-resolution.js.map +1 -1
  180. package/dist/core/save/save-conflict-resolver.js +31 -275
  181. package/dist/core/save/save-conflict-resolver.js.map +1 -1
  182. package/dist/core/save/save-group-builder.js +52 -0
  183. package/dist/core/save/save-group-builder.js.map +1 -0
  184. package/dist/core/save/save-interactive-resolver.js +190 -0
  185. package/dist/core/save/save-interactive-resolver.js.map +1 -0
  186. package/dist/core/save/save-pipeline.js +58 -34
  187. package/dist/core/save/save-pipeline.js.map +1 -1
  188. package/dist/core/save/save-platform-handler.js +53 -0
  189. package/dist/core/save/save-platform-handler.js.map +1 -0
  190. package/dist/core/save/save-resolution-executor.js +145 -0
  191. package/dist/core/save/save-resolution-executor.js.map +1 -0
  192. package/dist/core/save/save-result-reporter.js +167 -0
  193. package/dist/core/save/save-result-reporter.js.map +1 -0
  194. package/dist/core/save/save-to-source-pipeline.js +154 -0
  195. package/dist/core/save/save-to-source-pipeline.js.map +1 -0
  196. package/dist/core/save/save-versioning.js +4 -4
  197. package/dist/core/save/save-versioning.js.map +1 -1
  198. package/dist/core/save/save-write-coordinator.js +204 -0
  199. package/dist/core/save/save-write-coordinator.js.map +1 -0
  200. package/dist/core/save/save-yml-resolution.js +28 -216
  201. package/dist/core/save/save-yml-resolution.js.map +1 -1
  202. package/dist/core/save/workspace-rename.js +7 -8
  203. package/dist/core/save/workspace-rename.js.map +1 -1
  204. package/dist/core/set/set-output.js +72 -0
  205. package/dist/core/set/set-output.js.map +1 -0
  206. package/dist/core/set/set-pipeline.js +361 -0
  207. package/dist/core/set/set-pipeline.js.map +1 -0
  208. package/dist/core/set/set-types.js +5 -0
  209. package/dist/core/set/set-types.js.map +1 -0
  210. package/dist/core/show/package-resolver.js +257 -0
  211. package/dist/core/show/package-resolver.js.map +1 -0
  212. package/dist/core/show/scope-discovery.js +165 -0
  213. package/dist/core/show/scope-discovery.js.map +1 -0
  214. package/dist/core/show/show-output.js +168 -0
  215. package/dist/core/show/show-output.js.map +1 -0
  216. package/dist/core/show/show-pipeline.js +113 -0
  217. package/dist/core/show/show-pipeline.js.map +1 -0
  218. package/dist/core/show/show-types.js +5 -0
  219. package/dist/core/show/show-types.js.map +1 -0
  220. package/dist/core/source-resolution/dependency-graph.js +104 -0
  221. package/dist/core/source-resolution/dependency-graph.js.map +1 -0
  222. package/dist/core/source-resolution/resolve-mutable-source.js +109 -0
  223. package/dist/core/source-resolution/resolve-mutable-source.js.map +1 -0
  224. package/dist/core/source-resolution/resolve-package-source.js +29 -0
  225. package/dist/core/source-resolution/resolve-package-source.js.map +1 -0
  226. package/dist/core/source-resolution/resolve-registry-version.js +35 -0
  227. package/dist/core/source-resolution/resolve-registry-version.js.map +1 -0
  228. package/dist/core/source-resolution/types.js.map +1 -0
  229. package/dist/core/status/status-file-discovery.js +23 -12
  230. package/dist/core/status/status-file-discovery.js.map +1 -1
  231. package/dist/core/status/status-pipeline.js +134 -0
  232. package/dist/core/status/status-pipeline.js.map +1 -0
  233. package/dist/core/sync/platform-sync-summary.js +27 -0
  234. package/dist/core/sync/platform-sync-summary.js.map +1 -0
  235. package/dist/core/uninstall/flow-aware-uninstaller.js +189 -0
  236. package/dist/core/uninstall/flow-aware-uninstaller.js.map +1 -0
  237. package/dist/core/uninstall/uninstall-file-discovery.js +11 -6
  238. package/dist/core/uninstall/uninstall-file-discovery.js.map +1 -1
  239. package/dist/core/uninstall/uninstall-pipeline.js +141 -0
  240. package/dist/core/uninstall/uninstall-pipeline.js.map +1 -0
  241. package/dist/core/universal-patterns.js +64 -0
  242. package/dist/core/universal-patterns.js.map +1 -0
  243. package/dist/index.js +99 -6
  244. package/dist/index.js.map +1 -1
  245. package/dist/types/flows.js +8 -0
  246. package/dist/types/flows.js.map +1 -0
  247. package/dist/types/index.js +3 -0
  248. package/dist/types/index.js.map +1 -1
  249. package/dist/types/platform-flows.js +8 -0
  250. package/dist/types/platform-flows.js.map +1 -0
  251. package/dist/types/workspace-index.js +6 -0
  252. package/dist/types/workspace-index.js.map +1 -0
  253. package/dist/utils/custom-path-resolution.js +160 -0
  254. package/dist/utils/custom-path-resolution.js.map +1 -0
  255. package/dist/utils/dependency-coverage.js +1 -1
  256. package/dist/utils/dependency-coverage.js.map +1 -1
  257. package/dist/utils/file-processing.js +1 -1
  258. package/dist/utils/flow-index-installer.js +209 -0
  259. package/dist/utils/flow-index-installer.js.map +1 -0
  260. package/dist/utils/formatters.js +47 -1
  261. package/dist/utils/formatters.js.map +1 -1
  262. package/dist/utils/fs.js +17 -0
  263. package/dist/utils/fs.js.map +1 -1
  264. package/dist/utils/git-clone-registry.js +88 -0
  265. package/dist/utils/git-clone-registry.js.map +1 -0
  266. package/dist/utils/git-clone.js +69 -0
  267. package/dist/utils/git-clone.js.map +1 -0
  268. package/dist/utils/git-spec.js +96 -0
  269. package/dist/utils/git-spec.js.map +1 -0
  270. package/dist/utils/http-client.js +7 -0
  271. package/dist/utils/http-client.js.map +1 -1
  272. package/dist/utils/index-based-installer.js +356 -163
  273. package/dist/utils/index-based-installer.js.map +1 -1
  274. package/dist/utils/install-conflict-handler.js +2 -2
  275. package/dist/utils/install-conflict-handler.js.map +1 -1
  276. package/dist/utils/install-file-discovery.js +18 -13
  277. package/dist/utils/install-file-discovery.js.map +1 -1
  278. package/dist/utils/install-helpers.js +43 -20
  279. package/dist/utils/install-helpers.js.map +1 -1
  280. package/dist/utils/jsonc.js +23 -1
  281. package/dist/utils/jsonc.js.map +1 -1
  282. package/dist/utils/manifest-paths.js +1 -1
  283. package/dist/utils/manifest-paths.js.map +1 -1
  284. package/dist/utils/markdown-frontmatter.js +46 -0
  285. package/dist/utils/markdown-frontmatter.js.map +1 -1
  286. package/dist/utils/package-copy.js +5 -103
  287. package/dist/utils/package-copy.js.map +1 -1
  288. package/dist/utils/package-filters.js +9 -105
  289. package/dist/utils/package-filters.js.map +1 -1
  290. package/dist/utils/package-index-yml.js +27 -6
  291. package/dist/utils/package-index-yml.js.map +1 -1
  292. package/dist/utils/package-input.js +98 -0
  293. package/dist/utils/package-input.js.map +1 -0
  294. package/dist/utils/package-management.js +80 -28
  295. package/dist/utils/package-management.js.map +1 -1
  296. package/dist/utils/package-name-resolution.js +327 -0
  297. package/dist/utils/package-name-resolution.js.map +1 -0
  298. package/dist/utils/package-name.js +18 -16
  299. package/dist/utils/package-name.js.map +1 -1
  300. package/dist/utils/package-versioning.js +2 -33
  301. package/dist/utils/package-versioning.js.map +1 -1
  302. package/dist/utils/package-yml.js +19 -28
  303. package/dist/utils/package-yml.js.map +1 -1
  304. package/dist/utils/path-resolution.js +102 -0
  305. package/dist/utils/path-resolution.js.map +1 -0
  306. package/dist/utils/paths.js +6 -6
  307. package/dist/utils/paths.js.map +1 -1
  308. package/dist/utils/platform-file.js +36 -24
  309. package/dist/utils/platform-file.js.map +1 -1
  310. package/dist/utils/platform-mapper.js +222 -68
  311. package/dist/utils/platform-mapper.js.map +1 -1
  312. package/dist/utils/platform-root-files.js +44 -0
  313. package/dist/utils/platform-root-files.js.map +1 -0
  314. package/dist/utils/platform-utils.js +35 -54
  315. package/dist/utils/platform-utils.js.map +1 -1
  316. package/dist/utils/platform-yaml-merge.js +20 -140
  317. package/dist/utils/platform-yaml-merge.js.map +1 -1
  318. package/dist/utils/prompts.js +92 -7
  319. package/dist/utils/prompts.js.map +1 -1
  320. package/dist/utils/registry-entry-filter.js +50 -27
  321. package/dist/utils/registry-entry-filter.js.map +1 -1
  322. package/dist/utils/registry-paths.js +5 -4
  323. package/dist/utils/registry-paths.js.map +1 -1
  324. package/dist/utils/scope-resolution.js +156 -0
  325. package/dist/utils/scope-resolution.js.map +1 -0
  326. package/dist/utils/source-mutability.js +15 -0
  327. package/dist/utils/source-mutability.js.map +1 -0
  328. package/dist/utils/tarball.js +29 -4
  329. package/dist/utils/tarball.js.map +1 -1
  330. package/dist/utils/version-ranges.js +1 -32
  331. package/dist/utils/version-ranges.js.map +1 -1
  332. package/dist/utils/workspace-index-helpers.js +28 -0
  333. package/dist/utils/workspace-index-helpers.js.map +1 -0
  334. package/dist/utils/workspace-index-ownership.js +100 -0
  335. package/dist/utils/workspace-index-ownership.js.map +1 -0
  336. package/dist/utils/workspace-index-yml.js +173 -0
  337. package/dist/utils/workspace-index-yml.js.map +1 -0
  338. package/examples/custom-subdirs-platform.jsonc +157 -0
  339. package/package.json +7 -2
  340. package/platforms.jsonc +531 -84
  341. package/schemas/map-pipeline-v1.json +256 -0
  342. package/schemas/platforms-v1.json +400 -0
  343. package/specs/README.md +88 -0
  344. package/specs/add/README.md +166 -0
  345. package/specs/agents-claude.md +570 -0
  346. package/specs/agents-opencode.md +622 -0
  347. package/specs/apply/README.md +21 -0
  348. package/specs/apply/apply-behavior.md +58 -0
  349. package/specs/apply/apply-command.md +51 -0
  350. package/specs/apply/conflicts.md +41 -0
  351. package/specs/apply/index-effects.md +81 -0
  352. package/specs/architecture.md +107 -0
  353. package/specs/auth/README.md +17 -0
  354. package/specs/auth/auth-http-contract.md +25 -0
  355. package/specs/auth/cli/credentials.md +39 -0
  356. package/specs/auth/cli/login.md +32 -0
  357. package/specs/auth/cli/logout.md +16 -0
  358. package/specs/claude-mcp.md +1065 -0
  359. package/specs/claude-plugins-marketplace.md +363 -0
  360. package/specs/claude-plugins.md +413 -0
  361. package/specs/cli-options.md +52 -0
  362. package/specs/codex-mcp.md +114 -0
  363. package/specs/commands-overview.md +175 -0
  364. package/specs/directory-layout.md +95 -0
  365. package/specs/install/README.md +12 -4
  366. package/specs/install/git-sources.md +230 -0
  367. package/specs/install/install-behavior.md +483 -73
  368. package/specs/install/package-yml-canonical.md +67 -35
  369. package/specs/install/version-resolution.md +69 -115
  370. package/specs/new/README.md +769 -0
  371. package/specs/new/SUMMARY.md +310 -0
  372. package/specs/new/scope-behavior.md +793 -0
  373. package/specs/pack/README.md +77 -0
  374. package/specs/pack/package-name-resolution.md +330 -0
  375. package/specs/package/README.md +18 -17
  376. package/specs/package/nested-packages-and-parent-packages.md +32 -31
  377. package/specs/package/package-index-yml.md +95 -101
  378. package/specs/package/package-root-layout.md +64 -46
  379. package/specs/package/registry-payload-and-copy.md +50 -44
  380. package/specs/package/universal-content.md +33 -56
  381. package/specs/package-sources.md +248 -0
  382. package/specs/platforms/README.md +52 -0
  383. package/specs/platforms/configuration.md +571 -0
  384. package/specs/platforms/detection.md +552 -0
  385. package/specs/platforms/directory-layout.md +599 -0
  386. package/specs/platforms/examples.md +1146 -0
  387. package/specs/platforms/flow-reference.md +1240 -0
  388. package/specs/platforms/flows.md +1488 -0
  389. package/specs/platforms/map-pipeline.md +801 -0
  390. package/specs/platforms/overview.md +349 -0
  391. package/specs/platforms/specification.md +700 -0
  392. package/specs/platforms/troubleshooting.md +697 -0
  393. package/specs/platforms/universal-converter.md +520 -0
  394. package/specs/push/README.md +1 -0
  395. package/specs/push/push-behavior.md +11 -3
  396. package/specs/push/push-remote-upload.md +1 -1
  397. package/specs/push/push-scoping.md +1 -1
  398. package/specs/push/push-version-selection.md +1 -1
  399. package/specs/registry.md +111 -0
  400. package/specs/remove/README.md +257 -0
  401. package/specs/save/README.md +21 -17
  402. package/specs/save/save-conflict-resolution.md +205 -83
  403. package/specs/save/save-file-discovery.md +6 -4
  404. package/specs/save/save-frontmatter-overrides.md +11 -15
  405. package/specs/save/save-modes-inputs.md +9 -39
  406. package/specs/save/save-naming-scoping.md +4 -4
  407. package/specs/save/save-package-detection.md +13 -13
  408. package/specs/save/save-registry-sync.md +16 -106
  409. package/specs/save/save-versioning.md +80 -0
  410. package/specs/scope-management.md +92 -0
  411. package/specs/set/README.md +520 -0
  412. package/specs/set/set-behavior.md +563 -0
  413. package/specs/show/README.md +483 -0
  414. package/specs/show/show-remote.md +494 -0
  415. package/specs/status/README.md +38 -0
  416. package/specs/uninstall/README.md +231 -0
  417. package/dist/commands/duplicate.js +0 -69
  418. package/dist/commands/duplicate.js.map +0 -1
  419. package/dist/commands/init.js +0 -117
  420. package/dist/commands/init.js.map +0 -1
  421. package/dist/commands/prune.js +0 -357
  422. package/dist/commands/prune.js.map +0 -1
  423. package/dist/commands/tui.js +0 -61
  424. package/dist/commands/tui.js.map +0 -1
  425. package/dist/core/install/index.js +0 -3
  426. package/dist/core/install/index.js.map +0 -1
  427. package/dist/core/push/push-single-file.js +0 -56
  428. package/dist/core/push/push-single-file.js.map +0 -1
  429. package/dist/core/save/package-detection.js +0 -147
  430. package/dist/core/save/package-detection.js.map +0 -1
  431. package/dist/core/save/save-single-file.js +0 -124
  432. package/dist/core/save/save-single-file.js.map +0 -1
  433. package/dist/core/token-store.js +0 -73
  434. package/dist/core/token-store.js.map +0 -1
  435. package/dist/tui/app.js +0 -95
  436. package/dist/tui/app.js.map +0 -1
  437. package/dist/tui/components/package-list.js +0 -73
  438. package/dist/tui/components/package-list.js.map +0 -1
  439. package/dist/tui/controller.js +0 -365
  440. package/dist/tui/controller.js.map +0 -1
  441. package/dist/tui/index.js +0 -12
  442. package/dist/tui/index.js.map +0 -1
  443. package/dist/tui/services/file-index.js +0 -64
  444. package/dist/tui/services/file-index.js.map +0 -1
  445. package/dist/tui/services/packages.js +0 -18
  446. package/dist/tui/services/packages.js.map +0 -1
  447. package/dist/tui/services/save.js +0 -21
  448. package/dist/tui/services/save.js.map +0 -1
  449. package/dist/tui/state/app-state.js +0 -15
  450. package/dist/tui/state/app-state.js.map +0 -1
  451. package/dist/tui/state.js +0 -17
  452. package/dist/tui/state.js.map +0 -1
  453. package/dist/tui/types.js.map +0 -1
  454. package/dist/tui/views/add-file-modal.js +0 -129
  455. package/dist/tui/views/add-file-modal.js.map +0 -1
  456. package/dist/tui/views/file-preview.js +0 -44
  457. package/dist/tui/views/file-preview.js.map +0 -1
  458. package/dist/tui/views/list-packages.js +0 -73
  459. package/dist/tui/views/list-packages.js.map +0 -1
  460. package/dist/tui/views/main-menu.js +0 -29
  461. package/dist/tui/views/main-menu.js.map +0 -1
  462. package/dist/tui/views/manage-view.js +0 -81
  463. package/dist/tui/views/manage-view.js.map +0 -1
  464. package/dist/tui/views/package-hub.js +0 -120
  465. package/dist/tui/views/package-hub.js.map +0 -1
  466. package/dist/tui/views/placeholder.js +0 -24
  467. package/dist/tui/views/placeholder.js.map +0 -1
  468. package/dist/utils/bun-bootstrap.js +0 -72
  469. package/dist/utils/bun-bootstrap.js.map +0 -1
  470. package/dist/utils/entity-id.js +0 -19
  471. package/dist/utils/entity-id.js.map +0 -1
  472. package/dist/utils/package-local-files.js +0 -5
  473. package/dist/utils/package-local-files.js.map +0 -1
  474. package/dist/utils/path-matching.js +0 -74
  475. package/dist/utils/path-matching.js.map +0 -1
  476. package/dist/utils/root-file-operations.js +0 -39
  477. package/dist/utils/root-file-operations.js.map +0 -1
  478. package/dist/utils/root-file-transformer.js +0 -27
  479. package/dist/utils/root-file-transformer.js.map +0 -1
  480. package/dist/utils/yaml-frontmatter.js +0 -25
  481. package/dist/utils/yaml-frontmatter.js.map +0 -1
  482. package/specs/auth/auth-device-flow.md +0 -70
  483. package/specs/login/login-device-flow.md +0 -70
  484. package/specs/platforms.md +0 -193
  485. package/specs/save-pack-versioning.md +0 -224
  486. package/specs/save-pack.md +0 -68
  487. /package/dist/{tui → core/source-resolution}/types.js +0 -0
@@ -9,16 +9,17 @@ import { findFilesByExtension, findDirectoriesContainingFile } from '../utils/fi
9
9
  import { getDetectedPlatforms, getPlatformDefinition } from './platforms.js';
10
10
  import { arePackageNamesEquivalent } from '../utils/package-name.js';
11
11
  /**
12
- * Find package config file (.openpackage/package.yml or package.yml) in a directory
12
+ * Find package config file in a directory.
13
+ * Prefers v2 layout: <dir>/openpackage.yml, then <dir>/.openpackage/openpackage.yml (workspace-style).
13
14
  */
14
15
  async function findPackageConfigFile(directoryPath) {
15
- const openpackagePackageYmlPath = getLocalPackageYmlPath(directoryPath);
16
- const packageYmlPath = join(directoryPath, FILE_PATTERNS.PACKAGE_YML);
17
- if (await exists(openpackagePackageYmlPath)) {
18
- return openpackagePackageYmlPath;
16
+ const rootManifest = join(directoryPath, FILE_PATTERNS.OPENPACKAGE_YML);
17
+ const workspaceManifest = getLocalPackageYmlPath(directoryPath);
18
+ if (await exists(rootManifest)) {
19
+ return rootManifest;
19
20
  }
20
- else if (await exists(packageYmlPath)) {
21
- return packageYmlPath;
21
+ else if (await exists(workspaceManifest)) {
22
+ return workspaceManifest;
22
23
  }
23
24
  return null;
24
25
  }
@@ -85,12 +86,12 @@ export async function scanOpenPackagePackages(openpackagePath) {
85
86
  return packages;
86
87
  }
87
88
  try {
88
- // Find all package.yml files recursively under the packages directory
89
+ // Find all openpackage.yml files recursively under the packages directory
89
90
  const packagesDir = getLocalPackagesDir(openpackagePath);
90
91
  if (!(await exists(packagesDir))) {
91
92
  return packages;
92
93
  }
93
- const packageDirs = await findDirectoriesContainingFile(packagesDir, FILE_PATTERNS.PACKAGE_YML, async (filePath) => {
94
+ const packageDirs = await findDirectoriesContainingFile(packagesDir, FILE_PATTERNS.OPENPACKAGE_YML, async (filePath) => {
94
95
  try {
95
96
  return await parsePackageYml(filePath);
96
97
  }
@@ -119,7 +120,7 @@ export async function scanOpenPackagePackages(openpackagePath) {
119
120
  return packages;
120
121
  }
121
122
  /**
122
- * Gather version constraints from the main and nested package.yml files
123
+ * Gather version constraints from the main and cached package openpackage.yml files
123
124
  */
124
125
  export async function gatherGlobalVersionConstraints(cwd, includeResolutions = true) {
125
126
  const constraints = new Map();
@@ -144,7 +145,7 @@ export async function gatherGlobalVersionConstraints(cwd, includeResolutions = t
144
145
  config.packages?.forEach(dep => addConstraint(dep.name, dep.version));
145
146
  config['dev-packages']?.forEach(dep => addConstraint(dep.name, dep.version));
146
147
  };
147
- // Collect from main .openpackage/package.yml if present
148
+ // Collect from main .openpackage/openpackage.yml if present
148
149
  const mainPackagePath = getLocalPackageYmlPath(cwd);
149
150
  if (await exists(mainPackagePath)) {
150
151
  try {
@@ -152,19 +153,19 @@ export async function gatherGlobalVersionConstraints(cwd, includeResolutions = t
152
153
  collectFromConfig(mainConfig);
153
154
  }
154
155
  catch (error) {
155
- logger.debug(`Failed to parse main package.yml for constraints: ${error}`);
156
+ logger.debug(`Failed to parse main openpackage.yml for constraints: ${error}`);
156
157
  }
157
158
  }
158
159
  // Collect from each package under .openpackage/packages
159
160
  const packagesDir = getLocalPackagesDir(cwd);
160
161
  if (await exists(packagesDir) && await isDirectory(packagesDir)) {
161
162
  try {
162
- const packageDirs = await findDirectoriesContainingFile(packagesDir, FILE_PATTERNS.PACKAGE_YML, async (filePath) => {
163
+ const packageDirs = await findDirectoriesContainingFile(packagesDir, FILE_PATTERNS.OPENPACKAGE_YML, async (filePath) => {
163
164
  try {
164
165
  return await parsePackageYml(filePath);
165
166
  }
166
167
  catch (error) {
167
- logger.debug(`Failed to parse package.yml at ${filePath}: ${error}`);
168
+ logger.debug(`Failed to parse openpackage.yml at ${filePath}: ${error}`);
168
169
  return null;
169
170
  }
170
171
  });
@@ -183,7 +184,7 @@ export async function gatherGlobalVersionConstraints(cwd, includeResolutions = t
183
184
  return result;
184
185
  }
185
186
  /**
186
- * Gather version constraints only from the main .openpackage/package.yml
187
+ * Gather version constraints only from the main .openpackage/openpackage.yml
187
188
  * Used to treat root-declared versions as authoritative overrides
188
189
  */
189
190
  export async function gatherRootVersionConstraints(cwd) {
@@ -209,7 +210,7 @@ export async function gatherRootVersionConstraints(cwd) {
209
210
  mainConfig['dev-packages']?.forEach(dep => addConstraint(dep.name, dep.version));
210
211
  }
211
212
  catch (error) {
212
- logger.debug(`Failed to parse main package.yml for root constraints: ${error}`);
213
+ logger.debug(`Failed to parse main openpackage.yml for root constraints: ${error}`);
213
214
  }
214
215
  }
215
216
  return result;
@@ -246,17 +247,34 @@ export async function checkExistingPackageInMarkdownFiles(cwd, packageName) {
246
247
  exts: [FILE_PATTERNS.MD_FILES],
247
248
  label: DEFAULT_INSTALL_ROOT
248
249
  });
249
- // Add detected platforms' subdirectories (rules/commands/agents, etc.)
250
+ // Add detected platforms' directories from flows
250
251
  try {
251
252
  const platforms = await getDetectedPlatforms(cwd);
252
253
  for (const platform of platforms) {
253
254
  const def = getPlatformDefinition(platform);
254
- for (const [_, subdirDef] of Object.entries(def.subdirs)) {
255
- const dirPath = join(cwd, def.rootDir, subdirDef.path);
256
- if (subdirDef.exts && subdirDef.exts.length === 0) {
257
- continue;
255
+ // Extract directories from export flows (package → workspace)
256
+ if (def.export && def.export.length > 0) {
257
+ const platformDirs = new Set();
258
+ for (const flow of def.export) {
259
+ const toPattern = typeof flow.to === 'string' ? flow.to : Object.keys(flow.to)[0];
260
+ if (toPattern) {
261
+ // Extract directory from pattern
262
+ const parts = toPattern.split('/');
263
+ if (parts.length > 1) {
264
+ const fullPath = parts.slice(0, -1).join('/');
265
+ platformDirs.add(fullPath);
266
+ }
267
+ }
268
+ }
269
+ // Add each unique directory as a target
270
+ for (const dirPath of platformDirs) {
271
+ const fullDirPath = join(cwd, dirPath);
272
+ targets.push({
273
+ dir: fullDirPath,
274
+ exts: undefined, // Allow all extensions (flows handle this)
275
+ label: def.id
276
+ });
258
277
  }
259
- targets.push({ dir: dirPath, exts: subdirDef.exts, label: def.id });
260
278
  }
261
279
  }
262
280
  }
@@ -1 +1 @@
1
- {"version":3,"file":"openpackage.js","sourceRoot":"","sources":["../../src/core/openpackage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openpackage.js","sourceRoot":"","sources":["../../src/core/openpackage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * @fileoverview Display/output logic for the pack command
3
+ *
4
+ * Handles formatting and displaying pack operation results to the console.
5
+ * Separated from business logic for easy testing and customization.
6
+ */
7
+ import { formatPathForDisplay } from '../../utils/formatters.js';
8
+ import { formatVersionLabel } from '../../utils/package-versioning.js';
9
+ /**
10
+ * Display pack operation summary
11
+ */
12
+ export function displayPackSuccess(info, cwd) {
13
+ const { packageName, version, description, sourcePath, destinationPath, fileCount, isCustomOutput } = info;
14
+ // Success header
15
+ console.log(`✓ Packed ${packageName}@${formatVersionLabel(version)}`);
16
+ // Package details
17
+ if (description) {
18
+ console.log(`✓ Description: ${description}`);
19
+ }
20
+ // Source information
21
+ const displaySource = formatPathForDisplay(sourcePath, cwd);
22
+ console.log(`✓ Source: ${displaySource}`);
23
+ // Destination information
24
+ const displayDestination = formatPathForDisplay(destinationPath, cwd);
25
+ const destinationType = isCustomOutput ? 'Custom output' : 'Registry';
26
+ console.log(`✓ ${destinationType}: ${displayDestination}`);
27
+ // File count
28
+ console.log(`✓ Files: ${fileCount}`);
29
+ }
30
+ /**
31
+ * Display dry-run information
32
+ */
33
+ export function displayPackDryRun(info, cwd) {
34
+ const { packageName, version, sourcePath, destinationPath, fileCount, isCustomOutput, destinationExists, existingFileCount } = info;
35
+ console.log(`(dry-run) Pack operation preview for ${packageName}@${formatVersionLabel(version)}`);
36
+ const displaySource = formatPathForDisplay(sourcePath, cwd);
37
+ console.log(`✓ Source: ${displaySource}`);
38
+ const displayDestination = formatPathForDisplay(destinationPath, cwd);
39
+ const destinationType = isCustomOutput ? 'Custom output' : 'Registry';
40
+ console.log(`✓ ${destinationType}: ${displayDestination}`);
41
+ if (destinationExists && existingFileCount !== undefined) {
42
+ console.log(`⚠️ Would overwrite existing package (${existingFileCount} file(s))`);
43
+ }
44
+ console.log(`✓ Would pack ${fileCount} file(s)`);
45
+ }
46
+ /**
47
+ * Create pack result info from pipeline data
48
+ */
49
+ export function createPackResultInfo(packageName, version, sourcePath, destinationPath, fileCount, manifest, isCustomOutput, destinationExists, existingFileCount) {
50
+ return {
51
+ packageName,
52
+ version,
53
+ description: manifest.description,
54
+ sourcePath,
55
+ destinationPath,
56
+ fileCount,
57
+ isCustomOutput,
58
+ destinationExists,
59
+ existingFileCount
60
+ };
61
+ }
62
+ //# sourceMappingURL=pack-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pack-output.js","sourceRoot":"","sources":["../../../src/core/pack/pack-output.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAevE;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAoB,EACpB,GAAW;IAEX,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;IAE3G,iBAAiB;IACjB,OAAO,CAAC,GAAG,CAAC,YAAY,WAAW,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEtE,kBAAkB;IAClB,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,kBAAkB,WAAW,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,qBAAqB;IACrB,MAAM,aAAa,GAAG,oBAAoB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,aAAa,aAAa,EAAE,CAAC,CAAC;IAE1C,0BAA0B;IAC1B,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IACtE,MAAM,eAAe,GAAG,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,KAAK,eAAe,KAAK,kBAAkB,EAAE,CAAC,CAAC;IAE3D,aAAa;IACb,OAAO,CAAC,GAAG,CAAC,YAAY,SAAS,EAAE,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAoB,EACpB,GAAW;IAEX,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC;IAEpI,OAAO,CAAC,GAAG,CAAC,wCAAwC,WAAW,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAElG,MAAM,aAAa,GAAG,oBAAoB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,aAAa,aAAa,EAAE,CAAC,CAAC;IAE1C,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IACtE,MAAM,eAAe,GAAG,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,KAAK,eAAe,KAAK,kBAAkB,EAAE,CAAC,CAAC;IAE3D,IAAI,iBAAiB,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,yCAAyC,iBAAiB,WAAW,CAAC,CAAC;IACrF,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,gBAAgB,SAAS,UAAU,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,WAAmB,EACnB,OAAe,EACf,UAAkB,EAClB,eAAuB,EACvB,SAAiB,EACjB,QAAoB,EACpB,cAAuB,EACvB,iBAA2B,EAC3B,iBAA0B;IAE1B,OAAO;QACL,WAAW;QACX,OAAO;QACP,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,UAAU;QACV,eAAe;QACf,SAAS;QACT,cAAc;QACd,iBAAiB;QACjB,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,186 @@
1
+ import path from 'path';
2
+ import semver from 'semver';
3
+ import { FILE_PATTERNS } from '../../constants/index.js';
4
+ import { ensureRegistryDirectories, getPackageVersionPath } from '../directory.js';
5
+ import { readPackageFilesForRegistry, writePackageFilesToDirectory } from '../../utils/package-copy.js';
6
+ import { parsePackageYml } from '../../utils/package-yml.js';
7
+ import { exists, remove, countFilesInDirectory } from '../../utils/fs.js';
8
+ import { logger } from '../../utils/logger.js';
9
+ import { resolvePackageByName } from '../../utils/package-name-resolution.js';
10
+ import { classifyPackageInput } from '../../utils/package-input.js';
11
+ import { ValidationError } from '../../utils/errors.js';
12
+ import { promptPackOverwrite } from '../../utils/prompts.js';
13
+ import { formatPathForDisplay } from '../../utils/formatters.js';
14
+ import { createPackResultInfo, displayPackSuccess, displayPackDryRun } from './pack-output.js';
15
+ async function resolveSource(cwd, packageInput) {
16
+ // No package input provided - pack CWD as package
17
+ if (!packageInput) {
18
+ const manifestPath = path.join(cwd, FILE_PATTERNS.OPENPACKAGE_YML);
19
+ if (!(await exists(manifestPath))) {
20
+ throw new Error('No openpackage.yml found in current directory; specify a package name or run inside a package root.');
21
+ }
22
+ const manifest = await parsePackageYml(manifestPath);
23
+ return {
24
+ name: manifest.name,
25
+ version: manifest.version ?? '',
26
+ packageRoot: cwd,
27
+ manifest
28
+ };
29
+ }
30
+ // Classify the input to determine if it's a path, tarball, or package name
31
+ const classification = await classifyPackageInput(packageInput, cwd);
32
+ let packageRoot;
33
+ // Handle different input types
34
+ if (classification.type === 'directory') {
35
+ // Direct path to package directory
36
+ packageRoot = classification.resolvedPath;
37
+ logger.info('Resolved package input as directory path', { path: packageRoot });
38
+ }
39
+ else if (classification.type === 'tarball') {
40
+ // Tarball input is not supported for pack
41
+ throw new ValidationError(`Pack command does not support tarball inputs.\n` +
42
+ `To pack from a tarball, first extract it to a directory.`);
43
+ }
44
+ else if (classification.type === 'git') {
45
+ // Git input is not supported for pack
46
+ throw new ValidationError(`Pack command does not support git inputs.\n` +
47
+ `To pack from a git repository, first clone it to a directory.`);
48
+ }
49
+ else {
50
+ // Registry type or package name - use name resolution
51
+ // Priority: CWD (if name matches) → Workspace → Global
52
+ // Skip registry (already immutable) and remote (not relevant)
53
+ const resolution = await resolvePackageByName({
54
+ cwd,
55
+ packageName: packageInput,
56
+ checkCwd: true, // Check if CWD is the package (highest priority)
57
+ searchWorkspace: true, // Search workspace packages
58
+ searchGlobal: true, // Search global packages
59
+ searchRegistry: false // Skip registry (already packed/immutable)
60
+ });
61
+ if (!resolution.found || !resolution.path) {
62
+ throw new Error(`Package '${packageInput}' not found.\n` +
63
+ `Searched: current directory, workspace packages (.openpackage/packages/), and global packages (~/.openpackage/packages/).\n` +
64
+ `Make sure the package exists in one of these locations.`);
65
+ }
66
+ packageRoot = resolution.path;
67
+ // Log resolution info for debugging/transparency
68
+ if (resolution.resolutionInfo) {
69
+ const { selected, reason } = resolution.resolutionInfo;
70
+ logger.info('Resolved package for packing', {
71
+ packageInput,
72
+ selectedSource: selected.type,
73
+ version: selected.version,
74
+ path: selected.path,
75
+ reason
76
+ });
77
+ // User-friendly message about where package was found
78
+ const sourceLabel = selected.type === 'cwd' ? 'current directory' :
79
+ selected.type === 'workspace' ? 'workspace packages' :
80
+ selected.type === 'global' ? 'global packages' : selected.type;
81
+ console.log(`✓ Found ${packageInput} in ${sourceLabel}`);
82
+ }
83
+ }
84
+ // Load manifest from resolved path
85
+ const manifestPath = path.join(packageRoot, FILE_PATTERNS.OPENPACKAGE_YML);
86
+ if (!(await exists(manifestPath))) {
87
+ throw new Error(`openpackage.yml not found at ${manifestPath}`);
88
+ }
89
+ const manifest = await parsePackageYml(manifestPath);
90
+ return {
91
+ name: manifest.name,
92
+ version: manifest.version ?? '',
93
+ packageRoot,
94
+ manifest
95
+ };
96
+ }
97
+ /**
98
+ * Handle overwrite confirmation for pack operation
99
+ * Returns true if operation should proceed, false if cancelled
100
+ * Throws error if confirmation is needed but environment is non-interactive
101
+ */
102
+ async function handlePackOverwrite(packageName, version, destination, existingFileCount, force, isCustomOutput) {
103
+ // Force mode - auto-approve with logging
104
+ if (force) {
105
+ const locationType = isCustomOutput ? 'output directory' : 'registry';
106
+ logger.info(`Force mode: Overwriting existing ${locationType}`, { packageName, version, destination, existingFileCount });
107
+ console.log(`⚠️ Force mode: Overwriting ${packageName}@${version} ` +
108
+ `(${existingFileCount} existing file${existingFileCount !== 1 ? 's' : ''})`);
109
+ return true;
110
+ }
111
+ // Check if we can prompt (TTY required for interactive prompts)
112
+ const canPrompt = Boolean(process.stdin.isTTY && process.stdout.isTTY);
113
+ if (!canPrompt) {
114
+ // Non-interactive environment - fail with clear error message
115
+ const locationType = isCustomOutput ? 'output directory' : 'registry';
116
+ const displayPath = formatPathForDisplay(destination, process.cwd());
117
+ throw new Error(`Pack destination already exists (${locationType}: ${displayPath}).\n` +
118
+ `Use --force to overwrite, or specify a different version in openpackage.yml.`);
119
+ }
120
+ // Interactive mode - prompt user
121
+ return await promptPackOverwrite(packageName, version, destination, existingFileCount, isCustomOutput);
122
+ }
123
+ export async function runPackPipeline(packageInput, options = {}) {
124
+ const cwd = process.cwd();
125
+ try {
126
+ const source = await resolveSource(cwd, packageInput);
127
+ if (!source.version || !semver.valid(source.version)) {
128
+ return {
129
+ success: false,
130
+ error: `openpackage.yml must contain a valid semver version to pack (found "${source.version || 'undefined'}").`
131
+ };
132
+ }
133
+ const files = await readPackageFilesForRegistry(source.packageRoot);
134
+ if (files.length === 0) {
135
+ return { success: false, error: 'No package files found to pack.' };
136
+ }
137
+ const destination = options.output
138
+ ? path.resolve(cwd, options.output)
139
+ : getPackageVersionPath(source.name, source.version);
140
+ const isCustomOutput = !!options.output;
141
+ // Check if destination exists and count existing files
142
+ const destinationExists = await exists(destination);
143
+ const existingFileCount = destinationExists
144
+ ? await countFilesInDirectory(destination)
145
+ : 0;
146
+ // Create result info for output display
147
+ const resultInfo = createPackResultInfo(source.name, source.version, source.packageRoot, destination, files.length, source.manifest, isCustomOutput, destinationExists, existingFileCount);
148
+ if (options.dryRun) {
149
+ displayPackDryRun(resultInfo, cwd);
150
+ return {
151
+ success: true,
152
+ data: { destination, files: files.length }
153
+ };
154
+ }
155
+ // Handle overwrite confirmation (unless dry-run or force)
156
+ if (destinationExists) {
157
+ const shouldOverwrite = await handlePackOverwrite(source.name, source.version, destination, existingFileCount, options.force ?? false, isCustomOutput);
158
+ if (!shouldOverwrite) {
159
+ return {
160
+ success: false,
161
+ error: 'Pack operation cancelled by user'
162
+ };
163
+ }
164
+ }
165
+ if (!options.output) {
166
+ await ensureRegistryDirectories();
167
+ }
168
+ // Remove existing destination if present
169
+ if (destinationExists) {
170
+ await remove(destination);
171
+ }
172
+ await writePackageFilesToDirectory(destination, files);
173
+ logger.info(`Packed ${source.name}@${source.version} to ${destination}`);
174
+ // Display success output
175
+ displayPackSuccess(resultInfo, cwd);
176
+ return {
177
+ success: true,
178
+ data: { destination, files: files.length }
179
+ };
180
+ }
181
+ catch (error) {
182
+ const message = error instanceof Error ? error.message : String(error);
183
+ return { success: false, error: message };
184
+ }
185
+ }
186
+ //# sourceMappingURL=pack-pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pack-pipeline.js","sourceRoot":"","sources":["../../../src/core/pack/pack-pipeline.ts"],"names":[],"mappings":"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"}