@indigoai-us/hq-cloud 6.11.12 → 6.11.13
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.
- package/dist/bin/sync-runner-company.d.ts +35 -0
- package/dist/bin/sync-runner-company.d.ts.map +1 -0
- package/dist/bin/sync-runner-company.js +290 -0
- package/dist/bin/sync-runner-company.js.map +1 -0
- package/dist/bin/sync-runner-events.d.ts +12 -0
- package/dist/bin/sync-runner-events.d.ts.map +1 -0
- package/dist/bin/sync-runner-events.js +12 -0
- package/dist/bin/sync-runner-events.js.map +1 -0
- package/dist/bin/sync-runner-planning.d.ts +53 -0
- package/dist/bin/sync-runner-planning.d.ts.map +1 -0
- package/dist/bin/sync-runner-planning.js +59 -0
- package/dist/bin/sync-runner-planning.js.map +1 -0
- package/dist/bin/sync-runner-rollup.d.ts +24 -0
- package/dist/bin/sync-runner-rollup.d.ts.map +1 -0
- package/dist/bin/sync-runner-rollup.js +46 -0
- package/dist/bin/sync-runner-rollup.js.map +1 -0
- package/dist/bin/sync-runner-telemetry.d.ts +5 -0
- package/dist/bin/sync-runner-telemetry.d.ts.map +1 -0
- package/dist/bin/sync-runner-telemetry.js +5 -0
- package/dist/bin/sync-runner-telemetry.js.map +1 -0
- package/dist/bin/sync-runner-watch-loop.d.ts +17 -0
- package/dist/bin/sync-runner-watch-loop.d.ts.map +1 -0
- package/dist/bin/sync-runner-watch-loop.js +372 -0
- package/dist/bin/sync-runner-watch-loop.js.map +1 -0
- package/dist/bin/sync-runner-watch-routes.d.ts +25 -0
- package/dist/bin/sync-runner-watch-routes.d.ts.map +1 -0
- package/dist/bin/sync-runner-watch-routes.js +74 -0
- package/dist/bin/sync-runner-watch-routes.js.map +1 -0
- package/dist/bin/sync-runner.d.ts +3 -54
- package/dist/bin/sync-runner.d.ts.map +1 -1
- package/dist/bin/sync-runner.js +73 -1154
- package/dist/bin/sync-runner.js.map +1 -1
- package/dist/cli/reindex.d.ts.map +1 -1
- package/dist/cli/reindex.js +34 -17
- package/dist/cli/reindex.js.map +1 -1
- package/dist/cli/reindex.test.js +39 -5
- package/dist/cli/reindex.test.js.map +1 -1
- package/dist/cli/rescue-classify-ordering.test.js +17 -0
- package/dist/cli/rescue-classify-ordering.test.js.map +1 -1
- package/dist/cli/rescue-core.d.ts +45 -0
- package/dist/cli/rescue-core.d.ts.map +1 -1
- package/dist/cli/rescue-core.js +197 -170
- package/dist/cli/rescue-core.js.map +1 -1
- package/dist/cli/share.d.ts.map +1 -1
- package/dist/cli/share.js +224 -676
- package/dist/cli/share.js.map +1 -1
- package/dist/cli/sync.d.ts.map +1 -1
- package/dist/cli/sync.js +399 -726
- package/dist/cli/sync.js.map +1 -1
- package/dist/cli/sync.test.js +20 -0
- package/dist/cli/sync.test.js.map +1 -1
- package/dist/daemon-worker.d.ts +2 -2
- package/dist/daemon-worker.js +3 -3
- package/dist/daemon-worker.js.map +1 -1
- package/dist/object-io.js +1 -1
- package/dist/object-io.js.map +1 -1
- package/dist/remote-pull.d.ts +2 -2
- package/dist/remote-pull.d.ts.map +1 -1
- package/dist/remote-pull.js +23 -3
- package/dist/remote-pull.js.map +1 -1
- package/dist/remote-pull.test.js +24 -2
- package/dist/remote-pull.test.js.map +1 -1
- package/dist/sync/push-receiver.d.ts +6 -0
- package/dist/sync/push-receiver.d.ts.map +1 -1
- package/dist/sync/push-receiver.js +32 -2
- package/dist/sync/push-receiver.js.map +1 -1
- package/dist/sync/push-receiver.test.js +31 -0
- package/dist/sync/push-receiver.test.js.map +1 -1
- package/dist/sync-core.d.ts +27 -0
- package/dist/sync-core.d.ts.map +1 -0
- package/dist/sync-core.js +54 -0
- package/dist/sync-core.js.map +1 -0
- package/dist/vault-client.d.ts.map +1 -1
- package/dist/vault-client.js +284 -36
- package/dist/vault-client.js.map +1 -1
- package/dist/vault-client.test.js +59 -0
- package/dist/vault-client.test.js.map +1 -1
- package/dist/watcher.d.ts +2 -20
- package/dist/watcher.d.ts.map +1 -1
- package/dist/watcher.js +3 -113
- package/dist/watcher.js.map +1 -1
- package/package.json +1 -1
- package/src/bin/sync-runner-company.ts +350 -0
- package/src/bin/sync-runner-events.ts +25 -0
- package/src/bin/sync-runner-planning.ts +121 -0
- package/src/bin/sync-runner-rollup.ts +72 -0
- package/src/bin/sync-runner-telemetry.ts +8 -0
- package/src/bin/sync-runner-watch-loop.ts +443 -0
- package/src/bin/sync-runner-watch-routes.ts +86 -0
- package/src/bin/sync-runner.ts +96 -1253
- package/src/cli/reindex.test.ts +41 -3
- package/src/cli/reindex.ts +35 -19
- package/src/cli/rescue-classify-ordering.test.ts +20 -0
- package/src/cli/rescue-core.ts +252 -176
- package/src/cli/share.ts +363 -705
- package/src/cli/sync.test.ts +25 -0
- package/src/cli/sync.ts +612 -802
- package/src/daemon-worker.ts +3 -3
- package/src/object-io.ts +1 -1
- package/src/remote-pull.test.ts +30 -1
- package/src/remote-pull.ts +29 -4
- package/src/sync/push-receiver.test.ts +35 -0
- package/src/sync/push-receiver.ts +41 -2
- package/src/sync-core.ts +58 -0
- package/src/vault-client.test.ts +74 -0
- package/src/vault-client.ts +395 -43
- package/src/watcher.ts +6 -141
package/dist/vault-client.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* share one client instead of each rolling its own HTTP layer.
|
|
7
7
|
*/
|
|
8
8
|
import { buildClientHeaders } from "./client-info.js";
|
|
9
|
+
import { z } from "zod";
|
|
9
10
|
// ---------------------------------------------------------------------------
|
|
10
11
|
// Error classes
|
|
11
12
|
// ---------------------------------------------------------------------------
|
|
@@ -70,6 +71,241 @@ function isTransient(status) {
|
|
|
70
71
|
async function sleep(ms) {
|
|
71
72
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
72
73
|
}
|
|
74
|
+
const membershipRoleSchema = z.enum(["owner", "admin", "member", "guest"]);
|
|
75
|
+
const membershipStatusSchema = z.enum(["pending", "active", "revoked"]);
|
|
76
|
+
const grantPermissionSchema = z.enum(["read", "write", "admin"]);
|
|
77
|
+
const grantSourceSchema = z.enum(["person", "email", "group", "open"]);
|
|
78
|
+
const presignOpSchema = z.enum(["get", "put", "delete"]);
|
|
79
|
+
const syncModeSchema = z.enum(["shared", "all", "custom"]);
|
|
80
|
+
const vendPurposeSchema = z.enum(["sync", "browse"]);
|
|
81
|
+
const vaultOperationSchema = z.enum(["read-only", "read-write", "staged-write"]);
|
|
82
|
+
// Membership/entity rows are intentionally permissive on field optionality:
|
|
83
|
+
// current command tests and server flows use short rows outside sync decisions.
|
|
84
|
+
const membershipSchema = z
|
|
85
|
+
.object({
|
|
86
|
+
membershipKey: z.string().optional(),
|
|
87
|
+
personUid: z.string().optional(),
|
|
88
|
+
companyUid: z.string().optional(),
|
|
89
|
+
role: membershipRoleSchema.optional(),
|
|
90
|
+
status: membershipStatusSchema.optional(),
|
|
91
|
+
allowedPrefixes: z.array(z.string()).optional(),
|
|
92
|
+
inviteToken: z.string().optional(),
|
|
93
|
+
invitedBy: z.string().optional(),
|
|
94
|
+
invitedAt: z.string().optional(),
|
|
95
|
+
acceptedAt: z.string().optional(),
|
|
96
|
+
revokedAt: z.string().optional(),
|
|
97
|
+
createdAt: z.string().optional(),
|
|
98
|
+
updatedAt: z.string().optional(),
|
|
99
|
+
})
|
|
100
|
+
.strip();
|
|
101
|
+
const entityInfoSchema = z
|
|
102
|
+
.object({
|
|
103
|
+
uid: z.string(),
|
|
104
|
+
slug: z.string(),
|
|
105
|
+
type: z.string(),
|
|
106
|
+
name: z.string().optional(),
|
|
107
|
+
bucketName: z.string().optional(),
|
|
108
|
+
status: z.string(),
|
|
109
|
+
createdAt: z.string().optional(),
|
|
110
|
+
})
|
|
111
|
+
.strip();
|
|
112
|
+
const pendingInviteByEmailSchema = z
|
|
113
|
+
.object({
|
|
114
|
+
membershipKey: z.string(),
|
|
115
|
+
companyUid: z.string(),
|
|
116
|
+
role: membershipRoleSchema,
|
|
117
|
+
inviteToken: z.string().optional(),
|
|
118
|
+
invitedBy: z.string(),
|
|
119
|
+
invitedAt: z.string(),
|
|
120
|
+
})
|
|
121
|
+
.strip();
|
|
122
|
+
const explicitGrantSchema = z
|
|
123
|
+
.object({
|
|
124
|
+
companyUid: z.string(),
|
|
125
|
+
path: z.string(),
|
|
126
|
+
permission: grantPermissionSchema,
|
|
127
|
+
source: grantSourceSchema,
|
|
128
|
+
})
|
|
129
|
+
.strip();
|
|
130
|
+
const vaultListedObjectSchema = z
|
|
131
|
+
.object({
|
|
132
|
+
key: z.string(),
|
|
133
|
+
size: z.number(),
|
|
134
|
+
lastModified: z.string().nullable(),
|
|
135
|
+
etag: z.string().nullable(),
|
|
136
|
+
permission: grantPermissionSchema,
|
|
137
|
+
})
|
|
138
|
+
.strip();
|
|
139
|
+
const presignResultRowSchema = z
|
|
140
|
+
.object({
|
|
141
|
+
key: z.string(),
|
|
142
|
+
op: presignOpSchema,
|
|
143
|
+
url: z.string().optional(),
|
|
144
|
+
headers: z.record(z.string(), z.string()).optional(),
|
|
145
|
+
expiresIn: z.number().optional(),
|
|
146
|
+
expiresAt: z.string().optional(),
|
|
147
|
+
error: z.string().optional(),
|
|
148
|
+
code: z.string().optional(),
|
|
149
|
+
})
|
|
150
|
+
.strip();
|
|
151
|
+
const membershipSyncConfigSchema = z
|
|
152
|
+
.object({
|
|
153
|
+
membershipId: z.string(),
|
|
154
|
+
syncMode: syncModeSchema,
|
|
155
|
+
customPaths: z.array(z.string()).optional(),
|
|
156
|
+
isDefault: z.boolean(),
|
|
157
|
+
updatedAt: z.string().optional(),
|
|
158
|
+
updatedBy: z.string().optional(),
|
|
159
|
+
})
|
|
160
|
+
.strip();
|
|
161
|
+
const vendCredentialsSchema = z
|
|
162
|
+
.object({
|
|
163
|
+
accessKeyId: z.string(),
|
|
164
|
+
secretAccessKey: z.string(),
|
|
165
|
+
sessionToken: z.string(),
|
|
166
|
+
expiration: z.string(),
|
|
167
|
+
})
|
|
168
|
+
.strip();
|
|
169
|
+
const stsCredentialsSchema = z
|
|
170
|
+
.object({
|
|
171
|
+
accessKeyId: z.string(),
|
|
172
|
+
secretAccessKey: z.string(),
|
|
173
|
+
sessionToken: z.string(),
|
|
174
|
+
})
|
|
175
|
+
.strip();
|
|
176
|
+
const telemetryOptInResponseSchema = z
|
|
177
|
+
.object({
|
|
178
|
+
enabled: z.boolean().default(false),
|
|
179
|
+
updatedAt: z.string().nullable().default(null),
|
|
180
|
+
})
|
|
181
|
+
.strip();
|
|
182
|
+
const usageIngestResultSchema = z
|
|
183
|
+
.object({
|
|
184
|
+
ok: z.boolean(),
|
|
185
|
+
written: z.number(),
|
|
186
|
+
skipped: z.array(z
|
|
187
|
+
.object({
|
|
188
|
+
index: z.number(),
|
|
189
|
+
code: z.string(),
|
|
190
|
+
error: z.string(),
|
|
191
|
+
})
|
|
192
|
+
.strip()),
|
|
193
|
+
})
|
|
194
|
+
.strip();
|
|
195
|
+
const createInviteResponseSchema = z
|
|
196
|
+
.object({
|
|
197
|
+
membership: membershipSchema,
|
|
198
|
+
inviteToken: z.string(),
|
|
199
|
+
})
|
|
200
|
+
.strip();
|
|
201
|
+
const acceptInviteResponseSchema = z
|
|
202
|
+
.object({
|
|
203
|
+
membership: membershipSchema,
|
|
204
|
+
})
|
|
205
|
+
.strip();
|
|
206
|
+
const membershipsResponseSchema = z
|
|
207
|
+
.object({
|
|
208
|
+
memberships: z.array(membershipSchema),
|
|
209
|
+
})
|
|
210
|
+
.strip();
|
|
211
|
+
const pendingInvitesByEmailResponseSchema = z
|
|
212
|
+
.object({
|
|
213
|
+
invites: z.array(pendingInviteByEmailSchema).optional(),
|
|
214
|
+
})
|
|
215
|
+
.strip();
|
|
216
|
+
const membersResponseSchema = z
|
|
217
|
+
.object({
|
|
218
|
+
members: z.array(membershipSchema),
|
|
219
|
+
})
|
|
220
|
+
.strip();
|
|
221
|
+
const membershipResponseSchema = z
|
|
222
|
+
.object({
|
|
223
|
+
membership: membershipSchema,
|
|
224
|
+
})
|
|
225
|
+
.strip();
|
|
226
|
+
const invitesResponseSchema = z
|
|
227
|
+
.object({
|
|
228
|
+
invites: z.array(membershipSchema),
|
|
229
|
+
})
|
|
230
|
+
.strip();
|
|
231
|
+
const explicitGrantsResponseSchema = z
|
|
232
|
+
.object({
|
|
233
|
+
grants: z.array(explicitGrantSchema).optional(),
|
|
234
|
+
computedAt: z.string(),
|
|
235
|
+
})
|
|
236
|
+
.strip();
|
|
237
|
+
const listFilesResponseSchema = z
|
|
238
|
+
.object({
|
|
239
|
+
objects: z.array(vaultListedObjectSchema).default([]),
|
|
240
|
+
cursor: z.string().nullable().default(null),
|
|
241
|
+
truncated: z.boolean().default(false),
|
|
242
|
+
})
|
|
243
|
+
.strip();
|
|
244
|
+
const presignResponseSchema = z
|
|
245
|
+
.object({
|
|
246
|
+
results: z.array(presignResultRowSchema),
|
|
247
|
+
expiresAt: z.string(),
|
|
248
|
+
})
|
|
249
|
+
.strip();
|
|
250
|
+
const entityResponseSchema = z
|
|
251
|
+
.object({
|
|
252
|
+
entity: entityInfoSchema,
|
|
253
|
+
})
|
|
254
|
+
.strip();
|
|
255
|
+
const checkSlugMeResponseSchema = z
|
|
256
|
+
.object({
|
|
257
|
+
available: z.boolean(),
|
|
258
|
+
conflictingCompanyUid: z.string().optional(),
|
|
259
|
+
})
|
|
260
|
+
.strip();
|
|
261
|
+
const createEntityResponseSchema = z
|
|
262
|
+
.object({
|
|
263
|
+
entity: entityInfoSchema,
|
|
264
|
+
})
|
|
265
|
+
.strip();
|
|
266
|
+
const entitiesResponseSchema = z
|
|
267
|
+
.object({
|
|
268
|
+
entities: z.array(entityInfoSchema).optional(),
|
|
269
|
+
})
|
|
270
|
+
.strip();
|
|
271
|
+
const provisionBucketResponseSchema = z
|
|
272
|
+
.object({
|
|
273
|
+
bucketName: z.string(),
|
|
274
|
+
kmsKeyId: z.string(),
|
|
275
|
+
})
|
|
276
|
+
.strip();
|
|
277
|
+
const vendResponseSchema = z
|
|
278
|
+
.object({
|
|
279
|
+
credentials: vendCredentialsSchema,
|
|
280
|
+
paths: z.array(z.string()),
|
|
281
|
+
operations: vaultOperationSchema,
|
|
282
|
+
purpose: vendPurposeSchema,
|
|
283
|
+
policySize: z.number(),
|
|
284
|
+
requestId: z.string().optional(),
|
|
285
|
+
})
|
|
286
|
+
.strip();
|
|
287
|
+
const stsVendResponseSchema = z
|
|
288
|
+
.object({
|
|
289
|
+
credentials: stsCredentialsSchema,
|
|
290
|
+
expiresAt: z.string(),
|
|
291
|
+
})
|
|
292
|
+
.strip();
|
|
293
|
+
const vendChildResponseSchema = z
|
|
294
|
+
.object({
|
|
295
|
+
credentials: stsCredentialsSchema,
|
|
296
|
+
sessionName: z.string(),
|
|
297
|
+
expiresAt: z.string(),
|
|
298
|
+
})
|
|
299
|
+
.strip();
|
|
300
|
+
const emptyObjectResponseSchema = z.object({}).strip();
|
|
301
|
+
function summarizeZodIssues(issues) {
|
|
302
|
+
return issues
|
|
303
|
+
.map((issue) => {
|
|
304
|
+
const path = issue.path.length > 0 ? issue.path.join(".") : "<root>";
|
|
305
|
+
return `${path}: ${issue.message}`;
|
|
306
|
+
})
|
|
307
|
+
.join("; ");
|
|
308
|
+
}
|
|
73
309
|
// ---------------------------------------------------------------------------
|
|
74
310
|
// VaultClient
|
|
75
311
|
// ---------------------------------------------------------------------------
|
|
@@ -94,11 +330,11 @@ export class VaultClient {
|
|
|
94
330
|
}
|
|
95
331
|
// -- Membership operations ------------------------------------------------
|
|
96
332
|
async createInvite(input) {
|
|
97
|
-
const data = await this.post("/membership/invite", input);
|
|
333
|
+
const data = await this.post("/membership/invite", input, createInviteResponseSchema);
|
|
98
334
|
return data;
|
|
99
335
|
}
|
|
100
336
|
async acceptInvite(token, personUid) {
|
|
101
|
-
const data = await this.post("/membership/accept", { token, personUid });
|
|
337
|
+
const data = await this.post("/membership/accept", { token, personUid }, acceptInviteResponseSchema);
|
|
102
338
|
return data;
|
|
103
339
|
}
|
|
104
340
|
/**
|
|
@@ -108,7 +344,7 @@ export class VaultClient {
|
|
|
108
344
|
* alone without an extra DDB read, and the caller already knows it.)
|
|
109
345
|
*/
|
|
110
346
|
async revokeMembership(membershipKey, companyUid) {
|
|
111
|
-
await this.post("/membership/revoke", { membershipKey, companyUid });
|
|
347
|
+
await this.post("/membership/revoke", { membershipKey, companyUid }, emptyObjectResponseSchema);
|
|
112
348
|
}
|
|
113
349
|
/**
|
|
114
350
|
* List the caller's own active memberships.
|
|
@@ -126,7 +362,7 @@ export class VaultClient {
|
|
|
126
362
|
* Backed by `GET /membership/me` (see hq-pro ADR-0002).
|
|
127
363
|
*/
|
|
128
364
|
async listMyMemberships() {
|
|
129
|
-
const data = await this.get("/membership/me");
|
|
365
|
+
const data = await this.get("/membership/me", membershipsResponseSchema);
|
|
130
366
|
return data.memberships;
|
|
131
367
|
}
|
|
132
368
|
/**
|
|
@@ -139,7 +375,7 @@ export class VaultClient {
|
|
|
139
375
|
* person exists.
|
|
140
376
|
*/
|
|
141
377
|
async listMyPendingInvitesByEmail() {
|
|
142
|
-
const data = await this.get("/membership/pending-by-email");
|
|
378
|
+
const data = await this.get("/membership/pending-by-email", pendingInvitesByEmailResponseSchema);
|
|
143
379
|
return data.invites ?? [];
|
|
144
380
|
}
|
|
145
381
|
/**
|
|
@@ -148,18 +384,18 @@ export class VaultClient {
|
|
|
148
384
|
* have no pending invites. The caller's email is inferred from the JWT.
|
|
149
385
|
*/
|
|
150
386
|
async claimPendingInvitesByEmail(personUid) {
|
|
151
|
-
await this.post("/membership/claim-by-email", { personUid });
|
|
387
|
+
await this.post("/membership/claim-by-email", { personUid }, emptyObjectResponseSchema);
|
|
152
388
|
}
|
|
153
389
|
async listMembersOfCompany(companyUid) {
|
|
154
|
-
const data = await this.get(`/membership/company/${encodeURIComponent(companyUid)}
|
|
390
|
+
const data = await this.get(`/membership/company/${encodeURIComponent(companyUid)}`, membersResponseSchema);
|
|
155
391
|
return data.members;
|
|
156
392
|
}
|
|
157
393
|
async updateRole(input) {
|
|
158
|
-
const data = await this.post("/membership/role", input);
|
|
394
|
+
const data = await this.post("/membership/role", input, membershipResponseSchema);
|
|
159
395
|
return data.membership;
|
|
160
396
|
}
|
|
161
397
|
async listPendingInvites(companyUid) {
|
|
162
|
-
const data = await this.get(`/membership/company/${encodeURIComponent(companyUid)}/pending
|
|
398
|
+
const data = await this.get(`/membership/company/${encodeURIComponent(companyUid)}/pending`, invitesResponseSchema);
|
|
163
399
|
return data.invites;
|
|
164
400
|
}
|
|
165
401
|
// -- Browse-vs-sync (US-002, US-003, US-004) -----------------------------
|
|
@@ -178,7 +414,7 @@ export class VaultClient {
|
|
|
178
414
|
* state without catching errors.
|
|
179
415
|
*/
|
|
180
416
|
async listMyExplicitGrants(companyUid) {
|
|
181
|
-
const data = await this.get(`/v1/files/grants?company=${encodeURIComponent(companyUid)}
|
|
417
|
+
const data = await this.get(`/v1/files/grants?company=${encodeURIComponent(companyUid)}`, explicitGrantsResponseSchema);
|
|
182
418
|
return data.grants ?? [];
|
|
183
419
|
}
|
|
184
420
|
// -- Presigned-URL transport (vault list + presign) ----------------------
|
|
@@ -195,11 +431,11 @@ export class VaultClient {
|
|
|
195
431
|
qs.set("prefix", prefix);
|
|
196
432
|
if (cursor)
|
|
197
433
|
qs.set("cursor", cursor);
|
|
198
|
-
const data = await this.get(`/v1/files/list?${qs.toString()}
|
|
434
|
+
const data = await this.get(`/v1/files/list?${qs.toString()}`, listFilesResponseSchema);
|
|
199
435
|
return {
|
|
200
|
-
objects: data.objects
|
|
201
|
-
cursor: data.cursor
|
|
202
|
-
truncated: data.truncated
|
|
436
|
+
objects: data.objects,
|
|
437
|
+
cursor: data.cursor,
|
|
438
|
+
truncated: data.truncated,
|
|
203
439
|
};
|
|
204
440
|
}
|
|
205
441
|
/**
|
|
@@ -214,7 +450,7 @@ export class VaultClient {
|
|
|
214
450
|
...(input.op ? { op: input.op } : {}),
|
|
215
451
|
...(input.expiresIn ? { expiresIn: input.expiresIn } : {}),
|
|
216
452
|
keys: input.keys,
|
|
217
|
-
});
|
|
453
|
+
}, presignResponseSchema);
|
|
218
454
|
}
|
|
219
455
|
/**
|
|
220
456
|
* Read the effective sync-mode for a single membership. Backed by
|
|
@@ -230,7 +466,7 @@ export class VaultClient {
|
|
|
230
466
|
* tombstoned/revoked memberships.
|
|
231
467
|
*/
|
|
232
468
|
async getMembershipSyncConfig(membershipId) {
|
|
233
|
-
return this.get(`/v1/memberships/${encodeURIComponent(membershipId)}/sync-config
|
|
469
|
+
return this.get(`/v1/memberships/${encodeURIComponent(membershipId)}/sync-config`, membershipSyncConfigSchema);
|
|
234
470
|
}
|
|
235
471
|
/**
|
|
236
472
|
* Write the sync-mode for a single membership. Backed by
|
|
@@ -243,12 +479,12 @@ export class VaultClient {
|
|
|
243
479
|
* `updatedBy`.
|
|
244
480
|
*/
|
|
245
481
|
async setMembershipSyncConfig(membershipId, partial) {
|
|
246
|
-
return this.request("PUT", `/v1/memberships/${encodeURIComponent(membershipId)}/sync-config`, partial);
|
|
482
|
+
return this.request("PUT", `/v1/memberships/${encodeURIComponent(membershipId)}/sync-config`, partial, membershipSyncConfigSchema);
|
|
247
483
|
}
|
|
248
484
|
// -- Entity operations ----------------------------------------------------
|
|
249
485
|
entity = {
|
|
250
486
|
get: async (uid) => {
|
|
251
|
-
const data = await this.get(`/entity/${encodeURIComponent(uid)}
|
|
487
|
+
const data = await this.get(`/entity/${encodeURIComponent(uid)}`, entityResponseSchema);
|
|
252
488
|
return data.entity;
|
|
253
489
|
},
|
|
254
490
|
/**
|
|
@@ -263,7 +499,7 @@ export class VaultClient {
|
|
|
263
499
|
* global lookup (admin tooling) should still use this method.
|
|
264
500
|
*/
|
|
265
501
|
findBySlug: async (type, slug) => {
|
|
266
|
-
const data = await this.get(`/entity/by-slug/${encodeURIComponent(type)}/${encodeURIComponent(slug)}
|
|
502
|
+
const data = await this.get(`/entity/by-slug/${encodeURIComponent(type)}/${encodeURIComponent(slug)}`, entityResponseSchema);
|
|
267
503
|
return data.entity;
|
|
268
504
|
},
|
|
269
505
|
/**
|
|
@@ -279,18 +515,18 @@ export class VaultClient {
|
|
|
279
515
|
* stranger's entity) or 409 (multi-tenant slug) in those cases.
|
|
280
516
|
*/
|
|
281
517
|
findInMyNamespace: async (type, slug) => {
|
|
282
|
-
const check = await this.get(`/entity/check-slug/me?type=${encodeURIComponent(type)}&slug=${encodeURIComponent(slug)}
|
|
518
|
+
const check = await this.get(`/entity/check-slug/me?type=${encodeURIComponent(type)}&slug=${encodeURIComponent(slug)}`, checkSlugMeResponseSchema);
|
|
283
519
|
if (check.available || !check.conflictingCompanyUid)
|
|
284
520
|
return null;
|
|
285
521
|
return this.entity.get(check.conflictingCompanyUid);
|
|
286
522
|
},
|
|
287
523
|
create: async (input) => {
|
|
288
|
-
const data = await this.post("/entity", input);
|
|
524
|
+
const data = await this.post("/entity", input, createEntityResponseSchema);
|
|
289
525
|
return data.entity;
|
|
290
526
|
},
|
|
291
527
|
/** Return every entity of `type` owned by the caller (scoped by JWT). */
|
|
292
528
|
listByType: async (type) => {
|
|
293
|
-
const data = await this.get(`/entity/by-type/${encodeURIComponent(type)}
|
|
529
|
+
const data = await this.get(`/entity/by-type/${encodeURIComponent(type)}`, entitiesResponseSchema);
|
|
294
530
|
return data.entities ?? [];
|
|
295
531
|
},
|
|
296
532
|
};
|
|
@@ -324,7 +560,7 @@ export class VaultClient {
|
|
|
324
560
|
}
|
|
325
561
|
// -- Provisioning operations (VLT-2) -----------------------------------------
|
|
326
562
|
async provisionBucket(companyUid) {
|
|
327
|
-
const data = await this.post("/provision/bucket", { companyUid });
|
|
563
|
+
const data = await this.post("/provision/bucket", { companyUid }, provisionBucketResponseSchema);
|
|
328
564
|
return data;
|
|
329
565
|
}
|
|
330
566
|
// -- Raw vend (POST /vend) ------------------------------------------------
|
|
@@ -350,7 +586,7 @@ export class VaultClient {
|
|
|
350
586
|
* objects without ever materialising them under `companies/{co}/`.
|
|
351
587
|
*/
|
|
352
588
|
async vend(input) {
|
|
353
|
-
return this.post("/vend", input);
|
|
589
|
+
return this.post("/vend", input, vendResponseSchema);
|
|
354
590
|
}
|
|
355
591
|
// -- STS operations (VLT-8) -----------------------------------------------
|
|
356
592
|
sts = {
|
|
@@ -366,7 +602,7 @@ export class VaultClient {
|
|
|
366
602
|
* static bucket and is non-functional in multi-tenant production.
|
|
367
603
|
*/
|
|
368
604
|
vend: async (input) => {
|
|
369
|
-
return this.post("/sts/vend", input);
|
|
605
|
+
return this.post("/sts/vend", input, stsVendResponseSchema);
|
|
370
606
|
},
|
|
371
607
|
/**
|
|
372
608
|
* Vend task-scoped child credentials strictly narrower than the caller's
|
|
@@ -382,11 +618,11 @@ export class VaultClient {
|
|
|
382
618
|
* the parent task for incident response.
|
|
383
619
|
*/
|
|
384
620
|
vendChild: async (input) => {
|
|
385
|
-
const data = await this.post("/sts/vend-child", input);
|
|
621
|
+
const data = await this.post("/sts/vend-child", input, vendChildResponseSchema);
|
|
386
622
|
return data;
|
|
387
623
|
},
|
|
388
624
|
vendSelf: async (input) => {
|
|
389
|
-
return this.post("/sts/vend-self", input);
|
|
625
|
+
return this.post("/sts/vend-self", input, stsVendResponseSchema);
|
|
390
626
|
},
|
|
391
627
|
};
|
|
392
628
|
// -- Usage telemetry ------------------------------------------------------
|
|
@@ -404,7 +640,7 @@ export class VaultClient {
|
|
|
404
640
|
* either yes or no; see `./telemetry.ts::collectAndSendTelemetry`.
|
|
405
641
|
*/
|
|
406
642
|
async getTelemetryOptIn() {
|
|
407
|
-
return this.get("/v1/usage/opt-in");
|
|
643
|
+
return this.get("/v1/usage/opt-in", telemetryOptInResponseSchema);
|
|
408
644
|
}
|
|
409
645
|
/**
|
|
410
646
|
* `POST /v1/usage` — upload a batch of sanitized telemetry events.
|
|
@@ -415,7 +651,7 @@ export class VaultClient {
|
|
|
415
651
|
* 1 MiB pre-flush cap which is the binding limit in practice.
|
|
416
652
|
*/
|
|
417
653
|
async postUsage(batch) {
|
|
418
|
-
return this.post("/v1/usage", batch);
|
|
654
|
+
return this.post("/v1/usage", batch, usageIngestResultSchema);
|
|
419
655
|
}
|
|
420
656
|
/**
|
|
421
657
|
* `POST /v1/skill-invocations` — upload a batch of skill-invocation events.
|
|
@@ -425,16 +661,16 @@ export class VaultClient {
|
|
|
425
661
|
* opt-in as `/v1/usage`.
|
|
426
662
|
*/
|
|
427
663
|
async postSkillInvocations(batch) {
|
|
428
|
-
return this.post("/v1/skill-invocations", batch);
|
|
664
|
+
return this.post("/v1/skill-invocations", batch, usageIngestResultSchema);
|
|
429
665
|
}
|
|
430
666
|
// -- HTTP primitives with retry -------------------------------------------
|
|
431
|
-
async get(path) {
|
|
432
|
-
return this.request("GET", path);
|
|
667
|
+
async get(path, schema) {
|
|
668
|
+
return this.request("GET", path, undefined, schema);
|
|
433
669
|
}
|
|
434
|
-
async post(path, body) {
|
|
435
|
-
return this.request("POST", path, body);
|
|
670
|
+
async post(path, body, schema) {
|
|
671
|
+
return this.request("POST", path, body, schema);
|
|
436
672
|
}
|
|
437
|
-
async request(method, path, body) {
|
|
673
|
+
async request(method, path, body, schema) {
|
|
438
674
|
let lastError;
|
|
439
675
|
for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
|
|
440
676
|
if (attempt > 0) {
|
|
@@ -464,7 +700,19 @@ export class VaultClient {
|
|
|
464
700
|
if (res.ok) {
|
|
465
701
|
if (res.status === 204)
|
|
466
702
|
return undefined;
|
|
467
|
-
|
|
703
|
+
const responseBody = await res.text();
|
|
704
|
+
let decoded;
|
|
705
|
+
try {
|
|
706
|
+
decoded = JSON.parse(responseBody);
|
|
707
|
+
}
|
|
708
|
+
catch (err) {
|
|
709
|
+
throw new VaultClientError(`Invalid JSON response from vault-service for ${method} ${path}`, 502, err instanceof Error ? err.message : responseBody);
|
|
710
|
+
}
|
|
711
|
+
const parsed = schema.safeParse(decoded);
|
|
712
|
+
if (!parsed.success) {
|
|
713
|
+
throw new VaultClientError(`Invalid response from vault-service for ${method} ${path}: ${summarizeZodIssues(parsed.error.issues)}`, 502, responseBody);
|
|
714
|
+
}
|
|
715
|
+
return parsed.data;
|
|
468
716
|
}
|
|
469
717
|
const responseBody = await res.text();
|
|
470
718
|
// Non-retryable errors → throw immediately
|
package/dist/vault-client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault-client.js","sourceRoot":"","sources":["../src/vault-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vault-client.js","sourceRoot":"","sources":["../src/vault-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -313,6 +313,65 @@ describe("API surface", () => {
|
|
|
313
313
|
});
|
|
314
314
|
});
|
|
315
315
|
});
|
|
316
|
+
describe("response validation (F26)", () => {
|
|
317
|
+
it("F26: validates a valid files/list response and returns typed data", async () => {
|
|
318
|
+
fetchSpy.mockResolvedValueOnce(jsonResponse(200, {
|
|
319
|
+
objects: [
|
|
320
|
+
{
|
|
321
|
+
key: "shared/docs/a.txt",
|
|
322
|
+
size: 123,
|
|
323
|
+
lastModified: "2026-05-20T12:00:00.000Z",
|
|
324
|
+
etag: "abc123",
|
|
325
|
+
permission: "read",
|
|
326
|
+
},
|
|
327
|
+
],
|
|
328
|
+
cursor: null,
|
|
329
|
+
truncated: false,
|
|
330
|
+
}));
|
|
331
|
+
const page = await client.listFiles("cmp_abc", "shared/docs/");
|
|
332
|
+
expect(page.objects[0]).toEqual({
|
|
333
|
+
key: "shared/docs/a.txt",
|
|
334
|
+
size: 123,
|
|
335
|
+
lastModified: "2026-05-20T12:00:00.000Z",
|
|
336
|
+
etag: "abc123",
|
|
337
|
+
permission: "read",
|
|
338
|
+
});
|
|
339
|
+
expect(page.cursor).toBeNull();
|
|
340
|
+
expect(page.truncated).toBe(false);
|
|
341
|
+
});
|
|
342
|
+
it("F26: defaults omitted files/list paging fields", async () => {
|
|
343
|
+
fetchSpy.mockResolvedValueOnce(jsonResponse(200, {}));
|
|
344
|
+
const page = await client.listFiles("cmp_abc", "shared/docs/");
|
|
345
|
+
expect(page).toEqual({
|
|
346
|
+
objects: [],
|
|
347
|
+
cursor: null,
|
|
348
|
+
truncated: false,
|
|
349
|
+
});
|
|
350
|
+
});
|
|
351
|
+
it("F26: defaults omitted telemetry opt-in fields to disabled", async () => {
|
|
352
|
+
fetchSpy.mockResolvedValueOnce(jsonResponse(200, {}));
|
|
353
|
+
const optIn = await client.getTelemetryOptIn();
|
|
354
|
+
expect(optIn).toEqual({ enabled: false, updatedAt: null });
|
|
355
|
+
});
|
|
356
|
+
it("F26: maps a malformed files/list response to VaultClientError", async () => {
|
|
357
|
+
fetchSpy.mockResolvedValueOnce(jsonResponse(200, {
|
|
358
|
+
objects: [
|
|
359
|
+
{
|
|
360
|
+
key: "shared/docs/a.txt",
|
|
361
|
+
size: 123,
|
|
362
|
+
lastModified: "2026-05-20T12:00:00.000Z",
|
|
363
|
+
permission: "read",
|
|
364
|
+
},
|
|
365
|
+
],
|
|
366
|
+
cursor: null,
|
|
367
|
+
truncated: false,
|
|
368
|
+
}));
|
|
369
|
+
await expect(client.listFiles("cmp_abc")).rejects.toMatchObject({
|
|
370
|
+
name: "VaultClientError",
|
|
371
|
+
statusCode: 502,
|
|
372
|
+
});
|
|
373
|
+
});
|
|
374
|
+
});
|
|
316
375
|
describe("VaultClient identity bootstrap", () => {
|
|
317
376
|
let client;
|
|
318
377
|
let fetchSpy;
|