primitive-admin 1.2.0-alpha.1 → 1.2.0-alpha.11

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 (410) hide show
  1. package/README.md +105 -134
  2. package/assets/skill/skills/primitive-platform/SKILL.md +37 -4
  3. package/dist/bin/primitive.js +30 -35
  4. package/dist/bin/primitive.js.map +1 -1
  5. package/dist/src/commands/agent-sessions.d.ts +133 -0
  6. package/dist/src/commands/agent-sessions.js +792 -0
  7. package/dist/src/commands/agent-sessions.js.map +1 -0
  8. package/dist/src/commands/analytics.js +0 -148
  9. package/dist/src/commands/analytics.js.map +1 -1
  10. package/dist/src/commands/apps-children.d.ts +54 -0
  11. package/dist/src/commands/apps-children.js +631 -0
  12. package/dist/src/commands/apps-children.js.map +1 -0
  13. package/dist/src/commands/apps.d.ts +6 -0
  14. package/dist/src/commands/apps.js +131 -9
  15. package/dist/src/commands/apps.js.map +1 -1
  16. package/dist/src/commands/auth-sessions.d.ts +3 -3
  17. package/dist/src/commands/auth-sessions.js +117 -23
  18. package/dist/src/commands/auth-sessions.js.map +1 -1
  19. package/dist/src/commands/auth.js +460 -36
  20. package/dist/src/commands/auth.js.map +1 -1
  21. package/dist/src/commands/collections.js +316 -256
  22. package/dist/src/commands/collections.js.map +1 -1
  23. package/dist/src/commands/config.d.ts +1 -1
  24. package/dist/src/commands/config.js +60 -28
  25. package/dist/src/commands/config.js.map +1 -1
  26. package/dist/src/commands/connections.js +11 -12
  27. package/dist/src/commands/connections.js.map +1 -1
  28. package/dist/src/commands/database-type-configs.js +2 -76
  29. package/dist/src/commands/database-type-configs.js.map +1 -1
  30. package/dist/src/commands/databases.d.ts +9 -0
  31. package/dist/src/commands/databases.js +221 -457
  32. package/dist/src/commands/databases.js.map +1 -1
  33. package/dist/src/commands/db3-types.d.ts +15 -0
  34. package/dist/src/commands/db3-types.js +157 -0
  35. package/dist/src/commands/db3-types.js.map +1 -0
  36. package/dist/src/commands/db3.d.ts +12 -0
  37. package/dist/src/commands/db3.js +1052 -0
  38. package/dist/src/commands/db3.js.map +1 -0
  39. package/dist/src/commands/documents.d.ts +121 -2
  40. package/dist/src/commands/documents.js +1601 -1251
  41. package/dist/src/commands/documents.js.map +1 -1
  42. package/dist/src/commands/env.d.ts +9 -1
  43. package/dist/src/commands/env.js +164 -49
  44. package/dist/src/commands/env.js.map +1 -1
  45. package/dist/src/commands/function-trigger-commands.d.ts +28 -0
  46. package/dist/src/commands/function-trigger-commands.js +341 -0
  47. package/dist/src/commands/function-trigger-commands.js.map +1 -0
  48. package/dist/src/commands/functions.js +297 -24
  49. package/dist/src/commands/functions.js.map +1 -1
  50. package/dist/src/commands/groups.js +150 -49
  51. package/dist/src/commands/groups.js.map +1 -1
  52. package/dist/src/commands/guides.js +5 -5
  53. package/dist/src/commands/init.d.ts +7 -0
  54. package/dist/src/commands/init.js +23 -5
  55. package/dist/src/commands/init.js.map +1 -1
  56. package/dist/src/commands/integrations.js +14 -8
  57. package/dist/src/commands/integrations.js.map +1 -1
  58. package/dist/src/commands/metadata-category-configs.d.ts +2 -2
  59. package/dist/src/commands/metadata-category-configs.js +2 -2
  60. package/dist/src/commands/prompts.d.ts +7 -0
  61. package/dist/src/commands/prompts.js +48 -5
  62. package/dist/src/commands/prompts.js.map +1 -1
  63. package/dist/src/commands/scripts.d.ts +9 -17
  64. package/dist/src/commands/scripts.js +24 -479
  65. package/dist/src/commands/scripts.js.map +1 -1
  66. package/dist/src/commands/sync-app-settings.d.ts +36 -8
  67. package/dist/src/commands/sync-app-settings.js +109 -23
  68. package/dist/src/commands/sync-app-settings.js.map +1 -1
  69. package/dist/src/commands/sync.d.ts +360 -610
  70. package/dist/src/commands/sync.js +3151 -6697
  71. package/dist/src/commands/sync.js.map +1 -1
  72. package/dist/src/commands/tokens.js +3 -3
  73. package/dist/src/commands/tokens.js.map +1 -1
  74. package/dist/src/commands/users.js +77 -2
  75. package/dist/src/commands/users.js.map +1 -1
  76. package/dist/src/commands/workflows.d.ts +5 -83
  77. package/dist/src/commands/workflows.js +57 -2282
  78. package/dist/src/commands/workflows.js.map +1 -1
  79. package/dist/src/lib/aggregate-output.d.ts +25 -0
  80. package/dist/src/lib/aggregate-output.js +53 -0
  81. package/dist/src/lib/aggregate-output.js.map +1 -0
  82. package/dist/src/lib/api-client.d.ts +681 -551
  83. package/dist/src/lib/api-client.js +880 -814
  84. package/dist/src/lib/api-client.js.map +1 -1
  85. package/dist/src/lib/app-settings-descriptor.d.ts +47 -1
  86. package/dist/src/lib/app-settings-descriptor.js +114 -10
  87. package/dist/src/lib/app-settings-descriptor.js.map +1 -1
  88. package/dist/src/lib/auth-fixtures.d.ts +44 -0
  89. package/dist/src/lib/auth-fixtures.js +61 -0
  90. package/dist/src/lib/auth-fixtures.js.map +1 -0
  91. package/dist/src/lib/auth-flow.d.ts +41 -1
  92. package/dist/src/lib/auth-flow.js +70 -16
  93. package/dist/src/lib/auth-flow.js.map +1 -1
  94. package/dist/src/lib/block-layout.d.ts +12 -23
  95. package/dist/src/lib/block-layout.js +26 -92
  96. package/dist/src/lib/block-layout.js.map +1 -1
  97. package/dist/src/lib/block-selector.d.ts +2 -2
  98. package/dist/src/lib/block-selector.js +2 -2
  99. package/dist/src/lib/child-apps-local.d.ts +164 -0
  100. package/dist/src/lib/child-apps-local.js +258 -0
  101. package/dist/src/lib/child-apps-local.js.map +1 -0
  102. package/dist/src/lib/ci-session-request.d.ts +22 -0
  103. package/dist/src/lib/ci-session-request.js +51 -0
  104. package/dist/src/lib/ci-session-request.js.map +1 -0
  105. package/dist/src/lib/codegen-shared/generatedFiles.d.ts +10 -8
  106. package/dist/src/lib/codegen-shared/generatedFiles.js +21 -15
  107. package/dist/src/lib/codegen-shared/generatedFiles.js.map +1 -1
  108. package/dist/src/lib/codegen-shared/prettierStable.d.ts +1 -1
  109. package/dist/src/lib/codegen-shared/prettierStable.js +1 -1
  110. package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.d.ts +2 -2
  111. package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.js +2 -2
  112. package/dist/src/lib/collection-export.d.ts +76 -15
  113. package/dist/src/lib/collection-export.js +116 -23
  114. package/dist/src/lib/collection-export.js.map +1 -1
  115. package/dist/src/lib/collection-principal.d.ts +22 -0
  116. package/dist/src/lib/collection-principal.js +35 -0
  117. package/dist/src/lib/collection-principal.js.map +1 -0
  118. package/dist/src/lib/config-object-descriptor.d.ts +3 -22
  119. package/dist/src/lib/config-object-descriptor.js +56 -290
  120. package/dist/src/lib/config-object-descriptor.js.map +1 -1
  121. package/dist/src/lib/config-payload.js +2 -3
  122. package/dist/src/lib/config-payload.js.map +1 -1
  123. package/dist/src/lib/config-surface.d.ts +5 -7
  124. package/dist/src/lib/config-surface.js +18 -40
  125. package/dist/src/lib/config-surface.js.map +1 -1
  126. package/dist/src/lib/connections-list.d.ts +10 -0
  127. package/dist/src/lib/connections-list.js +18 -0
  128. package/dist/src/lib/connections-list.js.map +1 -0
  129. package/dist/src/lib/credentials-home.d.ts +58 -0
  130. package/dist/src/lib/credentials-home.js +204 -0
  131. package/dist/src/lib/credentials-home.js.map +1 -0
  132. package/dist/src/lib/credentials-lock.d.ts +88 -0
  133. package/dist/src/lib/credentials-lock.js +302 -0
  134. package/dist/src/lib/credentials-lock.js.map +1 -0
  135. package/dist/src/lib/credentials-store.d.ts +179 -24
  136. package/dist/src/lib/credentials-store.js +712 -77
  137. package/dist/src/lib/credentials-store.js.map +1 -1
  138. package/dist/src/lib/csv.d.ts +8 -9
  139. package/dist/src/lib/csv.js +3 -4
  140. package/dist/src/lib/csv.js.map +1 -1
  141. package/dist/src/lib/custodian.d.ts +8 -0
  142. package/dist/src/lib/custodian.js +18 -0
  143. package/dist/src/lib/custodian.js.map +1 -0
  144. package/dist/src/lib/db-codegen/dbGenerator.js +5 -16
  145. package/dist/src/lib/db-codegen/dbGenerator.js.map +1 -1
  146. package/dist/src/lib/db-codegen/dbNaming.d.ts +5 -13
  147. package/dist/src/lib/db-codegen/dbNaming.js +5 -17
  148. package/dist/src/lib/db-codegen/dbNaming.js.map +1 -1
  149. package/dist/src/lib/db-codegen/dbTemplates.d.ts +7 -56
  150. package/dist/src/lib/db-codegen/dbTemplates.js +25 -125
  151. package/dist/src/lib/db-codegen/dbTemplates.js.map +1 -1
  152. package/dist/src/lib/db-codegen/dbTsTypes.d.ts +2 -2
  153. package/dist/src/lib/db-codegen/dbTsTypes.js +2 -2
  154. package/dist/src/lib/db-codegen/dbTypeIR.d.ts +67 -2
  155. package/dist/src/lib/db-codegen/dbTypeIR.js +13 -2
  156. package/dist/src/lib/db-codegen/dbTypeIR.js.map +1 -1
  157. package/dist/src/lib/db3-export.d.ts +231 -0
  158. package/dist/src/lib/db3-export.js +510 -0
  159. package/dist/src/lib/db3-export.js.map +1 -0
  160. package/dist/src/lib/db3-index-output.d.ts +27 -0
  161. package/dist/src/lib/db3-index-output.js +49 -0
  162. package/dist/src/lib/db3-index-output.js.map +1 -0
  163. package/dist/src/lib/document-export-lookups.d.ts +31 -0
  164. package/dist/src/lib/document-export-lookups.js +53 -0
  165. package/dist/src/lib/document-export-lookups.js.map +1 -0
  166. package/dist/src/lib/document-export-permissions.d.ts +7 -5
  167. package/dist/src/lib/document-export-permissions.js +7 -5
  168. package/dist/src/lib/document-export-permissions.js.map +1 -1
  169. package/dist/src/lib/document-export-record-log.d.ts +57 -0
  170. package/dist/src/lib/document-export-record-log.js +215 -0
  171. package/dist/src/lib/document-export-record-log.js.map +1 -0
  172. package/dist/src/lib/document-ingest-artifact.d.ts +26 -2
  173. package/dist/src/lib/document-ingest-artifact.js +42 -8
  174. package/dist/src/lib/document-ingest-artifact.js.map +1 -1
  175. package/dist/src/lib/document-ingest-format2.d.ts +36 -0
  176. package/dist/src/lib/document-ingest-format2.js +78 -0
  177. package/dist/src/lib/document-ingest-format2.js.map +1 -0
  178. package/dist/src/lib/document-ingest-input.d.ts +9 -0
  179. package/dist/src/lib/document-ingest-input.js +28 -1
  180. package/dist/src/lib/document-ingest-input.js.map +1 -1
  181. package/dist/src/lib/document-ingest-rows.d.ts +16 -0
  182. package/dist/src/lib/document-ingest-rows.js +17 -0
  183. package/dist/src/lib/document-ingest-rows.js.map +1 -1
  184. package/dist/src/lib/document-ingest.d.ts +33 -1
  185. package/dist/src/lib/document-ingest.js +49 -0
  186. package/dist/src/lib/document-ingest.js.map +1 -1
  187. package/dist/src/lib/document-schema-rows.d.ts +42 -0
  188. package/dist/src/lib/document-schema-rows.js +53 -0
  189. package/dist/src/lib/document-schema-rows.js.map +1 -0
  190. package/dist/src/lib/env-resolver-core.d.ts +70 -2
  191. package/dist/src/lib/env-resolver-core.js +137 -20
  192. package/dist/src/lib/env-resolver-core.js.map +1 -1
  193. package/dist/src/lib/env-resolver.d.ts +14 -2
  194. package/dist/src/lib/env-resolver.js +32 -10
  195. package/dist/src/lib/env-resolver.js.map +1 -1
  196. package/dist/src/lib/function-authorize-check.d.ts +142 -0
  197. package/dist/src/lib/function-authorize-check.js +310 -0
  198. package/dist/src/lib/function-authorize-check.js.map +1 -0
  199. package/dist/src/lib/function-authorize-view.d.ts +15 -0
  200. package/dist/src/lib/function-authorize-view.js +50 -0
  201. package/dist/src/lib/function-authorize-view.js.map +1 -0
  202. package/dist/src/lib/function-bundle.d.ts +38 -18
  203. package/dist/src/lib/function-bundle.js +96 -35
  204. package/dist/src/lib/function-bundle.js.map +1 -1
  205. package/dist/src/lib/function-collect.d.ts +75 -12
  206. package/dist/src/lib/function-collect.js +427 -12
  207. package/dist/src/lib/function-collect.js.map +1 -1
  208. package/dist/src/lib/function-db-types.d.ts +29 -0
  209. package/dist/src/lib/function-db-types.js +117 -7
  210. package/dist/src/lib/function-db-types.js.map +1 -1
  211. package/dist/src/lib/function-document-types.d.ts +5 -3
  212. package/dist/src/lib/function-document-types.js +10 -14
  213. package/dist/src/lib/function-document-types.js.map +1 -1
  214. package/dist/src/lib/function-lint.d.ts +34 -0
  215. package/dist/src/lib/function-lint.js +112 -0
  216. package/dist/src/lib/function-lint.js.map +1 -0
  217. package/dist/src/lib/function-log-row.js +21 -2
  218. package/dist/src/lib/function-log-row.js.map +1 -1
  219. package/dist/src/lib/function-run.d.ts +16 -21
  220. package/dist/src/lib/function-run.js +37 -30
  221. package/dist/src/lib/function-run.js.map +1 -1
  222. package/dist/src/lib/function-schema-codegen.d.ts +1 -1
  223. package/dist/src/lib/function-schema-codegen.js +5 -5
  224. package/dist/src/lib/function-schema-codegen.js.map +1 -1
  225. package/dist/src/lib/function-source-roots.d.ts +67 -0
  226. package/dist/src/lib/function-source-roots.js +148 -0
  227. package/dist/src/lib/function-source-roots.js.map +1 -0
  228. package/dist/src/lib/function-sync.d.ts +108 -22
  229. package/dist/src/lib/function-sync.js +127 -39
  230. package/dist/src/lib/function-sync.js.map +1 -1
  231. package/dist/src/lib/function-trigger-listing.d.ts +11 -6
  232. package/dist/src/lib/function-trigger-listing.js +32 -11
  233. package/dist/src/lib/function-trigger-listing.js.map +1 -1
  234. package/dist/src/lib/function-typecheck.d.ts +37 -2
  235. package/dist/src/lib/function-typecheck.js +210 -28
  236. package/dist/src/lib/function-typecheck.js.map +1 -1
  237. package/dist/src/lib/function-versions.d.ts +2 -0
  238. package/dist/src/lib/function-versions.js +1 -0
  239. package/dist/src/lib/function-versions.js.map +1 -1
  240. package/dist/src/lib/generated-allowlist.js +0 -20
  241. package/dist/src/lib/generated-allowlist.js.map +1 -1
  242. package/dist/src/lib/generated-config-surfaces.d.ts +703 -203
  243. package/dist/src/lib/generated-config-surfaces.js +2270 -2014
  244. package/dist/src/lib/generated-config-surfaces.js.map +1 -1
  245. package/dist/src/lib/generated-sdk-types.d.ts +1 -1
  246. package/dist/src/lib/generated-sdk-types.js +1 -1
  247. package/dist/src/lib/generated-sdk-types.js.map +1 -1
  248. package/dist/src/lib/init-adopt.js +12 -3
  249. package/dist/src/lib/init-adopt.js.map +1 -1
  250. package/dist/src/lib/init-login-note.d.ts +13 -0
  251. package/dist/src/lib/init-login-note.js +22 -0
  252. package/dist/src/lib/init-login-note.js.map +1 -0
  253. package/dist/src/lib/json-value.d.ts +6 -0
  254. package/dist/src/lib/json-value.js +13 -0
  255. package/dist/src/lib/json-value.js.map +1 -0
  256. package/dist/src/lib/load-routes.d.ts +33 -0
  257. package/dist/src/lib/load-routes.js +35 -0
  258. package/dist/src/lib/load-routes.js.map +1 -0
  259. package/dist/src/lib/local-state.d.ts +38 -7
  260. package/dist/src/lib/local-state.js +172 -49
  261. package/dist/src/lib/local-state.js.map +1 -1
  262. package/dist/src/lib/local-test-cases.d.ts +5 -2
  263. package/dist/src/lib/local-test-cases.js +7 -4
  264. package/dist/src/lib/local-test-cases.js.map +1 -1
  265. package/dist/src/lib/log-inspection.d.ts +42 -4
  266. package/dist/src/lib/log-inspection.js +37 -5
  267. package/dist/src/lib/log-inspection.js.map +1 -1
  268. package/dist/src/lib/login-exchange-check.d.ts +18 -0
  269. package/dist/src/lib/login-exchange-check.js +27 -0
  270. package/dist/src/lib/login-exchange-check.js.map +1 -0
  271. package/dist/src/lib/login-scope-lines.d.ts +25 -0
  272. package/dist/src/lib/login-scope-lines.js +45 -0
  273. package/dist/src/lib/login-scope-lines.js.map +1 -0
  274. package/dist/src/lib/logout-admin-session.d.ts +2 -1
  275. package/dist/src/lib/logout-admin-session.js +7 -1
  276. package/dist/src/lib/logout-admin-session.js.map +1 -1
  277. package/dist/src/lib/object-status-filter.d.ts +9 -1
  278. package/dist/src/lib/object-status-filter.js +9 -1
  279. package/dist/src/lib/object-status-filter.js.map +1 -1
  280. package/dist/src/lib/output.js +2 -0
  281. package/dist/src/lib/output.js.map +1 -1
  282. package/dist/src/lib/paginate.d.ts +0 -5
  283. package/dist/src/lib/paginate.js +0 -5
  284. package/dist/src/lib/paginate.js.map +1 -1
  285. package/dist/src/lib/pin-refusal-hint.d.ts +12 -0
  286. package/dist/src/lib/pin-refusal-hint.js +35 -0
  287. package/dist/src/lib/pin-refusal-hint.js.map +1 -0
  288. package/dist/src/lib/primitive-env-plugin.d.ts +99 -0
  289. package/dist/src/lib/primitive-env-plugin.js +408 -0
  290. package/dist/src/lib/primitive-env-plugin.js.map +1 -0
  291. package/dist/src/lib/project-config.d.ts +7 -0
  292. package/dist/src/lib/project-config.js +22 -1
  293. package/dist/src/lib/project-config.js.map +1 -1
  294. package/dist/src/lib/project-login-apps.d.ts +8 -0
  295. package/dist/src/lib/project-login-apps.js +27 -0
  296. package/dist/src/lib/project-login-apps.js.map +1 -0
  297. package/dist/src/lib/prompt-schema-codegen.d.ts +10 -3
  298. package/dist/src/lib/prompt-schema-codegen.js +52 -11
  299. package/dist/src/lib/prompt-schema-codegen.js.map +1 -1
  300. package/dist/src/lib/pull-write.d.ts +31 -0
  301. package/dist/src/lib/pull-write.js +49 -0
  302. package/dist/src/lib/pull-write.js.map +1 -0
  303. package/dist/src/lib/push-failure-report.d.ts +45 -0
  304. package/dist/src/lib/push-failure-report.js +57 -0
  305. package/dist/src/lib/push-failure-report.js.map +1 -0
  306. package/dist/src/lib/records-verbs.d.ts +69 -0
  307. package/dist/src/lib/records-verbs.js +40 -0
  308. package/dist/src/lib/records-verbs.js.map +1 -0
  309. package/dist/src/lib/refresh-admin-credentials.d.ts +7 -0
  310. package/dist/src/lib/refresh-admin-credentials.js +16 -4
  311. package/dist/src/lib/refresh-admin-credentials.js.map +1 -1
  312. package/dist/src/lib/root-import-decision.d.ts +65 -0
  313. package/dist/src/lib/root-import-decision.js +109 -0
  314. package/dist/src/lib/root-import-decision.js.map +1 -0
  315. package/dist/src/lib/run-status.d.ts +1 -1
  316. package/dist/src/lib/run-status.generated.d.ts +2 -2
  317. package/dist/src/lib/run-status.generated.js +3 -1
  318. package/dist/src/lib/run-status.generated.js.map +1 -1
  319. package/dist/src/lib/run-status.js +1 -1
  320. package/dist/src/lib/schema-codegen/generated-schema-descriptor.d.ts +129 -0
  321. package/dist/src/lib/schema-codegen/generated-schema-descriptor.js +269 -0
  322. package/dist/src/lib/schema-codegen/generated-schema-descriptor.js.map +1 -0
  323. package/dist/src/lib/schema-codegen/naming.d.ts +35 -0
  324. package/dist/src/lib/schema-codegen/naming.js +83 -0
  325. package/dist/src/lib/schema-codegen/naming.js.map +1 -0
  326. package/dist/src/lib/schema-codegen/schemaToTs.d.ts +82 -0
  327. package/dist/src/lib/schema-codegen/schemaToTs.js +305 -0
  328. package/dist/src/lib/schema-codegen/schemaToTs.js.map +1 -0
  329. package/dist/src/lib/scope-request.d.ts +84 -0
  330. package/dist/src/lib/scope-request.js +235 -0
  331. package/dist/src/lib/scope-request.js.map +1 -0
  332. package/dist/src/lib/session-id.d.ts +9 -0
  333. package/dist/src/lib/session-id.js +28 -0
  334. package/dist/src/lib/session-id.js.map +1 -0
  335. package/dist/src/lib/snapshot-build-rows.d.ts +21 -0
  336. package/dist/src/lib/snapshot-build-rows.js +22 -0
  337. package/dist/src/lib/snapshot-build-rows.js.map +1 -1
  338. package/dist/src/lib/snapshot-build.js +8 -3
  339. package/dist/src/lib/snapshot-build.js.map +1 -1
  340. package/dist/src/lib/snapshots.d.ts +17 -1
  341. package/dist/src/lib/snapshots.js +50 -2
  342. package/dist/src/lib/snapshots.js.map +1 -1
  343. package/dist/src/lib/swift-codegen/agentGenerator.d.ts +6 -2
  344. package/dist/src/lib/swift-codegen/agentGenerator.js +57 -5
  345. package/dist/src/lib/swift-codegen/agentGenerator.js.map +1 -1
  346. package/dist/src/lib/swift-codegen/banners.d.ts +34 -7
  347. package/dist/src/lib/swift-codegen/banners.js +37 -7
  348. package/dist/src/lib/swift-codegen/banners.js.map +1 -1
  349. package/dist/src/lib/swift-codegen/dbGenerator.d.ts +4 -3
  350. package/dist/src/lib/swift-codegen/dbGenerator.js +14 -117
  351. package/dist/src/lib/swift-codegen/dbGenerator.js.map +1 -1
  352. package/dist/src/lib/swift-codegen/functionGenerator.d.ts +3 -3
  353. package/dist/src/lib/swift-codegen/functionGenerator.js +23 -18
  354. package/dist/src/lib/swift-codegen/functionGenerator.js.map +1 -1
  355. package/dist/src/lib/swift-codegen/generator.d.ts +5 -5
  356. package/dist/src/lib/swift-codegen/generator.js +35 -40
  357. package/dist/src/lib/swift-codegen/generator.js.map +1 -1
  358. package/dist/src/lib/swift-codegen/schemaToSwift.d.ts +3 -3
  359. package/dist/src/lib/swift-codegen/schemaToSwift.js +4 -4
  360. package/dist/src/lib/swift-codegen/schemaToSwift.js.map +1 -1
  361. package/dist/src/lib/swift-codegen/swiftKeys.d.ts +19 -0
  362. package/dist/src/lib/swift-codegen/swiftKeys.js +31 -0
  363. package/dist/src/lib/swift-codegen/swiftKeys.js.map +1 -0
  364. package/dist/src/lib/sync-paths.d.ts +35 -0
  365. package/dist/src/lib/sync-paths.js +57 -5
  366. package/dist/src/lib/sync-paths.js.map +1 -1
  367. package/dist/src/lib/sync-resource-types.d.ts +26 -26
  368. package/dist/src/lib/sync-resource-types.js +61 -189
  369. package/dist/src/lib/sync-resource-types.js.map +1 -1
  370. package/dist/src/lib/sync-selectors.d.ts +5 -1
  371. package/dist/src/lib/sync-selectors.js +23 -13
  372. package/dist/src/lib/sync-selectors.js.map +1 -1
  373. package/dist/src/lib/test-case-file-names.d.ts +3 -5
  374. package/dist/src/lib/test-case-file-names.js +3 -5
  375. package/dist/src/lib/test-case-file-names.js.map +1 -1
  376. package/dist/src/lib/toml-database-config.d.ts +15 -75
  377. package/dist/src/lib/toml-database-config.js +17 -306
  378. package/dist/src/lib/toml-database-config.js.map +1 -1
  379. package/dist/src/lib/transient-retry.d.ts +43 -0
  380. package/dist/src/lib/transient-retry.js +94 -0
  381. package/dist/src/lib/transient-retry.js.map +1 -0
  382. package/dist/src/lib/vars-override.d.ts +105 -0
  383. package/dist/src/lib/vars-override.js +143 -0
  384. package/dist/src/lib/vars-override.js.map +1 -0
  385. package/dist/src/lib/webhook-capture.d.ts +43 -0
  386. package/dist/src/lib/webhook-capture.js +91 -0
  387. package/dist/src/lib/webhook-capture.js.map +1 -0
  388. package/dist/src/lib/webhook-deliver.d.ts +18 -20
  389. package/dist/src/lib/webhook-deliver.js +34 -89
  390. package/dist/src/lib/webhook-deliver.js.map +1 -1
  391. package/dist/src/lib/webhook-test-run.d.ts +32 -0
  392. package/dist/src/lib/webhook-test-run.js +108 -0
  393. package/dist/src/lib/webhook-test-run.js.map +1 -0
  394. package/dist/src/lib/workflow-codegen/generator.d.ts +7 -7
  395. package/dist/src/lib/workflow-codegen/generator.js +16 -23
  396. package/dist/src/lib/workflow-codegen/generator.js.map +1 -1
  397. package/dist/src/lib/workflow-codegen/invokerIR.d.ts +6 -12
  398. package/dist/src/lib/workflow-codegen/invokerIR.js +4 -5
  399. package/dist/src/lib/workflow-codegen/invokerIR.js.map +1 -1
  400. package/dist/src/lib/workflow-toml-validator.d.ts +2 -0
  401. package/dist/src/lib/workflow-toml-validator.js +28 -1
  402. package/dist/src/lib/workflow-toml-validator.js.map +1 -1
  403. package/dist/src/types/index.d.ts +30 -37
  404. package/dist/src/validators.d.ts +7 -55
  405. package/dist/src/validators.js +7 -53
  406. package/dist/src/validators.js.map +1 -1
  407. package/dist/src/vite.d.ts +17 -0
  408. package/dist/src/vite.js +18 -0
  409. package/dist/src/vite.js.map +1 -0
  410. package/package.json +20 -12
