@pithy-sh/core 0.13.0 → 0.14.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 +433 -3
  35. package/dist/cli/commandCatalog.generated.d.ts.map +1 -1
  36. package/dist/cli/commandCatalog.generated.js +449 -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 +482 -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,31 @@ export const COMMANDS = {
1053
1252
  "required": false,
1054
1253
  "repeatable": false
1055
1254
  },
1255
+ "--react-native": {
1256
+ "type": "boolean",
1257
+ "required": false,
1258
+ "repeatable": false
1259
+ },
1260
+ "--app": {
1261
+ "type": "string",
1262
+ "required": false,
1263
+ "repeatable": false
1264
+ },
1265
+ "--ios-rail": {
1266
+ "type": "string",
1267
+ "required": false,
1268
+ "repeatable": false
1269
+ },
1270
+ "--android-rail": {
1271
+ "type": "string",
1272
+ "required": false,
1273
+ "repeatable": false
1274
+ },
1275
+ "--web-rail": {
1276
+ "type": "string",
1277
+ "required": false,
1278
+ "repeatable": false
1279
+ },
1056
1280
  "--dir": {
1057
1281
  "type": "string",
1058
1282
  "required": false,
@@ -1067,6 +1291,172 @@ export const COMMANDS = {
1067
1291
  },
1068
1292
  "groups": []
1069
1293
  },
