primitive-admin 1.0.63 → 1.0.64

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 (328) hide show
  1. package/README.md +132 -42
  2. package/assets/skill/skills/primitive-platform/SKILL.md +142 -661
  3. package/dist/bin/primitive.js +121 -41
  4. package/dist/bin/primitive.js.map +1 -1
  5. package/dist/src/commands/admins.js +37 -50
  6. package/dist/src/commands/admins.js.map +1 -1
  7. package/dist/src/commands/analytics.js +178 -9
  8. package/dist/src/commands/analytics.js.map +1 -1
  9. package/dist/src/commands/apps.js +12 -5
  10. package/dist/src/commands/apps.js.map +1 -1
  11. package/dist/src/commands/auth-sessions.d.ts +7 -0
  12. package/dist/src/commands/auth-sessions.js +144 -0
  13. package/dist/src/commands/auth-sessions.js.map +1 -0
  14. package/dist/src/commands/auth.js +76 -116
  15. package/dist/src/commands/auth.js.map +1 -1
  16. package/dist/src/commands/blob-buckets.js +2 -1
  17. package/dist/src/commands/blob-buckets.js.map +1 -1
  18. package/dist/src/commands/catalog.js +26 -10
  19. package/dist/src/commands/catalog.js.map +1 -1
  20. package/dist/src/commands/collection-type-configs.js +3 -10
  21. package/dist/src/commands/collection-type-configs.js.map +1 -1
  22. package/dist/src/commands/collections.js +736 -19
  23. package/dist/src/commands/collections.js.map +1 -1
  24. package/dist/src/commands/config.js +13 -27
  25. package/dist/src/commands/config.js.map +1 -1
  26. package/dist/src/commands/connections.js +8 -9
  27. package/dist/src/commands/connections.js.map +1 -1
  28. package/dist/src/commands/cron-triggers.js +2 -1
  29. package/dist/src/commands/cron-triggers.js.map +1 -1
  30. package/dist/src/commands/database-type-configs.js +5 -12
  31. package/dist/src/commands/database-type-configs.js.map +1 -1
  32. package/dist/src/commands/databases.js +59 -72
  33. package/dist/src/commands/databases.js.map +1 -1
  34. package/dist/src/commands/documents.d.ts +58 -0
  35. package/dist/src/commands/documents.js +1623 -95
  36. package/dist/src/commands/documents.js.map +1 -1
  37. package/dist/src/commands/email-templates.js +2 -1
  38. package/dist/src/commands/email-templates.js.map +1 -1
  39. package/dist/src/commands/env.d.ts +1 -1
  40. package/dist/src/commands/env.js +89 -43
  41. package/dist/src/commands/env.js.map +1 -1
  42. package/dist/src/commands/feature-flags.js +2 -1
  43. package/dist/src/commands/feature-flags.js.map +1 -1
  44. package/dist/src/commands/functions.d.ts +20 -0
  45. package/dist/src/commands/functions.js +1630 -0
  46. package/dist/src/commands/functions.js.map +1 -0
  47. package/dist/src/commands/group-type-configs.js +2 -1
  48. package/dist/src/commands/group-type-configs.js.map +1 -1
  49. package/dist/src/commands/groups.js +30 -17
  50. package/dist/src/commands/groups.js.map +1 -1
  51. package/dist/src/commands/guides.js +17 -11
  52. package/dist/src/commands/guides.js.map +1 -1
  53. package/dist/src/commands/init.d.ts +12 -15
  54. package/dist/src/commands/init.js +44 -92
  55. package/dist/src/commands/init.js.map +1 -1
  56. package/dist/src/commands/integrations.js +35 -12
  57. package/dist/src/commands/integrations.js.map +1 -1
  58. package/dist/src/commands/locks.js +17 -2
  59. package/dist/src/commands/locks.js.map +1 -1
  60. package/dist/src/commands/metadata-category-configs.js +2 -1
  61. package/dist/src/commands/metadata-category-configs.js.map +1 -1
  62. package/dist/src/commands/metadata.js +8 -1
  63. package/dist/src/commands/metadata.js.map +1 -1
  64. package/dist/src/commands/prompts.js +106 -59
  65. package/dist/src/commands/prompts.js.map +1 -1
  66. package/dist/src/commands/rule-sets.js +3 -10
  67. package/dist/src/commands/rule-sets.js.map +1 -1
  68. package/dist/src/commands/scripts.js +33 -28
  69. package/dist/src/commands/scripts.js.map +1 -1
  70. package/dist/src/commands/secrets.js +2 -1
  71. package/dist/src/commands/secrets.js.map +1 -1
  72. package/dist/src/commands/sessions.js +10 -9
  73. package/dist/src/commands/sessions.js.map +1 -1
  74. package/dist/src/commands/sync-app-settings.js +3 -5
  75. package/dist/src/commands/sync-app-settings.js.map +1 -1
  76. package/dist/src/commands/sync.d.ts +390 -13
  77. package/dist/src/commands/sync.js +2613 -451
  78. package/dist/src/commands/sync.js.map +1 -1
  79. package/dist/src/commands/tokens.js +2 -1
  80. package/dist/src/commands/tokens.js.map +1 -1
  81. package/dist/src/commands/users.js +19 -10
  82. package/dist/src/commands/users.js.map +1 -1
  83. package/dist/src/commands/vars.js +2 -1
  84. package/dist/src/commands/vars.js.map +1 -1
  85. package/dist/src/commands/waitlist.js +2 -1
  86. package/dist/src/commands/waitlist.js.map +1 -1
  87. package/dist/src/commands/webhooks.d.ts +29 -0
  88. package/dist/src/commands/webhooks.js +135 -64
  89. package/dist/src/commands/webhooks.js.map +1 -1
  90. package/dist/src/commands/workflows.d.ts +1 -29
  91. package/dist/src/commands/workflows.js +113 -179
  92. package/dist/src/commands/workflows.js.map +1 -1
  93. package/dist/src/lib/api-client.d.ts +628 -14
  94. package/dist/src/lib/api-client.js +776 -70
  95. package/dist/src/lib/api-client.js.map +1 -1
  96. package/dist/src/lib/app-settings-descriptor.d.ts +1 -1
  97. package/dist/src/lib/app-settings-descriptor.js +9 -1
  98. package/dist/src/lib/app-settings-descriptor.js.map +1 -1
  99. package/dist/src/lib/block-selector.d.ts +58 -0
  100. package/dist/src/lib/block-selector.js +92 -0
  101. package/dist/src/lib/block-selector.js.map +1 -0
  102. package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.d.ts +24 -54
  103. package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.js +31 -153
  104. package/dist/src/lib/codegen-shared/resolveCodegenSourceDir.js.map +1 -1
  105. package/dist/src/lib/collection-export.d.ts +184 -0
  106. package/dist/src/lib/collection-export.js +252 -0
  107. package/dist/src/lib/collection-export.js.map +1 -0
  108. package/dist/src/lib/config-json-field.d.ts +28 -0
  109. package/dist/src/lib/config-json-field.js +56 -0
  110. package/dist/src/lib/config-json-field.js.map +1 -0
  111. package/dist/src/lib/config-object-descriptor.js +88 -6
  112. package/dist/src/lib/config-object-descriptor.js.map +1 -1
  113. package/dist/src/lib/config-payload.d.ts +8 -1
  114. package/dist/src/lib/config-payload.js +49 -4
  115. package/dist/src/lib/config-payload.js.map +1 -1
  116. package/dist/src/lib/config-surface.d.ts +12 -1
  117. package/dist/src/lib/config-surface.js +71 -3
  118. package/dist/src/lib/config-surface.js.map +1 -1
  119. package/dist/src/lib/config.d.ts +31 -13
  120. package/dist/src/lib/config.js +34 -70
  121. package/dist/src/lib/config.js.map +1 -1
  122. package/dist/src/lib/credentials-store.d.ts +37 -22
  123. package/dist/src/lib/credentials-store.js +103 -97
  124. package/dist/src/lib/credentials-store.js.map +1 -1
  125. package/dist/src/lib/db-codegen/dbTypeIR.js +8 -0
  126. package/dist/src/lib/db-codegen/dbTypeIR.js.map +1 -1
  127. package/dist/src/lib/deprecation.d.ts +22 -0
  128. package/dist/src/lib/deprecation.js +43 -0
  129. package/dist/src/lib/deprecation.js.map +1 -0
  130. package/dist/src/lib/document-export-permissions.d.ts +30 -0
  131. package/dist/src/lib/document-export-permissions.js +54 -0
  132. package/dist/src/lib/document-export-permissions.js.map +1 -0
  133. package/dist/src/lib/document-ingest-artifact.d.ts +120 -0
  134. package/dist/src/lib/document-ingest-artifact.js +505 -0
  135. package/dist/src/lib/document-ingest-artifact.js.map +1 -0
  136. package/dist/src/lib/document-ingest-input.d.ts +51 -0
  137. package/dist/src/lib/document-ingest-input.js +132 -0
  138. package/dist/src/lib/document-ingest-input.js.map +1 -0
  139. package/dist/src/lib/document-ingest-rows.d.ts +137 -0
  140. package/dist/src/lib/document-ingest-rows.js +181 -0
  141. package/dist/src/lib/document-ingest-rows.js.map +1 -0
  142. package/dist/src/lib/document-ingest.d.ts +101 -0
  143. package/dist/src/lib/document-ingest.js +384 -0
  144. package/dist/src/lib/document-ingest.js.map +1 -0
  145. package/dist/src/lib/env-resolver-core.d.ts +89 -18
  146. package/dist/src/lib/env-resolver-core.js +145 -23
  147. package/dist/src/lib/env-resolver-core.js.map +1 -1
  148. package/dist/src/lib/env-resolver.d.ts +18 -3
  149. package/dist/src/lib/env-resolver.js +23 -3
  150. package/dist/src/lib/env-resolver.js.map +1 -1
  151. package/dist/src/lib/function-bundle.d.ts +147 -0
  152. package/dist/src/lib/function-bundle.js +341 -0
  153. package/dist/src/lib/function-bundle.js.map +1 -0
  154. package/dist/src/lib/function-collect.d.ts +123 -0
  155. package/dist/src/lib/function-collect.js +610 -0
  156. package/dist/src/lib/function-collect.js.map +1 -0
  157. package/dist/src/lib/function-db-types.d.ts +202 -0
  158. package/dist/src/lib/function-db-types.js +870 -0
  159. package/dist/src/lib/function-db-types.js.map +1 -0
  160. package/dist/src/lib/function-document-types.d.ts +144 -0
  161. package/dist/src/lib/function-document-types.js +370 -0
  162. package/dist/src/lib/function-document-types.js.map +1 -0
  163. package/dist/src/lib/function-grants-preflight.d.ts +64 -0
  164. package/dist/src/lib/function-grants-preflight.js +105 -0
  165. package/dist/src/lib/function-grants-preflight.js.map +1 -0
  166. package/dist/src/lib/function-log-lines.d.ts +76 -0
  167. package/dist/src/lib/function-log-lines.js +160 -0
  168. package/dist/src/lib/function-log-lines.js.map +1 -0
  169. package/dist/src/lib/function-log-row.d.ts +29 -0
  170. package/dist/src/lib/function-log-row.js +73 -0
  171. package/dist/src/lib/function-log-row.js.map +1 -0
  172. package/dist/src/lib/function-log-tail.d.ts +132 -0
  173. package/dist/src/lib/function-log-tail.js +262 -0
  174. package/dist/src/lib/function-log-tail.js.map +1 -0
  175. package/dist/src/lib/function-run.d.ts +289 -0
  176. package/dist/src/lib/function-run.js +389 -0
  177. package/dist/src/lib/function-run.js.map +1 -0
  178. package/dist/src/lib/function-schema-codegen.d.ts +143 -0
  179. package/dist/src/lib/function-schema-codegen.js +420 -0
  180. package/dist/src/lib/function-schema-codegen.js.map +1 -0
  181. package/dist/src/lib/function-sync.d.ts +459 -0
  182. package/dist/src/lib/function-sync.js +1258 -0
  183. package/dist/src/lib/function-sync.js.map +1 -0
  184. package/dist/src/lib/function-trigger-listing.d.ts +27 -0
  185. package/dist/src/lib/function-trigger-listing.js +70 -0
  186. package/dist/src/lib/function-trigger-listing.js.map +1 -0
  187. package/dist/src/lib/function-typecheck.d.ts +86 -0
  188. package/dist/src/lib/function-typecheck.js +370 -0
  189. package/dist/src/lib/function-typecheck.js.map +1 -0
  190. package/dist/src/lib/function-versions.d.ts +122 -0
  191. package/dist/src/lib/function-versions.js +182 -0
  192. package/dist/src/lib/function-versions.js.map +1 -0
  193. package/dist/src/lib/generated-allowlist.js +4 -0
  194. package/dist/src/lib/generated-allowlist.js.map +1 -1
  195. package/dist/src/lib/generated-config-surfaces.d.ts +2332 -78
  196. package/dist/src/lib/generated-config-surfaces.js +6979 -468
  197. package/dist/src/lib/generated-config-surfaces.js.map +1 -1
  198. package/dist/src/lib/generated-sdk-types.d.ts +12 -0
  199. package/dist/src/lib/generated-sdk-types.js +13 -0
  200. package/dist/src/lib/generated-sdk-types.js.map +1 -0
  201. package/dist/src/lib/init-adopt.js +2 -2
  202. package/dist/src/lib/init-adopt.js.map +1 -1
  203. package/dist/src/lib/init-assets.js +3 -3
  204. package/dist/src/lib/init-config.d.ts +1 -1
  205. package/dist/src/lib/init-ios-links.d.ts +6 -5
  206. package/dist/src/lib/init-ios-links.js +9 -8
  207. package/dist/src/lib/init-ios-links.js.map +1 -1
  208. package/dist/src/lib/init-plan.d.ts +1 -1
  209. package/dist/src/lib/init-plan.js +1 -1
  210. package/dist/src/lib/init-xcode.d.ts +6 -5
  211. package/dist/src/lib/init-xcode.js +34 -10
  212. package/dist/src/lib/init-xcode.js.map +1 -1
  213. package/dist/src/lib/ios-app-id.d.ts +34 -0
  214. package/dist/src/lib/ios-app-id.js +69 -0
  215. package/dist/src/lib/ios-app-id.js.map +1 -0
  216. package/dist/src/lib/list-options.d.ts +68 -0
  217. package/dist/src/lib/list-options.js +89 -0
  218. package/dist/src/lib/list-options.js.map +1 -0
  219. package/dist/src/lib/local-state.d.ts +1 -1
  220. package/dist/src/lib/local-state.js +1 -1
  221. package/dist/src/lib/local-test-cases.d.ts +1 -1
  222. package/dist/src/lib/local-test-cases.js +2 -1
  223. package/dist/src/lib/local-test-cases.js.map +1 -1
  224. package/dist/src/lib/log-inspection.d.ts +152 -5
  225. package/dist/src/lib/log-inspection.js +179 -2
  226. package/dist/src/lib/log-inspection.js.map +1 -1
  227. package/dist/src/lib/logout-admin-session.d.ts +33 -0
  228. package/dist/src/lib/logout-admin-session.js +70 -0
  229. package/dist/src/lib/logout-admin-session.js.map +1 -0
  230. package/dist/src/lib/output.d.ts +15 -0
  231. package/dist/src/lib/output.js +28 -0
  232. package/dist/src/lib/output.js.map +1 -1
  233. package/dist/src/lib/paginate.d.ts +15 -0
  234. package/dist/src/lib/paginate.js +17 -0
  235. package/dist/src/lib/paginate.js.map +1 -1
  236. package/dist/src/lib/project-config.d.ts +38 -21
  237. package/dist/src/lib/project-config.js +57 -47
  238. package/dist/src/lib/project-config.js.map +1 -1
  239. package/dist/src/lib/prompt-cost-format.d.ts +11 -0
  240. package/dist/src/lib/prompt-cost-format.js +41 -0
  241. package/dist/src/lib/prompt-cost-format.js.map +1 -0
  242. package/dist/src/lib/prompt-schema-codegen.d.ts +147 -0
  243. package/dist/src/lib/prompt-schema-codegen.js +462 -0
  244. package/dist/src/lib/prompt-schema-codegen.js.map +1 -0
  245. package/dist/src/lib/refresh-admin-credentials.d.ts +9 -1
  246. package/dist/src/lib/refresh-admin-credentials.js +22 -2
  247. package/dist/src/lib/refresh-admin-credentials.js.map +1 -1
  248. package/dist/src/lib/resolve-owner.d.ts +19 -0
  249. package/dist/src/lib/resolve-owner.js +20 -0
  250. package/dist/src/lib/resolve-owner.js.map +1 -0
  251. package/dist/src/lib/skill-installer.d.ts +49 -3
  252. package/dist/src/lib/skill-installer.js +275 -100
  253. package/dist/src/lib/skill-installer.js.map +1 -1
  254. package/dist/src/lib/snapshot-audit-source.d.ts +45 -0
  255. package/dist/src/lib/snapshot-audit-source.js +58 -0
  256. package/dist/src/lib/snapshot-audit-source.js.map +1 -0
  257. package/dist/src/lib/snapshot-audit-store.d.ts +52 -0
  258. package/dist/src/lib/snapshot-audit-store.js +196 -0
  259. package/dist/src/lib/snapshot-audit-store.js.map +1 -0
  260. package/dist/src/lib/snapshot-audit.d.ts +207 -0
  261. package/dist/src/lib/snapshot-audit.js +431 -0
  262. package/dist/src/lib/snapshot-audit.js.map +1 -0
  263. package/dist/src/lib/snapshot-build-rows.d.ts +60 -0
  264. package/dist/src/lib/snapshot-build-rows.js +87 -0
  265. package/dist/src/lib/snapshot-build-rows.js.map +1 -0
  266. package/dist/src/lib/snapshot-build.d.ts +50 -0
  267. package/dist/src/lib/snapshot-build.js +111 -0
  268. package/dist/src/lib/snapshot-build.js.map +1 -0
  269. package/dist/src/lib/snapshot-manifest-layout.d.ts +61 -0
  270. package/dist/src/lib/snapshot-manifest-layout.js +70 -0
  271. package/dist/src/lib/snapshot-manifest-layout.js.map +1 -0
  272. package/dist/src/lib/snapshots.d.ts +8 -9
  273. package/dist/src/lib/snapshots.js +20 -83
  274. package/dist/src/lib/snapshots.js.map +1 -1
  275. package/dist/src/lib/step-run-table.d.ts +43 -0
  276. package/dist/src/lib/step-run-table.js +129 -0
  277. package/dist/src/lib/step-run-table.js.map +1 -0
  278. package/dist/src/lib/storage-pending-retry.d.ts +26 -0
  279. package/dist/src/lib/storage-pending-retry.js +42 -0
  280. package/dist/src/lib/storage-pending-retry.js.map +1 -0
  281. package/dist/src/lib/swift-codegen/agentGenerator.d.ts +42 -0
  282. package/dist/src/lib/swift-codegen/agentGenerator.js +118 -0
  283. package/dist/src/lib/swift-codegen/agentGenerator.js.map +1 -0
  284. package/dist/src/lib/swift-codegen/banners.d.ts +24 -0
  285. package/dist/src/lib/swift-codegen/banners.js +25 -0
  286. package/dist/src/lib/swift-codegen/banners.js.map +1 -0
  287. package/dist/src/lib/swift-codegen/dbGenerator.js +19 -7
  288. package/dist/src/lib/swift-codegen/dbGenerator.js.map +1 -1
  289. package/dist/src/lib/swift-codegen/functionGenerator.d.ts +139 -0
  290. package/dist/src/lib/swift-codegen/functionGenerator.js +462 -0
  291. package/dist/src/lib/swift-codegen/functionGenerator.js.map +1 -0
  292. package/dist/src/lib/swift-codegen/generator.d.ts +7 -1
  293. package/dist/src/lib/swift-codegen/generator.js +28 -11
  294. package/dist/src/lib/swift-codegen/generator.js.map +1 -1
  295. package/dist/src/lib/swift-codegen/schemaToSwift.d.ts +15 -0
  296. package/dist/src/lib/swift-codegen/schemaToSwift.js +21 -4
  297. package/dist/src/lib/swift-codegen/schemaToSwift.js.map +1 -1
  298. package/dist/src/lib/sync-paths.d.ts +72 -55
  299. package/dist/src/lib/sync-paths.js +97 -100
  300. package/dist/src/lib/sync-paths.js.map +1 -1
  301. package/dist/src/lib/sync-resource-types.d.ts +23 -4
  302. package/dist/src/lib/sync-resource-types.js +106 -8
  303. package/dist/src/lib/sync-resource-types.js.map +1 -1
  304. package/dist/src/lib/sync-selectors.d.ts +45 -2
  305. package/dist/src/lib/sync-selectors.js +66 -5
  306. package/dist/src/lib/sync-selectors.js.map +1 -1
  307. package/dist/src/lib/template.d.ts +2 -2
  308. package/dist/src/lib/template.js +2 -2
  309. package/dist/src/lib/test-case-keys.d.ts +1 -1
  310. package/dist/src/lib/test-case-keys.js +1 -1
  311. package/dist/src/lib/test-case-variables.d.ts +14 -0
  312. package/dist/src/lib/test-case-variables.js +42 -0
  313. package/dist/src/lib/test-case-variables.js.map +1 -1
  314. package/dist/src/lib/toml-database-config.js +19 -2
  315. package/dist/src/lib/toml-database-config.js.map +1 -1
  316. package/dist/src/lib/webhook-deliver.d.ts +209 -0
  317. package/dist/src/lib/webhook-deliver.js +519 -0
  318. package/dist/src/lib/webhook-deliver.js.map +1 -0
  319. package/dist/src/lib/workflow-codegen/generator.d.ts +1 -1
  320. package/dist/src/lib/workflow-codegen/generator.js +1 -1
  321. package/dist/src/lib/workflow-toml-validator.d.ts +17 -8
  322. package/dist/src/lib/workflow-toml-validator.js +25 -12
  323. package/dist/src/lib/workflow-toml-validator.js.map +1 -1
  324. package/dist/src/lib/workflow-usage.d.ts +196 -0
  325. package/dist/src/lib/workflow-usage.js +310 -0
  326. package/dist/src/lib/workflow-usage.js.map +1 -0
  327. package/dist/src/types/index.d.ts +12 -2
  328. package/package.json +5 -4
