primitive-admin 1.1.0-alpha.8 → 1.1.0-alpha.80

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 (522) hide show
  1. package/README.md +444 -106
  2. package/assets/skill/skills/primitive-platform/SKILL.md +811 -0
  3. package/dist/bin/primitive.d.ts +2 -0
  4. package/dist/bin/primitive.js +373 -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 +128 -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 +700 -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 +54 -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 +196 -105
  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 +84 -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 +465 -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 +163 -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 +171 -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 +1859 -238
  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 +2062 -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 +385 -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/functions.d.ts +20 -0
  64. package/dist/src/commands/functions.js +672 -0
  65. package/dist/src/commands/functions.js.map +1 -0
  66. package/dist/src/commands/group-type-configs.d.ts +2 -0
  67. package/dist/src/commands/group-type-configs.js +86 -0
  68. package/dist/src/commands/group-type-configs.js.map +1 -0
  69. package/dist/src/commands/groups.d.ts +2 -0
  70. package/dist/src/commands/groups.js +39 -108
  71. package/dist/src/commands/groups.js.map +1 -1
  72. package/dist/src/commands/guides.d.ts +223 -0
  73. package/dist/src/commands/guides.js +617 -65
  74. package/dist/src/commands/guides.js.map +1 -1
  75. package/dist/src/commands/init.d.ts +37 -0
  76. package/dist/src/commands/init.js +1693 -208
  77. package/dist/src/commands/init.js.map +1 -1
  78. package/dist/src/commands/integrations.d.ts +2 -0
  79. package/dist/src/commands/integrations.js +402 -182
  80. package/dist/src/commands/integrations.js.map +1 -1
  81. package/dist/src/commands/llm.d.ts +2 -0
  82. package/dist/src/commands/llm.js +13 -8
  83. package/dist/src/commands/llm.js.map +1 -1
  84. package/dist/src/commands/locks.d.ts +8 -0
  85. package/dist/src/commands/locks.js +160 -0
  86. package/dist/src/commands/locks.js.map +1 -0
  87. package/dist/src/commands/metadata-category-configs.d.ts +12 -0
  88. package/dist/src/commands/metadata-category-configs.js +112 -0
  89. package/dist/src/commands/metadata-category-configs.js.map +1 -0
  90. package/dist/src/commands/metadata.d.ts +2 -0
  91. package/dist/src/commands/metadata.js +281 -0
  92. package/dist/src/commands/metadata.js.map +1 -0
  93. package/dist/src/commands/prompts.d.ts +2 -0
  94. package/dist/src/commands/prompts.js +275 -621
  95. package/dist/src/commands/prompts.js.map +1 -1
  96. package/dist/src/commands/rule-sets.d.ts +3 -0
  97. package/dist/src/commands/rule-sets.js +137 -147
  98. package/dist/src/commands/rule-sets.js.map +1 -1
  99. package/dist/src/commands/scripts.d.ts +30 -0
  100. package/dist/src/commands/scripts.js +679 -0
  101. package/dist/src/commands/scripts.js.map +1 -0
  102. package/dist/src/commands/secrets.d.ts +2 -0
  103. package/dist/src/commands/secrets.js +108 -0
  104. package/dist/src/commands/secrets.js.map +1 -0
  105. package/dist/src/commands/sessions.d.ts +2 -0
  106. package/dist/src/commands/sessions.js +75 -0
  107. package/dist/src/commands/sessions.js.map +1 -0
  108. package/dist/src/commands/settings.d.ts +18 -0
  109. package/dist/src/commands/settings.js +54 -0
  110. package/dist/src/commands/settings.js.map +1 -0
  111. package/dist/src/commands/skill.d.ts +2 -0
  112. package/dist/src/commands/skill.js +29 -0
  113. package/dist/src/commands/skill.js.map +1 -0
  114. package/dist/src/commands/sync-app-settings.d.ts +158 -0
  115. package/dist/src/commands/sync-app-settings.js +328 -0
  116. package/dist/src/commands/sync-app-settings.js.map +1 -0
  117. package/dist/src/commands/sync.d.ts +2514 -0
  118. package/dist/src/commands/sync.js +16106 -848
  119. package/dist/src/commands/sync.js.map +1 -1
  120. package/dist/src/commands/tokens.d.ts +2 -0
  121. package/dist/src/commands/tokens.js +130 -21
  122. package/dist/src/commands/tokens.js.map +1 -1
  123. package/dist/src/commands/users.d.ts +2 -0
  124. package/dist/src/commands/users.js +532 -23
  125. package/dist/src/commands/users.js.map +1 -1
  126. package/dist/src/commands/vars.d.ts +8 -0
  127. package/dist/src/commands/vars.js +96 -0
  128. package/dist/src/commands/vars.js.map +1 -0
  129. package/dist/src/commands/waitlist.d.ts +2 -0
  130. package/dist/src/commands/waitlist.js +10 -10
  131. package/dist/src/commands/waitlist.js.map +1 -1
  132. package/dist/src/commands/webhooks.d.ts +2 -0
  133. package/dist/src/commands/webhooks.js +562 -0
  134. package/dist/src/commands/webhooks.js.map +1 -0
  135. package/dist/src/commands/workflows.d.ts +116 -0
  136. package/dist/src/commands/workflows.js +1638 -729
  137. package/dist/src/commands/workflows.js.map +1 -1
  138. package/dist/src/lib/access-rule-display.d.ts +21 -0
  139. package/dist/src/lib/access-rule-display.js +34 -0
  140. package/dist/src/lib/access-rule-display.js.map +1 -0
  141. package/dist/src/lib/api-client.d.ts +2147 -0
  142. package/dist/src/lib/api-client.js +2042 -160
  143. package/dist/src/lib/api-client.js.map +1 -1
  144. package/dist/src/lib/app-match-guard.d.ts +44 -0
  145. package/dist/src/lib/app-match-guard.js +72 -0
  146. package/dist/src/lib/app-match-guard.js.map +1 -0
  147. package/dist/src/lib/app-settings-descriptor.d.ts +263 -0
  148. package/dist/src/lib/app-settings-descriptor.js +584 -0
  149. package/dist/src/lib/app-settings-descriptor.js.map +1 -0
  150. package/dist/src/lib/auth-flow.d.ts +8 -0
  151. package/dist/src/lib/batch.d.ts +26 -0
  152. package/dist/src/lib/batch.js +32 -0
  153. package/dist/src/lib/batch.js.map +1 -0
  154. package/dist/src/lib/block-layout.d.ts +160 -0
  155. package/dist/src/lib/block-layout.js +451 -0
  156. package/dist/src/lib/block-layout.js.map +1 -0
  157. package/dist/src/lib/block-selector.d.ts +58 -0
  158. package/dist/src/lib/block-selector.js +92 -0
  159. package/dist/src/lib/block-selector.js.map +1 -0
  160. package/dist/src/lib/canonical-json.d.ts +12 -0
  161. package/dist/src/lib/canonical-json.js +35 -0
  162. package/dist/src/lib/canonical-json.js.map +1 -0
  163. package/dist/src/lib/channel.d.ts +30 -0
  164. package/dist/src/lib/channel.js +68 -0
  165. package/dist/src/lib/channel.js.map +1 -0
  166. package/dist/src/lib/cli-manifest.d.ts +68 -0
  167. package/dist/src/lib/cli-manifest.js +71 -0
  168. package/dist/src/lib/cli-manifest.js.map +1 -0
  169. package/dist/src/lib/codegen-shared/generatedFiles.d.ts +101 -0
  170. package/dist/src/lib/codegen-shared/generatedFiles.js +191 -0
  171. package/dist/src/lib/codegen-shared/generatedFiles.js.map +1 -0
  172. package/dist/src/lib/codegen-shared/prettierStable.d.ts +262 -0
  173. package/dist/src/lib/codegen-shared/prettierStable.js +610 -0
  174. package/dist/src/lib/codegen-shared/prettierStable.js.map +1 -0
  175. package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.d.ts +38 -0
  176. package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.js +46 -0
  177. package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.js.map +1 -0
  178. package/dist/src/lib/config-json-field.d.ts +28 -0
  179. package/dist/src/lib/config-json-field.js +56 -0
  180. package/dist/src/lib/config-json-field.js.map +1 -0
  181. package/dist/src/lib/config-object-descriptor.d.ts +127 -0
  182. package/dist/src/lib/config-object-descriptor.js +696 -0
  183. package/dist/src/lib/config-object-descriptor.js.map +1 -0
  184. package/dist/src/lib/config-payload.d.ts +85 -0
  185. package/dist/src/lib/config-payload.js +116 -0
  186. package/dist/src/lib/config-payload.js.map +1 -0
  187. package/dist/src/lib/config-surface.d.ts +140 -0
  188. package/dist/src/lib/config-surface.js +317 -0
  189. package/dist/src/lib/config-surface.js.map +1 -0
  190. package/dist/src/lib/config-toml.d.ts +10 -0
  191. package/dist/src/lib/config-toml.js +42 -0
  192. package/dist/src/lib/config-toml.js.map +1 -0
  193. package/dist/src/lib/config.d.ts +71 -0
  194. package/dist/src/lib/config.js +71 -68
  195. package/dist/src/lib/config.js.map +1 -1
  196. package/dist/src/lib/confirm-prompt.d.ts +83 -0
  197. package/dist/src/lib/confirm-prompt.js +110 -0
  198. package/dist/src/lib/confirm-prompt.js.map +1 -0
  199. package/dist/src/lib/constants.d.ts +11 -0
  200. package/dist/src/lib/constants.js +12 -0
  201. package/dist/src/lib/constants.js.map +1 -0
  202. package/dist/src/lib/crash-handlers.d.ts +20 -0
  203. package/dist/src/lib/crash-handlers.js +49 -0
  204. package/dist/src/lib/crash-handlers.js.map +1 -0
  205. package/dist/src/lib/credentials-store.d.ts +104 -0
  206. package/dist/src/lib/credentials-store.js +336 -0
  207. package/dist/src/lib/credentials-store.js.map +1 -0
  208. package/dist/src/lib/csv.d.ts +47 -0
  209. package/dist/src/lib/csv.js +172 -0
  210. package/dist/src/lib/csv.js.map +1 -0
  211. package/dist/src/lib/data-input.d.ts +23 -0
  212. package/dist/src/lib/data-input.js +50 -0
  213. package/dist/src/lib/data-input.js.map +1 -0
  214. package/dist/src/lib/db-codegen/dbFingerprint.d.ts +10 -0
  215. package/dist/src/lib/db-codegen/dbFingerprint.js +17 -0
  216. package/dist/src/lib/db-codegen/dbFingerprint.js.map +1 -0
  217. package/dist/src/lib/db-codegen/dbGenerator.d.ts +67 -0
  218. package/dist/src/lib/db-codegen/dbGenerator.js +170 -0
  219. package/dist/src/lib/db-codegen/dbGenerator.js.map +1 -0
  220. package/dist/src/lib/db-codegen/dbNaming.d.ts +87 -0
  221. package/dist/src/lib/db-codegen/dbNaming.js +180 -0
  222. package/dist/src/lib/db-codegen/dbNaming.js.map +1 -0
  223. package/dist/src/lib/db-codegen/dbTemplates.d.ts +272 -0
  224. package/dist/src/lib/db-codegen/dbTemplates.js +480 -0
  225. package/dist/src/lib/db-codegen/dbTemplates.js.map +1 -0
  226. package/dist/src/lib/db-codegen/dbTsTypes.d.ts +73 -0
  227. package/dist/src/lib/db-codegen/dbTsTypes.js +139 -0
  228. package/dist/src/lib/db-codegen/dbTsTypes.js.map +1 -0
  229. package/dist/src/lib/db-codegen/dbTypeIR.d.ts +146 -0
  230. package/dist/src/lib/db-codegen/dbTypeIR.js +517 -0
  231. package/dist/src/lib/db-codegen/dbTypeIR.js.map +1 -0
  232. package/dist/src/lib/db-codegen/generated-operation-def-descriptor.d.ts +112 -0
  233. package/dist/src/lib/db-codegen/generated-operation-def-descriptor.js +211 -0
  234. package/dist/src/lib/db-codegen/generated-operation-def-descriptor.js.map +1 -0
  235. package/dist/src/lib/document-export-permissions.d.ts +30 -0
  236. package/dist/src/lib/document-export-permissions.js +54 -0
  237. package/dist/src/lib/document-export-permissions.js.map +1 -0
  238. package/dist/src/lib/env-resolver-core.d.ts +253 -0
  239. package/dist/src/lib/env-resolver-core.js +459 -0
  240. package/dist/src/lib/env-resolver-core.js.map +1 -0
  241. package/dist/src/lib/env-resolver.d.ts +99 -0
  242. package/dist/src/lib/env-resolver.js +153 -0
  243. package/dist/src/lib/env-resolver.js.map +1 -0
  244. package/dist/src/lib/fetch.d.ts +5 -0
  245. package/dist/src/lib/function-bundle.d.ts +141 -0
  246. package/dist/src/lib/function-bundle.js +333 -0
  247. package/dist/src/lib/function-bundle.js.map +1 -0
  248. package/dist/src/lib/function-collect.d.ts +123 -0
  249. package/dist/src/lib/function-collect.js +594 -0
  250. package/dist/src/lib/function-collect.js.map +1 -0
  251. package/dist/src/lib/function-db-types.d.ts +187 -0
  252. package/dist/src/lib/function-db-types.js +782 -0
  253. package/dist/src/lib/function-db-types.js.map +1 -0
  254. package/dist/src/lib/function-document-types.d.ts +50 -0
  255. package/dist/src/lib/function-document-types.js +163 -0
  256. package/dist/src/lib/function-document-types.js.map +1 -0
  257. package/dist/src/lib/function-grants-preflight.d.ts +64 -0
  258. package/dist/src/lib/function-grants-preflight.js +100 -0
  259. package/dist/src/lib/function-grants-preflight.js.map +1 -0
  260. package/dist/src/lib/function-log-tail.d.ts +83 -0
  261. package/dist/src/lib/function-log-tail.js +115 -0
  262. package/dist/src/lib/function-log-tail.js.map +1 -0
  263. package/dist/src/lib/function-schema-codegen.d.ts +118 -0
  264. package/dist/src/lib/function-schema-codegen.js +402 -0
  265. package/dist/src/lib/function-schema-codegen.js.map +1 -0
  266. package/dist/src/lib/function-sync.d.ts +263 -0
  267. package/dist/src/lib/function-sync.js +604 -0
  268. package/dist/src/lib/function-sync.js.map +1 -0
  269. package/dist/src/lib/function-triggers.d.ts +66 -0
  270. package/dist/src/lib/function-triggers.js +285 -0
  271. package/dist/src/lib/function-triggers.js.map +1 -0
  272. package/dist/src/lib/function-typecheck.d.ts +86 -0
  273. package/dist/src/lib/function-typecheck.js +370 -0
  274. package/dist/src/lib/function-typecheck.js.map +1 -0
  275. package/dist/src/lib/generated-allowlist.d.ts +28 -0
  276. package/dist/src/lib/generated-allowlist.js +281 -0
  277. package/dist/src/lib/generated-allowlist.js.map +1 -0
  278. package/dist/src/lib/generated-config-surfaces.d.ts +1445 -0
  279. package/dist/src/lib/generated-config-surfaces.js +5836 -0
  280. package/dist/src/lib/generated-config-surfaces.js.map +1 -0
  281. package/dist/src/lib/generated-sdk-types.d.ts +12 -0
  282. package/dist/src/lib/generated-sdk-types.js +13 -0
  283. package/dist/src/lib/generated-sdk-types.js.map +1 -0
  284. package/dist/src/lib/generated-template-lint.d.ts +212 -0
  285. package/dist/src/lib/generated-template-lint.js +624 -0
  286. package/dist/src/lib/generated-template-lint.js.map +1 -0
  287. package/dist/src/lib/generated-workflow-model-fields.d.ts +20 -0
  288. package/dist/src/lib/generated-workflow-model-fields.js +53 -0
  289. package/dist/src/lib/generated-workflow-model-fields.js.map +1 -0
  290. package/dist/src/lib/google-client-secret-status.d.ts +35 -0
  291. package/dist/src/lib/google-client-secret-status.js +56 -0
  292. package/dist/src/lib/google-client-secret-status.js.map +1 -0
  293. package/dist/src/lib/init-adopt.d.ts +16 -0
  294. package/dist/src/lib/init-adopt.js +34 -0
  295. package/dist/src/lib/init-adopt.js.map +1 -0
  296. package/dist/src/lib/init-assets.d.ts +39 -0
  297. package/dist/src/lib/init-assets.js +97 -0
  298. package/dist/src/lib/init-assets.js.map +1 -0
  299. package/dist/src/lib/init-client-platforms.d.ts +14 -0
  300. package/dist/src/lib/init-client-platforms.js +71 -0
  301. package/dist/src/lib/init-client-platforms.js.map +1 -0
  302. package/dist/src/lib/init-config.d.ts +98 -0
  303. package/dist/src/lib/init-config.js +186 -0
  304. package/dist/src/lib/init-config.js.map +1 -0
  305. package/dist/src/lib/init-email-redirect-uris.d.ts +37 -0
  306. package/dist/src/lib/init-email-redirect-uris.js +46 -0
  307. package/dist/src/lib/init-email-redirect-uris.js.map +1 -0
  308. package/dist/src/lib/init-ios-links.d.ts +91 -0
  309. package/dist/src/lib/init-ios-links.js +219 -0
  310. package/dist/src/lib/init-ios-links.js.map +1 -0
  311. package/dist/src/lib/init-plan.d.ts +80 -0
  312. package/dist/src/lib/init-plan.js +95 -0
  313. package/dist/src/lib/init-plan.js.map +1 -0
  314. package/dist/src/lib/init-production-env.d.ts +48 -0
  315. package/dist/src/lib/init-production-env.js +59 -0
  316. package/dist/src/lib/init-production-env.js.map +1 -0
  317. package/dist/src/lib/init-schema.d.ts +74 -0
  318. package/dist/src/lib/init-schema.js +358 -0
  319. package/dist/src/lib/init-schema.js.map +1 -0
  320. package/dist/src/lib/init-xcode.d.ts +34 -0
  321. package/dist/src/lib/init-xcode.js +138 -0
  322. package/dist/src/lib/init-xcode.js.map +1 -0
  323. package/dist/src/lib/integration-request-config.d.ts +30 -0
  324. package/dist/src/lib/integration-request-config.js +145 -0
  325. package/dist/src/lib/integration-request-config.js.map +1 -0
  326. package/dist/src/lib/integration-selector.d.ts +42 -0
  327. package/dist/src/lib/integration-selector.js +46 -0
  328. package/dist/src/lib/integration-selector.js.map +1 -0
  329. package/dist/src/lib/ios-app-id.d.ts +34 -0
  330. package/dist/src/lib/ios-app-id.js +69 -0
  331. package/dist/src/lib/ios-app-id.js.map +1 -0
  332. package/dist/src/lib/local-state.d.ts +55 -0
  333. package/dist/src/lib/local-state.js +167 -0
  334. package/dist/src/lib/local-state.js.map +1 -0
  335. package/dist/src/lib/local-test-cases.d.ts +63 -0
  336. package/dist/src/lib/local-test-cases.js +136 -0
  337. package/dist/src/lib/local-test-cases.js.map +1 -0
  338. package/dist/src/lib/log-inspection.d.ts +680 -0
  339. package/dist/src/lib/log-inspection.js +784 -0
  340. package/dist/src/lib/log-inspection.js.map +1 -0
  341. package/dist/src/lib/migration-nag.d.ts +49 -0
  342. package/dist/src/lib/migration-nag.js +164 -0
  343. package/dist/src/lib/migration-nag.js.map +1 -0
  344. package/dist/src/lib/object-status-filter.d.ts +22 -0
  345. package/dist/src/lib/object-status-filter.js +45 -0
  346. package/dist/src/lib/object-status-filter.js.map +1 -0
  347. package/dist/src/lib/output.d.ts +109 -0
  348. package/dist/src/lib/output.js +191 -8
  349. package/dist/src/lib/output.js.map +1 -1
  350. package/dist/src/lib/package-manager.d.ts +140 -0
  351. package/dist/src/lib/package-manager.js +305 -0
  352. package/dist/src/lib/package-manager.js.map +1 -0
  353. package/dist/src/lib/paginate.d.ts +83 -0
  354. package/dist/src/lib/paginate.js +95 -0
  355. package/dist/src/lib/paginate.js.map +1 -0
  356. package/dist/src/lib/platform-owned.d.ts +63 -0
  357. package/dist/src/lib/platform-owned.js +85 -0
  358. package/dist/src/lib/platform-owned.js.map +1 -0
  359. package/dist/src/lib/project-config.d.ts +122 -0
  360. package/dist/src/lib/project-config.js +244 -0
  361. package/dist/src/lib/project-config.js.map +1 -0
  362. package/dist/src/lib/query-operators.d.ts +43 -0
  363. package/dist/src/lib/query-operators.js +80 -0
  364. package/dist/src/lib/query-operators.js.map +1 -0
  365. package/dist/src/lib/record-filter.d.ts +18 -0
  366. package/dist/src/lib/record-filter.js +55 -0
  367. package/dist/src/lib/record-filter.js.map +1 -0
  368. package/dist/src/lib/refresh-admin-credentials.d.ts +65 -0
  369. package/dist/src/lib/refresh-admin-credentials.js +103 -0
  370. package/dist/src/lib/refresh-admin-credentials.js.map +1 -0
  371. package/dist/src/lib/resolve-init-dev-port.d.ts +56 -0
  372. package/dist/src/lib/resolve-init-dev-port.js +55 -0
  373. package/dist/src/lib/resolve-init-dev-port.js.map +1 -0
  374. package/dist/src/lib/resolve-init-server.d.ts +64 -0
  375. package/dist/src/lib/resolve-init-server.js +77 -0
  376. package/dist/src/lib/resolve-init-server.js.map +1 -0
  377. package/dist/src/lib/resolve-platform.d.ts +74 -0
  378. package/dist/src/lib/resolve-platform.js +105 -0
  379. package/dist/src/lib/resolve-platform.js.map +1 -0
  380. package/dist/src/lib/run-status.d.ts +19 -0
  381. package/dist/src/lib/run-status.generated.d.ts +39 -0
  382. package/dist/src/lib/run-status.generated.js +66 -0
  383. package/dist/src/lib/run-status.generated.js.map +1 -0
  384. package/dist/src/lib/run-status.js +19 -0
  385. package/dist/src/lib/run-status.js.map +1 -0
  386. package/dist/src/lib/server-text-normalization.d.ts +51 -0
  387. package/dist/src/lib/server-text-normalization.js +90 -0
  388. package/dist/src/lib/server-text-normalization.js.map +1 -0
  389. package/dist/src/lib/server-url.d.ts +22 -0
  390. package/dist/src/lib/server-url.js +33 -0
  391. package/dist/src/lib/server-url.js.map +1 -0
  392. package/dist/src/lib/signing-secret-status.d.ts +81 -0
  393. package/dist/src/lib/signing-secret-status.js +116 -0
  394. package/dist/src/lib/signing-secret-status.js.map +1 -0
  395. package/dist/src/lib/skill-installer.d.ts +25 -0
  396. package/dist/src/lib/skill-installer.js +266 -0
  397. package/dist/src/lib/skill-installer.js.map +1 -0
  398. package/dist/src/lib/snapshots.d.ts +98 -0
  399. package/dist/src/lib/snapshots.js +294 -0
  400. package/dist/src/lib/snapshots.js.map +1 -0
  401. package/dist/src/lib/swift-codegen/dbGenerator.d.ts +113 -0
  402. package/dist/src/lib/swift-codegen/dbGenerator.js +914 -0
  403. package/dist/src/lib/swift-codegen/dbGenerator.js.map +1 -0
  404. package/dist/src/lib/swift-codegen/dbSwiftTypes.d.ts +42 -0
  405. package/dist/src/lib/swift-codegen/dbSwiftTypes.js +100 -0
  406. package/dist/src/lib/swift-codegen/dbSwiftTypes.js.map +1 -0
  407. package/dist/src/lib/swift-codegen/generator.d.ts +94 -0
  408. package/dist/src/lib/swift-codegen/generator.js +440 -0
  409. package/dist/src/lib/swift-codegen/generator.js.map +1 -0
  410. package/dist/src/lib/swift-codegen/schemaToSwift.d.ts +72 -0
  411. package/dist/src/lib/swift-codegen/schemaToSwift.js +644 -0
  412. package/dist/src/lib/swift-codegen/schemaToSwift.js.map +1 -0
  413. package/dist/src/lib/swift-codegen/siblingSymbols.d.ts +94 -0
  414. package/dist/src/lib/swift-codegen/siblingSymbols.js +155 -0
  415. package/dist/src/lib/swift-codegen/siblingSymbols.js.map +1 -0
  416. package/dist/src/lib/swift-codegen/swiftNaming.d.ts +85 -0
  417. package/dist/src/lib/swift-codegen/swiftNaming.js +198 -0
  418. package/dist/src/lib/swift-codegen/swiftNaming.js.map +1 -0
  419. package/dist/src/lib/sync-dir-selector.d.ts +21 -0
  420. package/dist/src/lib/sync-dir-selector.js +30 -0
  421. package/dist/src/lib/sync-dir-selector.js.map +1 -0
  422. package/dist/src/lib/sync-paths.d.ts +123 -0
  423. package/dist/src/lib/sync-paths.js +193 -0
  424. package/dist/src/lib/sync-paths.js.map +1 -0
  425. package/dist/src/lib/sync-resource-types.d.ts +563 -0
  426. package/dist/src/lib/sync-resource-types.js +1073 -0
  427. package/dist/src/lib/sync-resource-types.js.map +1 -0
  428. package/dist/src/lib/sync-selectors.d.ts +95 -0
  429. package/dist/src/lib/sync-selectors.js +228 -0
  430. package/dist/src/lib/sync-selectors.js.map +1 -0
  431. package/dist/src/lib/template.d.ts +170 -0
  432. package/dist/src/lib/template.js +484 -68
  433. package/dist/src/lib/template.js.map +1 -1
  434. package/dist/src/lib/test-case-file-names.d.ts +40 -0
  435. package/dist/src/lib/test-case-file-names.js +91 -0
  436. package/dist/src/lib/test-case-file-names.js.map +1 -0
  437. package/dist/src/lib/test-case-keys.d.ts +29 -0
  438. package/dist/src/lib/test-case-keys.js +55 -0
  439. package/dist/src/lib/test-case-keys.js.map +1 -0
  440. package/dist/src/lib/test-case-variables.d.ts +29 -0
  441. package/dist/src/lib/test-case-variables.js +71 -0
  442. package/dist/src/lib/test-case-variables.js.map +1 -0
  443. package/dist/src/lib/token-inject.d.ts +56 -0
  444. package/dist/src/lib/token-inject.js +204 -0
  445. package/dist/src/lib/token-inject.js.map +1 -0
  446. package/dist/src/lib/toml-database-config.d.ts +123 -0
  447. package/dist/src/lib/toml-database-config.js +544 -0
  448. package/dist/src/lib/toml-database-config.js.map +1 -0
  449. package/dist/src/lib/toml-metadata-config.d.ts +151 -0
  450. package/dist/src/lib/toml-metadata-config.js +476 -0
  451. package/dist/src/lib/toml-metadata-config.js.map +1 -0
  452. package/dist/src/lib/toml-native-form.d.ts +46 -0
  453. package/dist/src/lib/toml-native-form.js +78 -0
  454. package/dist/src/lib/toml-native-form.js.map +1 -0
  455. package/dist/src/lib/toml-params-validator.d.ts +129 -0
  456. package/dist/src/lib/toml-params-validator.js +298 -0
  457. package/dist/src/lib/toml-params-validator.js.map +1 -0
  458. package/dist/src/lib/toml-scalar-edit.d.ts +43 -0
  459. package/dist/src/lib/toml-scalar-edit.js +283 -0
  460. package/dist/src/lib/toml-scalar-edit.js.map +1 -0
  461. package/dist/src/lib/user-selector.d.ts +24 -0
  462. package/dist/src/lib/user-selector.js +33 -0
  463. package/dist/src/lib/user-selector.js.map +1 -0
  464. package/dist/src/lib/version-check.d.ts +35 -0
  465. package/dist/src/lib/version-check.js +241 -0
  466. package/dist/src/lib/version-check.js.map +1 -0
  467. package/dist/src/lib/watch.d.ts +121 -0
  468. package/dist/src/lib/watch.js +169 -0
  469. package/dist/src/lib/watch.js.map +1 -0
  470. package/dist/src/lib/web-url.d.ts +40 -0
  471. package/dist/src/lib/web-url.js +76 -0
  472. package/dist/src/lib/web-url.js.map +1 -0
  473. package/dist/src/lib/workflow-apply.d.ts +110 -0
  474. package/dist/src/lib/workflow-apply.js +164 -0
  475. package/dist/src/lib/workflow-apply.js.map +1 -0
  476. package/dist/src/lib/workflow-codegen/generated-schema-descriptor.d.ts +129 -0
  477. package/dist/src/lib/workflow-codegen/generated-schema-descriptor.js +269 -0
  478. package/dist/src/lib/workflow-codegen/generated-schema-descriptor.js.map +1 -0
  479. package/dist/src/lib/workflow-codegen/generator.d.ts +96 -0
  480. package/dist/src/lib/workflow-codegen/generator.js +361 -0
  481. package/dist/src/lib/workflow-codegen/generator.js.map +1 -0
  482. package/dist/src/lib/workflow-codegen/invokerIR.d.ts +94 -0
  483. package/dist/src/lib/workflow-codegen/invokerIR.js +76 -0
  484. package/dist/src/lib/workflow-codegen/invokerIR.js.map +1 -0
  485. package/dist/src/lib/workflow-codegen/naming.d.ts +33 -0
  486. package/dist/src/lib/workflow-codegen/naming.js +81 -0
  487. package/dist/src/lib/workflow-codegen/naming.js.map +1 -0
  488. package/dist/src/lib/workflow-codegen/schemaToTs.d.ts +80 -0
  489. package/dist/src/lib/workflow-codegen/schemaToTs.js +303 -0
  490. package/dist/src/lib/workflow-codegen/schemaToTs.js.map +1 -0
  491. package/dist/src/lib/workflow-config-apply.d.ts +70 -0
  492. package/dist/src/lib/workflow-config-apply.js +137 -0
  493. package/dist/src/lib/workflow-config-apply.js.map +1 -0
  494. package/dist/src/lib/workflow-config-sidecar.d.ts +63 -0
  495. package/dist/src/lib/workflow-config-sidecar.js +96 -0
  496. package/dist/src/lib/workflow-config-sidecar.js.map +1 -0
  497. package/dist/src/lib/workflow-defaults.d.ts +29 -0
  498. package/dist/src/lib/workflow-defaults.js +41 -0
  499. package/dist/src/lib/workflow-defaults.js.map +1 -0
  500. package/dist/src/lib/workflow-field-descriptor.d.ts +91 -0
  501. package/dist/src/lib/workflow-field-descriptor.js +153 -0
  502. package/dist/src/lib/workflow-field-descriptor.js.map +1 -0
  503. package/dist/src/lib/workflow-fragments.d.ts +64 -0
  504. package/dist/src/lib/workflow-fragments.js +342 -0
  505. package/dist/src/lib/workflow-fragments.js.map +1 -0
  506. package/dist/src/lib/workflow-include-preserve.d.ts +76 -0
  507. package/dist/src/lib/workflow-include-preserve.js +286 -0
  508. package/dist/src/lib/workflow-include-preserve.js.map +1 -0
  509. package/dist/src/lib/workflow-payload.d.ts +98 -0
  510. package/dist/src/lib/workflow-payload.js +178 -0
  511. package/dist/src/lib/workflow-payload.js.map +1 -0
  512. package/dist/src/lib/workflow-toml-validator.d.ts +207 -0
  513. package/dist/src/lib/workflow-toml-validator.js +762 -0
  514. package/dist/src/lib/workflow-toml-validator.js.map +1 -0
  515. package/dist/src/lib/workflow-usage.d.ts +198 -0
  516. package/dist/src/lib/workflow-usage.js +312 -0
  517. package/dist/src/lib/workflow-usage.js.map +1 -0
  518. package/dist/src/types/index.d.ts +591 -0
  519. package/dist/src/validators.d.ts +65 -0
  520. package/dist/src/validators.js +64 -0
  521. package/dist/src/validators.js.map +1 -0
  522. package/package.json +34 -9
