@run402/sdk 4.95.0 → 4.97.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 (271) hide show
  1. package/README.md +27 -27
  2. package/core-dist/keystore.d.ts +1 -1
  3. package/core-dist/keystore.js +1 -1
  4. package/dist/errors.d.ts +5 -5
  5. package/dist/errors.d.ts.map +1 -1
  6. package/dist/errors.js +2 -2
  7. package/dist/errors.js.map +1 -1
  8. package/dist/grant-key-credentials.d.ts +38 -0
  9. package/dist/grant-key-credentials.d.ts.map +1 -0
  10. package/dist/grant-key-credentials.js +42 -0
  11. package/dist/grant-key-credentials.js.map +1 -0
  12. package/dist/index.d.ts +16 -23
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +14 -21
  15. package/dist/index.js.map +1 -1
  16. package/dist/namespaces/billing.d.ts +1 -1
  17. package/dist/namespaces/billing.js +1 -1
  18. package/dist/namespaces/buzz.js +1 -1
  19. package/dist/namespaces/buzz.js.map +1 -1
  20. package/dist/namespaces/credentials.d.ts +4 -4
  21. package/dist/namespaces/credentials.js +4 -4
  22. package/dist/namespaces/deploy.d.ts +5 -5
  23. package/dist/namespaces/deploy.d.ts.map +1 -1
  24. package/dist/namespaces/deploy.js +25 -25
  25. package/dist/namespaces/deploy.js.map +1 -1
  26. package/dist/namespaces/deploy.types.d.ts +17 -17
  27. package/dist/namespaces/deploy.types.d.ts.map +1 -1
  28. package/dist/namespaces/domains.d.ts +1 -1
  29. package/dist/namespaces/domains.js +1 -1
  30. package/dist/namespaces/errors.d.ts +1 -1
  31. package/dist/namespaces/errors.js +2 -2
  32. package/dist/namespaces/escalations.d.ts +2 -2
  33. package/dist/namespaces/escalations.js +2 -2
  34. package/dist/namespaces/escalations.types.d.ts +3 -3
  35. package/dist/namespaces/escalations.types.d.ts.map +1 -1
  36. package/dist/namespaces/events.d.ts +1 -1
  37. package/dist/namespaces/events.js +1 -1
  38. package/dist/namespaces/functions.js +1 -1
  39. package/dist/namespaces/functions.js.map +1 -1
  40. package/dist/namespaces/grants.d.ts +43 -9
  41. package/dist/namespaces/grants.d.ts.map +1 -1
  42. package/dist/namespaces/grants.js +99 -10
  43. package/dist/namespaces/grants.js.map +1 -1
  44. package/dist/namespaces/grants.types.d.ts +120 -15
  45. package/dist/namespaces/grants.types.d.ts.map +1 -1
  46. package/dist/namespaces/grants.types.js +12 -3
  47. package/dist/namespaces/grants.types.js.map +1 -1
  48. package/dist/namespaces/identity-links.types.d.ts +2 -2
  49. package/dist/namespaces/identity-links.types.d.ts.map +1 -1
  50. package/dist/namespaces/org.d.ts +3 -3
  51. package/dist/namespaces/org.js +3 -3
  52. package/dist/namespaces/org.types.d.ts +3 -3
  53. package/dist/namespaces/pay.js +1 -1
  54. package/dist/namespaces/projects.d.ts +1 -1
  55. package/dist/namespaces/projects.js +1 -1
  56. package/dist/namespaces/{gitvault.d.ts → repos.d.ts} +436 -449
  57. package/dist/namespaces/repos.d.ts.map +1 -0
  58. package/dist/namespaces/{gitvault.js → repos.js} +452 -460
  59. package/dist/namespaces/repos.js.map +1 -0
  60. package/dist/namespaces/rooms.d.ts +3 -3
  61. package/dist/namespaces/rooms.js +5 -5
  62. package/dist/namespaces/rooms.js.map +1 -1
  63. package/dist/namespaces/session.d.ts +2 -2
  64. package/dist/namespaces/session.d.ts.map +1 -1
  65. package/dist/namespaces/session.js +2 -2
  66. package/dist/namespaces/session.js.map +1 -1
  67. package/dist/namespaces/tier.d.ts +3 -3
  68. package/dist/namespaces/tier.d.ts.map +1 -1
  69. package/dist/namespaces/{gitvault.crypto.d.ts → vault.crypto.d.ts} +141 -141
  70. package/dist/namespaces/vault.crypto.d.ts.map +1 -0
  71. package/dist/namespaces/{gitvault.crypto.js → vault.crypto.js} +173 -173
  72. package/dist/namespaces/vault.crypto.js.map +1 -0
  73. package/dist/namespaces/{gitvault.types.d.ts → vault.types.d.ts} +136 -136
  74. package/dist/namespaces/vault.types.d.ts.map +1 -0
  75. package/dist/namespaces/{gitvault.types.js → vault.types.js} +4 -4
  76. package/dist/namespaces/vault.types.js.map +1 -0
  77. package/dist/node/bearer-redeem-key.d.ts +1 -1
  78. package/dist/node/bearer-redeem-key.js +5 -5
  79. package/dist/node/bearer-redeem-key.js.map +1 -1
  80. package/dist/node/credentials.d.ts +9 -9
  81. package/dist/node/credentials.d.ts.map +1 -1
  82. package/dist/node/credentials.js +12 -12
  83. package/dist/node/credentials.js.map +1 -1
  84. package/dist/node/http-dispatcher.js +5 -5
  85. package/dist/node/http-dispatcher.js.map +1 -1
  86. package/dist/node/index.d.ts +34 -34
  87. package/dist/node/index.d.ts.map +1 -1
  88. package/dist/node/index.js +41 -41
  89. package/dist/node/index.js.map +1 -1
  90. package/dist/node/{gitvault-address.d.ts → vault-address.d.ts} +42 -42
  91. package/dist/node/vault-address.d.ts.map +1 -0
  92. package/dist/node/{gitvault-address.js → vault-address.js} +43 -43
  93. package/dist/node/vault-address.js.map +1 -0
  94. package/dist/node/{gitvault-apply.d.ts → vault-apply.d.ts} +27 -27
  95. package/dist/node/vault-apply.d.ts.map +1 -0
  96. package/dist/node/{gitvault-apply.js → vault-apply.js} +38 -38
  97. package/dist/node/vault-apply.js.map +1 -0
  98. package/dist/node/vault-byo-config.d.ts +29 -0
  99. package/dist/node/vault-byo-config.d.ts.map +1 -0
  100. package/dist/node/{gitvault-byo-config.js → vault-byo-config.js} +18 -18
  101. package/dist/node/vault-byo-config.js.map +1 -0
  102. package/dist/node/vault-byo-probe.d.ts +20 -0
  103. package/dist/node/vault-byo-probe.d.ts.map +1 -0
  104. package/dist/node/vault-byo-probe.js +57 -0
  105. package/dist/node/vault-byo-probe.js.map +1 -0
  106. package/dist/node/{gitvault-creation-journal.d.ts → vault-creation-journal.d.ts} +69 -69
  107. package/dist/node/vault-creation-journal.d.ts.map +1 -0
  108. package/dist/node/{gitvault-creation-journal.js → vault-creation-journal.js} +54 -54
  109. package/dist/node/vault-creation-journal.js.map +1 -0
  110. package/dist/node/{gitvault-degraded-read.d.ts → vault-degraded-read.d.ts} +34 -34
  111. package/dist/node/vault-degraded-read.d.ts.map +1 -0
  112. package/dist/node/{gitvault-degraded-read.js → vault-degraded-read.js} +24 -24
  113. package/dist/node/vault-degraded-read.js.map +1 -0
  114. package/dist/node/{gitvault-deploy.d.ts → vault-deploy.d.ts} +67 -67
  115. package/dist/node/vault-deploy.d.ts.map +1 -0
  116. package/dist/node/{gitvault-deploy.js → vault-deploy.js} +27 -27
  117. package/dist/node/vault-deploy.js.map +1 -0
  118. package/dist/node/{gitvault-edge-fetch.d.ts → vault-edge-fetch.d.ts} +9 -9
  119. package/dist/node/vault-edge-fetch.d.ts.map +1 -0
  120. package/dist/node/{gitvault-edge-fetch.js → vault-edge-fetch.js} +11 -11
  121. package/dist/node/vault-edge-fetch.js.map +1 -0
  122. package/dist/node/{gitvault-handoff.d.ts → vault-handoff.d.ts} +9 -9
  123. package/dist/node/vault-handoff.d.ts.map +1 -0
  124. package/dist/node/{gitvault-handoff.js → vault-handoff.js} +24 -24
  125. package/dist/node/vault-handoff.js.map +1 -0
  126. package/dist/node/{gitvault-keystore.d.ts → vault-keystore.d.ts} +87 -77
  127. package/dist/node/vault-keystore.d.ts.map +1 -0
  128. package/dist/node/{gitvault-keystore.js → vault-keystore.js} +105 -68
  129. package/dist/node/vault-keystore.js.map +1 -0
  130. package/dist/node/{gitvault-member-bundle.d.ts → vault-member-bundle.d.ts} +17 -17
  131. package/dist/node/vault-member-bundle.d.ts.map +1 -0
  132. package/dist/node/{gitvault-member-bundle.js → vault-member-bundle.js} +11 -11
  133. package/dist/node/vault-member-bundle.js.map +1 -0
  134. package/dist/node/{gitvault-mirror-backend.d.ts → vault-mirror-backend.d.ts} +26 -26
  135. package/dist/node/vault-mirror-backend.d.ts.map +1 -0
  136. package/dist/node/{gitvault-mirror-backend.js → vault-mirror-backend.js} +25 -25
  137. package/dist/node/vault-mirror-backend.js.map +1 -0
  138. package/dist/node/{gitvault-mirror-config.d.ts → vault-mirror-config.d.ts} +23 -23
  139. package/dist/node/vault-mirror-config.d.ts.map +1 -0
  140. package/dist/node/{gitvault-mirror-config.js → vault-mirror-config.js} +16 -16
  141. package/dist/node/vault-mirror-config.js.map +1 -0
  142. package/dist/node/{gitvault-mirror.d.ts → vault-mirror.d.ts} +36 -36
  143. package/dist/node/vault-mirror.d.ts.map +1 -0
  144. package/dist/node/{gitvault-mirror.js → vault-mirror.js} +75 -75
  145. package/dist/node/vault-mirror.js.map +1 -0
  146. package/dist/node/{gitvault-native-crypto.d.ts → vault-native-crypto.d.ts} +10 -10
  147. package/dist/node/vault-native-crypto.d.ts.map +1 -0
  148. package/dist/node/{gitvault-native-crypto.js → vault-native-crypto.js} +16 -16
  149. package/dist/node/vault-native-crypto.js.map +1 -0
  150. package/dist/node/{gitvault-open-or-create.d.ts → vault-open-or-create.d.ts} +16 -16
  151. package/dist/node/vault-open-or-create.d.ts.map +1 -0
  152. package/dist/node/{gitvault-open-or-create.js → vault-open-or-create.js} +10 -10
  153. package/dist/node/vault-open-or-create.js.map +1 -0
  154. package/dist/node/{gitvault-prewarm.d.ts → vault-prewarm.d.ts} +13 -13
  155. package/dist/node/vault-prewarm.d.ts.map +1 -0
  156. package/dist/node/{gitvault-prewarm.js → vault-prewarm.js} +25 -25
  157. package/dist/node/vault-prewarm.js.map +1 -0
  158. package/dist/node/{gitvault-profile-scan.d.ts → vault-profile-scan.d.ts} +3 -3
  159. package/dist/node/vault-profile-scan.d.ts.map +1 -0
  160. package/dist/node/{gitvault-profile-scan.js → vault-profile-scan.js} +12 -12
  161. package/dist/node/vault-profile-scan.js.map +1 -0
  162. package/dist/node/{gitvault-prune.d.ts → vault-prune.d.ts} +61 -61
  163. package/dist/node/vault-prune.d.ts.map +1 -0
  164. package/dist/node/{gitvault-prune.js → vault-prune.js} +34 -34
  165. package/dist/node/vault-prune.js.map +1 -0
  166. package/dist/node/{gitvault-publication.d.ts → vault-publication.d.ts} +399 -399
  167. package/dist/node/vault-publication.d.ts.map +1 -0
  168. package/dist/node/{gitvault-publication.js → vault-publication.js} +584 -584
  169. package/dist/node/vault-publication.js.map +1 -0
  170. package/dist/node/{gitvault-push-to-create.d.ts → vault-push-to-create.d.ts} +16 -16
  171. package/dist/node/vault-push-to-create.d.ts.map +1 -0
  172. package/dist/node/{gitvault-push-to-create.js → vault-push-to-create.js} +9 -9
  173. package/dist/node/vault-push-to-create.js.map +1 -0
  174. package/dist/node/{gitvault-recover.d.ts → vault-recover.d.ts} +50 -50
  175. package/dist/node/vault-recover.d.ts.map +1 -0
  176. package/dist/node/{gitvault-recover.js → vault-recover.js} +84 -84
  177. package/dist/node/vault-recover.js.map +1 -0
  178. package/dist/node/{gitvault-restore.d.ts → vault-restore.d.ts} +8 -8
  179. package/dist/node/vault-restore.d.ts.map +1 -0
  180. package/dist/node/{gitvault-restore.js → vault-restore.js} +11 -11
  181. package/dist/node/vault-restore.js.map +1 -0
  182. package/dist/node/{gitvault-snapshot.d.ts → vault-snapshot.d.ts} +48 -48
  183. package/dist/node/vault-snapshot.d.ts.map +1 -0
  184. package/dist/node/{gitvault-snapshot.js → vault-snapshot.js} +61 -61
  185. package/dist/node/vault-snapshot.js.map +1 -0
  186. package/dist/node/{gitvault-writer-state.d.ts → vault-writer-state.d.ts} +8 -8
  187. package/dist/node/vault-writer-state.d.ts.map +1 -0
  188. package/dist/node/{gitvault-writer-state.js → vault-writer-state.js} +15 -15
  189. package/dist/node/vault-writer-state.js.map +1 -0
  190. package/dist/node/workflow-output.js +4 -4
  191. package/dist/node/workflow-output.js.map +1 -1
  192. package/dist/project-auth-classification.d.ts +8 -8
  193. package/dist/project-auth-classification.d.ts.map +1 -1
  194. package/dist/project-auth-classification.js +7 -7
  195. package/dist/project-auth-classification.js.map +1 -1
  196. package/dist/scoped.d.ts +6 -14
  197. package/dist/scoped.d.ts.map +1 -1
  198. package/dist/scoped.js +10 -21
  199. package/dist/scoped.js.map +1 -1
  200. package/package.json +1 -1
  201. package/dist/delegate-credentials.d.ts +0 -37
  202. package/dist/delegate-credentials.d.ts.map +0 -1
  203. package/dist/delegate-credentials.js +0 -41
  204. package/dist/delegate-credentials.js.map +0 -1
  205. package/dist/namespaces/delegates.d.ts +0 -50
  206. package/dist/namespaces/delegates.d.ts.map +0 -1
  207. package/dist/namespaces/delegates.js +0 -99
  208. package/dist/namespaces/delegates.js.map +0 -1
  209. package/dist/namespaces/delegates.types.d.ts +0 -88
  210. package/dist/namespaces/delegates.types.d.ts.map +0 -1
  211. package/dist/namespaces/delegates.types.js +0 -10
  212. package/dist/namespaces/delegates.types.js.map +0 -1
  213. package/dist/namespaces/gitvault.crypto.d.ts.map +0 -1
  214. package/dist/namespaces/gitvault.crypto.js.map +0 -1
  215. package/dist/namespaces/gitvault.d.ts.map +0 -1
  216. package/dist/namespaces/gitvault.js.map +0 -1
  217. package/dist/namespaces/gitvault.types.d.ts.map +0 -1
  218. package/dist/namespaces/gitvault.types.js.map +0 -1
  219. package/dist/node/gitvault-address.d.ts.map +0 -1
  220. package/dist/node/gitvault-address.js.map +0 -1
  221. package/dist/node/gitvault-apply.d.ts.map +0 -1
  222. package/dist/node/gitvault-apply.js.map +0 -1
  223. package/dist/node/gitvault-byo-config.d.ts +0 -29
  224. package/dist/node/gitvault-byo-config.d.ts.map +0 -1
  225. package/dist/node/gitvault-byo-config.js.map +0 -1
  226. package/dist/node/gitvault-byo-probe.d.ts +0 -20
  227. package/dist/node/gitvault-byo-probe.d.ts.map +0 -1
  228. package/dist/node/gitvault-byo-probe.js +0 -57
  229. package/dist/node/gitvault-byo-probe.js.map +0 -1
  230. package/dist/node/gitvault-creation-journal.d.ts.map +0 -1
  231. package/dist/node/gitvault-creation-journal.js.map +0 -1
  232. package/dist/node/gitvault-degraded-read.d.ts.map +0 -1
  233. package/dist/node/gitvault-degraded-read.js.map +0 -1
  234. package/dist/node/gitvault-deploy.d.ts.map +0 -1
  235. package/dist/node/gitvault-deploy.js.map +0 -1
  236. package/dist/node/gitvault-edge-fetch.d.ts.map +0 -1
  237. package/dist/node/gitvault-edge-fetch.js.map +0 -1
  238. package/dist/node/gitvault-handoff.d.ts.map +0 -1
  239. package/dist/node/gitvault-handoff.js.map +0 -1
  240. package/dist/node/gitvault-keystore.d.ts.map +0 -1
  241. package/dist/node/gitvault-keystore.js.map +0 -1
  242. package/dist/node/gitvault-member-bundle.d.ts.map +0 -1
  243. package/dist/node/gitvault-member-bundle.js.map +0 -1
  244. package/dist/node/gitvault-mirror-backend.d.ts.map +0 -1
  245. package/dist/node/gitvault-mirror-backend.js.map +0 -1
  246. package/dist/node/gitvault-mirror-config.d.ts.map +0 -1
  247. package/dist/node/gitvault-mirror-config.js.map +0 -1
  248. package/dist/node/gitvault-mirror.d.ts.map +0 -1
  249. package/dist/node/gitvault-mirror.js.map +0 -1
  250. package/dist/node/gitvault-native-crypto.d.ts.map +0 -1
  251. package/dist/node/gitvault-native-crypto.js.map +0 -1
  252. package/dist/node/gitvault-open-or-create.d.ts.map +0 -1
  253. package/dist/node/gitvault-open-or-create.js.map +0 -1
  254. package/dist/node/gitvault-prewarm.d.ts.map +0 -1
  255. package/dist/node/gitvault-prewarm.js.map +0 -1
  256. package/dist/node/gitvault-profile-scan.d.ts.map +0 -1
  257. package/dist/node/gitvault-profile-scan.js.map +0 -1
  258. package/dist/node/gitvault-prune.d.ts.map +0 -1
  259. package/dist/node/gitvault-prune.js.map +0 -1
  260. package/dist/node/gitvault-publication.d.ts.map +0 -1
  261. package/dist/node/gitvault-publication.js.map +0 -1
  262. package/dist/node/gitvault-push-to-create.d.ts.map +0 -1
  263. package/dist/node/gitvault-push-to-create.js.map +0 -1
  264. package/dist/node/gitvault-recover.d.ts.map +0 -1
  265. package/dist/node/gitvault-recover.js.map +0 -1
  266. package/dist/node/gitvault-restore.d.ts.map +0 -1
  267. package/dist/node/gitvault-restore.js.map +0 -1
  268. package/dist/node/gitvault-snapshot.d.ts.map +0 -1
  269. package/dist/node/gitvault-snapshot.js.map +0 -1
  270. package/dist/node/gitvault-writer-state.d.ts.map +0 -1
  271. package/dist/node/gitvault-writer-state.js.map +0 -1
