primitive-admin 1.1.0-alpha.7 → 1.1.0-alpha.71

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 (438) hide show
  1. package/README.md +404 -80
  2. package/assets/skill/skills/primitive-platform/SKILL.md +808 -0
  3. package/dist/bin/primitive.d.ts +2 -0
  4. package/dist/bin/primitive.js +294 -21
  5. package/dist/bin/primitive.js.map +1 -1
  6. package/dist/src/commands/admins.d.ts +2 -0
  7. package/dist/src/commands/admins.js +138 -19
  8. package/dist/src/commands/admins.js.map +1 -1
  9. package/dist/src/commands/analytics.d.ts +2 -0
  10. package/dist/src/commands/analytics.js +544 -55
  11. package/dist/src/commands/analytics.js.map +1 -1
  12. package/dist/src/commands/apps.d.ts +2 -0
  13. package/dist/src/commands/apps.js +51 -96
  14. package/dist/src/commands/apps.js.map +1 -1
  15. package/dist/src/commands/auth.d.ts +2 -0
  16. package/dist/src/commands/auth.js +177 -7
  17. package/dist/src/commands/auth.js.map +1 -1
  18. package/dist/src/commands/blob-buckets.d.ts +2 -0
  19. package/dist/src/commands/blob-buckets.js +330 -0
  20. package/dist/src/commands/blob-buckets.js.map +1 -0
  21. package/dist/src/commands/catalog.d.ts +2 -0
  22. package/dist/src/commands/catalog.js +37 -38
  23. package/dist/src/commands/catalog.js.map +1 -1
  24. package/dist/src/commands/collection-type-configs.d.ts +2 -0
  25. package/dist/src/commands/collection-type-configs.js +92 -0
  26. package/dist/src/commands/collection-type-configs.js.map +1 -0
  27. package/dist/src/commands/collections.d.ts +2 -0
  28. package/dist/src/commands/collections.js +565 -0
  29. package/dist/src/commands/collections.js.map +1 -0
  30. package/dist/src/commands/comparisons.d.ts +2 -0
  31. package/dist/src/commands/comparisons.js +6 -6
  32. package/dist/src/commands/comparisons.js.map +1 -1
  33. package/dist/src/commands/config.d.ts +46 -0
  34. package/dist/src/commands/config.js +479 -0
  35. package/dist/src/commands/config.js.map +1 -0
  36. package/dist/src/commands/connections.d.ts +2 -0
  37. package/dist/src/commands/connections.js +100 -0
  38. package/dist/src/commands/connections.js.map +1 -0
  39. package/dist/src/commands/cron-triggers.d.ts +2 -0
  40. package/dist/src/commands/cron-triggers.js +265 -0
  41. package/dist/src/commands/cron-triggers.js.map +1 -0
  42. package/dist/src/commands/database-type-configs.d.ts +2 -0
  43. package/dist/src/commands/database-type-configs.js +171 -0
  44. package/dist/src/commands/database-type-configs.js.map +1 -0
  45. package/dist/src/commands/database-types.d.ts +2 -0
  46. package/dist/src/commands/database-types.js +471 -0
  47. package/dist/src/commands/database-types.js.map +1 -0
  48. package/dist/src/commands/databases.d.ts +65 -0
  49. package/dist/src/commands/databases.js +2140 -112
  50. package/dist/src/commands/databases.js.map +1 -1
  51. package/dist/src/commands/documents.d.ts +2 -0
  52. package/dist/src/commands/documents.js +1357 -19
  53. package/dist/src/commands/documents.js.map +1 -1
  54. package/dist/src/commands/email-templates.d.ts +2 -0
  55. package/dist/src/commands/email-templates.js +174 -0
  56. package/dist/src/commands/email-templates.js.map +1 -0
  57. package/dist/src/commands/env.d.ts +23 -0
  58. package/dist/src/commands/env.js +333 -0
  59. package/dist/src/commands/env.js.map +1 -0
  60. package/dist/src/commands/feature-flags.d.ts +14 -0
  61. package/dist/src/commands/feature-flags.js +116 -0
  62. package/dist/src/commands/feature-flags.js.map +1 -0
  63. package/dist/src/commands/group-type-configs.d.ts +2 -0
  64. package/dist/src/commands/group-type-configs.js +86 -0
  65. package/dist/src/commands/group-type-configs.js.map +1 -0
  66. package/dist/src/commands/groups.d.ts +2 -0
  67. package/dist/src/commands/groups.js +38 -99
  68. package/dist/src/commands/groups.js.map +1 -1
  69. package/dist/src/commands/guides.d.ts +223 -0
  70. package/dist/src/commands/guides.js +617 -65
  71. package/dist/src/commands/guides.js.map +1 -1
  72. package/dist/src/commands/init.d.ts +25 -0
  73. package/dist/src/commands/init.js +1605 -208
  74. package/dist/src/commands/init.js.map +1 -1
  75. package/dist/src/commands/integrations.d.ts +2 -0
  76. package/dist/src/commands/integrations.js +380 -178
  77. package/dist/src/commands/integrations.js.map +1 -1
  78. package/dist/src/commands/llm.d.ts +2 -0
  79. package/dist/src/commands/llm.js +4 -2
  80. package/dist/src/commands/llm.js.map +1 -1
  81. package/dist/src/commands/locks.d.ts +8 -0
  82. package/dist/src/commands/locks.js +160 -0
  83. package/dist/src/commands/locks.js.map +1 -0
  84. package/dist/src/commands/metadata-category-configs.d.ts +12 -0
  85. package/dist/src/commands/metadata-category-configs.js +112 -0
  86. package/dist/src/commands/metadata-category-configs.js.map +1 -0
  87. package/dist/src/commands/metadata.d.ts +2 -0
  88. package/dist/src/commands/metadata.js +281 -0
  89. package/dist/src/commands/metadata.js.map +1 -0
  90. package/dist/src/commands/prompts.d.ts +2 -0
  91. package/dist/src/commands/prompts.js +225 -584
  92. package/dist/src/commands/prompts.js.map +1 -1
  93. package/dist/src/commands/rule-sets.d.ts +3 -0
  94. package/dist/src/commands/rule-sets.js +272 -0
  95. package/dist/src/commands/rule-sets.js.map +1 -0
  96. package/dist/src/commands/scripts.d.ts +20 -0
  97. package/dist/src/commands/scripts.js +554 -0
  98. package/dist/src/commands/scripts.js.map +1 -0
  99. package/dist/src/commands/secrets.d.ts +2 -0
  100. package/dist/src/commands/secrets.js +108 -0
  101. package/dist/src/commands/secrets.js.map +1 -0
  102. package/dist/src/commands/sessions.d.ts +2 -0
  103. package/dist/src/commands/sessions.js +75 -0
  104. package/dist/src/commands/sessions.js.map +1 -0
  105. package/dist/src/commands/skill.d.ts +2 -0
  106. package/dist/src/commands/skill.js +29 -0
  107. package/dist/src/commands/skill.js.map +1 -0
  108. package/dist/src/commands/sync-app-settings.d.ts +158 -0
  109. package/dist/src/commands/sync-app-settings.js +330 -0
  110. package/dist/src/commands/sync-app-settings.js.map +1 -0
  111. package/dist/src/commands/sync.d.ts +2323 -0
  112. package/dist/src/commands/sync.js +15065 -843
  113. package/dist/src/commands/sync.js.map +1 -1
  114. package/dist/src/commands/tokens.d.ts +2 -0
  115. package/dist/src/commands/tokens.js +130 -21
  116. package/dist/src/commands/tokens.js.map +1 -1
  117. package/dist/src/commands/users.d.ts +2 -0
  118. package/dist/src/commands/users.js +532 -23
  119. package/dist/src/commands/users.js.map +1 -1
  120. package/dist/src/commands/vars.d.ts +8 -0
  121. package/dist/src/commands/vars.js +96 -0
  122. package/dist/src/commands/vars.js.map +1 -0
  123. package/dist/src/commands/waitlist.d.ts +2 -0
  124. package/dist/src/commands/waitlist.js +10 -10
  125. package/dist/src/commands/waitlist.js.map +1 -1
  126. package/dist/src/commands/webhooks.d.ts +2 -0
  127. package/dist/src/commands/webhooks.js +562 -0
  128. package/dist/src/commands/webhooks.js.map +1 -0
  129. package/dist/src/commands/workflows.d.ts +116 -0
  130. package/dist/src/commands/workflows.js +1583 -681
  131. package/dist/src/commands/workflows.js.map +1 -1
  132. package/dist/src/lib/access-rule-display.d.ts +21 -0
  133. package/dist/src/lib/access-rule-display.js +34 -0
  134. package/dist/src/lib/access-rule-display.js.map +1 -0
  135. package/dist/src/lib/api-client.d.ts +1936 -0
  136. package/dist/src/lib/api-client.js +1826 -138
  137. package/dist/src/lib/api-client.js.map +1 -1
  138. package/dist/src/lib/app-settings-descriptor.d.ts +263 -0
  139. package/dist/src/lib/app-settings-descriptor.js +575 -0
  140. package/dist/src/lib/app-settings-descriptor.js.map +1 -0
  141. package/dist/src/lib/auth-flow.d.ts +8 -0
  142. package/dist/src/lib/batch.d.ts +26 -0
  143. package/dist/src/lib/batch.js +32 -0
  144. package/dist/src/lib/batch.js.map +1 -0
  145. package/dist/src/lib/block-layout.d.ts +160 -0
  146. package/dist/src/lib/block-layout.js +451 -0
  147. package/dist/src/lib/block-layout.js.map +1 -0
  148. package/dist/src/lib/canonical-json.d.ts +12 -0
  149. package/dist/src/lib/canonical-json.js +35 -0
  150. package/dist/src/lib/canonical-json.js.map +1 -0
  151. package/dist/src/lib/channel.d.ts +30 -0
  152. package/dist/src/lib/channel.js +68 -0
  153. package/dist/src/lib/channel.js.map +1 -0
  154. package/dist/src/lib/cli-manifest.d.ts +68 -0
  155. package/dist/src/lib/cli-manifest.js +71 -0
  156. package/dist/src/lib/cli-manifest.js.map +1 -0
  157. package/dist/src/lib/codegen-shared/generatedFiles.d.ts +101 -0
  158. package/dist/src/lib/codegen-shared/generatedFiles.js +191 -0
  159. package/dist/src/lib/codegen-shared/generatedFiles.js.map +1 -0
  160. package/dist/src/lib/codegen-shared/prettierStable.d.ts +262 -0
  161. package/dist/src/lib/codegen-shared/prettierStable.js +610 -0
  162. package/dist/src/lib/codegen-shared/prettierStable.js.map +1 -0
  163. package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.d.ts +68 -0
  164. package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.js +168 -0
  165. package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.js.map +1 -0
  166. package/dist/src/lib/config-object-descriptor.d.ts +127 -0
  167. package/dist/src/lib/config-object-descriptor.js +658 -0
  168. package/dist/src/lib/config-object-descriptor.js.map +1 -0
  169. package/dist/src/lib/config-payload.d.ts +85 -0
  170. package/dist/src/lib/config-payload.js +116 -0
  171. package/dist/src/lib/config-payload.js.map +1 -0
  172. package/dist/src/lib/config-surface.d.ts +130 -0
  173. package/dist/src/lib/config-surface.js +300 -0
  174. package/dist/src/lib/config-surface.js.map +1 -0
  175. package/dist/src/lib/config-toml.d.ts +10 -0
  176. package/dist/src/lib/config-toml.js +42 -0
  177. package/dist/src/lib/config-toml.js.map +1 -0
  178. package/dist/src/lib/config.d.ts +53 -0
  179. package/dist/src/lib/config.js +92 -53
  180. package/dist/src/lib/config.js.map +1 -1
  181. package/dist/src/lib/confirm-prompt.d.ts +83 -0
  182. package/dist/src/lib/confirm-prompt.js +110 -0
  183. package/dist/src/lib/confirm-prompt.js.map +1 -0
  184. package/dist/src/lib/constants.d.ts +11 -0
  185. package/dist/src/lib/constants.js +12 -0
  186. package/dist/src/lib/constants.js.map +1 -0
  187. package/dist/src/lib/crash-handlers.d.ts +20 -0
  188. package/dist/src/lib/crash-handlers.js +49 -0
  189. package/dist/src/lib/crash-handlers.js.map +1 -0
  190. package/dist/src/lib/credentials-store.d.ts +89 -0
  191. package/dist/src/lib/credentials-store.js +330 -0
  192. package/dist/src/lib/credentials-store.js.map +1 -0
  193. package/dist/src/lib/csv.d.ts +47 -0
  194. package/dist/src/lib/csv.js +172 -0
  195. package/dist/src/lib/csv.js.map +1 -0
  196. package/dist/src/lib/data-input.d.ts +23 -0
  197. package/dist/src/lib/data-input.js +50 -0
  198. package/dist/src/lib/data-input.js.map +1 -0
  199. package/dist/src/lib/db-codegen/dbFingerprint.d.ts +10 -0
  200. package/dist/src/lib/db-codegen/dbFingerprint.js +17 -0
  201. package/dist/src/lib/db-codegen/dbFingerprint.js.map +1 -0
  202. package/dist/src/lib/db-codegen/dbGenerator.d.ts +67 -0
  203. package/dist/src/lib/db-codegen/dbGenerator.js +170 -0
  204. package/dist/src/lib/db-codegen/dbGenerator.js.map +1 -0
  205. package/dist/src/lib/db-codegen/dbNaming.d.ts +87 -0
  206. package/dist/src/lib/db-codegen/dbNaming.js +180 -0
  207. package/dist/src/lib/db-codegen/dbNaming.js.map +1 -0
  208. package/dist/src/lib/db-codegen/dbTemplates.d.ts +272 -0
  209. package/dist/src/lib/db-codegen/dbTemplates.js +480 -0
  210. package/dist/src/lib/db-codegen/dbTemplates.js.map +1 -0
  211. package/dist/src/lib/db-codegen/dbTsTypes.d.ts +73 -0
  212. package/dist/src/lib/db-codegen/dbTsTypes.js +139 -0
  213. package/dist/src/lib/db-codegen/dbTsTypes.js.map +1 -0
  214. package/dist/src/lib/db-codegen/dbTypeIR.d.ts +146 -0
  215. package/dist/src/lib/db-codegen/dbTypeIR.js +517 -0
  216. package/dist/src/lib/db-codegen/dbTypeIR.js.map +1 -0
  217. package/dist/src/lib/db-codegen/generated-operation-def-descriptor.d.ts +112 -0
  218. package/dist/src/lib/db-codegen/generated-operation-def-descriptor.js +211 -0
  219. package/dist/src/lib/db-codegen/generated-operation-def-descriptor.js.map +1 -0
  220. package/dist/src/lib/env-resolver-core.d.ts +147 -0
  221. package/dist/src/lib/env-resolver-core.js +265 -0
  222. package/dist/src/lib/env-resolver-core.js.map +1 -0
  223. package/dist/src/lib/env-resolver.d.ts +84 -0
  224. package/dist/src/lib/env-resolver.js +133 -0
  225. package/dist/src/lib/env-resolver.js.map +1 -0
  226. package/dist/src/lib/fetch.d.ts +5 -0
  227. package/dist/src/lib/generated-allowlist.d.ts +28 -0
  228. package/dist/src/lib/generated-allowlist.js +277 -0
  229. package/dist/src/lib/generated-allowlist.js.map +1 -0
  230. package/dist/src/lib/generated-config-surfaces.d.ts +682 -0
  231. package/dist/src/lib/generated-config-surfaces.js +4058 -0
  232. package/dist/src/lib/generated-config-surfaces.js.map +1 -0
  233. package/dist/src/lib/generated-template-lint.d.ts +212 -0
  234. package/dist/src/lib/generated-template-lint.js +624 -0
  235. package/dist/src/lib/generated-template-lint.js.map +1 -0
  236. package/dist/src/lib/init-adopt.d.ts +16 -0
  237. package/dist/src/lib/init-adopt.js +34 -0
  238. package/dist/src/lib/init-adopt.js.map +1 -0
  239. package/dist/src/lib/init-assets.d.ts +39 -0
  240. package/dist/src/lib/init-assets.js +97 -0
  241. package/dist/src/lib/init-assets.js.map +1 -0
  242. package/dist/src/lib/init-config.d.ts +98 -0
  243. package/dist/src/lib/init-config.js +186 -0
  244. package/dist/src/lib/init-config.js.map +1 -0
  245. package/dist/src/lib/init-ios-links.d.ts +50 -0
  246. package/dist/src/lib/init-ios-links.js +153 -0
  247. package/dist/src/lib/init-ios-links.js.map +1 -0
  248. package/dist/src/lib/init-plan.d.ts +80 -0
  249. package/dist/src/lib/init-plan.js +95 -0
  250. package/dist/src/lib/init-plan.js.map +1 -0
  251. package/dist/src/lib/init-production-env.d.ts +48 -0
  252. package/dist/src/lib/init-production-env.js +59 -0
  253. package/dist/src/lib/init-production-env.js.map +1 -0
  254. package/dist/src/lib/init-schema.d.ts +74 -0
  255. package/dist/src/lib/init-schema.js +358 -0
  256. package/dist/src/lib/init-schema.js.map +1 -0
  257. package/dist/src/lib/init-xcode.d.ts +33 -0
  258. package/dist/src/lib/init-xcode.js +114 -0
  259. package/dist/src/lib/init-xcode.js.map +1 -0
  260. package/dist/src/lib/integration-request-config.d.ts +30 -0
  261. package/dist/src/lib/integration-request-config.js +145 -0
  262. package/dist/src/lib/integration-request-config.js.map +1 -0
  263. package/dist/src/lib/local-state.d.ts +55 -0
  264. package/dist/src/lib/local-state.js +167 -0
  265. package/dist/src/lib/local-state.js.map +1 -0
  266. package/dist/src/lib/log-inspection.d.ts +568 -0
  267. package/dist/src/lib/log-inspection.js +639 -0
  268. package/dist/src/lib/log-inspection.js.map +1 -0
  269. package/dist/src/lib/migration-nag.d.ts +49 -0
  270. package/dist/src/lib/migration-nag.js +163 -0
  271. package/dist/src/lib/migration-nag.js.map +1 -0
  272. package/dist/src/lib/object-status-filter.d.ts +22 -0
  273. package/dist/src/lib/object-status-filter.js +45 -0
  274. package/dist/src/lib/object-status-filter.js.map +1 -0
  275. package/dist/src/lib/output.d.ts +109 -0
  276. package/dist/src/lib/output.js +191 -8
  277. package/dist/src/lib/output.js.map +1 -1
  278. package/dist/src/lib/package-manager.d.ts +140 -0
  279. package/dist/src/lib/package-manager.js +305 -0
  280. package/dist/src/lib/package-manager.js.map +1 -0
  281. package/dist/src/lib/paginate.d.ts +83 -0
  282. package/dist/src/lib/paginate.js +95 -0
  283. package/dist/src/lib/paginate.js.map +1 -0
  284. package/dist/src/lib/platform-owned.d.ts +63 -0
  285. package/dist/src/lib/platform-owned.js +85 -0
  286. package/dist/src/lib/platform-owned.js.map +1 -0
  287. package/dist/src/lib/project-config.d.ts +97 -0
  288. package/dist/src/lib/project-config.js +217 -0
  289. package/dist/src/lib/project-config.js.map +1 -0
  290. package/dist/src/lib/query-operators.d.ts +43 -0
  291. package/dist/src/lib/query-operators.js +80 -0
  292. package/dist/src/lib/query-operators.js.map +1 -0
  293. package/dist/src/lib/record-filter.d.ts +18 -0
  294. package/dist/src/lib/record-filter.js +55 -0
  295. package/dist/src/lib/record-filter.js.map +1 -0
  296. package/dist/src/lib/refresh-admin-credentials.d.ts +65 -0
  297. package/dist/src/lib/refresh-admin-credentials.js +103 -0
  298. package/dist/src/lib/refresh-admin-credentials.js.map +1 -0
  299. package/dist/src/lib/resolve-init-dev-port.d.ts +56 -0
  300. package/dist/src/lib/resolve-init-dev-port.js +55 -0
  301. package/dist/src/lib/resolve-init-dev-port.js.map +1 -0
  302. package/dist/src/lib/resolve-init-server.d.ts +64 -0
  303. package/dist/src/lib/resolve-init-server.js +77 -0
  304. package/dist/src/lib/resolve-init-server.js.map +1 -0
  305. package/dist/src/lib/resolve-platform.d.ts +74 -0
  306. package/dist/src/lib/resolve-platform.js +105 -0
  307. package/dist/src/lib/resolve-platform.js.map +1 -0
  308. package/dist/src/lib/run-status.d.ts +19 -0
  309. package/dist/src/lib/run-status.generated.d.ts +39 -0
  310. package/dist/src/lib/run-status.generated.js +66 -0
  311. package/dist/src/lib/run-status.generated.js.map +1 -0
  312. package/dist/src/lib/run-status.js +19 -0
  313. package/dist/src/lib/run-status.js.map +1 -0
  314. package/dist/src/lib/server-text-normalization.d.ts +51 -0
  315. package/dist/src/lib/server-text-normalization.js +90 -0
  316. package/dist/src/lib/server-text-normalization.js.map +1 -0
  317. package/dist/src/lib/server-url.d.ts +22 -0
  318. package/dist/src/lib/server-url.js +33 -0
  319. package/dist/src/lib/server-url.js.map +1 -0
  320. package/dist/src/lib/signing-secret-status.d.ts +81 -0
  321. package/dist/src/lib/signing-secret-status.js +116 -0
  322. package/dist/src/lib/signing-secret-status.js.map +1 -0
  323. package/dist/src/lib/skill-installer.d.ts +25 -0
  324. package/dist/src/lib/skill-installer.js +266 -0
  325. package/dist/src/lib/skill-installer.js.map +1 -0
  326. package/dist/src/lib/snapshots.d.ts +99 -0
  327. package/dist/src/lib/snapshots.js +357 -0
  328. package/dist/src/lib/snapshots.js.map +1 -0
  329. package/dist/src/lib/swift-codegen/dbGenerator.d.ts +113 -0
  330. package/dist/src/lib/swift-codegen/dbGenerator.js +914 -0
  331. package/dist/src/lib/swift-codegen/dbGenerator.js.map +1 -0
  332. package/dist/src/lib/swift-codegen/dbSwiftTypes.d.ts +42 -0
  333. package/dist/src/lib/swift-codegen/dbSwiftTypes.js +100 -0
  334. package/dist/src/lib/swift-codegen/dbSwiftTypes.js.map +1 -0
  335. package/dist/src/lib/swift-codegen/generator.d.ts +94 -0
  336. package/dist/src/lib/swift-codegen/generator.js +440 -0
  337. package/dist/src/lib/swift-codegen/generator.js.map +1 -0
  338. package/dist/src/lib/swift-codegen/schemaToSwift.d.ts +72 -0
  339. package/dist/src/lib/swift-codegen/schemaToSwift.js +644 -0
  340. package/dist/src/lib/swift-codegen/schemaToSwift.js.map +1 -0
  341. package/dist/src/lib/swift-codegen/siblingSymbols.d.ts +94 -0
  342. package/dist/src/lib/swift-codegen/siblingSymbols.js +155 -0
  343. package/dist/src/lib/swift-codegen/siblingSymbols.js.map +1 -0
  344. package/dist/src/lib/swift-codegen/swiftNaming.d.ts +85 -0
  345. package/dist/src/lib/swift-codegen/swiftNaming.js +198 -0
  346. package/dist/src/lib/swift-codegen/swiftNaming.js.map +1 -0
  347. package/dist/src/lib/sync-dir-selector.d.ts +21 -0
  348. package/dist/src/lib/sync-dir-selector.js +30 -0
  349. package/dist/src/lib/sync-dir-selector.js.map +1 -0
  350. package/dist/src/lib/sync-paths.d.ts +111 -0
  351. package/dist/src/lib/sync-paths.js +198 -0
  352. package/dist/src/lib/sync-paths.js.map +1 -0
  353. package/dist/src/lib/sync-resource-types.d.ts +544 -0
  354. package/dist/src/lib/sync-resource-types.js +975 -0
  355. package/dist/src/lib/sync-resource-types.js.map +1 -0
  356. package/dist/src/lib/sync-selectors.d.ts +95 -0
  357. package/dist/src/lib/sync-selectors.js +228 -0
  358. package/dist/src/lib/sync-selectors.js.map +1 -0
  359. package/dist/src/lib/template.d.ts +170 -0
  360. package/dist/src/lib/template.js +484 -68
  361. package/dist/src/lib/template.js.map +1 -1
  362. package/dist/src/lib/test-case-keys.d.ts +29 -0
  363. package/dist/src/lib/test-case-keys.js +55 -0
  364. package/dist/src/lib/test-case-keys.js.map +1 -0
  365. package/dist/src/lib/test-case-variables.d.ts +15 -0
  366. package/dist/src/lib/test-case-variables.js +29 -0
  367. package/dist/src/lib/test-case-variables.js.map +1 -0
  368. package/dist/src/lib/token-inject.d.ts +56 -0
  369. package/dist/src/lib/token-inject.js +204 -0
  370. package/dist/src/lib/token-inject.js.map +1 -0
  371. package/dist/src/lib/toml-database-config.d.ts +123 -0
  372. package/dist/src/lib/toml-database-config.js +527 -0
  373. package/dist/src/lib/toml-database-config.js.map +1 -0
  374. package/dist/src/lib/toml-metadata-config.d.ts +151 -0
  375. package/dist/src/lib/toml-metadata-config.js +476 -0
  376. package/dist/src/lib/toml-metadata-config.js.map +1 -0
  377. package/dist/src/lib/toml-native-form.d.ts +46 -0
  378. package/dist/src/lib/toml-native-form.js +78 -0
  379. package/dist/src/lib/toml-native-form.js.map +1 -0
  380. package/dist/src/lib/toml-params-validator.d.ts +129 -0
  381. package/dist/src/lib/toml-params-validator.js +298 -0
  382. package/dist/src/lib/toml-params-validator.js.map +1 -0
  383. package/dist/src/lib/toml-scalar-edit.d.ts +43 -0
  384. package/dist/src/lib/toml-scalar-edit.js +283 -0
  385. package/dist/src/lib/toml-scalar-edit.js.map +1 -0
  386. package/dist/src/lib/user-selector.d.ts +24 -0
  387. package/dist/src/lib/user-selector.js +33 -0
  388. package/dist/src/lib/user-selector.js.map +1 -0
  389. package/dist/src/lib/version-check.d.ts +35 -0
  390. package/dist/src/lib/version-check.js +241 -0
  391. package/dist/src/lib/version-check.js.map +1 -0
  392. package/dist/src/lib/watch.d.ts +121 -0
  393. package/dist/src/lib/watch.js +169 -0
  394. package/dist/src/lib/watch.js.map +1 -0
  395. package/dist/src/lib/workflow-apply.d.ts +110 -0
  396. package/dist/src/lib/workflow-apply.js +164 -0
  397. package/dist/src/lib/workflow-apply.js.map +1 -0
  398. package/dist/src/lib/workflow-codegen/generated-schema-descriptor.d.ts +129 -0
  399. package/dist/src/lib/workflow-codegen/generated-schema-descriptor.js +269 -0
  400. package/dist/src/lib/workflow-codegen/generated-schema-descriptor.js.map +1 -0
  401. package/dist/src/lib/workflow-codegen/generator.d.ts +96 -0
  402. package/dist/src/lib/workflow-codegen/generator.js +361 -0
  403. package/dist/src/lib/workflow-codegen/generator.js.map +1 -0
  404. package/dist/src/lib/workflow-codegen/invokerIR.d.ts +94 -0
  405. package/dist/src/lib/workflow-codegen/invokerIR.js +76 -0
  406. package/dist/src/lib/workflow-codegen/invokerIR.js.map +1 -0
  407. package/dist/src/lib/workflow-codegen/naming.d.ts +33 -0
  408. package/dist/src/lib/workflow-codegen/naming.js +81 -0
  409. package/dist/src/lib/workflow-codegen/naming.js.map +1 -0
  410. package/dist/src/lib/workflow-codegen/schemaToTs.d.ts +80 -0
  411. package/dist/src/lib/workflow-codegen/schemaToTs.js +303 -0
  412. package/dist/src/lib/workflow-codegen/schemaToTs.js.map +1 -0
  413. package/dist/src/lib/workflow-config-apply.d.ts +70 -0
  414. package/dist/src/lib/workflow-config-apply.js +137 -0
  415. package/dist/src/lib/workflow-config-apply.js.map +1 -0
  416. package/dist/src/lib/workflow-config-sidecar.d.ts +63 -0
  417. package/dist/src/lib/workflow-config-sidecar.js +96 -0
  418. package/dist/src/lib/workflow-config-sidecar.js.map +1 -0
  419. package/dist/src/lib/workflow-defaults.d.ts +29 -0
  420. package/dist/src/lib/workflow-defaults.js +41 -0
  421. package/dist/src/lib/workflow-defaults.js.map +1 -0
  422. package/dist/src/lib/workflow-fragments.d.ts +64 -0
  423. package/dist/src/lib/workflow-fragments.js +342 -0
  424. package/dist/src/lib/workflow-fragments.js.map +1 -0
  425. package/dist/src/lib/workflow-include-preserve.d.ts +76 -0
  426. package/dist/src/lib/workflow-include-preserve.js +286 -0
  427. package/dist/src/lib/workflow-include-preserve.js.map +1 -0
  428. package/dist/src/lib/workflow-payload.d.ts +98 -0
  429. package/dist/src/lib/workflow-payload.js +178 -0
  430. package/dist/src/lib/workflow-payload.js.map +1 -0
  431. package/dist/src/lib/workflow-toml-validator.d.ts +202 -0
  432. package/dist/src/lib/workflow-toml-validator.js +757 -0
  433. package/dist/src/lib/workflow-toml-validator.js.map +1 -0
  434. package/dist/src/types/index.d.ts +581 -0
  435. package/dist/src/validators.d.ts +65 -0
  436. package/dist/src/validators.js +64 -0
  437. package/dist/src/validators.js.map +1 -0
  438. package/package.json +32 -8
