@grantex/sdk 0.5.1 → 0.7.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 (185) hide show
  1. package/LICENSE +185 -0
  2. package/NOTICE +16 -0
  3. package/README.md +34 -2
  4. package/dist/authorization-details.d.ts +86 -0
  5. package/dist/authorization-details.d.ts.map +1 -0
  6. package/dist/authorization-details.js +209 -0
  7. package/dist/authorization-details.js.map +1 -0
  8. package/dist/canonical.d.ts +47 -0
  9. package/dist/canonical.d.ts.map +1 -0
  10. package/dist/canonical.js +163 -0
  11. package/dist/canonical.js.map +1 -0
  12. package/dist/caps/index.d.ts +19 -0
  13. package/dist/caps/index.d.ts.map +1 -0
  14. package/dist/caps/index.js +19 -0
  15. package/dist/caps/index.js.map +1 -0
  16. package/dist/caps/limits.d.ts +40 -0
  17. package/dist/caps/limits.d.ts.map +1 -0
  18. package/dist/caps/limits.js +109 -0
  19. package/dist/caps/limits.js.map +1 -0
  20. package/dist/caps/memory.d.ts +15 -0
  21. package/dist/caps/memory.d.ts.map +1 -0
  22. package/dist/caps/memory.js +57 -0
  23. package/dist/caps/memory.js.map +1 -0
  24. package/dist/caps/meter.d.ts +107 -0
  25. package/dist/caps/meter.d.ts.map +1 -0
  26. package/dist/caps/meter.js +200 -0
  27. package/dist/caps/meter.js.map +1 -0
  28. package/dist/caps/postgres.d.ts +64 -0
  29. package/dist/caps/postgres.d.ts.map +1 -0
  30. package/dist/caps/postgres.js +221 -0
  31. package/dist/caps/postgres.js.map +1 -0
  32. package/dist/caps/redis.d.ts +45 -0
  33. package/dist/caps/redis.d.ts.map +1 -0
  34. package/dist/caps/redis.js +173 -0
  35. package/dist/caps/redis.js.map +1 -0
  36. package/dist/client.d.ts +12 -0
  37. package/dist/client.d.ts.map +1 -1
  38. package/dist/client.js +517 -57
  39. package/dist/client.js.map +1 -1
  40. package/dist/decisions/action.d.ts +51 -0
  41. package/dist/decisions/action.d.ts.map +1 -0
  42. package/dist/decisions/action.js +237 -0
  43. package/dist/decisions/action.js.map +1 -0
  44. package/dist/decisions/index.d.ts +11 -0
  45. package/dist/decisions/index.d.ts.map +1 -0
  46. package/dist/decisions/index.js +8 -0
  47. package/dist/decisions/index.js.map +1 -0
  48. package/dist/decisions/verify.d.ts +103 -0
  49. package/dist/decisions/verify.d.ts.map +1 -0
  50. package/dist/decisions/verify.js +277 -0
  51. package/dist/decisions/verify.js.map +1 -0
  52. package/dist/denials.d.ts +132 -0
  53. package/dist/denials.d.ts.map +1 -0
  54. package/dist/denials.js +129 -0
  55. package/dist/denials.js.map +1 -0
  56. package/dist/evidence/build.d.ts +63 -0
  57. package/dist/evidence/build.d.ts.map +1 -0
  58. package/dist/evidence/build.js +201 -0
  59. package/dist/evidence/build.js.map +1 -0
  60. package/dist/evidence/canonical.d.ts +3 -0
  61. package/dist/evidence/canonical.d.ts.map +1 -0
  62. package/dist/evidence/canonical.js +3 -0
  63. package/dist/evidence/canonical.js.map +1 -0
  64. package/dist/evidence/checks.d.ts +13 -0
  65. package/dist/evidence/checks.d.ts.map +1 -0
  66. package/dist/evidence/checks.js +406 -0
  67. package/dist/evidence/checks.js.map +1 -0
  68. package/dist/evidence/document.d.ts +8 -0
  69. package/dist/evidence/document.d.ts.map +1 -0
  70. package/dist/evidence/document.js +298 -0
  71. package/dist/evidence/document.js.map +1 -0
  72. package/dist/evidence/hashing.d.ts +37 -0
  73. package/dist/evidence/hashing.d.ts.map +1 -0
  74. package/dist/evidence/hashing.js +106 -0
  75. package/dist/evidence/hashing.js.map +1 -0
  76. package/dist/evidence/index.d.ts +24 -0
  77. package/dist/evidence/index.d.ts.map +1 -0
  78. package/dist/evidence/index.js +24 -0
  79. package/dist/evidence/index.js.map +1 -0
  80. package/dist/evidence/result.d.ts +88 -0
  81. package/dist/evidence/result.d.ts.map +1 -0
  82. package/dist/evidence/result.js +88 -0
  83. package/dist/evidence/result.js.map +1 -0
  84. package/dist/evidence/schema-1.0.d.ts +2 -0
  85. package/dist/evidence/schema-1.0.d.ts.map +1 -0
  86. package/dist/evidence/schema-1.0.js +1398 -0
  87. package/dist/evidence/schema-1.0.js.map +1 -0
  88. package/dist/evidence/schema.d.ts +13 -0
  89. package/dist/evidence/schema.d.ts.map +1 -0
  90. package/dist/evidence/schema.js +264 -0
  91. package/dist/evidence/schema.js.map +1 -0
  92. package/dist/evidence/signature.d.ts +23 -0
  93. package/dist/evidence/signature.d.ts.map +1 -0
  94. package/dist/evidence/signature.js +136 -0
  95. package/dist/evidence/signature.js.map +1 -0
  96. package/dist/evidence/trace.d.ts +23 -0
  97. package/dist/evidence/trace.d.ts.map +1 -0
  98. package/dist/evidence/trace.js +69 -0
  99. package/dist/evidence/trace.js.map +1 -0
  100. package/dist/evidence/verify.d.ts +29 -0
  101. package/dist/evidence/verify.d.ts.map +1 -0
  102. package/dist/evidence/verify.js +163 -0
  103. package/dist/evidence/verify.js.map +1 -0
  104. package/dist/http.d.ts +12 -1
  105. package/dist/http.d.ts.map +1 -1
  106. package/dist/http.js +11 -5
  107. package/dist/http.js.map +1 -1
  108. package/dist/index.d.ts +16 -3
  109. package/dist/index.d.ts.map +1 -1
  110. package/dist/index.js +16 -2
  111. package/dist/index.js.map +1 -1
  112. package/dist/manifest.d.ts +178 -9
  113. package/dist/manifest.d.ts.map +1 -1
  114. package/dist/manifest.js +379 -16
  115. package/dist/manifest.js.map +1 -1
  116. package/dist/prepaid-wallets.d.ts +21 -0
  117. package/dist/prepaid-wallets.d.ts.map +1 -1
  118. package/dist/prepaid-wallets.js +6 -0
  119. package/dist/prepaid-wallets.js.map +1 -1
  120. package/dist/purpose.d.ts +29 -0
  121. package/dist/purpose.d.ts.map +1 -0
  122. package/dist/purpose.js +60 -0
  123. package/dist/purpose.js.map +1 -0
  124. package/dist/resources/agents.js +3 -3
  125. package/dist/resources/agents.js.map +1 -1
  126. package/dist/resources/anomalies.d.ts +3 -1
  127. package/dist/resources/anomalies.d.ts.map +1 -1
  128. package/dist/resources/anomalies.js +7 -1
  129. package/dist/resources/anomalies.js.map +1 -1
  130. package/dist/resources/audit.js +1 -1
  131. package/dist/resources/audit.js.map +1 -1
  132. package/dist/resources/budgets.js +2 -2
  133. package/dist/resources/budgets.js.map +1 -1
  134. package/dist/resources/credentials.js +1 -1
  135. package/dist/resources/credentials.js.map +1 -1
  136. package/dist/resources/decisions.d.ts +69 -0
  137. package/dist/resources/decisions.d.ts.map +1 -0
  138. package/dist/resources/decisions.js +115 -0
  139. package/dist/resources/decisions.js.map +1 -0
  140. package/dist/resources/domains.js +2 -2
  141. package/dist/resources/domains.js.map +1 -1
  142. package/dist/resources/dpdp.js +4 -4
  143. package/dist/resources/dpdp.js.map +1 -1
  144. package/dist/resources/grants.js +2 -2
  145. package/dist/resources/grants.js.map +1 -1
  146. package/dist/resources/policies.js +3 -3
  147. package/dist/resources/policies.js.map +1 -1
  148. package/dist/resources/scim.js +5 -5
  149. package/dist/resources/scim.js.map +1 -1
  150. package/dist/resources/tokens.d.ts.map +1 -1
  151. package/dist/resources/tokens.js +5 -1
  152. package/dist/resources/tokens.js.map +1 -1
  153. package/dist/resources/vault.js +2 -2
  154. package/dist/resources/vault.js.map +1 -1
  155. package/dist/resources/webauthn.d.ts +6 -1
  156. package/dist/resources/webauthn.d.ts.map +1 -1
  157. package/dist/resources/webauthn.js +5 -1
  158. package/dist/resources/webauthn.js.map +1 -1
  159. package/dist/resources/webhooks.js +1 -1
  160. package/dist/resources/webhooks.js.map +1 -1
  161. package/dist/revocations/feed.d.ts +61 -0
  162. package/dist/revocations/feed.d.ts.map +1 -0
  163. package/dist/revocations/feed.js +282 -0
  164. package/dist/revocations/feed.js.map +1 -0
  165. package/dist/revocations/index.d.ts +20 -0
  166. package/dist/revocations/index.d.ts.map +1 -0
  167. package/dist/revocations/index.js +19 -0
  168. package/dist/revocations/index.js.map +1 -0
  169. package/dist/revocations/set.d.ts +59 -0
  170. package/dist/revocations/set.d.ts.map +1 -0
  171. package/dist/revocations/set.js +87 -0
  172. package/dist/revocations/set.js.map +1 -0
  173. package/dist/scopes.d.ts +26 -0
  174. package/dist/scopes.d.ts.map +1 -0
  175. package/dist/scopes.js +37 -0
  176. package/dist/scopes.js.map +1 -0
  177. package/dist/types.d.ts +121 -4
  178. package/dist/types.d.ts.map +1 -1
  179. package/dist/types.js +0 -1
  180. package/dist/types.js.map +1 -1
  181. package/dist/verify.d.ts +31 -2
  182. package/dist/verify.d.ts.map +1 -1
  183. package/dist/verify.js +236 -29
  184. package/dist/verify.js.map +1 -1
  185. package/package.json +13 -4