@@ -1,27 +1,61 @@
1
1
  /**
2
- * `grants` namespace — per-project capability grants for non-member
3
- * (agent / CI) principals (gateway `org-member-management`). Issue or revoke a
4
- * grant against `/projects/v1/:project_id/grants`. Mutations require the caller
5
- * to be an active owner of the project's owning org.
2
+ * `grants` namespace — per-project capability grants and the grant keys minted
3
+ * against them.
6
4
  *
5
+ * A grant is the permission row (this principal may do this capability on this
6
+ * project until this date). A grant key is a credential minted against exactly
7
+ * one grant: narrower than it, spend-capped, expiring, revocable on its own,
8
+ * never an owner. An agent with its own wallet needs only the grant (it signs
9
+ * via SIWX); an agent without one gets a grant key.
10
+ *
11
+ * The practical reason keys exist on the client: project API keys are
12
+ * stateless JWTs handed out once at create and never re-issued, so an agent
13
+ * that loses local state has no way back into its own project. The owner still
14
+ * holds a wallet, and SIWX is enough to mint a fresh grant key.
15
+ *
16
+ * Every call requires the caller to be an active owner of the project's org.
7
17
  * Exposed both unscoped (`r.grants.create(projectId, …)`) and project-scoped
8
18
  * (`r.project(id).grants.create(…)`), mirroring `r.functions` / `r.jobs`.
9
19
  */