@@ -40,8 +40,11 @@
40
40
  * Nothing here reaches the network; adapters are pure functions over records
41
41
  * the caller already fetched (one upstream call per command invocation).
42
42
  */
43
+ import { type ListEnvelope } from "./paginate.js";
43
44
  /** The log store an entry came from. Workflow runs and steps are distinct. */
44
- export type LogSource = "integration" | "workflow-run" | "workflow-step" | "webhook" | "activity";
45
+ export type LogSource = "integration" | "workflow-run" | "workflow-step" | "webhook" | "activity"
46
+ /** A server function's invocation record — #3287. */
47
+ | "function-log";
45
48
  /**
46
49
  * Normalized outcome vocabulary (platform terms only):
47
50
  * - `ok` — completed / accepted successfully
@@ -68,6 +71,14 @@ export interface Correlation {
68
71
  integrationKey?: string;
69
72
  webhookId?: string;
70
73
  workflowRunId?: string;
74
+ /**
75
+ * The function whose run made an outbound call — #3691.
76
+ *
77
+ * A pivot key like the rest: it is what `functions logs <function-id>` and
78
+ * `functions runs <function-id>` take, and it is not recoverable from the
79
+ * attributed `userId`, which is `sys:<appId>` for a call no human made.
80
+ */
81
+ functionId?: string;
71
82
  /** The acting user, where the source records one (workflow, activity). */
