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
@@ -1,9 +1,17 @@
1
+ import { resolve } from 'path';
2
+ import { formatPathForDisplay } from '../utils/formatters.js';
1
3
  import { DIR_PATTERNS, PACKAGE_PATHS } from '../constants/index.js';
2
4
  import { runBulkInstallPipeline } from '../core/install/bulk-install-pipeline.js';
3
5
  import { runInstallPipeline, determineResolutionMode } from '../core/install/install-pipeline.js';
4
- import { withErrorHandling } from '../utils/errors.js';
6
+ import { runPathInstallPipeline } from '../core/install/path-install-pipeline.js';
7
+ import { loadPackageFromGit } from '../core/install/git-package-loader.js';
8
+ import { inferSourceType } from '../core/install/path-package-loader.js';
9
+ import { detectPluginType } from '../core/install/plugin-detector.js';
10
+ import { parseMarketplace, promptPluginSelection, installMarketplacePlugins } from '../core/install/marketplace-handler.js';
11
+ import { withErrorHandling, ValidationError } from '../utils/errors.js';
5
12
  import { normalizePlatforms } from '../utils/platform-mapper.js';
6
- import { parsePackageInstallSpec } from '../utils/package-name.js';
13
+ import { classifyPackageInput } from '../utils/package-input.js';
14
+ import { findExistingPathOrGitSource } from '../utils/install-helpers.js';
7
15
  import { logger } from '../utils/logger.js';
8
16
  import { normalizePathForProcessing } from '../utils/path-normalization.js';
9
17
  function assertTargetDirOutsideMetadata(targetDir) {
@@ -21,15 +29,131 @@ export function validateResolutionFlags(options) {
21
29
  throw new Error('--remote and --local cannot be used together. Choose one resolution mode.');
22
30
  }
23
31
  }