@@ -0,0 +1,30 @@
1
+ import { error, warn } from "./output.js";
2
+ /**
3
+ * Resolve the sync-directory override for a command that takes one (issue #2807).
4
+ *
5
+ * `--dir <path>` is the canonical spelling of "read/write the config tree HERE
6
+ * instead of the auto-resolved `.primitive/sync/<env>/<appId>/`": every `config`
7
+ * verb has shipped it since the tree existed, and it is the spelling the
8
+ * getting-started pages and the CLI skill teach. The codegen-family commands
9
+ * (`databases codegen`, `workflows codegen`, `databases schema generate`)
10
+ * shipped the same override as `--sync-dir`, so that spelling stays accepted as
11
+ * a hidden alias: it resolves to the same value and prints one deprecation line
12
+ * on **stderr** (never suppressed under `--json`, because stderr cannot corrupt
13
+ * stdout and a scripted caller is exactly who needs to see it).
14
+ *
15
+ * Supplying both spellings exits non-zero rather than applying a silent
16
+ * precedence. This mirrors `resolveUserSelector` (issue #2357), the CLI's other
17
+ * flag rename.
18
+ */
19
+ export function resolveSyncDirOverride(options, commandLabel) {
20
+ if (options.dir && options.syncDir) {
21
+ error(`Provide only one of --dir or --sync-dir (--sync-dir is a deprecated alias of --dir).`);
22
+ process.exit(1);
23
+ }
24
+ if (options.syncDir) {
25
+ warn(`--sync-dir is deprecated for \`${commandLabel}\`; use --dir instead.`);
26
+ return options.syncDir;
27
+ }
28
+ return options.dir;
29
+ }
30
+ //# sourceMappingURL=sync-dir-selector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-dir-selector.js","sourceRoot":"","sources":["../../../src/lib/sync-dir-selector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAA2C,EAC3C,YAAoB;IAEpB,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACnC,KAAK,CACH,sFAAsF,CACvF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,CACF,kCAAkC,YAAY,wBAAwB,CACvE,CAAC;QACF,OAAO,OAAO,CAAC,OAAO,CAAC;IACzB,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC;AACrB,CAAC"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Sync data path resolution.
3
+ *
4
+ * Per issue #373, sync state is scoped by environment AND by app:
5
+ *
6
+ * <projectRoot>/.primitive/sync/<env>/<appId>/
7
+ *
8
+ * This ensures that switching environments (dev -> prod) or apps never
9
+ * clobbers sync state from another slot. Push to dev and then to prod
10
+ * see independent "last synced" pointers, so prod won't falsely believe
11
+ * dev's changes are already in sync.
12
+ *
13
+ * When the user still passes `--dir <path>` (the legacy flag) we honor
14
+ * it and store sync state inside that directory, same as before. This
15
+ * keeps pre-project-config workflows working.
16
+ */
17
+ export interface ResolveSyncDirOptions {
18
+ /** The resolved app ID for this sync operation. */
19
+ appId: string;
20
+ /**
21
+ * If the user passed `--dir <path>` on the command line, forward it
22
+ * here. Explicit user input always wins.
23
+ */
24
+ userDir?: string;
25
+ }
26
+ /**
27
+ * Returns the directory that should hold TOML files + sync state for the
28
+ * current sync operation.
29
+ *
30
+ * Resolution order:
31
+ * 1. If userDir is set, return it as-is (legacy behavior).
32
+ * 2. If we're in project mode, return
33
+ * <projectRoot>/.primitive/sync/<env>/<appId>
34
+ * 3. Otherwise fall back to "./config" (the old default).
35
+ */
36
+ export declare function resolveSyncDir(options: ResolveSyncDirOptions): string;
37
+ /**
38
+ * Returns the snapshot-backups root for the slot a given sync operation
39
+ * belongs to (issue #578, Phase 1). Snapshots reuse the SAME resolution chain
40
+ * as `resolveSyncDir` (the resolved `ResolvedEnvironment` + `safeEnv()`), so
41
+ * the backup tree can never drift from the live sync tree — there is no
42
+ * parallel `{projectRoot, env, appId}` mini-model.
43
+ *
44
+ * Resolution order mirrors `resolveSyncDir`:
45
+ * 1. If userDir (legacy `--dir`) is set, snapshots live in a sibling
46
+ * `<userDir>/.snapshots/` so revert works without a project root
47
+ * (Fork 4 — designed explicitly).
48
+ * 2. In project mode, the project sibling
49
+ * `<projectRoot>/.primitive/sync-backups/<env>/<appId>/`.
50
+ * 3. Otherwise (bare `./config` legacy default), `./config-snapshots`.
51
+ */
52
+ export declare function resolveSnapshotsRoot(options: ResolveSyncDirOptions): string;
53
+ export declare function assertSafePathComponent(value: string, label: string): void;
54
+ /**
55
+ * Returns true if the path we'd use for sync data is the auto-resolved
56
+ * project-mode path (vs. a user-supplied --dir).
57
+ */
58
+ export declare function isAutoResolvedSyncDir(userDir: string | undefined): boolean;
59
+ /**
60
+ * Ensures the sync directory exists, creating it (and parents) if
61
+ * necessary. Returns the path.
62
+ */
63
+ export declare function ensureSyncDir(options: ResolveSyncDirOptions): string;
64
+ /**
65
+ * Checks whether an old-style sync state file exists at `./config/.primitive-sync.json`
66
+ * (the pre-project-config default path). Returns a warning message if found and
67
+ * the current operation is using a different (project-mode) path, or null otherwise.
68
+ *
69
+ * Callers can display this once at the start of sync commands so users know
70
+ * their old sync data won't be picked up automatically.
71
+ */
72
+ export declare function checkLegacySyncMigration(currentSyncDir: string): string | null;
73
+ /** The pre-#2760 directory name. Detected, never read. */
74
+ export declare const LEGACY_DATABASE_TYPES_DIR = "database-types";
75
+ /** The directory database type configs are authored in since #2760. */
76
+ export declare const DATABASE_TYPE_CONFIGS_DIR = "database-type-configs";
77
+ export interface LegacyDatabaseTypesDirNotice {
78
+ /** The resolved directory that is no longer read. */
79
+ legacyPath: string;
80
+ /** The resolved directory it has to become. */
81
+ currentPath: string;
82
+ /** The shell command that completes the migration, for these exact paths. */
83
+ remediation: string;
84
+ /** Printed by every reconciling command that finds the old directory. */
85
+ warning: string;
86
+ /** Printed instead, fatally, when `push --prune` finds it. */
87
+ pruneError: string;
88
+ }
89
+ /**
90
+ * Report a pre-#2760 `database-types/` directory beside the config dir.
91
+ *
92
+ * The rename is a hard cutover — pull, push and diff read and write
93
+ * `database-type-configs/` and nothing else — so an un-renamed checkout's edits
94
+ * are ignored rather than applied. Silence would make that look like a no-op
95
+ * push; `push --prune` would make it destructive, since every previously
96
+ * managed type's file would read as deleted.
97
+ *
98
+ * Both messages render RESOLVED paths. The config directory defaults to
99
+ * `<projectRoot>/.primitive/sync/<env>/<appId>/` and the CLI is invoked from
100
+ * the project root, so a bare `git mv database-types database-type-configs`
101
+ * would fail there — and fail differently again under `--dir`.
102
+ *
103
+ * The remediation is destination-aware for the same reason. `git mv a b`
104
+ * renames only while `b` is absent; once the destination exists it moves `a`
105
+ * INSIDE it, burying the legacy files one level deeper where nothing reads them
106
+ * and this guard no longer sees them. Pull creates the destination as part of
107
+ * the run it warns during, so it passes `destinationWillExist`.
108
+ */
109
+ export declare function checkLegacyDatabaseTypesDir(configDir: string, options?: {
110
+ destinationWillExist?: boolean;
111
+ }): LegacyDatabaseTypesDirNotice | null;
@@ -0,0 +1,198 @@
1
+ /**
2
+ * Sync data path resolution.
3
+ *
4
+ * Per issue #373, sync state is scoped by environment AND by app:
5
+ *
6
+ * <projectRoot>/.primitive/sync/<env>/<appId>/
7
+ *
8
+ * This ensures that switching environments (dev -> prod) or apps never
9
+ * clobbers sync state from another slot. Push to dev and then to prod
10
+ * see independent "last synced" pointers, so prod won't falsely believe
11
+ * dev's changes are already in sync.
12
+ *
13
+ * When the user still passes `--dir <path>` (the legacy flag) we honor
14
+ * it and store sync state inside that directory, same as before. This
15
+ * keeps pre-project-config workflows working.
16
+ */
17
+ import { existsSync, mkdirSync } from "fs";
18
+ import { join } from "path";
19
+ import { getCurrentEnvironment } from "./env-resolver.js";
20
+ /**
21
+ * Returns the directory that should hold TOML files + sync state for the
22
+ * current sync operation.
23
+ *
24
+ * Resolution order:
25
+ * 1. If userDir is set, return it as-is (legacy behavior).
26
+ * 2. If we're in project mode, return
27
+ * <projectRoot>/.primitive/sync/<env>/<appId>
28
+ * 3. Otherwise fall back to "./config" (the old default).
29
+ */
30
+ export function resolveSyncDir(options) {
31
+ if (options.userDir)
32
+ return options.userDir;
33
+ const env = safeEnv();
34
+ if (env) {
35
+ // Defence-in-depth: appId is expected to be a ULID from the server, but
36
+ // we must never trust it blindly when building file-system paths. Reject
37
+ // anything that contains path separators or `..` sequences before
38
+ // joining it into <projectRoot>/.primitive/sync/...
39
+ assertSafePathComponent(options.appId, "appId");
40
+ return join(env.projectRoot, ".primitive", "sync", env.name, options.appId);
41
+ }
42
+ return "./config";
43
+ }
44
+ /**
45
+ * Returns the snapshot-backups root for the slot a given sync operation
46
+ * belongs to (issue #578, Phase 1). Snapshots reuse the SAME resolution chain
47
+ * as `resolveSyncDir` (the resolved `ResolvedEnvironment` + `safeEnv()`), so
48
+ * the backup tree can never drift from the live sync tree — there is no
49
+ * parallel `{projectRoot, env, appId}` mini-model.
50
+ *
51
+ * Resolution order mirrors `resolveSyncDir`:
52
+ * 1. If userDir (legacy `--dir`) is set, snapshots live in a sibling
53
+ * `<userDir>/.snapshots/` so revert works without a project root
54
+ * (Fork 4 — designed explicitly).
55
+ * 2. In project mode, the project sibling
56
+ * `<projectRoot>/.primitive/sync-backups/<env>/<appId>/`.
57
+ * 3. Otherwise (bare `./config` legacy default), `./config-snapshots`.
58
+ */
59
+ export function resolveSnapshotsRoot(options) {
60
+ if (options.userDir) {
61
+ return join(options.userDir, ".snapshots");
62
+ }
63
+ const env = safeEnv();
64
+ if (env) {
65
+ // Same defence-in-depth as resolveSyncDir: never trust appId blindly when
66
+ // building a file-system path.
67
+ assertSafePathComponent(options.appId, "appId");
68
+ return join(env.projectRoot, ".primitive", "sync-backups", env.name, options.appId);
69
+ }
70
+ return "./config-snapshots";
71
+ }
72
+ export function assertSafePathComponent(value, label) {
73
+ if (typeof value !== "string" ||
74
+ value.length === 0 ||
75
+ /[\\/]/.test(value) ||
76
+ value.includes("..") ||
77
+ value === "." ||
78
+ value === "") {
79
+ throw new Error(`Invalid ${label} for file path: ${value}`);
80
+ }
81
+ }
82
+ /**
83
+ * Returns true if the path we'd use for sync data is the auto-resolved
84
+ * project-mode path (vs. a user-supplied --dir).
85
+ */
86
+ export function isAutoResolvedSyncDir(userDir) {
87
+ if (userDir)
88
+ return false;
89
+ return safeEnv() !== null;
90
+ }
91
+ /**
92
+ * Ensures the sync directory exists, creating it (and parents) if
93
+ * necessary. Returns the path.
94
+ */
95
+ export function ensureSyncDir(options) {
96
+ const dir = resolveSyncDir(options);
97
+ if (!existsSync(dir)) {
98
+ mkdirSync(dir, { recursive: true });
99
+ }
100
+ return dir;
101
+ }
102
+ function safeEnv() {
103
+ try {
104
+ return getCurrentEnvironment();
105
+ }
106
+ catch {
107
+ return null;
108
+ }
109
+ }
110
+ /**
111
+ * Checks whether an old-style sync state file exists at `./config/.primitive-sync.json`
112
+ * (the pre-project-config default path). Returns a warning message if found and
113
+ * the current operation is using a different (project-mode) path, or null otherwise.
114
+ *
115
+ * Callers can display this once at the start of sync commands so users know
116
+ * their old sync data won't be picked up automatically.
117
+ */
118
+ export function checkLegacySyncMigration(currentSyncDir) {
119
+ const legacySync = join(".", "config", ".primitive-sync.json");
120
+ if (!existsSync(legacySync))
121
+ return null;
122
+ // Only warn if the resolved dir is different from the legacy default.
123
+ const legacyDir = join(".", "config");
124
+ if (currentSyncDir === legacyDir)
125
+ return null;
126
+ return (`Detected old sync state at ./config/.primitive-sync.json. ` +
127
+ `The config directory now lives at ${currentSyncDir}. ` +
128
+ `Run 'primitive config pull' to re-sync into the new location.`);
129
+ }
130
+ /** The pre-#2760 directory name. Detected, never read. */
131
+ export const LEGACY_DATABASE_TYPES_DIR = "database-types";
132
+ /** The directory database type configs are authored in since #2760. */
133
+ export const DATABASE_TYPE_CONFIGS_DIR = "database-type-configs";
134
+ /**
135
+ * Quote a path for the copy-pasteable shell command in the notice below.
136
+ *
137
+ * Config directories come from `--dir` or from a project root, so they can hold
138
+ * spaces and shell metacharacters; an unquoted path would silently run as
139
+ * several arguments (or as syntax). Left bare when it needs no quoting, so the
140
+ * ordinary case still reads as a plain command.
141
+ */
142
+ function shellQuote(path) {
143
+ if (/^[A-Za-z0-9_@%+=:,./-]+$/.test(path))
144
+ return path;
145
+ return `'${path.replace(/'/g, `'\\''`)}'`;
146
+ }
147
+ /**
148
+ * Report a pre-#2760 `database-types/` directory beside the config dir.
149
+ *
150
+ * The rename is a hard cutover — pull, push and diff read and write
151
+ * `database-type-configs/` and nothing else — so an un-renamed checkout's edits
152
+ * are ignored rather than applied. Silence would make that look like a no-op
153
+ * push; `push --prune` would make it destructive, since every previously
154
+ * managed type's file would read as deleted.
155
+ *
156
+ * Both messages render RESOLVED paths. The config directory defaults to
157
+ * `<projectRoot>/.primitive/sync/<env>/<appId>/` and the CLI is invoked from
158
+ * the project root, so a bare `git mv database-types database-type-configs`
159
+ * would fail there — and fail differently again under `--dir`.
160
+ *
161
+ * The remediation is destination-aware for the same reason. `git mv a b`
162
+ * renames only while `b` is absent; once the destination exists it moves `a`
163
+ * INSIDE it, burying the legacy files one level deeper where nothing reads them
164
+ * and this guard no longer sees them. Pull creates the destination as part of
165
+ * the run it warns during, so it passes `destinationWillExist`.
166
+ */
167
+ export function checkLegacyDatabaseTypesDir(configDir, options = {}) {
168
+ const legacyPath = join(configDir, LEGACY_DATABASE_TYPES_DIR);
169
+ if (!existsSync(legacyPath))
170
+ return null;
171
+ const currentPath = join(configDir, DATABASE_TYPE_CONFIGS_DIR);
172
+ const coexists = options.destinationWillExist === true || existsSync(currentPath);
173
+ const legacyArg = shellQuote(legacyPath);
174
+ const currentArg = shellQuote(currentPath);
175
+ // `--` because a relative `--dir` can resolve to a path starting with a dash.
176
+ // `mkdir -p` so the move still works when the destination is only about to
177
+ // be created (pull) and the run that would have created it failed.
178
+ const remediation = coexists
179
+ ? `mkdir -p -- ${currentArg} && git mv -- ${legacyArg}/*.toml ` +
180
+ `${currentArg}/ && rmdir -- ${legacyArg}`
181
+ : `git mv -- ${legacyArg} ${currentArg}`;
182
+ const howTo = coexists
183
+ ? `${currentPath} already exists, so move the files into it (git mv ` +
184
+ `refuses to overwrite, so reconcile any name held by both by hand) — ` +
185
+ `the state they were synced under is unchanged, so the first push ` +
186
+ `after the move applies nothing:`
187
+ : `Rename the directory to keep its contents — the state it was synced ` +
188
+ `under is unchanged, so the first push after the rename applies nothing:`;
189
+ const warning = `${legacyPath} is no longer read: database type configs moved to ` +
190
+ `${currentPath} (issue #2760). ${howTo}\n ${remediation}`;
191
+ const pruneError = `Refusing to prune while ${legacyPath} still exists (issue #2760). ` +
192
+ `Database type configs are read from ${currentPath}, so pruning now ` +
193
+ `would delete every previously managed database type from the server. ` +
194
+ `${coexists ? "Move the files" : "Rename the directory"} first:` +
195
+ `\n ${remediation}`;
196
+ return { legacyPath, currentPath, remediation, warning, pruneError };
197
+ }
198
+ //# sourceMappingURL=sync-paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-paths.js","sourceRoot":"","sources":["../../../src/lib/sync-paths.ts"],"names":[],"mappings":"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"}