@pithy-sh/core 0.13.0 → 0.15.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 (354) hide show
  1. package/README.md +54 -0
  2. package/dist/audit/auditEvent.js +1 -1
  3. package/dist/audit/chain.d.ts +289 -0
  4. package/dist/audit/chain.d.ts.map +1 -0
  5. package/dist/audit/chain.js +400 -0
  6. package/dist/audit/citations.d.ts +52 -0
  7. package/dist/audit/citations.d.ts.map +1 -0
  8. package/dist/audit/citations.js +13 -0
  9. package/dist/capability/bindings.d.ts +22 -0
  10. package/dist/capability/bindings.d.ts.map +1 -1
  11. package/dist/capability/bindings.js +32 -2
  12. package/dist/capability/capability.d.ts +123 -16
  13. package/dist/capability/capability.d.ts.map +1 -1
  14. package/dist/capability/capability.js +17 -2
  15. package/dist/capability/erasure.d.ts +75 -0
  16. package/dist/capability/erasure.d.ts.map +1 -0
  17. package/dist/capability/erasure.js +2 -0
  18. package/dist/capability/manifest.d.ts +5 -0
  19. package/dist/capability/manifest.d.ts.map +1 -1
  20. package/dist/capability/personColumns.d.ts +28 -0
  21. package/dist/capability/personColumns.d.ts.map +1 -0
  22. package/dist/capability/personColumns.js +66 -0
  23. package/dist/capability/personRows.d.ts +62 -0
  24. package/dist/capability/personRows.d.ts.map +1 -0
  25. package/dist/capability/personRows.js +59 -0
  26. package/dist/capability/purge.d.ts +86 -19
  27. package/dist/capability/purge.d.ts.map +1 -1
  28. package/dist/capability/purge.js +83 -5
  29. package/dist/capability/settings.d.ts +10 -0
  30. package/dist/capability/settings.d.ts.map +1 -1
  31. package/dist/capability/vectorIndex.d.ts +36 -0
  32. package/dist/capability/vectorIndex.d.ts.map +1 -0
  33. package/dist/capability/vectorIndex.js +25 -0
  34. package/dist/cli/commandCatalog.generated.d.ts +438 -3
  35. package/dist/cli/commandCatalog.generated.d.ts.map +1 -1
  36. package/dist/cli/commandCatalog.generated.js +454 -2
  37. package/dist/cli/commandFacts.d.ts +8 -5
  38. package/dist/cli/commandFacts.d.ts.map +1 -1
  39. package/dist/cli/commandFacts.js +12 -3
  40. package/dist/consent/purpose.d.ts +70 -0
  41. package/dist/consent/purpose.d.ts.map +1 -0
  42. package/dist/consent/purpose.js +97 -0
  43. package/dist/consent/reader.d.ts +99 -0
  44. package/dist/consent/reader.d.ts.map +1 -0
  45. package/dist/consent/reader.js +33 -0
  46. package/dist/controlPlane/audit/actions.d.ts +15 -4
  47. package/dist/controlPlane/audit/actions.d.ts.map +1 -1
  48. package/dist/controlPlane/audit/actions.js +16 -5
  49. package/dist/controlPlane/capability.d.ts +10 -0
  50. package/dist/controlPlane/capability.d.ts.map +1 -1
  51. package/dist/controlPlane/capability.js +56 -8
  52. package/dist/controlPlane/context.d.ts +4 -0
  53. package/dist/controlPlane/context.d.ts.map +1 -1
  54. package/dist/controlPlane/context.js +3 -2
  55. package/dist/controlPlane/data/connection.d.ts +21 -2
  56. package/dist/controlPlane/data/connection.d.ts.map +1 -1
  57. package/dist/controlPlane/data/connection.js +13 -4
  58. package/dist/controlPlane/data/connections.d.ts +94 -0
  59. package/dist/controlPlane/data/connections.d.ts.map +1 -0
  60. package/dist/controlPlane/data/connections.js +151 -0
  61. package/dist/controlPlane/data/hold.d.ts +46 -0
  62. package/dist/controlPlane/data/hold.d.ts.map +1 -0
  63. package/dist/controlPlane/data/hold.js +36 -0
  64. package/dist/controlPlane/data/oidcTrust.d.ts +122 -0
  65. package/dist/controlPlane/data/oidcTrust.d.ts.map +1 -0
  66. package/dist/controlPlane/data/oidcTrust.js +173 -0
  67. package/dist/controlPlane/data/tables.d.ts +4 -0
  68. package/dist/controlPlane/data/tables.d.ts.map +1 -1
  69. package/dist/controlPlane/data/tables.js +9 -4
  70. package/dist/controlPlane/data/trustFirstCall.d.ts +16 -0
  71. package/dist/controlPlane/data/trustFirstCall.d.ts.map +1 -0
  72. package/dist/controlPlane/data/trustFirstCall.js +25 -0
  73. package/dist/controlPlane/discovery/adminRoute.d.ts +165 -2
  74. package/dist/controlPlane/discovery/adminRoute.d.ts.map +1 -1
  75. package/dist/controlPlane/discovery/adminRoute.js +32 -8
  76. package/dist/controlPlane/discovery/routeInput.d.ts +23 -0
  77. package/dist/controlPlane/discovery/routeInput.d.ts.map +1 -0
  78. package/dist/controlPlane/discovery/routeInput.js +80 -0
  79. package/dist/controlPlane/discovery/toolName.d.ts +21 -0
  80. package/dist/controlPlane/discovery/toolName.d.ts.map +1 -0
  81. package/dist/controlPlane/discovery/toolName.js +25 -0
  82. package/dist/controlPlane/erasure/attest.d.ts +78 -0
  83. package/dist/controlPlane/erasure/attest.d.ts.map +1 -0
  84. package/dist/controlPlane/erasure/attest.js +164 -0
  85. package/dist/controlPlane/erasure/read.d.ts +39 -0
  86. package/dist/controlPlane/erasure/read.d.ts.map +1 -0
  87. package/dist/controlPlane/erasure/read.js +140 -0
  88. package/dist/controlPlane/error/errors.d.ts +61 -2
  89. package/dist/controlPlane/error/errors.d.ts.map +1 -1
  90. package/dist/controlPlane/error/errors.js +13 -0
  91. package/dist/controlPlane/evidence/derive.d.ts +124 -0
  92. package/dist/controlPlane/evidence/derive.d.ts.map +1 -0
  93. package/dist/controlPlane/evidence/derive.js +343 -0
  94. package/dist/controlPlane/evidence/mapping.d.ts +85 -0
  95. package/dist/controlPlane/evidence/mapping.d.ts.map +1 -0
  96. package/dist/controlPlane/evidence/mapping.js +114 -0
  97. package/dist/controlPlane/evidence/pack.d.ts +46 -0
  98. package/dist/controlPlane/evidence/pack.d.ts.map +1 -0
  99. package/dist/controlPlane/evidence/pack.js +124 -0
  100. package/dist/controlPlane/http/connections.d.ts +96 -0
  101. package/dist/controlPlane/http/connections.d.ts.map +1 -0
  102. package/dist/controlPlane/http/connections.js +109 -0
  103. package/dist/controlPlane/http/guard.d.ts +23 -2
  104. package/dist/controlPlane/http/guard.d.ts.map +1 -1
  105. package/dist/controlPlane/http/guard.js +69 -12
  106. package/dist/controlPlane/http/handlers.d.ts +212 -10
  107. package/dist/controlPlane/http/handlers.d.ts.map +1 -1
  108. package/dist/controlPlane/http/handlers.js +117 -26
  109. package/dist/controlPlane/http/holds.d.ts +57 -0
  110. package/dist/controlPlane/http/holds.d.ts.map +1 -0
  111. package/dist/controlPlane/http/holds.js +98 -0
  112. package/dist/controlPlane/http/presence.d.ts +27 -0
  113. package/dist/controlPlane/http/presence.d.ts.map +1 -0
  114. package/dist/controlPlane/http/presence.js +67 -0
  115. package/dist/controlPlane/http/processing.d.ts +73 -0
  116. package/dist/controlPlane/http/processing.d.ts.map +1 -0
  117. package/dist/controlPlane/http/processing.js +17 -0
  118. package/dist/controlPlane/http/responses.d.ts +927 -3
  119. package/dist/controlPlane/http/responses.d.ts.map +1 -1
  120. package/dist/controlPlane/http/responses.js +283 -7
  121. package/dist/controlPlane/http/routes.d.ts +12 -2
  122. package/dist/controlPlane/http/routes.d.ts.map +1 -1
  123. package/dist/controlPlane/http/routes.js +182 -5
  124. package/dist/controlPlane/http/schemas.d.ts +63 -0
  125. package/dist/controlPlane/http/schemas.d.ts.map +1 -1
  126. package/dist/controlPlane/http/schemas.js +39 -1
  127. package/dist/controlPlane/http/verify.d.ts.map +1 -1
  128. package/dist/controlPlane/http/verify.js +13 -1
  129. package/dist/controlPlane/http/verifyTrust.d.ts +76 -0
  130. package/dist/controlPlane/http/verifyTrust.d.ts.map +1 -0
  131. package/dist/controlPlane/http/verifyTrust.js +75 -0
  132. package/dist/controlPlane/migrations/0004_connection_trusts.d.ts +15 -0
  133. package/dist/controlPlane/migrations/0004_connection_trusts.d.ts.map +1 -0
  134. package/dist/controlPlane/migrations/0004_connection_trusts.js +23 -0
  135. package/dist/controlPlane/migrations/0005_holds.d.ts +12 -0
  136. package/dist/controlPlane/migrations/0005_holds.d.ts.map +1 -0
  137. package/dist/controlPlane/migrations/0005_holds.js +26 -0
  138. package/dist/controlPlane/processing/derive.d.ts +77 -0
  139. package/dist/controlPlane/processing/derive.d.ts.map +1 -0
  140. package/dist/controlPlane/processing/derive.js +206 -0
  141. package/dist/controlPlane/processing/read.d.ts +10 -0
  142. package/dist/controlPlane/processing/read.d.ts.map +1 -0
  143. package/dist/controlPlane/processing/read.js +89 -0
  144. package/dist/controlPlane/scope/kind.d.ts +46 -0
  145. package/dist/controlPlane/scope/kind.d.ts.map +1 -0
  146. package/dist/controlPlane/scope/kind.js +52 -0
  147. package/dist/controlPlane/scope/scope.d.ts +58 -3
  148. package/dist/controlPlane/scope/scope.d.ts.map +1 -1
  149. package/dist/controlPlane/scope/scope.js +59 -4
  150. package/dist/controlPlane/token/jws.js +1 -1
  151. package/dist/controlPlane/token/mint.js +1 -1
  152. package/dist/controlPlane/wire.d.ts +23 -0
  153. package/dist/controlPlane/wire.d.ts.map +1 -1
  154. package/dist/controlPlane/wire.js +24 -1
  155. package/dist/createBackend.d.ts +13 -0
  156. package/dist/createBackend.d.ts.map +1 -1
  157. package/dist/createBackend.js +11 -3
  158. package/dist/createEntrypoint.d.ts +7 -0
  159. package/dist/createEntrypoint.d.ts.map +1 -1
  160. package/dist/createEntrypoint.js +4 -0
  161. package/dist/error/http.d.ts +168 -0
  162. package/dist/error/http.d.ts.map +1 -1
  163. package/dist/error/payload.d.ts +336 -0
  164. package/dist/error/payload.d.ts.map +1 -1
  165. package/dist/error/payload.js +112 -0
  166. package/dist/error/pithyError.d.ts +22 -0
  167. package/dist/error/pithyError.d.ts.map +1 -1
  168. package/dist/error/pithyError.js +31 -1
  169. package/dist/http/routeSpec.d.ts +46 -1
  170. package/dist/http/routeSpec.d.ts.map +1 -1
  171. package/dist/http/routeSpec.js +39 -5
  172. package/dist/http/verification.d.ts.map +1 -1
  173. package/dist/http/verification.js +1 -1
  174. package/dist/i18n/translator.d.ts +2 -1
  175. package/dist/i18n/translator.d.ts.map +1 -1
  176. package/dist/index.d.ts +1 -1
  177. package/dist/index.d.ts.map +1 -1
  178. package/dist/index.js +3 -3
  179. package/dist/logger/record.d.ts +98 -0
  180. package/dist/logger/record.d.ts.map +1 -1
  181. package/dist/mcp/annotations.d.ts +20 -0
  182. package/dist/mcp/annotations.d.ts.map +1 -0
  183. package/dist/mcp/annotations.js +23 -0
  184. package/dist/mcp/tools.d.ts +75 -0
  185. package/dist/mcp/tools.d.ts.map +1 -0
  186. package/dist/mcp/tools.js +118 -0
  187. package/dist/openapi/document.d.ts.map +1 -1
  188. package/dist/openapi/document.js +8 -26
  189. package/dist/openapi/operations.d.ts +35 -0
  190. package/dist/openapi/operations.d.ts.map +1 -0
  191. package/dist/openapi/operations.js +37 -0
  192. package/dist/presence/channel.d.ts +11 -0
  193. package/dist/presence/channel.d.ts.map +1 -0
  194. package/dist/presence/channel.js +65 -0
  195. package/dist/presence/declaration.d.ts +154 -0
  196. package/dist/presence/declaration.d.ts.map +1 -0
  197. package/dist/presence/declaration.js +164 -0
  198. package/dist/presence/durableObject.d.ts +61 -0
  199. package/dist/presence/durableObject.d.ts.map +1 -0
  200. package/dist/presence/durableObject.js +257 -0
  201. package/dist/presence/frames.d.ts +166 -0
  202. package/dist/presence/frames.d.ts.map +1 -0
  203. package/dist/presence/frames.js +90 -0
  204. package/dist/presence/http/guard.d.ts +11 -0
  205. package/dist/presence/http/guard.d.ts.map +1 -0
  206. package/dist/presence/http/guard.js +20 -0
  207. package/dist/presence/http/responses.d.ts +31 -0
  208. package/dist/presence/http/responses.d.ts.map +1 -0
  209. package/dist/presence/http/responses.js +34 -0
  210. package/dist/presence/http/routes.d.ts +24 -0
  211. package/dist/presence/http/routes.d.ts.map +1 -0
  212. package/dist/presence/http/routes.js +127 -0
  213. package/dist/presence/http/schemas.d.ts +29 -0
  214. package/dist/presence/http/schemas.d.ts.map +1 -0
  215. package/dist/presence/http/schemas.js +28 -0
  216. package/dist/presence/names.d.ts +23 -0
  217. package/dist/presence/names.d.ts.map +1 -0
  218. package/dist/presence/names.js +22 -0
  219. package/dist/presence/room.d.ts +95 -0
  220. package/dist/presence/room.d.ts.map +1 -0
  221. package/dist/presence/room.js +105 -0
  222. package/dist/presence/ticket.d.ts +55 -0
  223. package/dist/presence/ticket.d.ts.map +1 -0
  224. package/dist/presence/ticket.js +109 -0
  225. package/dist/privacy/classify.js +1 -1
  226. package/dist/privacy/encrypted.js +1 -1
  227. package/dist/processing/activity.d.ts +134 -0
  228. package/dist/processing/activity.d.ts.map +1 -0
  229. package/dist/processing/activity.js +161 -0
  230. package/dist/processing/composed.d.ts +18 -0
  231. package/dist/processing/composed.d.ts.map +1 -0
  232. package/dist/processing/composed.js +28 -0
  233. package/dist/processing/vocabulary.d.ts +26 -0
  234. package/dist/processing/vocabulary.d.ts.map +1 -0
  235. package/dist/processing/vocabulary.js +35 -0
  236. package/dist/queue/consumer.d.ts +59 -0
  237. package/dist/queue/consumer.d.ts.map +1 -0
  238. package/dist/queue/consumer.js +46 -0
  239. package/dist/retention/composed.d.ts +37 -0
  240. package/dist/retention/composed.d.ts.map +1 -0
  241. package/dist/retention/composed.js +66 -0
  242. package/dist/retention/holds.d.ts +61 -0
  243. package/dist/retention/holds.d.ts.map +1 -0
  244. package/dist/retention/holds.js +107 -0
  245. package/dist/retention/holdsPurge.d.ts +22 -0
  246. package/dist/retention/holdsPurge.d.ts.map +1 -0
  247. package/dist/retention/holdsPurge.js +50 -0
  248. package/dist/retention/policy.d.ts +132 -0
  249. package/dist/retention/policy.d.ts.map +1 -0
  250. package/dist/retention/policy.js +197 -0
  251. package/dist/session/rotated.d.ts +34 -0
  252. package/dist/session/rotated.d.ts.map +1 -0
  253. package/dist/session/rotated.js +25 -0
  254. package/dist/test-utils/connectionFixtures.d.ts +13 -0
  255. package/dist/test-utils/connectionFixtures.d.ts.map +1 -0
  256. package/dist/test-utils/connectionFixtures.js +58 -0
  257. package/dist/test-utils/interleave.d.ts +12 -0
  258. package/dist/test-utils/interleave.d.ts.map +1 -0
  259. package/dist/test-utils/interleave.js +26 -0
  260. package/dist/testWorker.d.ts +8 -0
  261. package/dist/testWorker.d.ts.map +1 -0
  262. package/dist/testWorker.js +9 -0
  263. package/dist/version.generated.d.ts +1 -1
  264. package/dist/version.generated.js +1 -1
  265. package/dist/workflow/dispatchRoute.js +1 -1
  266. package/package.json +1 -1
  267. package/src/audit/auditEvent.ts +1 -1
  268. package/src/audit/chain.ts +551 -0
  269. package/src/audit/citations.ts +63 -0
  270. package/src/capability/bindings.ts +61 -0
  271. package/src/capability/capability.ts +156 -19
  272. package/src/capability/erasure.ts +82 -0
  273. package/src/capability/personColumns.ts +83 -0
  274. package/src/capability/personRows.ts +125 -0
  275. package/src/capability/purge.ts +158 -21
  276. package/src/capability/settings.ts +7 -0
  277. package/src/capability/vectorIndex.ts +60 -0
  278. package/src/cli/commandCatalog.generated.ts +487 -2
  279. package/src/cli/commandFacts.ts +12 -3
  280. package/src/cloudflare-test.d.ts +3 -1
  281. package/src/consent/purpose.ts +160 -0
  282. package/src/consent/reader.ts +134 -0
  283. package/src/controlPlane/audit/actions.ts +15 -4
  284. package/src/controlPlane/capability.ts +99 -20
  285. package/src/controlPlane/context.ts +10 -2
  286. package/src/controlPlane/data/connection.ts +16 -2
  287. package/src/controlPlane/data/connections.ts +231 -0
  288. package/src/controlPlane/data/hold.ts +52 -0
  289. package/src/controlPlane/data/oidcTrust.ts +249 -0
  290. package/src/controlPlane/data/tables.ts +7 -0
  291. package/src/controlPlane/data/trustFirstCall.ts +37 -0
  292. package/src/controlPlane/discovery/adminRoute.ts +71 -9
  293. package/src/controlPlane/discovery/routeInput.ts +86 -0
  294. package/src/controlPlane/discovery/toolName.ts +23 -0
  295. package/src/controlPlane/erasure/attest.ts +205 -0
  296. package/src/controlPlane/erasure/read.ts +169 -0
  297. package/src/controlPlane/error/errors.ts +69 -2
  298. package/src/controlPlane/evidence/derive.ts +426 -0
  299. package/src/controlPlane/evidence/mapping.ts +118 -0
  300. package/src/controlPlane/evidence/pack.ts +190 -0
  301. package/src/controlPlane/http/connections.ts +129 -0
  302. package/src/controlPlane/http/guard.ts +118 -9
  303. package/src/controlPlane/http/handlers.ts +172 -40
  304. package/src/controlPlane/http/holds.ts +108 -0
  305. package/src/controlPlane/http/presence.ts +71 -0
  306. package/src/controlPlane/http/processing.ts +19 -0
  307. package/src/controlPlane/http/responses.ts +590 -7
  308. package/src/controlPlane/http/routes.ts +302 -3
  309. package/src/controlPlane/http/schemas.ts +126 -0
  310. package/src/controlPlane/http/verify.ts +19 -2
  311. package/src/controlPlane/http/verifyTrust.ts +176 -0
  312. package/src/controlPlane/migrations/0004_connection_trusts.ts +30 -0
  313. package/src/controlPlane/migrations/0005_holds.ts +40 -0
  314. package/src/controlPlane/processing/derive.ts +359 -0
  315. package/src/controlPlane/processing/read.ts +102 -0
  316. package/src/controlPlane/scope/kind.ts +63 -0
  317. package/src/controlPlane/scope/scope.ts +65 -3
  318. package/src/controlPlane/wire.ts +26 -0
  319. package/src/createBackend.ts +31 -6
  320. package/src/createEntrypoint.ts +17 -0
  321. package/src/error/payload.ts +234 -0
  322. package/src/error/pithyError.ts +42 -0
  323. package/src/http/routeSpec.ts +75 -5
  324. package/src/http/verification.ts +3 -1
  325. package/src/i18n/translator.ts +2 -1
  326. package/src/index.ts +2 -0
  327. package/src/mcp/annotations.ts +38 -0
  328. package/src/mcp/tools.ts +220 -0
  329. package/src/openapi/document.ts +8 -28
  330. package/src/openapi/operations.ts +62 -0
  331. package/src/presence/channel.ts +46 -0
  332. package/src/presence/declaration.ts +283 -0
  333. package/src/presence/durableObject.ts +287 -0
  334. package/src/presence/frames.ts +153 -0
  335. package/src/presence/http/guard.ts +23 -0
  336. package/src/presence/http/responses.ts +63 -0
  337. package/src/presence/http/routes.ts +165 -0
  338. package/src/presence/http/schemas.ts +39 -0
  339. package/src/presence/names.ts +45 -0
  340. package/src/presence/room.ts +145 -0
  341. package/src/presence/ticket.ts +145 -0
  342. package/src/processing/activity.ts +289 -0
  343. package/src/processing/composed.ts +33 -0
  344. package/src/processing/vocabulary.ts +43 -0
  345. package/src/queue/consumer.ts +104 -0
  346. package/src/retention/composed.ts +75 -0
  347. package/src/retention/holds.ts +175 -0
  348. package/src/retention/holdsPurge.ts +50 -0
  349. package/src/retention/policy.ts +305 -0
  350. package/src/session/rotated.ts +53 -0
  351. package/src/test-utils/connectionFixtures.ts +58 -0
  352. package/src/test-utils/interleave.ts +31 -0
  353. package/src/testWorker.ts +13 -0
  354. package/src/version.generated.ts +1 -1