24
- async function installCommand(packageName, options) {
32
+ async function installCommand(packageInput, options) {
25
33
  const targetDir = '.';
34
+ const cwd = process.cwd();
26
35
  assertTargetDirOutsideMetadata(targetDir);
27
36
  options.resolutionMode = determineResolutionMode(options);
28
37
  logger.debug('Install resolution mode selected', { mode: options.resolutionMode });
29
- if (!packageName) {
38
+ if (!packageInput) {
30
39
  return await runBulkInstallPipeline(options);
31
40
  }
32
- const { name, version, registryPath } = parsePackageInstallSpec(packageName);
41
+ // Classify the input to determine if it's a registry name, directory, or tarball
42
+ const classification = await classifyPackageInput(packageInput, cwd);
43
+ // For registry-type inputs (package names), check if it's actually a path/git dependency in openpackage.yml
44
+ // This ensures we respect the manifest's declared source type on subsequent installs
45
+ if (classification.type === 'registry' && classification.name) {
46
+ const existingSource = await findExistingPathOrGitSource(cwd, classification.name);
47
+ if (existingSource) {
48
+ if (existingSource.type === 'git') {
49
+ const subdirPart = existingSource.subdirectory ? `&subdirectory=${existingSource.subdirectory}` : '';
50
+ logger.info(`Using git source from openpackage.yml for '${classification.name}': ${existingSource.url}`);
51
+ console.log(`āœ“ Using git source from openpackage.yml: ${existingSource.url}${existingSource.ref ? `#${existingSource.ref}` : ''}${subdirPart}`);
52
+ const result = await loadPackageFromGit({
53
+ url: existingSource.url,
54
+ ref: existingSource.ref,
55
+ subdirectory: existingSource.subdirectory
56
+ });
57
+ if (result.isMarketplace) {
58
+ throw new ValidationError(`Package '${classification.name}' is declared as a git source in openpackage.yml, ` +
59
+ `but the repository is a Claude Code plugin marketplace. ` +
60
+ `Marketplaces cannot be used as dependencies via openpackage.yml.`);
61
+ }
62
+ return await runPathInstallPipeline({
63
+ ...options,
64
+ sourcePath: result.sourcePath,
65
+ sourceType: 'directory',
66
+ targetDir,
67
+ gitUrl: existingSource.url,
68
+ gitRef: existingSource.ref,
69
+ gitSubdirectory: existingSource.subdirectory
70
+ });
71
+ }
72
+ else if (existingSource.type === 'path') {
73
+ logger.info(`Using path source from openpackage.yml for '${classification.name}': ${existingSource.path}`);
74
+ const displayPath = formatPathForDisplay(existingSource.path, cwd);
75
+ console.log(`āœ“ Using path source from openpackage.yml: ${displayPath}`);
76
+ const resolvedPath = resolve(cwd, existingSource.path);
77
+ const sourceType = inferSourceType(existingSource.path);
78
+ return await runPathInstallPipeline({
79
+ ...options,
80
+ sourcePath: resolvedPath,
81
+ sourceType,
82
+ targetDir
83
+ });
84
+ }
85
+ }
86
+ }
87
+ if (classification.type === 'git') {
88
+ const result = await loadPackageFromGit({
89
+ url: classification.gitUrl,
90
+ ref: classification.gitRef,
91
+ subdirectory: classification.gitSubdirectory
92
+ });
93
+ // Check if this is a marketplace
94
+ if (result.isMarketplace) {
95
+ logger.info('Detected Claude Code marketplace, prompting for plugin selection', {
96
+ url: classification.gitUrl
97
+ });
98
+ const pluginDetection = await detectPluginType(result.sourcePath);
99
+ if (!pluginDetection.manifestPath) {
100
+ throw new ValidationError('Marketplace manifest not found');
101
+ }
102
+ // Parse marketplace and prompt for selection
103
+ const marketplace = await parseMarketplace(pluginDetection.manifestPath);
104
+ const selectedPlugins = await promptPluginSelection(marketplace);
105
+ if (selectedPlugins.length === 0) {
106
+ console.log('No plugins selected. Installation cancelled.');
107
+ return { success: true };
108
+ }
109
+ // Install selected plugins
110
+ return await installMarketplacePlugins(result.sourcePath, marketplace, selectedPlugins, classification.gitUrl, classification.gitRef, options);
111
+ }
112
+ // Not a marketplace, install as regular package/plugin
113
+ return await runPathInstallPipeline({
114
+ ...options,
115
+ sourcePath: result.sourcePath,
116
+ sourceType: 'directory',
117
+ targetDir,
118
+ gitUrl: classification.gitUrl,
119
+ gitRef: classification.gitRef,
120
+ gitSubdirectory: classification.gitSubdirectory
121
+ });
122
+ }
123
+ if (classification.type === 'directory' || classification.type === 'tarball') {
124
+ // Display source comparison info if available
125
+ if (classification.sourceComparisonInfo) {
126
+ displayPackageSourceResolution(classification.sourceComparisonInfo);
127
+ }
128
+ // Check if this is a marketplace (only for directories, not tarballs)
129
+ if (classification.type === 'directory') {
130
+ const pluginDetection = await detectPluginType(classification.resolvedPath);
131
+ if (pluginDetection.isPlugin && pluginDetection.type === 'marketplace') {
132
+ logger.info('Detected Claude Code marketplace from local path, prompting for plugin selection', {
133
+ path: classification.resolvedPath
134
+ });
135
+ // Parse marketplace and prompt for selection
136
+ const marketplace = await parseMarketplace(pluginDetection.manifestPath);
137
+ const selectedPlugins = await promptPluginSelection(marketplace);
138
+ if (selectedPlugins.length === 0) {
139
+ console.log('No plugins selected. Installation cancelled.');
140
+ return { success: true };
141
+ }
142
+ // Install selected plugins (no git URL for local paths)
143
+ return await installMarketplacePlugins(classification.resolvedPath, marketplace, selectedPlugins, classification.resolvedPath, // Use path as "url" for tracking
144
+ undefined, // No git ref for local paths
145
+ options);
146
+ }
147
+ }
148
+ return await runPathInstallPipeline({
149
+ ...options,
150
+ sourcePath: classification.resolvedPath,
151
+ sourceType: classification.type,
152
+ targetDir
153
+ });
154
+ }
155
+ // Registry-based install (existing flow)
156
+ const { name, version, registryPath } = classification;
33
157
  return await runInstallPipeline({
34
158
  ...options,
35
159
  packageName: name,
@@ -38,12 +162,58 @@ async function installCommand(packageName, options) {
38
162
  targetDir
39
163
  });
40
164
  }
165
+ /**
166
+ * Display user-friendly information about package source resolution
167
+ */
168
+ function displayPackageSourceResolution(info) {
169
+ const { candidates, selected, reason } = info;
170
+ // Workspace override - simple message
171
+ if (reason === 'workspace-override') {
172
+ console.log(`āœ“ Found ${selected.packageName} in workspace packages`);
173
+ console.log(`šŸ’” Workspace packages always override global/registry`);
174
+ return;
175
+ }
176
+ // Single source - simple message
177
+ if (reason === 'only-source' && candidates.length === 1) {
178
+ const sourceType = selected.type === 'global' ? 'global packages' :
179
+ selected.type === 'registry' ? 'registry' : 'workspace packages';
180
+ console.log(`āœ“ Found ${selected.packageName} in ${sourceType}`);
181
+ return;
182
+ }
183
+ // Multiple sources - show comparison
184
+ if (candidates.length > 1) {
185
+ console.log(`Resolving ${selected.packageName}...`);
186
+ for (const candidate of candidates) {
187
+ const label = candidate.type === 'global' ? 'Global packages' : 'Registry';
188
+ const suffix = candidate.type === 'global' ? ' (mutable)' : ' (stable)';
189
+ console.log(` • ${label}: ${candidate.version}${suffix}`);
190
+ }
191
+ const sourceLabel = selected.type === 'global' ? 'global packages' : 'registry';
192
+ if (reason === 'newer-version') {
193
+ console.log(`āœ“ Using ${selected.packageName}@${selected.version} from ${sourceLabel} (newer version)`);
194
+ // Warn about outdated global if registry was selected
195
+ if (selected.type === 'registry') {
196
+ const global = candidates.find((c) => c.type === 'global');
197
+ if (global) {
198
+ console.log(`āš ļø Global packages has older version (${global.version})`);
199
+ console.log(`šŸ’” To update global: cd ~/.openpackage/packages/${selected.packageName} && opkg pack`);
200
+ }
201
+ }
202
+ }
203
+ else if (reason === 'same-version-prefer-mutable') {
204
+ console.log(`āœ“ Using ${selected.packageName}@${selected.version} from ${sourceLabel} (same version, prefer mutable)`);
205
+ }
206
+ else {
207
+ console.log(`āœ“ Using ${selected.packageName}@${selected.version} from ${sourceLabel}`);
208
+ }
209
+ }
210
+ }
41
211
  export function setupInstallCommand(program) {
42
212
  program
43
213
  .command('install')
44
214
  .alias('i')
45
- .description('Install packages from the local (and optional remote) registry into this workspace. Works with WIP copies from `opkg save` and stable releases from `opkg pack`.')
46
- .argument('[package-name]', 'name of the package to install (optional - installs all from package.yml if not specified). Supports package@version syntax.')
215
+ .description('Install packages to workspace')
216
+ .argument('[package-name]', 'name of the package to install (optional - installs all from openpackage.yml if not specified). Supports package@version syntax.')
47
217
  .option('--dry-run', 'preview changes without applying them')
48
218
  .option('--force', 'overwrite existing files')
49
219
  .option('--conflicts <strategy>', 'conflict handling strategy: keep-both, overwrite, skip, or ask')
@@ -51,7 +221,6 @@ export function setupInstallCommand(program) {
51
221
  .option('--platforms <platforms...>', 'prepare specific platforms (e.g., cursor claudecode opencode)')
52
222
  .option('--remote', 'pull and install from remote registry, ignoring local versions')
53
223
  .option('--local', 'resolve and install using only local registry versions, skipping remote metadata and pulls')
54
- .option('--stable', 'prefer the latest stable version when resolving; ignore newer prerelease/WIP versions if a satisfying stable exists')
55
224
  .option('--profile <profile>', 'profile to use for authentication')
56
225
  .option('--api-key <key>', 'API key for authentication (overrides profile)')
57
226
  .action(withErrorHandling(async (packageName, options) => {
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ async function listPackagesCommand(options) {
37
37
  console.log(`No packages found matching filter: ${options.filter}`);
38
38
  }
39
39
  else {
40
- console.log('No packages found. Use "opkg init" to create your first package.');
40
+ console.log('No packages found. Use "opkg new <package-name>" to create your first package.');
41
41
  }
42
42
  return { success: true, data: [] };
43
43
  }
@@ -78,7 +78,7 @@ export function setupListCommand(program) {
78
78
  program
79
79
  .command('list [package-name]')
80
80
  .alias('ls')
81
- .description('List local packages or show all versions of specific package if name provided')
81
+ .description('List local packages')
82
82
  .option('--format <format>', 'output format (table|json)', 'table')
83
83
  .option('--filter <pattern>', 'filter packages by name pattern')
84
84
  .option('--all', 'show all versions (default shows only latest)')
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { getCurrentUsername } from '../core/api-keys.js';
7
7
  export function setupLoginCommand(program) {
8
8
  program
9
9
  .command('login')
10
- .description('Authenticate with OpenPackage using the device authorization flow')
10
+ .description('Authenticate with OpenPackage')
11
11
  .option('--profile <profile>', 'profile to use for authentication')
12
12
  .action(withErrorHandling(async (options) => {
13
13
  const profileName = authManager.getCurrentProfile({
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { logger } from '../utils/logger.js';
5
5
  export function setupLogoutCommand(program) {
6
6
  program
7
7
  .command('logout')
8
- .description('Remove stored API key for a profile')
8
+ .description('Remove stored credentials')
9
9
  .option('--profile <profile>', 'profile to log out')
10
10
  .action(withErrorHandling(async (options) => {
11
11
  const profileName = authManager.getCurrentProfile({
@@ -1 +1 @@
1
- {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAM3C,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IAClD,OAAO;SACL,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,qBAAqB,EAAE,oBAAoB,CAAC;SACnD,MAAM,CACN,iBAAiB,CAAC,KAAK,EAAE,OAAsB,EAAE,EAAE;QAClD,MAAM,WAAW,GAAG,WAAW,CAAC,iBAAiB,CAAC;YACjD,OAAO,EAAE,OAAO,CAAC,OAAO;SACxB,CAAC,CAAA;QAEF,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAA;YACnE,OAAM;QACP,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,cAAc,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAA;YACzD,OAAO,CAAC,GAAG,CAAC,sCAAsC,WAAW,IAAI,CAAC,CAAA;QACnE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;YACpE,MAAM,KAAK,CAAA;QACZ,CAAC;IACF,CAAC,CAAC,CACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAM3C,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IAClD,OAAO;SACL,OAAO,CAAC,QAAQ,CAAC;SACL,WAAW,CAAC,2BAA2B,CAAC;SACpD,MAAM,CAAC,qBAAqB,EAAE,oBAAoB,CAAC;SACnD,MAAM,CACN,iBAAiB,CAAC,KAAK,EAAE,OAAsB,EAAE,EAAE;QAClD,MAAM,WAAW,GAAG,WAAW,CAAC,iBAAiB,CAAC;YACjD,OAAO,EAAE,OAAO,CAAC,OAAO;SACxB,CAAC,CAAA;QAEF,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAA;YACnE,OAAM;QACP,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,cAAc,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAA;YACzD,OAAO,CAAC,GAAG,CAAC,sCAAsC,WAAW,IAAI,CAAC,CAAA;QACnE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;YACpE,MAAM,KAAK,CAAA;QACZ,CAAC;IACF,CAAC,CAAC,CACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,125 @@
1
+ import { withErrorHandling } from '../utils/errors.js';
2
+ import { createPackage } from '../core/package-creation.js';
3
+ import { parseScope, validateScopeWithPackageName } from '../utils/scope-resolution.js';
4
+ import { promptPackageScope, promptCustomPath } from '../utils/prompts.js';
5
+ import { logger } from '../utils/logger.js';
6
+ /**
7
+ * Setup the 'opkg new' command
8
+ *
9
+ * This command creates a new package with scope support:
10
+ * - root: Create openpackage.yml in current directory
11
+ * - local: Create in .openpackage/packages/<name>/ (default)
12
+ * - global: Create in ~/.openpackage/packages/<name>/
13
+ * - custom: Create at a user-specified path
14
+ */
15
+ export function setupNewCommand(program) {
16
+ program
17
+ .command('new')
18
+ .argument('[package-name]', 'package name (optional - will prompt if not provided in interactive mode)')
19
+ .description('Create a new package with manifest')
20
+ .option('--scope <scope>', 'package scope: root, local, or global')
21
+ .option('--path <path>', 'custom path for package directory (overrides scope)')
22
+ .option('-f, --force', 'overwrite existing package without confirmation')
23
+ .option('--non-interactive', 'skip interactive prompts, use defaults')
24
+ .action(withErrorHandling(async (packageName, options) => {
25
+ const cwd = process.cwd();
26
+ const isInteractive = !options?.nonInteractive;
27
+ // Parse and validate scope or custom path
28
+ let scope;
29
+ let customPath;
30
+ if (options?.path) {
31
+ // Custom path explicitly provided via flag
32
+ customPath = options.path;
33
+ // Warn if --scope is also provided
34
+ if (options?.scope) {
35
+ logger.warn('--scope is ignored when --path is specified');
36
+ }
37
+ }
38
+ else if (options?.scope) {
39
+ // Scope explicitly provided via flag
40
+ try {
41
+ scope = parseScope(options.scope);
42
+ }
43
+ catch (error) {
44
+ throw new Error(error instanceof Error ? error.message : String(error));
45
+ }
46
+ }
47
+ else if (isInteractive) {
48
+ // Interactive mode without --scope or --path: prompt user to choose
49
+ const scopeOrCustom = await promptPackageScope();
50
+ if (scopeOrCustom === 'custom') {
51
+ // User selected custom path - prompt for it
52
+ customPath = await promptCustomPath(packageName);
53
+ }
54
+ else {
55
+ // User selected a predefined scope
56
+ scope = scopeOrCustom;
57
+ }
58
+ console.log(); // Add blank line after prompt for better formatting
59
+ }
60
+ else {
61
+ // Non-interactive mode without --scope or --path: error
62
+ throw new Error('Either --scope or --path is required in non-interactive mode.\n\n' +
63
+ 'Usage with scope:\n' +
64
+ ' opkg new [package-name] --scope <root|local|global> --non-interactive\n\n' +
65
+ 'Usage with custom path:\n' +
66
+ ' opkg new [package-name] --path <directory> --non-interactive\n\n' +
67
+ 'Available scopes:\n' +
68
+ ' root - Create in current directory\n' +
69
+ ' local - Create in .openpackage/packages/\n' +
70
+ ' global - Create in ~/.openpackage/packages/');
71
+ }
72
+ // Validate scope and package name combination (skip for custom paths)
73
+ if (scope && !customPath) {
74
+ try {
75
+ validateScopeWithPackageName(scope, packageName, isInteractive);
76
+ }
77
+ catch (error) {
78
+ throw new Error(error instanceof Error ? error.message : String(error));
79
+ }
80
+ }
81
+ logger.debug('Creating new package', {
82
+ scope,
83
+ customPath,
84
+ packageName,
85
+ force: options?.force,
86
+ interactive: isInteractive
87
+ });
88
+ // Create the package
89
+ const result = await createPackage({
90
+ cwd,
91
+ scope,
92
+ customPath,
93
+ packageName,
94
+ force: options?.force || false,
95
+ interactive: !options?.nonInteractive
96
+ });
97
+ if (!result.success) {
98
+ throw new Error(result.error || 'Package creation failed');
99
+ }
100
+ // Get the actual package name from the result context
101
+ const actualPackageName = result.context?.name || packageName;
102
+ // Additional success messaging based on scope or custom path
103
+ if (customPath) {
104
+ console.log(`\nšŸ’” Next steps:`);
105
+ console.log(` 1. Add files to your package at: ${customPath}`);
106
+ console.log(` 2. Install to workspace: opkg install ${customPath}`);
107
+ }
108
+ else if (scope === 'local') {
109
+ console.log(`\nšŸ’” Next steps:`);
110
+ console.log(` 1. Add files to your package: cd .openpackage/packages/${actualPackageName}/`);
111
+ console.log(` 2. Install to this workspace: opkg install ${actualPackageName}`);
112
+ }
113
+ else if (scope === 'global') {
114
+ console.log(`\nšŸ’” Next steps:`);
115
+ console.log(` 1. Add files to your package: cd ~/.openpackage/packages/${actualPackageName}/`);
116
+ console.log(` 2. Install to any workspace: opkg install ${actualPackageName}`);
117
+ }
118
+ else if (scope === 'root') {
119
+ console.log(`\nšŸ’” Next steps:`);
120
+ console.log(` 1. Add files to your package in current directory`);
121
+ console.log(` 2. Install to other workspaces: opkg install ${actualPackageName}`);
122
+ }
123
+ }));
124
+ }
125
+ //# sourceMappingURL=new.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,16 @@
1
1
  import { withErrorHandling } from '../utils/errors.js';
2
- import { runSavePipeline } from '../core/save/save-pipeline.js';
2
+ import { runPackPipeline } from '../core/pack/pack-pipeline.js';
3
3
  async function packPackageCommand(packageName, options) {
4
- return runSavePipeline(packageName, {
5
- mode: 'stable',
6
- force: options?.force,
7
- rename: options?.rename
8
- });
4
+ return runPackPipeline(packageName, options);
9
5
  }
10
6
  export function setupPackCommand(program) {
11
7
  program
12
8
  .command('pack')
13
- .argument('[package-name]', 'package name (optional if cwd is a package)')
14
- .description('Promote the current workspace package to a stable registry copy.\n' +
15
- 'Usage:\n' +
16
- ' opkg pack # Pack cwd package (requires .openpackage/package.yml)\n' +
17
- ' opkg pack <package-name> # Pack specific package by name')
18
- .option('-f, --force', 'overwrite existing stable versions or skip confirmations')
19
- .option('--rename <newName>', 'Rename package during pack')
9
+ .argument('[package]', 'package name or path (optional if cwd is a package)')
10
+ .description('Snapshot package source to local registry')
11
+ .option('-f, --force', 'skip confirmation and overwrite existing packages')
12
+ .option('--output <path>', 'write snapshot directly into the target directory instead of the registry path')
13
+ .option('--dry-run', 'print the destination and files that would be written')
20
14
  .action(withErrorHandling(async (packageName, options) => {
21
15
  const result = await packPackageCommand(packageName, options);
22
16
  if (!result.success) {
@@ -1 +1 @@
1
- {"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/commands/pack.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,KAAK,UAAU,kBAAkB,CAC/B,WAA+B,EAC/B,OAAqB;IAErB,OAAO,eAAe,CAAC,WAAW,EAAE;QAClC,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,OAAO,EAAE,KAAK;QACrB,MAAM,EAAE,OAAO,EAAE,MAAM;KACxB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CAAC,gBAAgB,EAAE,6CAA6C,CAAC;SACzE,WAAW,CACV,oEAAoE;QACpE,UAAU;QACV,uFAAuF;QACvF,8DAA8D,CAC/D;SACA,MAAM,CAAC,aAAa,EAAE,0DAA0D,CAAC;SACjF,MAAM,CAAC,oBAAoB,EAAE,4BAA4B,CAAC;SAC1D,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAA+B,EAAE,OAAqB,EAAE,EAAE;QACzF,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,uBAAuB,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC,CAAC;AACR,CAAC"}
1
+ {"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/commands/pack.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,KAAK,UAAU,kBAAkB,CAC/B,WAA+B,EAC/B,OAAqB;IAErB,OAAO,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CAAC,WAAW,EAAE,qDAAqD,CAAC;SAC5E,WAAW,CAAC,2CAA2C,CAAC;SACxD,MAAM,CAAC,aAAa,EAAE,mDAAmD,CAAC;SAC1E,MAAM,CAAC,iBAAiB,EAAE,gFAAgF,CAAC;SAC3G,MAAM,CAAC,WAAW,EAAE,uDAAuD,CAAC;SAC5E,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAA+B,EAAE,OAAqB,EAAE,EAAE;QACzF,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,uBAAuB,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC,CAAC;AACR,CAAC"}
@@ -7,7 +7,7 @@ async function pullPackageCommand(packageInput, options) {
7
7
  export function setupPullCommand(program) {
8
8
  program
9
9
  .command('pull')
10
- .description('Pull a package from remote registry. Supports package@version syntax.')
10
+ .description('Pull package from remote registry')
11
11
  .argument('<package-name>', 'name of the package to pull. Supports package@version syntax.')
12
12
  .option('--profile <profile>', 'profile to use for authentication')
13
13
  .option('--api-key <key>', 'API key for authentication (overrides profile)')
@@ -1 +1 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,KAAK,UAAU,kBAAkB,CAC/B,YAAoB,EACpB,OAAoB;IAEpB,OAAO,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,uEAAuE,CAAC;SACpF,QAAQ,CAAC,gBAAgB,EAAE,+DAA+D,CAAC;SAC3F,MAAM,CAAC,qBAAqB,EAAE,mCAAmC,CAAC;SAClE,MAAM,CAAC,iBAAiB,EAAE,gDAAgD,CAAC;SAC3E,MAAM,CAAC,aAAa,EAAE,uDAAuD,CAAC;SAC9E,MAAM,CAAC,gBAAgB,EAAE,iDAAiD,EAAE,gBAAgB,CAAC;SAC7F,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAmB,EAAE,OAAoB,EAAE,EAAE;QAC5E,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,uBAAuB,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC,CAAC;AACR,CAAC"}
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,KAAK,UAAU,kBAAkB,CAC/B,YAAoB,EACpB,OAAoB;IAEpB,OAAO,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,mCAAmC,CAAC;SAChD,QAAQ,CAAC,gBAAgB,EAAE,+DAA+D,CAAC;SAC3F,MAAM,CAAC,qBAAqB,EAAE,mCAAmC,CAAC;SAClE,MAAM,CAAC,iBAAiB,EAAE,gDAAgD,CAAC;SAC3E,MAAM,CAAC,aAAa,EAAE,uDAAuD,CAAC;SAC9E,MAAM,CAAC,gBAAgB,EAAE,iDAAiD,EAAE,gBAAgB,CAAC;SAC7F,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAmB,EAAE,OAAoB,EAAE,EAAE;QAC5E,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,uBAAuB,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC,CAAC;AACR,CAAC"}
@@ -7,7 +7,7 @@ async function pushPackageCommand(packageInput, options) {
7
7
  export function setupPushCommand(program) {
8
8
  program
9
9
  .command('push')
10
- .description('Push a package to remote registry. Supports package@version syntax.')
10
+ .description('Push package to remote registry')
11
11
  .argument('<package-name>', 'name of the package to push. Supports package@version syntax.')
12
12
  .option('--profile <profile>', 'profile to use for authentication')
13
13
  .option('--api-key <key>', 'API key for authentication (overrides profile)')
@@ -1 +1 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,KAAK,UAAU,kBAAkB,CAC/B,YAAoB,EACpB,OAAoB;IAEpB,OAAO,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,qEAAqE,CAAC;SAClF,QAAQ,CAAC,gBAAgB,EAAE,+DAA+D,CAAC;SAC3F,MAAM,CAAC,qBAAqB,EAAE,mCAAmC,CAAC;SAClE,MAAM,CAAC,iBAAiB,EAAE,gDAAgD,CAAC;SAC3E,MAAM,CAAC,gBAAgB,EAAE,iDAAiD,EAAE,gBAAgB,CAAC;SAC7F,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAmB,EAAE,OAAoB,EAAE,EAAE;QAC5E,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,uBAAuB,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC,CAAC;AACR,CAAC"}
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,KAAK,UAAU,kBAAkB,CAC/B,YAAoB,EACpB,OAAoB;IAEpB,OAAO,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,iCAAiC,CAAC;SAC9C,QAAQ,CAAC,gBAAgB,EAAE,+DAA+D,CAAC;SAC3F,MAAM,CAAC,qBAAqB,EAAE,mCAAmC,CAAC;SAClE,MAAM,CAAC,iBAAiB,EAAE,gDAAgD,CAAC;SAC3E,MAAM,CAAC,gBAAgB,EAAE,iDAAiD,EAAE,gBAAgB,CAAC;SAC7F,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAmB,EAAE,OAAoB,EAAE,EAAE;QAC5E,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,uBAAuB,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC,CAAC;AACR,CAAC"}
@@ -0,0 +1,63 @@
1
+ import { withErrorHandling } from '../utils/errors.js';
2
+ import { runRemoveFromSourcePipeline } from '../core/remove/remove-from-source-pipeline.js';
3
+ import { readWorkspaceIndex } from '../utils/workspace-index-yml.js';
4
+ import { formatPathForDisplay } from '../utils/formatters.js';
5
+ export function setupRemoveCommand(program) {
6
+ program
7
+ .command('remove')
8
+ .alias('rm')
9
+ .argument('<package-name>', 'package name')
10
+ .argument('<path>', 'file or directory to remove from package')
11
+ .description('Remove files from a mutable package source')
12
+ .option('--apply', 'Apply changes to workspace immediately (requires package to be installed)')
13
+ .option('--force', 'Skip confirmation prompts')
14
+ .option('--dry-run', 'Preview what would be removed without actually deleting')
15
+ .action(withErrorHandling(async (packageName, pathArg, options) => {
16
+ const result = await runRemoveFromSourcePipeline(packageName, pathArg, options);
17
+ if (!result.success) {
18
+ throw new Error(result.error || 'Remove operation failed');
19
+ }
20
+ // Provide helpful feedback
21
+ if (result.data) {
22
+ const cwd = process.cwd();
23
+ const { filesRemoved, sourcePath, sourceType, packageName: resolvedName, removedPaths } = result.data;
24
+ // Format the path for display using unified formatter
25
+ const displayPath = formatPathForDisplay(sourcePath, cwd);
26
+ if (options.dryRun) {
27
+ console.log(`\n(dry-run) Would remove ${filesRemoved} file${filesRemoved !== 1 ? 's' : ''} from ${resolvedName}`);
28
+ }
29
+ else {
30
+ console.log(`\nāœ“ Removed ${filesRemoved} file${filesRemoved !== 1 ? 's' : ''} from ${resolvedName}`);
31
+ }
32
+ console.log(` Path: ${displayPath}`);
33
+ console.log(` Type: ${sourceType} package`);
34
+ // Show removed files (limited display)
35
+ if (removedPaths.length > 0) {
36
+ const maxDisplay = 10;
37
+ console.log(`\nFiles ${options.dryRun ? 'to be removed' : 'removed'}:`);
38
+ const displayPaths = removedPaths.slice(0, maxDisplay);
39
+ for (const path of displayPaths) {
40
+ console.log(` - ${path}`);
41
+ }
42
+ if (removedPaths.length > maxDisplay) {
43
+ console.log(` ... and ${removedPaths.length - maxDisplay} more`);
44
+ }
45
+ }
46
+ if (!options.apply && !options.dryRun) {
47
+ // Check if package is installed in workspace
48
+ const workspaceIndexRecord = await readWorkspaceIndex(cwd);
49
+ const isInstalled = !!workspaceIndexRecord.index.packages[resolvedName];
50
+ if (isInstalled) {
51
+ console.log(`\nšŸ’” Deletions not synced to workspace.`);
52
+ console.log(` To sync deletions, run:`);
53
+ console.log(` opkg apply ${resolvedName}`);
54
+ }
55
+ else {
56
+ console.log(`\nšŸ’” Package not installed in workspace.`);
57
+ console.log(` If you install this package later, the removed files won't be included.`);
58
+ }
59
+ }
60
+ }
61
+ }));
62
+ }
63
+ //# sourceMappingURL=remove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"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"}