72
83
  userId?: string;
73
84
  }
@@ -86,8 +97,14 @@ interface BaseLogEntry {
86
97
  export interface IntegrationDetail {
87
98
  method?: string;
88
99
  path?: string;
89
- /** The call source: user | admin | test | workflow. */
100
+ /** The call source: user | admin | test | workflow | function. */
90
101
  callSource?: string;
102
+ /**
103
+ * The key of the function that made the call — #3183 writes it on the row,
104
+ * #3691 surfaces it. Attribution an operator reads, filed beside
105
+ * `callSource` the way the `function-log` view files its own key.
106
+ */
107
+ functionKey?: string;
91
108
  requestBytes?: number;
92
109
  responseBytes?: number;
93
110
  errorCode?: string;
@@ -146,6 +163,41 @@ export interface WebhookDetail {
146
163
  payloadSummary?: string;
147
164
  processingDurationMs?: number;
148
165
  }
166
+ /**
167
+ * One captured console line — #3287. The same `{ t, s, line }` shape the
168
+ * record stores, so a consumer reading the detail reads what was printed.
169
+ */
170
+ export interface FunctionLogLine {
171
+ /** Milliseconds after the capture began. */
172
+ t: number;
173
+ /** `out` for log/info/debug/trace, `err` for warn/error. */
174
+ s: "out" | "err";
175
+ line: string;
176
+ /** Written at the bundle's module scope, before any invocation claimed it. */
177
+ m?: true;
178
+ }
179
+ /**
180
+ * A server function invocation, as an operator reads it — #3287.
181
+ *
182
+ * An allowlist like every other detail here: the correlation keys are on the
183
+ * envelope's `correlation`, and what is left is what the invocation DID.
184
+ */
185
+ export interface FunctionLogDetail {
186
+ functionKey?: string;
187
+ configId?: string;
188
+ contentHash?: string;
189
+ /** `http`, `webhook`, `cron`, `database`, `workflow`, `function`. */
190
+ triggerKind?: string;
191
+ errorCode?: string;
192
+ errorMessage?: string;
193
+ errorStack?: string;
194
+ stdout?: FunctionLogLine[];
195
+ stderr?: FunctionLogLine[];
196
+ /** A line or the channel hit a cap. */
197
+ truncated?: boolean;
198
+ /** The drain found nothing — an evicted isolate, not an empty function. */
199
+ logsUnavailable?: boolean;
200
+ }
149
201
  export interface ActivityDetail {
150
202
  action?: string;
151
203
  feature?: string;
@@ -183,11 +235,26 @@ export interface WebhookLogEntry extends BaseLogEntry {
183
235
  }
184
236
  export interface ActivityLogEntry extends BaseLogEntry {
185
237
  source: "activity";
186
- /** Activity events carry no success/failure status. */
187
- nativeStatus: null;
238
+ /**
239
+ * The activity row's own status, where the action records one.
240
+ *
241
+ * Almost no action does — an activity event is a COUNT, and reading one as
242
+ * a success or a failure would be fabricating a signal. `function.invoke`
243
+ * is the exception (#3287): the emit already carries the settled status in
244
+ * its context, so a failed invocation can be counted as a failure instead
245
+ * of reported as `neutral` (which is what it was, and what made the shared
246
+ * inspection contract unable to count failures at all).
247
+ */
248
+ nativeStatus: string | null;
188
249
  detail: ActivityDetail;
189
250
  }
190
- export type LogEntry = IntegrationLogEntry | WorkflowRunLogEntry | WorkflowStepLogEntry | WebhookLogEntry | ActivityLogEntry;
251
+ export interface FunctionLogEntry extends BaseLogEntry {
252
+ source: "function-log";
253
+ /** `completed`, `failed`, `timeout`, or the platform's own refusal code. */
254
+ nativeStatus: string | null;
255
+ detail: FunctionLogDetail;
256
+ }
257
+ export type LogEntry = IntegrationLogEntry | WorkflowRunLogEntry | WorkflowStepLogEntry | WebhookLogEntry | ActivityLogEntry | FunctionLogEntry;
191
258
  export interface RawIntegrationLog {
192
259
  timestamp?: string;
193
260
  status?: number;
@@ -206,6 +273,9 @@ export interface RawIntegrationLog {
206
273
  workflowKey?: string;
207
274
  runId?: string;
208
275
  stepId?: string;
276
+ /** #3183/#3691 — which function made the call, on a function-path row. */
277
+ functionId?: string;
278
+ functionKey?: string;
209
279
  }
210
280
  export interface RawWorkflowRun {
211
281
  runId?: string;
@@ -270,6 +340,34 @@ export interface RawActivityRow {
270
340
  total_tokens?: number;
271
341
  [key: string]: unknown;
272
342
  }
343
+ /** One invocation record, as the logs routes answer it — #3287. */
344
+ export interface RawFunctionLog {
345
+ invocationId?: string;
346
+ functionId?: string;
347
+ functionKey?: string | null;
348
+ configId?: string | null;
349
+ contentHash?: string | null;
350
+ runId?: string | null;
351
+ trigger?: {
352
+ kind?: string;
353
+ [key: string]: unknown;
354
+ } | null;
355
+ /** #3482 — which runtime the platform ran this invocation under. */
356
+ runtime?: string | null;
357
+ attributionUserId?: string | null;
358
+ status?: string;
359
+ errorCode?: string | null;
360
+ errorMessage?: string | null;
361
+ errorStack?: string | null;
362
+ stdout?: FunctionLogLine[];
363
+ stderr?: FunctionLogLine[];
364
+ truncated?: boolean;
365
+ logsUnavailable?: boolean;
366
+ contentSuppressed?: boolean;
367
+ durationMs?: number;
368
+ startedAt?: string | null;
369
+ [key: string]: unknown;
370
+ }
273
371
  /** HTTP status → outcome: `<400` ok, `>=400` error, absent neutral. */
274
372
  export declare function integrationOutcome(httpStatus: number | null | undefined): Outcome;
275
373
  /**
@@ -356,6 +454,40 @@ export declare function toWebhookInspectionRow(raw: RawWebhookEvent): WebhookLog
356
454
  * `entity_key`, …) is dropped by construction, not enumerated as a denylist.
357
455
  */
358
456
  export declare function toActivityInspectionRow(raw: RawActivityRow): ActivityLogEntry;
457
+ /**
458
+ * An invocation record's status → outcome — #3287.
459
+ *
460
+ * `completed` is the only success. Everything else that names a settled
461
+ * invocation is a failure an operator has to be able to COUNT: the function
462
+ * threw (`failed`), it ran out of wall clock (`timeout`), or the platform
463
+ * refused the dispatch before any code ran and recorded its own code
464
+ * (`FUNCTION_BUNDLE_MISSING` and friends). A status nobody has taught this
465
+ * function is `neutral`, never fabricated as `ok`.
466
+ */
467
+ export declare function functionLogOutcome(status: string | null | undefined): Outcome;
468
+ export declare function toFunctionLogInspectionRow(raw: RawFunctionLog): FunctionLogEntry;
469
+ /**
470
+ * The settled status a `function.invoke` activity row carries — #3287, D-2.
471
+ *
472
+ * The intent keeps the event a COUNT and adds no blob: the emit already puts
473
+ * the settled status in the event's context, so nothing on the write side
474
+ * moves. What moved is this — the shared inspection contract reported a failed
475
+ * invocation as `neutral`, which meant an operator could not count failures at
476
+ * all, and the count was the one thing the event was for.
477
+ *
478
+ * `context_json` arrives as an object or as a JSON STRING depending on the
479
+ * store, and an unparseable one is not a reason to guess: it answers null and
480
+ * the row stays `neutral`, exactly as every other action does.
481
+ */
482
+ export declare function functionInvokeStatus(raw: RawActivityRow): string | null;
483
+ /**
484
+ * `function.invoke`'s status → outcome; every other action stays `neutral`.
485
+ *
486
+ * `started` is `pending` on purpose: a task start is in flight when the row is
487
+ * written, and its terminal outcome lives on the run row, which the
488
+ * `workflow-run` source already maps.
489
+ */
490
+ export declare function activityOutcome(status: string | null): Outcome;
359
491
  /** Build the "flag not supported for this source" message (behavior 12). */
360
492
  export declare function unsupportedFlagMessage(flag: string, source: string, supported: string[]): string;
361
493
  /**
@@ -417,6 +549,21 @@ export interface RawActivityResponse {
417
549
  }
418
550
  export declare function buildIntegrationEnvelope(raw: RawIntegrationLog[]): UnpaginatedEnvelope<IntegrationLogEntry>;
419
551
  export declare function buildWorkflowRunEnvelope(raw: RawWorkflowRun[], page?: RawPage): PaginatedEnvelope<WorkflowRunLogEntry>;
552
+ /**
553
+ * The `workflows runs list --json` envelope (#3646).
554
+ *
555
+ * `runs list` is a `list` verb, so what it prints is the CLI's one list
556
+ * envelope — `{items, hasMore, nextCursor?}`, with `nextCursor` OMITTED on the
557
+ * last page and the deprecated `cursor` alias not re-emitted — rather than the
558
+ * endpoint's #1316 envelope passed through, which is what
559
+ * {@link buildWorkflowRunEnvelope} still does for `runs failures` (a sweep, not
560
+ * a `list`). The rows are the same inspection shape either way, and `scanned`
561
+ * (#2237) survives as a key beside the envelope's three because it describes
562
+ * how far the filtered read got, which is not a pagination claim.
563
+ */
564
+ export declare function buildWorkflowRunListEnvelope(raw: RawWorkflowRun[], page?: RawPage): ListEnvelope<WorkflowRunLogEntry> & {
565
+ scanned?: number;
566
+ };
420
567
  export declare function buildWorkflowStepEnvelope(raw: RawWorkflowStepRun[]): UnpaginatedEnvelope<WorkflowStepLogEntry>;
421
568
  export declare function buildWebhookEnvelope(raw: RawWebhookEvent[], page?: RawPage): PaginatedEnvelope<WebhookLogEntry>;
422
569
  /**
@@ -40,6 +40,7 @@
40
40
  * Nothing here reaches the network; adapters are pure functions over records
41
41
  * the caller already fetched (one upstream call per command invocation).
42
42
  */
43
+ import { normalizeCliListEnvelope } from "./paginate.js";
43
44
  // ── Outcome normalizers (documented policy table, behavior 2) ─────────
44
45
  /** HTTP status → outcome: `<400` ok, `>=400` error, absent neutral. */
45
46
  export function integrationOutcome(httpStatus) {
@@ -149,10 +150,14 @@ export function toIntegrationInspectionRow(raw) {
149
150
  nativeStatus: status,
150
151
  durationMs: raw.durationMs ?? null,
151
152
  correlation: omitEmpty({
153
+ // #3691 — a workflow step's run, or a function run's. Both are on the
154
+ // row under the same name, because a call belongs to one run either
155
+ // way; the id the CLI prints is the one the run surfaces take.
152
156
  runId: raw.runId,
153
157
  stepId: raw.stepId,
154
158
  traceId: raw.traceId,
155
159
  workflowKey: raw.workflowKey,
160
+ functionId: raw.functionId,
156
161
  integrationKey: raw.integrationKey,
157
162
  userId: raw.actorId,
158
163
  }),
@@ -160,6 +165,7 @@ export function toIntegrationInspectionRow(raw) {
160
165
  method: raw.method,
161
166
  path: raw.path,
162
167
  callSource: raw.source,
168
+ functionKey: raw.functionKey,
163
169
  requestBytes: raw.requestBytes,
164
170
  responseBytes: raw.responseBytes,
165
171
  errorCode: raw.errorCode,
@@ -343,11 +349,15 @@ export function toWebhookInspectionRow(raw) {
343
349
  * `entity_key`, …) is dropped by construction, not enumerated as a denylist.
344
350
  */
345
351
  export function toActivityInspectionRow(raw) {
352
+ const invoke = functionInvokeStatus(raw);
346
353
  return {
347
354
  source: "activity",
348
355
  timestamp: raw.timestamp ?? null,
349
- outcome: "neutral",
350
- nativeStatus: null,
356
+ // Activity events are counts, and reading one as a success or a failure
357
+ // would be fabricating a signal — with ONE exception (#3287). See
358
+ // `functionInvokeStatus`.
359
+ outcome: activityOutcome(invoke),
360
+ nativeStatus: invoke,
351
361
  durationMs: raw.duration_ms ?? null,
352
362
  correlation: omitEmpty({
353
363
  userId: raw.user_ulid,
@@ -366,7 +376,152 @@ export function toActivityInspectionRow(raw) {
366
376
  }),
367
377
  };
368
378
  }
379
+ /**
380
+ * An invocation record's status → outcome — #3287.
381
+ *
382
+ * `completed` is the only success. Everything else that names a settled
383
+ * invocation is a failure an operator has to be able to COUNT: the function
384
+ * threw (`failed`), it ran out of wall clock (`timeout`), or the platform
385
+ * refused the dispatch before any code ran and recorded its own code
386
+ * (`FUNCTION_BUNDLE_MISSING` and friends). A status nobody has taught this
387
+ * function is `neutral`, never fabricated as `ok`.
388
+ */
389
+ export function functionLogOutcome(status) {
390
+ if (!status)
391
+ return "neutral";
392
+ if (status === "completed")
393
+ return "ok";
394
+ if (status === "failed" || status === "timeout")
395
+ return "error";
396
+ // A slice that is still running has printed something and settled nothing.
397
+ if (status === "running")
398
+ return "pending";
399
+ // The platform's own refusal codes are SHOUTED, which is what tells them
400
+ // apart from a settled status without enumerating a list that would go
401
+ // stale the moment a code is added.
402
+ if (/^[A-Z][A-Z0-9_]*$/.test(status))
403
+ return "error";
404
+ return "neutral";
405
+ }
406
+ /**
407
+ * One invocation record in the SHARED inspection item shape — #3287,
408
+ * DSO3287-007.
409
+ *
410
+ * The guide requires every log view's JSON and follow output to carry
411
+ * `source`/`timestamp`/`outcome`/`nativeStatus`/`correlation`, so a consumer
412
+ * can classify and pivot without knowing which store answered. Projecting the
413
+ * native record straight out would have left function logs the one view that
414
+ * shared consumers could not read.
415
+ *
416
+ * `detail` is an allowlist, as every other adapter's is: the correlation keys
417
+ * move to `correlation`, and what stays is what the invocation did.
418
+ */
419
+ /** The run a trigger descriptor names, when the record itself names none. */
420
+ function triggerRunId(raw) {
421
+ const runId = raw.trigger?.runId;
422
+ return typeof runId === "string" && runId.length > 0 ? runId : undefined;
423
+ }
424
+ export function toFunctionLogInspectionRow(raw) {
425
+ const status = raw.status ?? null;
426
+ return {
427
+ source: "function-log",
428
+ timestamp: raw.startedAt ?? null,
429
+ outcome: functionLogOutcome(status),
430
+ nativeStatus: status,
431
+ durationMs: raw.durationMs ?? null,
432
+ correlation: omitEmpty({
433
+ // A trigger fire and a task slice name their run; a request invocation
434
+ // has none, and its own id is its key.
435
+ //
436
+ // The `workflow.call` bridge is the case that needs saying (CR3287-010):
437
+ // its record carries `runId: null` on purpose — the leaf has no run row
438
+ // of its own — and names the PARENT's run inside the trigger. Reading
439
+ // only `raw.runId` there dropped the one correlation that leads a failing
440
+ // leaf back to the run that called it, while keeping the workflow key
441
+ // and the step id beside it.
442
+ runId: raw.runId ?? triggerRunId(raw) ?? undefined,
443
+ workflowRunId: raw.runId ?? triggerRunId(raw) ?? undefined,
444
+ workflowKey: typeof raw.trigger?.workflowKey === "string"
445
+ ? raw.trigger.workflowKey
446
+ : undefined,
447
+ stepId: typeof raw.trigger?.stepId === "string"
448
+ ? raw.trigger.stepId
449
+ : undefined,
450
+ eventId: raw.invocationId,
451
+ userId: raw.attributionUserId ?? undefined,
452
+ }),
453
+ detail: omitEmpty({
454
+ functionKey: raw.functionKey ?? undefined,
455
+ configId: raw.configId ?? undefined,
456
+ contentHash: raw.contentHash ?? undefined,
457
+ triggerKind: raw.trigger?.kind,
458
+ // #3482 — `triggerKind` says which DOOR fired it; this says whether the
459
+ // platform ran the code inside the request or as a task run. Additive,
460
+ // and absent on a record written before the column.
461
+ runtime: raw.runtime ?? undefined,
462
+ errorCode: raw.errorCode ?? undefined,
463
+ errorMessage: raw.errorMessage ?? undefined,
464
+ errorStack: raw.errorStack ?? undefined,
465
+ stdout: raw.stdout,
466
+ stderr: raw.stderr,
467
+ truncated: raw.truncated,
468
+ logsUnavailable: raw.logsUnavailable,
469
+ // The console and the error fields were dropped because the platform
470
+ // could not load the secrets it redacts against — a record that is
471
+ // deliberately short, not a function that was quiet (CR3287-003).
472
+ contentSuppressed: raw.contentSuppressed,
473
+ }),
474
+ };
475
+ }
369
476
  // ── Unsupported-flag rejection helper ────────────────────────────────
477
+ /**
478
+ * The settled status a `function.invoke` activity row carries — #3287, D-2.
479
+ *
480
+ * The intent keeps the event a COUNT and adds no blob: the emit already puts
481
+ * the settled status in the event's context, so nothing on the write side
482
+ * moves. What moved is this — the shared inspection contract reported a failed
483
+ * invocation as `neutral`, which meant an operator could not count failures at
484
+ * all, and the count was the one thing the event was for.
485
+ *
486
+ * `context_json` arrives as an object or as a JSON STRING depending on the
487
+ * store, and an unparseable one is not a reason to guess: it answers null and
488
+ * the row stays `neutral`, exactly as every other action does.
489
+ */
490
+ export function functionInvokeStatus(raw) {
491
+ if (raw.action !== "function.invoke")
492
+ return null;
493
+ let context = raw.context_json;
494
+ if (typeof context === "string") {
495
+ try {
496
+ context = JSON.parse(context);
497
+ }
498
+ catch {
499
+ return null;
500
+ }
501
+ }
502
+ if (!context || typeof context !== "object")
503
+ return null;
504
+ const status = context.status;
505
+ return typeof status === "string" && status.length > 0 ? status : null;
506
+ }
507
+ /**
508
+ * `function.invoke`'s status → outcome; every other action stays `neutral`.
509
+ *
510
+ * `started` is `pending` on purpose: a task start is in flight when the row is
511
+ * written, and its terminal outcome lives on the run row, which the
512
+ * `workflow-run` source already maps.
513
+ */
514
+ export function activityOutcome(status) {
515
+ if (!status)
516
+ return "neutral";
517
+ if (status === "completed")
518
+ return "ok";
519
+ if (status === "failed" || status === "timeout")
520
+ return "error";
521
+ if (status === "started")
522
+ return "pending";
523
+ return "neutral";
524
+ }
370
525
  /** Build the "flag not supported for this source" message (behavior 12). */
371
526
  export function unsupportedFlagMessage(flag, source, supported) {
372
527
  const list = supported.length > 0 ? supported.join(", ") : "(none)";
@@ -406,6 +561,28 @@ export function buildIntegrationEnvelope(raw) {
406
561
  export function buildWorkflowRunEnvelope(raw, page = {}) {
407
562
  return { items: raw.map(toWorkflowRunInspectionRow), ...paginationOf(page) };
408
563
  }
564
+ /**
565
+ * The `workflows runs list --json` envelope (#3646).
566
+ *
567
+ * `runs list` is a `list` verb, so what it prints is the CLI's one list
568
+ * envelope — `{items, hasMore, nextCursor?}`, with `nextCursor` OMITTED on the
569
+ * last page and the deprecated `cursor` alias not re-emitted — rather than the
570
+ * endpoint's #1316 envelope passed through, which is what
571
+ * {@link buildWorkflowRunEnvelope} still does for `runs failures` (a sweep, not
572
+ * a `list`). The rows are the same inspection shape either way, and `scanned`
573
+ * (#2237) survives as a key beside the envelope's three because it describes
574
+ * how far the filtered read got, which is not a pagination claim.
575
+ */
576
+ export function buildWorkflowRunListEnvelope(raw, page = {}) {
577
+ const envelope = normalizeCliListEnvelope({
578
+ items: raw.map(toWorkflowRunInspectionRow),
579
+ hasMore: page.hasMore,
580
+ nextCursor: page.nextCursor ?? page.cursor,
581
+ });
582
+ return typeof page.scanned === "number"
583
+ ? { ...envelope, scanned: page.scanned }
584
+ : envelope;
585
+ }
409
586
  export function buildWorkflowStepEnvelope(raw) {
410
587
  return { items: raw.map(toWorkflowStepInspectionRow) };
411
588
  }
@@ -1 +1 @@
1
- {"version":3,"file":"log-inspection.js","sourceRoot":"","sources":["../../../src/lib/log-inspection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log-inspection.js","sourceRoot":"","sources":["../../../src/lib/log-inspection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Revoke the stored admin session on the server — `primitive logout` (#3885).
3
+ *
4
+ * Logout used to delete the local credentials file and nothing else, so the
5
+ * refresh token it held stayed valid for its whole 30-day sliding life. Now the
6
+ * CLI posts that refresh token to `POST /admin/api/auth/logout`, which revokes
7
+ * its session, and clears the local file only once the server has answered.
8
+ *
9
+ * Like `refresh-admin-credentials.ts`, this module does the HTTP exchange and
10
+ * classifies the answer; it neither prints nor touches the credentials store.
11
+ * The caller decides:
12
+ *
13
+ * - `revoked`: the server ended the session (or had nothing to end) — clear.
14
+ * - `already-invalid`: 401, the stored token was refused outright — nothing
15
+ * is left to revoke, so clear.
16
+ * - a thrown `LogoutError`: the server could not be reached or did not
17
+ * answer usably — the session may still be live, so KEEP the credentials
18
+ * so a re-run can revoke it.
19
+ */
20
+ import type { Credentials } from "../types/index.js";
21
+ export type LogoutOutcome = {
22
+ kind: "revoked";
23
+ revoked: string[];
24
+ } | {
25
+ kind: "already-invalid";
26
+ status: number;
27
+ };
28
+ export declare class LogoutError extends Error {
29
+ statusCode?: number;
30
+ cause?: unknown;
31
+ constructor(message: string, statusCode?: number, cause?: unknown);
32
+ }
33
+ export declare function logoutAdminSession(credentials: Credentials): Promise<LogoutOutcome>;
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Revoke the stored admin session on the server — `primitive logout` (#3885).
3
+ *
4
+ * Logout used to delete the local credentials file and nothing else, so the
5
+ * refresh token it held stayed valid for its whole 30-day sliding life. Now the
6
+ * CLI posts that refresh token to `POST /admin/api/auth/logout`, which revokes
7
+ * its session, and clears the local file only once the server has answered.
8
+ *
9
+ * Like `refresh-admin-credentials.ts`, this module does the HTTP exchange and
10
+ * classifies the answer; it neither prints nor touches the credentials store.
11
+ * The caller decides:
12
+ *
13
+ * - `revoked`: the server ended the session (or had nothing to end) — clear.
14
+ * - `already-invalid`: 401, the stored token was refused outright — nothing
15
+ * is left to revoke, so clear.
16
+ * - a thrown `LogoutError`: the server could not be reached or did not
17
+ * answer usably — the session may still be live, so KEEP the credentials
18
+ * so a re-run can revoke it.
19
+ */
20
+ import { fetchWithTLS } from "./fetch.js";
21
+ export class LogoutError extends Error {
22
+ statusCode;
23
+ cause;
24
+ constructor(message, statusCode, cause) {
25
+ super(message);
26
+ this.statusCode = statusCode;
27
+ this.cause = cause;
28
+ this.name = "LogoutError";
29
+ }
30
+ }
31
+ export async function logoutAdminSession(credentials) {
32
+ const url = `${credentials.serverUrl}/admin/api/auth/logout`;
33
+ const headers = {
34
+ "Content-Type": "application/json",
35
+ };
36
+ if (credentials.globalAdminAppId) {
37
+ headers["X-Global-Admin-App-Id"] = credentials.globalAdminAppId;
38
+ }
39
+ let response;
40
+ try {
41
+ response = await fetchWithTLS(url, {
42
+ method: "POST",
43
+ headers,
44
+ body: JSON.stringify(credentials.refreshToken ? { refreshToken: credentials.refreshToken } : {}),
45
+ });
46
+ }
47
+ catch (cause) {
48
+ const reason = cause instanceof Error && cause.message ? cause.message : String(cause);
49
+ throw new LogoutError(`Could not reach ${credentials.serverUrl}: ${reason}.`, undefined, cause);
50
+ }
51
+ if (response.status === 401) {
52
+ return { kind: "already-invalid", status: 401 };
53
+ }
54
+ if (!response.ok) {
55
+ throw new LogoutError(`${credentials.serverUrl} answered ${response.status}.`, response.status);
56
+ }
57
+ let revoked = [];
58
+ try {
59
+ const body = (await response.json());
60
+ if (Array.isArray(body?.revoked)) {
61
+ revoked = body.revoked.filter((id) => typeof id === "string");
62
+ }
63
+ }
64
+ catch {
65
+ // A server before #3885 answers `{ success: true }` or nothing usable:
66
+ // it revoked nothing, and there is nothing more to do.
67
+ }
68
+ return { kind: "revoked", revoked };
69
+ }
70
+ //# sourceMappingURL=logout-admin-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout-admin-session.js","sourceRoot":"","sources":["../../../src/lib/logout-admin-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAO1C,MAAM,OAAO,WAAY,SAAQ,KAAK;IAG3B;IACA;IAHT,YACE,OAAe,EACR,UAAmB,EACnB,KAAe;QAEtB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,eAAU,GAAV,UAAU,CAAS;QACnB,UAAK,GAAL,KAAK,CAAU;QAGtB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,WAAwB;IAExB,MAAM,GAAG,GAAG,GAAG,WAAW,CAAC,SAAS,wBAAwB,CAAC;IAC7D,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;KACnC,CAAC;IACF,IAAI,WAAW,CAAC,gBAAgB,EAAE,CAAC;QACjC,OAAO,CAAC,uBAAuB,CAAC,GAAG,WAAW,CAAC,gBAAgB,CAAC;IAClE,CAAC;IAED,IAAI,QAAkD,CAAC;IACvD,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE;YACjC,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAC3E;SACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GACV,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1E,MAAM,IAAI,WAAW,CACnB,mBAAmB,WAAW,CAAC,SAAS,KAAK,MAAM,GAAG,EACtD,SAAS,EACT,KAAK,CACN,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAClD,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,WAAW,CACnB,GAAG,WAAW,CAAC,SAAS,aAAa,QAAQ,CAAC,MAAM,GAAG,EACvD,QAAQ,CAAC,MAAM,CAChB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAQ,CAAC;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YACjC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAW,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uEAAuE;QACvE,uDAAuD;IACzD,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AACtC,CAAC"}
@@ -67,6 +67,21 @@ export declare function json(data: any): void;
67
67
  * `json()`; only the append-only follow stream uses `jsonLine`.
68
68
  */
69
69
  export declare function jsonLine(obj: unknown): void;
70
+ /**
71
+ * Wait for everything already printed to reach the OS (#3433, 3433-C12).
72
+ *
73
+ * `process.exit()` does not. stdout to a PIPE is asynchronous, so a command
74
+ * that ends on an explicit exit code — the audit ends on 0, 1 or 2, which is
75
+ * the contract a script keys on — can be cut off mid-document by its own exit
76
+ * when the consumer is not reading as fast as it writes: a report larger than
77
+ * the pipe buffer (64 KB on this platform) arrives as invalid JSON under the
78
+ * exit code of a clean run. An empty write is queued behind the ones that
79
+ * matter, so its callback is the answer to "has the rest gone out".
80
+ *
81
+ * A stream already gone (the classic `| head -1`) resolves rather than
82
+ * throwing: EPIPE is the reader's decision, not a failure of the command.
83
+ */
84
+ export declare function flushOutput(streams?: NodeJS.WriteStream[]): Promise<void>;
70
85
  export declare function formatDate(date: string | Date | null | undefined): string;
71
86
  /**
72
87
  * Colour a status value for terminal output. Covers both the resource