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,147 @@
1
+ /**
2
+ * The prompt declaration — #3330, project `server-functions` phase 4.
3
+ *
4
+ * A prompt's `[prompt.outputSchema]` already says what its answer looks like,
5
+ * and `config pull`/`push` already round-trip it. Until now nothing turned it
6
+ * into a type, so a function calling the prompt restated the shape by hand at
7
+ * the call site with nothing checking it — the same complaint the function
8
+ * input/output contract answered, one surface over.
9
+ *
10
+ * `functions/primitive-prompt-types.d.ts` is rendered from `prompts/*.toml`
11
+ * beside the other declarations and regenerated by `config push`,
12
+ * `config pull` and `primitive functions codegen`:
13
+ *
14
+ * - `<Key>PromptOutput` for every prompt that declares an `outputSchema`,
15
+ * through the SAME renderer `primitive-function-types.d.ts` uses, over the
16
+ * same vendored descriptor, so what compiles is what the route validates.
17
+ * - `PrimitivePromptSchemas`, keyed by prompt key, and the
18
+ * `declare module "primitive-functions"` augmentation — the
19
+ * `DatabaseSchemas`/`FunctionSchemas`/`DocumentSchemas` shape. Empty keeps
20
+ * `PromptKeys` open (`string`); a pushed tree narrows it, so an undeclared
21
+ * key is a compile error.
22
+ *
23
+ * A prompt that declares NO schema is `{}` under its key, not an entry with an
24
+ * `unknown` output. That is deliberate: `{}` does not extend `{ output: … }`,
25
+ * so the SDK's `PromptRunResult` falls to its open shape and `parsed` stays
26
+ * optional and `unknown` — and REMOVING a schema therefore turns a handler
27
+ * reading `parsed.field` into a compile error on the next push rather than a
28
+ * runtime `undefined`.
29
+ *
30
+ * ── The suffix ───────────────────────────────────────────────────────────
31
+ *
32
+ * `<Key>PromptOutput`, not `<Key>Output`. A function and the prompt it calls
33
+ * commonly share a key — the issue's own `categorize` — and `<Key>Output`
34
+ * already names the FUNCTION's output in the declaration beside this one.
35
+ *
36
+ * ── Identity is push's ───────────────────────────────────────────────────
37
+ *
38
+ * `config push` resolves a prompt file as
39
+ * `tomlData.prompt?.key || basename(file, ".toml")`, so `local.toml` carrying
40
+ * `key = "categorize"` is deployed as `categorize`. Reading the stem alone
41
+ * would type it under a key the platform never hears about, refuse the call
42
+ * the deployed prompt answers, and attach the schema to the wrong key. Same
43
+ * rule and same reason as `resolveFunctionKey` (CR3281-001) and
44
+ * `databaseTypeSources` (SO3182-003): the generator reads the key the platform
45
+ * will hear about, never the file name alone.
46
+ *
47
+ * ── Agents (#3798) ───────────────────────────────────────────────────────
48
+ *
49
+ * A `kind = "agent"` prompt is never run single-shot, so it has no `output`.
50
+ * Its entry is `{ agent: { variables; clientTools; events } }` instead —
51
+ * `<Key>AgentVariables` from `inputSchema` (the session's variables),
52
+ * `<Key>Tool<Name>Input`/`Output` for each CLIENT tool (a server tool's
53
+ * schemas are its function's, typed in the functions declaration) and
54
+ * `<Key>Event<Name>` for each event kind — and the SDK's `PromptKeys` excludes
55
+ * it, so `ctx.prompts.run("<agent>")` is a compile error. The same types go to
56
+ * the client side as `functions/generated/<key>.agent.generated.ts`
57
+ * (`renderAgentClientFiles`), which an app's web code imports. The
58
+ * declaration is read through `normalizeAgentDeclaration`, the one reader
59
+ * that applies an agent's defaults.
60
+ */
61
+ import { type AgentSchema } from "./generated-config-surfaces.js";
62
+ /** The client-side artifact an agent prompt gets, beside the invokers (#3798). */
63
+ export declare const AGENT_CLIENT_FILE_SUFFIX = ".agent.generated.ts";
64
+ /** The regenerated declaration beside `primitive-function-types.d.ts`. */
65
+ export declare const PROMPT_TYPES_DECLARATION_FILE = "primitive-prompt-types.d.ts";
66
+ export interface PromptSchemaSource {
67
+ /**
68
+ * The file stem, which is the key push uses when the file declares none.
69
+ * An authored `[prompt] key` wins over it — see {@link resolvePromptKey}.
70
+ */
71
+ key: string;
72
+ tomlPath: string;
73
+ tomlContent: string;
74
+ }
75
+ /** What the renderer needs from one `prompts/<key>.toml`. */
76
+ export interface PromptSchemaIR {
77
+ key: string;
78
+ /** The tree-relative file this came from, for a message an author acts on. */
79
+ fileLabel: string;
80
+ /** The declared `[prompt].outputSchema`, or undefined when there is none. */
81
+ outputSchema: unknown;
82
+ /** `<Key>` — the PascalCase base of the type name. */
83
+ typeBaseName: string;
84
+ /** `<Key>PromptOutput`. */
85
+ outputTypeName: string;
86
+ /** #3798 — the agent's typed contract; `null` for a chat or decisions prompt. */
87
+ agent: AgentTypesIR | null;
88
+ }
89
+ /** One named type an agent's contract declares: its name and its schema. */
90
+ export interface AgentNamedType {
91
+ /** The declared name — a tool or event name, as authored. */
92
+ name: string;
93
+ typeName: string;
94
+ schema: AgentSchema;
95
+ }
96
+ /** What an agent prompt contributes to the declarations (#3798). */
97
+ export interface AgentTypesIR {
98
+ /** `<Key>AgentVariables`, from `[prompt].inputSchema` (`unknown` when none). */
99
+ variablesTypeName: string;
100
+ inputSchema: unknown;
101
+ clientTools: Array<{
102
+ name: string;
103
+ input: AgentNamedType;
104
+ output: AgentNamedType;
105
+ }>;
106
+ events: AgentNamedType[];
107
+ }
108
+ /**
109
+ * Every `prompts/*.toml` in a tree, read once.
110
+ *
111
+ * `withFileTypes` rather than a name filter alone: a `prompts/<key>.tests/`
112
+ * sidecar directory and anything that is not a regular `.toml` file are not
113
+ * prompt sources, and a directory read as one fails in the parser with a
114
+ * message about TOML instead of being ignored.
115
+ */
116
+ export declare function promptSchemaSources(configDir: string): PromptSchemaSource[];
117
+ /**
118
+ * Parse one file into the data the renderer needs.
119
+ *
120
+ * Throws a `FunctionSchemaCodegenError` naming the file for malformed TOML or
121
+ * malformed schema JSON — the honest "declares nothing" is for an ABSENT
122
+ * schema, never a broken one, because typing a broken schema as anything at
123
+ * all is a declaration that lies.
124
+ */
125
+ export declare function describePromptSchema(source: PromptSchemaSource): PromptSchemaIR;
126
+ /**
127
+ * The declaration for a whole tree's prompts. Sorted by key so the bytes
128
+ * depend on the files and not on the order they were read in. The
129
+ * augmentation is emitted even for a tree with no prompt: an empty
130
+ * `PromptSchemas` keeps `PromptKeys` open (`string`), so nothing breaks.
131
+ */
132
+ export declare function renderPromptSchemasDeclaration(sources: readonly PromptSchemaSource[]): string;
133
+ /** Whether a tree declares any agent prompt — the codegen gate (DSO-3798-005). */
134
+ export declare function treeDeclaresAgentPrompt(configDir: string): boolean;
135
+ /**
136
+ * The client-side artifact of each agent prompt — #3798:
137
+ * `<key>.agent.generated.ts`, carrying the agent's variables, client-tool and
138
+ * event types, the `<Key>AgentClientTools` / `<Key>AgentEvents` maps an app's
139
+ * session view is typed by, and `<Key>Agent.key`. Written beside the function
140
+ * invokers and owned by the same plan, so the invoker sweep keeps it; a
141
+ * Prettier fixed point, like them (#1565).
142
+ */
143
+ export declare function renderAgentClientFiles(sources: readonly PromptSchemaSource[]): Array<{
144
+ key: string;
145
+ fileName: string;
146
+ content: string;
147
+ }>;
@@ -0,0 +1,462 @@
1
+ /**
2
+ * The prompt declaration — #3330, project `server-functions` phase 4.
3
+ *
4
+ * A prompt's `[prompt.outputSchema]` already says what its answer looks like,
5
+ * and `config pull`/`push` already round-trip it. Until now nothing turned it
6
+ * into a type, so a function calling the prompt restated the shape by hand at
7
+ * the call site with nothing checking it — the same complaint the function
8
+ * input/output contract answered, one surface over.
9
+ *
10
+ * `functions/primitive-prompt-types.d.ts` is rendered from `prompts/*.toml`
11
+ * beside the other declarations and regenerated by `config push`,
12
+ * `config pull` and `primitive functions codegen`:
13
+ *
14
+ * - `<Key>PromptOutput` for every prompt that declares an `outputSchema`,
15
+ * through the SAME renderer `primitive-function-types.d.ts` uses, over the
16
+ * same vendored descriptor, so what compiles is what the route validates.
17
+ * - `PrimitivePromptSchemas`, keyed by prompt key, and the
18
+ * `declare module "primitive-functions"` augmentation — the
19
+ * `DatabaseSchemas`/`FunctionSchemas`/`DocumentSchemas` shape. Empty keeps
20
+ * `PromptKeys` open (`string`); a pushed tree narrows it, so an undeclared
21
+ * key is a compile error.
22
+ *
23
+ * A prompt that declares NO schema is `{}` under its key, not an entry with an
24
+ * `unknown` output. That is deliberate: `{}` does not extend `{ output: … }`,
25
+ * so the SDK's `PromptRunResult` falls to its open shape and `parsed` stays
26
+ * optional and `unknown` — and REMOVING a schema therefore turns a handler
27
+ * reading `parsed.field` into a compile error on the next push rather than a
28
+ * runtime `undefined`.
29
+ *
30
+ * ── The suffix ───────────────────────────────────────────────────────────
31
+ *
32
+ * `<Key>PromptOutput`, not `<Key>Output`. A function and the prompt it calls
33
+ * commonly share a key — the issue's own `categorize` — and `<Key>Output`
34
+ * already names the FUNCTION's output in the declaration beside this one.
35
+ *
36
+ * ── Identity is push's ───────────────────────────────────────────────────
37
+ *
38
+ * `config push` resolves a prompt file as
39
+ * `tomlData.prompt?.key || basename(file, ".toml")`, so `local.toml` carrying
40
+ * `key = "categorize"` is deployed as `categorize`. Reading the stem alone
41
+ * would type it under a key the platform never hears about, refuse the call
42
+ * the deployed prompt answers, and attach the schema to the wrong key. Same
43
+ * rule and same reason as `resolveFunctionKey` (CR3281-001) and
44
+ * `databaseTypeSources` (SO3182-003): the generator reads the key the platform
45
+ * will hear about, never the file name alone.
46
+ *
47
+ * ── Agents (#3798) ───────────────────────────────────────────────────────
48
+ *
49
+ * A `kind = "agent"` prompt is never run single-shot, so it has no `output`.
50
+ * Its entry is `{ agent: { variables; clientTools; events } }` instead —
51
+ * `<Key>AgentVariables` from `inputSchema` (the session's variables),
52
+ * `<Key>Tool<Name>Input`/`Output` for each CLIENT tool (a server tool's
53
+ * schemas are its function's, typed in the functions declaration) and
54
+ * `<Key>Event<Name>` for each event kind — and the SDK's `PromptKeys` excludes
55
+ * it, so `ctx.prompts.run("<agent>")` is a compile error. The same types go to
56
+ * the client side as `functions/generated/<key>.agent.generated.ts`
57
+ * (`renderAgentClientFiles`), which an app's web code imports. The
58
+ * declaration is read through `normalizeAgentDeclaration`, the one reader
59
+ * that applies an agent's defaults.
60
+ */
61
+ import { existsSync, readdirSync, readFileSync } from "fs";
62
+ import { basename, join } from "path";
63
+ import { parseConfigToml } from "./config-toml.js";
64
+ import { safeJsonParse } from "./workflow-payload.js";
65
+ import { FunctionSchemaCodegenError, renderTypeDecl, } from "./function-schema-codegen.js";
66
+ import { workflowTypeBaseName } from "./workflow-codegen/naming.js";
67
+ import { tsStringLiteral } from "./codegen-shared/prettierStable.js";
68
+ import { fingerprintToml } from "./db-codegen/dbFingerprint.js";
69
+ import { normalizeAgentDeclaration, promptKindOf, resolveAgentDeclaration, } from "./generated-config-surfaces.js";
70
+ /** The client-side artifact an agent prompt gets, beside the invokers (#3798). */
71
+ export const AGENT_CLIENT_FILE_SUFFIX = ".agent.generated.ts";
72
+ /** The regenerated declaration beside `primitive-function-types.d.ts`. */
73
+ export const PROMPT_TYPES_DECLARATION_FILE = "primitive-prompt-types.d.ts";
74
+ /** The key push will identify this file by. */
75
+ function resolvePromptKey(source, table) {
76
+ return table?.key ? String(table.key) : source.key;
77
+ }
78
+ /**
79
+ * Every `prompts/*.toml` in a tree, read once.
80
+ *
81
+ * `withFileTypes` rather than a name filter alone: a `prompts/<key>.tests/`
82
+ * sidecar directory and anything that is not a regular `.toml` file are not
83
+ * prompt sources, and a directory read as one fails in the parser with a
84
+ * message about TOML instead of being ignored.
85
+ */
86
+ export function promptSchemaSources(configDir) {
87
+ const dir = join(configDir, "prompts");
88
+ if (!existsSync(dir))
89
+ return [];
90
+ const sources = [];
91
+ for (const entry of readdirSync(dir, { withFileTypes: true })) {
92
+ if (!entry.isFile() || !entry.name.endsWith(".toml"))
93
+ continue;
94
+ const tomlPath = join(dir, entry.name);
95
+ let tomlContent;
96
+ try {
97
+ tomlContent = readFileSync(tomlPath, "utf-8");
98
+ }
99
+ catch {
100
+ continue;
101
+ }
102
+ sources.push({ key: basename(entry.name, ".toml"), tomlPath, tomlContent });
103
+ }
104
+ return sources;
105
+ }
106
+ /** The tree-relative spelling of a source, for a message an author acts on. */
107
+ function fileLabel(source) {
108
+ const at = source.tomlPath.lastIndexOf("/prompts/");
109
+ return at >= 0 ? source.tomlPath.slice(at + 1) : source.tomlPath;
110
+ }
111
+ /**
112
+ * Parse one file into the data the renderer needs.
113
+ *
114
+ * Throws a `FunctionSchemaCodegenError` naming the file for malformed TOML or
115
+ * malformed schema JSON — the honest "declares nothing" is for an ABSENT
116
+ * schema, never a broken one, because typing a broken schema as anything at
117
+ * all is a declaration that lies.
118
+ */
119
+ export function describePromptSchema(source) {
120
+ let table;
121
+ try {
122
+ table = parseConfigToml(source.tomlContent)?.prompt ?? {};
123
+ }
124
+ catch (error) {
125
+ throw new FunctionSchemaCodegenError(`${fileLabel(source)}: the file does not parse as TOML (${error?.message ?? error})`);
126
+ }
127
+ const key = resolvePromptKey(source, table);
128
+ let outputSchema;
129
+ try {
130
+ // An inline `[prompt.outputSchema]` table and a JSON string alike — the
131
+ // config surface accepts both, so the generator has to read both.
132
+ outputSchema = safeJsonParse(table.outputSchema);
133
+ }
134
+ catch (error) {
135
+ throw new FunctionSchemaCodegenError(`${fileLabel(source)}: \`outputSchema\` is not valid JSON (${error?.message ?? error})`);
136
+ }
137
+ const typeBaseName = workflowTypeBaseName(key);
138
+ return {
139
+ key,
140
+ fileLabel: fileLabel(source),
141
+ outputSchema,
142
+ typeBaseName,
143
+ outputTypeName: `${typeBaseName}PromptOutput`,
144
+ agent: promptKindOf(table) === "agent"
145
+ ? describeAgentTypes(fileLabel(source), typeBaseName, table)
146
+ : null,
147
+ };
148
+ }
149
+ /**
150
+ * A declared name as a property key: bare when it is an identifier, quoted
151
+ * (the way Prettier quotes a string) when it carries a `-`.
152
+ */
153
+ function propertyKey(name) {
154
+ return /^[A-Za-z_$][A-Za-z0-9_$]*$/.test(name) ? name : tsStringLiteral(name);
155
+ }
156
+ /**
157
+ * An agent prompt's contract, typed (#3798). The declaration is checked by the
158
+ * same rule push runs (its file-decidable half), so a malformed one fails here
159
+ * naming the file rather than typing something the platform refuses; two
160
+ * client tools (or two events) whose names sanitize to one identifier are
161
+ * refused naming both.
162
+ */
163
+ function describeAgentTypes(label, typeBaseName, table) {
164
+ const resolution = resolveAgentDeclaration({ kind: "agent", agent: table.agent });
165
+ if (resolution.ok === false) {
166
+ throw new FunctionSchemaCodegenError(`${label}: ${resolution.refusals.map((r) => r.message).join("; ")}`);
167
+ }
168
+ let inputSchema;
169
+ try {
170
+ inputSchema = safeJsonParse(table.inputSchema);
171
+ }
172
+ catch (error) {
173
+ throw new FunctionSchemaCodegenError(`${label}: \`inputSchema\` is not valid JSON (${error?.message ?? error})`);
174
+ }
175
+ const declaration = normalizeAgentDeclaration(resolution.declaration);
176
+ const claimed = (what) => {
177
+ const byBase = new Map();
178
+ return (name) => {
179
+ const base = workflowTypeBaseName(name);
180
+ const other = byBase.get(base);
181
+ if (other !== undefined && other !== name) {
182
+ throw new FunctionSchemaCodegenError(`${label}: ${what} names '${other}' and '${name}' both name the ` +
183
+ `generated type \`${typeBaseName}${what === "tool" ? "Tool" : "Event"}${base}\` — ` +
184
+ "rename one so the two do not collide after sanitizing");
185
+ }
186
+ byBase.set(base, name);
187
+ return base;
188
+ };
189
+ };
190
+ const toolBase = claimed("tool");
191
+ const eventBase = claimed("event");
192
+ const clientTools = declaration.tools
193
+ .filter((tool) => tool.runs === "client")
194
+ .map((tool) => {
195
+ const base = `${typeBaseName}Tool${toolBase(tool.name)}`;
196
+ return {
197
+ name: tool.name,
198
+ input: {
199
+ name: tool.name,
200
+ typeName: `${base}Input`,
201
+ schema: tool.inputSchema,
202
+ },
203
+ output: {
204
+ name: tool.name,
205
+ typeName: `${base}Output`,
206
+ schema: tool.outputSchema,
207
+ },
208
+ };
209
+ });
210
+ const events = declaration.events.map((event) => ({
211
+ name: event.name,
212
+ typeName: `${typeBaseName}Event${eventBase(event.name)}`,
213
+ schema: event.schema,
214
+ }));
215
+ return {
216
+ variablesTypeName: `${typeBaseName}AgentVariables`,
217
+ inputSchema,
218
+ clientTools,
219
+ events,
220
+ };
221
+ }
222
+ /** Render one agent type, naming the file and the path when it cannot be. */
223
+ function renderAgentType(prompt, typeName, schema, path) {
224
+ try {
225
+ return renderTypeDecl(typeName, schema);
226
+ }
227
+ catch (error) {
228
+ if (error instanceof FunctionSchemaCodegenError)
229
+ throw error;
230
+ throw new FunctionSchemaCodegenError(`${prompt.fileLabel}: \`${path}\` cannot be rendered as a TypeScript ` +
231
+ `type (${error?.message ?? error})`);
232
+ }
233
+ }
234
+ /** Every type declaration an agent contributes, in a fixed order. */
235
+ function renderAgentTypeDecls(prompt) {
236
+ const agent = prompt.agent;
237
+ return [
238
+ renderAgentType(prompt, agent.variablesTypeName, agent.inputSchema, "inputSchema"),
239
+ ...agent.clientTools.flatMap((tool) => [
240
+ renderAgentType(prompt, tool.input.typeName, tool.input.schema, `tools.${tool.name}.inputSchema`),
241
+ renderAgentType(prompt, tool.output.typeName, tool.output.schema, `tools.${tool.name}.outputSchema`),
242
+ ]),
243
+ ...agent.events.map((event) => renderAgentType(prompt, event.typeName, event.schema, `events.${event.name}.schema`)),
244
+ ];
245
+ }
246
+ /** The one-line `{ agent: … }` entry of `PrimitivePromptSchemas`. */
247
+ function agentSchemaEntry(prompt) {
248
+ const agent = prompt.agent;
249
+ const tools = agent.clientTools
250
+ .map((tool) => `${propertyKey(tool.name)}: { input: ${tool.input.typeName}; output: ${tool.output.typeName} }`)
251
+ .join("; ");
252
+ const events = agent.events
253
+ .map((event) => `${propertyKey(event.name)}: ${event.typeName}`)
254
+ .join("; ");
255
+ return (`{ agent: { variables: ${agent.variablesTypeName}; ` +
256
+ `clientTools: {${tools ? ` ${tools} ` : ""}}; ` +
257
+ `events: {${events ? ` ${events} ` : ""}} } }`);
258
+ }
259
+ /**
260
+ * Describe every source, sorted by key, refusing the two collisions that
261
+ * would silently render one prompt over another: two files resolving to one
262
+ * key (only reachable through an authored `[prompt] key`, since stems are
263
+ * unique), and two keys sanitizing to one identifier.
264
+ */
265
+ function describeAll(sources) {
266
+ const described = sources.map((source) => ({
267
+ prompt: describePromptSchema(source),
268
+ source,
269
+ }));
270
+ described.sort((a, b) => a.prompt.key < b.prompt.key ? -1 : a.prompt.key > b.prompt.key ? 1 : 0);
271
+ const byKey = new Map();
272
+ for (const { prompt, source } of described) {
273
+ const other = byKey.get(prompt.key);
274
+ if (other !== undefined) {
275
+ throw new FunctionSchemaCodegenError(`${fileLabel(other)} and ${fileLabel(source)} both declare the prompt ` +
276
+ `key '${prompt.key}' — one file is one prompt, so rename or remove ` +
277
+ `one \`[prompt] key\``);
278
+ }
279
+ byKey.set(prompt.key, source);
280
+ }
281
+ const byBaseName = new Map();
282
+ for (const { prompt } of described) {
283
+ const other = byBaseName.get(prompt.typeBaseName);
284
+ if (other !== undefined && other !== prompt.key) {
285
+ throw new FunctionSchemaCodegenError(`prompt keys '${other}' and '${prompt.key}' both name the generated ` +
286
+ `type \`${prompt.outputTypeName}\` — rename one so the two do not ` +
287
+ `collide after sanitizing`);
288
+ }
289
+ byBaseName.set(prompt.typeBaseName, prompt.key);
290
+ }
291
+ // #3798 (CSO-3798-001) — an agent's types are named `<Key>Tool…`/`<Key>Event…`,
292
+ // so they can land on another prompt's name even when the two bases differ
293
+ // (event `prompt-output` of `advisor` and the output of `advisor-event`).
294
+ // Every declared name is registered, and a second claim is refused naming
295
+ // both sources rather than one silently redeclaring the other.
296
+ const byTypeName = new Map();
297
+ for (const { prompt } of described) {
298
+ for (const { typeName, path } of declaredTypeNames(prompt)) {
299
+ const where = `${prompt.fileLabel} (\`${path}\`)`;
300
+ const other = byTypeName.get(typeName);
301
+ if (other !== undefined) {
302
+ throw new FunctionSchemaCodegenError(`${other} and ${where} both declare the generated type ` +
303
+ `\`${typeName}\` — rename one so the two do not collide after sanitizing`);
304
+ }
305
+ byTypeName.set(typeName, where);
306
+ }
307
+ }
308
+ return described;
309
+ }
310
+ /** Every type name a prompt's declarations emit, with the schema it comes from. */
311
+ function declaredTypeNames(prompt) {
312
+ const agent = prompt.agent;
313
+ if (!agent) {
314
+ return prompt.outputSchema === undefined
315
+ ? []
316
+ : [{ typeName: prompt.outputTypeName, path: "outputSchema" }];
317
+ }
318
+ return [
319
+ { typeName: agent.variablesTypeName, path: "inputSchema" },
320
+ ...agent.clientTools.flatMap((tool) => [
321
+ { typeName: tool.input.typeName, path: `tools.${tool.name}.inputSchema` },
322
+ { typeName: tool.output.typeName, path: `tools.${tool.name}.outputSchema` },
323
+ ]),
324
+ ...agent.events.map((event) => ({
325
+ typeName: event.typeName,
326
+ path: `events.${event.name}.schema`,
327
+ })),
328
+ ];
329
+ }
330
+ const DECLARATION_HEADER = `// GENERATED by \`primitive config push\` from prompts/*.toml.
331
+ // DO NOT EDIT — your changes are overwritten on the next push.
332
+ //
333
+ // It types \`ctx.prompts.run("<key>")\`: a prompt that declares an
334
+ // \`[prompt.outputSchema]\` hands back \`parsed\` as \`<Key>PromptOutput\` on the
335
+ // success arm, and a key this tree does not declare is a compile error. A
336
+ // prompt that declares no output schema is \`{}\` here, so its \`parsed\` stays
337
+ // optional and \`unknown\`.
338
+ `;
339
+ /**
340
+ * The declaration for a whole tree's prompts. Sorted by key so the bytes
341
+ * depend on the files and not on the order they were read in. The
342
+ * augmentation is emitted even for a tree with no prompt: an empty
343
+ * `PromptSchemas` keeps `PromptKeys` open (`string`), so nothing breaks.
344
+ */
345
+ export function renderPromptSchemasDeclaration(sources) {
346
+ const prompts = describeAll(sources).map((entry) => entry.prompt);
347
+ const lines = [DECLARATION_HEADER];
348
+ for (const prompt of prompts) {
349
+ if (prompt.agent) {
350
+ for (const decl of renderAgentTypeDecls(prompt)) {
351
+ lines.push(decl);
352
+ lines.push("");
353
+ }
354
+ continue;
355
+ }
356
+ if (prompt.outputSchema === undefined)
357
+ continue;
358
+ try {
359
+ lines.push(renderTypeDecl(prompt.outputTypeName, prompt.outputSchema));
360
+ }
361
+ catch (error) {
362
+ if (error instanceof FunctionSchemaCodegenError)
363
+ throw error;
364
+ throw new FunctionSchemaCodegenError(`${prompt.fileLabel}: \`outputSchema\` cannot be rendered as a ` +
365
+ `TypeScript type (${error?.message ?? error})`);
366
+ }
367
+ lines.push("");
368
+ }
369
+ if (prompts.length === 0) {
370
+ lines.push("export interface PrimitivePromptSchemas {}");
371
+ }
372
+ else {
373
+ lines.push("export interface PrimitivePromptSchemas {");
374
+ for (const prompt of prompts) {
375
+ lines.push(prompt.agent
376
+ ? ` ${JSON.stringify(prompt.key)}: ${agentSchemaEntry(prompt)};`
377
+ : prompt.outputSchema === undefined
378
+ ? ` ${JSON.stringify(prompt.key)}: {};`
379
+ : ` ${JSON.stringify(prompt.key)}: { output: ${prompt.outputTypeName} };`);
380
+ }
381
+ lines.push("}");
382
+ }
383
+ lines.push("");
384
+ lines.push(`declare module "primitive-functions" {`);
385
+ lines.push(` interface PromptSchemas extends PrimitivePromptSchemas {}`);
386
+ lines.push(`}`);
387
+ lines.push("");
388
+ return lines.join("\n");
389
+ }
390
+ /**
391
+ * Whether a source is an agent prompt, read leniently: a file that does not
392
+ * parse is not one here (the declaration renderer names the parse failure
393
+ * where it has always named it).
394
+ */
395
+ function isAgentSource(source) {
396
+ try {
397
+ return promptKindOf(parseConfigToml(source.tomlContent)?.prompt) === "agent";
398
+ }
399
+ catch {
400
+ return false;
401
+ }
402
+ }
403
+ /** Whether a tree declares any agent prompt — the codegen gate (DSO-3798-005). */
404
+ export function treeDeclaresAgentPrompt(configDir) {
405
+ return promptSchemaSources(configDir).some(isAgentSource);
406
+ }
407
+ /**
408
+ * The client-side artifact of each agent prompt — #3798:
409
+ * `<key>.agent.generated.ts`, carrying the agent's variables, client-tool and
410
+ * event types, the `<Key>AgentClientTools` / `<Key>AgentEvents` maps an app's
411
+ * session view is typed by, and `<Key>Agent.key`. Written beside the function
412
+ * invokers and owned by the same plan, so the invoker sweep keeps it; a
413
+ * Prettier fixed point, like them (#1565).
414
+ */
415
+ export function renderAgentClientFiles(sources) {
416
+ const agents = describeAll(sources.filter(isAgentSource));
417
+ return agents.map(({ prompt, source }) => {
418
+ const agent = prompt.agent;
419
+ const base = prompt.typeBaseName;
420
+ const toolsMap = agent.clientTools.length === 0
421
+ ? `export interface ${base}AgentClientTools {}`
422
+ : [
423
+ `export interface ${base}AgentClientTools {`,
424
+ ...agent.clientTools.flatMap((tool) => [
425
+ ` ${propertyKey(tool.name)}: {`,
426
+ ` input: ${tool.input.typeName};`,
427
+ ` output: ${tool.output.typeName};`,
428
+ ` };`,
429
+ ]),
430
+ `}`,
431
+ ].join("\n");
432
+ const eventsMap = agent.events.length === 0
433
+ ? `export interface ${base}AgentEvents {}`
434
+ : [
435
+ `export interface ${base}AgentEvents {`,
436
+ ...agent.events.map((event) => ` ${propertyKey(event.name)}: ${event.typeName};`),
437
+ `}`,
438
+ ].join("\n");
439
+ const blocks = [
440
+ [
441
+ `// AUTO-GENERATED FROM ${prompt.fileLabel} — DO NOT EDIT.`,
442
+ "// Run `primitive functions codegen` to regenerate.",
443
+ `// fingerprint: ${fingerprintToml(source.tomlContent)}`,
444
+ ].join("\n"),
445
+ ...renderAgentTypeDecls(prompt),
446
+ `/** The client tools a member of the \`${prompt.key}\` agent answers, by name. */\n${toolsMap}`,
447
+ `/** The event kinds the \`${prompt.key}\` agent records, by name. */\n${eventsMap}`,
448
+ [
449
+ `/** The \`${prompt.key}\` agent: the key a session is created with. */`,
450
+ `export const ${base}Agent = {`,
451
+ ` key: ${tsStringLiteral(prompt.key)},`,
452
+ `} as const;`,
453
+ ].join("\n"),
454
+ ];
455
+ return {
456
+ key: prompt.key,
457
+ fileName: `${prompt.key}${AGENT_CLIENT_FILE_SUFFIX}`,
458
+ content: blocks.join("\n\n") + "\n",
459
+ };
460
+ });
461
+ }
462
+ //# sourceMappingURL=prompt-schema-codegen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-schema-codegen.js","sourceRoot":"","sources":["../../../src/lib/prompt-schema-codegen.ts"],"names":[],"mappings":"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"}