primitive-admin 1.1.0-alpha.9 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (591) hide show
  1. package/README.md +523 -109
  2. package/assets/skill/skills/primitive-platform/SKILL.md +289 -0
  3. package/dist/bin/primitive.d.ts +2 -0
  4. package/dist/bin/primitive.js +372 -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 +136 -30
  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 +713 -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 +65 -100
  14. package/dist/src/commands/apps.js.map +1 -1
  15. package/dist/src/commands/auth-sessions.d.ts +7 -0
  16. package/dist/src/commands/auth-sessions.js +144 -0
  17. package/dist/src/commands/auth-sessions.js.map +1 -0
  18. package/dist/src/commands/auth.d.ts +2 -0
  19. package/dist/src/commands/auth.js +238 -108
  20. package/dist/src/commands/auth.js.map +1 -1
  21. package/dist/src/commands/blob-buckets.d.ts +2 -0
  22. package/dist/src/commands/blob-buckets.js +331 -0
  23. package/dist/src/commands/blob-buckets.js.map +1 -0
  24. package/dist/src/commands/catalog.d.ts +2 -0
  25. package/dist/src/commands/catalog.js +63 -48
  26. package/dist/src/commands/catalog.js.map +1 -1
  27. package/dist/src/commands/collection-type-configs.d.ts +2 -0
  28. package/dist/src/commands/collection-type-configs.js +85 -0
  29. package/dist/src/commands/collection-type-configs.js.map +1 -0
  30. package/dist/src/commands/collections.d.ts +2 -0
  31. package/dist/src/commands/collections.js +1282 -0
  32. package/dist/src/commands/collections.js.map +1 -0
  33. package/dist/src/commands/comparisons.d.ts +2 -0
  34. package/dist/src/commands/comparisons.js +6 -6
  35. package/dist/src/commands/comparisons.js.map +1 -1
  36. package/dist/src/commands/config.d.ts +46 -0
  37. package/dist/src/commands/config.js +465 -0
  38. package/dist/src/commands/config.js.map +1 -0
  39. package/dist/src/commands/connections.d.ts +2 -0
  40. package/dist/src/commands/connections.js +99 -0
  41. package/dist/src/commands/connections.js.map +1 -0
  42. package/dist/src/commands/cron-triggers.d.ts +2 -0
  43. package/dist/src/commands/cron-triggers.js +266 -0
  44. package/dist/src/commands/cron-triggers.js.map +1 -0
  45. package/dist/src/commands/database-type-configs.d.ts +2 -0
  46. package/dist/src/commands/database-type-configs.js +164 -0
  47. package/dist/src/commands/database-type-configs.js.map +1 -0
  48. package/dist/src/commands/database-types.d.ts +2 -0
  49. package/dist/src/commands/database-types.js +471 -0
  50. package/dist/src/commands/database-types.js.map +1 -0
  51. package/dist/src/commands/databases.d.ts +65 -0
  52. package/dist/src/commands/databases.js +1887 -243
  53. package/dist/src/commands/databases.js.map +1 -1
  54. package/dist/src/commands/documents.d.ts +60 -0
  55. package/dist/src/commands/documents.js +2888 -22
  56. package/dist/src/commands/documents.js.map +1 -1
  57. package/dist/src/commands/email-templates.d.ts +2 -0
  58. package/dist/src/commands/email-templates.js +175 -0
  59. package/dist/src/commands/email-templates.js.map +1 -0
  60. package/dist/src/commands/env.d.ts +23 -0
  61. package/dist/src/commands/env.js +395 -0
  62. package/dist/src/commands/env.js.map +1 -0
  63. package/dist/src/commands/feature-flags.d.ts +14 -0
  64. package/dist/src/commands/feature-flags.js +117 -0
  65. package/dist/src/commands/feature-flags.js.map +1 -0
  66. package/dist/src/commands/functions.d.ts +20 -0
  67. package/dist/src/commands/functions.js +1630 -0
  68. package/dist/src/commands/functions.js.map +1 -0
  69. package/dist/src/commands/group-type-configs.d.ts +2 -0
  70. package/dist/src/commands/group-type-configs.js +87 -0
  71. package/dist/src/commands/group-type-configs.js.map +1 -0
  72. package/dist/src/commands/groups.d.ts +2 -0
  73. package/dist/src/commands/groups.js +65 -113
  74. package/dist/src/commands/groups.js.map +1 -1
  75. package/dist/src/commands/guides.d.ts +223 -0
  76. package/dist/src/commands/guides.js +627 -69
  77. package/dist/src/commands/guides.js.map +1 -1
  78. package/dist/src/commands/init.d.ts +37 -0
  79. package/dist/src/commands/init.js +1693 -208
  80. package/dist/src/commands/init.js.map +1 -1
  81. package/dist/src/commands/integrations.d.ts +2 -0
  82. package/dist/src/commands/integrations.js +428 -187
  83. package/dist/src/commands/integrations.js.map +1 -1
  84. package/dist/src/commands/llm.d.ts +2 -0
  85. package/dist/src/commands/llm.js +4 -2
  86. package/dist/src/commands/llm.js.map +1 -1
  87. package/dist/src/commands/locks.d.ts +8 -0
  88. package/dist/src/commands/locks.js +175 -0
  89. package/dist/src/commands/locks.js.map +1 -0
  90. package/dist/src/commands/metadata-category-configs.d.ts +12 -0
  91. package/dist/src/commands/metadata-category-configs.js +113 -0
  92. package/dist/src/commands/metadata-category-configs.js.map +1 -0
  93. package/dist/src/commands/metadata.d.ts +2 -0
  94. package/dist/src/commands/metadata.js +288 -0
  95. package/dist/src/commands/metadata.js.map +1 -0
  96. package/dist/src/commands/prompts.d.ts +2 -0
  97. package/dist/src/commands/prompts.js +322 -634
  98. package/dist/src/commands/prompts.js.map +1 -1
  99. package/dist/src/commands/rule-sets.d.ts +3 -0
  100. package/dist/src/commands/rule-sets.js +139 -148
  101. package/dist/src/commands/rule-sets.js.map +1 -1
  102. package/dist/src/commands/scripts.d.ts +30 -0
  103. package/dist/src/commands/scripts.js +688 -0
  104. package/dist/src/commands/scripts.js.map +1 -0
  105. package/dist/src/commands/secrets.d.ts +2 -0
  106. package/dist/src/commands/secrets.js +109 -0
  107. package/dist/src/commands/secrets.js.map +1 -0
  108. package/dist/src/commands/sessions.d.ts +2 -0
  109. package/dist/src/commands/sessions.js +76 -0
  110. package/dist/src/commands/sessions.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 +2670 -0
  118. package/dist/src/commands/sync.js +17144 -834
  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 +132 -22
  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 +542 -24
  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 +97 -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 +12 -11
  131. package/dist/src/commands/waitlist.js.map +1 -1
  132. package/dist/src/commands/webhooks.d.ts +31 -0
  133. package/dist/src/commands/webhooks.js +633 -0
  134. package/dist/src/commands/webhooks.js.map +1 -0
  135. package/dist/src/commands/workflows.d.ts +88 -0
  136. package/dist/src/commands/workflows.js +1568 -742
  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 +2550 -0
  142. package/dist/src/lib/api-client.js +2503 -160
  143. package/dist/src/lib/api-client.js.map +1 -1
  144. package/dist/src/lib/app-settings-descriptor.d.ts +263 -0
  145. package/dist/src/lib/app-settings-descriptor.js +583 -0
  146. package/dist/src/lib/app-settings-descriptor.js.map +1 -0
  147. package/dist/src/lib/auth-flow.d.ts +8 -0
  148. package/dist/src/lib/batch.d.ts +26 -0
  149. package/dist/src/lib/batch.js +32 -0
  150. package/dist/src/lib/batch.js.map +1 -0
  151. package/dist/src/lib/block-layout.d.ts +160 -0
  152. package/dist/src/lib/block-layout.js +451 -0
  153. package/dist/src/lib/block-layout.js.map +1 -0
  154. package/dist/src/lib/block-selector.d.ts +58 -0
  155. package/dist/src/lib/block-selector.js +92 -0
  156. package/dist/src/lib/block-selector.js.map +1 -0
  157. package/dist/src/lib/canonical-json.d.ts +12 -0
  158. package/dist/src/lib/canonical-json.js +35 -0
  159. package/dist/src/lib/canonical-json.js.map +1 -0
  160. package/dist/src/lib/channel.d.ts +30 -0
  161. package/dist/src/lib/channel.js +68 -0
  162. package/dist/src/lib/channel.js.map +1 -0
  163. package/dist/src/lib/cli-manifest.d.ts +68 -0
  164. package/dist/src/lib/cli-manifest.js +71 -0
  165. package/dist/src/lib/cli-manifest.js.map +1 -0
  166. package/dist/src/lib/codegen-shared/generatedFiles.d.ts +101 -0
  167. package/dist/src/lib/codegen-shared/generatedFiles.js +191 -0
  168. package/dist/src/lib/codegen-shared/generatedFiles.js.map +1 -0
  169. package/dist/src/lib/codegen-shared/prettierStable.d.ts +262 -0
  170. package/dist/src/lib/codegen-shared/prettierStable.js +610 -0
  171. package/dist/src/lib/codegen-shared/prettierStable.js.map +1 -0
  172. package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.d.ts +38 -0
  173. package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.js +46 -0
  174. package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.js.map +1 -0
  175. package/dist/src/lib/collection-export.d.ts +184 -0
  176. package/dist/src/lib/collection-export.js +252 -0
  177. package/dist/src/lib/collection-export.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 +740 -0
  183. package/dist/src/lib/config-object-descriptor.js.map +1 -0
  184. package/dist/src/lib/config-payload.d.ts +92 -0
  185. package/dist/src/lib/config-payload.js +161 -0
  186. package/dist/src/lib/config-payload.js.map +1 -0
  187. package/dist/src/lib/config-surface.d.ts +141 -0
  188. package/dist/src/lib/config-surface.js +368 -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 +525 -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/deprecation.d.ts +22 -0
  236. package/dist/src/lib/deprecation.js +43 -0
  237. package/dist/src/lib/deprecation.js.map +1 -0
  238. package/dist/src/lib/document-export-permissions.d.ts +30 -0
  239. package/dist/src/lib/document-export-permissions.js +54 -0
  240. package/dist/src/lib/document-export-permissions.js.map +1 -0
  241. package/dist/src/lib/document-ingest-artifact.d.ts +120 -0
  242. package/dist/src/lib/document-ingest-artifact.js +505 -0
  243. package/dist/src/lib/document-ingest-artifact.js.map +1 -0
  244. package/dist/src/lib/document-ingest-input.d.ts +51 -0
  245. package/dist/src/lib/document-ingest-input.js +132 -0
  246. package/dist/src/lib/document-ingest-input.js.map +1 -0
  247. package/dist/src/lib/document-ingest-rows.d.ts +137 -0
  248. package/dist/src/lib/document-ingest-rows.js +181 -0
  249. package/dist/src/lib/document-ingest-rows.js.map +1 -0
  250. package/dist/src/lib/document-ingest.d.ts +101 -0
  251. package/dist/src/lib/document-ingest.js +384 -0
  252. package/dist/src/lib/document-ingest.js.map +1 -0
  253. package/dist/src/lib/env-resolver-core.d.ts +258 -0
  254. package/dist/src/lib/env-resolver-core.js +447 -0
  255. package/dist/src/lib/env-resolver-core.js.map +1 -0
  256. package/dist/src/lib/env-resolver.d.ts +99 -0
  257. package/dist/src/lib/env-resolver.js +153 -0
  258. package/dist/src/lib/env-resolver.js.map +1 -0
  259. package/dist/src/lib/fetch.d.ts +5 -0
  260. package/dist/src/lib/function-bundle.d.ts +147 -0
  261. package/dist/src/lib/function-bundle.js +341 -0
  262. package/dist/src/lib/function-bundle.js.map +1 -0
  263. package/dist/src/lib/function-collect.d.ts +123 -0
  264. package/dist/src/lib/function-collect.js +610 -0
  265. package/dist/src/lib/function-collect.js.map +1 -0
  266. package/dist/src/lib/function-db-types.d.ts +202 -0
  267. package/dist/src/lib/function-db-types.js +870 -0
  268. package/dist/src/lib/function-db-types.js.map +1 -0
  269. package/dist/src/lib/function-document-types.d.ts +144 -0
  270. package/dist/src/lib/function-document-types.js +370 -0
  271. package/dist/src/lib/function-document-types.js.map +1 -0
  272. package/dist/src/lib/function-grants-preflight.d.ts +64 -0
  273. package/dist/src/lib/function-grants-preflight.js +105 -0
  274. package/dist/src/lib/function-grants-preflight.js.map +1 -0
  275. package/dist/src/lib/function-log-lines.d.ts +76 -0
  276. package/dist/src/lib/function-log-lines.js +160 -0
  277. package/dist/src/lib/function-log-lines.js.map +1 -0
  278. package/dist/src/lib/function-log-row.d.ts +29 -0
  279. package/dist/src/lib/function-log-row.js +73 -0
  280. package/dist/src/lib/function-log-row.js.map +1 -0
  281. package/dist/src/lib/function-log-tail.d.ts +132 -0
  282. package/dist/src/lib/function-log-tail.js +262 -0
  283. package/dist/src/lib/function-log-tail.js.map +1 -0
  284. package/dist/src/lib/function-run.d.ts +289 -0
  285. package/dist/src/lib/function-run.js +389 -0
  286. package/dist/src/lib/function-run.js.map +1 -0
  287. package/dist/src/lib/function-schema-codegen.d.ts +143 -0
  288. package/dist/src/lib/function-schema-codegen.js +420 -0
  289. package/dist/src/lib/function-schema-codegen.js.map +1 -0
  290. package/dist/src/lib/function-sync.d.ts +459 -0
  291. package/dist/src/lib/function-sync.js +1258 -0
  292. package/dist/src/lib/function-sync.js.map +1 -0
  293. package/dist/src/lib/function-trigger-listing.d.ts +27 -0
  294. package/dist/src/lib/function-trigger-listing.js +70 -0
  295. package/dist/src/lib/function-trigger-listing.js.map +1 -0
  296. package/dist/src/lib/function-typecheck.d.ts +86 -0
  297. package/dist/src/lib/function-typecheck.js +370 -0
  298. package/dist/src/lib/function-typecheck.js.map +1 -0
  299. package/dist/src/lib/function-versions.d.ts +122 -0
  300. package/dist/src/lib/function-versions.js +182 -0
  301. package/dist/src/lib/function-versions.js.map +1 -0
  302. package/dist/src/lib/generated-allowlist.d.ts +28 -0
  303. package/dist/src/lib/generated-allowlist.js +281 -0
  304. package/dist/src/lib/generated-allowlist.js.map +1 -0
  305. package/dist/src/lib/generated-config-surfaces.d.ts +2936 -0
  306. package/dist/src/lib/generated-config-surfaces.js +10569 -0
  307. package/dist/src/lib/generated-config-surfaces.js.map +1 -0
  308. package/dist/src/lib/generated-sdk-types.d.ts +12 -0
  309. package/dist/src/lib/generated-sdk-types.js +13 -0
  310. package/dist/src/lib/generated-sdk-types.js.map +1 -0
  311. package/dist/src/lib/generated-template-lint.d.ts +212 -0
  312. package/dist/src/lib/generated-template-lint.js +624 -0
  313. package/dist/src/lib/generated-template-lint.js.map +1 -0
  314. package/dist/src/lib/init-adopt.d.ts +16 -0
  315. package/dist/src/lib/init-adopt.js +34 -0
  316. package/dist/src/lib/init-adopt.js.map +1 -0
  317. package/dist/src/lib/init-assets.d.ts +39 -0
  318. package/dist/src/lib/init-assets.js +97 -0
  319. package/dist/src/lib/init-assets.js.map +1 -0
  320. package/dist/src/lib/init-client-platforms.d.ts +14 -0
  321. package/dist/src/lib/init-client-platforms.js +71 -0
  322. package/dist/src/lib/init-client-platforms.js.map +1 -0
  323. package/dist/src/lib/init-config.d.ts +98 -0
  324. package/dist/src/lib/init-config.js +186 -0
  325. package/dist/src/lib/init-config.js.map +1 -0
  326. package/dist/src/lib/init-email-redirect-uris.d.ts +37 -0
  327. package/dist/src/lib/init-email-redirect-uris.js +46 -0
  328. package/dist/src/lib/init-email-redirect-uris.js.map +1 -0
  329. package/dist/src/lib/init-ios-links.d.ts +91 -0
  330. package/dist/src/lib/init-ios-links.js +219 -0
  331. package/dist/src/lib/init-ios-links.js.map +1 -0
  332. package/dist/src/lib/init-plan.d.ts +80 -0
  333. package/dist/src/lib/init-plan.js +95 -0
  334. package/dist/src/lib/init-plan.js.map +1 -0
  335. package/dist/src/lib/init-production-env.d.ts +48 -0
  336. package/dist/src/lib/init-production-env.js +59 -0
  337. package/dist/src/lib/init-production-env.js.map +1 -0
  338. package/dist/src/lib/init-schema.d.ts +74 -0
  339. package/dist/src/lib/init-schema.js +358 -0
  340. package/dist/src/lib/init-schema.js.map +1 -0
  341. package/dist/src/lib/init-xcode.d.ts +34 -0
  342. package/dist/src/lib/init-xcode.js +138 -0
  343. package/dist/src/lib/init-xcode.js.map +1 -0
  344. package/dist/src/lib/integration-request-config.d.ts +30 -0
  345. package/dist/src/lib/integration-request-config.js +145 -0
  346. package/dist/src/lib/integration-request-config.js.map +1 -0
  347. package/dist/src/lib/integration-selector.d.ts +42 -0
  348. package/dist/src/lib/integration-selector.js +46 -0
  349. package/dist/src/lib/integration-selector.js.map +1 -0
  350. package/dist/src/lib/ios-app-id.d.ts +34 -0
  351. package/dist/src/lib/ios-app-id.js +69 -0
  352. package/dist/src/lib/ios-app-id.js.map +1 -0
  353. package/dist/src/lib/list-options.d.ts +68 -0
  354. package/dist/src/lib/list-options.js +89 -0
  355. package/dist/src/lib/list-options.js.map +1 -0
  356. package/dist/src/lib/local-state.d.ts +55 -0
  357. package/dist/src/lib/local-state.js +167 -0
  358. package/dist/src/lib/local-state.js.map +1 -0
  359. package/dist/src/lib/local-test-cases.d.ts +63 -0
  360. package/dist/src/lib/local-test-cases.js +136 -0
  361. package/dist/src/lib/local-test-cases.js.map +1 -0
  362. package/dist/src/lib/log-inspection.d.ts +715 -0
  363. package/dist/src/lib/log-inspection.js +816 -0
  364. package/dist/src/lib/log-inspection.js.map +1 -0
  365. package/dist/src/lib/logout-admin-session.d.ts +33 -0
  366. package/dist/src/lib/logout-admin-session.js +70 -0
  367. package/dist/src/lib/logout-admin-session.js.map +1 -0
  368. package/dist/src/lib/migration-nag.d.ts +49 -0
  369. package/dist/src/lib/migration-nag.js +163 -0
  370. package/dist/src/lib/migration-nag.js.map +1 -0
  371. package/dist/src/lib/object-status-filter.d.ts +22 -0
  372. package/dist/src/lib/object-status-filter.js +45 -0
  373. package/dist/src/lib/object-status-filter.js.map +1 -0
  374. package/dist/src/lib/output.d.ts +124 -0
  375. package/dist/src/lib/output.js +219 -8
  376. package/dist/src/lib/output.js.map +1 -1
  377. package/dist/src/lib/package-manager.d.ts +140 -0
  378. package/dist/src/lib/package-manager.js +305 -0
  379. package/dist/src/lib/package-manager.js.map +1 -0
  380. package/dist/src/lib/paginate.d.ts +98 -0
  381. package/dist/src/lib/paginate.js +112 -0
  382. package/dist/src/lib/paginate.js.map +1 -0
  383. package/dist/src/lib/platform-owned.d.ts +63 -0
  384. package/dist/src/lib/platform-owned.js +85 -0
  385. package/dist/src/lib/platform-owned.js.map +1 -0
  386. package/dist/src/lib/project-config.d.ts +122 -0
  387. package/dist/src/lib/project-config.js +244 -0
  388. package/dist/src/lib/project-config.js.map +1 -0
  389. package/dist/src/lib/prompt-cost-format.d.ts +11 -0
  390. package/dist/src/lib/prompt-cost-format.js +41 -0
  391. package/dist/src/lib/prompt-cost-format.js.map +1 -0
  392. package/dist/src/lib/prompt-schema-codegen.d.ts +147 -0
  393. package/dist/src/lib/prompt-schema-codegen.js +462 -0
  394. package/dist/src/lib/prompt-schema-codegen.js.map +1 -0
  395. package/dist/src/lib/query-operators.d.ts +43 -0
  396. package/dist/src/lib/query-operators.js +80 -0
  397. package/dist/src/lib/query-operators.js.map +1 -0
  398. package/dist/src/lib/record-filter.d.ts +18 -0
  399. package/dist/src/lib/record-filter.js +55 -0
  400. package/dist/src/lib/record-filter.js.map +1 -0
  401. package/dist/src/lib/refresh-admin-credentials.d.ts +73 -0
  402. package/dist/src/lib/refresh-admin-credentials.js +123 -0
  403. package/dist/src/lib/refresh-admin-credentials.js.map +1 -0
  404. package/dist/src/lib/resolve-init-dev-port.d.ts +56 -0
  405. package/dist/src/lib/resolve-init-dev-port.js +55 -0
  406. package/dist/src/lib/resolve-init-dev-port.js.map +1 -0
  407. package/dist/src/lib/resolve-init-server.d.ts +64 -0
  408. package/dist/src/lib/resolve-init-server.js +77 -0
  409. package/dist/src/lib/resolve-init-server.js.map +1 -0
  410. package/dist/src/lib/resolve-owner.d.ts +19 -0
  411. package/dist/src/lib/resolve-owner.js +20 -0
  412. package/dist/src/lib/resolve-owner.js.map +1 -0
  413. package/dist/src/lib/resolve-platform.d.ts +74 -0
  414. package/dist/src/lib/resolve-platform.js +105 -0
  415. package/dist/src/lib/resolve-platform.js.map +1 -0
  416. package/dist/src/lib/run-status.d.ts +19 -0
  417. package/dist/src/lib/run-status.generated.d.ts +39 -0
  418. package/dist/src/lib/run-status.generated.js +66 -0
  419. package/dist/src/lib/run-status.generated.js.map +1 -0
  420. package/dist/src/lib/run-status.js +19 -0
  421. package/dist/src/lib/run-status.js.map +1 -0
  422. package/dist/src/lib/server-text-normalization.d.ts +51 -0
  423. package/dist/src/lib/server-text-normalization.js +90 -0
  424. package/dist/src/lib/server-text-normalization.js.map +1 -0
  425. package/dist/src/lib/server-url.d.ts +22 -0
  426. package/dist/src/lib/server-url.js +33 -0
  427. package/dist/src/lib/server-url.js.map +1 -0
  428. package/dist/src/lib/signing-secret-status.d.ts +81 -0
  429. package/dist/src/lib/signing-secret-status.js +116 -0
  430. package/dist/src/lib/signing-secret-status.js.map +1 -0
  431. package/dist/src/lib/skill-installer.d.ts +71 -0
  432. package/dist/src/lib/skill-installer.js +441 -0
  433. package/dist/src/lib/skill-installer.js.map +1 -0
  434. package/dist/src/lib/snapshot-audit-source.d.ts +45 -0
  435. package/dist/src/lib/snapshot-audit-source.js +58 -0
  436. package/dist/src/lib/snapshot-audit-source.js.map +1 -0
  437. package/dist/src/lib/snapshot-audit-store.d.ts +52 -0
  438. package/dist/src/lib/snapshot-audit-store.js +196 -0
  439. package/dist/src/lib/snapshot-audit-store.js.map +1 -0
  440. package/dist/src/lib/snapshot-audit.d.ts +207 -0
  441. package/dist/src/lib/snapshot-audit.js +431 -0
  442. package/dist/src/lib/snapshot-audit.js.map +1 -0
  443. package/dist/src/lib/snapshot-build-rows.d.ts +60 -0
  444. package/dist/src/lib/snapshot-build-rows.js +87 -0
  445. package/dist/src/lib/snapshot-build-rows.js.map +1 -0
  446. package/dist/src/lib/snapshot-build.d.ts +50 -0
  447. package/dist/src/lib/snapshot-build.js +111 -0
  448. package/dist/src/lib/snapshot-build.js.map +1 -0
  449. package/dist/src/lib/snapshot-manifest-layout.d.ts +61 -0
  450. package/dist/src/lib/snapshot-manifest-layout.js +70 -0
  451. package/dist/src/lib/snapshot-manifest-layout.js.map +1 -0
  452. package/dist/src/lib/snapshots.d.ts +98 -0
  453. package/dist/src/lib/snapshots.js +294 -0
  454. package/dist/src/lib/snapshots.js.map +1 -0
  455. package/dist/src/lib/step-run-table.d.ts +43 -0
  456. package/dist/src/lib/step-run-table.js +129 -0
  457. package/dist/src/lib/step-run-table.js.map +1 -0
  458. package/dist/src/lib/storage-pending-retry.d.ts +26 -0
  459. package/dist/src/lib/storage-pending-retry.js +42 -0
  460. package/dist/src/lib/storage-pending-retry.js.map +1 -0
  461. package/dist/src/lib/swift-codegen/agentGenerator.d.ts +42 -0
  462. package/dist/src/lib/swift-codegen/agentGenerator.js +118 -0
  463. package/dist/src/lib/swift-codegen/agentGenerator.js.map +1 -0
  464. package/dist/src/lib/swift-codegen/banners.d.ts +24 -0
  465. package/dist/src/lib/swift-codegen/banners.js +25 -0
  466. package/dist/src/lib/swift-codegen/banners.js.map +1 -0
  467. package/dist/src/lib/swift-codegen/dbGenerator.d.ts +113 -0
  468. package/dist/src/lib/swift-codegen/dbGenerator.js +926 -0
  469. package/dist/src/lib/swift-codegen/dbGenerator.js.map +1 -0
  470. package/dist/src/lib/swift-codegen/dbSwiftTypes.d.ts +42 -0
  471. package/dist/src/lib/swift-codegen/dbSwiftTypes.js +100 -0
  472. package/dist/src/lib/swift-codegen/dbSwiftTypes.js.map +1 -0
  473. package/dist/src/lib/swift-codegen/functionGenerator.d.ts +139 -0
  474. package/dist/src/lib/swift-codegen/functionGenerator.js +462 -0
  475. package/dist/src/lib/swift-codegen/functionGenerator.js.map +1 -0
  476. package/dist/src/lib/swift-codegen/generator.d.ts +100 -0
  477. package/dist/src/lib/swift-codegen/generator.js +457 -0
  478. package/dist/src/lib/swift-codegen/generator.js.map +1 -0
  479. package/dist/src/lib/swift-codegen/schemaToSwift.d.ts +87 -0
  480. package/dist/src/lib/swift-codegen/schemaToSwift.js +661 -0
  481. package/dist/src/lib/swift-codegen/schemaToSwift.js.map +1 -0
  482. package/dist/src/lib/swift-codegen/siblingSymbols.d.ts +94 -0
  483. package/dist/src/lib/swift-codegen/siblingSymbols.js +155 -0
  484. package/dist/src/lib/swift-codegen/siblingSymbols.js.map +1 -0
  485. package/dist/src/lib/swift-codegen/swiftNaming.d.ts +85 -0
  486. package/dist/src/lib/swift-codegen/swiftNaming.js +198 -0
  487. package/dist/src/lib/swift-codegen/swiftNaming.js.map +1 -0
  488. package/dist/src/lib/sync-dir-selector.d.ts +21 -0
  489. package/dist/src/lib/sync-dir-selector.js +30 -0
  490. package/dist/src/lib/sync-dir-selector.js.map +1 -0
  491. package/dist/src/lib/sync-paths.d.ts +128 -0
  492. package/dist/src/lib/sync-paths.js +195 -0
  493. package/dist/src/lib/sync-paths.js.map +1 -0
  494. package/dist/src/lib/sync-resource-types.d.ts +563 -0
  495. package/dist/src/lib/sync-resource-types.js +1073 -0
  496. package/dist/src/lib/sync-resource-types.js.map +1 -0
  497. package/dist/src/lib/sync-selectors.d.ts +138 -0
  498. package/dist/src/lib/sync-selectors.js +289 -0
  499. package/dist/src/lib/sync-selectors.js.map +1 -0
  500. package/dist/src/lib/template.d.ts +170 -0
  501. package/dist/src/lib/template.js +484 -68
  502. package/dist/src/lib/template.js.map +1 -1
  503. package/dist/src/lib/test-case-file-names.d.ts +40 -0
  504. package/dist/src/lib/test-case-file-names.js +91 -0
  505. package/dist/src/lib/test-case-file-names.js.map +1 -0
  506. package/dist/src/lib/test-case-keys.d.ts +29 -0
  507. package/dist/src/lib/test-case-keys.js +55 -0
  508. package/dist/src/lib/test-case-keys.js.map +1 -0
  509. package/dist/src/lib/test-case-variables.d.ts +29 -0
  510. package/dist/src/lib/test-case-variables.js +71 -0
  511. package/dist/src/lib/test-case-variables.js.map +1 -0
  512. package/dist/src/lib/token-inject.d.ts +56 -0
  513. package/dist/src/lib/token-inject.js +204 -0
  514. package/dist/src/lib/token-inject.js.map +1 -0
  515. package/dist/src/lib/toml-database-config.d.ts +123 -0
  516. package/dist/src/lib/toml-database-config.js +544 -0
  517. package/dist/src/lib/toml-database-config.js.map +1 -0
  518. package/dist/src/lib/toml-metadata-config.d.ts +151 -0
  519. package/dist/src/lib/toml-metadata-config.js +476 -0
  520. package/dist/src/lib/toml-metadata-config.js.map +1 -0
  521. package/dist/src/lib/toml-native-form.d.ts +46 -0
  522. package/dist/src/lib/toml-native-form.js +78 -0
  523. package/dist/src/lib/toml-native-form.js.map +1 -0
  524. package/dist/src/lib/toml-params-validator.d.ts +129 -0
  525. package/dist/src/lib/toml-params-validator.js +298 -0
  526. package/dist/src/lib/toml-params-validator.js.map +1 -0
  527. package/dist/src/lib/toml-scalar-edit.d.ts +43 -0
  528. package/dist/src/lib/toml-scalar-edit.js +283 -0
  529. package/dist/src/lib/toml-scalar-edit.js.map +1 -0
  530. package/dist/src/lib/user-selector.d.ts +24 -0
  531. package/dist/src/lib/user-selector.js +33 -0
  532. package/dist/src/lib/user-selector.js.map +1 -0
  533. package/dist/src/lib/version-check.d.ts +35 -0
  534. package/dist/src/lib/version-check.js +241 -0
  535. package/dist/src/lib/version-check.js.map +1 -0
  536. package/dist/src/lib/watch.d.ts +121 -0
  537. package/dist/src/lib/watch.js +169 -0
  538. package/dist/src/lib/watch.js.map +1 -0
  539. package/dist/src/lib/web-url.d.ts +40 -0
  540. package/dist/src/lib/web-url.js +76 -0
  541. package/dist/src/lib/web-url.js.map +1 -0
  542. package/dist/src/lib/webhook-deliver.d.ts +209 -0
  543. package/dist/src/lib/webhook-deliver.js +519 -0
  544. package/dist/src/lib/webhook-deliver.js.map +1 -0
  545. package/dist/src/lib/workflow-apply.d.ts +110 -0
  546. package/dist/src/lib/workflow-apply.js +164 -0
  547. package/dist/src/lib/workflow-apply.js.map +1 -0
  548. package/dist/src/lib/workflow-codegen/generated-schema-descriptor.d.ts +129 -0
  549. package/dist/src/lib/workflow-codegen/generated-schema-descriptor.js +269 -0
  550. package/dist/src/lib/workflow-codegen/generated-schema-descriptor.js.map +1 -0
  551. package/dist/src/lib/workflow-codegen/generator.d.ts +96 -0
  552. package/dist/src/lib/workflow-codegen/generator.js +361 -0
  553. package/dist/src/lib/workflow-codegen/generator.js.map +1 -0
  554. package/dist/src/lib/workflow-codegen/invokerIR.d.ts +94 -0
  555. package/dist/src/lib/workflow-codegen/invokerIR.js +76 -0
  556. package/dist/src/lib/workflow-codegen/invokerIR.js.map +1 -0
  557. package/dist/src/lib/workflow-codegen/naming.d.ts +33 -0
  558. package/dist/src/lib/workflow-codegen/naming.js +81 -0
  559. package/dist/src/lib/workflow-codegen/naming.js.map +1 -0
  560. package/dist/src/lib/workflow-codegen/schemaToTs.d.ts +80 -0
  561. package/dist/src/lib/workflow-codegen/schemaToTs.js +303 -0
  562. package/dist/src/lib/workflow-codegen/schemaToTs.js.map +1 -0
  563. package/dist/src/lib/workflow-config-apply.d.ts +70 -0
  564. package/dist/src/lib/workflow-config-apply.js +137 -0
  565. package/dist/src/lib/workflow-config-apply.js.map +1 -0
  566. package/dist/src/lib/workflow-config-sidecar.d.ts +63 -0
  567. package/dist/src/lib/workflow-config-sidecar.js +96 -0
  568. package/dist/src/lib/workflow-config-sidecar.js.map +1 -0
  569. package/dist/src/lib/workflow-defaults.d.ts +29 -0
  570. package/dist/src/lib/workflow-defaults.js +41 -0
  571. package/dist/src/lib/workflow-defaults.js.map +1 -0
  572. package/dist/src/lib/workflow-fragments.d.ts +64 -0
  573. package/dist/src/lib/workflow-fragments.js +342 -0
  574. package/dist/src/lib/workflow-fragments.js.map +1 -0
  575. package/dist/src/lib/workflow-include-preserve.d.ts +76 -0
  576. package/dist/src/lib/workflow-include-preserve.js +286 -0
  577. package/dist/src/lib/workflow-include-preserve.js.map +1 -0
  578. package/dist/src/lib/workflow-payload.d.ts +98 -0
  579. package/dist/src/lib/workflow-payload.js +178 -0
  580. package/dist/src/lib/workflow-payload.js.map +1 -0
  581. package/dist/src/lib/workflow-toml-validator.d.ts +211 -0
  582. package/dist/src/lib/workflow-toml-validator.js +770 -0
  583. package/dist/src/lib/workflow-toml-validator.js.map +1 -0
  584. package/dist/src/lib/workflow-usage.d.ts +196 -0
  585. package/dist/src/lib/workflow-usage.js +310 -0
  586. package/dist/src/lib/workflow-usage.js.map +1 -0
  587. package/dist/src/types/index.d.ts +591 -0
  588. package/dist/src/validators.d.ts +65 -0
  589. package/dist/src/validators.js +64 -0
  590. package/dist/src/validators.js.map +1 -0
  591. package/package.json +34 -9