1294
+ "mcp connect": {
1295
+ "positionals": [],
1296
+ "flags": {
1297
+ "--env": {
1298
+ "type": "string",
1299
+ "required": false,
1300
+ "repeatable": false,
1301
+ "default": "dev"
1302
+ },
1303
+ "--worker": {
1304
+ "type": "string",
1305
+ "required": false,
1306
+ "repeatable": false
1307
+ },
1308
+ "--worker-url": {
1309
+ "type": "string",
1310
+ "required": false,
1311
+ "repeatable": false
1312
+ },
1313
+ "--purpose": {
1314
+ "type": "string",
1315
+ "required": false,
1316
+ "repeatable": false
1317
+ },
1318
+ "--scope": {
1319
+ "type": "string",
1320
+ "required": false,
1321
+ "repeatable": true
1322
+ },
1323
+ "--update": {
1324
+ "type": "boolean",
1325
+ "required": false,
1326
+ "repeatable": false
1327
+ },
1328
+ "--oidc-issuer": {
1329
+ "type": "string",
1330
+ "required": false,
1331
+ "repeatable": false
1332
+ },
1333
+ "--oidc-claim": {
1334
+ "type": "string",
1335
+ "required": false,
1336
+ "repeatable": true
1337
+ },
1338
+ "--oidc-audience": {
1339
+ "type": "string",
1340
+ "required": false,
1341
+ "repeatable": false
1342
+ },
1343
+ "--oidc-token": {
1344
+ "type": "string",
1345
+ "required": false,
1346
+ "repeatable": false
1347
+ },
1348
+ "--client": {
1349
+ "type": "string",
1350
+ "required": false,
1351
+ "repeatable": false,
1352
+ "enum": [
1353
+ "claude-code",
1354
+ "cursor",
1355
+ "vscode",
1356
+ "gemini",
1357
+ "claude-desktop",
1358
+ "cline",
1359
+ "zed",
1360
+ "codex",
1361
+ "goose",
1362
+ "continue"
1363
+ ]
1364
+ },
1365
+ "--all": {
1366
+ "type": "boolean",
1367
+ "required": false,
1368
+ "repeatable": false
1369
+ },
1370
+ "--json": {
1371
+ "type": "boolean",
1372
+ "required": false,
1373
+ "repeatable": false
1374
+ }
1375
+ },
1376
+ "groups": [
1377
+ {
1378
+ "kind": "atMostOne",
1379
+ "flags": [
1380
+ "--client",
1381
+ "--all"
1382
+ ]
1383
+ },
1384
+ {
1385
+ "kind": "atMostOne",
1386
+ "flags": [
1387
+ "--oidc-issuer",
1388
+ "--update"
1389
+ ]
1390
+ },
1391
+ {
1392
+ "kind": "requires",
1393
+ "flag": "--oidc-claim",
1394
+ "needs": [
1395
+ "--oidc-issuer"
1396
+ ],
1397
+ "any": false
1398
+ },
1399
+ {
1400
+ "kind": "requires",
1401
+ "flag": "--oidc-audience",
1402
+ "needs": [
1403
+ "--oidc-issuer"
1404
+ ],
1405
+ "any": false
1406
+ },
1407
+ {
1408
+ "kind": "requires",
1409
+ "flag": "--oidc-token",
1410
+ "needs": [
1411
+ "--oidc-issuer"
1412
+ ],
1413
+ "any": false
1414
+ }
1415
+ ]
1416
+ },
1417
+ "mcp disconnect": {
1418
+ "positionals": [],
1419
+ "flags": {
1420
+ "--connection": {
1421
+ "type": "string",
1422
+ "required": true,
1423
+ "repeatable": false
1424
+ },
1425
+ "--worker": {
1426
+ "type": "string",
1427
+ "required": false,
1428
+ "repeatable": false
1429
+ },
1430
+ "--json": {
1431
+ "type": "boolean",
1432
+ "required": false,
1433
+ "repeatable": false
1434
+ }
1435
+ },
1436
+ "groups": []
1437
+ },
1438
+ "mcp serve": {
1439
+ "positionals": [],
1440
+ "flags": {
1441
+ "--connection": {
1442
+ "type": "string",
1443
+ "required": true,
1444
+ "repeatable": false
1445
+ }
1446
+ },
1447
+ "groups": []
1448
+ },
1449
+ "mcp status": {
1450
+ "positionals": [],
1451
+ "flags": {
1452
+ "--json": {
1453
+ "type": "boolean",
1454
+ "required": false,
1455
+ "repeatable": false
1456
+ }
1457
+ },
1458
+ "groups": []
1459
+ },
1070
1460
  "media deprovision": {
1071
1461
  "positionals": [],
1072
1462
  "flags": {
@@ -1367,6 +1757,49 @@ export const COMMANDS = {
1367
1757
  },
1368
1758
  "groups": []
1369
1759
  },
1760
+ "restore": {
1761
+ "positionals": [
1762
+ {
1763
+ "name": "dir",
1764
+ "required": true,
1765
+ "variadic": false
1766
+ }
1767
+ ],
1768
+ "flags": {
1769
+ "--env": {
1770
+ "type": "string",
1771
+ "required": false,
1772
+ "repeatable": false,
1773
+ "default": "dev"
1774
+ },
1775
+ "--worker": {
1776
+ "type": "string",
1777
+ "required": false,
1778
+ "repeatable": false
1779
+ },
1780
+ "--binding": {
1781
+ "type": "string",
1782
+ "required": false,
1783
+ "repeatable": false
1784
+ },
1785
+ "--database": {
1786
+ "type": "string",
1787
+ "required": false,
1788
+ "repeatable": false
1789
+ },
1790
+ "--group": {
1791
+ "type": "string",
1792
+ "required": false,
1793
+ "repeatable": false
1794
+ },
1795
+ "--json": {
1796
+ "type": "boolean",
1797
+ "required": false,
1798
+ "repeatable": false
1799
+ }
1800
+ },
1801
+ "groups": []
1802
+ },
1370
1803
  "schema": {
1371
1804
  "positionals": [
1372
1805
  {
@@ -2374,6 +2807,26 @@ export const COMMANDS = {
2374
2807
  "required": false,
2375
2808
  "repeatable": false
2376
2809
  },
2810
+ "--app": {
2811
+ "type": "string",
2812
+ "required": false,
2813
+ "repeatable": false
2814
+ },
2815
+ "--ios-rail": {
2816
+ "type": "string",
2817
+ "required": false,
2818
+ "repeatable": false
2819
+ },
2820
+ "--android-rail": {
2821
+ "type": "string",
2822
+ "required": false,
2823
+ "repeatable": false
2824
+ },
2825
+ "--web-rail": {
2826
+ "type": "string",
2827
+ "required": false,
2828
+ "repeatable": false
2829
+ },
2377
2830
  "--auth": {
2378
2831
  "type": "boolean",
2379
2832
  "required": false,
@@ -2389,6 +2842,11 @@ export const COMMANDS = {
2389
2842
  "required": false,
2390
2843
  "repeatable": false
2391
2844
  },
2845
+ "--consent": {
2846
+ "type": "boolean",
2847
+ "required": false,
2848
+ "repeatable": false
2849
+ },
2392
2850
  "--dry-run": {
2393
2851
  "type": "boolean",
2394
2852
  "required": false,
@@ -2421,6 +2879,26 @@ export const COMMANDS = {
2421
2879
  "required": false,
2422
2880
  "repeatable": false
2423
2881
  },
2882
+ "--app": {
2883
+ "type": "string",
2884
+ "required": false,
2885
+ "repeatable": false
2886
+ },
2887
+ "--ios-rail": {
2888
+ "type": "string",
2889
+ "required": false,
2890
+ "repeatable": false
2891
+ },
2892
+ "--android-rail": {
2893
+ "type": "string",
2894
+ "required": false,
2895
+ "repeatable": false
2896
+ },
2897
+ "--web-rail": {
2898
+ "type": "string",
2899
+ "required": false,
2900
+ "repeatable": false
2901
+ },
2424
2902
  "--check": {
2425
2903
  "type": "boolean",
2426
2904
  "required": false,
@@ -2768,11 +3246,13 @@ export const GLOBAL_FLAGS = [
2768
3246
 
2769
3247
  /** The groups, which only list their subcommands: a sentence may name one, and nobody runs one. */
2770
3248
  export const GROUPS = [
3249
+ "audit",
2771
3250
  "cloudflare",
2772
3251
  "dashboard",
2773
3252
  "docs",
2774
3253
  "email",
2775
3254
  "feature",
3255
+ "mcp",
2776
3256
  "media",
2777
3257
  "payments",
2778
3258
  "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
  }