10
20
  import type { Client } from "../kernel.js";
11
- import type { CreateGrantInput, GrantCreateResult, GrantRevokeResult } from "./grants.types.js";
21
+ import type { CreateGrantInput, GrantCreateResult, GrantKeyCreateResult, GrantKeyInput, GrantKeyRevokeResult, GrantKeyRotateResult, GrantListResult, GrantRevokeResult } from "./grants.types.js";
12
22
  export declare class Grants {
13
23
  private readonly client;
14
24
  constructor(client: Client);
15
25
  /**
16
26
  * Issue a capability grant to a wallet for a project
17
- * (`POST /projects/v1/:project_id/grants`). Requires owner of the project's org.
27
+ * (`POST /projects/v1/:project_id/grants`). With `key`, also mints the
28
+ * grant's first grant key in the same transaction; its `key.token` is
29
+ * returned **once** — persist it immediately, or rotate for a new one.
18
30
  */
19
31
  create(projectId: string, input: CreateGrantInput): Promise<GrantCreateResult>;
20
32
  /**
21
- * Revoke a capability grant
22
- * (`DELETE /projects/v1/:project_id/grants/:grant_id`). Requires owner of the
23
- * project's org.
33
+ * List a project's grants with their grant keys nested
34
+ * (`GET /projects/v1/:project_id/grants`). Never returns a token or any
35
+ * secret material.
36
+ */
37
+ list(projectId: string): Promise<GrantListResult>;
38
+ /**
39
+ * Revoke a capability grant and every grant key minted against it
40
+ * (`DELETE /projects/v1/:project_id/grants/:grant_id`).
24
41
  */
25
42
  revoke(projectId: string, grantId: string): Promise<GrantRevokeResult>;
43
+ /**
44
+ * Mint another grant key against an existing grant
45
+ * (`POST /projects/v1/:project_id/grants/:grant_id/keys`). `key.token` is
46
+ * returned **once**.
47
+ */
48
+ createKey(projectId: string, grantId: string, input?: GrantKeyInput): Promise<GrantKeyCreateResult>;
49
+ /**
50
+ * Revoke one grant key (`DELETE /projects/v1/:project_id/grant-keys/:key_id`).
51
+ * The grant and its other keys stay.
52
+ */
53
+ revokeKey(projectId: string, keyId: string): Promise<GrantKeyRevokeResult>;
54
+ /**
55
+ * Replace a grant key (`POST /projects/v1/:project_id/grant-keys/:key_id/rotate`):
56
+ * revokes it and mints a fresh one against the same grant with the same
57
+ * kind, scope, cap and expiry. The new `key.token` is returned **once**.
58
+ */
59
+ rotateKey(projectId: string, keyId: string): Promise<GrantKeyRotateResult>;
26
60
  }
