@viewportai/daemon 0.5.2 → 0.5.3

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 (58) hide show
  1. package/dist/cli/context-command.d.ts.map +1 -1
  2. package/dist/cli/context-command.js +81 -3
  3. package/dist/cli/context-command.js.map +1 -1
  4. package/dist/cli/context-sync-target.d.ts +2 -1
  5. package/dist/cli/context-sync-target.d.ts.map +1 -1
  6. package/dist/cli/context-sync-target.js +28 -0
  7. package/dist/cli/context-sync-target.js.map +1 -1
  8. package/dist/cli/lifecycle-commands.d.ts.map +1 -1
  9. package/dist/cli/lifecycle-commands.js +6 -0
  10. package/dist/cli/lifecycle-commands.js.map +1 -1
  11. package/dist/context/local-edge-store.d.ts +12 -1
  12. package/dist/context/local-edge-store.d.ts.map +1 -1
  13. package/dist/context/local-edge-store.js +26 -0
  14. package/dist/context/local-edge-store.js.map +1 -1
  15. package/dist/context/local-edge-sync.d.ts +76 -0
  16. package/dist/context/local-edge-sync.d.ts.map +1 -1
  17. package/dist/context/local-edge-sync.js +304 -3
  18. package/dist/context/local-edge-sync.js.map +1 -1
  19. package/dist/context/local-edge-types.d.ts +9 -0
  20. package/dist/context/local-edge-types.d.ts.map +1 -1
  21. package/dist/hooks/platform-plan-sync.d.ts +4 -1
  22. package/dist/hooks/platform-plan-sync.d.ts.map +1 -1
  23. package/dist/hooks/platform-plan-sync.js +20 -5
  24. package/dist/hooks/platform-plan-sync.js.map +1 -1
  25. package/dist/hooks/trusted-edge-plan-artifacts.d.ts +114 -0
  26. package/dist/hooks/trusted-edge-plan-artifacts.d.ts.map +1 -0
  27. package/dist/hooks/trusted-edge-plan-artifacts.js +389 -0
  28. package/dist/hooks/trusted-edge-plan-artifacts.js.map +1 -0
  29. package/dist/relay/bridge-token-issuer.d.ts +1 -0
  30. package/dist/relay/bridge-token-issuer.d.ts.map +1 -1
  31. package/dist/relay/bridge-token-issuer.js +1 -1
  32. package/dist/relay/bridge-token-issuer.js.map +1 -1
  33. package/dist/server/context-preview-service.d.ts +26 -0
  34. package/dist/server/context-preview-service.d.ts.map +1 -0
  35. package/dist/server/context-preview-service.js +71 -0
  36. package/dist/server/context-preview-service.js.map +1 -0
  37. package/dist/server/http-context-routes.d.ts.map +1 -1
  38. package/dist/server/http-context-routes.js +19 -15
  39. package/dist/server/http-context-routes.js.map +1 -1
  40. package/dist/server/rate-limiter.d.ts.map +1 -1
  41. package/dist/server/rate-limiter.js +4 -0
  42. package/dist/server/rate-limiter.js.map +1 -1
  43. package/dist/server/trusted-edge-command-capability.d.ts +14 -0
  44. package/dist/server/trusted-edge-command-capability.d.ts.map +1 -0
  45. package/dist/server/trusted-edge-command-capability.js +103 -0
  46. package/dist/server/trusted-edge-command-capability.js.map +1 -0
  47. package/dist/server/ws-command-handlers.d.ts.map +1 -1
  48. package/dist/server/ws-command-handlers.js +108 -0
  49. package/dist/server/ws-command-handlers.js.map +1 -1
  50. package/dist/server/ws-protocol.d.ts +190 -0
  51. package/dist/server/ws-protocol.d.ts.map +1 -1
  52. package/dist/server/ws-protocol.js +75 -0
  53. package/dist/server/ws-protocol.js.map +1 -1
  54. package/dist/startup.d.ts.map +1 -1
  55. package/dist/startup.js +17 -0
  56. package/dist/startup.js.map +1 -1
  57. package/docs/protocol-matrix.json +56 -0
  58. package/package.json +1 -1