@@ -0,0 +1,459 @@
1
+ /**
2
+ * `functions/<key>.toml` on the wire and back (#3179, project
3
+ * `server-functions`).
4
+ *
5
+ * A function is the one configuration object whose file is not its whole
6
+ * authored surface: the TOML states the gate, the entry and the limits, and the
7
+ * TypeScript the entry reaches is the rest of it. `config push` therefore sends
8
+ * TWO things — a header (create/update) and an immutable config VERSION
9
+ * carrying the authored TOML bytes, every source file and the built bundle —
10
+ * and `config pull` writes both halves back.
11
+ *
12
+ * ── The envelope hash is the shared answer to "changed?" ──────────────────
13
+ *
14
+ * The server decides whether a push is a no-op on `envelopeHash` (sha256 over
15
+ * the TOML bytes, the sources and the bundle), because a comment-only or
16
+ * CRLF-only edit leaves the BUNDLE identical and must still make a version
17
+ * (F-003). The CLI computes the same number to decide whether to make the call
18
+ * at all, through `function-bundle.ts`'s copy of the server's canonical
19
+ * encoding. If those two encodings ever drift, one side re-pushes forever and
20
+ * the other silently drops an edit — `function-bundle-3179.test.ts` pins them
21
+ * against each other.
22
+ *
23
+ * ── Pull writes bytes ────────────────────────────────────────────────────
24
+ *
25
+ * Canonical re-serialization cannot preserve comments, key order or line
26
+ * endings, so the envelope stores the AUTHORED bytes and pull writes those
27
+ * (F-009). It also never trusts a stored path: the files it writes are named by
28
+ * the server, so a path that normalizes outside the tree — or into
29
+ * `node_modules`, which is never authored source — is refused rather than
30
+ * written to a developer's disk. The lexical rules cannot see a symlinked
31
+ * directory inside the tree, so the write step resolves the real path one last
32
+ * time and refuses a destination that lands outside the real root.
33
+ */
34
+ import { type TriggerDeclaration } from "./generated-config-surfaces.js";
35
+ import { type FunctionManifest as CollectedManifest } from "./function-collect.js";
36
+ /**
37
+ * Collect one function's manifest, or answer from this command's memo.
38
+ *
39
+ * `FunctionCollectError` is translated to the push loop's one failure class by
40
+ * the callers, so a collect failure reads like any other build failure for
41
+ * that function and lands nothing.
42
+ */
43
+ export declare function collectManifestForBundle(options: {
44
+ configDir: string;
45
+ entry: string;
46
+ functionKey: string;
47
+ contentHash: string;
48
+ /** The built bundle's source, for the static scan (#3279). */
49
+ bundle?: string;
50
+ }): Promise<CollectedManifest>;
51
+ /**
52
+ * The server's own `[function.triggers.*]` rules, applied to a parsed
53
+ * `[function]` table, with "nothing declared" spelled as null so a caller can
54
+ * skip the work.
55
+ *
56
+ * `normalizeTriggerDeclaration` comes from `generated-config-surfaces.ts` —
57
+ * `src/config-surface/trigger-declaration.ts` vendored verbatim. Until #3320
58
+ * the CLI ran a hand-written restatement of those rules
59
+ * (`cli/src/lib/function-triggers.ts`), kept in step only by a paired-fixture
60
+ * test; the artifact's `--check` makes drift a build failure instead.
61
+ *
62
+ * Nothing here is the CLI's own any more. Until #3376 this function added a
63
+ * five-field count check of its own, justified as "not a second copy of a
64
+ * rule" precisely because the declaration path never called `parseCron`. It
65
+ * calls it now — `functionTomlPreflightErrors` runs `checkCronTriggerEntry`,
66
+ * which is the server's grammar and the server's sentence — so the precheck
67
+ * was exactly the duplicate this project exists to remove, and went with the
68
+ * justification.
69
+ */
70
+ export declare function normalizeFunctionTriggers(functionTable: any): TriggerDeclaration | null;
71
+ export interface FunctionConfigPush {
72
+ entry: string;
73
+ /** base64 of the authored `functions/<key>.toml` bytes. */
74
+ toml: string;
75
+ sources: Array<{
76
+ path: string;
77
+ content: string;
78
+ }>;
79
+ /** base64 of the built bundle. */
80
+ bundle: string;
81
+ contentHash: string;
82
+ /**
83
+ * base64 of the collected query manifest JSON (#3187). Part of the envelope,
84
+ * so it is part of the version's identity.
85
+ */
86
+ manifest: string | null;
87
+ /** The number BOTH sides compare to decide "is this a no-op?". */
88
+ envelopeHash: string;
89
+ limits?: Record<string, unknown>;
90
+ /**
91
+ * base64 of the project's authored `models/models.toml` bytes, or absent —
92
+ * #3455. Inside the envelope and covered by `envelopeHash`, so the version
93
+ * that is running carries the document schema its code was typed against and
94
+ * can seed a model's metadata on a function's first write.
95
+ */
96
+ documentSchema?: string;
97
+ }
98
+ /**
99
+ * The retired runtime keys a `functions/<key>.toml` still carries — #3482.
100
+ *
101
+ * NOT a refusal. Through phase 4 `mode`, `durable` and a cron entry's `mode`
102
+ * are accepted and ignored, with one warning each and every other key of the
103
+ * file applied; phase 5 (#3188) refuses them. The sentences come from the one
104
+ * vendored scanner, so the warning `config push` prints is the sentence the
105
+ * server answers with.
106
+ */
107
+ export declare function functionTomlIgnoredKeyWarnings(options: {
108
+ functionKey: string;
109
+ tomlData: any;
110
+ }): string[];
111
+ /**
112
+ * Everything about one `functions/<key>.toml` that `config push` can decide
113
+ * from the file alone (#3320).
114
+ *
115
+ * This is the seam the issue is about. These checks used to run inside the
116
+ * APPLY loop, so a `durable = true` beside a webhook block — or a missing
117
+ * `entry`, or a signed scheme with no `signingSecret` — was raised after app
118
+ * settings, vars, integrations, webhooks, cron triggers and database types had
119
+ * already been written, while the command's own framing promised that a
120
+ * refusal meant nothing was applied. Running them in the front-loaded pass
121
+ * (#976) makes that framing true for this class of error.
122
+ *
123
+ * Every rule here is the SERVER's, reached through the generated surface
124
+ * artifact (#3320 part 0), not a local imitation of it. What is deliberately
125
+ * absent is app-state-dependent by construction: whether the referenced secret
126
+ * exists, whether the scheme's `config` is valid under this environment's JWKS
127
+ * policy, per-app caps, key collisions, archived tombstones. A local guess at
128
+ * any of those would be a preflight that gives a false all-clear.
129
+ *
130
+ * Returns the messages the apply loop would have raised, verbatim — so the
131
+ * author reads the same sentence wherever it reaches them, and `config diff`
132
+ * can report it under Invalid (#2880 symmetry).
133
+ */
134
+ export declare function functionTomlPreflightErrors(options: {
135
+ filePath: string;
136
+ functionKey: string;
137
+ /** The already-parsed document, so the file is read once. */
138
+ tomlData: any;
139
+ }): string[];
140
+ /**
141
+ * Build everything the config-version route needs for one function file.
142
+ *
143
+ * Throws `FunctionBuildError` for a missing `entry`, a missing entry file, a
144
+ * build error, or an import that escapes the config tree — one class, so the
145
+ * push loop has one thing to report and pushes nothing for that function.
146
+ *
147
+ * The file-decidable checks are `functionTomlPreflightErrors`', kept here as
148
+ * defense in depth (#3179's dual-validation shape): `config push` runs them in
149
+ * its preflight now, but `functions` commands and a direct caller reach this
150
+ * function without one.
151
+ */
152
+ export declare function buildFunctionConfigPush(options: {
153
+ configDir: string;
154
+ functionKey: string;
155
+ /** Absolute path of `functions/<key>.toml`. */
156
+ filePath: string;
157
+ /** The already-parsed document, so the file is read once. */
158
+ tomlData: any;
159
+ }): Promise<FunctionConfigPush>;
160
+ /**
161
+ * The per-function failure when a server DID NOT retain the document schema it
162
+ * was sent — #3455 (D3455-010), criterion 7.
163
+ *
164
+ * The server builds its envelope from explicit known fields
165
+ * (`server-functions-controller.ts`) and answers the `envelopeHash` it stored.
166
+ * A server that predates this change drops `documentSchema` silently: it
167
+ * answers 200, the CLI reports the function pushed, first-writer seeding never
168
+ * works, and every later `config diff` reads Modified for a reason nobody can
169
+ * see. Comparing the hash it stored with the one this CLI built is the cheap
170
+ * acknowledgment that closes that.
171
+ *
172
+ * Gated on having SENT a schema, which is exactly what criterion 7 says
173
+ * ("reported successful only when the server retained the schema it was
174
+ * sent"): with nothing sent there is nothing to retain, and naming the
175
+ * document schema in a mismatch caused by something else would send an
176
+ * operator to the wrong place. A response with no `envelopeHash` at all is not
177
+ * judged — silence is not a disagreement.
178
+ */
179
+ export declare function documentSchemaRetentionFailure(input: {
180
+ /** Whether this push carried a `documentSchema`. */
181
+ sentDocumentSchema: boolean;
182
+ /** The hash this CLI built. */
183
+ builtEnvelopeHash: string;
184
+ /** The hash the push response reported, if any. */
185
+ storedEnvelopeHash: unknown;
186
+ }): string | null;
187
+ /**
188
+ * What one version's `documentSchemaModels` says about whether this push drops
189
+ * a document schema — #3455 (D3455-004), criterion 7's visible half.
190
+ *
191
+ * Three answers, and keeping them apart is the whole point:
192
+ *
193
+ * - an ARRAY — this version seeds these models, and a push from a tree that
194
+ * resolved no schema takes that away: `drops`, and there is nothing more
195
+ * to ask, because one sentence per run is what the operator needs;
196
+ * - `null` — this version was pushed without a schema, so it has nothing to
197
+ * lose. That is an answer about ONE function and says nothing about the
198
+ * rest of the tree: `none`, keep asking;
199
+ * - anything else, `undefined` included — the server does not answer this
200
+ * question (it predates the field). That IS a property of the run, so
201
+ * `unsupported` settles it rather than spending a read per function on a
202
+ * server that will never say anything.
203
+ */
204
+ export type DocumentSchemaDropAnswer = {
205
+ outcome: "drops";
206
+ message: string;
207
+ } | {
208
+ outcome: "none";
209
+ } | {
210
+ outcome: "unsupported";
211
+ };
212
+ export declare function documentSchemaDropAnswer(documentSchemaModels: unknown): DocumentSchemaDropAnswer;
213
+ /**
214
+ * Says ONCE — for the whole push, not once per function — that this push drops
215
+ * a document schema a running version carries (#3455, D3455-004).
216
+ *
217
+ * Removing `models/models.toml` and its generated tree copy is a legitimate
218
+ * edit, so it is a warning and not a refusal; but it turns first-writer seeding
219
+ * off for every document these functions touch, and that must not be silent.
220
+ *
221
+ * The state this holds is "has the run been told yet", and the rule is that
222
+ * only an ANSWER settles it. A function whose active version carries no schema
223
+ * has told us nothing about its siblings, so the next function is still asked —
224
+ * getting that backwards silences a real drop whenever a schema-less function
225
+ * happens to be pushed first, which is the order nothing in the tree controls.
226
+ * The model names live inside the version's envelope rather than on its row,
227
+ * which is why this is a read and not a field of the listing already in hand.
228
+ */
229
+ export declare function createDocumentSchemaDropWarner(deps: {
230
+ /** Whether the tree resolved a schema for this push: if so, nothing drops. */
231
+ treeCarriesSchema: boolean;
232
+ /** Reads one version's admin detail. */
233
+ readConfig: (functionId: string, configId: string) => Promise<any>;
234
+ /** Where the sentence goes. */
235
+ warn: (message: string) => void;
236
+ }): (functionId: string, activeConfigId: string | undefined) => Promise<void>;
237
+ /**
238
+ * The create body. `functionKey` is attached here rather than spread from the
239
+ * table: the identity comes from the file name, exactly as it does for every
240
+ * other keyed type.
241
+ */
242
+ export declare function buildFunctionCreatePayload(functionKey: string, table: any): Record<string, any>;
243
+ /**
244
+ * The update body. The key is NOT re-sent — it is the function's claim on the
245
+ * app's single key namespace and the URL already names the row — and `status`
246
+ * is server-owned on the sixth carrying type as on the other five.
247
+ *
248
+ * #3317 — the schemas are TOML-owned on exactly the terms `description` is
249
+ * (#1567), which is what prompts have sent since then: the update handler
250
+ * preserves a field the body omits, so dropping the key would leave a schema
251
+ * live that the file no longer declares, and the comparison — which reads an
252
+ * absent schema as `null` — would report that difference again on every run.
253
+ * Removing `[function.inputSchema]` clears it, and the next diff is Synced.
254
+ */
255
+ export declare function buildFunctionUpdatePayload(table: any): Record<string, any>;
256
+ /** The version-carried keys, as the config-version row holds them. */
257
+ export interface ActiveFunctionVersion {
258
+ entry?: string;
259
+ /** JSON string on the row; an object is accepted too. */
260
+ limits?: unknown;
261
+ /** #3182 — the capabilities the server derived from the authored TOML. */
262
+ capabilities?: string[];
263
+ }
264
+ /**
265
+ * The canonical TOML for a function with no stored authored bytes — a function
266
+ * created through the API that has never had code pushed. When bytes exist,
267
+ * pull writes THOSE; this is the fallback that still produces a pushable file.
268
+ */
269
+ export declare function serializeFunction(record: any, active?: ActiveFunctionVersion, log?: (message: string) => void): string;
270
+ /**
271
+ * The entity both sides of `config diff` are projected onto: the header's
272
+ * authored fields plus the keys the VERSION carries. Stated once so a
273
+ * local file and a server record cannot be read into different shapes.
274
+ *
275
+ * Text the server rewrites on the way in is read the same way it will come
276
+ * back (the DSO-003 rule the webhook comparator states): `access` is stored
277
+ * trimmed and `entry` normalized, so an authored value that differs only in
278
+ * that respect is not permanent drift.
279
+ */
280
+ export declare function functionDiffEntity(tomlData: any): Record<string, any>;
281
+ /**
282
+ * Remove `mode`, `durable` and every cron entry's `mode` from authored TOML,
283
+ * preserving every other byte.
284
+ *
285
+ * The issue says `config pull` never writes them, and the pull plan writes the
286
+ * version's AUTHORED bytes verbatim — so without this a tree pulled from a
287
+ * version pushed before the retirement would carry keys phase 5 refuses, and
288
+ * could not be pushed again.
289
+ *
290
+ * ── Three jobs, kept apart ────────────────────────────────────────────────
291
+ *
292
+ * The PARSE decides what is removed and what is reported: `ignoredFunctionKeys`
293
+ * is the very scanner `config push` warns with, so what a pull takes out is
294
+ * exactly what a push said it was ignoring, whatever spelling the author used.
295
+ * TOML has several — `["function"]`, `function . mode = …`, an inline
296
+ * `triggers.cron = [ { mode = … } ]` — and a scan that reads the SOURCE has to
297
+ * know every one of them or it silently leaves a key behind (CR3482-002).
298
+ *
299
+ * The LINE EDIT decides how the bytes change, and is the path every real file
300
+ * takes. A re-serialization would rewrite every comment, blank line, quoting
301
+ * style and key order in a file a human wrote, so a pull would report a hundred
302
+ * changes to make three. Here exactly the matched assignments go and nothing
303
+ * else moves.
304
+ *
305
+ * The VERIFICATION decides whether the line edit was good enough, by parsing
306
+ * what it produced: the result must parse, must carry no retired key, and must
307
+ * otherwise say precisely what the file said. That is the contract stated as a
308
+ * check rather than as a hope — and it is what makes the line edit safe to keep
309
+ * narrow. A file it cannot reach by whole lines (a retired key sharing its line
310
+ * with keys that must survive, inside an inline table) falls back to a
311
+ * serialized rewrite, which is reported, because a pulled file that still
312
+ * carries the key — or one that no longer parses (CR3482-001) — is worse than a
313
+ * reformatted one.
314
+ *
315
+ * Returns the text and one line per removal, so the caller can report what it
316
+ * did rather than silently editing a developer's file.
317
+ */
318
+ export declare function stripRetiredFunctionKeys(toml: string, label?: string): {
319
+ toml: string;
320
+ removals: string[];
321
+ };
322
+ export interface FunctionPullFile {
323
+ /** Tree-relative, POSIX. */
324
+ relative: string;
325
+ absolute: string;
326
+ content: Buffer;
327
+ }
328
+ export interface FunctionPullPlan {
329
+ configDir: string;
330
+ functionKey: string;
331
+ files: FunctionPullFile[];
332
+ /** The source paths written, for the sync-state record prune reads. */
333
+ sourcePaths: string[];
334
+ /** One line per stored path this pull refused to write. */
335
+ refusals: string[];
336
+ /**
337
+ * One line per EDIT this pull made to the authored bytes on the way out —
338
+ * #3482. Today exactly the retired runtime keys it removed. Not a refusal:
339
+ * the file IS written, and this is what says so.
340
+ */
341
+ notes: string[];
342
+ /**
343
+ * Tree-relative files this pull DELETES — #3455. Today exactly one: a stale
344
+ * generated document-schema copy left by a version that carried a document
345
+ * schema, when the version being pulled carries none. Without the removal
346
+ * the tree would keep rebuilding an envelope with a schema the active
347
+ * version does not have, and `config diff` would read Modified for ever.
348
+ */
349
+ removals: Array<{
350
+ relative: string;
351
+ absolute: string;
352
+ }>;
353
+ }
354
+ /**
355
+ * Why a stored source path may not be written, or null.
356
+ *
357
+ * The same rule the server applies on the way in, applied again on the way out:
358
+ * the file is written to a developer's disk from a path the SERVER chose, so a
359
+ * second check here is the one that matters.
360
+ */
361
+ export declare function unsafePulledPath(path: string): string | null;
362
+ /**
363
+ * Plan the files `config pull` writes for one function: the authored TOML at
364
+ * `functions/<key>.toml`, and each stored source at its own path.
365
+ *
366
+ * Pure — the caller applies it — so the refusal rules are testable without a
367
+ * server and without touching a disk.
368
+ */
369
+ export declare function planFunctionPull(options: {
370
+ configDir: string;
371
+ functionKey: string;
372
+ envelope: {
373
+ entry?: string;
374
+ toml?: string;
375
+ sources?: Array<{
376
+ path: string;
377
+ content: string;
378
+ }>;
379
+ /** base64 of the version's document schema, absent when it has none (#3455). */
380
+ documentSchema?: string | null;
381
+ };
382
+ /**
383
+ * Whether this plan decides the tree's generated schema copy — CR3455-001.
384
+ *
385
+ * The copy is ONE file the whole tree resolves through, so a pull of several
386
+ * functions may not let each one decide it in turn: the last function
387
+ * applied would overwrite or DELETE the copy the earlier ones needed, and a
388
+ * repush from that tree would drop the schema a version really carries. A
389
+ * pull of many functions therefore passes `false` here and settles the copy
390
+ * once, through {@link planDocumentSchemaPull}. Defaults to true, which is
391
+ * the right answer for a plan that is the whole pull.
392
+ */
393
+ includeDocumentSchema?: boolean;
394
+ }): FunctionPullPlan;
395
+ /** One pulled function's answer to "does your version carry a schema?" */
396
+ export interface PulledFunctionSchema {
397
+ functionKey: string;
398
+ /** base64 of the version's document schema, null when it carries none. */
399
+ documentSchema: string | null;
400
+ }
401
+ /** What a pull does about the tree's ONE generated schema copy. */
402
+ export interface DocumentSchemaPullPlan {
403
+ configDir: string;
404
+ files: FunctionPullFile[];
405
+ removals: Array<{
406
+ relative: string;
407
+ absolute: string;
408
+ }>;
409
+ /** One line per thing the tree cannot say for every version it pulled. */
410
+ warnings: string[];
411
+ }
412
+ /**
413
+ * The tree's generated document-schema copy, decided ONCE for a whole pull —
414
+ * CR3455-001.
415
+ *
416
+ * Push and diff resolve the copy tree-wide (`resolveDocumentSchema`), so the
417
+ * tree can hold exactly one schema however many functions it has. Deciding it
418
+ * per function meant the last function applied won: a version carrying no
419
+ * schema DELETED the copy a schema-bearing sibling had just written, the
420
+ * sibling then diffed Modified for ever, and a repush from that tree dropped
421
+ * the schema — the one outcome D3455-009 exists to prevent.
422
+ *
423
+ * The rules, and what each is protecting:
424
+ *
425
+ * - Any pulled version carrying a schema WINS over one carrying none. The
426
+ * copy is a fallback consulted only when the project has no
427
+ * `models/models.toml`; keeping it is what lets a fresh pull re-push.
428
+ * - The copy is removed only when the pull read EVERY active function and
429
+ * none carried a schema. A selective pull has not learned anything about
430
+ * the functions it did not read, and deleting on that evidence would take
431
+ * the schema away from a version that still pins one.
432
+ * - Versions that disagree are reported rather than silently reconciled. One
433
+ * file cannot reproduce two envelopes, so an operator is told which
434
+ * function the tree now speaks for and which ones will read Modified until
435
+ * they are pushed again.
436
+ */
437
+ export declare function planDocumentSchemaPull(options: {
438
+ configDir: string;
439
+ functions: readonly PulledFunctionSchema[];
440
+ /** True when the pull read every active function the app has. */
441
+ coversEveryFunction: boolean;
442
+ }): DocumentSchemaPullPlan;
443
+ /** What one `applyFunctionPull` actually did. */
444
+ export interface FunctionPullOutcome {
445
+ /** The source paths written — what the sync state records for prune. */
446
+ writtenSources: string[];
447
+ /** One line per file the write step refused. */
448
+ refusals: string[];
449
+ }
450
+ /**
451
+ * Write a plan's files, creating the directories they need.
452
+ *
453
+ * Returns what was written and what was refused; a refusal is reported by the
454
+ * caller and keeps the file out of the sync state, so prune never claims to
455
+ * own a path this pull did not write.
456
+ */
457
+ export declare function applyFunctionPull(plan: Pick<FunctionPullPlan, "configDir" | "files" | "removals"> & {
458
+ sourcePaths?: readonly string[];
459
+ }): FunctionPullOutcome;