package/dist/manifest.js CHANGED
@@ -51,17 +51,287 @@ export function permissionCovers(granted, required) {
51
51
  const requiredLevel = PERMISSION_LEVELS[required] ?? 99;
52
52
  return grantedLevel >= requiredLevel;
53
53
  }
54
+ /* ------------------------------------------------------------------ */
55
+ /* Manifest 0.6 tool declarations */
56
+ /* ------------------------------------------------------------------ */
57
+ /** `$id` of the manifest 0.6 JSON Schema. */
58
+ export const MANIFEST_SCHEMA_ID = 'https://grantex.dev/spec/manifest-0.6.schema.json';
59
+ /** Largest cap or cost-unit value a manifest may declare. */
60
+ export const MAX_COUNT = 2147483647;
61
+ /** Not allowed as a tool name: grant `caps` use it for the cost-unit budget. */
62
+ export const RESERVED_TOOL_NAME = 'cost_units';
63
+ const TOP_LEVEL_KEYS = ['$schema', 'connector', 'version', 'description', 'tools'];
64
+ const TOOL_KEYS = [
65
+ 'permission',
66
+ 'allowed_purposes',
67
+ 'caps',
68
+ 'cost_units',
69
+ 'requires_decision',
70
+ 'four_eyes_on',
71
+ 'decision_fields',
72
+ ];
73
+ const CORE_DECISION_FIELDS = ['case_id', 'action', 'decision', 'subject', 'amount', 'extra'];
74
+ /** Most extra semantic fields a tool may declare for decision grants. */
75
+ export const MAX_DECISION_FIELDS = 16;
76
+ const CAP_KEYS = ['per_hour', 'per_day', 'per_case'];
77
+ const NAME_RE = /^[A-Za-z0-9_][A-Za-z0-9_.-]{0,127}$/;
78
+ const UNIT_RE = /^[a-z][a-z0-9_]{0,63}$/;
79
+ const SEG = '[a-z][a-z0-9_]*';
80
+ const ORG = 'x-[a-z0-9]+(?:-[a-z0-9]+)*';
81
+ /** Syntax of an `allowed_purposes` entry (a purpose or a `prefix.*` wildcard). */
82
+ export const PURPOSE_PATTERN_RE = new RegExp(`^(?:${SEG}(?:\\.${SEG})*(?:\\.\\*)?|${ORG}(?:(?:\\.${SEG})+(?:\\.\\*)?|\\.\\*))$`);
83
+ const MAX_PURPOSE_LENGTH = 128;
84
+ /** A manifest does not conform to manifest schema 0.6. The message names the offending path. */
85
+ export class ManifestValidationError extends Error {
86
+ constructor(message) {
87
+ super(message);
88
+ this.name = 'ManifestValidationError';
89
+ }
90
+ }
91
+ function q(value) {
92
+ const out = JSON.stringify(value);
93
+ return out === undefined ? String(value) : out;
94
+ }
95
+ function fail(message) {
96
+ return new ManifestValidationError(`ToolManifest: ${message}`);
97
+ }
98
+ function isPlainObject(value) {
99
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
100
+ }
101
+ function isPermission(value) {
102
+ return typeof value === 'string' && Object.values(Permission).includes(value);
103
+ }
104
+ function invalidPermission(value, tool) {
105
+ return fail(`invalid permission ${q(value)} for tool ${q(tool)}. Must be one of: ${Object.values(Permission).join(', ')}`);
106
+ }
107
+ function count(value, path) {
108
+ if (typeof value !== 'number' || !Number.isInteger(value) || value < 0 || value > MAX_COUNT) {
109
+ throw fail(`${path}: must be an integer between 0 and ${MAX_COUNT}`);
110
+ }
111
+ return value;
112
+ }
113
+ /** Whether `value` is a syntactically valid `allowed_purposes` entry. */
114
+ export function isValidPurposePattern(value) {
115
+ return (typeof value === 'string' && value.length <= MAX_PURPOSE_LENGTH && PURPOSE_PATTERN_RE.test(value));
116
+ }
117
+ function checkNames(connector, tools) {
118
+ if (typeof connector !== 'string' || !NAME_RE.test(connector)) {
119
+ throw fail(`invalid connector name ${q(connector)}`);
120
+ }
121
+ for (const name of Object.keys(tools)) {
122
+ if (!NAME_RE.test(name))
123
+ throw fail(`invalid tool name ${q(name)}`);
124
+ }
125
+ }
126
+ /**
127
+ * Validate one tool value (string or object form) and return its ToolSpec.
128
+ *
129
+ * @throws {ManifestValidationError} the value does not conform to manifest 0.6.
130
+ */
131
+ export function parseToolDeclaration(tool, value) {
132
+ if (tool === RESERVED_TOOL_NAME) {
133
+ throw fail(`tool name ${q(tool)} is reserved: it names the cost-unit budget in grant caps`);
134
+ }
135
+ if (typeof value === 'string') {
136
+ if (!isPermission(value))
137
+ throw invalidPermission(value, tool);
138
+ return { permission: value, requiresDecision: false, fourEyesOn: [] };
139
+ }
140
+ if (!isPlainObject(value)) {
141
+ throw fail(`tools.${tool}: must be a permission string or an object`);
142
+ }
143
+ const path = `tools.${tool}`;
144
+ for (const key of Object.keys(value)) {
145
+ if (!TOOL_KEYS.includes(key)) {
146
+ throw fail(`${path}: unknown key ${q(key)} (allowed: ${TOOL_KEYS.join(', ')})`);
147
+ }
148
+ }
149
+ if (!('permission' in value))
150
+ throw fail(`${path}: missing required key "permission"`);
151
+ const permission = value['permission'];
152
+ if (!isPermission(permission))
153
+ throw invalidPermission(permission, tool);
154
+ const spec = { permission, requiresDecision: false, fourEyesOn: [] };
155
+ if ('allowed_purposes' in value) {
156
+ const raw = value['allowed_purposes'];
157
+ const message = `${path}.allowed_purposes: must be a non-empty array of unique purpose patterns`;
158
+ if (!Array.isArray(raw) || raw.length === 0)
159
+ throw fail(message);
160
+ raw.forEach((pattern, index) => {
161
+ if (!isValidPurposePattern(pattern)) {
162
+ throw fail(`${path}.allowed_purposes[${index}]: invalid purpose pattern ${q(pattern)}`);
163
+ }
164
+ });
165
+ if (new Set(raw).size !== raw.length)
166
+ throw fail(message);
167
+ spec.allowedPurposes = Object.freeze([...raw]);
168
+ }
169
+ if ('caps' in value) {
170
+ const raw = value['caps'];
171
+ if (!isPlainObject(raw))
172
+ throw fail(`${path}.caps: must be an object`);
173
+ for (const key of Object.keys(raw)) {
174
+ if (!CAP_KEYS.includes(key)) {
175
+ throw fail(`${path}.caps: unknown key ${q(key)} (allowed: ${CAP_KEYS.join(', ')})`);
176
+ }
177
+ }
178
+ if (Object.keys(raw).length === 0) {
179
+ throw fail(`${path}.caps: must declare at least one of ${CAP_KEYS.join(', ')}`);
180
+ }
181
+ const caps = {};
182
+ if ('per_hour' in raw)
183
+ caps.perHour = count(raw['per_hour'], `${path}.caps.per_hour`);
184
+ if ('per_day' in raw)
185
+ caps.perDay = count(raw['per_day'], `${path}.caps.per_day`);
186
+ if ('per_case' in raw)
187
+ caps.perCase = count(raw['per_case'], `${path}.caps.per_case`);
188
+ spec.caps = Object.freeze(caps);
189
+ }
190
+ if ('cost_units' in value) {
191
+ const raw = value['cost_units'];
192
+ if (!isPlainObject(raw) || Object.keys(raw).length === 0) {
193
+ throw fail(`${path}.cost_units: must be a non-empty object`);
194
+ }
195
+ const units = {};
196
+ for (const [unit, amount] of Object.entries(raw)) {
197
+ if (!UNIT_RE.test(unit))
198
+ throw fail(`${path}.cost_units: invalid cost unit name ${q(unit)}`);
199
+ units[unit] = count(amount, `${path}.cost_units.${unit}`);
200
+ }
201
+ spec.costUnits = Object.freeze(units);
202
+ }
203
+ if ('requires_decision' in value) {
204
+ if (typeof value['requires_decision'] !== 'boolean') {
205
+ throw fail(`${path}.requires_decision: must be a boolean`);
206
+ }
207
+ spec.requiresDecision = value['requires_decision'];
208
+ }
209
+ if ('four_eyes_on' in value) {
210
+ const raw = value['four_eyes_on'];
211
+ const message = `${path}.four_eyes_on: must be a non-empty array of unique decision names`;
212
+ if (!Array.isArray(raw) || raw.length === 0)
213
+ throw fail(message);
214
+ raw.forEach((decision, index) => {
215
+ if (typeof decision !== 'string' || !UNIT_RE.test(decision)) {
216
+ throw fail(`${path}.four_eyes_on[${index}]: invalid decision name ${q(decision)}`);
217
+ }
218
+ });
219
+ if (new Set(raw).size !== raw.length)
220
+ throw fail(message);
221
+ spec.fourEyesOn = Object.freeze([...raw]);
222
+ }
223
+ if ('decision_fields' in value) {
224
+ const raw = value['decision_fields'];
225
+ const message = `${path}.decision_fields: must be a non-empty array of at most ${MAX_DECISION_FIELDS} unique field names`;
226
+ if (!Array.isArray(raw) || raw.length === 0 || raw.length > MAX_DECISION_FIELDS)
227
+ throw fail(message);
228
+ raw.forEach((name, index) => {
229
+ if (typeof name !== 'string' || !UNIT_RE.test(name) || CORE_DECISION_FIELDS.includes(name)) {
230
+ throw fail(`${path}.decision_fields[${index}]: invalid field name ${q(name)}`);
231
+ }
232
+ });
233
+ if (new Set(raw).size !== raw.length)
234
+ throw fail(message);
235
+ spec.decisionFields = Object.freeze([...raw]);
236
+ }
237
+ if (spec.requiresDecision && permission === Permission.READ) {
238
+ throw fail(`${path}: requires_decision is not allowed on a tool with read permission`);
239
+ }
240
+ if (spec.fourEyesOn.length > 0 && !spec.requiresDecision) {
241
+ throw fail(`${path}.four_eyes_on: requires requires_decision: true`);
242
+ }
243
+ if (spec.decisionFields !== undefined && !spec.requiresDecision) {
244
+ throw fail(`${path}.decision_fields: requires requires_decision: true`);
245
+ }
246
+ return spec;
247
+ }
248
+ /**
249
+ * Parse manifest JSON text, rejecting a key repeated in any object. `JSON.parse`
250
+ * alone keeps the last value, so a tool declared twice would load silently.
251
+ */
252
+ export function parseManifestJson(text) {
253
+ const data = JSON.parse(text);
254
+ const duplicate = findDuplicateKey(text);
255
+ if (duplicate !== undefined)
256
+ throw fail(`duplicate key ${q(duplicate)} in manifest file`);
257
+ return data;
258
+ }
259
+ /** First key repeated within one object of already-valid JSON `text`. */
260
+ function findDuplicateKey(text) {
261
+ const stack = [];
262
+ let i = 0;
263
+ while (i < text.length) {
264
+ const ch = text[i];
265
+ if (ch === '"') {
266
+ let j = i + 1;
267
+ while (j < text.length && text[j] !== '"')
268
+ j += text[j] === '\\' ? 2 : 1;
269
+ const top = stack[stack.length - 1];
270
+ if (top?.keys && top.expectKey) {
271
+ const key = JSON.parse(text.slice(i, j + 1));
272
+ if (top.keys.has(key))
273
+ return key;
274
+ top.keys.add(key);
275
+ top.expectKey = false;
276
+ }
277
+ i = j + 1;
278
+ continue;
279
+ }
280
+ if (ch === '{')
281
+ stack.push({ keys: new Set(), expectKey: true });
282
+ else if (ch === '[')
283
+ stack.push({ keys: null, expectKey: false });
284
+ else if (ch === '}' || ch === ']')
285
+ stack.pop();
286
+ else if (ch === ',') {
287
+ const top = stack[stack.length - 1];
288
+ if (top?.keys)
289
+ top.expectKey = true;
290
+ }
291
+ i += 1;
292
+ }
293
+ return undefined;
294
+ }
295
+ /** Render a ToolSpec in manifest 0.6 object form (omitting unset fields). */
296
+ export function toolSpecToObject(spec) {
297
+ const out = { permission: spec.permission };
298
+ if (spec.allowedPurposes !== undefined)
299
+ out.allowed_purposes = [...spec.allowedPurposes];
300
+ if (spec.caps !== undefined) {
301
+ const caps = {};
302
+ if (spec.caps.perHour !== undefined)
303
+ caps.per_hour = spec.caps.perHour;
304
+ if (spec.caps.perDay !== undefined)
305
+ caps.per_day = spec.caps.perDay;
306
+ if (spec.caps.perCase !== undefined)
307
+ caps.per_case = spec.caps.perCase;
308
+ out.caps = caps;
309
+ }
310
+ if (spec.costUnits !== undefined)
311
+ out.cost_units = { ...spec.costUnits };
312
+ if (spec.requiresDecision)
313
+ out.requires_decision = true;
314
+ if (spec.fourEyesOn.length > 0)
315
+ out.four_eyes_on = [...spec.fourEyesOn];
316
+ if (spec.decisionFields !== undefined)
317
+ out.decision_fields = [...spec.decisionFields];
318
+ return out;
319
+ }
54
320
  /**
55
321
  * Declares the required permission level for each tool on a connector.
56
322
  *
57
323
  * Load manifests via `grantex.loadManifest()` and they will be used
58
324
  * automatically by `grantex.enforce()`.
325
+ *
326
+ * `tools` maps each tool to its permission (as before 0.6); `getToolSpec()`
327
+ * returns the full declaration including constraints.
59
328
  */