@@ -0,0 +1,211 @@
1
+ /**
2
+ * GENERATED FILE — DO NOT EDIT BY HAND.
3
+ *
4
+ * Vendored byte-for-byte from the canonical server module
5
+ * `src/app-api/controllers/operation-definition-descriptor.ts` — the SAME
6
+ * allow-lists the server validator (`validateDefinition` / `validateParams`)
7
+ * enforces. The client operation-definition types
8
+ * (`src/client/api/operationDefinition.ts`) hand-author the matching union;
9
+ * a key-parity test compares them against this committed copy.
10
+ *
11
+ * Regenerate with:
12
+ * node cli/scripts/gen-operation-def-descriptor.mjs (runs at CLI prebuild)
13
+ *
14
+ * A CI freshness guard
15
+ * (`cli/scripts/gen-operation-def-descriptor.mjs --check`, also asserted by
16
+ * `cli/tests/unit/operation-def-descriptor-drift-guard.test.ts`) fails if
17
+ * this committed copy does not match the source — see issue #1544 / #1442.
18
+ */
19
+ /**
20
+ * Canonical, dependency-free descriptor of the database operation-definition
21
+ * schema (issue #1544).
22
+ *
23
+ * The server validator (`validateDefinition` / `validateParams` in
24
+ * `database-type-operations-controller.ts`) and the CLIENT operation-definition
25
+ * types (`src/client/api/operationDefinition.ts`, consumed by
26
+ * `createOperation` / `updateOperation` / `DatabaseOperationInfo`) must agree on
27
+ * the set of operation types and the allowed keys for each definition shape —
28
+ * otherwise a hand-authored `OperationDefinition` member promises a key the
29
+ * runtime rejects (or omits one the runtime accepts).
30
+ *
31
+ * This module is the single source of that declarative contract: the op-type
32
+ * list, the per-type allowed definition-key sets, the per-type mutation/action
33
+ * op-name enums, and the param-schema key/type enums. The validator imports
34
+ * these constants directly (so a change here changes what the server enforces),
35
+ * and the CLI vendors a byte-for-byte copy as a committed artifact via
36
+ * `cli/scripts/gen-operation-def-descriptor.mjs` (the #1442 workflow
37
+ * schema-descriptor pattern). A drift-guard test runs that generator in
38
+ * `--check` mode, and a key-parity test asserts the hand-authored client type
39
+ * members' keys equal the corresponding allow-lists here — so the validator and
40
+ * the client types can never silently diverge. The CLI never imports server
41
+ * `src/` at runtime; only the build-time generator reads this file.
42
+ *
43
+ * The value-shape checks that are NOT purely declarative (requiredness, nested
44
+ * object structure, CEL parsing) stay imperative in the validator. This
45
+ * descriptor captures the declarative allow-lists — the part that is genuinely
46
+ * shared between the runtime boundary and the descriptive client types.
47
+ *
48
+ * Ordering is significant: the validator joins these arrays into its 400-level
49
+ * error messages (`Must be one of: ${X.join(", ")}`), so reordering an array
50
+ * changes an error string. Keep entries in their current order.
51
+ */
52
+ /** The operation `type` values accepted by `createOperation` / `updateOperation`. */
53
+ export const OPERATION_TYPES = [
54
+ "query",
55
+ "mutation",
56
+ "count",
57
+ "aggregate",
58
+ "pipeline",
59
+ "applyToQuery",
60
+ ];
61
+ // ── Per-type definition key allow-lists ──
62
+ /** Allowed top-level keys in a `query` definition. `cache` (#1247) is query-only. */
63
+ export const QUERY_DEF_KEYS = [
64
+ "filter",
65
+ "sort",
66
+ "limit",
67
+ "projection",
68
+ "include",
69
+ "cache",
70
+ ];
71
+ /** Allowed top-level keys in a `mutation` definition. */
72
+ export const MUTATION_DEF_KEYS = ["operations"];
73
+ /** Allowed top-level keys in a `count` definition. */
74
+ export const COUNT_DEF_KEYS = ["filter"];
75
+ /** Allowed top-level keys in an `aggregate` definition. */
76
+ export const AGGREGATE_DEF_KEYS = [
77
+ "groupBy",
78
+ "operations",
79
+ "filter",
80
+ "limit",
81
+ "sort",
82
+ ];
83
+ /** Allowed top-level keys in a `pipeline` definition. */
84
+ export const PIPELINE_DEF_KEYS = ["steps", "return"];
85
+ /** Allowed top-level keys in an `applyToQuery` definition. */
86
+ export const APPLY_TO_QUERY_DEF_KEYS = ["source", "action"];
87
+ // ── Op-name enums nested inside definitions ──
88
+ /** Mutation op names allowed in a `mutation` definition's `operations[]`. */
89
+ export const MUTATION_OPS = [
90
+ "save",
91
+ "patch",
92
+ "delete",
93
+ "increment",
94
+ "addToSet",
95
+ "removeFromSet",
96
+ ];
97
+ /**
98
+ * Aggregate op `type` names allowed in an `aggregate` definition's
99
+ * `operations[]`.
100
+ */
101
+ export const AGGREGATE_OP_TYPES = [
102
+ "count",
103
+ "sum",
104
+ "avg",
105
+ "min",
106
+ "max",
107
+ ];
108
+ /**
109
+ * Allowed keys on a single nested aggregate op (an entry in an `aggregate`
110
+ * definition's `operations[]`, and in a pipeline `aggregate` step's
111
+ * `operations[]`). Only `type` and `field` are honored by the runtime — the
112
+ * aggregate SELECT always aliases columns to the fixed output names
113
+ * (`count` / `<type>_<field>`), so there is no supported way to rename an
114
+ * output. `outputField` was historically accepted here but read by no code
115
+ * (issue #1767); any key outside this list is now rejected at registration so
116
+ * dead config can't be silently stored.
117
+ */
118
+ export const AGGREGATE_OP_KEYS = ["type", "field"];
119
+ /**
120
+ * `applyToQuery` action ops. Only mutation ops that operate on existing matched
121
+ * records — `save` is excluded because it makes no sense in a find-and-mutate
122
+ * flow.
123
+ */
124
+ export const APPLY_TO_QUERY_ACTIONS = [
125
+ "delete",
126
+ "patch",
127
+ "increment",
128
+ "addToSet",
129
+ "removeFromSet",
130
+ ];
131
+ /** Allowed keys in an `applyToQuery` `source` block. */
132
+ export const APPLY_TO_QUERY_SOURCE_KEYS = [
133
+ "filter",
134
+ "sort",
135
+ "limit",
136
+ ];
137
+ /** Allowed keys in an `applyToQuery` `action` block. */
138
+ export const APPLY_TO_QUERY_ACTION_KEYS = [
139
+ "op",
140
+ "data",
141
+ "fields",
142
+ "stringSets",
143
+ ];
144
+ // ── Pipeline step allow-lists ──
145
+ /** Step `type` values allowed inside a `pipeline` definition's `steps[]`. */
146
+ export const PIPELINE_STEP_TYPES = [
147
+ "query",
148
+ "count",
149
+ "aggregate",
150
+ ];
151
+ /** Allowed keys on a pipeline `query` step. */
152
+ export const PIPELINE_QUERY_STEP_KEYS = [
153
+ "name",
154
+ "type",
155
+ "modelName",
156
+ "filter",
157
+ "sort",
158
+ "limit",
159
+ "projection",
160
+ "include",
161
+ ];
162
+ /** Allowed keys on a pipeline `count` step. */
163
+ export const PIPELINE_COUNT_STEP_KEYS = [
164
+ "name",
165
+ "type",
166
+ "modelName",
167
+ "filter",
168
+ ];
169
+ /** Allowed keys on a pipeline `aggregate` step. */
170
+ export const PIPELINE_AGGREGATE_STEP_KEYS = [
171
+ "name",
172
+ "type",
173
+ "modelName",
174
+ "groupBy",
175
+ "operations",
176
+ "filter",
177
+ "limit",
178
+ "sort",
179
+ ];
180
+ // ── Param-schema enums ──
181
+ /**
182
+ * Built-in param types. `integer` (#1488) is accepted here and by the runtime
183
+ * coercion path. `array` (#1488) declares a list param with a scalar `items`
184
+ * element type. Keep in step with the runtime coercion list
185
+ * (`MODEL_PARAM_SCALAR_TYPES` in `database-operations-controller.ts`).
186
+ */
187
+ export const PARAM_TYPES = [
188
+ "string",
189
+ "number",
190
+ "boolean",
191
+ "integer",
192
+ "object",
193
+ "array",
194
+ ];
195
+ /** Scalar element types allowed for an `array` param's `items` (#1488). */
196
+ export const ARRAY_ELEMENT_TYPES = [
197
+ "string",
198
+ "number",
199
+ "boolean",
200
+ "integer",
201
+ ];
202
+ /** Allowed keys in a single param definition. */
203
+ export const PARAM_DEF_KEYS = [
204
+ "type",
205
+ "required",
206
+ "access",
207
+ "coerce",
208
+ "enum",
209
+ "items",
210
+ ];
211
+ //# sourceMappingURL=generated-operation-def-descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated-operation-def-descriptor.js","sourceRoot":"","sources":["../../../../src/lib/db-codegen/generated-operation-def-descriptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,qFAAqF;AACrF,MAAM,CAAC,MAAM,eAAe,GAAsB;IAChD,OAAO;IACP,UAAU;IACV,OAAO;IACP,WAAW;IACX,UAAU;IACV,cAAc;CACf,CAAC;AAEF,4CAA4C;AAE5C,qFAAqF;AACrF,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC/C,QAAQ;IACR,MAAM;IACN,OAAO;IACP,YAAY;IACZ,SAAS;IACT,OAAO;CACR,CAAC;AAEF,yDAAyD;AACzD,MAAM,CAAC,MAAM,iBAAiB,GAAsB,CAAC,YAAY,CAAC,CAAC;AAEnE,sDAAsD;AACtD,MAAM,CAAC,MAAM,cAAc,GAAsB,CAAC,QAAQ,CAAC,CAAC;AAE5D,2DAA2D;AAC3D,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD,SAAS;IACT,YAAY;IACZ,QAAQ;IACR,OAAO;IACP,MAAM;CACP,CAAC;AAEF,yDAAyD;AACzD,MAAM,CAAC,MAAM,iBAAiB,GAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAExE,8DAA8D;AAC9D,MAAM,CAAC,MAAM,uBAAuB,GAAsB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAE/E,gDAAgD;AAEhD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC7C,MAAM;IACN,OAAO;IACP,QAAQ;IACR,WAAW;IACX,UAAU;IACV,eAAe;CAChB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;CACN,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtE;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAsB;IACvD,QAAQ;IACR,OAAO;IACP,WAAW;IACX,UAAU;IACV,eAAe;CAChB,CAAC;AAEF,wDAAwD;AACxD,MAAM,CAAC,MAAM,0BAA0B,GAAsB;IAC3D,QAAQ;IACR,MAAM;IACN,OAAO;CACR,CAAC;AAEF,wDAAwD;AACxD,MAAM,CAAC,MAAM,0BAA0B,GAAsB;IAC3D,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,YAAY;CACb,CAAC;AAEF,kCAAkC;AAElC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,OAAO;IACP,OAAO;IACP,WAAW;CACZ,CAAC;AAEF,+CAA+C;AAC/C,MAAM,CAAC,MAAM,wBAAwB,GAAsB;IACzD,MAAM;IACN,MAAM;IACN,WAAW;IACX,QAAQ;IACR,MAAM;IACN,OAAO;IACP,YAAY;IACZ,SAAS;CACV,CAAC;AAEF,+CAA+C;AAC/C,MAAM,CAAC,MAAM,wBAAwB,GAAsB;IACzD,MAAM;IACN,MAAM;IACN,WAAW;IACX,QAAQ;CACT,CAAC;AAEF,mDAAmD;AACnD,MAAM,CAAC,MAAM,4BAA4B,GAAsB;IAC7D,MAAM;IACN,MAAM;IACN,WAAW;IACX,SAAS;IACT,YAAY;IACZ,QAAQ;IACR,OAAO;IACP,MAAM;CACP,CAAC;AAEF,2BAA2B;AAE3B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC5C,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,OAAO;CACR,CAAC;AAEF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;CACV,CAAC;AAEF,iDAAiD;AACjD,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC/C,MAAM;IACN,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,OAAO;CACR,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * The `permissions.json` rows `primitive documents export` writes.
3
+ *
4
+ * Extracted from `exportSingleDocument` (#2951) so the shape change it went
5
+ * through is testable without a server. The export used to merge the legacy
6
+ * `GET /documents/:id/invitations` array — filtering `accepted` and
7
+ * `expiresAt` client-side — into the permission rows. That route is removed;
8
+ * pending entries now come from `GET /documents/:id/pending-invitations`,
9
+ * which returns a `{ items }` envelope of deferred grants the server has
10
+ * already filtered down to unresolved, unexpired, still-invited ones.
11
+ *
12
+ * The export tolerates the pending read failing (an older server answers 403
13
+ * or 404): the caller swallows the error and passes `null`, and the export
14
+ * still writes the permission rows.
15
+ */
16
+ export interface ExportedPermissionRow {
17
+ email: string;
18
+ permission: string;
19
+ grantedAt?: string;
20
+ source?: "invitation";
21
+ status?: "pending";
22
+ }
23
+ /**
24
+ * Merge a document's permission rows and its pending deferred grants into the
25
+ * single email-keyed list `permissions.json` carries.
26
+ *
27
+ * @param permissionsResponse - `GET /documents/:id/permissions`, or `null` when the read failed.
28
+ * @param pendingResponse - `GET /documents/:id/pending-invitations`, or `null` when the read failed.
29
+ */
30
+ export declare function buildPermissionsExport(permissionsResponse: unknown, pendingResponse: unknown): ExportedPermissionRow[];
@@ -0,0 +1,54 @@
1
+ /**
2
+ * The `permissions.json` rows `primitive documents export` writes.
3
+ *
4
+ * Extracted from `exportSingleDocument` (#2951) so the shape change it went
5
+ * through is testable without a server. The export used to merge the legacy
6
+ * `GET /documents/:id/invitations` array — filtering `accepted` and
7
+ * `expiresAt` client-side — into the permission rows. That route is removed;
8
+ * pending entries now come from `GET /documents/:id/pending-invitations`,
9
+ * which returns a `{ items }` envelope of deferred grants the server has
10
+ * already filtered down to unresolved, unexpired, still-invited ones.
11
+ *
12
+ * The export tolerates the pending read failing (an older server answers 403
13
+ * or 404): the caller swallows the error and passes `null`, and the export
14
+ * still writes the permission rows.
15
+ */
16
+ /** Unwrap a list that may arrive bare, or under `items`, or under a named key. */
17
+ function rows(value, key) {
18
+ if (Array.isArray(value))
19
+ return value;
20
+ if (value && typeof value === "object") {
21
+ const envelope = value;
22
+ for (const candidate of ["items", key]) {
23
+ if (Array.isArray(envelope[candidate]))
24
+ return envelope[candidate];
25
+ }
26
+ }
27
+ return [];
28
+ }
29
+ /**
30
+ * Merge a document's permission rows and its pending deferred grants into the
31
+ * single email-keyed list `permissions.json` carries.
32
+ *
33
+ * @param permissionsResponse - `GET /documents/:id/permissions`, or `null` when the read failed.
34
+ * @param pendingResponse - `GET /documents/:id/pending-invitations`, or `null` when the read failed.
35
+ */
36
+ export function buildPermissionsExport(permissionsResponse, pendingResponse) {
37
+ const granted = rows(permissionsResponse, "permissions")
38
+ .filter((p) => p?.email)
39
+ .map((p) => ({
40
+ email: p.email,
41
+ permission: p.permission,
42
+ grantedAt: p.grantedAt,
43
+ }));
44
+ const pending = rows(pendingResponse, "invitations")
45
+ .filter((i) => i?.email)
46
+ .map((i) => ({
47
+ email: i.email,
48
+ permission: i.permission,
49
+ source: "invitation",
50
+ status: "pending",
51
+ }));
52
+ return [...granted, ...pending];
53
+ }
54
+ //# sourceMappingURL=document-export-permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-export-permissions.js","sourceRoot":"","sources":["../../../src/lib/document-export-permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAUH,kFAAkF;AAClF,SAAS,IAAI,CAAC,KAAc,EAAE,GAAW;IACvC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,KAAgC,CAAC;QAClD,KAAK,MAAM,SAAS,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;YACvC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAAE,OAAO,QAAQ,CAAC,SAAS,CAAU,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,mBAA4B,EAC5B,eAAwB;IAExB,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC;SACrD,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;SAC5B,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;QAChB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,SAAS,EAAE,CAAC,CAAC,SAAS;KACvB,CAAC,CAAC,CAAC;IAEN,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC;SACjD,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;SAC5B,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;QAChB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,MAAM,EAAE,YAAqB;QAC7B,MAAM,EAAE,SAAkB;KAC3B,CAAC,CAAC,CAAC;IAEN,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC;AAClC,CAAC"}
@@ -0,0 +1,253 @@
1
+ /**
2
+ * The shared Primitive environment resolver (#2873).
3
+ *
4
+ * Three surfaces have to agree on which backend/app a project is pointed at:
5
+ * the CLI, the Vue build (`primitive-app`'s `primitiveEnv()` plugin), and the
6
+ * Swift template's pre-build script. This module is the single algorithm they
7
+ * share. The CLI owns it; `packages/primitive-app` carries a byte-identical
8
+ * GENERATED copy (`cli/scripts/gen-primitive-env-resolver.mjs`, checked for
9
+ * freshness by `cli/tests/unit/env-resolver-copy-drift-guard.test.ts`); the
10
+ * Swift script is an independent bash+python3 port pinned by a parity test.
11
+ *
12
+ * ── COPYABILITY (load-bearing) ────────────────────────────────────────────
13
+ * This file MUST stay self-contained: node builtins only, ZERO relative
14
+ * imports. The generator copies it verbatim into a package that cannot depend
15
+ * on the CLI, so any `./x.js` import here would break that copy at runtime.
16
+ * The drift guard asserts this.
17
+ *
18
+ * Scope: config discovery, the schema `version` check, structural validation,
19
+ * the local selection, the precedence, and the http→ws scheme swap. It
20
+ * deliberately does NOT duplicate the CLI's full field-level validation
21
+ * (`validateProjectConfig` in `project-config.ts`) — the CLI wrapper runs that
22
+ * first, and the other readers only need "version understood, shape sane, fail
23
+ * loudly otherwise".
24
+ *
25
+ * Precedence (one order, everywhere):
26
+ * 1. an explicit name (`--env` / `--primitive-env`)
27
+ * 2. PRIMITIVE_ENV (per-invocation intent, keeps CI working)
28
+ * 3. .primitive/local.json (this machine's `primitive env use`)
29
+ * 4. defaultEnvironment (the committed team default)
30
+ * 5. the sole environment, if there is exactly one
31
+ */
32
+ /** Schema version of `primitive/config.json` this core understands. */
33
+ export declare const PRIMITIVE_CONFIG_VERSION = 1;
34
+ /** Schema version of `.primitive/local.json` this core writes and reads. */
35
+ export declare const PRIMITIVE_LOCAL_STATE_VERSION = 1;
36
+ /**
37
+ * The two directories, split apart by #3153 so one name never means two
38
+ * things: `primitive/` is the COMMITTED tree (the config and every
39
+ * environment's TOML), `.primitive/` is MACHINE-LOCAL state (credentials, this
40
+ * machine's selection, snapshot backups) and is gitignored whole.
41
+ */
42
+ export declare const PROJECT_TREE_DIR = "primitive";
43
+ export declare const PROJECT_LOCAL_STATE_DIR = ".primitive";
44
+ export declare const PROJECT_CONFIG_FILENAME = "config.json";
45
+ export declare const LOCAL_STATE_FILENAME = "local.json";
46
+ export declare const PROJECT_CONFIG_DISPLAY_NAME = "primitive/config.json";
47
+ export declare const LOCAL_STATE_DISPLAY_NAME = ".primitive/local.json";
48
+ /** The docs-site slug of the migration procedure (#3155 publishes the page). */
49
+ export declare const MIGRATION_GUIDE_SLUG = "getting-started/cli-project-migration";
50
+ /**
51
+ * The one refusal for a project still holding the pre-#3153 layout.
52
+ *
53
+ * There is no fallback read: a tool that quietly read `.primitive/sync/` after
54
+ * the move would let a half-migrated project look healthy while push and pull
55
+ * disagreed about which tree is the truth. So every reader — this core, the
56
+ * generated Vite-plugin copy, the Swift pre-build script — stops here and names
57
+ * the document that says what to move where.
58
+ */
59
+ export declare function staleLayoutMessage(detail: string): string;
60
+ /**
61
+ * The one refusal for a command run outside a Primitive project (#3154,
62
+ * intent criterion 5).
63
+ *
64
+ * There is exactly one way to resolve the configuration tree, the credentials
65
+ * and the app: the environment named by `primitive/config.json`. Outside a
66
+ * project there is no such thing, and the CLI says so once, in these words,
67
+ * wherever the question is asked — the resolver core, the CLI's
68
+ * `requireCurrentEnvironment()`, and the credentials store.
69
+ *
70
+ * Two constraints on the wording, both test-asserted:
71
+ *
72
+ * - it names `primitive init`, the one command that creates what is missing;
73
+ * - it never names `primitive env add`, which after this change also fails
74
+ * outside a project — an error may only offer an invocation it does not
75
+ * itself block.
76
+ */
77
+ export declare function missingConfigMessage(where: string): string;
78
+ /**
79
+ * Error kinds callers branch on. Every failure is one of these — no reader is
80
+ * ever left guessing what a broken config meant.
81
+ */
82
+ export type PrimitiveEnvErrorKind = "missing-config" | "malformed-config" | "unsupported-version" | "corrupt-local-state" | "unknown-environment" | "no-selection" | "missing-app-id" | "stale-layout";
83
+ export declare class PrimitiveEnvError extends Error {
84
+ readonly kind: PrimitiveEnvErrorKind;
85
+ readonly path?: string;
86
+ constructor(kind: PrimitiveEnvErrorKind, message: string, path?: string);
87
+ }
88
+ export interface CoreEnvironmentEntry {
89
+ apiUrl: string;
90
+ /**
91
+ * The one app this environment names (#3152). Required: selecting an
92
+ * environment selects exactly one app, so there is no per-machine "current
93
+ * app" for a second reader to disagree with.
94
+ */
95
+ appId: string;
96
+ appName?: string;
97
+ /**
98
+ * The app's web counterpart for this environment, as a normalized origin
99
+ * (#2982). Read through `normalizeWebOrigin`, so a value this reader carries
100
+ * is always an origin — see that function for why the typed read other
101
+ * fields get is not enough here.
102
+ */
103
+ webUrl?: string;
104
+ description?: string;
105
+ }
106
+ /**
107
+ * The app's web counterpart as a normalized ORIGIN, or undefined when the
108
+ * value cannot be one (#2982).
109
+ *
110
+ * Unlike `appId`/`appName`, a typed read is not enough. This value is not
111
+ * merely carried: the Swift app points its emailed sign-in link at
112
+ * `<webUrl>/oauth/callback` and trusts incoming universal links from the same
113
+ * origin, and BOTH jobs need an origin —
114
+ *
115
+ * - https except loopback, the rule the server applies to every redirect URI
116
+ * (`src/auth/redirect-uri.ts`): an origin that cannot be allow-listed turns
117
+ * every sign-in request into a 400, and a plain-http link would carry the
118
+ * magic token in clear;
119
+ * - no path, query or fragment: the web client serves its callback on its own
120
+ * origin plus `/oauth/callback`, which is also the exact path the
121
+ * `apple-app-site-association` component claims;
122
+ * - no credentials, which have no business in a link that goes out by email.
123
+ *
124
+ * `primitive env add --web-url` and the project-config validation reject those
125
+ * shapes with a field-named error, but neither is on the path from a
126
+ * hand-edited `.primitive/config.json` to an Xcode build: the Swift template's
127
+ * pre-build script reads the file directly. So every reader that feeds
128
+ * `primitive.json` applies the contract, and a value that misses it is read as
129
+ * "this environment has no web counterpart" — code-only email, no trusted
130
+ * origin, nothing silently pointed at the wrong URL.
131
+ *
132
+ * The message-producing twin of this rule lives in `cli/src/lib/web-url.ts`;
133
+ * this file cannot import it (see COPYABILITY above), and a test pins that the
134
+ * two agree.
135
+ */
136
+ export declare function normalizeWebOrigin(value: unknown): string | undefined;
137
+ /**
138
+ * The one remedy for an environment that names no app (#3152), shared by every
139
+ * reader that can hit it: this core, the CLI's `validateProjectConfig`, the
140
+ * Swift template's pre-build script, and the Vue template's cf-deploy.
141
+ *
142
+ * Two constraints on the wording, both test-asserted:
143
+ *
144
+ * - it never says `primitive env add <name>`, which REFUSES an environment
145
+ * name that already exists — the shape this error is always about;
146
+ * - it names no command the failure itself blocks. The CLI validates the
147
+ * project config before any command parses, so every `primitive` command
148
+ * run inside the broken project fails with this same error. The only
149
+ * invocation it may offer is one it says out loud to run elsewhere.
150
+ */
151
+ export declare function missingAppIdMessage(name: string, configPath?: string): string;
152
+ export interface CoreProjectConfig {
153
+ version: number;
154
+ defaultEnvironment?: string;
155
+ environments: Record<string, CoreEnvironmentEntry>;
156
+ }
157
+ /** Which precedence step picked the environment. Printed in the build banner. */
158
+ export type PrimitiveEnvSource = "explicit" | "env-var" | "local" | "default" | "sole";
159
+ export interface ResolvedPrimitiveEnv {
160
+ name: string;
161
+ apiUrl: string;
162
+ /** Derived from apiUrl by scheme swap — never authored separately. */
163
+ wsUrl: string;
164
+ /** The app this environment names. Always present — see #3152. */
165
+ appId: string;
166
+ appName?: string;
167
+ /** The app's web counterpart for the SELECTED environment, if it has one. */
168
+ webUrl?: string;
169
+ description?: string;
170
+ source: PrimitiveEnvSource;
171
+ configPath: string;
172
+ localStatePath: string;
173
+ projectRoot: string;
174
+ }
175
+ export interface ResolveOptions {
176
+ /** Directory to start the upward walk from. Defaults to process.cwd(). */
177
+ cwd?: string;
178
+ /** Environment variables to read. Defaults to process.env. */
179
+ env?: Record<string, string | undefined>;
180
+ /** An explicit `--env` / `--primitive-env` value, if the caller has one. */
181
+ explicitEnvName?: string | null;
182
+ /** Use this config file instead of discovering one. */
183
+ configPath?: string;
184
+ }
185
+ /**
186
+ * Derives the WebSocket URL from the API URL. Every apiUrl/wsUrl pair in
187
+ * practice is the same host with the scheme swapped, so it is derived rather
188
+ * than authored — one less thing to get out of sync.
189
+ */
190
+ export declare function deriveWsUrl(apiUrl: string): string;
191
+ /**
192
+ * Finds `primitive/config.json` by walking up from `cwd`, or returns the
193
+ * PRIMITIVE_PROJECT_CONFIG override when it is set (and exists).
194
+ *
195
+ * The override is checked for provenance BEFORE the file is read (#3153, F2):
196
+ * it bypasses the walk, so without this an old-layout config could be handed
197
+ * straight to a reader and defeat the cutover.
198
+ *
199
+ * Every return is checked against the root it implies, not just the levels the
200
+ * walk passed through: this is the one function every reader goes through —
201
+ * `resolvePrimitiveEnv` and the CLI's own `loadProjectConfig`/`findProjectRoot`
202
+ * alike — so a half-migrated project must be refused HERE, or the commands that
203
+ * never call `resolvePrimitiveEnv` would read the new tree with the old one
204
+ * still beside it.
205
+ */
206
+ export declare function findPrimitiveConfigPath(options?: {
207
+ cwd?: string;
208
+ env?: Record<string, string | undefined>;
209
+ }): string | null;
210
+ /**
211
+ * The project root for a config path: the parent of `primitive/`, or the
212
+ * containing directory when the config was pointed at directly (a fixture via
213
+ * PRIMITIVE_PROJECT_CONFIG, which is not inside a `primitive/` directory).
214
+ */
215
+ export declare function projectRootForConfigPath(configPath: string): string;
216
+ /**
217
+ * Machine-local state lives under the project root's `.primitive/`, not beside
218
+ * the config — the config is committed now, and the two must not share a
219
+ * directory. A fixture-pointed bare config still gets its own `.primitive/`
220
+ * in its own directory, so it never picks up a real project's selection.
221
+ */
222
+ export declare function localStatePathForConfigPath(configPath: string): string;
223
+ /**
224
+ * Reads and structurally validates `.primitive/config.json`. Throws rather
225
+ * than guessing: a config that cannot be understood is always louder than a
226
+ * silent fallback to the wrong backend.
227
+ */
228
+ export declare function readCoreProjectConfig(configPath: string): CoreProjectConfig;
229
+ /**
230
+ * Reads this machine's selection from `.primitive/local.json`. Returns null
231
+ * when there is no file or no selection in it; throws when the file exists but
232
+ * cannot be read as the shape `primitive env use` writes.
233
+ */
234
+ export declare function readLocalSelection(configPath: string): string | null;
235
+ /**
236
+ * Applies the precedence to an already-loaded config. Exposed separately so
237
+ * the CLI wrapper can run its own field-level validation first and still share
238
+ * one ordering with every other reader.
239
+ */
240
+ export declare function selectEnvironmentName(config: CoreProjectConfig, options: {
241
+ explicitEnvName?: string | null;
242
+ envVarName?: string | null;
243
+ localSelection?: string | null;
244
+ configPath?: string;
245
+ }): {
246
+ name: string;
247
+ source: PrimitiveEnvSource;
248
+ };
249
+ /**
250
+ * The whole algorithm end to end: discover the config, read the selection,
251
+ * apply the precedence, derive the WebSocket URL.
252
+ */
253
+ export declare function resolvePrimitiveEnv(options?: ResolveOptions): ResolvedPrimitiveEnv;