@@ -0,0 +1,114 @@
1
+ import { transportFetch, type TlsVerifyMode } from '../cli/network.js';
2
+ import type { DaemonEvents } from '../core/events.js';
3
+ export declare const TRUSTED_EDGE_PLAN_BODY_SCHEMA = "viewport.plan_body_encrypted/v1";
4
+ declare const PLAN_BODY_ALGORITHM = "AES-GCM-256";
5
+ type PlanProposedEvent = DaemonEvents['hook:plan-proposed'];
6
+ export interface TrustedEdgePlanEnvelope {
7
+ schema: typeof TRUSTED_EDGE_PLAN_BODY_SCHEMA;
8
+ algorithm: typeof PLAN_BODY_ALGORITHM;
9
+ key_ref: string;
10
+ ciphertext: string;
11
+ iv: string;
12
+ tag: string;
13
+ digest: string;
14
+ aad: Record<string, unknown>;
15
+ }
16
+ export interface TrustedEdgePlanFeedbackEnvelope {
17
+ schema: 'viewport.plan_feedback_field_encrypted/v1';
18
+ algorithm: typeof PLAN_BODY_ALGORITHM;
19
+ key_ref: string;
20
+ ciphertext: string;
21
+ iv: string;
22
+ tag: string;
23
+ digest: string;
24
+ aad: Record<string, unknown>;
25
+ }
26
+ export interface TrustedEdgePlanRecord {
27
+ workspaceId: string;
28
+ planId?: string;
29
+ sourceRef: string;
30
+ keyRef: string;
31
+ rawKey: string;
32
+ bodySha256: string;
33
+ createdAt: string;
34
+ updatedAt: string;
35
+ }
36
+ export interface TrustedEdgePlanWrappingKey {
37
+ keyId: string;
38
+ label: string;
39
+ algorithm: 'RSA-OAEP-256';
40
+ publicKeyJwk: Record<string, unknown>;
41
+ privateKeyJwk: Record<string, unknown>;
42
+ createdAt: string;
43
+ lastSeenAt: string;
44
+ }
45
+ export interface TrustedEdgePlanBodyKeyGrant {
46
+ schema: 'viewport.plan_body_key_grant/v1';
47
+ algorithm: 'RSA-OAEP-256';
48
+ recipient_user_id: number;
49
+ recipient_key_id: string;
50
+ key_ref: string;
51
+ encrypted_key: string;
52
+ }
53
+ export interface TrustedEdgePlanGrantRecipient {
54
+ user_id: number;
55
+ key_id: string;
56
+ public_key_jwk: Record<string, unknown>;
57
+ }
58
+ export interface TrustedEdgePlanSyncTarget {
59
+ workspaceId: string;
60
+ serverUrl: string;
61
+ credential: string;
62
+ tlsVerify?: TlsVerifyMode;
63
+ caCertPath?: string;
64
+ tlsPins?: string[];
65
+ }
66
+ export declare function saveTrustedEdgePlanDraft(options: {
67
+ event: PlanProposedEvent;
68
+ target: TrustedEdgePlanSyncTarget;
69
+ home?: string;
70
+ fetchImpl?: typeof transportFetch;
71
+ }): Promise<{
72
+ planId: string;
73
+ sourceRef: string;
74
+ envelope: TrustedEdgePlanEnvelope;
75
+ }>;
76
+ export declare function decryptTrustedEdgePlanBody(options: {
77
+ workspaceId: string;
78
+ planId?: string;
79
+ sourceRef?: string;
80
+ envelope: TrustedEdgePlanEnvelope;
81
+ bodyKeyGrants?: TrustedEdgePlanBodyKeyGrant[];
82
+ home?: string;
83
+ }): Promise<{
84
+ body: string;
85
+ bodySha256: string;
86
+ keyRef: string;
87
+ }>;
88
+ export declare function encryptTrustedEdgePlanFeedbackField(options: {
89
+ workspaceId: string;
90
+ planId?: string;
91
+ sourceRef?: string;
92
+ envelope: TrustedEdgePlanEnvelope;
93
+ text: string;
94
+ aad?: Record<string, unknown>;
95
+ bodyKeyGrants?: TrustedEdgePlanBodyKeyGrant[];
96
+ home?: string;
97
+ }): Promise<TrustedEdgePlanFeedbackEnvelope>;
98
+ export declare function publishTrustedEdgePlanWrappingKey(options: {
99
+ target: TrustedEdgePlanSyncTarget;
100
+ home?: string;
101
+ label?: string;
102
+ fetchImpl?: typeof transportFetch;
103
+ }): Promise<TrustedEdgePlanWrappingKey>;
104
+ export declare function wrapTrustedEdgePlanBodyKey(options: {
105
+ workspaceId: string;
106
+ planId?: string;
107
+ sourceRef?: string;
108
+ envelope: TrustedEdgePlanEnvelope;
109
+ bodyKeyGrants?: TrustedEdgePlanBodyKeyGrant[];
110
+ recipients: TrustedEdgePlanGrantRecipient[];
111
+ home?: string;
112
+ }): Promise<TrustedEdgePlanBodyKeyGrant[]>;
113
+ export {};
114
+ //# sourceMappingURL=trusted-edge-plan-artifacts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trusted-edge-plan-artifacts.d.ts","sourceRoot":"","sources":["../../src/hooks/trusted-edge-plan-artifacts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,389 @@
1
+ import crypto from 'node:crypto';
2
+ import fs from 'node:fs/promises';
3
+ import path from 'node:path';
4
+ import { configDir } from '../core/config.js';
5
+ import { stableJson } from '../context/local-edge-crypto.js';
6
+ import { transportFetch } from '../cli/network.js';
7
+ export const TRUSTED_EDGE_PLAN_BODY_SCHEMA = 'viewport.plan_body_encrypted/v1';
8
+ const TRUSTED_EDGE_PLAN_KEY_STORE_SCHEMA = 'viewport.trusted_edge_plan_keys/v1';
9
+ const PLAN_BODY_ALGORITHM = 'AES-GCM-256';
10
+ export async function saveTrustedEdgePlanDraft(options) {
11
+ const sourceRef = options.event.sourceRef ?? `agent-hook:${options.event.sessionId}`;
12
+ await publishTrustedEdgePlanWrappingKey({
13
+ target: options.target,
14
+ home: options.home,
15
+ fetchImpl: options.fetchImpl,
16
+ });
17
+ const encrypted = await encryptTrustedEdgePlanBody({
18
+ workspaceId: options.target.workspaceId,
19
+ sourceRef,
20
+ sessionId: options.event.sessionId,
21
+ body: options.event.body,
22
+ source: options.event.source ?? options.event.adapter ?? null,
23
+ });
24
+ await upsertTrustedEdgePlanKey({
25
+ workspaceId: options.target.workspaceId,
26
+ sourceRef,
27
+ keyRef: encrypted.envelope.key_ref,
28
+ rawKey: encrypted.rawKey.toString('base64'),
29
+ bodySha256: encrypted.envelope.digest,
30
+ }, options.home);
31
+ const payload = await postJson(options.fetchImpl ?? transportFetch, `${options.target.serverUrl.replace(/\/+$/, '')}/api/runtime/workspaces/${encodeURIComponent(options.target.workspaceId)}/agent-hooks/plans`, {
32
+ credential: options.target.credential,
33
+ hook_event_name: 'PlanProposed',
34
+ schema: 'viewport.plan_proposal/v1',
35
+ session_id: options.event.sessionId,
36
+ cwd: options.event.cwd ?? null,
37
+ title: options.event.title?.trim() || 'Agent plan',
38
+ summary: options.event.summary?.trim() || null,
39
+ body_encryption: encrypted.envelope,
40
+ source: options.event.source ?? options.event.adapter ?? null,
41
+ source_ref: sourceRef,
42
+ payload: {
43
+ ...(options.event.metadata ?? {}),
44
+ privacy: 'trusted-edge',
45
+ encrypted_by: 'vpd',
46
+ },
47
+ }, {
48
+ tlsVerify: options.target.tlsVerify,
49
+ caCertPath: options.target.caCertPath,
50
+ tlsPins: options.target.tlsPins,
51
+ });
52
+ const plan = objectField(payload, 'data');
53
+ const planId = stringField(plan, 'id');
54
+ await upsertTrustedEdgePlanKey({
55
+ workspaceId: options.target.workspaceId,
56
+ planId,
57
+ sourceRef,
58
+ keyRef: encrypted.envelope.key_ref,
59
+ rawKey: encrypted.rawKey.toString('base64'),
60
+ bodySha256: encrypted.envelope.digest,
61
+ }, options.home);
62
+ return { planId, sourceRef, envelope: encrypted.envelope };
63
+ }
64
+ export async function decryptTrustedEdgePlanBody(options) {
65
+ const record = await resolveTrustedEdgePlanKey({
66
+ workspaceId: options.workspaceId,
67
+ planId: options.planId,
68
+ sourceRef: options.sourceRef,
69
+ keyRef: options.envelope.key_ref,
70
+ bodyKeyGrants: options.bodyKeyGrants,
71
+ }, options.home);
72
+ if (!record) {
73
+ throw new Error('Trusted edge does not have the key for this plan.');
74
+ }
75
+ const body = decryptEnvelope(options.envelope, Buffer.from(record.rawKey, 'base64'));
76
+ const digest = digestText(body);
77
+ if (record.bodySha256 &&
78
+ record.bodySha256 !== digest &&
79
+ record.bodySha256 !== options.envelope.digest) {
80
+ throw new Error('Trusted edge plan key does not match this encrypted body.');
81
+ }
82
+ return { body, bodySha256: digest, keyRef: record.keyRef };
83
+ }
84
+ export async function encryptTrustedEdgePlanFeedbackField(options) {
85
+ const record = await resolveTrustedEdgePlanKey({
86
+ workspaceId: options.workspaceId,
87
+ planId: options.planId,
88
+ sourceRef: options.sourceRef,
89
+ keyRef: options.envelope.key_ref,
90
+ bodyKeyGrants: options.bodyKeyGrants,
91
+ }, options.home);
92
+ if (!record) {
93
+ throw new Error('Trusted edge does not have the key for this plan.');
94
+ }
95
+ const rawKey = Buffer.from(record.rawKey, 'base64');
96
+ const aad = options.aad ?? {};
97
+ const iv = crypto.randomBytes(12);
98
+ const cipher = crypto.createCipheriv('aes-256-gcm', rawKey, iv);
99
+ cipher.setAAD(Buffer.from(stableJson(aad), 'utf8'));
100
+ const ciphertext = Buffer.concat([cipher.update(options.text, 'utf8'), cipher.final()]);
101
+ return {
102
+ schema: 'viewport.plan_feedback_field_encrypted/v1',
103
+ algorithm: PLAN_BODY_ALGORITHM,
104
+ key_ref: options.envelope.key_ref,
105
+ ciphertext: ciphertext.toString('base64'),
106
+ iv: iv.toString('base64'),
107
+ tag: cipher.getAuthTag().toString('base64'),
108
+ digest: digestText(options.text),
109
+ aad,
110
+ };
111
+ }
112
+ export async function publishTrustedEdgePlanWrappingKey(options) {
113
+ const key = await ensureTrustedEdgePlanWrappingKey(options.home, options.label);
114
+ await postJson(options.fetchImpl ?? transportFetch, `${options.target.serverUrl.replace(/\/+$/, '')}/api/runtime/workspaces/${encodeURIComponent(options.target.workspaceId)}/plan-encryption-keys`, {
115
+ credential: options.target.credential,
116
+ key_id: key.keyId,
117
+ label: key.label,
118
+ algorithm: key.algorithm,
119
+ public_key_jwk: key.publicKeyJwk,
120
+ }, {
121
+ tlsVerify: options.target.tlsVerify,
122
+ caCertPath: options.target.caCertPath,
123
+ tlsPins: options.target.tlsPins,
124
+ });
125
+ return key;
126
+ }
127
+ export async function wrapTrustedEdgePlanBodyKey(options) {
128
+ const record = await resolveTrustedEdgePlanKey({
129
+ workspaceId: options.workspaceId,
130
+ planId: options.planId,
131
+ sourceRef: options.sourceRef,
132
+ keyRef: options.envelope.key_ref,
133
+ bodyKeyGrants: options.bodyKeyGrants,
134
+ }, options.home);
135
+ if (!record) {
136
+ throw new Error('Trusted edge does not have the key for this plan.');
137
+ }
138
+ return wrapRawPlanBodyKey({
139
+ rawKey: Buffer.from(record.rawKey, 'base64'),
140
+ keyRef: options.envelope.key_ref,
141
+ recipients: options.recipients,
142
+ });
143
+ }
144
+ async function ensureTrustedEdgePlanWrappingKey(home = configDir(), label = 'Trusted edge plan key') {
145
+ const store = await readTrustedEdgePlanKeyStore(home);
146
+ const existing = store.wrappingKeys?.find((key) => key.algorithm === 'RSA-OAEP-256');
147
+ if (existing) {
148
+ existing.lastSeenAt = new Date().toISOString();
149
+ await writeTrustedEdgePlanKeyStore(store, home);
150
+ return existing;
151
+ }
152
+ const pair = crypto.generateKeyPairSync('rsa', {
153
+ modulusLength: 2048,
154
+ publicExponent: 0x10001,
155
+ });
156
+ const now = new Date().toISOString();
157
+ const key = {
158
+ keyId: `trusted-edge-${crypto.randomUUID()}`,
159
+ label,
160
+ algorithm: 'RSA-OAEP-256',
161
+ publicKeyJwk: withPublicJwkMetadata(pair.publicKey.export({ format: 'jwk' })),
162
+ privateKeyJwk: withPrivateJwkMetadata(pair.privateKey.export({ format: 'jwk' })),
163
+ createdAt: now,
164
+ lastSeenAt: now,
165
+ };
166
+ store.wrappingKeys = [...(store.wrappingKeys ?? []), key];
167
+ await writeTrustedEdgePlanKeyStore(store, home);
168
+ return key;
169
+ }
170
+ async function resolveTrustedEdgePlanKey(input, home = configDir()) {
171
+ const existing = await findTrustedEdgePlanKey(input, home);
172
+ if (existing)
173
+ return existing;
174
+ const unwrapped = await unwrapTrustedEdgePlanKeyGrant(input, home);
175
+ if (!unwrapped)
176
+ return null;
177
+ const recordInput = {
178
+ workspaceId: input.workspaceId,
179
+ planId: input.planId,
180
+ sourceRef: input.sourceRef ?? `grant:${input.keyRef}`,
181
+ keyRef: input.keyRef,
182
+ rawKey: unwrapped.toString('base64'),
183
+ bodySha256: '',
184
+ };
185
+ await upsertTrustedEdgePlanKey(recordInput, home);
186
+ return findTrustedEdgePlanKey(input, home);
187
+ }
188
+ async function unwrapTrustedEdgePlanKeyGrant(input, home = configDir()) {
189
+ const grants = input.bodyKeyGrants ?? [];
190
+ if (grants.length === 0)
191
+ return null;
192
+ const store = await readTrustedEdgePlanKeyStore(home);
193
+ const wrappingKeys = store.wrappingKeys ?? [];
194
+ for (const localKey of wrappingKeys) {
195
+ const grant = grants.find((candidate) => candidate.key_ref === input.keyRef &&
196
+ candidate.recipient_key_id === localKey.keyId &&
197
+ candidate.algorithm === 'RSA-OAEP-256');
198
+ if (!grant)
199
+ continue;
200
+ try {
201
+ return crypto.privateDecrypt({
202
+ key: crypto.createPrivateKey({
203
+ key: localKey.privateKeyJwk,
204
+ format: 'jwk',
205
+ }),
206
+ oaepHash: 'sha256',
207
+ }, Buffer.from(grant.encrypted_key, 'base64'));
208
+ }
209
+ catch {
210
+ continue;
211
+ }
212
+ }
213
+ return null;
214
+ }
215
+ async function wrapRawPlanBodyKey(input) {
216
+ const unique = new Map();
217
+ for (const recipient of input.recipients) {
218
+ unique.set(`${recipient.user_id}:${recipient.key_id}`, recipient);
219
+ }
220
+ return [...unique.values()].map((recipient) => {
221
+ const publicKey = crypto.createPublicKey({
222
+ key: recipient.public_key_jwk,
223
+ format: 'jwk',
224
+ });
225
+ const encryptedKey = crypto.publicEncrypt({
226
+ key: publicKey,
227
+ oaepHash: 'sha256',
228
+ }, input.rawKey);
229
+ return {
230
+ schema: 'viewport.plan_body_key_grant/v1',
231
+ algorithm: 'RSA-OAEP-256',
232
+ recipient_user_id: recipient.user_id,
233
+ recipient_key_id: recipient.key_id,
234
+ key_ref: input.keyRef,
235
+ encrypted_key: encryptedKey.toString('base64'),
236
+ };
237
+ });
238
+ }
239
+ function withPublicJwkMetadata(jwk) {
240
+ return {
241
+ ...jwk,
242
+ alg: 'RSA-OAEP-256',
243
+ key_ops: ['encrypt'],
244
+ ext: true,
245
+ };
246
+ }
247
+ function withPrivateJwkMetadata(jwk) {
248
+ return {
249
+ ...jwk,
250
+ alg: 'RSA-OAEP-256',
251
+ key_ops: ['decrypt'],
252
+ ext: true,
253
+ };
254
+ }
255
+ async function encryptTrustedEdgePlanBody(input) {
256
+ const rawKey = crypto.randomBytes(32);
257
+ const keyRef = `trusted-edge-plan-${crypto.randomUUID()}`;
258
+ const aad = {
259
+ purpose: 'trusted-edge-plan-body',
260
+ workspace_id: input.workspaceId,
261
+ source_ref: input.sourceRef,
262
+ session_id: input.sessionId,
263
+ source: input.source,
264
+ created_at: new Date().toISOString(),
265
+ };
266
+ const iv = crypto.randomBytes(12);
267
+ const cipher = crypto.createCipheriv('aes-256-gcm', rawKey, iv);
268
+ cipher.setAAD(Buffer.from(stableJson(aad), 'utf8'));
269
+ const ciphertext = Buffer.concat([cipher.update(input.body, 'utf8'), cipher.final()]);
270
+ return {
271
+ rawKey,
272
+ envelope: {
273
+ schema: TRUSTED_EDGE_PLAN_BODY_SCHEMA,
274
+ algorithm: PLAN_BODY_ALGORITHM,
275
+ key_ref: keyRef,
276
+ ciphertext: ciphertext.toString('base64'),
277
+ iv: iv.toString('base64'),
278
+ tag: cipher.getAuthTag().toString('base64'),
279
+ digest: digestText(input.body),
280
+ aad,
281
+ },
282
+ };
283
+ }
284
+ function decryptEnvelope(envelope, rawKey) {
285
+ if (envelope.schema !== TRUSTED_EDGE_PLAN_BODY_SCHEMA) {
286
+ throw new Error(`Unsupported plan body schema: ${envelope.schema}`);
287
+ }
288
+ if (envelope.algorithm !== PLAN_BODY_ALGORITHM) {
289
+ throw new Error(`Unsupported plan body algorithm: ${envelope.algorithm}`);
290
+ }
291
+ if (!envelope.tag) {
292
+ throw new Error('Trusted-edge plan envelope is missing an authentication tag.');
293
+ }
294
+ const decipher = crypto.createDecipheriv('aes-256-gcm', rawKey, Buffer.from(envelope.iv, 'base64'));
295
+ decipher.setAAD(Buffer.from(stableJson(envelope.aad ?? {}), 'utf8'));
296
+ decipher.setAuthTag(Buffer.from(envelope.tag, 'base64'));
297
+ return Buffer.concat([
298
+ decipher.update(Buffer.from(envelope.ciphertext, 'base64')),
299
+ decipher.final(),
300
+ ]).toString('utf8');
301
+ }
302
+ async function upsertTrustedEdgePlanKey(input, home = configDir()) {
303
+ const store = await readTrustedEdgePlanKeyStore(home);
304
+ const now = new Date().toISOString();
305
+ const existing = store.records.find((record) => record.workspaceId === input.workspaceId &&
306
+ record.keyRef === input.keyRef &&
307
+ ((input.planId && record.planId === input.planId) ||
308
+ (!input.planId && record.sourceRef === input.sourceRef)));
309
+ if (existing) {
310
+ Object.assign(existing, input, { updatedAt: now });
311
+ }
312
+ else {
313
+ store.records.push({ ...input, createdAt: now, updatedAt: now });
314
+ }
315
+ await writeTrustedEdgePlanKeyStore(store, home);
316
+ }
317
+ async function findTrustedEdgePlanKey(input, home = configDir()) {
318
+ const store = await readTrustedEdgePlanKeyStore(home);
319
+ return (store.records.find((record) => record.workspaceId === input.workspaceId &&
320
+ record.keyRef === input.keyRef &&
321
+ ((input.planId && record.planId === input.planId) ||
322
+ (input.sourceRef && record.sourceRef === input.sourceRef))) ?? null);
323
+ }
324
+ async function readTrustedEdgePlanKeyStore(home = configDir()) {
325
+ try {
326
+ const raw = await fs.readFile(trustedEdgePlanKeyStorePath(home), 'utf8');
327
+ const parsed = JSON.parse(raw);
328
+ if (parsed.schema !== TRUSTED_EDGE_PLAN_KEY_STORE_SCHEMA || !Array.isArray(parsed.records)) {
329
+ throw new Error('Invalid trusted-edge plan key store.');
330
+ }
331
+ return parsed;
332
+ }
333
+ catch (error) {
334
+ if (error.code === 'ENOENT') {
335
+ return { schema: TRUSTED_EDGE_PLAN_KEY_STORE_SCHEMA, records: [] };
336
+ }
337
+ throw error;
338
+ }
339
+ }
340
+ async function writeTrustedEdgePlanKeyStore(store, home = configDir()) {
341
+ const filePath = trustedEdgePlanKeyStorePath(home);
342
+ await fs.mkdir(path.dirname(filePath), { recursive: true });
343
+ await fs.writeFile(filePath, JSON.stringify(store, null, 2) + '\n', {
344
+ encoding: 'utf8',
345
+ mode: 0o600,
346
+ });
347
+ await fs.chmod(filePath, 0o600);
348
+ }
349
+ function trustedEdgePlanKeyStorePath(home = configDir()) {
350
+ return path.join(home, 'plans', 'trusted-edge-keys.json');
351
+ }
352
+ async function postJson(fetchImpl, url, body, transportOptions = {}) {
353
+ const response = await fetchImpl(url, {
354
+ method: 'POST',
355
+ headers: { 'content-type': 'application/json', accept: 'application/json' },
356
+ body: JSON.stringify(body),
357
+ timeoutMs: 5_000,
358
+ ...transportOptions,
359
+ });
360
+ const payload = await response.json().catch(() => null);
361
+ if (!response.ok) {
362
+ const reason = payload && typeof payload === 'object' && 'reason' in payload
363
+ ? String(payload.reason)
364
+ : `${response.status} ${response.statusText}`;
365
+ throw new Error(`Plan hook sync request failed: ${reason}`);
366
+ }
367
+ return payload;
368
+ }
369
+ function digestText(value) {
370
+ return `sha256:${crypto.createHash('sha256').update(value, 'utf8').digest('hex')}`;
371
+ }
372
+ function objectField(value, field) {
373
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
374
+ throw new Error(`Expected response object while reading ${field}`);
375
+ }
376
+ const child = value[field];
377
+ if (!child || typeof child !== 'object' || Array.isArray(child)) {
378
+ throw new Error(`Plan hook sync response did not include ${field}`);
379
+ }
380
+ return child;
381
+ }
382
+ function stringField(value, field) {
383
+ const child = value[field];
384
+ if (typeof child !== 'string' || child.trim().length === 0) {
385
+ throw new Error(`Plan hook sync response did not include ${field}`);
386
+ }
387
+ return child;
388
+ }
389
+ //# sourceMappingURL=trusted-edge-plan-artifacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trusted-edge-plan-artifacts.js","sourceRoot":"","sources":["../../src/hooks/trusted-edge-plan-artifacts.ts"],"names":[],"mappings":"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"}
@@ -29,4 +29,5 @@ export declare class RelayTokenIssuer {
29
29
  private verifyTokenClaims;
30
30
  private resolveRelayTokenVerificationKeys;
31
31
  }