27
61
  //# sourceMappingURL=grants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"grants.d.ts","sourceRoot":"","sources":["../../src/namespaces/grants.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,MAAM;IACL,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C;;;OAGG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAsBpF;;;;OAIG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAY7E"}
1
+ {"version":3,"file":"grants.d.ts","sourceRoot":"","sources":["../../src/namespaces/grants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAgB3B,qBAAa,MAAM;IACL,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C;;;;;OAKG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAwBpF;;;;OAIG;IACG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAUvD;;;OAGG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAa5E;;;;OAIG;IACG,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,aAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAa7G;;;OAGG;IACG,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAahF;;;;OAIG;IACG,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAYjF"}
@@ -1,13 +1,40 @@
1
1
  /**
2
- * `grants` namespace — per-project capability grants for non-member
3
- * (agent / CI) principals (gateway `org-member-management`). Issue or revoke a
4
- * grant against `/projects/v1/:project_id/grants`. Mutations require the caller
5
- * to be an active owner of the project's owning org.
2
+ * `grants` namespace — per-project capability grants and the grant keys minted
3
+ * against them.
6
4
  *
5
+ * A grant is the permission row (this principal may do this capability on this
6
+ * project until this date). A grant key is a credential minted against exactly
7
+ * one grant: narrower than it, spend-capped, expiring, revocable on its own,
8
+ * never an owner. An agent with its own wallet needs only the grant (it signs
9
+ * via SIWX); an agent without one gets a grant key.
10
+ *
11
+ * The practical reason keys exist on the client: project API keys are
12
+ * stateless JWTs handed out once at create and never re-issued, so an agent
13
+ * that loses local state has no way back into its own project. The owner still
14
+ * holds a wallet, and SIWX is enough to mint a fresh grant key.
15
+ *
16
+ * Every call requires the caller to be an active owner of the project's org.
7
17
  * Exposed both unscoped (`r.grants.create(projectId, …)`) and project-scoped
8
18
  * (`r.project(id).grants.create(…)`), mirroring `r.functions` / `r.jobs`.
9
19
  */
10
20
  import { LocalError } from "../errors.js";
21
+ function grantKeyBody(input) {
22
+ const body = {};
23
+ if (input.kind !== undefined)
24
+ body.kind = input.kind;
25
+ if (input.scope !== undefined)
26
+ body.scope = input.scope;
27
+ if (input.spendCap !== undefined)
28
+ body.spend_cap = input.spendCap;
29
+ if (input.expiresAt !== undefined)
30
+ body.expires_at = input.expiresAt;
31
+ if (input.publicSubject !== undefined)
32
+ body.public_subject = input.publicSubject;
33
+ return body;
34
+ }
35
+ function projectPath(projectId) {
36
+ return `/projects/v1/${encodeURIComponent(projectId)}`;
37
+ }
11
38
  export class Grants {
12
39
  client;
13
40
  constructor(client) {
@@ -15,7 +42,9 @@ export class Grants {
15
42
  }
16
43
  /**
17
44
  * Issue a capability grant to a wallet for a project
18
- * (`POST /projects/v1/:project_id/grants`). Requires owner of the project's org.
45
+ * (`POST /projects/v1/:project_id/grants`). With `key`, also mints the
46
+ * grant's first grant key in the same transaction; its `key.token` is
47
+ * returned **once** — persist it immediately, or rotate for a new one.
19
48
  */
20
49
  async create(projectId, input) {
21
50
  if (!projectId) {
@@ -35,12 +64,31 @@ export class Grants {
35
64
  body.policy = input.policy;
36
65
  if (input.expiresAt !== undefined)
37
66
  body.expires_at = input.expiresAt;
38
- return this.client.request(`/projects/v1/${encodeURIComponent(projectId)}/grants`, { method: "POST", body, context: "creating project grant" });
67
+ if (input.key !== undefined)
68
+ body.key = grantKeyBody(input.key);
69
+ return this.client.request(`${projectPath(projectId)}/grants`, {
70
+ method: "POST",
71
+ body,
72
+ context: "creating project grant",
73
+ });
74
+ }
75
+ /**
76
+ * List a project's grants with their grant keys nested
77
+ * (`GET /projects/v1/:project_id/grants`). Never returns a token or any
78
+ * secret material.
79
+ */
80
+ async list(projectId) {
81
+ if (!projectId) {
82
+ throw new LocalError("grants.list requires a projectId", "listing project grants");
83
+ }
84
+ return this.client.request(`${projectPath(projectId)}/grants`, {
85
+ method: "GET",
86
+ context: "listing project grants",
87
+ });
39
88
  }
40
89
  /**
41
- * Revoke a capability grant
42
- * (`DELETE /projects/v1/:project_id/grants/:grant_id`). Requires owner of the
43
- * project's org.
90
+ * Revoke a capability grant and every grant key minted against it
91
+ * (`DELETE /projects/v1/:project_id/grants/:grant_id`).
44
92
  */
45
93
  async revoke(projectId, grantId) {
46
94
  if (!projectId) {
@@ -49,7 +97,48 @@ export class Grants {
49
97
  if (!grantId) {
50
98
  throw new LocalError("grants.revoke requires a grantId", "revoking project grant");
51
99
  }
52
- return this.client.request(`/projects/v1/${encodeURIComponent(projectId)}/grants/${encodeURIComponent(grantId)}`, { method: "DELETE", context: "revoking project grant" });
100
+ return this.client.request(`${projectPath(projectId)}/grants/${encodeURIComponent(grantId)}`, { method: "DELETE", context: "revoking project grant" });
101
+ }
102
+ /**
103
+ * Mint another grant key against an existing grant
104
+ * (`POST /projects/v1/:project_id/grants/:grant_id/keys`). `key.token` is
105
+ * returned **once**.
106
+ */
107
+ async createKey(projectId, grantId, input = {}) {
108
+ if (!projectId) {
109
+ throw new LocalError("grants.createKey requires a projectId", "minting grant key");
110
+ }
111
+ if (!grantId) {
112
+ throw new LocalError("grants.createKey requires a grantId", "minting grant key");
113
+ }
114
+ return this.client.request(`${projectPath(projectId)}/grants/${encodeURIComponent(grantId)}/keys`, { method: "POST", body: grantKeyBody(input), context: "minting grant key" });
115
+ }
116
+ /**
117
+ * Revoke one grant key (`DELETE /projects/v1/:project_id/grant-keys/:key_id`).
118
+ * The grant and its other keys stay.
119
+ */
120
+ async revokeKey(projectId, keyId) {
121
+ if (!projectId) {
122
+ throw new LocalError("grants.revokeKey requires a projectId", "revoking grant key");
123
+ }
124
+ if (!keyId) {
125
+ throw new LocalError("grants.revokeKey requires a keyId", "revoking grant key");
126
+ }
127
+ return this.client.request(`${projectPath(projectId)}/grant-keys/${encodeURIComponent(keyId)}`, { method: "DELETE", context: "revoking grant key" });
128
+ }
129
+ /**
130
+ * Replace a grant key (`POST /projects/v1/:project_id/grant-keys/:key_id/rotate`):
131
+ * revokes it and mints a fresh one against the same grant with the same
132
+ * kind, scope, cap and expiry. The new `key.token` is returned **once**.
133
+ */
134
+ async rotateKey(projectId, keyId) {
135
+ if (!projectId) {
136
+ throw new LocalError("grants.rotateKey requires a projectId", "rotating grant key");
137
+ }
138
+ if (!keyId) {
139
+ throw new LocalError("grants.rotateKey requires a keyId", "rotating grant key");
140
+ }
141
+ return this.client.request(`${projectPath(projectId)}/grant-keys/${encodeURIComponent(keyId)}/rotate`, { method: "POST", context: "rotating grant key" });
53
142
  }
54
143
  }
55
144
  //# sourceMappingURL=grants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grants.js","sourceRoot":"","sources":["../../src/namespaces/grants.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAO1C,MAAM,OAAO,MAAM;IACY;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,KAAuB;QACrD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,UAAU,CAAC,oCAAoC,EAAE,wBAAwB,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,UAAU,CAAC,mCAAmC,EAAE,wBAAwB,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC;YACvB,MAAM,IAAI,UAAU,CAAC,uCAAuC,EAAE,wBAAwB,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,IAAI,GAA4B;YACpC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,UAAU,EAAE,KAAK,CAAC,UAAU;SAC7B,CAAC;QACF,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3D,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC;QACrE,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,gBAAgB,kBAAkB,CAAC,SAAS,CAAC,SAAS,EACtD,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAC5D,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,OAAe;QAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,UAAU,CAAC,oCAAoC,EAAE,wBAAwB,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,UAAU,CAAC,kCAAkC,EAAE,wBAAwB,CAAC,CAAC;QACrF,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,gBAAgB,kBAAkB,CAAC,SAAS,CAAC,WAAW,kBAAkB,CAAC,OAAO,CAAC,EAAE,EACrF,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,wBAAwB,EAAE,CACxD,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"grants.js","sourceRoot":"","sources":["../../src/namespaces/grants.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,55 @@
1
1
  /**
2
2
  * Request/response types for the `grants` namespace — per-project capability
3
- * grants for non-member (agent / CI) principals (gateway `org-member-management`).
4
- * Maps to `POST` / `DELETE /projects/v1/:project_id/grants`. Mutations require
5
- * the caller to be an active owner of the project's org.
3
+ * grants and the grant keys minted against them.
4
+ *
5
+ * A **grant** is the permission row: this principal may do this capability on
6
+ * this project until this date. A **grant key** is a credential minted against
7
+ * exactly one grant, narrower than it (scope, spend cap, expiry), revocable on
8
+ * its own, and never an owner. A grant may hold no key (the agent signs with
9
+ * its own wallet via SIWX), one, or several. Revoking a key leaves the grant;
10
+ * revoking the grant kills every key.
11
+ *
12
+ * Maps to `/projects/v1/:project_id/grants[...]` and
13
+ * `/projects/v1/:project_id/grant-keys/:key_id[...]`. Every call requires the
14
+ * caller to be an active owner of the project's org.
6
15
  */
7
- /** A per-project capability grant (`internal.project_grants`). */
8
- export interface ProjectGrant {
9
- id: string;
10
- project_id: string;
11
- principal_id: string;
12
- /** e.g. `"deploy"`, `"functions:write"`. */
13
- capability: string;
14
- policy: Record<string, unknown>;
15
- expires_at: string | null;
16
- revoked_at: string | null;
17
- created_at: string;
16
+ /** Grant-key kinds. Only `run402_agent_key` returns a bearer `token`. */
17
+ export type GrantKeyKind = "run402_agent_key" | "ci_oidc" | "tempo_access_key" | "base_disposable_eoa" | "erc7710";
18
+ /**
19
+ * Grant-key scope (`scope` JSONB). Always a subset of the grant: a key never
20
+ * widens it. Omit to take the grant's own capability.
21
+ */
22
+ export interface GrantKeyScope {
23
+ /** Schema version. Must be `1`. */
24
+ v: 1;
25
+ /** Non-empty capability list, e.g. `["deploy"]`. */
26
+ capabilities: string[];
27
+ /** Optional project allowlist. Defaults to the issuing project. */
28
+ projects?: string[];
18
29
  [key: string]: unknown;
19
30
  }
31
+ /** Spend cap (`spend_cap` JSONB). Required for the payment-rail kinds; enforced at send time. */
32
+ export interface GrantKeySpendCap {
33
+ v: 1;
34
+ currency: "usd_micros";
35
+ period?: "day" | "week" | "month";
36
+ per_tx?: number;
37
+ per_period?: number;
38
+ [key: string]: unknown;
39
+ }
40
+ /** A grant-key request: every field optional; `{}` takes every default. */
41
+ export interface GrantKeyInput {
42
+ /** Defaults to `"run402_agent_key"` (the bearer an agent holds). */
43
+ kind?: GrantKeyKind;
44
+ /** Defaults to the grant's own capability. */
45
+ scope?: GrantKeyScope;
46
+ /** Spend cap (payment-rail kinds). */
47
+ spendCap?: GrantKeySpendCap | null;
48
+ /** ISO-8601 expiry; omit or `null` for none beyond the grant's. */
49
+ expiresAt?: string | null;
50
+ /** Rail-specific public subject. */
51
+ publicSubject?: string;
52
+ }
20
53
  /** Input to {@link Grants.create}. */
21
54
  export interface CreateGrantInput {
22
55
  /** EVM address (or named wallet) the grant is issued to. */
@@ -27,12 +60,63 @@ export interface CreateGrantInput {
27
60
  policy?: Record<string, unknown>;
28
61
  /** Optional ISO-8601 expiry. Omit for a non-expiring grant. */
29
62
  expiresAt?: string;
63
+ /**
64
+ * Also mint the grant's first grant key in the same transaction. The key's
65
+ * `token` is returned ONCE in `key.token`.
66
+ */
67
+ key?: GrantKeyInput;
30
68
  }
31
- /** Result of {@link Grants.create} (`{ status:"ok", grant_id, principal_id }`). */
69
+ /**
70
+ * A freshly minted grant key. `token` is the `run402_agent_key` bearer,
71
+ * returned **once** and never again; `null` for kinds that carry no bearer.
72
+ */
73
+ export interface MintedGrantKey {
74
+ key_id: string;
75
+ kind: GrantKeyKind | (string & {});
76
+ token: string | null;
77
+ expires_at: string | null;
78
+ [key: string]: unknown;
79
+ }
80
+ /** Result of {@link Grants.create} (`{ status:"ok", grant_id, principal_id, key? }`). */
32
81
  export interface GrantCreateResult {
33
82
  status: string;
34
83
  grant_id: string;
35
84
  principal_id: string;
85
+ /** Present when a key was requested. */
86
+ key?: MintedGrantKey;
87
+ [key: string]: unknown;
88
+ }
89
+ /** A grant key as listed — never a token or secret material. */
90
+ export interface GrantKey {
91
+ key_id: string;
92
+ grant_id: string;
93
+ kind: GrantKeyKind;
94
+ principal_id: string;
95
+ public_subject: string | null;
96
+ scope: Record<string, unknown>;
97
+ spend_cap: Record<string, unknown> | null;
98
+ expires_at: string | null;
99
+ revoked_at: string | null;
100
+ created_at: string;
101
+ [key: string]: unknown;
102
+ }
103
+ /** A per-project capability grant with its grant keys nested. */
104
+ export interface ProjectGrant {
105
+ grant_id: string;
106
+ principal_id: string;
107
+ wallet: string | null;
108
+ /** e.g. `"deploy"`, `"functions:write"`. */
109
+ capability: string;
110
+ policy: Record<string, unknown>;
111
+ expires_at: string | null;
112
+ revoked_at: string | null;
113
+ created_at: string;
114
+ keys: GrantKey[];
115
+ [key: string]: unknown;
116
+ }
117
+ /** Result of {@link Grants.list}. */
118
+ export interface GrantListResult {
119
+ grants: ProjectGrant[];
36
120
  [key: string]: unknown;
37
121
  }
38
122
  /** Result of {@link Grants.revoke} (`{ status:"revoked", grant_id }`). */
@@ -41,4 +125,25 @@ export interface GrantRevokeResult {
41
125
  grant_id: string;
42
126
  [key: string]: unknown;
43
127
  }
128
+ /** Result of {@link Grants.createKey} (`{ status:"ok", grant_id, key }`). */
129
+ export interface GrantKeyCreateResult {
130
+ status: string;
131
+ grant_id: string;
132
+ key: MintedGrantKey;
133
+ [key: string]: unknown;
134
+ }
135
+ /** Result of {@link Grants.revokeKey} (`{ status:"revoked", key_id }`). */
136
+ export interface GrantKeyRevokeResult {
137
+ status: string;
138
+ key_id: string;
139
+ [key: string]: unknown;
140
+ }
141
+ /** Result of {@link Grants.rotateKey} (`{ status:"rotated", replaced_key_id, grant_id, key }`). */
142
+ export interface GrantKeyRotateResult {
143
+ status: string;
144
+ replaced_key_id: string;
145
+ grant_id: string;
146
+ key: MintedGrantKey;
147
+ [key: string]: unknown;
148
+ }
44
149
  //# sourceMappingURL=grants.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"grants.types.d.ts","sourceRoot":"","sources":["../../src/namespaces/grants.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,kEAAkE;AAClE,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,sCAAsC;AACtC,MAAM,WAAW,gBAAgB;IAC/B,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,mFAAmF;AACnF,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,0EAA0E;AAC1E,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
1
+ {"version":3,"file":"grants.types.d.ts","sourceRoot":"","sources":["../../src/namespaces/grants.types.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,17 @@
1
1
  /**
2
2
  * Request/response types for the `grants` namespace — per-project capability
3
- * grants for non-member (agent / CI) principals (gateway `org-member-management`).
4
- * Maps to `POST` / `DELETE /projects/v1/:project_id/grants`. Mutations require
5
- * the caller to be an active owner of the project's org.
3
+ * grants and the grant keys minted against them.
4
+ *
5
+ * A **grant** is the permission row: this principal may do this capability on
6
+ * this project until this date. A **grant key** is a credential minted against
7
+ * exactly one grant, narrower than it (scope, spend cap, expiry), revocable on
8
+ * its own, and never an owner. A grant may hold no key (the agent signs with
9
+ * its own wallet via SIWX), one, or several. Revoking a key leaves the grant;
10
+ * revoking the grant kills every key.
11
+ *
12
+ * Maps to `/projects/v1/:project_id/grants[...]` and
13
+ * `/projects/v1/:project_id/grant-keys/:key_id[...]`. Every call requires the
14
+ * caller to be an active owner of the project's org.
6
15
  */
7
16
  export {};
8
17
  //# sourceMappingURL=grants.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grants.types.js","sourceRoot":"","sources":["../../src/namespaces/grants.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
1
+ {"version":3,"file":"grants.types.js","sourceRoot":"","sources":["../../src/namespaces/grants.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG"}
@@ -51,11 +51,11 @@ export type AuthoritySnapshot = {
51
51
  grant_id: string;
52
52
  scope: string[];
53
53
  } | {
54
- kind: "delegate";
54
+ kind: "grant_key";
55
55
  organization_id: string;
56
56
  project_id: string;
57
57
  grant_id: string;
58
- delegate_id: string;
58
+ grant_key_id: string;
59
59
  scope: string[];
60
60
  } | {
61
61
  kind: "ci";
@@ -1 +1 @@
1
- {"version":3,"file":"identity-links.types.d.ts","sourceRoot":"","sources":["../../src/namespaces/identity-links.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity-links.types.d.ts","sourceRoot":"","sources":["../../src/namespaces/identity-links.types.ts"],"names":[],"mappings":"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"}
@@ -38,11 +38,11 @@ export declare class OrgMembers {
38
38
  */
39
39
  revoke(principalId: string): Promise<MemberRevokeResult>;
40
40
  /**
41
- * gitvault-agent-envelopes D3 — an OWNER revokes a member's current gitvault
41
+ * vault-agent-envelopes D3 — an OWNER revokes a member's current vault
42
42
  * encryption key (`DELETE /orgs/v1/:org_id/members/:principal_id/encryption-key`,
43
43
  * owner + step-up). The independent-credential rotation path: a member whose
44
44
  * keystore was lost or rebuilt cannot self-rotate (the asking credential is
45
- * the one a thief would hold); after this, the member's next gitvault
45
+ * the one a thief would hold); after this, the member's next vault
46
46
  * operation enrolls its current keystore key afresh and a key-holder's next
47
47
  * operation wraps each vault to it. Audited, org-feed row + mandatory
48
48
  * security notification (`gitvault_encryption_key_revoked`).
@@ -254,7 +254,7 @@ export declare class Orgs {
254
254
  * Set the caller's own display name (`PATCH /agent/v1/me`) — the name
255
255
  * promotion credit (`hand_to_member.credited_as`), `up`'s room presence,
256
256
  * and audit surfaces show for this principal. 1–64 characters after
257
- * trimming, no control characters. Self-only: a delegate names the
257
+ * trimming, no control characters. Self-only: a grant key names the
258
258
  * principal it acts for. Returns the same body `whoami()` returns.
259
259
  */
260
260
  setDisplayName(displayName: string): Promise<WhoAmIResult>;
@@ -75,11 +75,11 @@ export class OrgMembers {
75
75
  return this.client.request(`/orgs/v1/${encodeURIComponent(this.orgId)}/members/${encodeURIComponent(principalId)}`, { method: "DELETE", context: "revoking org member" });
76
76
  }
77
77
  /**
78
- * gitvault-agent-envelopes D3 — an OWNER revokes a member's current gitvault
78
+ * vault-agent-envelopes D3 — an OWNER revokes a member's current vault
79
79
  * encryption key (`DELETE /orgs/v1/:org_id/members/:principal_id/encryption-key`,
80
80
  * owner + step-up). The independent-credential rotation path: a member whose
81
81
  * keystore was lost or rebuilt cannot self-rotate (the asking credential is
82
- * the one a thief would hold); after this, the member's next gitvault
82
+ * the one a thief would hold); after this, the member's next vault
83
83
  * operation enrolls its current keystore key afresh and a key-holder's next
84
84
  * operation wraps each vault to it. Audited, org-feed row + mandatory
85
85
  * security notification (`gitvault_encryption_key_revoked`).
@@ -336,7 +336,7 @@ export class Orgs {
336
336
  * Set the caller's own display name (`PATCH /agent/v1/me`) — the name
337
337
  * promotion credit (`hand_to_member.credited_as`), `up`'s room presence,
338
338
  * and audit surfaces show for this principal. 1–64 characters after
339
- * trimming, no control characters. Self-only: a delegate names the
339
+ * trimming, no control characters. Self-only: a grant key names the
340
340
  * principal it acts for. Returns the same body `whoami()` returns.
341
341
  */
342
342
  async setDisplayName(displayName) {
@@ -199,10 +199,10 @@ export interface MemberMutationResult {
199
199
  principal_id: string;
200
200
  role: OrgRole;
201
201
  /**
202
- * gitvault-agent-envelopes D6 — the new member's vault-custody state,
202
+ * vault-agent-envelopes D6 — the new member's vault-custody state,
203
203
  * folded in so the caller never has to ask: `enrolled_pending_wrap` (an
204
- * active key; a key-holder's next gitvault operation wraps each vault),
205
- * `not_enrolled` (the MEMBER's next gitvault operation enrolls its
204
+ * active key; a key-holder's next vault operation wraps each vault),
205
+ * `not_enrolled` (the MEMBER's next vault operation enrolls its
206
206
  * keystore key), `not_applicable` (`ci`).
207
207
  */
208
208
  envelope?: {
@@ -196,7 +196,7 @@ export function isPaymentBuyerError(error) {
196
196
  }
197
197
  /**
198
198
  * Duck-typed Response check: the buyer's transport may hand back npm
199
- * undici's Response (gitvault-owned-dispatcher), which is not an instance
199
+ * undici's Response (vault-owned-dispatcher), which is not an instance
200
200
  * of the GLOBAL Response class even though it satisfies the same contract.
201
201
  */
202
202
  function isResponseLike(value) {
@@ -100,7 +100,7 @@ export declare class Projects {
100
100
  * List redacted tenant x402 payment records for priced function web routes
101
101
  * (`GET /projects/v1/:project_id/tenant-payments`). Requires
102
102
  * project.tenant_payments.read server-side: org developer+ or read-scoped
103
- * project grant/delegate.
103
+ * project grant or grant key.
104
104
  */
105
105
  listTenantPayments(projectId: string, opts?: ListTenantPaymentsOptions): Promise<TenantPaymentListResult>;
106
106
  /**
@@ -232,7 +232,7 @@ export class Projects {
232
232
  * List redacted tenant x402 payment records for priced function web routes
233
233
  * (`GET /projects/v1/:project_id/tenant-payments`). Requires
234
234
  * project.tenant_payments.read server-side: org developer+ or read-scoped
235
- * project grant/delegate.
235
+ * project grant or grant key.
236
236
  */
237
237
  async listTenantPayments(projectId, opts = {}) {
238
238
  const qs = new URLSearchParams();