@relaycast/engine 7.0.0 → 8.0.1

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.
@@ -1,4 +1,4 @@
1
- import { A2aAgentCardSchema, A2aMessageSchema, A2aPartSchema, A2aResponseSchema, A2aTaskSchema, A2aTaskStateSchema, JsonRpcRequestSchema, JsonRpcResponseSchema, type A2aAgentCard, type A2aJsonRpcRequest, type A2aJsonRpcResponse, type A2aMessage, type A2aPart, type A2aResponse, type A2aTask, type A2aTaskState } from '@relaycast/a2a';
1
+ import { A2aAgentCardSchema, A2aMessageSchema, A2aPartSchema, A2aResponseSchema, A2aTaskSchema, A2aTaskStateSchema, JsonRpcRequestSchema, JsonRpcResponseSchema, MAX_PROOF_BUNDLE_BYTES, RATIFY_A2A_METADATA_KEY, RATIFY_A2A_WIRE_VERSION, RatifyA2aMetadataSchema, type A2aAgentCard, type A2aJsonRpcRequest, type A2aJsonRpcResponse, type A2aMessage, type A2aPart, type A2aResponse, type A2aTask, type A2aTaskState } from '@relaycast/a2a';
2
2
  import { z } from 'zod';
3
3
  import type { getDb } from '../db/index.js';
4
4
  type Db = ReturnType<typeof getDb>;
@@ -15,8 +15,9 @@ declare const RelayDMSchema: z.ZodObject<{
15
15
  content_type: z.ZodString;
16
16
  size_bytes: z.ZodNumber;
17
17
  }, z.core.$strip>>>;
18
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
18
19
  }, z.core.$strip>;
19
- export { A2aAgentCardSchema, A2aMessageSchema, A2aPartSchema, A2aResponseSchema, A2aTaskSchema, A2aTaskStateSchema, JsonRpcRequestSchema, JsonRpcResponseSchema, };
20
+ export { A2aAgentCardSchema, A2aMessageSchema, A2aPartSchema, A2aResponseSchema, A2aTaskSchema, A2aTaskStateSchema, JsonRpcRequestSchema, JsonRpcResponseSchema, RatifyA2aMetadataSchema, MAX_PROOF_BUNDLE_BYTES, RATIFY_A2A_METADATA_KEY, RATIFY_A2A_WIRE_VERSION, };
20
21
  export type { A2aAgentCard, A2aJsonRpcRequest, A2aJsonRpcResponse, A2aMessage, A2aPart, A2aResponse, A2aTask, A2aTaskState, };
21
22
  export type RelayDM = z.infer<typeof RelayDMSchema>;
