@undefineds.co/linx 0.2.2 → 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.
Files changed (49) hide show
  1. package/dist/index.js +225 -51
  2. package/dist/index.js.map +1 -1
  3. package/dist/lib/ai-command.js +2 -2
  4. package/dist/lib/ai-command.js.map +1 -1
  5. package/dist/lib/chat-api.js +146 -15
  6. package/dist/lib/chat-api.js.map +1 -1
  7. package/dist/lib/credentials-store.js +6 -0
  8. package/dist/lib/credentials-store.js.map +1 -1
  9. package/dist/lib/default-model.js +1 -0
  10. package/dist/lib/default-model.js.map +1 -1
  11. package/dist/lib/login-command.js +16 -1
  12. package/dist/lib/login-command.js.map +1 -1
  13. package/dist/lib/models.js +2 -2
  14. package/dist/lib/models.js.map +1 -1
  15. package/dist/lib/node-warning-filter.js +34 -0
  16. package/dist/lib/node-warning-filter.js.map +1 -0
  17. package/dist/lib/oidc-auth.js +78 -13
  18. package/dist/lib/oidc-auth.js.map +1 -1
  19. package/dist/lib/pi-adapter/auth.js +12 -5
  20. package/dist/lib/pi-adapter/auth.js.map +1 -1
  21. package/dist/lib/pi-adapter/branding.js +597 -17
  22. package/dist/lib/pi-adapter/branding.js.map +1 -1
  23. package/dist/lib/pi-adapter/interactive.js +117 -4
  24. package/dist/lib/pi-adapter/interactive.js.map +1 -1
  25. package/dist/lib/pi-adapter/pod-approval.js +121 -0
  26. package/dist/lib/pi-adapter/pod-approval.js.map +1 -0
  27. package/dist/lib/pi-adapter/pod-mirror-mapping.js +189 -0
  28. package/dist/lib/pi-adapter/pod-mirror-mapping.js.map +1 -0
  29. package/dist/lib/pi-adapter/pod-mirror.js +390 -0
  30. package/dist/lib/pi-adapter/pod-mirror.js.map +1 -0
  31. package/dist/lib/pi-adapter/pod-native.js +422 -0
  32. package/dist/lib/pi-adapter/pod-native.js.map +1 -0
  33. package/dist/lib/pi-adapter/runtime.js +116 -21
  34. package/dist/lib/pi-adapter/runtime.js.map +1 -1
  35. package/dist/lib/pi-adapter/session.js +613 -0
  36. package/dist/lib/pi-adapter/session.js.map +1 -0
  37. package/dist/lib/pi-adapter/stream.js +74 -1
  38. package/dist/lib/pi-adapter/stream.js.map +1 -1
  39. package/dist/lib/profile-identity.js +5 -5
  40. package/dist/lib/profile-identity.js.map +1 -1
  41. package/dist/lib/watch/pod-ai.js +2 -1
  42. package/dist/lib/watch/pod-ai.js.map +1 -1
  43. package/dist/lib/watch/pod-approval.js +336 -84
  44. package/dist/lib/watch/pod-approval.js.map +1 -1
  45. package/dist/lib/watch/pod-persistence.js +2 -1
  46. package/dist/lib/watch/pod-persistence.js.map +1 -1
  47. package/package.json +3 -7
  48. package/dist/generated/version.js +0 -3
  49. 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 || !backend || !sessionId) {
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, models] = await Promise.all([
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 db = models.drizzle(session, {
266
- logger: false,
267
- disableInteropDiscovery: true,
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.clientId, clientCredentials.clientSecret, stored.url);
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 withRemoteApprovalStore(activeRuntime, async ({ store, webId }) => {
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 = buildThreadUri(webId, options.record.id);
565
+ const sessionUri = subject.sessionUri;
358
566
  const approvalUri = buildApprovalUri(webId, approvalId);
359
- const toolCallId = extractToolCallId(options.request);
360
- const requestContext = buildRequestAuditContext(options.record, options.request);
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: buildToolName(options.request),
366
- target: sessionUri,
367
- action: buildActionUri(options.request),
368
- risk: buildRisk(options.request),
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: webId,
371
- policyVersion: REMOTE_APPROVAL_POLICY_VERSION,
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: buildAgentUri(webId),
595
+ actor: subject.actorUri,
378
596
  actorRole: 'secretary',
379
- onBehalfOf: webId,
597
+ onBehalfOf,
380
598
  session: sessionUri,
381
- toolCallId,
599
+ toolCallId: request.toolCallId,
382
600
  approval: approvalUri,
383
601
  context: JSON.stringify(requestContext),
384
- policyVersion: REMOTE_APPROVAL_POLICY_VERSION,
602
+ policyVersion,
385
603
  createdAt: now,
386
604
  });
387
605
  await store.insertInboxNotification({
388
606
  id: crypto.randomUUID(),
389
- actor: buildAgentUri(webId),
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: buildToolName(options.request),
398
- target: sessionUri,
399
- action: buildActionUri(options.request),
400
- risk: buildRisk(options.request),
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: webId,
403
- policyVersion: REMOTE_APPROVAL_POLICY_VERSION,
620
+ assignedTo,
621
+ policyVersion,
404
622
  createdAt: now,
405
623
  }, [{
406
624
  id: crypto.randomUUID(),
407
625
  action: 'approval_requested',
408
- actor: buildAgentUri(webId),
626
+ actor: subject.actorUri,
409
627
  actorRole: 'secretary',
410
- onBehalfOf: webId,
628
+ onBehalfOf,
411
629
  session: sessionUri,
412
- toolCallId,
630
+ toolCallId: request.toolCallId,
413
631
  approval: approvalUri,
414
632
  context: JSON.stringify(requestContext),
415
- policyVersion: REMOTE_APPROVAL_POLICY_VERSION,
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":"AAAA,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAK1D,MAAM,aAAa,GAAG,YAAY,CAAA;AAClC,MAAM,cAAc,GAAG,sBAAsB,CAAA;AAC7C,MAAM,8BAA8B,GAAG,+BAA+B,CAAA;AACtE,MAAM,+BAA+B,GAAG,IAAI,CAAA;AAiG5C,SAAS,gBAAgB;IACvB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;IACrD,KAAK,CAAC,IAAI,GAAG,YAAY,CAAA;IACzB,OAAO,KAAK,CAAA;AACd,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,SAAiB;IAC5C,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,YAAY,EAAE,2BAA2B,CAAyD,CAAA;IAC9H,OAAO,MAAM,CAAC,SAAS,CAAC,CAAA;AAC1B,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AAC7E,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC7E,CAAC;AAED,SAAS,WAAW,CAAC,KAAgC,EAAE,QAAgB;IACrE,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,WAAW,EAAE,CAAA;IAC5B,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,aAAa,CAAC,UAAkB;IACvC,IAAI,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC5C,OAAO,UAAU,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACtE,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAA;IAChF,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACpC,CAAC;IAED,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AACtC,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,QAAgB;IACrD,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,eAAe,aAAa,cAAc,QAAQ,EAAE,CAAA;AACpF,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAkB,EAAE,UAAkB;IAC9D,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,oBAAoB,UAAU,MAAM,CAAA;AACzE,CAAC;AAED,SAAS,aAAa,CAAC,UAAkB,EAAE,OAAe;IACxD,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,6BAA6B,OAAO,MAAM,CAAA;AAC/E,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,iBAAiB,cAAc,MAAM,CAAA;AACrE,CAAC;AAED,SAAS,cAAc,CAAC,OAA6B;IACnD,IAAI,OAAO,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACxC,OAAO,2CAA2C,CAAA;IACpD,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;QAC5C,OAAO,qCAAqC,CAAA;IAC9C,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;QAC5C,OAAO,4CAA4C,CAAA;IACrD,CAAC;IAED,OAAO,0CAA0C,CAAA;AACnD,CAAC;AAED,SAAS,aAAa,CAAC,OAA6B;IAClD,IAAI,OAAO,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACxC,OAAO,kBAAkB,CAAA;IAC3B,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;QAC5C,OAAO,YAAY,CAAA;IACrB,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;QAC5C,OAAO,mBAAmB,CAAA;IAC5B,CAAC;IAED,OAAO,iBAAiB,CAAA;AAC1B,CAAC;AAED,SAAS,SAAS,CAAC,OAA6B;IAC9C,IAAI,OAAO,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAA;IACf,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAA;IACf,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,SAAS,CAAC,IAAwB;IACzC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,KAAK;YACR,OAAO,CAAC,CAAA;QACV,KAAK,QAAQ;YACX,OAAO,CAAC,CAAA;QACV,KAAK,MAAM;YACT,OAAO,CAAC,CAAA;QACV;YACE,OAAO,CAAC,CAAA;IACZ,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,OAA6B;IACxD,IAAI,OAAO,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACxC,OAAO,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,OAAO,CAAA;IACnD,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;QAC5C,OAAO,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,OAAO,CAAA;IAClD,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,CAAA;AACxB,CAAC;AAED,SAAS,wBAAwB,CAAC,MAA0B,EAAE,OAA6B;IACzF,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC;QACrC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,EAAE;KACrB,CAAA;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,OAA6B;IACtD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,UAAU,EAAE,CAAA;IAC5B,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IACvE,MAAM,QAAQ,GAAG,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA;IAE7E,OAAO,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC;WACvC,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC;WACnC,MAAM,CAAC,UAAU,EAAE,CAAA;AAC1B,CAAC;AAED,SAAS,oBAAoB,CAAC,QAA+B,EAAE,IAAa;IAC1E,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,QAAQ;QACR,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/C,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAY,CAAA;QAC3C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACjD,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,EAAE,oBAAoB,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3F,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,QAAiC;YAC3C,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChF,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAY,CAAA;QAC3C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACzC,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC/C,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC/C,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACnD,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;YAChD,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO;YACL,IAAI,EAAE,IAAoC;YAC1C,OAAO;YACP,OAAO,EAAE,OAAwC;YACjD,SAAS;YACT,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7E,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAkB;IAC1C,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,UAAU,CAAA;IAClD,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,uBAAuB,CAAC,GAAoB;IACnD,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAE9C,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,OAAO,MAAM,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;IAC7D,CAAC;IAED,IAAI,MAAM,EAAE,QAAQ,KAAK,oBAAoB,EAAE,CAAC;QAC9C,OAAO,oBAAoB,CAAA;IAC7B,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,uBAAuB,CAAC,WAAmB,EAAE,MAAsB;IAC1E,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,oBAAoB,CAAC,CAAA;IACjH,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAC9G,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC;AAED,SAAS,wBAAwB,CAAC,GAAoB,EAAE,MAAsB;IAC5E,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;IACzD,MAAM,YAAY,GAAG,uBAAuB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;IACjE,MAAM,cAAc,GAAG,wBAAwB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IACtE,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;IACvE,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAA;IAC9B,MAAM,QAAQ,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAA;IAE7C,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,SAAS,EAAE,gBAAgB,CAAC,UAAU,CAAC;QACvC,UAAU;QACV,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,IAAI,EAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAoC,IAAI,QAAQ;QAC/E,MAAM,EAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAsC,IAAI,SAAS;QACtF,OAAO,EAAE,cAAc,EAAE,OAAO,IAAI,GAAG,CAAC,QAAQ;QAChD,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,SAAS;QACT,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClF,CAAA;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAmC;IAChE,OAAO,GAAG,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,MAAM,OAAO,CAAC,IAAI,cAAc,OAAO,CAAC,SAAS,EAAE,CAAA;AAC7F,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,OAAmC;IAClF,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAA;IACjD,MAAM,SAAS,GAAG;QAChB,OAAO,CAAC,QAAQ;QAChB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE;QACvC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;KACvD,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAE7B,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,KAAK,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACtH,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAc;IACvD,OAAO,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAA;AAC9D,CAAC;AAED,SAAS,uCAAuC;IAC9C,OAAO,mDAAmD,CAAA;AAC5D,CAAC;AAED,SAAS,oCAAoC;IAC3C,OAAO,qEAAqE,CAAA;AAC9E,CAAC;AAED,KAAK,UAAU,oBAAoB;IACjC,MAAM,CAAC,gBAAgB,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9D,aAAa,CAAC,IAAI,GAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QACvE,aAAa,CAAC,IAAI,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QAChE,aAAa,CAAC,IAAI,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;KAC7D,CAAC,CAAA;IAEF,OAAO;QACL,eAAe,EAAE,gBAAgB,CAAC,eAAe;QACjD,oBAAoB,EAAE,gBAAgB,CAAC,oBAAoB;QAC3D,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,WAAW,CAAC,OAAO;YACjB,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE;gBACjC,MAAM,EAAE,KAAK;gBACb,uBAAuB,EAAE,IAAI;gBAC7B,MAAM,EAAE,MAAM,CAAC,WAAW;aAC3B,CAAC,CAAA;YACF,IAAI,WAAW,GAAG,KAAK,CAAA;YAEvB,KAAK,UAAU,iBAAiB;gBAC9B,IAAI,WAAW,EAAE,CAAC;oBAChB,OAAM;gBACR,CAAC;gBAED,WAAW,GAAG,IAAI,CAAA;gBAClB,MAAM,EAAE,CAAC,IAAI,CAAC;oBACZ,MAAM,CAAC,aAAa;oBACpB,MAAM,CAAC,UAAU;oBACjB,MAAM,CAAC,UAAU;oBACjB,MAAM,CAAC,sBAAsB;iBAC9B,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;YAC3B,CAAC;YAED,OAAO;gBACL,KAAK,CAAC,aAAa;oBACjB,MAAM,iBAAiB,EAAE,CAAA;oBACzB,OAAO,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,EAAuB,CAAA;gBACpF,CAAC;gBACD,KAAK,CAAC,cAAc,CAAC,GAAoB;oBACvC,MAAM,iBAAiB,EAAE,CAAA;oBACzB,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAA;gBAC7D,CAAC;gBACD,KAAK,CAAC,cAAc,CAAC,EAAU,EAAE,KAA+B;oBAC9D,MAAM,iBAAiB,EAAE,CAAA;oBACzB,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAE,MAAM,CAAC,aAAqB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;gBACnH,CAAC;gBACD,KAAK,CAAC,UAAU;oBACd,MAAM,iBAAiB,EAAE,CAAA;oBACzB,OAAO,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,EAAoB,CAAA;gBAC9E,CAAC;gBACD,KAAK,CAAC,WAAW,CAAC,GAAiB;oBACjC,MAAM,iBAAiB,EAAE,CAAA;oBACzB,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAA;gBAC1D,CAAC;gBACD,KAAK,CAAC,UAAU;oBACd,MAAM,iBAAiB,EAAE,CAAA;oBACzB,OAAO,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,EAAoC,CAAA;gBAC9F,CAAC;gBACD,KAAK,CAAC,WAAW,CAAC,GAA4B;oBAC5C,MAAM,iBAAiB,EAAE,CAAA;oBACzB,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,GAAU,CAAC,CAAC,OAAO,EAAE,CAAA;gBACjE,CAAC;gBACD,KAAK,CAAC,uBAAuB,CAAC,GAA6B;oBACzD,MAAM,iBAAiB,EAAE,CAAA;oBACzB,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAA;gBACtE,CAAC;aACF,CAAA;QACH,CAAC;QACD,KAAK,CAAC,EAAU;YACd,OAAO,KAAK,CAAC,EAAE,CAAC,CAAA;QAClB,CAAC;QACD,GAAG;YACD,OAAO,IAAI,IAAI,EAAE,CAAA;QACnB,CAAC;KACF,CAAA;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,OAAmC,EACnC,EAIgB;IAEhB,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAA;IACxC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,uCAAuC,EAAE,CAAC,CAAA;IAC5D,CAAC;IAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAC9D,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,oCAAoC,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;IACtH,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAA;IAChD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QAC7C,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;IAC9E,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC;YACd,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;YACnC,KAAK;YACL,MAAM;SACP,CAAC,CAAA;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IAC/C,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,OAI/C;IACC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,IAAI,MAAM,oBAAoB,EAAE,CAAA;IAErE,OAAO,uBAAuB,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QACvE,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;QACtC,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,CAAA;QAC/B,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC3D,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;QACvD,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACrD,MAAM,cAAc,GAAG,wBAAwB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;QAEhF,MAAM,KAAK,CAAC,cAAc,CAAC;YACzB,EAAE,EAAE,UAAU;YACd,OAAO,EAAE,UAAU;YACnB,UAAU;YACV,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC;YACxC,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC;YACvC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;YAChC,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,KAAK;YACjB,aAAa,EAAE,8BAA8B;YAC7C,SAAS,EAAE,GAAG;SACf,CAAC,CAAA;QAEF,MAAM,KAAK,CAAC,WAAW,CAAC;YACtB,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;YACvB,MAAM,EAAE,oBAAoB;YAC5B,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;YAC3B,SAAS,EAAE,WAAW;YACtB,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,UAAU;YACnB,UAAU;YACV,QAAQ,EAAE,WAAW;YACrB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;YACvC,aAAa,EAAE,8BAA8B;YAC7C,SAAS,EAAE,GAAG;SACf,CAAC,CAAA;QAEF,MAAM,KAAK,CAAC,uBAAuB,CAAC;YAClC,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;YACvB,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;YAC3B,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,GAAG;SACf,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QAEzB,OAAO,wBAAwB,CAAC;YAC9B,EAAE,EAAE,UAAU;YACd,OAAO,EAAE,UAAU;YACnB,UAAU;YACV,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC;YACxC,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC;YACvC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;YAChC,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,KAAK;YACjB,aAAa,EAAE,8BAA8B;YAC7C,SAAS,EAAE,GAAG;SACf,EAAE,CAAC;gBACF,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;gBACvB,MAAM,EAAE,oBAAoB;gBAC5B,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;gBAC3B,SAAS,EAAE,WAAW;gBACtB,UAAU,EAAE,KAAK;gBACjB,OAAO,EAAE,UAAU;gBACnB,UAAU;gBACV,QAAQ,EAAE,WAAW;gBACrB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;gBACvC,aAAa,EAAE,8BAA8B;gBAC7C,SAAS,EAAE,GAAG;aACf,CAAC,CAAC,CAAA;IACL,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,OAKhD;IACC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,IAAI,MAAM,oBAAoB,EAAE,CAAA;IAErE,OAAO,uBAAuB,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QAChE,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBAC5B,MAAM,gBAAgB,EAAE,CAAA;YAC1B,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE,CAAA;YAC7C,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;YACtE,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CAAC,kDAAkD,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA;YACzF,CAAC;YAED,MAAM,QAAQ,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAA;YAC7C,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,QAAQ,CAAA;YACjB,CAAC;YAED,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,+BAA+B,CAAC,CAAA;QAC9E,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,OAMhD;IACC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,IAAI,MAAM,oBAAoB,EAAE,CAAA;IAErE,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QACxF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QACvC,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACrD,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC9D,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAE9C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC5B,KAAK,CAAC,MAAM,KAAK,OAAO;eACrB,KAAK,CAAC,MAAM,KAAK,aAAa;eAC9B,KAAK,CAAC,MAAM,KAAK,aAAa;eAC9B,SAAS,CAAC,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,WAAW,CAAC;eAC1G,CAAC,KAAK,CAAC,SAAS,CACpB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,oBAAoB,CAAA;IAC7B,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAAC;QAC9C,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,aAAa;KACvB,CAAC,CAAA;IAEF,OAAO,0BAA0B,CAAC;QAChC,UAAU,EAAE,OAAO,CAAC,EAAE;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,aAAa;KACvB,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,UAG3C,EAAE;IACJ,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,IAAI,MAAM,oBAAoB,EAAE,CAAA;IACrE,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAA;IAEnD,OAAO,uBAAuB,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QACvE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC5C,KAAK,CAAC,aAAa,EAAE;YACrB,KAAK,CAAC,UAAU,EAAE;SACnB,CAAC,CAAA;QAEF,OAAO,SAAS;aACb,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,wBAAwB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;aACnD,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,KAAK,KAAK,CAAC;aACxE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,KAAK,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,eAAe,CAAC;aACpF,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;IACzE,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,OAKhD;IACC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,IAAI,MAAM,oBAAoB,EAAE,CAAA;IAErE,OAAO,uBAAuB,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QACvE,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE,CAAA;QAC7C,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;QACtE,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA;QACrE,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;YACvC,OAAO,wBAAwB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAC9C,CAAC;QAED,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,EAAE,CAAA;QAC/B,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;QACzD,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,oBAAoB;YAC3F,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,UAAU,CAAA;QAEd,MAAM,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE;YACjC,MAAM,EAAE,UAAU;YAClB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,OAAO;YACrB,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,oBAAoB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC;YAC5D,UAAU,EAAE,GAAG;SAChB,CAAC,CAAA;QAEF,MAAM,KAAK,CAAC,WAAW,CAAC;YACtB,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;YACvB,MAAM,EAAE,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB;YAC7E,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,OAAO;YAClB,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,QAAQ,EAAE,WAAW;YACrB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;gBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/D,CAAC;YACF,aAAa,EAAE,8BAA8B;YAC7C,SAAS,EAAE,GAAG;SACf,CAAC,CAAA;QAEF,IAAI,OAAO,CAAC,QAAQ,KAAK,oBAAoB,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;YACnC,MAAM,KAAK,CAAC,WAAW,CAAC;gBACtB,EAAE,EAAE,OAAO;gBACX,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,OAAO;gBACf,WAAW,EAAE,GAAG,CAAC,IAAI;gBACrB,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,OAAO;gBACrB,UAAU,EAAE,KAAK;gBACjB,SAAS,EAAE,GAAG;aACf,CAAC,CAAA;YAEF,MAAM,KAAK,CAAC,uBAAuB,CAAC;gBAClC,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;gBACvB,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;gBAC3C,SAAS,EAAE,GAAG;aACf,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QAC3B,CAAC;QAED,MAAM,KAAK,CAAC,uBAAuB,CAAC;YAClC,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;YACvB,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,GAAG;SACf,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QAEzB,MAAM,OAAO,GAAoB;YAC/B,GAAG,GAAG;YACN,MAAM,EAAE,UAAU;YAClB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,OAAO;YACrB,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,oBAAoB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC;YAC5D,UAAU,EAAE,GAAG;SAChB,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QACvC,OAAO,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,gBAAgB;IAChB,cAAc;IACd,wBAAwB;IACxB,SAAS;IACT,aAAa;IACb,iBAAiB;IACjB,uBAAuB;IACvB,oBAAoB;IACpB,qBAAqB;IACrB,0BAA0B;IAC1B,wBAAwB;IACxB,mBAAmB;IACnB,wBAAwB;CACzB,CAAA"}
1
+ {"version":3,"file":"pod-approval.js","sourceRoot":"","sources":["../../../src/lib/watch/pod-approval.ts"],"names":[],"mappings":"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"}