@@ -0,0 +1,341 @@
1
+ import { ApiClient } from "../lib/api-client.js";
2
+ import { resolveAppId } from "../lib/config.js";
3
+ import { success, error, info, keyValue, formatTable, formatId, formatDate, formatStatus, json, dim, } from "../lib/output.js";
4
+ import { buildWebhookEnvelope } from "../lib/log-inspection.js";
5
+ import { readCapturedDelivery, renderVerifyResult } from "../lib/webhook-capture.js";
6
+ import { runWebhooksTest } from "../lib/webhook-test-run.js";
7
+ /**
8
+ * A function key → its id, through the admin listing `functions list` reads.
9
+ * The trigger routes are keyed by the function's id; an operator types the key
10
+ * they wrote in the TOML.
11
+ */
12
+ export async function resolveFunctionIdByKey(client, appId, functionKey) {
13
+ const { items } = await client.listFunctions(appId);
14
+ const wanted = functionKey.trim().toLowerCase();
15
+ const match = (items || []).find((item) => String(item.functionKey ?? "").toLowerCase() === wanted);
16
+ if (!match) {
17
+ throw new Error(`No function with key '${functionKey}' in this app. ` +
18
+ `List them with 'primitive functions list'.`);
19
+ }
20
+ return String(match.functionId);
21
+ }
22
+ /**
23
+ * The webhook delivery flow (`test --deliver`) addresses a webhook by id; a
24
+ * function's trigger is addressed by the function. This adapter answers the
25
+ * flow's reads through the function's own routes, so the flow runs unchanged.
26
+ */
27
+ export function functionWebhookDeliverClient(client, functionId) {
28
+ return {
29
+ testWebhook: (appId, _webhookId, payload) => client.testFunctionWebhook(appId, functionId, payload),
30
+ listWebhookEvents: (appId, _webhookId, params) => client.listFunctionWebhookEvents(appId, functionId, params),
31
+ listFunctionRuns: (appId, id, params) => client.listFunctionRuns(appId, id, params),
32
+ };
33
+ }
34
+ /**
35
+ * `primitive functions triggers …` — the operational verbs of a function's
36
+ * webhook and cron triggers (#3190).
37
+ *
38
+ * The triggers themselves are declared in `functions/<key>.toml` and applied
39
+ * by `config push`; these verbs act on them without changing the declaration.
40
+ * Every verb takes the function KEY, and the cron verbs the entry's NAME.
41
+ */
42
+ export function registerFunctionTriggersCommands(functions, deps = {}) {
43
+ const newClient = deps.client ?? (() => new ApiClient());
44
+ const triggers = functions
45
+ .command("triggers")
46
+ .description("Operate a function's webhook and cron triggers")
47
+ .addHelpText("after", `
48
+ Triggers are declared in functions/<key>.toml ([function.triggers.webhook] and
49
+ [[function.triggers.cron]]) and applied by \`primitive config push\`. These verbs
50
+ act on a trigger without changing its declaration.
51
+
52
+ Webhook:
53
+ $ primitive functions triggers events <key> # the delivery log
54
+ $ primitive functions triggers test <key> [--deliver] # sign (and deliver) a test
55
+ $ primitive functions triggers verify <key> --header … --body-file …
56
+ $ primitive functions triggers rotate-secret <key> --secret "{{secrets.NEXT}}"
57
+
58
+ Cron:
59
+ $ primitive functions triggers fire <key> <name> # fire the entry now
60
+ $ primitive functions triggers fire-scheduled <key> <name> # one scheduled cycle
61
+ $ primitive functions triggers disable <key> <name>
62
+ $ primitive functions triggers enable <key> <name> # also resumes an error pause
63
+ `);
64
+ // ─── webhook ─────────────────────────────────────────────────────
65
+ triggers
66
+ .command("events")
67
+ .description("View a function's webhook delivery log")
68
+ .argument("<key>", "Function key")
69
+ .option("--app <app-id>", "App ID (uses current app if not specified)")
70
+ .option("--limit <n>", "Number of events to show", "20")
71
+ .option("--cursor <cursor>", "Pagination cursor from a previous page")
72
+ .option("--json", "Output as JSON")
73
+ .action(async (functionKey, options) => {
74
+ const appId = resolveAppId(undefined, options);
75
+ const client = newClient();
76
+ try {
77
+ const functionId = await resolveFunctionIdByKey(client, appId, functionKey);
78
+ const page = await client.listFunctionWebhookEvents(appId, functionId, {
79
+ limit: parseInt(options.limit),
80
+ ...(options.cursor && { cursor: options.cursor }),
81
+ });
82
+ if (options.json) {
83
+ json(buildWebhookEnvelope(page.items, page));
84
+ return;
85
+ }
86
+ const printCursorHint = () => {
87
+ if (!page.nextCursor)
88
+ return;
89
+ console.log();
90
+ dim(`More events. Use --cursor ${page.nextCursor} for the next page.`);
91
+ };
92
+ if (!page.items || page.items.length === 0) {
93
+ info("No events found.");
94
+ printCursorHint();
95
+ return;
96
+ }
97
+ console.log(formatTable(page.items, [
98
+ { header: "EVENT ID", key: "eventId", format: formatId },
99
+ { header: "EXTERNAL ID", key: "externalEventId" },
100
+ { header: "STATUS", key: "status", format: formatStatus },
101
+ { header: "HTTP", key: "httpStatus" },
102
+ { header: "REASON", key: "rejectionReason" },
103
+ { header: "CREATED", key: "createdAt", format: formatDate },
104
+ ]));
105
+ printCursorHint();
106
+ }
107
+ catch (err) {
108
+ error(err.message);
109
+ process.exit(1);
110
+ }
111
+ });
112
+ triggers
113
+ .command("test")
114
+ .description("Sign a test delivery for a function's webhook trigger")
115
+ .argument("<key>", "Function key")
116
+ .option("--app <app-id>", "App ID (uses current app if not specified)")
117
+ .option("--payload <json>", "Test payload as JSON, signed verbatim. Omit it to sign a canned " +
118
+ "webhook.test ping.")
119
+ .option("--deliver", "Post the signed payload to the function's receive endpoint, running " +
120
+ "the function for real and reporting the run")
121
+ .option("--json", "Output as JSON")
122
+ .addHelpText("after", `
123
+ By default this command only SIGNS: it prints the signature headers and the
124
+ signed body, posts nothing, and so starts no run and records no delivery.
125
+
126
+ --deliver posts that signed body to POST /app/{appId}/webhook/{key} — the same
127
+ unauthenticated path a provider uses — so verification, deduplication and the
128
+ function all run for real. It reports the delivery's event id and the run id,
129
+ and exits non-zero unless the run was positively confirmed.
130
+ `)
131
+ .action(async (functionKey, options) => {
132
+ const appId = resolveAppId(undefined, options);
133
+ const client = newClient();
134
+ let functionId;
135
+ try {
136
+ functionId = await resolveFunctionIdByKey(client, appId, functionKey);
137
+ }
138
+ catch (err) {
139
+ error(err.message);
140
+ process.exit(1);
141
+ return;
142
+ }
143
+ const code = await runWebhooksTest(functionId, { ...options, app: appId, functionKey }, { client: functionWebhookDeliverClient(client, functionId) });
144
+ if (code !== 0)
145
+ process.exit(code);
146
+ });
147
+ triggers
148
+ .command("verify")
149
+ .description("Check whether signature headers you captured verify against a function's webhook trigger")
150
+ .argument("<key>", "Function key")
151
+ .option("--app <app-id>", "App ID (uses current app if not specified)")
152
+ .option("--header <name: value>", "A header from the captured delivery. Repeatable.", (value, previous) => [...(previous || []), value], [])
153
+ .option("--body <text>", "The captured delivery body, as text")
154
+ .option("--body-file <path>", "Read the captured delivery body from a file")
155
+ .option("--json", "Output as JSON")
156
+ .addHelpText("after", `
157
+ Runs the trigger's configured verifier over the body and headers you supply and
158
+ reports whether that signature checks out. Nothing is delivered: the function
159
+ does not run and no delivery is recorded.
160
+
161
+ Exits 0 when the signature verifies and non-zero otherwise.
162
+
163
+ $ primitive functions triggers verify stripe-events \\
164
+ --header 'Stripe-Signature: t=1754...,v1=abc...' \\
165
+ --body-file captured-delivery.json
166
+ `)
167
+ .action(async (functionKey, options) => {
168
+ const appId = resolveAppId(undefined, options);
169
+ const captured = readCapturedDelivery(options);
170
+ if (captured.ok === false) {
171
+ error(captured.message);
172
+ process.exit(1);
173
+ return;
174
+ }
175
+ const client = newClient();
176
+ try {
177
+ const functionId = await resolveFunctionIdByKey(client, appId, functionKey);
178
+ const result = await client.verifyFunctionWebhook(appId, functionId, {
179
+ headers: captured.delivery.headers,
180
+ ...captured.delivery.body,
181
+ });
182
+ if (renderVerifyResult(result, Boolean(options.json)) !== 0)
183
+ process.exit(1);
184
+ }
185
+ catch (err) {
186
+ error(err?.code ? `${err.message} (${err.code})` : err.message);
187
+ process.exit(1);
188
+ }
189
+ });
190
+ triggers
191
+ .command("rotate-secret")
192
+ .description("Rotate a function's webhook signing secret")
193
+ .argument("<key>", "Function key")
194
+ .requiredOption("--secret <reference>", "The new signing secret, as a {{secrets.KEY}} reference")
195
+ .option("--app <app-id>", "App ID (uses current app if not specified)")
196
+ .option("--json", "Output as JSON")
197
+ .addHelpText("after", `
198
+ Points the trigger at a new secret and keeps the old one verifying for the
199
+ grace window, so a provider can be moved over without a dropped delivery.
200
+
201
+ $ primitive secrets set STRIPE_WEBHOOK_SECRET_NEXT --value whsec_...
202
+ $ primitive functions triggers rotate-secret stripe-events \\
203
+ --secret "{{secrets.STRIPE_WEBHOOK_SECRET_NEXT}}"
204
+ `)
205
+ .action(async (functionKey, options) => {
206
+ const appId = resolveAppId(undefined, options);
207
+ const client = newClient();
208
+ try {
209
+ const functionId = await resolveFunctionIdByKey(client, appId, functionKey);
210
+ const result = await client.rotateFunctionWebhookSecret(appId, functionId, {
211
+ signingSecret: options.secret,
212
+ });
213
+ if (options.json) {
214
+ json(result);
215
+ return;
216
+ }
217
+ success("Signing secret rotated.");
218
+ if (result.signingSecret)
219
+ keyValue("Signing Secret", result.signingSecret);
220
+ if (result.previousSigningSecret) {
221
+ keyValue("Previous Signing Secret", result.previousSigningSecret);
222
+ }
223
+ }
224
+ catch (err) {
225
+ error(err?.code ? `${err.message} (${err.code})` : err.message);
226
+ process.exit(1);
227
+ }
228
+ });
229
+ // ─── cron ────────────────────────────────────────────────────────
230
+ triggers
231
+ .command("fire")
232
+ .description("Fire a function's cron entry now, without touching its schedule")
233
+ .argument("<key>", "Function key")
234
+ .argument("<name>", "The cron entry's name")
235
+ .option("--app <app-id>", "App ID (uses current app if not specified)")
236
+ .option("--json", "Output as JSON")
237
+ .action(async (functionKey, name, options) => {
238
+ const appId = resolveAppId(undefined, options);
239
+ const client = newClient();
240
+ try {
241
+ const functionId = await resolveFunctionIdByKey(client, appId, functionKey);
242
+ const result = await client.functionCronEntryAction(appId, functionId, name, "fire");
243
+ if (options.json) {
244
+ json(result);
245
+ return;
246
+ }
247
+ if (result.started) {
248
+ success(`Fired cron entry '${name}'.`);
249
+ if (result.runId)
250
+ keyValue("Run ID", result.runId);
251
+ if (result.runId) {
252
+ info(`Follow it with \`primitive functions runs wait ${functionId} ${result.runId}\`.`);
253
+ }
254
+ }
255
+ else {
256
+ error(result.error || "Failed to fire the cron entry");
257
+ process.exit(1);
258
+ }
259
+ }
260
+ catch (err) {
261
+ error(err.message);
262
+ process.exit(1);
263
+ }
264
+ });
265
+ triggers
266
+ .command("fire-scheduled")
267
+ .description("Run one scheduled cycle of a function's cron entry through the alarm's own disposition")
268
+ .argument("<key>", "Function key")
269
+ .argument("<name>", "The cron entry's name")
270
+ .option("--app <app-id>", "App ID (uses current app if not specified)")
271
+ .option("--json", "Output as JSON")
272
+ .action(async (functionKey, name, options) => {
273
+ const appId = resolveAppId(undefined, options);
274
+ const client = newClient();
275
+ try {
276
+ const functionId = await resolveFunctionIdByKey(client, appId, functionKey);
277
+ const result = await client.functionCronEntryAction(appId, functionId, name, "fire-scheduled");
278
+ if (options.json) {
279
+ json(result);
280
+ return;
281
+ }
282
+ success(`Ran one scheduled cycle of '${name}'.`);
283
+ keyValue("Status", formatStatus(result.status));
284
+ keyValue("Fired", String(result.firedCount ?? 0));
285
+ keyValue("Skipped", String(result.skippedCount ?? 0));
286
+ if (result.lastTriggeredRunId)
287
+ keyValue("Last Run ID", result.lastTriggeredRunId);
288
+ if (result.nextFireAt)
289
+ keyValue("Next Fire", formatDate(result.nextFireAt));
290
+ if (result.lastError)
291
+ keyValue("Last Error", result.lastError);
292
+ }
293
+ catch (err) {
294
+ error(err.message);
295
+ process.exit(1);
296
+ }
297
+ });
298
+ for (const [verb, description] of [
299
+ [
300
+ "disable",
301
+ "Take a function's cron entry out of service. The declaration is unchanged; `enable` puts it back.",
302
+ ],
303
+ [
304
+ "enable",
305
+ "Put a function's cron entry back in service (also resumes an automatic error pause).",
306
+ ],
307
+ ]) {
308
+ triggers
309
+ .command(verb)
310
+ .description(description)
311
+ .argument("<key>", "Function key")
312
+ .argument("<name>", "The cron entry's name")
313
+ .option("--app <app-id>", "App ID (uses current app if not specified)")
314
+ .option("--json", "Output as JSON")
315
+ .action(async (functionKey, name, options) => {
316
+ const appId = resolveAppId(undefined, options);
317
+ const client = newClient();
318
+ try {
319
+ const functionId = await resolveFunctionIdByKey(client, appId, functionKey);
320
+ const result = await client.functionCronEntryAction(appId, functionId, name, verb);
321
+ if (options.json) {
322
+ json(result);
323
+ return;
324
+ }
325
+ success(`Cron entry '${name}' ${verb === "enable" ? "enabled" : "disabled"}.`);
326
+ keyValue("Status", formatStatus(result.status));
327
+ if (verb === "enable" && result.nextFireAt) {
328
+ keyValue("Next Fire", formatDate(result.nextFireAt));
329
+ }
330
+ if (verb === "disable") {
331
+ info(`The next fire is cancelled. \`primitive functions triggers enable ${functionKey} ${name}\` puts it back.`);
332
+ }
333
+ }
334
+ catch (err) {
335
+ error(err.message);
336
+ process.exit(1);
337
+ }
338
+ });
339
+ }
340
+ }
341
+ //# sourceMappingURL=function-trigger-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function-trigger-commands.js","sourceRoot":"","sources":["../../../src/commands/function-trigger-commands.ts"],"names":[],"mappings":"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"}