@undefineds.co/linx 0.2.3 → 0.2.11
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/index.js +225 -51
- package/dist/index.js.map +1 -1
- package/dist/lib/ai-command.js +2 -2
- package/dist/lib/ai-command.js.map +1 -1
- package/dist/lib/chat-api.js +146 -15
- package/dist/lib/chat-api.js.map +1 -1
- package/dist/lib/credentials-store.js +6 -0
- package/dist/lib/credentials-store.js.map +1 -1
- package/dist/lib/default-model.js +1 -0
- package/dist/lib/default-model.js.map +1 -1
- package/dist/lib/login-command.js +16 -1
- package/dist/lib/login-command.js.map +1 -1
- package/dist/lib/models.js +2 -2
- package/dist/lib/models.js.map +1 -1
- package/dist/lib/node-warning-filter.js +34 -0
- package/dist/lib/node-warning-filter.js.map +1 -0
- package/dist/lib/oidc-auth.js +78 -13
- package/dist/lib/oidc-auth.js.map +1 -1
- package/dist/lib/pi-adapter/auth.js +12 -5
- package/dist/lib/pi-adapter/auth.js.map +1 -1
- package/dist/lib/pi-adapter/branding.js +553 -75
- package/dist/lib/pi-adapter/branding.js.map +1 -1
- package/dist/lib/pi-adapter/interactive.js +117 -4
- package/dist/lib/pi-adapter/interactive.js.map +1 -1
- package/dist/lib/pi-adapter/pod-approval.js +121 -0
- package/dist/lib/pi-adapter/pod-approval.js.map +1 -0
- package/dist/lib/pi-adapter/pod-mirror-mapping.js +189 -0
- package/dist/lib/pi-adapter/pod-mirror-mapping.js.map +1 -0
- package/dist/lib/pi-adapter/pod-mirror.js +390 -0
- package/dist/lib/pi-adapter/pod-mirror.js.map +1 -0
- package/dist/lib/pi-adapter/pod-native.js +422 -0
- package/dist/lib/pi-adapter/pod-native.js.map +1 -0
- package/dist/lib/pi-adapter/runtime.js +116 -21
- package/dist/lib/pi-adapter/runtime.js.map +1 -1
- package/dist/lib/pi-adapter/session.js +613 -0
- package/dist/lib/pi-adapter/session.js.map +1 -0
- package/dist/lib/pi-adapter/stream.js +74 -1
- package/dist/lib/pi-adapter/stream.js.map +1 -1
- package/dist/lib/profile-identity.js +5 -5
- package/dist/lib/profile-identity.js.map +1 -1
- package/dist/lib/watch/pod-ai.js +2 -1
- package/dist/lib/watch/pod-ai.js.map +1 -1
- package/dist/lib/watch/pod-approval.js +336 -84
- package/dist/lib/watch/pod-approval.js.map +1 -1
- package/dist/lib/watch/pod-persistence.js +2 -1
- package/dist/lib/watch/pod-persistence.js.map +1 -1
- package/package.json +3 -7
- package/dist/generated/version.js +0 -3
- package/dist/generated/version.js.map +0 -1
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { setTimeout as delay } from 'node:timers/promises';
|
|
2
|
+
import { getClientCredentialId, getClientCredentialKey } from '../credentials-store.js';
|
|
3
|
+
import { AS_ACTOR, AS_ANNOUNCE, AS_OBJECT, DCT_CREATED, ODRL_ACTION, ODRL_POLICY, ODRL_TARGET, RDF_TYPE, UDFS_ACTION, UDFS_ACTOR, UDFS_ACTOR_ROLE, UDFS_APPROVAL_REQUEST, UDFS_ASSIGNED_TO, UDFS_AUDIT_ENTRY, UDFS_AUTONOMY_GRANT, UDFS_CONTEXT, UDFS_DECISION_BY, UDFS_DECISION_ROLE, UDFS_EFFECT, UDFS_ON_BEHALF_OF, UDFS_POLICY_VERSION, UDFS_REASON, UDFS_RESOLVED_AT, UDFS_REVOKED_AT, UDFS_RISK, UDFS_RISK_CEILING, UDFS_SESSION, UDFS_STATUS, UDFS_TOOL_CALL_ID, UDFS_TOOL_NAME, buildApprovalResourceUrl, buildAuditResourceUrl, buildGrantResourceUrl, buildInboxResourceUrl, firstIri, firstLiteral, iri, listTurtleResources, literal, parseManagedTurtleBlocks, readTurtleResource, subjectIdFromResourceUrl, upsertManagedTurtleBlock, } from '../pi-adapter/pod-native.js';
|
|
2
4
|
const WATCH_CHAT_ID = 'linx-watch';
|
|
3
5
|
const WATCH_AGENT_ID = 'linx-watch-assistant';
|
|
4
6
|
const REMOTE_APPROVAL_POLICY_VERSION = 'linx-watch-remote-approval/v1';
|
|
@@ -162,16 +164,17 @@ function parseRequestAuditContext(value) {
|
|
|
162
164
|
}
|
|
163
165
|
const kind = normalizeString(parsed.kind);
|
|
164
166
|
const message = normalizeString(parsed.message);
|
|
165
|
-
const backend = normalizeString(parsed.backend);
|
|
166
167
|
const sessionId = normalizeString(parsed.sessionId);
|
|
167
|
-
if (!kind || !message || !
|
|
168
|
+
if (!kind || !message || !sessionId) {
|
|
168
169
|
return null;
|
|
169
170
|
}
|
|
170
171
|
return {
|
|
171
172
|
kind: kind,
|
|
172
173
|
message,
|
|
173
|
-
backend: backend,
|
|
174
174
|
sessionId,
|
|
175
|
+
...(normalizeString(parsed.backend) ? { backend: normalizeString(parsed.backend) } : {}),
|
|
176
|
+
...(normalizeString(parsed.runtime) ? { runtime: normalizeString(parsed.runtime) } : {}),
|
|
177
|
+
...(normalizeString(parsed.toolName) ? { toolName: normalizeString(parsed.toolName) } : {}),
|
|
175
178
|
...(normalizeString(parsed.command) ? { command: normalizeString(parsed.command) } : {}),
|
|
176
179
|
...(normalizeString(parsed.cwd) ? { cwd: normalizeString(parsed.cwd) } : {}),
|
|
177
180
|
};
|
|
@@ -252,68 +255,20 @@ function unsupportedRemoteApprovalAuthMessage() {
|
|
|
252
255
|
return 'LinX remote approval requires client credentials auth in `~/.linx`.';
|
|
253
256
|
}
|
|
254
257
|
async function createDefaultRuntime() {
|
|
255
|
-
const [credentialsStore, solidAuth
|
|
258
|
+
const [credentialsStore, solidAuth] = await Promise.all([
|
|
256
259
|
dynamicImport(new URL('../credentials-store.js', import.meta.url).href),
|
|
257
260
|
dynamicImport(new URL('../solid-auth.js', import.meta.url).href),
|
|
258
|
-
dynamicImport(new URL('../models.js', import.meta.url).href),
|
|
259
261
|
]);
|
|
260
262
|
return {
|
|
261
263
|
loadCredentials: credentialsStore.loadCredentials,
|
|
262
264
|
getClientCredentials: credentialsStore.getClientCredentials,
|
|
263
265
|
authenticate: solidAuth.authenticate,
|
|
264
266
|
createStore(session) {
|
|
265
|
-
const
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
schema: models.solidSchema,
|
|
269
|
-
});
|
|
270
|
-
let initialized = false;
|
|
271
|
-
async function ensureInitialized() {
|
|
272
|
-
if (initialized) {
|
|
273
|
-
return;
|
|
274
|
-
}
|
|
275
|
-
initialized = true;
|
|
276
|
-
await db.init([
|
|
277
|
-
models.approvalTable,
|
|
278
|
-
models.auditTable,
|
|
279
|
-
models.grantTable,
|
|
280
|
-
models.inboxNotificationTable,
|
|
281
|
-
]).catch(() => undefined);
|
|
267
|
+
const webId = session.info.webId;
|
|
268
|
+
if (!webId) {
|
|
269
|
+
throw new Error('Remote approval authentication succeeded without a WebID.');
|
|
282
270
|
}
|
|
283
|
-
return
|
|
284
|
-
async listApprovals() {
|
|
285
|
-
await ensureInitialized();
|
|
286
|
-
return await db.select().from(models.approvalTable).execute();
|
|
287
|
-
},
|
|
288
|
-
async insertApproval(row) {
|
|
289
|
-
await ensureInitialized();
|
|
290
|
-
await db.insert(models.approvalTable).values(row).execute();
|
|
291
|
-
},
|
|
292
|
-
async updateApproval(id, patch) {
|
|
293
|
-
await ensureInitialized();
|
|
294
|
-
await db.update(models.approvalTable).set(patch).where(models.eq(models.approvalTable.id, id)).execute();
|
|
295
|
-
},
|
|
296
|
-
async listAudits() {
|
|
297
|
-
await ensureInitialized();
|
|
298
|
-
return await db.select().from(models.auditTable).execute();
|
|
299
|
-
},
|
|
300
|
-
async insertAudit(row) {
|
|
301
|
-
await ensureInitialized();
|
|
302
|
-
await db.insert(models.auditTable).values(row).execute();
|
|
303
|
-
},
|
|
304
|
-
async listGrants() {
|
|
305
|
-
await ensureInitialized();
|
|
306
|
-
return await db.select().from(models.grantTable).execute();
|
|
307
|
-
},
|
|
308
|
-
async insertGrant(row) {
|
|
309
|
-
await ensureInitialized();
|
|
310
|
-
await db.insert(models.grantTable).values(row).execute();
|
|
311
|
-
},
|
|
312
|
-
async insertInboxNotification(row) {
|
|
313
|
-
await ensureInitialized();
|
|
314
|
-
await db.insert(models.inboxNotificationTable).values(row).execute();
|
|
315
|
-
},
|
|
316
|
-
};
|
|
271
|
+
return createNativeRemoteApprovalStore(webId, (url, init) => session.fetch(url, init));
|
|
317
272
|
},
|
|
318
273
|
sleep(ms) {
|
|
319
274
|
return delay(ms);
|
|
@@ -332,7 +287,7 @@ async function withRemoteApprovalStore(runtime, fn) {
|
|
|
332
287
|
if (!clientCredentials) {
|
|
333
288
|
throw new Error(unsupportedRemoteApprovalAuthMessage());
|
|
334
289
|
}
|
|
335
|
-
const { session } = await runtime.authenticate(clientCredentials
|
|
290
|
+
const { session } = await runtime.authenticate(getClientCredentialId(clientCredentials), getClientCredentialKey(clientCredentials), stored.url);
|
|
336
291
|
const webId = session.info.webId ?? stored.webId;
|
|
337
292
|
if (!webId) {
|
|
338
293
|
await session.logout().catch(() => undefined);
|
|
@@ -349,70 +304,333 @@ async function withRemoteApprovalStore(runtime, fn) {
|
|
|
349
304
|
await session.logout().catch(() => undefined);
|
|
350
305
|
}
|
|
351
306
|
}
|
|
307
|
+
function createNativeRemoteApprovalStore(webId, fetcher) {
|
|
308
|
+
return {
|
|
309
|
+
listApprovals: () => listApprovalRows(webId, fetcher),
|
|
310
|
+
insertApproval: (row) => writeApprovalRow(webId, fetcher, row),
|
|
311
|
+
async updateApproval(id, patch) {
|
|
312
|
+
const existing = (await listApprovalRows(webId, fetcher)).find((row) => row.id === id);
|
|
313
|
+
if (!existing) {
|
|
314
|
+
throw new Error(`Remote approval not found: ${id}`);
|
|
315
|
+
}
|
|
316
|
+
await writeApprovalRow(webId, fetcher, { ...existing, ...patch });
|
|
317
|
+
},
|
|
318
|
+
listAudits: () => listAuditRows(webId, fetcher),
|
|
319
|
+
insertAudit: (row) => writeAuditRow(webId, fetcher, row),
|
|
320
|
+
listGrants: () => listGrantRows(webId, fetcher),
|
|
321
|
+
insertGrant: (row) => writeGrantRow(webId, fetcher, row),
|
|
322
|
+
insertInboxNotification: (row) => writeInboxNotificationRow(webId, fetcher, row),
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
async function listApprovalRows(webId, fetcher) {
|
|
326
|
+
const urls = await listTurtleResources(fetcher, `${getPodBaseUrl(webId)}/.data/approvals/`);
|
|
327
|
+
const rows = [];
|
|
328
|
+
for (const url of urls.filter((entry) => entry.endsWith('.ttl'))) {
|
|
329
|
+
const turtle = await readTurtleResource(fetcher, url).catch(() => null);
|
|
330
|
+
if (!turtle)
|
|
331
|
+
continue;
|
|
332
|
+
const predicates = parseManagedTurtleBlocks(turtle, url).get(url);
|
|
333
|
+
if (!predicates)
|
|
334
|
+
continue;
|
|
335
|
+
const row = approvalRowFromPredicates(url, predicates);
|
|
336
|
+
if (row)
|
|
337
|
+
rows.push(row);
|
|
338
|
+
}
|
|
339
|
+
return rows;
|
|
340
|
+
}
|
|
341
|
+
async function writeApprovalRow(webId, fetcher, row) {
|
|
342
|
+
const url = buildApprovalResourceUrl(webId, row.id);
|
|
343
|
+
await upsertManagedTurtleBlock(fetcher, url, {
|
|
344
|
+
subject: url,
|
|
345
|
+
triples: [
|
|
346
|
+
{ predicate: RDF_TYPE, object: iri(UDFS_APPROVAL_REQUEST) },
|
|
347
|
+
{ predicate: UDFS_SESSION, object: iri(row.session) },
|
|
348
|
+
{ predicate: UDFS_TOOL_CALL_ID, object: literal(row.toolCallId) },
|
|
349
|
+
{ predicate: UDFS_TOOL_NAME, object: literal(row.toolName) },
|
|
350
|
+
{ predicate: ODRL_TARGET, object: iri(row.target) },
|
|
351
|
+
{ predicate: ODRL_ACTION, object: iri(row.action) },
|
|
352
|
+
{ predicate: UDFS_RISK, object: literal(row.risk) },
|
|
353
|
+
{ predicate: UDFS_STATUS, object: literal(row.status) },
|
|
354
|
+
...(row.assignedTo ? [{ predicate: UDFS_ASSIGNED_TO, object: iri(row.assignedTo) }] : []),
|
|
355
|
+
...(row.decisionBy ? [{ predicate: UDFS_DECISION_BY, object: iri(row.decisionBy) }] : []),
|
|
356
|
+
...(row.decisionRole ? [{ predicate: UDFS_DECISION_ROLE, object: literal(row.decisionRole) }] : []),
|
|
357
|
+
...(row.onBehalfOf ? [{ predicate: UDFS_ON_BEHALF_OF, object: iri(row.onBehalfOf) }] : []),
|
|
358
|
+
...(row.reason ? [{ predicate: UDFS_REASON, object: literal(row.reason) }] : []),
|
|
359
|
+
...(row.policyVersion ? [{ predicate: UDFS_POLICY_VERSION, object: literal(row.policyVersion) }] : []),
|
|
360
|
+
{ predicate: DCT_CREATED, object: literal(toIsoString(row.createdAt, new Date().toISOString())) },
|
|
361
|
+
...(row.resolvedAt ? [{ predicate: UDFS_RESOLVED_AT, object: literal(toIsoString(row.resolvedAt, new Date().toISOString())) }] : []),
|
|
362
|
+
],
|
|
363
|
+
});
|
|
364
|
+
}
|
|
365
|
+
async function listAuditRows(webId, fetcher) {
|
|
366
|
+
const urls = await listTurtleResources(fetcher, `${getPodBaseUrl(webId)}/.data/audit/`);
|
|
367
|
+
const rows = [];
|
|
368
|
+
for (const url of urls.filter((entry) => entry.endsWith('.ttl'))) {
|
|
369
|
+
const turtle = await readTurtleResource(fetcher, url).catch(() => null);
|
|
370
|
+
if (!turtle)
|
|
371
|
+
continue;
|
|
372
|
+
const predicates = parseManagedTurtleBlocks(turtle, url).get(url);
|
|
373
|
+
if (!predicates)
|
|
374
|
+
continue;
|
|
375
|
+
const row = auditRowFromPredicates(url, predicates);
|
|
376
|
+
if (row)
|
|
377
|
+
rows.push(row);
|
|
378
|
+
}
|
|
379
|
+
return rows;
|
|
380
|
+
}
|
|
381
|
+
async function writeAuditRow(webId, fetcher, row) {
|
|
382
|
+
const url = buildAuditResourceUrl(webId, row.id);
|
|
383
|
+
await upsertManagedTurtleBlock(fetcher, url, {
|
|
384
|
+
subject: url,
|
|
385
|
+
triples: [
|
|
386
|
+
{ predicate: RDF_TYPE, object: iri(UDFS_AUDIT_ENTRY) },
|
|
387
|
+
{ predicate: UDFS_ACTION, object: literal(row.action) },
|
|
388
|
+
{ predicate: UDFS_ACTOR, object: iri(row.actor) },
|
|
389
|
+
{ predicate: UDFS_ACTOR_ROLE, object: literal(row.actorRole) },
|
|
390
|
+
...(row.onBehalfOf ? [{ predicate: UDFS_ON_BEHALF_OF, object: iri(row.onBehalfOf) }] : []),
|
|
391
|
+
...(row.session ? [{ predicate: UDFS_SESSION, object: iri(row.session) }] : []),
|
|
392
|
+
...(row.toolCallId ? [{ predicate: UDFS_TOOL_CALL_ID, object: literal(row.toolCallId) }] : []),
|
|
393
|
+
...(row.approval ? [{ predicate: 'https://undefineds.co/ns#approval', object: iri(row.approval) }] : []),
|
|
394
|
+
...(row.context ? [{ predicate: UDFS_CONTEXT, object: literal(row.context) }] : []),
|
|
395
|
+
...(row.policyVersion ? [{ predicate: UDFS_POLICY_VERSION, object: literal(row.policyVersion) }] : []),
|
|
396
|
+
{ predicate: DCT_CREATED, object: literal(toIsoString(row.createdAt, new Date().toISOString())) },
|
|
397
|
+
],
|
|
398
|
+
});
|
|
399
|
+
}
|
|
400
|
+
async function listGrantRows(webId, fetcher) {
|
|
401
|
+
const urls = await listTurtleResources(fetcher, `${getPodBaseUrl(webId)}/settings/autonomy/grants/`);
|
|
402
|
+
const rows = [];
|
|
403
|
+
for (const url of urls.filter((entry) => entry.endsWith('.ttl'))) {
|
|
404
|
+
const turtle = await readTurtleResource(fetcher, url).catch(() => null);
|
|
405
|
+
if (!turtle)
|
|
406
|
+
continue;
|
|
407
|
+
const predicates = parseManagedTurtleBlocks(turtle, url).get(url);
|
|
408
|
+
if (!predicates)
|
|
409
|
+
continue;
|
|
410
|
+
const row = grantRowFromPredicates(url, predicates);
|
|
411
|
+
if (row)
|
|
412
|
+
rows.push(row);
|
|
413
|
+
}
|
|
414
|
+
return rows;
|
|
415
|
+
}
|
|
416
|
+
async function writeGrantRow(webId, fetcher, row) {
|
|
417
|
+
const id = normalizeString(row.id) ?? crypto.randomUUID();
|
|
418
|
+
const url = buildGrantResourceUrl(webId, id);
|
|
419
|
+
const target = normalizeString(row.target);
|
|
420
|
+
const action = normalizeString(row.action);
|
|
421
|
+
const effect = normalizeString(row.effect);
|
|
422
|
+
const decisionBy = normalizeString(row.decisionBy);
|
|
423
|
+
const decisionRole = normalizeString(row.decisionRole);
|
|
424
|
+
if (!target || !action || !effect || !decisionBy || !decisionRole) {
|
|
425
|
+
throw new Error(`Invalid remote approval grant row: ${id}`);
|
|
426
|
+
}
|
|
427
|
+
await upsertManagedTurtleBlock(fetcher, url, {
|
|
428
|
+
subject: url,
|
|
429
|
+
triples: [
|
|
430
|
+
{ predicate: RDF_TYPE, object: iri(ODRL_POLICY) },
|
|
431
|
+
{ predicate: RDF_TYPE, object: iri(UDFS_AUTONOMY_GRANT) },
|
|
432
|
+
{ predicate: ODRL_TARGET, object: iri(target) },
|
|
433
|
+
{ predicate: ODRL_ACTION, object: iri(action) },
|
|
434
|
+
{ predicate: UDFS_EFFECT, object: literal(effect) },
|
|
435
|
+
...(normalizeString(row.riskCeiling) ? [{ predicate: UDFS_RISK_CEILING, object: literal(normalizeString(row.riskCeiling)) }] : []),
|
|
436
|
+
{ predicate: UDFS_DECISION_BY, object: iri(decisionBy) },
|
|
437
|
+
{ predicate: UDFS_DECISION_ROLE, object: literal(decisionRole) },
|
|
438
|
+
...(normalizeString(row.onBehalfOf) ? [{ predicate: UDFS_ON_BEHALF_OF, object: iri(normalizeString(row.onBehalfOf)) }] : []),
|
|
439
|
+
{ predicate: DCT_CREATED, object: literal(toIsoString(row.createdAt, new Date().toISOString())) },
|
|
440
|
+
...(normalizeString(row.revokedAt) ? [{ predicate: UDFS_REVOKED_AT, object: literal(normalizeString(row.revokedAt)) }] : []),
|
|
441
|
+
],
|
|
442
|
+
});
|
|
443
|
+
}
|
|
444
|
+
async function writeInboxNotificationRow(webId, fetcher, row) {
|
|
445
|
+
const url = buildInboxResourceUrl(webId, row.id);
|
|
446
|
+
await upsertManagedTurtleBlock(fetcher, url, {
|
|
447
|
+
subject: url,
|
|
448
|
+
triples: [
|
|
449
|
+
{ predicate: RDF_TYPE, object: iri(AS_ANNOUNCE) },
|
|
450
|
+
...(row.actor ? [{ predicate: AS_ACTOR, object: iri(row.actor) }] : []),
|
|
451
|
+
{ predicate: AS_OBJECT, object: iri(row.object) },
|
|
452
|
+
{ predicate: DCT_CREATED, object: literal(toIsoString(row.createdAt, new Date().toISOString())) },
|
|
453
|
+
],
|
|
454
|
+
});
|
|
455
|
+
}
|
|
456
|
+
function approvalRowFromPredicates(url, predicates) {
|
|
457
|
+
const session = firstIri(predicates, UDFS_SESSION);
|
|
458
|
+
const toolCallId = firstLiteral(predicates, UDFS_TOOL_CALL_ID);
|
|
459
|
+
const toolName = firstLiteral(predicates, UDFS_TOOL_NAME);
|
|
460
|
+
const target = firstIri(predicates, ODRL_TARGET);
|
|
461
|
+
const action = firstIri(predicates, ODRL_ACTION);
|
|
462
|
+
const risk = firstLiteral(predicates, UDFS_RISK);
|
|
463
|
+
const status = firstLiteral(predicates, UDFS_STATUS);
|
|
464
|
+
const createdAt = firstLiteral(predicates, DCT_CREATED);
|
|
465
|
+
if (!session || !toolCallId || !toolName || !target || !action || !risk || !status || !createdAt) {
|
|
466
|
+
return null;
|
|
467
|
+
}
|
|
468
|
+
return {
|
|
469
|
+
id: subjectIdFromResourceUrl(url),
|
|
470
|
+
session,
|
|
471
|
+
toolCallId,
|
|
472
|
+
toolName,
|
|
473
|
+
target,
|
|
474
|
+
action,
|
|
475
|
+
risk,
|
|
476
|
+
status,
|
|
477
|
+
assignedTo: firstIri(predicates, UDFS_ASSIGNED_TO),
|
|
478
|
+
decisionBy: firstIri(predicates, UDFS_DECISION_BY),
|
|
479
|
+
decisionRole: firstLiteral(predicates, UDFS_DECISION_ROLE),
|
|
480
|
+
onBehalfOf: firstIri(predicates, UDFS_ON_BEHALF_OF),
|
|
481
|
+
reason: firstLiteral(predicates, UDFS_REASON),
|
|
482
|
+
policyVersion: firstLiteral(predicates, UDFS_POLICY_VERSION),
|
|
483
|
+
createdAt,
|
|
484
|
+
resolvedAt: firstLiteral(predicates, UDFS_RESOLVED_AT),
|
|
485
|
+
};
|
|
486
|
+
}
|
|
487
|
+
function auditRowFromPredicates(url, predicates) {
|
|
488
|
+
const action = firstLiteral(predicates, UDFS_ACTION);
|
|
489
|
+
const actor = firstIri(predicates, UDFS_ACTOR);
|
|
490
|
+
const actorRole = firstLiteral(predicates, UDFS_ACTOR_ROLE);
|
|
491
|
+
const createdAt = firstLiteral(predicates, DCT_CREATED);
|
|
492
|
+
if (!action || !actor || !actorRole || !createdAt) {
|
|
493
|
+
return null;
|
|
494
|
+
}
|
|
495
|
+
return {
|
|
496
|
+
id: subjectIdFromResourceUrl(url),
|
|
497
|
+
action,
|
|
498
|
+
actor,
|
|
499
|
+
actorRole,
|
|
500
|
+
onBehalfOf: firstIri(predicates, UDFS_ON_BEHALF_OF),
|
|
501
|
+
session: firstIri(predicates, UDFS_SESSION),
|
|
502
|
+
toolCallId: firstLiteral(predicates, UDFS_TOOL_CALL_ID),
|
|
503
|
+
approval: firstIri(predicates, 'https://undefineds.co/ns#approval'),
|
|
504
|
+
context: firstLiteral(predicates, UDFS_CONTEXT),
|
|
505
|
+
policyVersion: firstLiteral(predicates, UDFS_POLICY_VERSION),
|
|
506
|
+
createdAt,
|
|
507
|
+
};
|
|
508
|
+
}
|
|
509
|
+
function grantRowFromPredicates(url, predicates) {
|
|
510
|
+
const target = firstIri(predicates, ODRL_TARGET);
|
|
511
|
+
const action = firstIri(predicates, ODRL_ACTION);
|
|
512
|
+
const effect = firstLiteral(predicates, UDFS_EFFECT);
|
|
513
|
+
const decisionBy = firstIri(predicates, UDFS_DECISION_BY);
|
|
514
|
+
const decisionRole = firstLiteral(predicates, UDFS_DECISION_ROLE);
|
|
515
|
+
const createdAt = firstLiteral(predicates, DCT_CREATED);
|
|
516
|
+
if (!target || !action || !effect || !decisionBy || !decisionRole || !createdAt) {
|
|
517
|
+
return null;
|
|
518
|
+
}
|
|
519
|
+
return {
|
|
520
|
+
id: subjectIdFromResourceUrl(url),
|
|
521
|
+
target,
|
|
522
|
+
action,
|
|
523
|
+
effect,
|
|
524
|
+
riskCeiling: firstLiteral(predicates, UDFS_RISK_CEILING),
|
|
525
|
+
decisionBy,
|
|
526
|
+
decisionRole,
|
|
527
|
+
onBehalfOf: firstIri(predicates, UDFS_ON_BEHALF_OF),
|
|
528
|
+
createdAt,
|
|
529
|
+
revokedAt: firstLiteral(predicates, UDFS_REVOKED_AT),
|
|
530
|
+
};
|
|
531
|
+
}
|
|
352
532
|
export async function createRemoteWatchApproval(options) {
|
|
353
533
|
const activeRuntime = options.runtime ?? await createDefaultRuntime();
|
|
354
|
-
return
|
|
534
|
+
return createRemoteApproval({
|
|
535
|
+
subject: ({ webId }) => ({
|
|
536
|
+
sessionUri: buildThreadUri(webId, options.record.id),
|
|
537
|
+
actorUri: buildAgentUri(webId),
|
|
538
|
+
policyVersion: REMOTE_APPROVAL_POLICY_VERSION,
|
|
539
|
+
}),
|
|
540
|
+
request: ({ sessionUri }) => ({
|
|
541
|
+
kind: options.request.kind,
|
|
542
|
+
message: buildRequestMessage(options.request),
|
|
543
|
+
toolCallId: extractToolCallId(options.request),
|
|
544
|
+
toolName: buildToolName(options.request),
|
|
545
|
+
action: buildActionUri(options.request),
|
|
546
|
+
risk: buildRisk(options.request),
|
|
547
|
+
...(options.request.kind === 'command-approval' && options.request.command ? { command: options.request.command } : {}),
|
|
548
|
+
...(options.request.kind === 'command-approval' && options.request.cwd ? { cwd: options.request.cwd } : {}),
|
|
549
|
+
context: buildRequestAuditContext(options.record, options.request),
|
|
550
|
+
}),
|
|
551
|
+
runtime: activeRuntime,
|
|
552
|
+
});
|
|
553
|
+
}
|
|
554
|
+
export async function createRemoteApproval(options) {
|
|
555
|
+
const activeRuntime = options.runtime ?? await createDefaultRuntime();
|
|
556
|
+
return withRemoteApprovalStore(activeRuntime, async ({ store, webId, stored }) => {
|
|
557
|
+
const subject = typeof options.subject === 'function'
|
|
558
|
+
? options.subject({ webId, stored })
|
|
559
|
+
: options.subject;
|
|
560
|
+
const request = typeof options.request === 'function'
|
|
561
|
+
? options.request({ webId, stored, sessionUri: subject.sessionUri })
|
|
562
|
+
: options.request;
|
|
355
563
|
const approvalId = crypto.randomUUID();
|
|
356
564
|
const now = activeRuntime.now();
|
|
357
|
-
const sessionUri =
|
|
565
|
+
const sessionUri = subject.sessionUri;
|
|
358
566
|
const approvalUri = buildApprovalUri(webId, approvalId);
|
|
359
|
-
const
|
|
360
|
-
const
|
|
567
|
+
const targetUri = subject.targetUri ?? sessionUri;
|
|
568
|
+
const assignedTo = subject.assignedTo ?? webId;
|
|
569
|
+
const onBehalfOf = subject.onBehalfOf ?? webId;
|
|
570
|
+
const policyVersion = subject.policyVersion ?? REMOTE_APPROVAL_POLICY_VERSION;
|
|
571
|
+
const requestContext = request.context ?? {
|
|
572
|
+
kind: request.kind,
|
|
573
|
+
message: request.message,
|
|
574
|
+
sessionId: extractSessionId(sessionUri),
|
|
575
|
+
toolName: request.toolName,
|
|
576
|
+
...(request.command ? { command: request.command } : {}),
|
|
577
|
+
...(request.cwd ? { cwd: request.cwd } : {}),
|
|
578
|
+
};
|
|
361
579
|
await store.insertApproval({
|
|
362
580
|
id: approvalId,
|
|
363
581
|
session: sessionUri,
|
|
364
|
-
toolCallId,
|
|
365
|
-
toolName:
|
|
366
|
-
target:
|
|
367
|
-
action:
|
|
368
|
-
risk:
|
|
582
|
+
toolCallId: request.toolCallId,
|
|
583
|
+
toolName: request.toolName,
|
|
584
|
+
target: targetUri,
|
|
585
|
+
action: request.action,
|
|
586
|
+
risk: request.risk,
|
|
369
587
|
status: 'pending',
|
|
370
|
-
assignedTo
|
|
371
|
-
policyVersion
|
|
588
|
+
assignedTo,
|
|
589
|
+
policyVersion,
|
|
372
590
|
createdAt: now,
|
|
373
591
|
});
|
|
374
592
|
await store.insertAudit({
|
|
375
593
|
id: crypto.randomUUID(),
|
|
376
594
|
action: 'approval_requested',
|
|
377
|
-
actor:
|
|
595
|
+
actor: subject.actorUri,
|
|
378
596
|
actorRole: 'secretary',
|
|
379
|
-
onBehalfOf
|
|
597
|
+
onBehalfOf,
|
|
380
598
|
session: sessionUri,
|
|
381
|
-
toolCallId,
|
|
599
|
+
toolCallId: request.toolCallId,
|
|
382
600
|
approval: approvalUri,
|
|
383
601
|
context: JSON.stringify(requestContext),
|
|
384
|
-
policyVersion
|
|
602
|
+
policyVersion,
|
|
385
603
|
createdAt: now,
|
|
386
604
|
});
|
|
387
605
|
await store.insertInboxNotification({
|
|
388
606
|
id: crypto.randomUUID(),
|
|
389
|
-
actor:
|
|
607
|
+
actor: subject.actorUri,
|
|
390
608
|
object: approvalUri,
|
|
391
609
|
createdAt: now,
|
|
392
610
|
}).catch(() => undefined);
|
|
393
611
|
return normalizeApprovalSummary({
|
|
394
612
|
id: approvalId,
|
|
395
613
|
session: sessionUri,
|
|
396
|
-
toolCallId,
|
|
397
|
-
toolName:
|
|
398
|
-
target:
|
|
399
|
-
action:
|
|
400
|
-
risk:
|
|
614
|
+
toolCallId: request.toolCallId,
|
|
615
|
+
toolName: request.toolName,
|
|
616
|
+
target: targetUri,
|
|
617
|
+
action: request.action,
|
|
618
|
+
risk: request.risk,
|
|
401
619
|
status: 'pending',
|
|
402
|
-
assignedTo
|
|
403
|
-
policyVersion
|
|
620
|
+
assignedTo,
|
|
621
|
+
policyVersion,
|
|
404
622
|
createdAt: now,
|
|
405
623
|
}, [{
|
|
406
624
|
id: crypto.randomUUID(),
|
|
407
625
|
action: 'approval_requested',
|
|
408
|
-
actor:
|
|
626
|
+
actor: subject.actorUri,
|
|
409
627
|
actorRole: 'secretary',
|
|
410
|
-
onBehalfOf
|
|
628
|
+
onBehalfOf,
|
|
411
629
|
session: sessionUri,
|
|
412
|
-
toolCallId,
|
|
630
|
+
toolCallId: request.toolCallId,
|
|
413
631
|
approval: approvalUri,
|
|
414
632
|
context: JSON.stringify(requestContext),
|
|
415
|
-
policyVersion
|
|
633
|
+
policyVersion,
|
|
416
634
|
createdAt: now,
|
|
417
635
|
}]);
|
|
418
636
|
});
|
|
@@ -465,6 +683,38 @@ export async function requestRemoteWatchApproval(options) {
|
|
|
465
683
|
runtime: activeRuntime,
|
|
466
684
|
});
|
|
467
685
|
}
|
|
686
|
+
export async function requestRemoteApproval(options) {
|
|
687
|
+
const activeRuntime = options.runtime ?? await createDefaultRuntime();
|
|
688
|
+
const delegated = await withRemoteApprovalStore(activeRuntime, async ({ store, webId, stored }) => {
|
|
689
|
+
const subject = typeof options.subject === 'function'
|
|
690
|
+
? options.subject({ webId, stored })
|
|
691
|
+
: options.subject;
|
|
692
|
+
const request = typeof options.request === 'function'
|
|
693
|
+
? options.request({ webId, stored, sessionUri: subject.sessionUri })
|
|
694
|
+
: options.request;
|
|
695
|
+
const grants = await store.listGrants();
|
|
696
|
+
const requestTarget = subject.targetUri ?? subject.sessionUri;
|
|
697
|
+
return grants.some((grant) => (grant.effect === 'allow'
|
|
698
|
+
&& grant.action === request.action
|
|
699
|
+
&& grant.target === requestTarget
|
|
700
|
+
&& riskScore(typeof grant.riskCeiling === 'string' ? grant.riskCeiling : undefined) >= riskScore(request.risk)
|
|
701
|
+
&& !grant.revokedAt));
|
|
702
|
+
});
|
|
703
|
+
if (delegated) {
|
|
704
|
+
return 'accept_for_session';
|
|
705
|
+
}
|
|
706
|
+
const summary = await createRemoteApproval({
|
|
707
|
+
subject: options.subject,
|
|
708
|
+
request: options.request,
|
|
709
|
+
runtime: activeRuntime,
|
|
710
|
+
});
|
|
711
|
+
return waitForRemoteWatchApproval({
|
|
712
|
+
approvalId: summary.id,
|
|
713
|
+
pollMs: options.pollMs,
|
|
714
|
+
signal: options.signal,
|
|
715
|
+
runtime: activeRuntime,
|
|
716
|
+
});
|
|
717
|
+
}
|
|
468
718
|
export async function listRemoteWatchApprovals(options = {}) {
|
|
469
719
|
const activeRuntime = options.runtime ?? await createDefaultRuntime();
|
|
470
720
|
const requestedStatus = options.status ?? 'pending';
|
|
@@ -562,10 +812,12 @@ export async function resolveRemoteWatchApproval(options) {
|
|
|
562
812
|
}
|
|
563
813
|
export const __podApprovalInternal = {
|
|
564
814
|
createAbortError,
|
|
815
|
+
createDefaultRuntime,
|
|
565
816
|
buildActionUri,
|
|
566
817
|
buildRequestAuditContext,
|
|
567
818
|
buildRisk,
|
|
568
819
|
buildToolName,
|
|
820
|
+
createNativeRemoteApprovalStore,
|
|
569
821
|
extractToolCallId,
|
|
570
822
|
decisionFromApprovalRow,
|
|
571
823
|
encodeDecisionReason,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pod-approval.js","sourceRoot":"","sources":["../../../src/lib/watch/pod-approval.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pod-approval.js","sourceRoot":"","sources":["../../../src/lib/watch/pod-approval.ts"],"names":[],"mappings":"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"}
|