32
+ export declare function parseJwksSigningKeys(entries: Array<Record<string, unknown>>): Record<string, string>;
32
33
  //# sourceMappingURL=bridge-token-issuer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-token-issuer.d.ts","sourceRoot":"","sources":["../../src/relay/bridge-token-issuer.ts"],"names":[],"mappings":"AAIA,OAAO,EAA8B,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAclG,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,qBAAa,gBAAgB;IAOzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,gBAAgB;IAP1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IACvD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAyB;IAC/D,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,aAAa,CAA8B;gBAGhC,OAAO,EAAE,uBAAuB,EACzC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAMzC,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIzC,KAAK,IAAI,OAAO,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,qBAAqB,CAAC;KAChC,CAAC;YAkDY,wBAAwB;IAkBtC,OAAO,CAAC,iBAAiB;YAYX,iCAAiC;CAqDhD"}
1
+ {"version":3,"file":"bridge-token-issuer.d.ts","sourceRoot":"","sources":["../../src/relay/bridge-token-issuer.ts"],"names":[],"mappings":"AAIA,OAAO,EAA8B,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAclG,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,qBAAa,gBAAgB;IAOzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,gBAAgB;IAP1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IACvD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAyB;IAC/D,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,aAAa,CAA8B;gBAGhC,OAAO,EAAE,uBAAuB,EACzC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAMzC,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIzC,KAAK,IAAI,OAAO,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,qBAAqB,CAAC;KAChC,CAAC;YAkDY,wBAAwB;IAkBtC,OAAO,CAAC,iBAAiB;YAYX,iCAAiC;CAqDhD;AAaD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA4BxB"}
@@ -140,7 +140,7 @@ async function parseRelayIssueResponse(res) {
140
140
  }