60
329
  export class ToolManifest {
61
330
  connector;
62
331
  tools;
63
332
  version;
64
333
  description;
334
+ #specs = new Map();
65
335
  constructor(options) {
66
336
  if (!options.connector) {
67
337
  throw new Error('ToolManifest: connector name is required');
@@ -69,28 +339,81 @@ export class ToolManifest {
69
339
  if (!options.tools || Object.keys(options.tools).length === 0) {
70
340
  throw new Error('ToolManifest: at least one tool is required');
71
341
  }
72
- for (const [name, perm] of Object.entries(options.tools)) {
73
- if (!Object.values(Permission).includes(perm)) {
74
- throw new Error(`ToolManifest: invalid permission "${perm}" for tool "${name}". Must be one of: ${Object.values(Permission).join(', ')}`);
75
- }
342
+ // A manifest that uses the object form anywhere is a 0.6 manifest and is
343
+ // validated in full: names as well as values.
344
+ if (Object.values(options.tools).some((v) => typeof v !== 'string')) {
345
+ checkNames(options.connector, options.tools);
346
+ }
347
+ const tools = {};
348
+ for (const [name, value] of Object.entries(options.tools)) {
349
+ const spec = parseToolDeclaration(name, value);
350
+ this.#specs.set(name, spec);
351
+ Object.defineProperty(tools, name, { value: spec.permission, enumerable: true, writable: true, configurable: true });
76
352
  }
77
353
  this.connector = options.connector;
78
- this.tools = { ...options.tools };
354
+ this.tools = tools;
79
355
  this.version = options.version ?? '1.0.0';
80
356
  this.description = options.description ?? '';
81
357
  }
82
358
  /** Get the declared permission for a tool. Returns undefined if not found. */
83
359
  getPermission(toolName) {
84
- return this.tools[toolName];
360
+ return Object.prototype.hasOwnProperty.call(this.tools, toolName) ? this.tools[toolName] : undefined;
85
361
  }
86
- /** Add or update a tool's permission in this manifest. */
362
+ /**
363
+ * Get a tool's full declaration. Returns undefined if the tool is not declared.
364
+ *
365
+ * The permission always reflects `tools`; constraints declared for the tool
366
+ * are kept even if `tools` was edited directly.
367
+ *
368
+ * @throws {ManifestValidationError} `tools` was edited into a combination the
369
+ * schema forbids (for example `read` on a decision tool).
370
+ */
371
+ getToolSpec(toolName) {
372
+ const permission = this.getPermission(toolName);
373
+ if (permission === undefined)
374
+ return undefined;
375
+ const spec = this.#specs.get(toolName);
376
+ if (spec === undefined)
377
+ return { permission, requiresDecision: false, fourEyesOn: [] };
378
+ if (spec.permission !== permission) {
379
+ return parseToolDeclaration(toolName, { ...toolSpecToObject(spec), permission });
380
+ }
381
+ return spec;
382
+ }
383
+ /**
384
+ * Add or update a tool. `permission` is a permission string or a manifest
385
+ * 0.6 tool object; replacing a tool replaces its whole declaration.
386
+ */
87
387
  addTool(toolName, permission) {
88
- this.tools[toolName] = permission;
388
+ const spec = parseToolDeclaration(toolName, permission);
389
+ this.#specs.set(toolName, spec);
390
+ Object.defineProperty(this.tools, toolName, { value: spec.permission, enumerable: true, writable: true, configurable: true });
89
391
  }
90
392
  /** Number of tools in this manifest. */
91
393
  get toolCount() {
92
394
  return Object.keys(this.tools).length;
93
395
  }
396
+ /** Render this manifest as a manifest 0.6 document. */
397
+ toJSON() {
398
+ const tools = {};
399
+ for (const name of Object.keys(this.tools)) {
400
+ const spec = this.getToolSpec(name) ?? { permission: this.tools[name], requiresDecision: false, fourEyesOn: [] };
401
+ const rendered = toolSpecToObject(spec);
402
+ // defineProperty keeps a tool named "__proto__" as an own property.
403
+ Object.defineProperty(tools, name, {
404
+ value: Object.keys(rendered).length === 1 ? spec.permission : rendered,
405
+ enumerable: true,
406
+ writable: true,
407
+ configurable: true,
408
+ });
409
+ }
410
+ return {
411
+ connector: this.connector,
412
+ version: this.version,
413
+ ...(this.description ? { description: this.description } : {}),
414
+ tools,
415
+ };
416
+ }
94
417
  /**
95
418
  * Load a ToolManifest from a JSON or YAML file.
96
419
  * YAML requires the `yaml` package to be installed.
@@ -98,25 +421,34 @@ export class ToolManifest {
98
421
  static async fromFile(filePath) {
99
422
  const fs = await import('node:fs');
100
423
  const content = fs.readFileSync(filePath, 'utf-8');
424
+ let data;
101
425
  if (filePath.endsWith('.yaml') || filePath.endsWith('.yml')) {
426
+ let yaml;
102
427
  try {
103
428
  // Dynamic import — yaml is an optional peer dependency
104
- const yaml = (await import('yaml'));
105
- return ToolManifest.fromJSON(yaml.parse(content));
429
+ yaml = (await import('yaml'));
106
430
  }
107
431
  catch {
108
432
  throw new Error('yaml package required for YAML manifests: npm install yaml');
109
433
  }
434
+ // uniqueKeys makes the parser throw on a repeated key.
435
+ data = yaml.parse(content, { uniqueKeys: true });
436
+ }
437
+ else {
438
+ data = parseManifestJson(content);
110
439
  }
111
- return ToolManifest.fromJSON(JSON.parse(content));
440
+ if (!isPlainObject(data))
441
+ throw fail('a manifest must be a JSON object');
442
+ return ToolManifest.fromJSON(data);
112
443
  }
113
444
  /**
114
445
  * Create a ToolManifest from a JSON object (e.g., loaded from file).
115
446
  *
116
- * Expected shape:
117
- * ```json
118
- * { "connector": "salesforce", "tools": { "query": "read", ... } }
119
- * ```
447
+ * A manifest that declares `$schema` or uses the object form for any tool
448
+ * is validated against manifest schema 0.6, and an unknown key anywhere is
449
+ * rejected. A manifest made only of permission strings keeps its pre-0.6
450
+ * behaviour: unknown top-level keys are ignored with a deprecation warning
451
+ * (a future minor release will reject them).
120
452
  */
121
453
  static fromJSON(data) {
122
454
  const connector = data['connector'];
@@ -124,8 +456,39 @@ export class ToolManifest {
124
456
  if (!connector || !tools) {
125
457
  throw new Error('ToolManifest.fromJSON: missing "connector" or "tools" field');
126
458
  }
459
+ if (!isPlainObject(tools)) {
460
+ throw fail('tools: must be an object mapping tool names to declarations');
461
+ }
462
+ const strict = '$schema' in data || Object.values(tools).some((v) => typeof v !== 'string');
463
+ const unknown = Object.keys(data).filter((k) => !TOP_LEVEL_KEYS.includes(k));
464
+ if (strict) {
465
+ if (unknown.length > 0) {
466
+ throw fail(`unknown top-level key ${q(unknown[0])} (allowed: ${TOP_LEVEL_KEYS.join(', ')})`);
467
+ }
468
+ if ('$schema' in data && typeof data['$schema'] !== 'string') {
469
+ throw fail('$schema: must be a string');
470
+ }
471
+ const version = 'version' in data ? data['version'] : '1.0.0';
472
+ const description = 'description' in data ? data['description'] : '';
473
+ checkNames(connector, tools);
474
+ if (typeof version !== 'string' || version.length === 0 || version.length > 64) {
475
+ throw fail('version: must be a non-empty string of at most 64 characters');
476
+ }
477
+ if (typeof description !== 'string')
478
+ throw fail('description: must be a string');
479
+ return new ToolManifest({
480
+ connector: connector,
481
+ tools: tools,
482
+ version,
483
+ description,
484
+ });
485
+ }
486
+ if (unknown.length > 0 && typeof process !== 'undefined' && typeof process.emitWarning === 'function') {
487
+ process.emitWarning(`ToolManifest: ignoring unknown top-level key ${q(unknown[0])} in manifest for ${q(connector)}; ` +
488
+ 'manifest schema 0.6 rejects unknown keys and a future minor release of @grantex/sdk will too', 'DeprecationWarning');
489
+ }
127
490
  return new ToolManifest({
128
- connector,
491
+ connector: connector,
129
492
  tools: tools,
130
493
  version: data['version'] ?? '1.0.0',
131
494
  description: data['description'] ?? '',
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
@@ -134,6 +134,17 @@ export interface PrepaidAuthorizationRequest {
134
134
  costCenter?: string;
135
135
  }
136
136
  export interface PrepaidAuthorization {
137
+ evmPayment?: {
138
+ signature: string;
139
+ authorization: {
140
+ from: string;
141
+ to: string;
142
+ value: string;
143
+ validAfter: string;
144
+ validBefore: string;
145
+ nonce: string;
146
+ };
147
+ };
137
148
  authorization: string;
138
149
  reservationId: string;
139
150
  walletId: string;
@@ -273,6 +284,11 @@ export declare class PrepaidWalletAgentClient {
273
284
  setAccessToken(accessToken: string): void;
274
285
  list(): Promise<AssignedPrepaidWallet[]>;
275
286
  authorizePayment(params: PrepaidAuthorizationRequest): Promise<PrepaidAuthorizationResponse>;
287
+ reconcileReservation(reservationId: string): Promise<{
288
+ reservationId: string;
289
+ status: string;
290
+ transaction: string | null;
291
+ }>;
276
292
  requestReload(walletId: string, amount: string, idempotencyKey: string, reason?: string): Promise<WalletReloadRequest>;
277
293
  /** Callback passed directly to @grantex/x402 createX402Agent(). */
278
294
  readonly x402Authorizer: (params: PrepaidAuthorizationRequest) => Promise<PrepaidAuthorizationResponse>;
@@ -302,6 +318,11 @@ export declare class PrincipalPrepaidWalletClient {
302
318
  reservationId: string;
303
319
  status: 'released';
304
320
  }>;
321
+ reconcileReservation(reservationId: string): Promise<{
322
+ reservationId: string;
323
+ status: string;
324
+ transaction: string | null;
325
+ }>;
305
326
  createSpendPolicy(params: WalletSpendPolicyInput): Promise<WalletSpendPolicy>;
306
327
  listSpendPolicies(): Promise<WalletSpendPolicy[]>;
307
328
  setSpendPolicyStatus(policyId: string, status: WalletSpendPolicyStatus): Promise<WalletSpendPolicy>;
@@ -1 +1 @@
1
- {"version":3,"file":"prepaid-wallets.d.ts","sourceRoot":"","sources":["../src/prepaid-wallets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,GAAG,UAAU,CAAC;AAC/D,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAClE,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AACtE,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,GAAG,WAAW,CAAC;AAC7G,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,MAAM,GAAG,kBAAkB,CAAC;AAC5E,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,GAAG,SAAS,GAAG,cAAc,GAAG,eAAe,GAAG,gBAAgB,GAAG,UAAU,CAAC;AACzI,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAExE,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,kBAAkB,CAAC;IAChC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,oGAAoG;AACpG,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,kBAAkB,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB,EAAE,MAAM,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,4BAA4B,GAAG,oBAAoB,GAAG,uBAAuB,CAAC;AAE1F,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,sBAAsB,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,uBAAuB,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,sBAAsB,CAAC;IAClC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,uBAAuB,CAAC;IAChC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAAC;IACtC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,uBAAuB,CAAC;IACpC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,uBAAuB,EAAE,OAAO,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,uBAAuB,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;IACrE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;IACrE,WAAW,EAAE,OAAO,GAAG,WAAW,CAAC;IACnC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7C,cAAc,EAAE,mBAAmB,EAAE,CAAC;IACtC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACvC,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAChD,gBAAgB,EAAE,qBAAqB,EAAE,CAAC;CAC3C;AAED,UAAU,kBAAkB;IAC1B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACxF;AAED,qBAAa,wBAAwB;;IAKnC,YAAY,OAAO,EAAE;QACnB,WAAW,EAAE,gBAAgB,GAAG,kBAAkB,CAAC;QACnD,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,EAWA;IAED,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAGxC;IAEK,IAAI,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAK7C;IAEK,gBAAgB,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAOjG;IAEK,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,CAAC,CAO9B;IAED,mEAAmE;IACnE,QAAQ,CAAC,cAAc,WAAY,2BAA2B,2CAAmC;CAClG;AAED,qBAAa,4BAA4B;;IAIvC,YAAY,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,EAI7D;IAED,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAG1C;IAED,MAAM,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC,CAEhE;IAEK,IAAI,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAErC;IAED,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAEzD;IAED,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAKrF;IAED,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAKpH;IAED,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAKtG;IAED,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAKnJ;IAED,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAKzH;IAED,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAK/F;IAED,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAKtF;IAED,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,UAAU,CAAA;KAAE,CAAC,CAKhH;IAED,iBAAiB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAE5E;IAEK,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAEtD;IAED,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAKlG;IAEK,oBAAoB,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAE7D;IAED,qBAAqB,CACnB,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,UAAU,GAAG,UAAU,EACjC,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,qBAAqB,CAAC,CAKhC;CASF;AAED,wFAAwF;AACxF,qBAAa,kCAAkC;;IAI7C,YAAY,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAIvD;IAED,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAG9B;IAED,MAAM,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAEjE;IAEK,IAAI,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAEzC;IAED,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAKvF;CAQF"}
1
+ {"version":3,"file":"prepaid-wallets.d.ts","sourceRoot":"","sources":["../src/prepaid-wallets.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,9 @@ export class PrepaidWalletAgentClient {
30
30
  const response = await this.#oauthClient.fetch(`${this.#resourceUrl}/authorizations`, this.#accessToken, jsonRequest(params));
31
31
  return walletJson(response);
32
32
  }
33
+ async reconcileReservation(reservationId) {
34
+ return walletJson(await this.#oauthClient.fetch(`${this.#resourceUrl}/reservations/${encodeURIComponent(reservationId)}/reconcile`, this.#accessToken, { method: 'POST' }));
35
+ }
33
36
  async requestReload(walletId, amount, idempotencyKey, reason) {
34
37
  const response = await this.#oauthClient.fetch(`${this.#resourceUrl}/${encodeURIComponent(walletId)}/reload-requests`, this.#accessToken, jsonRequest({ amount, idempotencyKey, ...(reason !== undefined ? { reason } : {}) }));
35
38
  return walletJson(response);
@@ -84,6 +87,9 @@ export class PrincipalPrepaidWalletClient {
84
87
  releaseReservation(reservationId, reason) {
85
88
  return this.#request(`/v1/principal/prepaid-wallet-reservations/${encodeURIComponent(reservationId)}/release`, jsonRequest({ reason }));
86
89
  }
90
+ reconcileReservation(reservationId) {
91
+ return this.#request(`/v1/principal/prepaid-wallets/reservations/${encodeURIComponent(reservationId)}/reconcile`, { method: 'POST' });
92
+ }
87
93
  createSpendPolicy(params) {
88
94
  return this.#request('/v1/principal/prepaid-wallet-spend-policies', jsonRequest(params));
89
95
  }