22
23
  export interface RegisterA2aAgentInput {
@@ -24,6 +25,8 @@ export interface RegisterA2aAgentInput {
24
25
  agentCard?: A2aAgentCard;
25
26
  authScheme?: 'bearer' | 'api_key' | 'none';
26
27
  authCredential?: string;
28
+ /** Remote skill/agent that DMs to this proxy should address. */
29
+ targetAgent?: string;
27
30
  }
28
31
  export interface RegisterA2aAgentResult {
29
32
  relayName: string;
@@ -31,6 +34,12 @@ export interface RegisterA2aAgentResult {
31
34
  webhookUrl: string;
32
35
  certification: 'level_0' | 'level_1';
33
36
  }
37
+ export interface UpdateA2aAgentConnectionInput {
38
+ authScheme?: 'bearer' | 'api_key' | 'none';
39
+ authCredential?: string | null;
40
+ /** Remote skill/agent that DMs to this proxy should address. */
41
+ targetAgent?: string | null;
42
+ }
34
43
  export interface A2aAgentRecord {
35
44
  id: string;
36
45
  workspace_id: string;
@@ -55,6 +64,15 @@ export declare function fetchAgentCard(agentCardUrl: string): Promise<A2aAgentCa
55
64
  export declare function registerA2aAgent(db: Db, workspaceId: string, input: RegisterA2aAgentInput): Promise<RegisterA2aAgentResult>;
56
65
  export declare function listA2aAgents(db: Db, workspaceId: string): Promise<A2aAgentRecord[]>;
57
66
  export declare function getA2aAgentByRelayName(db: Db, workspaceId: string, relayName: string): Promise<A2aAgentRecord | null>;
67
+ /**
68
+ * Complete or rotate the outbound half of an A2A registration.
69
+ *
70
+ * Reciprocal registration necessarily yields the second deployment's bearer
71
+ * token after the first registration row already exists. Updating that row is
72
+ * what lets both deployments authenticate sends without deleting proxies and
73
+ * invalidating the token the other side just stored.
74
+ */
75
+ export declare function updateA2aAgentConnection(db: Db, workspaceId: string, relayName: string, input: UpdateA2aAgentConnectionInput): Promise<A2aAgentRecord | null>;
58
76
  export declare function removeA2aAgent(db: Db, workspaceId: string, relayName: string): Promise<boolean>;
59
77
  export declare function translateRelayToA2a(message: RelayDM): A2aJsonRpcRequest;
60
78
  export declare function translateA2aToRelay(jsonRpc: A2aJsonRpcRequest | A2aJsonRpcResponse): RelayDM;
@@ -1 +1 @@
1
- {"version":3,"file":"a2a.d.ts","sourceRoot":"","sources":["../../src/engine/a2a.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"a2a.d.ts","sourceRoot":"","sources":["../../src/engine/a2a.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { and, eq, sql } from 'drizzle-orm';
2
- import { A2aAgentCardSchema, A2aMessageSchema, A2aPartSchema, A2aResponseSchema, A2aTaskSchema, A2aTaskStateSchema, JsonRpcRequestSchema, JsonRpcResponseSchema, } from '@relaycast/a2a';
2
+ import { A2aAgentCardSchema, A2aMessageSchema, A2aPartSchema, A2aResponseSchema, A2aTaskSchema, A2aTaskStateSchema, JsonRpcRequestSchema, JsonRpcResponseSchema, MAX_PROOF_BUNDLE_BYTES, RATIFY_A2A_METADATA_KEY, RATIFY_A2A_WIRE_VERSION, RatifyA2aMetadataSchema, } from '@relaycast/a2a';
3
3
  import { z } from 'zod';
4
4
  import { a2aAgents, agents } from '../db/schema.js';
5
- import { registerAgent, getAgentByName, updateAgent } from './agent.js';
5
+ import { registerAgent, getAgentByName, updateAgent, updateAgentById } from './agent.js';
6
6
  import { rotateAgentToken } from './tokenRotate.js';
7
7
  import { createAndRunCertification } from './certify.js';
8
8
  import { isSafeExternalUrl } from '../lib/ssrf.js';
@@ -24,8 +24,9 @@ const RelayDMSchema = z.object({
24
24
  created_at: z.string().optional(),
25
25
  thread_id: z.string().nullable().optional(),
26
26
  attachments: z.array(RelayFileAttachmentSchema).optional(),
27
+ metadata: z.record(z.string(), z.unknown()).optional(),
27
28
  });
28
- export { A2aAgentCardSchema, A2aMessageSchema, A2aPartSchema, A2aResponseSchema, A2aTaskSchema, A2aTaskStateSchema, JsonRpcRequestSchema, JsonRpcResponseSchema, };
29
+ export { A2aAgentCardSchema, A2aMessageSchema, A2aPartSchema, A2aResponseSchema, A2aTaskSchema, A2aTaskStateSchema, JsonRpcRequestSchema, JsonRpcResponseSchema, RatifyA2aMetadataSchema, MAX_PROOF_BUNDLE_BYTES, RATIFY_A2A_METADATA_KEY, RATIFY_A2A_WIRE_VERSION, };
29
30
  function ensureString(value, message) {
30
31
  if (!value) {
31
32
  throw codedError(message, 'invalid_request', 400);
@@ -149,6 +150,12 @@ export async function registerA2aAgent(db, workspaceId, input) {
149
150
  const agentCard = A2aAgentCardSchema.parse(resolvedCard);
150
151
  const externalUrl = normalizeBaseUrl(agentCard.url);
151
152
  const relayName = await deriveRelayName(agentCard);
153
+ const remoteSkillNames = new Set(agentCard.skills.flatMap((skill) => [skill.id, skill.name].filter(Boolean)));
154
+ if (input.targetAgent && !remoteSkillNames.has(input.targetAgent)) {
155
+ throw codedError(`A2A target agent "${input.targetAgent}" is not advertised by the agent card`, 'a2a_target_agent_not_advertised', 400);
156
+ }
157
+ const targetAgent = input.targetAgent
158
+ ?? (agentCard.skills.length === 1 ? (agentCard.skills[0].id ?? agentCard.skills[0].name) : undefined);
152
159
  const [existing] = await db
153
160
  .select({ id: a2aAgents.id })
154
161
  .from(a2aAgents)
@@ -162,6 +169,7 @@ export async function registerA2aAgent(db, workspaceId, input) {
162
169
  a2a_external_url: externalUrl,
163
170
  a2a_skills: agentCard.skills,
164
171
  a2a_active: true,
172
+ ...(targetAgent ? { a2a_target_agent: targetAgent } : {}),
165
173
  };
166
174
  // A prior removeA2aAgent soft-removes the A2A agent: it deletes the a2a_agents
167
175
  // row but keeps the relay proxy agent (marked offline, a2a_active:false) to
@@ -284,23 +292,58 @@ export async function getA2aAgentByRelayName(db, workspaceId, relayName) {
284
292
  .where(and(eq(a2aAgents.workspaceId, workspaceId), eq(agents.name, relayName)));
285
293
  return row ? formatA2aRecord(row) : null;
286
294
  }
295
+ /**
296
+ * Complete or rotate the outbound half of an A2A registration.
297
+ *
298
+ * Reciprocal registration necessarily yields the second deployment's bearer
299
+ * token after the first registration row already exists. Updating that row is
300
+ * what lets both deployments authenticate sends without deleting proxies and
301
+ * invalidating the token the other side just stored.
302
+ */
303
+ export async function updateA2aAgentConnection(db, workspaceId, relayName, input) {
304
+ const agentRecord = await getA2aAgentByRelayName(db, workspaceId, relayName);
305
+ if (!agentRecord)
306
+ return null;
307
+ if (input.targetAgent !== undefined && input.targetAgent !== null) {
308
+ const advertisedNames = new Set(agentRecord.agent_card.skills.flatMap((skill) => [skill.id, skill.name].filter(Boolean)));
309
+ if (!advertisedNames.has(input.targetAgent)) {
310
+ throw codedError(`A2A target agent "${input.targetAgent}" is not advertised by the agent card`, 'a2a_target_agent_not_advertised', 400);
311
+ }
312
+ }
313
+ await db
314
+ .update(a2aAgents)
315
+ .set({
316
+ ...(input.authScheme !== undefined ? { authScheme: input.authScheme } : {}),
317
+ ...(input.authCredential !== undefined ? { authCredential: input.authCredential } : {}),
318
+ updatedAt: new Date(),
319
+ })
320
+ .where(eq(a2aAgents.id, agentRecord.id));
321
+ if (input.targetAgent !== undefined) {
322
+ const metadata = { ...(agentRecord.relay_metadata ?? {}) };
323
+ if (input.targetAgent === null) {
324
+ delete metadata.a2a_target_agent;
325
+ }
326
+ else {
327
+ metadata.a2a_target_agent = input.targetAgent;
328
+ }
329
+ await updateAgent(db, workspaceId, relayName, { metadata });
330
+ }
331
+ return getA2aAgentByRelayName(db, workspaceId, relayName);
332
+ }
287
333
  export async function removeA2aAgent(db, workspaceId, relayName) {
288
334
  const agentRecord = await getA2aAgentByRelayName(db, workspaceId, relayName);
289
335
  if (!agentRecord)
290
336
  return false;
291
337
  await db.delete(a2aAgents).where(eq(a2aAgents.id, agentRecord.id));
292
- await db
293
- .update(agents)
294
- .set({
338
+ const updated = await updateAgentById(db, workspaceId, agentRecord.relay_agent_id, {
295
339
  status: 'offline',
296
340
  metadata: {
297
341
  ...(agentRecord.relay_metadata ?? {}),
298
342
  a2a: true,
299
343
  a2a_active: false,
300
344
  },
301
- })
302
- .where(eq(agents.id, agentRecord.relay_agent_id));
303
- return true;
345
+ });
346
+ return updated !== null;
304
347
  }
305
348
  export function translateRelayToA2a(message) {
306
349
  const relay = RelayDMSchema.parse(message);
@@ -326,6 +369,7 @@ export function translateRelayToA2a(message) {
326
369
  role: 'user',
327
370
  context_id: relay.thread_id ?? undefined,
328
371
  parts,
372
+ metadata: relay.metadata,
329
373
  },
330
374
  },
331
375
  };
@@ -341,6 +385,7 @@ export function translateA2aToRelay(jsonRpc) {
341
385
  text: extractTextFromParts(message.parts),
342
386
  thread_id: message.context_id ?? null,
343
387
  attachments: extractAttachmentsFromParts(message.parts),
388
+ metadata: message.metadata,
344
389
  };
345
390
  }
346
391
  const parsedResponse = JsonRpcResponseSchema.parse(jsonRpc);
@@ -354,10 +399,15 @@ export function translateA2aToRelay(jsonRpc) {
354
399
  text: parts.length > 0 ? extractTextFromParts(parts) : task?.status.message ?? '',
355
400
  thread_id: responseMessage?.context_id ?? task?.context_id ?? null,
356
401
  attachments: extractAttachmentsFromParts(parts),
402
+ metadata: responseMessage?.metadata,
357
403
  };
358
404
  }
359
405
  export async function sendToExternalAgent(agentUrl, jsonRpcPayload, auth) {
360
- const request = JsonRpcRequestSchema.parse(jsonRpcPayload);
406
+ const parsedRequest = JsonRpcRequestSchema.safeParse(jsonRpcPayload);
407
+ if (!parsedRequest.success) {
408
+ throw codedError('Invalid A2A JSON-RPC request or metadata', 'invalid_a2a_request', 400);
409
+ }
410
+ const request = parsedRequest.data;
361
411
  const targetUrl = normalizeBaseUrl(agentUrl);
362
412
  if (!isSafeExternalUrl(targetUrl)) {
363
413
  throw codedError(`Refusing to send to non-public A2A URL: ${targetUrl}`, 'a2a_agent_url_forbidden', 400);
@@ -515,6 +565,13 @@ export async function getWorkspaceAgentCard(db, workspaceId, workspaceName, base
515
565
  },
516
566
  capabilities: {
517
567
  methods: ['message/send', 'message/stream', 'task/get', 'task/cancel'],
568
+ extensions: {
569
+ [RATIFY_A2A_METADATA_KEY]: {
570
+ versions: [RATIFY_A2A_WIRE_VERSION],
571
+ kinds: ['proof_bundle', 'revocation_list'],
572
+ max_proof_bundle_bytes: MAX_PROOF_BUNDLE_BYTES,
573
+ },
574
+ },
518
575
  },
519
576
  default_input_modes: ['text/plain', 'application/json'],
520
577
  default_output_modes: ['text/plain', 'application/json'],
@@ -1 +1 @@
1
- {"version":3,"file":"a2a.js","sourceRoot":"","sources":["../../src/engine/a2a.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"a2a.js","sourceRoot":"","sources":["../../src/engine/a2a.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  import type { getDb } from '../db/index.js';
2
2
  import { agents } from '../db/schema.js';
3
3
  type Db = ReturnType<typeof getDb>;
4
+ /** Metadata verifier used by brokers to reclaim their own registration. */
5
+ export declare const AGENT_IDENTITY_METADATA_KEY = "identity_key";
6
+ export declare const AGENT_IDENTITY_HASH_PATTERN: RegExp;
4
7
  /** How long an authenticated agent can be silent before it is no longer present. */
5
8
  export declare const AGENT_LIVENESS_TTL_MS: number;
6
9
  /**
@@ -140,7 +143,6 @@ export declare function updateAgent(db: Db, workspaceId: string, name: string, u
140
143
  capabilities?: Record<string, unknown> | null;
141
144
  }): Promise<{
142
145
  id: string;
143
- workspace_id: string;
144
146
  name: string;
145
147
  handle: string;
146
148
  type: string;
@@ -150,31 +152,39 @@ export declare function updateAgent(db: Db, workspaceId: string, name: string, u
150
152
  created_at: string;
151
153
  last_seen: string;
152
154
  metadata: Record<string, unknown> | null;
153
- channels: {
154
- id: string;
155
- name: string;
156
- role: string;
157
- joined_at: string;
158
- }[];
159
- actions_provided: {
160
- id: string;
161
- name: string;
162
- description: string;
163
- }[];
164
- actions_available_to: {
165
- id: string;
166
- name: string;
167
- description: string;
168
- }[];
169
- pending_deliveries: {
170
- id: string;
171
- message_id: string;
172
- mode: string;
173
- reason: string | null;
174
- status: string;
175
- created_at: string;
176
- }[];
177
- } | {
155
+ } | null>;
156
+ /**
157
+ * Update one exact agent row while preserving its identity verifier at write
158
+ * time. Callers that already resolved an agent must use the id form so a
159
+ * delete-and-recreate under the same name cannot redirect their mutation.
160
+ */
161
+ export declare function updateAgentById(db: Db, workspaceId: string, agentId: string, updates: {
162
+ status?: string;
163
+ persona?: string | null;
164
+ metadata?: Record<string, unknown>;
165
+ capabilities?: Record<string, unknown> | null;
166
+ }): Promise<{
167
+ id: string;
168
+ name: string;
169
+ handle: string;
170
+ type: string;
171
+ status: string;
172
+ persona: string | null;
173
+ capabilities: Record<string, unknown> | null;
174
+ created_at: string;
175
+ last_seen: string;
176
+ metadata: Record<string, unknown> | null;
177
+ } | null>;
178
+ /**
179
+ * Atomically stamp the one-time identity verifier for a pre-gate agent.
180
+ *
181
+ * `json_type(..., '$.identity_key') IS NULL` matches an absent key only;
182
+ * explicit JSON null returns the string `null` and therefore fails closed.
183
+ * Keeping the metadata mutation and both preconditions in one UPDATE prevents
184
+ * two operators from both observing an eligible row and overwriting each
185
+ * other's claim.
186
+ */
187
+ export declare function claimLegacyAgentIdentity(db: Db, workspaceId: string, name: string, identityKeyHash: string): Promise<{
178
188
  id: string;
179
189
  name: string;
180
190
  handle: string;
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/engine/agent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAA2E,MAAM,iBAAiB,CAAC;AAOlH,KAAK,EAAE,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AAEnC,oFAAoF;AACpF,eAAO,MAAM,qBAAqB,QAAgB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,sBAAsB,QAAsB,CAAC;AAE1D,KAAK,gBAAgB,GAAG,IAAI,CAAC,OAAO,MAAM,CAAC,YAAY,EAAE,QAAQ,GAAG,UAAU,CAAC,CAAC;AAEhF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,aAAa,CAAC;AAEhD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAEjD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAQ7D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,SAAa,GAAG,MAAM,CAYtF;AAkBD,wBAAsB,aAAa,CACjC,EAAE,EAAE,EAAE,EACN,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;IACJ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;;;;;;;;;GAyGF;AAED,wBAAsB,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;KAwB5E;AAED,wBAAsB,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA4F7E;AAED,wBAAsB,WAAW,CAC/B,EAAE,EAAE,EAAE,EACN,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IACP,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAqCF;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,oBAW1E;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK1E;AAED,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA2BpF"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/engine/agent.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,21 @@
1
- import { eq, and, gt, lt, ne, inArray } from 'drizzle-orm';
1
+ import { eq, and, gt, lt, ne, inArray, sql } from 'drizzle-orm';
2
2
  import { agents, agentNodeBindings, channels, channelMembers, actions, deliveries, nodes } from '../db/schema.js';
3
3
  import { randomHex, sha256Hex } from '../lib/crypto.js';
4
4
  import { generateId } from './snowflake.js';
5
5
  import { codedError } from '../lib/httpError.js';
6
6
  import { directNodeIdForAgent } from './node.js';
7
7
  import { runAtomicWrites } from '../ports/database.js';
8
+ /** Metadata verifier used by brokers to reclaim their own registration. */
9
+ export const AGENT_IDENTITY_METADATA_KEY = 'identity_key';
10
+ export const AGENT_IDENTITY_HASH_PATTERN = /^[a-f0-9]{64}$/;
11
+ const AGENT_IDENTITY_METADATA_JSON_PATH = `$.${AGENT_IDENTITY_METADATA_KEY}`;
12
+ function hasValidRegistrationIdentity(metadata) {
13
+ if (!metadata || !Object.prototype.hasOwnProperty.call(metadata, AGENT_IDENTITY_METADATA_KEY)) {
14
+ return true;
15
+ }
16
+ const verifier = metadata[AGENT_IDENTITY_METADATA_KEY];
17
+ return typeof verifier === 'string' && AGENT_IDENTITY_HASH_PATTERN.test(verifier);
18
+ }
8
19
  /** How long an authenticated agent can be silent before it is no longer present. */
9
20
  export const AGENT_LIVENESS_TTL_MS = 5 * 60 * 1000;
10
21
  /**
@@ -108,6 +119,9 @@ function isUniqueConstraintError(err) {
108
119
  }
109
120
  export async function registerAgent(db, workspaceId, data) {
110
121
  assertRegistrableAgentName(data.name);
122
+ if (!hasValidRegistrationIdentity(data.metadata)) {
123
+ throw codedError('Agent registration identity_key must be a lowercase SHA-256 verifier', 'invalid_agent_identity_key', 400);
124
+ }
111
125
  const agentId = generateId();
112
126
  const token = `at_live_${randomHex(16)}`;
113
127
  const tokenHash = await sha256Hex(token);
@@ -319,29 +333,58 @@ export async function getAgentByName(db, workspaceId, name) {
319
333
  };
320
334
  }
321
335
  export async function updateAgent(db, workspaceId, name, updates) {
336
+ if (updates.status === undefined
337
+ && updates.persona === undefined
338
+ && updates.metadata === undefined
339
+ && updates.capabilities === undefined) {
340
+ return getAgentByName(db, workspaceId, name);
341
+ }
342
+ const [agent] = await db
343
+ .select({ id: agents.id })
344
+ .from(agents)
345
+ .where(and(eq(agents.workspaceId, workspaceId), eq(agents.name, name)));
346
+ if (!agent)
347
+ return null;
348
+ return updateAgentById(db, workspaceId, agent.id, updates);
349
+ }
350
+ /**
351
+ * Update one exact agent row while preserving its identity verifier at write
352
+ * time. Callers that already resolved an agent must use the id form so a
353
+ * delete-and-recreate under the same name cannot redirect their mutation.
354
+ */
355
+ export async function updateAgentById(db, workspaceId, agentId, updates) {
322
356
  const setClause = {};
323
357
  if (updates.status !== undefined)
324
358
  setClause.status = updates.status;
325
359
  if (updates.persona !== undefined)
326
360
  setClause.persona = updates.persona;
327
- if (updates.metadata !== undefined)
328
- setClause.metadata = updates.metadata;
361
+ if (updates.metadata !== undefined) {
362
+ const nextMetadata = JSON.stringify(updates.metadata);
363
+ // `identity_key` is platform-managed. Preserve whatever value exists at
364
+ // write time, even when this update was built from a stale pre-claim read;
365
+ // otherwise an overlapping generic metadata PATCH could erase a winning
366
+ // legacy claim immediately after its atomic UPDATE.
367
+ setClause.metadata = sql `CASE
368
+ WHEN json_type(COALESCE(${agents.metadata}, '{}'), ${AGENT_IDENTITY_METADATA_JSON_PATH}) IS NULL
369
+ THEN json(${nextMetadata})
370
+ ELSE json_set(
371
+ json(${nextMetadata}),
372
+ ${AGENT_IDENTITY_METADATA_JSON_PATH},
373
+ json_extract(COALESCE(${agents.metadata}, '{}'), ${AGENT_IDENTITY_METADATA_JSON_PATH})
374
+ )
375
+ END`;
376
+ }
329
377
  if (updates.capabilities !== undefined)
330
378
  setClause.capabilities = updates.capabilities;
331
- if (Object.keys(setClause).length === 0) {
332
- return getAgentByName(db, workspaceId, name);
333
- }
334
- const [agent] = await db
335
- .select()
336
- .from(agents)
337
- .where(and(eq(agents.workspaceId, workspaceId), eq(agents.name, name)));
338
- if (!agent)
379
+ if (Object.keys(setClause).length === 0)
339
380
  return null;
340
381
  const [updated] = await db
341
382
  .update(agents)
342
383
  .set(setClause)
343
- .where(eq(agents.id, agent.id))
384
+ .where(and(eq(agents.workspaceId, workspaceId), eq(agents.id, agentId)))
344
385
  .returning();
386
+ if (!updated)
387
+ return null;
345
388
  return {
346
389
  id: updated.id,
347
390
  name: updated.name,
@@ -355,6 +398,42 @@ export async function updateAgent(db, workspaceId, name, updates) {
355
398
  metadata: updated.metadata,
356
399
  };
357
400
  }
401
+ /**
402
+ * Atomically stamp the one-time identity verifier for a pre-gate agent.
403
+ *
404
+ * `json_type(..., '$.identity_key') IS NULL` matches an absent key only;
405
+ * explicit JSON null returns the string `null` and therefore fails closed.
406
+ * Keeping the metadata mutation and both preconditions in one UPDATE prevents
407
+ * two operators from both observing an eligible row and overwriting each
408
+ * other's claim.
409
+ */
410
+ export async function claimLegacyAgentIdentity(db, workspaceId, name, identityKeyHash) {
411
+ // Bring a genuinely stale lease to `offline` before the atomic claim. A
412
+ // concurrent heartbeat that wins after this sweep changes status first and
413
+ // makes the UPDATE predicate fail.
414
+ await sweepStaleAgents(db, workspaceId);
415
+ const [updated] = await db
416
+ .update(agents)
417
+ .set({
418
+ metadata: sql `json_set(COALESCE(${agents.metadata}, '{}'), ${AGENT_IDENTITY_METADATA_JSON_PATH}, ${identityKeyHash})`,
419
+ })
420
+ .where(and(eq(agents.workspaceId, workspaceId), eq(agents.name, name), eq(agents.status, 'offline'), sql `json_type(COALESCE(${agents.metadata}, '{}'), ${AGENT_IDENTITY_METADATA_JSON_PATH}) IS NULL`))
421
+ .returning();
422
+ if (!updated)
423
+ return null;
424
+ return {
425
+ id: updated.id,
426
+ name: updated.name,
427
+ handle: `@${updated.name}`,
428
+ type: updated.type,
429
+ status: updated.status,
430
+ persona: updated.persona,
431
+ capabilities: updated.capabilities ?? null,
432
+ created_at: updated.createdAt.toISOString(),
433
+ last_seen: updated.lastSeen.toISOString(),
434
+ metadata: updated.metadata,
435
+ };
436
+ }
358
437
  export async function deleteAgent(db, workspaceId, name) {
359
438
  const [agent] = await db
360
439
  .select()
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/engine/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/engine/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEhE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAClH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,eAAe,EAAoB,MAAM,sBAAsB,CAAC;AAIzE,2EAA2E;AAC3E,MAAM,CAAC,MAAM,2BAA2B,GAAG,cAAc,CAAC;AAC1D,MAAM,CAAC,MAAM,2BAA2B,GAAG,gBAAgB,CAAC;AAC5D,MAAM,iCAAiC,GAAG,KAAK,2BAA2B,EAAE,CAAC;AAE7E,SAAS,4BAA4B,CACnC,QAA6C;IAE7C,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,2BAA2B,CAAC,EAAE,CAAC;QAC9F,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,2BAA2B,CAAC,CAAC;IACvD,OAAO,OAAO,QAAQ,KAAK,QAAQ,IAAI,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACpF,CAAC;AAED,oFAAoF;AACpF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAI1D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC;AAEhD;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC;AAEjD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,OAAe;IAC7D,OAAO,GAAG,IAAI,GAAG,oBAAoB,GAAG,OAAO,EAAE,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,IAAY;IACrD,IAAI,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACxC,MAAM,UAAU,CACd,eAAe,IAAI,mBAAmB,oBAAoB,0BAA0B,EACpF,oBAAoB,EACpB,GAAG,CACJ,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAuB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAC5E,qEAAqE;IACrE,0EAA0E;IAC1E,0DAA0D;IAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;IAC3D,IACE,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC;WACrD,GAAG,GAAG,UAAU,GAAG,qBAAqB,EAC3C,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;AAC7D,CAAC;AAED,uFAAuF;AACvF,SAAS,uBAAuB,CAAC,GAAY;IAC3C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,CAAC,GAAG,GAA2D,CAAC;IACtE,+BAA+B;IAC/B,IAAI,CAAC,CAAC,IAAI,KAAK,0BAA0B,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAmB;QAAE,OAAO,IAAI,CAAC;IACzF,kFAAkF;IAClF,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,GAAG,CAAC,QAAQ,CAAC,0BAA0B,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAAE,OAAO,IAAI,CAAC;IACxG,CAAC;IACD,gDAAgD;IAChD,IAAI,CAAC,CAAC,KAAK,IAAI,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAAM,EACN,WAAmB,EACnB,IAMC;IAED,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjD,MAAM,UAAU,CACd,sEAAsE,EACtE,4BAA4B,EAC5B,GAAG,CACJ,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,WAAW,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,mBAAmB,GAAG,MAAM,SAAS,CAAC,mBAAmB,WAAW,IAAI,OAAO,IAAI,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1G,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,MAAM,CAAC,cAAc,CAAC,GAAG,MAAM,EAAE;SAC9B,MAAM,EAAE;SACR,IAAI,CAAC,QAAQ,CAAC;SACd,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAEnF,2EAA2E;IAC3E,6EAA6E;IAC7E,6CAA6C;IAC7C,IAAI,KAAK,CAAC;IACV,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE;YACpD,MAAM,MAAM,GAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;oBAC1D,EAAE,EAAE,YAAY;oBAChB,WAAW;oBACX,IAAI,EAAE,UAAU,OAAO,EAAE;oBACzB,SAAS,EAAE,mBAAmB;oBAC9B,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,QAAQ;oBACd,eAAe,EAAE,YAAY;oBAC7B,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE;oBAC5E,YAAY,EAAE,EAAE;oBAChB,SAAS,EAAE,CAAC;oBACZ,YAAY,EAAE,CAAC;oBACf,IAAI,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;oBAC5B,OAAO,EAAE,UAAU;oBACnB,MAAM,EAAE,SAAS;oBACjB,YAAY,EAAE,KAAK;oBACnB,IAAI,EAAE,CAAC;oBACP,eAAe,EAAE,IAAI;oBACrB,SAAS,EAAE,GAAG;iBACf,CAAC,EAAE,OAAO;qBACR,MAAM,CAAC,MAAM,CAAC;qBACd,MAAM,CAAC;oBACN,EAAE,EAAE,OAAO;oBACX,WAAW;oBACX,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE;oBACvB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,OAAO;oBAC1B,uEAAuE;oBACvE,uEAAuE;oBACvE,MAAM,EAAE,QAAQ;oBAChB,SAAS;oBACT,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;oBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;oBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;oBACvC,YAAY,EAAE,UAAU;oBACxB,cAAc,EAAE,YAAY;iBAC7B,CAAC;qBACD,SAAS,EAAE,CAAC,CAAC;YAEhB,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;oBAChD,SAAS,EAAE,cAAc,CAAC,EAAE;oBAC5B,OAAO;oBACP,IAAI,EAAE,QAAQ;iBACf,CAAC,CAAC,CAAC;YACN,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC;gBACnD,EAAE,EAAE,OAAO,UAAU,EAAE,EAAE;gBACzB,WAAW;gBACX,OAAO;gBACP,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,QAAQ;gBAChB,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,GAAG;aACf,CAAC,CAAC,CAAC;YACJ,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAmC,CAAC;IACzD,CAAC;IAAC,OAAO,SAAkB,EAAE,CAAC;QAC5B,6EAA6E;QAC7E,iFAAiF;QACjF,+EAA+E;QAC/E,IAAI,uBAAuB,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,MAAM,UAAU,CAAC,UAAU,IAAI,CAAC,IAAI,oCAAoC,EAAE,sBAAsB,EAAE,GAAG,CAAC,CAAC;QACzG,CAAC;QACD,MAAM,SAAS,CAAC;IAClB,CAAC;IAED,OAAO;QACL,EAAE,EAAE,OAAO;QACX,wEAAwE;QACxE,yEAAyE;QACzE,iEAAiE;QACjE,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE;QACxC,KAAK;QACL,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI;QACxC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE;KAC1C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,EAAM,EAAE,WAAmB,EAAE,MAAe;IAC3E,uEAAuE;IACvE,0EAA0E;IAC1E,MAAM,gBAAgB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,MAAM,EAAE;SAClB,MAAM,EAAE;SACR,IAAI,CAAC,MAAM,CAAC;QACb,2EAA2E;QAC3E,wEAAwE;SACvE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC7F,MAAM,eAAe,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IAEhE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtB,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE;QACpB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC;QAC/B,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,IAAI;QACpC,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;QACrC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE;QACnC,QAAQ,EAAE,CAAC,CAAC,QAAQ;KACrB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,eAAe,IAAI,eAAe,KAAK,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,eAAe,CAAC,CAAC;AAC3G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EAAM,EAAE,WAAmB,EAAE,IAAY;IAC5E,uEAAuE;IACvE,uDAAuD;IACvD,MAAM,gBAAgB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IACxC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE;SACrB,MAAM,EAAE;SACR,IAAI,CAAC,MAAM,CAAC;SACZ,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAE1E,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,4DAA4D;IAC5D,MAAM,CAAC,WAAW,EAAE,UAAU,EAAE,mBAAmB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvE,EAAE;aACC,MAAM,CAAC;YACN,SAAS,EAAE,cAAc,CAAC,SAAS;YACnC,WAAW,EAAE,QAAQ,CAAC,IAAI;YAC1B,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,QAAQ,EAAE,cAAc,CAAC,QAAQ;SAClC,CAAC;aACD,IAAI,CAAC,cAAc,CAAC;aACpB,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;aAC9D,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9C,EAAE;aACC,MAAM,CAAC;YACN,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC;aACD,IAAI,CAAC,OAAO,CAAC;aACb,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;aAC5E,KAAK,CAAC,GAAG,CAAC;QACb,EAAE;aACC,MAAM,CAAC;YACN,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,SAAS,EAAE,UAAU,CAAC,SAAS;SAChC,CAAC;aACD,IAAI,CAAC,UAAU,CAAC;YACjB,yEAAyE;YACzE,sCAAsC;aACrC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;aACjG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;aAC7B,KAAK,CAAC,EAAE,CAAC;KACb,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,UAAU;SAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,KAAK,CAAC,EAAE,CAAC;SAC5C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAExE,MAAM,kBAAkB,GAAG,UAAU;SAClC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACZ,CAAC,CAAC,cAAc,KAAK,KAAK,CAAC,EAAE;QAC7B,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CACrF;SACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAExE,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE;QACxC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC;QACnC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI;QACxC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE;QACzC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE;QACvC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChC,EAAE,EAAE,CAAC,CAAC,SAAS;YACf,IAAI,EAAE,CAAC,CAAC,WAAW;YACnB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;QACH,gBAAgB,EAAE,eAAe;QACjC,oBAAoB,EAAE,kBAAkB;QACxC,kBAAkB,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAClD,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,UAAU,EAAE,CAAC,CAAC,SAAS;YACvB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;SACtC,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,EAAM,EACN,WAAmB,EACnB,IAAY,EACZ,OAKC;IAED,IACE,OAAO,CAAC,MAAM,KAAK,SAAS;WACzB,OAAO,CAAC,OAAO,KAAK,SAAS;WAC7B,OAAO,CAAC,QAAQ,KAAK,SAAS;WAC9B,OAAO,CAAC,YAAY,KAAK,SAAS,EACrC,CAAC;QACD,OAAO,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE;SACrB,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;SACzB,IAAI,CAAC,MAAM,CAAC;SACZ,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAE1E,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO,eAAe,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,EAAM,EACN,WAAmB,EACnB,OAAe,EACf,OAKC;IAED,MAAM,SAAS,GAA4B,EAAE,CAAC;IAC9C,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACpE,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;QAAE,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACvE,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtD,wEAAwE;QACxE,2EAA2E;QAC3E,wEAAwE;QACxE,oDAAoD;QACpD,SAAS,CAAC,QAAQ,GAAG,GAAG,CAAA;gCACI,MAAM,CAAC,QAAQ,YAAY,iCAAiC;oBACxE,YAAY;;eAEjB,YAAY;UACjB,iCAAiC;gCACX,MAAM,CAAC,QAAQ,YAAY,iCAAiC;;QAEpF,CAAC;IACP,CAAC;IACD,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;QAAE,SAAS,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAEtF,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAErD,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,EAAE;SACvB,MAAM,CAAC,MAAM,CAAC;SACd,GAAG,CAAC,SAAS,CAAC;SACd,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;SACvE,SAAS,EAAE,CAAC;IAEf,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,IAAI,OAAO,CAAC,IAAI,EAAE;QAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,oBAAoB,CAAC,OAAO,CAAC;QACrC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI;QAC1C,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE;QAC3C,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE;QACzC,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,EAAM,EACN,WAAmB,EACnB,IAAY,EACZ,eAAuB;IAEvB,wEAAwE;IACxE,2EAA2E;IAC3E,mCAAmC;IACnC,MAAM,gBAAgB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAExC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,EAAE;SACvB,MAAM,CAAC,MAAM,CAAC;SACd,GAAG,CAAC;QACH,QAAQ,EAAE,GAAG,CAAA,qBAAqB,MAAM,CAAC,QAAQ,YAAY,iCAAiC,KAAK,eAAe,GAAG;KACtH,CAAC;SACD,KAAK,CAAC,GAAG,CACR,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,EACnC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EACrB,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EAC5B,GAAG,CAAA,sBAAsB,MAAM,CAAC,QAAQ,YAAY,iCAAiC,WAAW,CACjG,CAAC;SACD,SAAS,EAAE,CAAC;IAEf,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,IAAI,OAAO,CAAC,IAAI,EAAE;QAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI;QAC1C,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE;QAC3C,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE;QACzC,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAM,EAAE,WAAmB,EAAE,IAAY;IACzE,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE;SACrB,MAAM,EAAE;SACR,IAAI,CAAC,MAAM,CAAC;SACZ,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAE1E,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAEzB,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAM,EAAE,OAAe;IACzD,MAAM,EAAE;SACL,MAAM,CAAC,MAAM,CAAC;SACd,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;SAC/C,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAM,EAAE,WAAoB;IACjE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,qBAAqB,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,GAAG,CAChB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAC5C,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,EACxB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAC9D,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,EAAE;SACxB,MAAM,CAAC,MAAM,CAAC;SACd,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;SACtB,KAAK,CAAC,MAAM,CAAC;SACb,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,GAAG,CACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAC5C,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,EAC3B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAC9D,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,MAAM,CAAC,MAAM,CAAC;SACd,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC3B,8EAA8E;SAC7E,KAAK,CAAC,KAAK,CAAC;SACZ,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IAEhC,OAAO,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAC3C,CAAC"}