@@ -30,6 +30,11 @@ export const COMMANDS = {
30
30
  "required": false,
31
31
  "repeatable": true
32
32
  },
33
+ "--floor": {
34
+ "type": "string",
35
+ "required": false,
36
+ "repeatable": false
37
+ },
33
38
  "--eject": {
34
39
  "type": "boolean",
35
40
  "required": false,
@@ -87,6 +92,71 @@ export const COMMANDS = {
87
92
  }
88
93
  ]
89
94
  },
95
+ "audit lock": {
96
+ "positionals": [],
97
+ "flags": {
98
+ "--env": {
99
+ "type": "string",
100
+ "required": false,
101
+ "repeatable": false
102
+ },
103
+ "--json": {
104
+ "type": "boolean",
105
+ "required": false,
106
+ "repeatable": false
107
+ }
108
+ },
109
+ "groups": []
110
+ },
111
+ "audit verify": {
112
+ "positionals": [
113
+ {
114
+ "name": "file",
115
+ "required": true,
116
+ "variadic": false
117
+ }
118
+ ],
119
+ "flags": {
120
+ "--json": {
121
+ "type": "boolean",
122
+ "required": false,
123
+ "repeatable": false
124
+ }
125
+ },
126
+ "groups": []
127
+ },
128
+ "backup": {
129
+ "positionals": [],
130
+ "flags": {
131
+ "--env": {
132
+ "type": "string",
133
+ "required": false,
134
+ "repeatable": false,
135
+ "default": "dev"
136
+ },
137
+ "--worker": {
138
+ "type": "string",
139
+ "required": false,
140
+ "repeatable": false
141
+ },
142
+ "--binding": {
143
+ "type": "string",
144
+ "required": false,
145
+ "repeatable": false
146
+ },
147
+ "--output": {
148
+ "type": "string",
149
+ "required": false,
150
+ "repeatable": false
151
+ },
152
+ "--json": {
153
+ "type": "boolean",
154
+ "required": false,
155
+ "repeatable": false
156
+ }
157
+ },
158
+ "groups": []
159
+ },
90
160
  "cloudflare connect": {
91
161
  "positionals": [],
92
162
  "flags": {
@@ -296,9 +366,54 @@ export const COMMANDS = {
296
366
  "type": "string",
297
367
  "required": false,
298
368
  "repeatable": false
369
+ },
370
+ "--oidc-issuer": {
371
+ "type": "string",
372
+ "required": false,
373
+ "repeatable": false
374
+ },
375
+ "--oidc-claim": {
376
+ "type": "string",
377
+ "required": false,
378
+ "repeatable": true
379
+ },
380
+ "--oidc-audience": {
381
+ "type": "string",
382
+ "required": false,
383
+ "repeatable": false
299
384
  }
300
385
  },
301
386
  "groups": [
387
+ {
388
+ "kind": "requires",
389
+ "flag": "--oidc-claim",
390
+ "needs": [
391
+ "--oidc-issuer"
392
+ ],
393
+ "any": false
394
+ },
395
+ {
396
+ "kind": "requires",
397
+ "flag": "--oidc-audience",
398
+ "needs": [
399
+ "--oidc-issuer"
400
+ ],
401
+ "any": false
402
+ },
403
+ {
404
+ "kind": "atMostOne",
405
+ "flags": [
406
+ "--oidc-issuer",
407
+ "--public-key"
408
+ ]
409
+ },
410
+ {
411
+ "kind": "atMostOne",
412
+ "flags": [
413
+ "--oidc-issuer",
414
+ "--update"
415
+ ]
416
+ },
302
417
  {
303
418
  "kind": "requires",
304
419
  "flag": "--public-key",
@@ -327,9 +442,10 @@ export const COMMANDS = {
327
442
  "kind": "requires",
328
443
  "flag": "--kind",
329
444
  "needs": [
330
- "--public-key"
445
+ "--public-key",
446
+ "--oidc-issuer"
331
447
  ],
332
- "any": false
448
+ "any": true
333
449
  },
334
450
  {
335
451
  "kind": "requires",
@@ -344,6 +460,47 @@ export const COMMANDS = {
344
460
  }
345
461
  ]
346
462
  },
463
+ "dashboard connections": {
464
+ "positionals": [],
465
+ "flags": {
466
+ "--principal": {
467
+ "type": "string",
468
+ "required": true,
469
+ "repeatable": false
470
+ },
471
+ "--env": {
472
+ "type": "string",
473
+ "required": false,
474
+ "repeatable": false
475
+ },
476
+ "--worker": {
477
+ "type": "string",
478
+ "required": false,
479
+ "repeatable": false
480
+ },
481
+ "--revoke": {
482
+ "type": "boolean",
483
+ "required": false,
484
+ "repeatable": false
485
+ },
486
+ "--reason": {
487
+ "type": "string",
488
+ "required": false,
489
+ "repeatable": false
490
+ },
491
+ "--yes": {
492
+ "type": "boolean",
493
+ "required": false,
494
+ "repeatable": false
495
+ },
496
+ "--json": {
497
+ "type": "boolean",
498
+ "required": false,
499
+ "repeatable": false
500
+ }
501
+ },
502
+ "groups": []
503
+ },
347
504
  "dashboard disconnect": {
348
505
  "positionals": [],
349
506
  "flags": {
@@ -428,6 +585,48 @@ export const COMMANDS = {
428
585
  },
429
586
  "groups": []
430
587
  },
588
+ "dashboard revoke-trust": {
589
+ "positionals": [],
590
+ "flags": {
591
+ "--env": {
592
+ "type": "string",
593
+ "required": false,
594
+ "repeatable": false,
595
+ "default": "dev"
596
+ },
597
+ "--worker": {
598
+ "type": "string",
599
+ "required": false,
600
+ "repeatable": false
601
+ },
602
+ "--origin": {
603
+ "type": "string",
604
+ "required": false,
605
+ "repeatable": false
606
+ },
607
+ "--json": {
608
+ "type": "boolean",
609
+ "required": false,
610
+ "repeatable": false
611
+ },
612
+ "--open": {
613
+ "type": "boolean",
614
+ "required": false,
615
+ "repeatable": false
616
+ },
617
+ "--trust-id": {
618
+ "type": "string",
619
+ "required": true,
620
+ "repeatable": false
621
+ },
622
+ "--yes": {
623
+ "type": "boolean",
624
+ "required": false,
625
+ "repeatable": false
626
+ }
627
+ },
628
+ "groups": []
629
+ },
431
630
  "dashboard rotate": {
432
631
  "positionals": [],
433
632
  "flags": {
@@ -1053,6 +1252,36 @@ export const COMMANDS = {
1053
1252
  "required": false,
1054
1253
  "repeatable": false
1055
1254
  },
1255
+ "--lint": {
1256
+ "type": "string",
1257
+ "required": false,
1258
+ "repeatable": false
1259
+ },
1260
+ "--react-native": {
1261
+ "type": "boolean",
1262
+ "required": false,
1263
+ "repeatable": false
1264
+ },
1265
+ "--app": {
1266
+ "type": "string",
1267
+ "required": false,
1268
+ "repeatable": false
1269
+ },
1270
+ "--ios-rail": {
1271
+ "type": "string",
1272
+ "required": false,
1273
+ "repeatable": false
1274
+ },
1275
+ "--android-rail": {
1276
+ "type": "string",
1277
+ "required": false,
1278
+ "repeatable": false
1279
+ },
1280
+ "--web-rail": {
1281
+ "type": "string",
1282
+ "required": false,
1283
+ "repeatable": false
1284
+ },
1056
1285
  "--dir": {
1057
1286
  "type": "string",
1058
1287
  "required": false,
@@ -1067,6 +1296,172 @@ export const COMMANDS = {
1067
1296
  },
1068
1297
  "groups": []
1069
1298
  },
1299
+ "mcp connect": {
1300
+ "positionals": [],
1301
+ "flags": {
1302
+ "--env": {
1303
+ "type": "string",
1304
+ "required": false,
1305
+ "repeatable": false,
1306
+ "default": "dev"
1307
+ },
1308
+ "--worker": {
1309
+ "type": "string",
1310
+ "required": false,
1311
+ "repeatable": false
1312
+ },
1313
+ "--worker-url": {
1314
+ "type": "string",
1315
+ "required": false,
1316
+ "repeatable": false
1317
+ },
1318
+ "--purpose": {
1319
+ "type": "string",
1320
+ "required": false,
1321
+ "repeatable": false
1322
+ },
1323
+ "--scope": {
1324
+ "type": "string",
1325
+ "required": false,
1326
+ "repeatable": true
1327
+ },
1328
+ "--update": {
1329
+ "type": "boolean",
1330
+ "required": false,
1331
+ "repeatable": false
1332
+ },
1333
+ "--oidc-issuer": {
1334
+ "type": "string",
1335
+ "required": false,
1336
+ "repeatable": false
1337
+ },
1338
+ "--oidc-claim": {
1339
+ "type": "string",
1340
+ "required": false,
1341
+ "repeatable": true
1342
+ },
1343
+ "--oidc-audience": {
1344
+ "type": "string",
1345
+ "required": false,
1346
+ "repeatable": false
1347
+ },
1348
+ "--oidc-token": {
1349
+ "type": "string",
1350
+ "required": false,
1351
+ "repeatable": false
1352
+ },
1353
+ "--client": {
1354
+ "type": "string",
1355
+ "required": false,
1356
+ "repeatable": false,
1357
+ "enum": [
1358
+ "claude-code",
1359
+ "cursor",
1360
+ "vscode",
1361
+ "gemini",
1362
+ "claude-desktop",
1363
+ "cline",
1364
+ "zed",
1365
+ "codex",
1366
+ "goose",
1367
+ "continue"
1368
+ ]
1369
+ },
1370
+ "--all": {
1371
+ "type": "boolean",
1372
+ "required": false,
1373
+ "repeatable": false
1374
+ },
1375
+ "--json": {
1376
+ "type": "boolean",
1377
+ "required": false,
1378
+ "repeatable": false
1379
+ }
1380
+ },
1381
+ "groups": [
1382
+ {
1383
+ "kind": "atMostOne",
1384
+ "flags": [
1385
+ "--client",
1386
+ "--all"
1387
+ ]
1388
+ },
1389
+ {
1390
+ "kind": "atMostOne",
1391
+ "flags": [
1392
+ "--oidc-issuer",
1393
+ "--update"
1394
+ ]
1395
+ },
1396
+ {
1397
+ "kind": "requires",
1398
+ "flag": "--oidc-claim",
1399
+ "needs": [
1400
+ "--oidc-issuer"
1401
+ ],
1402
+ "any": false
1403
+ },
1404
+ {
1405
+ "kind": "requires",
1406
+ "flag": "--oidc-audience",
1407
+ "needs": [
1408
+ "--oidc-issuer"
1409
+ ],
1410
+ "any": false
1411
+ },
1412
+ {
1413
+ "kind": "requires",
1414
+ "flag": "--oidc-token",
1415
+ "needs": [
1416
+ "--oidc-issuer"
1417
+ ],
1418
+ "any": false
1419
+ }
1420
+ ]
1421
+ },
1422
+ "mcp disconnect": {
1423
+ "positionals": [],
1424
+ "flags": {
1425
+ "--connection": {
1426
+ "type": "string",
1427
+ "required": true,
1428
+ "repeatable": false
1429
+ },
1430
+ "--worker": {
1431
+ "type": "string",
1432
+ "required": false,
1433
+ "repeatable": false
1434
+ },
1435
+ "--json": {
1436
+ "type": "boolean",
1437
+ "required": false,
1438
+ "repeatable": false
1439
+ }
1440
+ },
1441
+ "groups": []
1442
+ },
1443
+ "mcp serve": {
1444
+ "positionals": [],
1445
+ "flags": {
1446
+ "--connection": {
1447
+ "type": "string",
1448
+ "required": true,
1449
+ "repeatable": false
1450
+ }
1451
+ },
1452
+ "groups": []
1453
+ },
1454
+ "mcp status": {
1455
+ "positionals": [],
1456
+ "flags": {
1457
+ "--json": {
1458
+ "type": "boolean",
1459
+ "required": false,
1460
+ "repeatable": false
1461
+ }
1462
+ },
1463
+ "groups": []
1464
+ },
1070
1465
  "media deprovision": {
1071
1466
  "positionals": [],
1072
1467
  "flags": {
@@ -1367,6 +1762,49 @@ export const COMMANDS = {
1367
1762
  },
1368
1763
  "groups": []
1369
1764
  },
1765
+ "restore": {
1766
+ "positionals": [
1767
+ {
1768
+ "name": "dir",
1769
+ "required": true,
1770
+ "variadic": false
1771
+ }
1772
+ ],
1773
+ "flags": {
1774
+ "--env": {
1775
+ "type": "string",
1776
+ "required": false,
1777
+ "repeatable": false,
1778
+ "default": "dev"
1779
+ },
1780
+ "--worker": {
1781
+ "type": "string",
1782
+ "required": false,
1783
+ "repeatable": false
1784
+ },
1785
+ "--binding": {
1786
+ "type": "string",
1787
+ "required": false,
1788
+ "repeatable": false
1789
+ },
1790
+ "--database": {
1791
+ "type": "string",
1792
+ "required": false,
1793
+ "repeatable": false
1794
+ },
1795
+ "--group": {
1796
+ "type": "string",
1797
+ "required": false,
1798
+ "repeatable": false
1799
+ },
1800
+ "--json": {
1801
+ "type": "boolean",
1802
+ "required": false,
1803
+ "repeatable": false
1804
+ }
1805
+ },
1806
+ "groups": []
1807
+ },
1370
1808
  "schema": {
1371
1809
  "positionals": [
1372
1810
  {
@@ -2374,6 +2812,26 @@ export const COMMANDS = {
2374
2812
  "required": false,
2375
2813
  "repeatable": false
2376
2814
  },
2815
+ "--app": {
2816
+ "type": "string",
2817
+ "required": false,
2818
+ "repeatable": false
2819
+ },
2820
+ "--ios-rail": {
2821
+ "type": "string",
2822
+ "required": false,
2823
+ "repeatable": false
2824
+ },
2825
+ "--android-rail": {
2826
+ "type": "string",
2827
+ "required": false,
2828
+ "repeatable": false
2829
+ },
2830
+ "--web-rail": {
2831
+ "type": "string",
2832
+ "required": false,
2833
+ "repeatable": false
2834
+ },
2377
2835
  "--auth": {
2378
2836
  "type": "boolean",
2379
2837
  "required": false,
@@ -2389,6 +2847,11 @@ export const COMMANDS = {
2389
2847
  "required": false,
2390
2848
  "repeatable": false
2391
2849
  },
2850
+ "--consent": {
2851
+ "type": "boolean",
2852
+ "required": false,
2853
+ "repeatable": false
2854
+ },
2392
2855
  "--dry-run": {
2393
2856
  "type": "boolean",
2394
2857
  "required": false,
@@ -2421,6 +2884,26 @@ export const COMMANDS = {
2421
2884
  "required": false,
2422
2885
  "repeatable": false
2423
2886
  },
2887
+ "--app": {
2888
+ "type": "string",
2889
+ "required": false,
2890
+ "repeatable": false
2891
+ },
2892
+ "--ios-rail": {
2893
+ "type": "string",
2894
+ "required": false,
2895
+ "repeatable": false
2896
+ },
2897
+ "--android-rail": {
2898
+ "type": "string",
2899
+ "required": false,
2900
+ "repeatable": false
2901
+ },
2902
+ "--web-rail": {
2903
+ "type": "string",
2904
+ "required": false,
2905
+ "repeatable": false
2906
+ },
2424
2907
  "--check": {
2425
2908
  "type": "boolean",
2426
2909
  "required": false,
@@ -2768,11 +3251,13 @@ export const GLOBAL_FLAGS = [
2768
3251
 
2769
3252
  /** The groups, which only list their subcommands: a sentence may name one, and nobody runs one. */
2770
3253
  export const GROUPS = [
3254
+ "audit",
2771
3255
  "cloudflare",
2772
3256
  "dashboard",
2773
3257
  "docs",
2774
3258
  "email",
2775
3259
  "feature",
3260
+ "mcp",
2776
3261
  "media",
2777
3262
  "payments",
2778
3263
  "privacy",
@@ -2,7 +2,7 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
 
4
4
  /**
5
- * **What the catalog cannot say about a `pithy` command, written down once (#711).**
5
+ * **What the catalog cannot say about a `pithy` command, written down once.**
6
6
  *
7
7
  * `commandCatalog.generated.ts` is the parser's own account of every command: its arguments, its flags, which
8
8
  * are required, which have defaults, which go together. Four facts are not in any parser, and each was the
@@ -30,6 +30,7 @@ export const WORKER_SCOPED = [
30
30
  "add",
31
31
  "dashboard connect",
32
32
  "email provision",
33
+ "mcp connect",
33
34
  "media provision",
34
35
  "payments provision",
35
36
  "storage provision",
@@ -53,15 +54,20 @@ export type WorkerScopedPath = (typeof WORKER_SCOPED)[number];
53
54
  * first that answers, and the flag narrows.
54
55
  */
55
56
  export const WORKER_NARROWS = [
57
+ "backup",
56
58
  "contract",
59
+ "dashboard connections",
57
60
  "dashboard disconnect",
58
61
  "dashboard revoke-key",
62
+ "dashboard revoke-trust",
59
63
  "dashboard rotate",
60
64
  "dashboard status",
61
65
  "doctor",
62
66
  "env",
63
67
  "init",
68
+ "mcp disconnect",
64
69
  "migrate",
70
+ "restore",
65
71
  "secrets tables",
66
72
  "seed",
67
73
  "support deprovision",
@@ -100,8 +106,10 @@ export const MEANING_ONLY_WITH = { remove: "--drop", upgrade: "--migrate" } as c
100
106
  export const DESTRUCTIVE_COMMANDS = {
101
107
  "dashboard disconnect": "the environment's dashboard connection and the key it signs with",
102
108
  "dashboard revoke-key": "a signing key the dashboard holds",
109
+ "dashboard revoke-trust": "an OIDC trust a workload calls under",
103
110
  "email deprovision": "the email Workers, and with --suppression the suppression database",
104
111
  "feature destroy": "the feature's worktree, its branch and every resource it provisioned",
112
+ "mcp disconnect": "an agent's key or trust, its key file and its client entries",
105
113
  "media deprovision": "the media Worker, and with --storage its bucket",
106
114
  remove: "a capability's wiring",
107
115
  "secrets deprovision": "the secrets manager, and with --keys the store's keys",
@@ -127,6 +135,7 @@ export const DESTRUCTIVE_FLAGS = {
127
135
  "--destroy-retained": "a resource kept for recovery",
128
136
  "--drop": "a capability's tables",
129
137
  "--redo": "the data a seed wrote",
138
+ "--revoke": "every key and trust a principal's connections hold",
130
139
  "--rollback": "the schema a migration group applied",
131
140
  } as const;
132
141
 
@@ -197,7 +206,7 @@ export const PRODUCTION_CONFIRMS = {
197
206
  export type ProductionPath = keyof typeof PRODUCTION_CONFIRMS;
198
207
 
199
208
  /**
200
- * **A command that acts on every environment when its `--env` is left off (#711)**, production among them. `pithy
209
+ * **A command that acts on every environment when its `--env` is left off**, production among them. `pithy
201
210
  * testers provision` with no `--env` provisions every declared environment, so the bare line touches production as
202
211
  * surely as `--env prod` does, and is a person's decision for the same reason. Each declares `--env` with no
203
212
  * default; `command.test.ts` holds that against the catalog.
@@ -205,7 +214,7 @@ export type ProductionPath = keyof typeof PRODUCTION_CONFIRMS;
205
214
  export const EVERY_ENVIRONMENT_WITHOUT_ENV = ["testers provision"] as const satisfies readonly ProductionPath[];
206
215
 
207
216
  /**
208
- * **A command that acts on every environment on every run (#711)**, production among them, with no `--env` to narrow
217
+ * **A command that acts on every environment on every run**, production among them, with no `--env` to narrow
209
218
  * it. `pithy secrets provision` deploys each declared environment's manager and mints its store entries, so every line
210
219
  * naming it touches production and is a person's decision — never the fix for one binding, one database or one
211
220
  * setting. None declares `--env`; `command.test.ts` holds that against the catalog.
@@ -7,7 +7,8 @@
7
7
  // matching the Miniflare config in `vitest.workers.config.ts`: D1 `DB` and
8
8
  // `ANALYTICS` (a second database, to exercise the multi-database registry), KV
9
9
  // `SESSIONS`, and KV `CONTROL_PLANE` (the control-plane seam's replay set, which
10
- // gets its own namespace rather than sharing sessions).
10
+ // gets its own namespace rather than sharing sessions), and the `PRESENCE_ROOMS`
11
+ // Durable Object every presence room lives in.
11
12
  // `cloudflare:test` types its `env` as `Cloudflare.Env`, so the test bindings are
12
13
  // declared by augmenting that interface.
13
14
  declare namespace Cloudflare {
@@ -16,5 +17,6 @@ declare namespace Cloudflare {
16
17
  ANALYTICS: D1Database;
17
18
  SESSIONS: KVNamespace;
18
19
  CONTROL_PLANE: KVNamespace;
20
+ PRESENCE_ROOMS: DurableObjectNamespace<import("./presence/durableObject").PresenceRoom>;
19
21
  }
20
22
  }