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,155 +1,35 @@
1
+ import { FILE_PATTERNS } from '../constants/index.js';
2
+ import { deepEqualYaml, deepMerge, extractInlinePlatformOverrides, splitFrontmatter, composeMarkdown } from './markdown-frontmatter.js';
1
3
  /**
2
- * Platform YAML Merge Utility
3
- * Reusable helper to merge platform-specific YAML frontmatter overrides
4
- * into universal markdown content.
4
+ * Merge inline platform-specific override with universal content.
5
+ * - Frontmatter contains common keys and platform-keyed override blocks.
6
+ * - Produces merged frontmatter (common + override[targetPlatform]) and
7
+ * removes platform blocks in the emitted markdown.
5
8
  */
6
- import { DIR_PATTERNS, FILE_PATTERNS, UNIVERSAL_SUBDIRS } from '../constants/index.js';
7
- import { packageManager } from '../core/package.js';
8
- import * as yaml from 'js-yaml';
9
- import { getAllPlatforms } from '../core/platforms.js';
10
- const OPENPACKAGE_PREFIX = `${DIR_PATTERNS.OPENPACKAGE}/`;
11
- function isPlainObject(value) {
12
- return value !== null && typeof value === 'object' && !Array.isArray(value);
13
- }
14
- /**
15
- * Deep merge two YAML-compatible data structures.
16
- * Arrays are replaced entirely, objects are merged recursively.
17
- */
18
- export function deepMerge(base, override) {
19
- if (Array.isArray(base) && Array.isArray(override)) {
20
- return override.slice();
21
- }
22
- if (isPlainObject(base) && isPlainObject(override)) {
23
- const result = { ...base };
24
- for (const [key, value] of Object.entries(override)) {
25
- if (key in result) {
26
- result[key] = deepMerge(result[key], value);
27
- }
28
- else {
29
- result[key] = value;
30
- }
31
- }
32
- return result;
33
- }
34
- if (override !== undefined) {
35
- return override;
36
- }
37
- return base;
38
- }
39
- function parseFrontmatter(content) {
40
- const frontmatterRegex = /^---\r?\n([\s\S]*?)\r?\n---\r?\n?/;
41
- const match = frontmatterRegex.exec(content);
42
- if (!match) {
43
- return { data: {}, body: content, hadFrontmatter: false };
44
- }
45
- const yamlSource = match[1];
46
- const body = content.slice(match[0].length);
47
- try {
48
- const parsed = yaml.load(yamlSource);
49
- if (isPlainObject(parsed)) {
50
- return { data: parsed, body, hadFrontmatter: true };
51
- }
52
- }
53
- catch {
54
- // Fall through to return empty data
55
- }
56
- return { data: {}, body, hadFrontmatter: true };
57
- }
58
- function formatWithFrontmatter(data, body) {
59
- const frontmatterYaml = yaml.dump(data, {
60
- indent: 2,
61
- noArrayIndent: true,
62
- sortKeys: false,
63
- quotingType: '"'
64
- }).trim();
65
- const header = `---\n${frontmatterYaml}\n---`;
66
- if (!body) {
67
- return `${header}\n`;
68
- }
69
- if (body.startsWith('\n') || body.startsWith('\r')) {
70
- return `${header}${body}`;
71
- }
72
- return `${header}\n${body}`;
73
- }
74
- /**
75
- * Merge platform-specific YAML override with universal content.
76
- *
77
- * - Only acts on markdown files (relPath must end with .md)
78
- * - Looks for `.openpackage/{universalSubdir}/{base}.{platform}.yml` in the provided files
79
- * - If found, merges YAML (non-package) before the package block
80
- * - Returns original content if no matching override
81
- */
82
- export function mergePlatformYamlOverride(universalContent, targetPlatform, universalSubdir, relPath, packageFiles) {
9
+ export function mergeInlinePlatformOverride(universalContent, targetPlatform, cwd) {
83
10
  try {
84
- if (!relPath.endsWith(FILE_PATTERNS.MD_FILES))
85
- return universalContent;
86
- const base = relPath.slice(0, -FILE_PATTERNS.MD_FILES.length);
87
- // Canonical override path: .openpackage/<subdir>/<base>.<platform>.yml
88
- const overridePath = `${OPENPACKAGE_PREFIX}${universalSubdir}/${base}.${targetPlatform}.yml`;
89
- const matchingYml = packageFiles.find(f => f.path === overridePath);
90
- if (!matchingYml?.content?.trim()) {
11
+ const trimmed = universalContent.trim();
12
+ if (!trimmed.endsWith(FILE_PATTERNS.MD_FILES) && !trimmed.startsWith('---')) {
13
+ // Fast path: only attempt merge for markdown with potential frontmatter
91
14
  return universalContent;
92
15
  }
93
- let overrideData;
94
- try {
95
- const parsedOverride = yaml.load(matchingYml.content);
96
- if (!isPlainObject(parsedOverride)) {
97
- console.warn(`YAML override for ${overridePath} must be an object; received ${typeof parsedOverride}`);
98
- return universalContent;
99
- }
100
- overrideData = parsedOverride;
101
- }
102
- catch (error) {
103
- console.warn(`Failed to parse YAML override for ${overridePath}: ${error}`);
104
- return universalContent;
105
- }
106
- if (Object.keys(overrideData).length === 0) {
16
+ const { frontmatter, body, rawFrontmatter } = splitFrontmatter(universalContent);
17
+ const { common, overridesByPlatform } = extractInlinePlatformOverrides(frontmatter, cwd);
18
+ const override = overridesByPlatform.get(targetPlatform) ?? {};
19
+ const mergedData = deepMerge(common, override);
20
+ // Avoid reformatting if there's no change compared to base.
21
+ // If frontmatter was present, check deep equality.
22
+ if (rawFrontmatter !== undefined && deepEqualYaml(frontmatter, mergedData)) {
107
23
  return universalContent;
108
24
  }
109
- const { data: baseData, body, hadFrontmatter } = parseFrontmatter(universalContent);
110
- const mergedData = deepMerge(baseData, overrideData);
111
- // Avoid reformatting if there's no change compared to base.
112
- if (hadFrontmatter && JSON.stringify(baseData) === JSON.stringify(mergedData)) {
25
+ // If no frontmatter was present and merged result is empty, return original.
26
+ if (rawFrontmatter === undefined && Object.keys(mergedData).length === 0) {
113
27
  return universalContent;
114
28
  }
115
- return formatWithFrontmatter(mergedData, body);
29
+ return composeMarkdown(mergedData, body);
116
30
  }
117
31
  catch {
118
32
  return universalContent;
119
33
  }
120
34
  }
121
- /**
122
- * Load platform-specific YAML override files from the registry for a package version.
123
- * Matches files in universal subdirs with pattern: ".openpackage/{subdir}/{base}.{platform}.yml"
124
- */
125
- export async function loadRegistryYamlOverrides(packageName, version) {
126
- const overrides = [];
127
- // Load package from registry
128
- const pkg = await packageManager.loadPackage(packageName, version);
129
- // Known platforms for suffix matching
130
- const platformValues = getAllPlatforms({ includeDisabled: true });
131
- const subdirs = Object.values(UNIVERSAL_SUBDIRS);
132
- for (const file of pkg.files) {
133
- const path = file.path;
134
- // Must be under .openpackage/<subdir>/ (canonical layout)
135
- if (!path.startsWith(OPENPACKAGE_PREFIX))
136
- continue;
137
- const afterPrefix = path.slice(OPENPACKAGE_PREFIX.length);
138
- // Must be in a universal subdir
139
- if (!subdirs.some(sd => afterPrefix.startsWith(sd + '/')))
140
- continue;
141
- // Must end with .yml and have a platform suffix before it
142
- if (!path.endsWith(FILE_PATTERNS.YML_FILE))
143
- continue;
144
- const lastDot = path.lastIndexOf('.');
145
- const secondLastDot = path.lastIndexOf('.', lastDot - 1);
146
- if (secondLastDot === -1)
147
- continue;
148
- const possiblePlatform = path.slice(secondLastDot + 1, lastDot);
149
- if (!platformValues.includes(possiblePlatform))
150
- continue;
151
- overrides.push({ path: file.path, content: file.content, encoding: 'utf8' });
152
- }
153
- return overrides;
154
- }
155
35
  //# sourceMappingURL=platform-yaml-merge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform-yaml-merge.js","sourceRoot":"","sources":["../../src/utils/platform-yaml-merge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform-yaml-merge.js","sourceRoot":"","sources":["../../src/utils/platform-yaml-merge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EACL,aAAa,EACb,SAAS,EACT,8BAA8B,EAC9B,gBAAgB,EAChB,eAAe,EAChB,MAAM,2BAA2B,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CACzC,gBAAwB,EACxB,cAAwB,EACxB,GAAY;IAEZ,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5E,wEAAwE;YACxE,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QACjF,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,8BAA8B,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACzF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAE/D,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE/C,4DAA4D;QAC5D,mDAAmD;QACnD,IAAI,cAAc,KAAK,SAAS,IAAI,aAAa,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,CAAC;YAC3E,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,6EAA6E;QAC7E,IAAI,cAAc,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzE,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,OAAO,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,gBAAgB,CAAC;IAC1B,CAAC;AACH,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import prompts from 'prompts';
2
2
  import { basename } from 'path';
3
3
  import { UserCancellationError } from './errors.js';
4
- import { PLATFORM_DEFINITIONS } from '../core/platforms.js';
4
+ import { getPlatformDefinitions } from '../core/platforms.js';
5
5
  import { normalizePackageName, validatePackageName } from './package-name.js';
6
6
  import { readTextFile } from './fs.js';
7
+ import { formatPathForDisplay } from './formatters.js';
7
8
  /**
8
9
  * Common prompt types and utilities for user interaction
9
10
  */
@@ -42,6 +43,20 @@ export async function promptPackageOverwrite(packageName, existingVersion) {
42
43
  const versionSuffix = existingVersion ? ` (${existingVersion})` : '';
43
44
  return await promptConfirmation(`Package '${packageName}' already exists${versionSuffix}. Overwrite all files?`, false);
44
45
  }
46
+ /**
47
+ * Prompt for pack overwrite confirmation with detailed context
48
+ */
49
+ export async function promptPackOverwrite(packageName, version, destination, existingFileCount, isCustomOutput) {
50
+ const locationType = isCustomOutput ? 'output directory' : 'registry';
51
+ const displayPath = formatPathForDisplay(destination, process.cwd());
52
+ console.log(''); // Spacing for readability
53
+ console.log(`⚠️ Package '${packageName}@${version}' already exists in ${locationType}`);
54
+ console.log(` Location: ${displayPath}`);
55
+ console.log(` Existing files: ${existingFileCount}`);
56
+ console.log('');
57
+ return await promptConfirmation(`Overwrite '${packageName}@${version}'? This action cannot be undone.`, false // Default to no
58
+ );
59
+ }
45
60
  /**
46
61
  * Prompt for package deletion confirmation
47
62
  */
@@ -52,12 +67,72 @@ export async function promptPackageDelete(packageName) {
52
67
  * Prompt for creating a new package
53
68
  */
54
69
  export async function promptCreatePackage() {
55
- return await promptConfirmation('No package.yml found. Would you like to create a new package?', true);
70
+ return await promptConfirmation('No openpackage.yml found. Would you like to create a new package?', true);
71
+ }
72
+ /**
73
+ * Prompt user to select package scope or custom path
74
+ */
75
+ export async function promptPackageScope() {
76
+ const response = await safePrompts({
77
+ type: 'select',
78
+ name: 'scope',
79
+ message: 'Where should this package be created?',
80
+ choices: [
81
+ {
82
+ title: 'Root (current directory)',
83
+ description: 'Create openpackage.yml here - for standalone/distributable packages',
84
+ value: 'root'
85
+ },
86
+ {
87
+ title: 'Local (workspace-scoped)',
88
+ description: 'Create in .openpackage/packages/ - for project-specific packages',
89
+ value: 'local'
90
+ },
91
+ {
92
+ title: 'Global (cross-workspace)',
93
+ description: 'Create in ~/.openpackage/packages/ - shared across all workspaces on this machine',
94
+ value: 'global'
95
+ },
96
+ {
97
+ title: 'Custom (specify path)',
98
+ description: 'Create at a custom location you specify',
99
+ value: 'custom'
100
+ }
101
+ ],
102
+ initial: 1, // Default to Local
103
+ hint: 'Use arrow keys to navigate, Enter to select'
104
+ });
105
+ return response.scope;
106
+ }
107
+ /**
108
+ * Prompt user to enter a custom path for package creation
109
+ *
110
+ * @param packageName - Optional package name to suggest default path
111
+ * @returns Custom path entered by user
112
+ */
113
+ export async function promptCustomPath(packageName) {
114
+ const defaultPath = packageName ? `./${packageName}` : './';
115
+ const response = await safePrompts({
116
+ type: 'text',
117
+ name: 'path',
118
+ message: 'Enter the directory path for the package:',
119
+ initial: defaultPath,
120
+ validate: (value) => {
121
+ if (!value || value.trim() === '') {
122
+ return 'Path is required';
123
+ }
124
+ // Basic validation - detailed validation happens in core logic
125
+ return true;
126
+ }
127
+ });
128
+ return response.path;
56
129
  }
57
130
  /**
58
131
  * Package details prompt for interactive package creation
132
+ * @param defaultName - Default package name to suggest
133
+ * @param existsChecker - Optional async function to check if package name already exists
59
134
  */
60
- export async function promptPackageDetails(defaultName) {
135
+ export async function promptPackageDetails(defaultName, existsChecker) {
61
136
  const cwd = process.cwd();
62
137
  const suggestedName = defaultName || basename(cwd);
63
138
  const response = await safePrompts([
@@ -66,16 +141,26 @@ export async function promptPackageDetails(defaultName) {
66
141
  name: 'name',
67
142
  message: 'Package name:',
68
143
  initial: suggestedName,
69
- validate: (value) => {
144
+ validate: async (value) => {
70
145
  if (!value)
71
146
  return 'Name is required';
72
147
  try {
73
148
  validatePackageName(value);
74
- return true;
75
149
  }
76
150
  catch (error) {
77
- return error.message.replace('%s', value);
151
+ // Strip "Validation error: " prefix to avoid duplication in prompts UI
152
+ const message = error.message;
153
+ return message.replace(/^Validation error:\s*/, '');
154
+ }
155
+ // Check if package already exists (if checker provided)
156
+ if (existsChecker) {
157
+ const normalized = normalizePackageName(value);
158
+ const alreadyExists = await existsChecker(normalized);
159
+ if (alreadyExists) {
160
+ return `Package '${normalized}' already exists. Please choose a different name.`;
161
+ }
78
162
  }
163
+ return true;
79
164
  }
80
165
  },
81
166
  {
@@ -183,7 +268,7 @@ export async function promptVersionOverwrite(packageName, oldVersion, newVersion
183
268
  * Prompt user to select platform they're using
184
269
  */
185
270
  export async function promptPlatformSelection() {
186
- const choices = Object.values(PLATFORM_DEFINITIONS).map(platform => ({
271
+ const choices = Object.values(getPlatformDefinitions()).map((platform) => ({
187
272
  title: platform.name,
188
273
  value: platform.id
189
274
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,9 @@
1
- import { DIR_PATTERNS, FILE_PATTERNS, UNIVERSAL_SUBDIRS } from '../constants/index.js';
2
- import { getFirstPathComponent, getPathAfterFirstComponent, normalizePathForProcessing } from './path-normalization.js';
3
- import { getAllRootFiles, isPlatformId } from '../core/platforms.js';
1
+ import { FILE_PATTERNS } from '../constants/index.js';
2
+ import { isRootCopyPath } from './platform-root-files.js';
3
+ import { normalizePathForProcessing } from './path-normalization.js';
4
+ import { getPlatformRootFiles, matchesUniversalPattern, isPlatformId } from '../core/platforms.js';
4
5
  import { isManifestPath } from './manifest-paths.js';
5
- const ROOT_REGISTRY_FILE_NAMES = getAllRootFiles();
6
- const UNIVERSAL_VALUES = Object.values(UNIVERSAL_SUBDIRS);
7
- const OPENPACKAGE_PREFIX = `${DIR_PATTERNS.OPENPACKAGE}/`;
6
+ const ROOT_REGISTRY_FILE_NAMES = getPlatformRootFiles();
8
7
  export function normalizeRegistryPath(registryPath) {
9
8
  return normalizePathForProcessing(registryPath);
10
9
  }
@@ -12,21 +11,17 @@ export function isRootRegistryPath(registryPath) {
12
11
  const normalized = normalizeRegistryPath(registryPath);
13
12
  return ROOT_REGISTRY_FILE_NAMES.some(pattern => normalized.endsWith(`/${pattern}`) || normalized === pattern);
14
13
  }
15
- export function isSkippableRegistryPath(registryPath) {
14
+ export function isSkippableRegistryPath(registryPath, cwd) {
16
15
  const normalized = normalizeRegistryPath(registryPath);
17
- // Handle package.yml at any level (.openpackage/package.yml, package.yml, etc.)
16
+ // Handle openpackage.yml at any level
18
17
  if (isManifestPath(normalized)) {
19
18
  return true;
20
19
  }
21
- const universalInfo = extractUniversalSubdirInfo(normalized);
22
- if (!universalInfo) {
20
+ // Check if it's a platform-specific YML file (e.g., rules.cursor.yml)
21
+ if (!normalized.endsWith(FILE_PATTERNS.YML_FILE)) {
23
22
  return false;
24
23
  }
25
- const normalizedRel = normalizePathForProcessing(universalInfo.relPath);
26
- if (!normalizedRel.endsWith(FILE_PATTERNS.YML_FILE)) {
27
- return false;
28
- }
29
- const fileName = normalizedRel.split('/').pop();
24
+ const fileName = normalized.split('/').pop();
30
25
  if (!fileName) {
31
26
  return false;
32
27
  }
@@ -37,27 +32,55 @@ export function isSkippableRegistryPath(registryPath) {
37
32
  const possiblePlatform = parts[parts.length - 2];
38
33
  return isPlatformId(possiblePlatform);
39
34
  }
40
- export function isAllowedRegistryPath(registryPath) {
35
+ /**
36
+ * Check if a registry path is allowed to be included in a package.
37
+ * Uses flow-based pattern matching to determine if a file is universal content.
38
+ *
39
+ * @param registryPath - Path to validate
40
+ * @param cwd - Optional cwd for local platform config overrides
41
+ * @returns true if path should be included in package
42
+ */
43
+ export function isAllowedRegistryPath(registryPath, cwd) {
41
44
  const normalized = normalizeRegistryPath(registryPath);
42
- if (isRootRegistryPath(normalized)) {
45
+ // Exclude root files (handled separately)
46
+ if (isRootRegistryPath(normalized))
43
47
  return false;
44
- }
45
- if (isSkippableRegistryPath(normalized)) {
48
+ // Exclude platform-specific YML files
49
+ if (isSkippableRegistryPath(normalized, cwd))
46
50
  return false;
47
- }
48
- return true;
51
+ // Exclude copy-to-root entries (handled explicitly elsewhere)
52
+ if (isRootCopyPath(normalized))
53
+ return false;
54
+ // Flow-based validation: path must match at least one universal pattern
55
+ return matchesUniversalPattern(normalized, cwd);
49
56
  }
50
- export function extractUniversalSubdirInfo(registryPath) {
57
+ /**
58
+ * Extract universal subdirectory info from a registry path if it starts with a known subdir.
59
+ * Returns null for root-level files that match universal patterns.
60
+ *
61
+ * @param registryPath - Registry path to analyze
62
+ * @param cwd - Optional cwd for local platform config overrides
63
+ * @returns Subdirectory info or null
64
+ *
65
+ * @deprecated This function exists for backward compatibility with code that needs
66
+ * to extract subdirectory information for path mapping. New code should use
67
+ * matchesUniversalPattern() for validation.
68
+ */
69
+ export function extractUniversalSubdirInfo(registryPath, cwd) {
51
70
  const normalized = normalizeRegistryPath(registryPath);
52
- if (!normalized.startsWith(OPENPACKAGE_PREFIX)) {
71
+ // Must match a universal pattern
72
+ if (!matchesUniversalPattern(normalized, cwd)) {
53
73
  return null;
54
74
  }
55
- const afterPrefix = normalized.slice(OPENPACKAGE_PREFIX.length);
56
- const firstComponent = getFirstPathComponent(afterPrefix);
57
- if (!firstComponent || !UNIVERSAL_VALUES.includes(firstComponent)) {
75
+ // Extract first path component
76
+ const parts = normalized.split('/');
77
+ const firstComponent = parts[0];
78
+ // If first component contains a dot, it's a root-level file, not a subdir
79
+ if (!firstComponent || firstComponent.includes('.')) {
58
80
  return null;
59
81
  }
60
- const relPath = getPathAfterFirstComponent(afterPrefix) ?? '';
82
+ // First component is a directory
83
+ const relPath = parts.slice(1).join('/');
61
84
  return {
62
85
  universalSubdir: firstComponent,
63
86
  relPath
@@ -1 +1 @@
1
- {"version":3,"file":"registry-entry-filter.js","sourceRoot":"","sources":["../../src/utils/registry-entry-filter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry-entry-filter.js","sourceRoot":"","sources":["../../src/utils/registry-entry-filter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { normalizeRegistryPath } from './registry-entry-filter.js';
2
+ import { DIR_PATTERNS } from '../constants/index.js';
3
+ import { getAllUniversalSubdirs } from '../core/platforms.js';
2
4
  /**
3
5
  * Commander option parser for comma-separated registry paths.
4
6
  * Ensures the pipeline always receives a normalized string[].
@@ -36,11 +38,10 @@ export function buildRequestedPaths(optionPaths, specPath) {
36
38
  ...(specPath ? [specPath] : [])
37
39
  ]);
38
40
  }
39
- import { DIR_PATTERNS, UNIVERSAL_SUBDIRS } from '../constants/index.js';
40
- export function formatRegistryPathForDisplay(registryPath) {
41
- const universalValues = Object.values(UNIVERSAL_SUBDIRS);
41
+ export function formatRegistryPathForDisplay(registryPath, cwd) {
42
+ const universalSubdirs = getAllUniversalSubdirs(cwd);
42
43
  const firstComponent = registryPath.split('/')[0];
43
- if (firstComponent && universalValues.includes(firstComponent)) {
44
+ if (firstComponent && universalSubdirs.has(firstComponent)) {
44
45
  return `${DIR_PATTERNS.OPENPACKAGE}/${registryPath}`;
45
46
  }
46
47
  return registryPath;
@@ -1 +1 @@
1
- {"version":3,"file":"registry-paths.js","sourceRoot":"","sources":["../../src/utils/registry-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAkB;IACvD,MAAM,UAAU,GAAG,QAAQ;SACxB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;SACxC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SACxB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SAC/B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC1D,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SACxC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEnC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,WAAiC,EACjC,QAA4B;IAE5B,OAAO,sBAAsB,CAAC;QAC5B,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;QACtB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAChC,CAAC,CAAC;AACL,CAAC;AACD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAExE,MAAM,UAAU,4BAA4B,CAAC,YAAoB;IAC/D,MAAM,eAAe,GAAa,MAAM,CAAC,MAAM,CAAC,iBAA2C,CAAC,CAAC;IAC7F,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAElD,IAAI,cAAc,IAAI,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/D,OAAO,GAAG,YAAY,CAAC,WAAW,IAAI,YAAY,EAAE,CAAC;IACvD,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"registry-paths.js","sourceRoot":"","sources":["../../src/utils/registry-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAkB;IACvD,MAAM,UAAU,GAAG,QAAQ;SACxB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;SACxC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SACxB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SAC/B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC1D,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SACxC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEnC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,WAAiC,EACjC,QAA4B;IAE5B,OAAO,sBAAsB,CAAC;QAC5B,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;QACtB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAChC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,YAAoB,EAAE,GAAY;IAC7E,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAElD,IAAI,cAAc,IAAI,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QAC3D,OAAO,GAAG,YAAY,CAAC,WAAW,IAAI,YAAY,EAAE,CAAC;IACvD,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC"}