141
141
  return json;
142
142
  }
143
- function parseJwksSigningKeys(entries) {
143
+ export function parseJwksSigningKeys(entries) {
144
144
  const keys = {};
145
145
  for (const entry of entries) {
146
146
  if (!entry || typeof entry !== 'object' || Array.isArray(entry))
@@ -1 +1 @@
1
- {"version":3,"file":"bridge-token-issuer.js","sourceRoot":"","sources":["../../src/relay/bridge-token-issuer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge-token-issuer.js","sourceRoot":"","sources":["../../src/relay/bridge-token-issuer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { previewContextCandidate } from '../context/local-edge-candidates.js';
2
+ export interface ContextCandidatePreviewInput {
3
+ contextResourceId: string;
4
+ workspaceId?: string;
5
+ actorName: string;
6
+ candidateEventId?: string;
7
+ payloadDigest?: string;
8
+ passphrase?: string;
9
+ recoveryCode?: string;
10
+ }
11
+ export type ContextCandidatePreviewProof = {
12
+ ok: true;
13
+ previewProofId: string;
14
+ expiresAt: string | null;
15
+ workspaceId: string;
16
+ } | {
17
+ ok: false;
18
+ error: string;
19
+ };
20
+ export declare function previewContextCandidateForTrustedEdge(input: ContextCandidatePreviewInput): Promise<{
21
+ candidate: Awaited<ReturnType<typeof previewContextCandidate>> & {
22
+ previewProof: ContextCandidatePreviewProof;
23
+ };
24
+ previewProof: ContextCandidatePreviewProof;
25
+ }>;
26
+ //# sourceMappingURL=context-preview-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-preview-service.d.ts","sourceRoot":"","sources":["../../src/server/context-preview-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAI9E,MAAM,WAAW,4BAA4B;IAC3C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,4BAA4B,GACpC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACnF;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC,wBAAsB,qCAAqC,CACzD,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC;IACT,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC,GAAG;QAC/D,YAAY,EAAE,4BAA4B,CAAC;KAC5C,CAAC;IACF,YAAY,EAAE,4BAA4B,CAAC;CAC5C,CAAC,CA2BD"}