@arvo-tools/agentic 1.1.1 → 1.2.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.
@@ -452,5 +452,161 @@ export declare const AgentStreamEventSchema: z.ZodDiscriminatedUnion<"type", [z.
452
452
  content: string;
453
453
  delta: string;
454
454
  };
455
+ }>, z.ZodObject<{
456
+ type: z.ZodLiteral<"agent.tool.permission.blocked">;
457
+ data: z.ZodObject<{
458
+ tools: z.ZodArray<z.ZodObject<{
459
+ name: z.ZodString;
460
+ kind: z.ZodString;
461
+ originalName: z.ZodString;
462
+ }, "strip", z.ZodTypeAny, {
463
+ kind: string;
464
+ name: string;
465
+ originalName: string;
466
+ }, {
467
+ kind: string;
468
+ name: string;
469
+ originalName: string;
470
+ }>, "many">;
471
+ usage: z.ZodObject<{
472
+ prompt: z.ZodNumber;
473
+ completion: z.ZodNumber;
474
+ }, "strip", z.ZodTypeAny, {
475
+ prompt: number;
476
+ completion: number;
477
+ }, {
478
+ prompt: number;
479
+ completion: number;
480
+ }>;
481
+ executionunits: z.ZodNumber;
482
+ }, "strip", z.ZodTypeAny, {
483
+ tools: {
484
+ kind: string;
485
+ name: string;
486
+ originalName: string;
487
+ }[];
488
+ usage: {
489
+ prompt: number;
490
+ completion: number;
491
+ };
492
+ executionunits: number;
493
+ }, {
494
+ tools: {
495
+ kind: string;
496
+ name: string;
497
+ originalName: string;
498
+ }[];
499
+ usage: {
500
+ prompt: number;
501
+ completion: number;
502
+ };
503
+ executionunits: number;
504
+ }>;
505
+ }, "strip", z.ZodTypeAny, {
506
+ type: "agent.tool.permission.blocked";
507
+ data: {
508
+ tools: {
509
+ kind: string;
510
+ name: string;
511
+ originalName: string;
512
+ }[];
513
+ usage: {
514
+ prompt: number;
515
+ completion: number;
516
+ };
517
+ executionunits: number;
518
+ };
519
+ }, {
520
+ type: "agent.tool.permission.blocked";
521
+ data: {
522
+ tools: {
523
+ kind: string;
524
+ name: string;
525
+ originalName: string;
526
+ }[];
527
+ usage: {
528
+ prompt: number;
529
+ completion: number;
530
+ };
531
+ executionunits: number;
532
+ };
533
+ }>, z.ZodObject<{
534
+ type: z.ZodLiteral<"agent.tool.permission.requested">;
535
+ data: z.ZodObject<{
536
+ tools: z.ZodArray<z.ZodObject<{
537
+ name: z.ZodString;
538
+ kind: z.ZodString;
539
+ originalName: z.ZodString;
540
+ }, "strip", z.ZodTypeAny, {
541
+ kind: string;
542
+ name: string;
543
+ originalName: string;
544
+ }, {
545
+ kind: string;
546
+ name: string;
547
+ originalName: string;
548
+ }>, "many">;
549
+ usage: z.ZodObject<{
550
+ prompt: z.ZodNumber;
551
+ completion: z.ZodNumber;
552
+ }, "strip", z.ZodTypeAny, {
553
+ prompt: number;
554
+ completion: number;
555
+ }, {
556
+ prompt: number;
557
+ completion: number;
558
+ }>;
559
+ executionunits: z.ZodNumber;
560
+ }, "strip", z.ZodTypeAny, {
561
+ tools: {
562
+ kind: string;
563
+ name: string;
564
+ originalName: string;
565
+ }[];
566
+ usage: {
567
+ prompt: number;
568
+ completion: number;
569
+ };
570
+ executionunits: number;
571
+ }, {
572
+ tools: {
573
+ kind: string;
574
+ name: string;
575
+ originalName: string;
576
+ }[];
577
+ usage: {
578
+ prompt: number;
579
+ completion: number;
580
+ };
581
+ executionunits: number;
582
+ }>;
583
+ }, "strip", z.ZodTypeAny, {
584
+ type: "agent.tool.permission.requested";
585
+ data: {
586
+ tools: {
587
+ kind: string;
588
+ name: string;
589
+ originalName: string;
590
+ }[];
591
+ usage: {
592
+ prompt: number;
593
+ completion: number;
594
+ };
595
+ executionunits: number;
596
+ };
597
+ }, {
598
+ type: "agent.tool.permission.requested";
599
+ data: {
600
+ tools: {
601
+ kind: string;
602
+ name: string;
603
+ originalName: string;
604
+ }[];
605
+ usage: {
606
+ prompt: number;
607
+ completion: number;
608
+ };
609
+ executionunits: number;
610
+ };
455
611
  }>]>;
456
612
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/Agent/stream/schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAcpB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoEjC,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/Agent/stream/schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAcpB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsGjC,CAAC"}
@@ -84,5 +84,39 @@ exports.AgentStreamEventSchema = zod_1.default.discriminatedUnion('type', [
84
84
  content: zod_1.default.string(),
85
85
  }),
86
86
  }),
87
+ zod_1.default.object({
88
+ type: zod_1.default.literal('agent.tool.permission.blocked'),
89
+ data: zod_1.default.object({
90
+ tools: zod_1.default
91
+ .object({
92
+ name: zod_1.default.string(),
93
+ kind: zod_1.default.string(),
94
+ originalName: zod_1.default.string(),
95
+ })
96
+ .array(),
97
+ usage: zod_1.default.object({
98
+ prompt: zod_1.default.number(),
99
+ completion: zod_1.default.number(),
100
+ }),
101
+ executionunits: zod_1.default.number(),
102
+ }),
103
+ }),
104
+ zod_1.default.object({
105
+ type: zod_1.default.literal('agent.tool.permission.requested'),
106
+ data: zod_1.default.object({
107
+ tools: zod_1.default
108
+ .object({
109
+ name: zod_1.default.string(),
110
+ kind: zod_1.default.string(),
111
+ originalName: zod_1.default.string(),
112
+ })
113
+ .array(),
114
+ usage: zod_1.default.object({
115
+ prompt: zod_1.default.number(),
116
+ completion: zod_1.default.number(),
117
+ }),
118
+ executionunits: zod_1.default.number(),
119
+ }),
120
+ }),
87
121
  ]);
88
122
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/Agent/stream/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/Agent/stream/schema.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AAEpB,IAAM,gBAAgB,GAAG,aAAC,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,QAAQ,EAAE,aAAC,CAAC,MAAM,CAAC,aAAC,CAAC,MAAM,EAAE,EAAE,aAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE;IAC/C,KAAK,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;IACzB,eAAe,EAAE,aAAC,CAAC,MAAM,EAAE;IAC3B,mBAAmB,EAAE,aAAC,CAAC,MAAM,CAAC;QAC5B,GAAG,EAAE,aAAC,CAAC,MAAM,EAAE;QACf,OAAO,EAAE,aAAC,CAAC,MAAM,EAAE;QACnB,SAAS,EAAE,aAAC,CAAC,OAAO,EAAE;KACvB,CAAC;CACH,CAAC,CAAC;AAEU,QAAA,sBAAsB,GAAG,aAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACjE,aAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,aAAC,CAAC,OAAO,CAAC,YAAY,CAAC;QAC7B,IAAI,EAAE,gBAAgB;KACvB,CAAC;IACF,aAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,aAAC,CAAC,OAAO,CAAC,cAAc,CAAC;QAC/B,IAAI,EAAE,gBAAgB;KACvB,CAAC;IACF,aAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,aAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC;QACxC,IAAI,EAAE,gBAAgB;KACvB,CAAC;IACF,aAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,aAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;QACrC,IAAI,EAAE,aAAC,CAAC,MAAM,CAAC;YACb,IAAI,EAAE,aAAC,CAAC,MAAM,CAAC;gBACb,IAAI,EAAE,aAAC,CAAC,MAAM,EAAE;gBAChB,IAAI,EAAE,aAAC,CAAC,MAAM,EAAE;gBAChB,YAAY,EAAE,aAAC,CAAC,MAAM,EAAE;aACzB,CAAC;YACF,KAAK,EAAE,aAAC,CAAC,MAAM,CAAC;gBACd,MAAM,EAAE,aAAC,CAAC,MAAM,EAAE;gBAClB,UAAU,EAAE,aAAC,CAAC,MAAM,EAAE;aACvB,CAAC;YACF,cAAc,EAAE,aAAC,CAAC,MAAM,EAAE;SAC3B,CAAC;KACH,CAAC;IACF,aAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,aAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC;QAC5C,IAAI,EAAE,aAAC,CAAC,MAAM,CAAC;YACb,OAAO,EAAE,aAAC,CAAC,MAAM,EAAE;YACnB,KAAK,EAAE,aAAC,CAAC,MAAM,CAAC;gBACd,MAAM,EAAE,aAAC,CAAC,MAAM,EAAE;gBAClB,UAAU,EAAE,aAAC,CAAC,MAAM,EAAE;aACvB,CAAC;YACF,cAAc,EAAE,aAAC,CAAC,MAAM,EAAE;SAC3B,CAAC;KACH,CAAC;IACF,aAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,aAAC,CAAC,OAAO,CAAC,cAAc,CAAC;QAC/B,IAAI,EAAE,aAAC,CAAC,MAAM,CAAC;YACb,OAAO,EAAE,aAAC,CAAC,MAAM,EAAE;YACnB,KAAK,EAAE,aAAC,CAAC,MAAM,CAAC;gBACd,MAAM,EAAE,aAAC,CAAC,MAAM,EAAE;gBAClB,UAAU,EAAE,aAAC,CAAC,MAAM,EAAE;aACvB,CAAC;YACF,cAAc,EAAE,aAAC,CAAC,MAAM,EAAE;SAC3B,CAAC;KACH,CAAC;IACF,aAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,aAAC,CAAC,OAAO,CAAC,+BAA+B,CAAC;QAChD,IAAI,EAAE,aAAC,CAAC,MAAM,CAAC;YACb,KAAK,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;YACzB,KAAK,EAAE,aAAC,CAAC,MAAM,CAAC;gBACd,MAAM,EAAE,aAAC,CAAC,MAAM,EAAE;gBAClB,UAAU,EAAE,aAAC,CAAC,MAAM,EAAE;aACvB,CAAC;YACF,cAAc,EAAE,aAAC,CAAC,MAAM,EAAE;SAC3B,CAAC;KACH,CAAC;IACF,aAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,aAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAClC,IAAI,EAAE,aAAC,CAAC,MAAM,CAAC;YACb,KAAK,EAAE,aAAC,CAAC,MAAM,EAAE;YACjB,OAAO,EAAE,aAAC,CAAC,MAAM,EAAE;SACpB,CAAC;KACH,CAAC;IACF,aAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,aAAC,CAAC,OAAO,CAAC,+BAA+B,CAAC;QAChD,IAAI,EAAE,aAAC,CAAC,MAAM,CAAC;YACb,KAAK,EAAE,aAAC;iBACL,MAAM,CAAC;gBACN,IAAI,EAAE,aAAC,CAAC,MAAM,EAAE;gBAChB,IAAI,EAAE,aAAC,CAAC,MAAM,EAAE;gBAChB,YAAY,EAAE,aAAC,CAAC,MAAM,EAAE;aACzB,CAAC;iBACD,KAAK,EAAE;YACV,KAAK,EAAE,aAAC,CAAC,MAAM,CAAC;gBACd,MAAM,EAAE,aAAC,CAAC,MAAM,EAAE;gBAClB,UAAU,EAAE,aAAC,CAAC,MAAM,EAAE;aACvB,CAAC;YACF,cAAc,EAAE,aAAC,CAAC,MAAM,EAAE;SAC3B,CAAC;KACH,CAAC;IACF,aAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,aAAC,CAAC,OAAO,CAAC,iCAAiC,CAAC;QAClD,IAAI,EAAE,aAAC,CAAC,MAAM,CAAC;YACb,KAAK,EAAE,aAAC;iBACL,MAAM,CAAC;gBACN,IAAI,EAAE,aAAC,CAAC,MAAM,EAAE;gBAChB,IAAI,EAAE,aAAC,CAAC,MAAM,EAAE;gBAChB,YAAY,EAAE,aAAC,CAAC,MAAM,EAAE;aACzB,CAAC;iBACD,KAAK,EAAE;YACV,KAAK,EAAE,aAAC,CAAC,MAAM,CAAC;gBACd,MAAM,EAAE,aAAC,CAAC,MAAM,EAAE;gBAClB,UAAU,EAAE,aAAC,CAAC,MAAM,EAAE;aACvB,CAAC;YACF,cAAc,EAAE,aAAC,CAAC,MAAM,EAAE;SAC3B,CAAC;KACH,CAAC;CACH,CAAC,CAAC"}
@@ -5,6 +5,7 @@ import type z from 'zod';
5
5
  import type { AgentInternalTool } from '../AgentTool/types';
6
6
  import type { AgentLLMIntegration, AgentLLMIntegrationOutput, AgentLLMIntegrationParam } from '../Integrations/types';
7
7
  import type { IMCPClient } from '../interfaces.mcp';
8
+ import type { IPermissionManager } from '../interfaces.permission.manager';
8
9
  import type { NonEmptyArray, PromiseAble } from '../types';
9
10
  import type { AgentMediaContentSchema, AgentMessageContentSchema, AgentMessageSchema, AgentTextContentSchema, AgentToolCallContentSchema, AgentToolResultContentSchema } from './schema';
10
11
  import type { AgentStreamListener } from './stream/types';
@@ -234,6 +235,12 @@ export type CreateArvoAgentParam<TSelfContract extends AnyArvoOrchestratorContra
234
235
  * @remarks
235
236
  * Unlike local `tools`, calling a service here causes the Agent to **emit an event and suspend**.
236
237
  * It allows the Agent to orchestrate long-running or distributed workflows.
238
+ *
239
+ * Each service can specify:
240
+ * - `contract`: The versioned contract of the target service
241
+ * - `domains`: Event routing hints (e.g., ['human.interaction'] or [ArvoDomain.FROM_EVENT_CONTRACT])
242
+ * - `priority`: Execution precedence for batch tool calls
243
+ *
237
244
  */
238
245
  services: TServiceContract;
239
246
  };
@@ -258,45 +265,150 @@ export type CreateArvoAgentParam<TSelfContract extends AnyArvoOrchestratorContra
258
265
  */
259
266
  mcp?: IMCPClient;
260
267
  /**
261
- * A map of JavaScript functions executed synchronously within the Agent's process.
262
- * Best for lightweight logic (math, date checks, regex).
268
+ * Internal tools executed synchronously within the agent's process.
269
+ *
270
+ * Best suited for lightweight operations.
271
+ * Internal tools should complete in milliseconds. For operations requiring
272
+ * network I/O, database access, or extended computation, use Arvo services
273
+ * to avoid blocking the agent's execution.
274
+ *
275
+ * Each tool is created via `createAgentTool()` which adds automatic
276
+ * input validation and OpenTelemetry instrumentation.
263
277
  */
264
278
  tools?: TTools;
265
279
  /**
266
280
  * The default mechanism to force the Agent to generate a specific output structure.
267
281
  * - `'text'`: Standard conversational response.
268
282
  * - `'json'`: Structured Output / JSON Mode (validated against the contract's output schema).
283
+ *
284
+ * Individual versions can override this via their handler configuration,
285
+ * enabling progressive migration from text to structured outputs.
269
286
  * @defaultValue 'text'
270
287
  */
271
288
  llmResponseType?: AgentLLMIntegrationParam['outputFormat']['type'];
272
289
  /**
273
- * The default llm integrations function which connect this agent to the intelligence layer
274
- * (e.g., `openaiLLMIntegration`, `anthropicLLMIntegration`).
290
+ * Default LLM integration function connecting the agent to its reasoning engine.
291
+ * Individual versions can override this to use different models per version.
275
292
  */
276
293
  llm: AgentLLMIntegration;
277
- /** A agent stream listener hook */
294
+ /**
295
+ * Optional event stream listener for real-time agent activity monitoring.
296
+ *
297
+ * Useful for building real-time UIs or logging.
298
+ * Events include contextual metadata (subject, initiator, agent version) for
299
+ * correlation across distributed traces.
300
+ */
278
301
  onStream?: AgentStreamListener;
279
302
  /**
280
- * Arvo enforces strict version compliance. You must provide specific logic
281
- * (System Prompt Building & Output Mapping) for **every semantic version**
282
- * defined in `contracts.self`.
303
+ * Optional non-LLM authorization layer for deterministic tool access control.
304
+ *
305
+ * The permission manager enforces security policies outside the LLM's reasoning,
306
+ * preventing prompt injection attacks from bypassing authorization.
307
+ * This pattern is critical for systems requiring explicity permission policy implmentation,
308
+ * compliance enforcement, and defense against AI jailbreaking.
309
+ */
310
+ permissionManager?: IPermissionManager;
311
+ /**
312
+ * Version-specific handler implementations for each contract version.
313
+ *
314
+ * Arvo enforces complete version coverage: you must provide handlers for every
315
+ * version defined in `contracts.self.versions`.
283
316
  *
284
- * This allows you to upgrade prompts or change output schemas in `v2` without
285
- * breaking consumers of `v1`.
317
+ * Version handlers enable independent evolution of prompts, models, and output
318
+ * schemas without breaking existing consumers of older versions.
286
319
  */
287
320
  handler: {
288
321
  [K in keyof TSelfContract['versions'] & ArvoSemanticVersion]: {
289
322
  /**
290
- * An optional override to forces the Agent to generate a specific output structure.
291
- * - `'text'`: Standard conversational response.
292
- * - `'json'`: Structured Output / JSON Mode (validated against the contract's output schema).
323
+ * Function defining which tools require explicit permission for this version.
324
+ *
325
+ * Tools not in this list bypass permission checks entirely. This enables
326
+ * selective authorization where only sensitive operations (data deletion,
327
+ * financial transactions, external integrations) require approval while
328
+ * read-only or low-risk tools execute freely.
329
+ *
330
+ * The function receives all available tools (services, MCP, internal) to
331
+ * support dynamic policy decisions based on the tool catalog.
332
+ *
333
+ * @example
334
+ * ```typescript
335
+ * explicityPermissionRequired: async ({ services, tools, mcp }) => [
336
+ * services.deleteUser.name,
337
+ * services.processRefund.name,
338
+ * tools.executeSQL.name,
339
+ * mcp['some_mcp_tool'].name,
340
+ * ]
341
+ * ```
342
+ */
343
+ explicityPermissionRequired?: (tools: AgentLLMContext<TServiceContract, TTools>['tools']) => PromiseAble<string[]>;
344
+ /**
345
+ * Version-specific override for the LLM response format.
346
+ * Overrides the agent-level `llmResponseType` default for this version only.
293
347
  */
294
348
  llmResponseType?: AgentLLMIntegrationParam['outputFormat']['type'];
295
- /** An optional override llm integration specific to this version. This allows to completely version an agent */
349
+ /**
350
+ * Version-specific override for the LLM integration.
351
+ * Overrides the agent-level `llm` default for this version only.
352
+ * Enables model evolution across versions.
353
+ * Each version can use completely different models or providers without
354
+ * affecting other versions or requiring code changes in consumers.
355
+ */
296
356
  llm?: AgentLLMIntegration;
297
- /** Generates the System Prompt and initial conversation context for this version. */
357
+ /**
358
+ * Context engineering function executed once during agent initialization.
359
+ *
360
+ * Transforms the initialization event into the agent's foundational state:
361
+ * - System prompt defining the agent's role and capabilities
362
+ * - Initial message history seeding the conversation
363
+ *
364
+ * The returned context persists in memory and forms the base that all
365
+ * subsequent tool results and LLM responses append to. This function
366
+ * runs only once per workflow—resumptions after service calls do not
367
+ * re-execute the context builder.
368
+ *
369
+ * @example
370
+ * ```typescript
371
+ * context: async ({ input, tools, span }) => ({
372
+ * system: `You are a customer support agent. Available tools:
373
+ * - ${tools.services.billing.name}: Access billing data
374
+ * - ${tools.services.ticketing.name}: Create support tickets`,
375
+ * messages: [
376
+ * {
377
+ * role: 'user',
378
+ * content: { type: 'text', content: input.data.customerQuery },
379
+ * seenCount: 0
380
+ * }
381
+ * ]
382
+ * })
383
+ * ```
384
+ */
298
385
  context: AgentContextBuilder<TSelfContract, K, TServiceContract, TTools>;
299
- /** Maps the LLM's final response to the strict output contract for this version. */
386
+ /**
387
+ * Output validation function mapping LLM responses to contract-compliant events.
388
+ * Executes when the agent generates a final response (not a tool call).
389
+ *
390
+ * Returns either:
391
+ * - `{ data: {...} }`: Successfully validated output matching the contract
392
+ * - `{ error: Error }`: Validation failure triggering self-correction loop
393
+ *
394
+ * When validation fails, the agent appends the error to message history
395
+ * and re-invokes the LLM, enabling automatic correction of malformed outputs.
396
+ *
397
+ * @example
398
+ * ```typescript
399
+ * output: ({ content, parsedContent, outputFormat, span }) => {
400
+ * const result = outputFormat.safeParse(
401
+ * parsedContent ?? JSON.parse(content)
402
+ * );
403
+ *
404
+ * if (result.error) {
405
+ * return { error: result.error };
406
+ * }
407
+ *
408
+ * return { data: result.data };
409
+ * }
410
+ * ```
411
+ */
300
412
  output: AgentOutputBuilder<TSelfContract, K>;
301
413
  };
302
414
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/Agent/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EACV,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,KAAK,EACV,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,gEAAgE;AAChE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,0FAA0F;AAC1F,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,wEAAwE;AACxE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,sDAAsD;AACtD,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,kFAAkF;AAClF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAG9D,MAAM,MAAM,2BAA2B,GAAG,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAG7E,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAE1D;;;;;;;;;GASG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,gEAAgE;IAEhE,QAAQ,EAAE,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1C;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAChC;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI;IACrC;;;;;OAKG;IACH,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;IAElC,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IAEb,wFAAwF;IACxF,QAAQ,EAAE,CAAC,CAAC;IAEZ;;;;;;;;OAQG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,mBAAmB,CAC7B,CAAC,SACG,qBAAqB,CAAC,eAAe,EAAE,mBAAmB,CAAC,GAC3D,iBAAiB,GACjB,IAAI,GAAG,IAAI,IACb;IACF,gGAAgG;IAChG,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAC;IACpB,iDAAiD;IAEjD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,qDAAqD;IACrD,YAAY,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;CACxC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,CACzB,gBAAgB,SAAS,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,MAAM,CACpE,MAAM,EACN,oBAAoB,CACrB,EACD,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAClF;IACF,8DAA8D;IAC9D,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,sDAAsD;IACtD,QAAQ,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;IACvE;;;OAGG;IACH,KAAK,EAAE;QACL,QAAQ,EAAE;aACP,CAAC,IAAI,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;SACpF,CAAC;QACF,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,KAAK,EAAE;aAAG,CAAC,IAAI,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAAE,CAAC;KAChE,CAAC;IACF,6CAA6C;IAC7C,gBAAgB,EAAE;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,MAAM,mBAAmB,CAC7B,CAAC,SAAS,2BAA2B,GAAG,2BAA2B,EACnE,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,EACnD,gBAAgB,SAAS,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,MAAM,CACpE,MAAM,EACN,oBAAoB,CACrB,EACD,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAClF,CAAC,KAAK,EAAE;IACV,SAAS,EAAE,wBAAwB,CAAC,WAAW,CAAC,CAAC;IACjD,2EAA2E;IAC3E,KAAK,EAAE,0BAA0B,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC1E,0CAA0C;IAC1C,YAAY,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,+DAA+D;IAC/D,KAAK,EAAE,eAAe,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;IAC1D,mCAAmC;IACnC,IAAI,EAAE,IAAI,CAAC;CAEZ,KAAK,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAElG;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,CAC5B,CAAC,SAAS,2BAA2B,GAAG,2BAA2B,EACnE,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,IACjD,CACF,KAAK,EAAE,OAAO,CAAC,yBAAyB,EAAE;IAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC,GAAG;IACrE,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC;IAC3B,IAAI,EAAE,IAAI,CAAC;CACZ,KACE,WAAW,CACZ;IACE,uDAAuD;IACvD,IAAI,EAAE,0BAA0B,CAC9B,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAC5B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG;QACvD,IAAI,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9D,gBAAgB,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC;KACvF,CAAC;CACH,GACD;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CACnB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,CAC9B,aAAa,SAAS,2BAA2B,GAAG,2BAA2B,EAC/E,gBAAgB,SAAS,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,MAAM,CACpE,MAAM,EACN,oBAAoB,CACrB,EACD,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAClF;IACF;;OAEG;IACH,SAAS,EAAE;QACT;;;;;WAKG;QACH,IAAI,EAAE,aAAa,CAAC;QAEpB;;;;;;WAMG;QACH,QAAQ,EAAE,gBAAgB,CAAC;KAC5B,CAAC;IAEF;;;;;OAKG;IACH,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAEhD;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;;OAIG;IACH,GAAG,CAAC,EAAE,UAAU,CAAC;IAEjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,eAAe,CAAC,EAAE,wBAAwB,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;IAEnE;;;OAGG;IACH,GAAG,EAAE,mBAAmB,CAAC;IAEzB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAE/B;;;;;;;OAOG;IACH,OAAO,EAAE;SACN,CAAC,IAAI,MAAM,aAAa,CAAC,UAAU,CAAC,GAAG,mBAAmB,GAAG;YAC5D;;;;eAIG;YACH,eAAe,CAAC,EAAE,wBAAwB,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;YACnE,gHAAgH;YAChH,GAAG,CAAC,EAAE,mBAAmB,CAAC;YAC1B,qFAAqF;YACrF,OAAO,EAAE,mBAAmB,CAAC,aAAa,EAAE,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;YACzE,oFAAoF;YACpF,MAAM,EAAE,kBAAkB,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;SAC9C;KACF,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/Agent/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import z from 'zod';
2
+ /**
3
+ * Default permission contract for simple approval workflows.
4
+ */
5
+ export declare const simplePermissionContract: import("arvo-core").SimpleArvoContract<"#/arvo/tools/default/agentic/permission/simple", "arvo.default.simple.permission.request", {
6
+ '1.0.0': {
7
+ accepts: z.ZodObject<{
8
+ agentId: z.ZodString;
9
+ requestedTools: z.ZodArray<z.ZodString, "many">;
10
+ reason: z.ZodString;
11
+ }, "strip", z.ZodTypeAny, {
12
+ agentId: string;
13
+ requestedTools: string[];
14
+ reason: string;
15
+ }, {
16
+ agentId: string;
17
+ requestedTools: string[];
18
+ reason: string;
19
+ }>;
20
+ emits: z.ZodObject<{
21
+ commentary: z.ZodDefault<z.ZodOptional<z.ZodString>>;
22
+ granted: z.ZodArray<z.ZodString, "many">;
23
+ denied: z.ZodArray<z.ZodString, "many">;
24
+ }, "strip", z.ZodTypeAny, {
25
+ commentary: string;
26
+ granted: string[];
27
+ denied: string[];
28
+ }, {
29
+ granted: string[];
30
+ denied: string[];
31
+ commentary?: string | undefined;
32
+ }>;
33
+ };
34
+ }, Record<string, any>>;
35
+ //# sourceMappingURL=contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/SimplePermissionManager/contract.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBA0BnC,CAAC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.simplePermissionContract = void 0;
7
+ var arvo_core_1 = require("arvo-core");
8
+ var zod_1 = __importDefault(require("zod"));
9
+ /**
10
+ * Default permission contract for simple approval workflows.
11
+ */
12
+ exports.simplePermissionContract = (0, arvo_core_1.createSimpleArvoContract)({
13
+ uri: '#/arvo/tools/default/agentic/permission/simple',
14
+ type: 'arvo.default.simple.permission.request',
15
+ description: 'Simple permission request contract for agent tool authorization',
16
+ versions: {
17
+ '1.0.0': {
18
+ accepts: zod_1.default.object({
19
+ agentId: zod_1.default.string().describe('The agent requesting permission'),
20
+ requestedTools: zod_1.default.array(zod_1.default.string()).describe('Tool names requiring authorization'),
21
+ reason: zod_1.default.string().describe('Explanation of why these tools are needed'),
22
+ }),
23
+ emits: zod_1.default.object({
24
+ commentary: zod_1.default
25
+ .string()
26
+ .optional()
27
+ .default((0, arvo_core_1.cleanString)("\n In case the same tool appears in granted and denied list, then consider it denied. \n If the permission blocked tools does not appear in the granted list, the consider it denied as well \n ")),
28
+ granted: zod_1.default.array(zod_1.default.string()).describe('Tool names that were granted permission'),
29
+ denied: zod_1.default.array(zod_1.default.string()).describe('Tool names that were denied permission'),
30
+ }),
31
+ },
32
+ },
33
+ });
34
+ //# sourceMappingURL=contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/SimplePermissionManager/contract.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAkE;AAClE,4CAAoB;AAEpB;;GAEG;AACU,QAAA,wBAAwB,GAAG,IAAA,oCAAwB,EAAC;IAC/D,GAAG,EAAE,gDAAgD;IACrD,IAAI,EAAE,wCAAwC;IAC9C,WAAW,EAAE,iEAAiE;IAC9E,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE,aAAC,CAAC,MAAM,CAAC;gBAChB,OAAO,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;gBAC/D,cAAc,EAAE,aAAC,CAAC,KAAK,CAAC,aAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC;gBAClF,MAAM,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;aACzE,CAAC;YACF,KAAK,EAAE,aAAC,CAAC,MAAM,CAAC;gBACd,UAAU,EAAE,aAAC;qBACV,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,OAAO,CACN,IAAA,uBAAW,EAAC,yOAGX,CAAC,CACH;gBACH,OAAO,EAAE,aAAC,CAAC,KAAK,CAAC,aAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC;gBAChF,MAAM,EAAE,aAAC,CAAC,KAAK,CAAC,aAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC;aAC/E,CAAC;SACH;KACF;CACF,CAAC,CAAC"}
@@ -0,0 +1,144 @@
1
+ import { type VersionedArvoContract } from 'arvo-core';
2
+ import type { AgentToolDefinition } from '../Agent/types';
3
+ import type { IPermissionManager, PermissionManagerContext } from '../interfaces.permission.manager';
4
+ import type { NonEmptyArray, OtelInfoType } from '../types';
5
+ import { simplePermissionContract } from './contract';
6
+ /**
7
+ * Simple in-memory permission manager for development and testing.
8
+ *
9
+ * Stores permissions in a Map keyed by `${source.name}:${source.subject}`,
10
+ * providing workflow-scoped authorization that persists only for the lifetime
11
+ * of the process.
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * const agent = createArvoAgent({
16
+ * permissionManager: new SimplePermissionManager(),
17
+ * handler: {
18
+ * '1.0.0': {
19
+ * permissionPolicy: async ({ services }) => [
20
+ * services.deleteUser.name
21
+ * ],
22
+ * // ... other config
23
+ * }
24
+ * }
25
+ * });
26
+ * ```
27
+ */
28
+ export declare class SimplePermissionManager implements IPermissionManager<VersionedArvoContract<typeof simplePermissionContract, '1.0.0'>> {
29
+ static readonly CONTRACT: import("arvo-core").SimpleArvoContract<"#/arvo/tools/default/agentic/permission/simple", "arvo.default.simple.permission.request", {
30
+ '1.0.0': {
31
+ accepts: import("zod").ZodObject<{
32
+ agentId: import("zod").ZodString;
33
+ requestedTools: import("zod").ZodArray<import("zod").ZodString, "many">;
34
+ reason: import("zod").ZodString;
35
+ }, "strip", import("zod").ZodTypeAny, {
36
+ agentId: string;
37
+ requestedTools: string[];
38
+ reason: string;
39
+ }, {
40
+ agentId: string;
41
+ requestedTools: string[];
42
+ reason: string;
43
+ }>;
44
+ emits: import("zod").ZodObject<{
45
+ commentary: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
46
+ granted: import("zod").ZodArray<import("zod").ZodString, "many">;
47
+ denied: import("zod").ZodArray<import("zod").ZodString, "many">;
48
+ }, "strip", import("zod").ZodTypeAny, {
49
+ commentary: string;
50
+ granted: string[];
51
+ denied: string[];
52
+ }, {
53
+ granted: string[];
54
+ denied: string[];
55
+ commentary?: string | undefined;
56
+ }>;
57
+ };
58
+ }, Record<string, any>>;
59
+ static readonly VERSIONED_CONTRACT: VersionedArvoContract<import("arvo-core").SimpleArvoContract<"#/arvo/tools/default/agentic/permission/simple", "arvo.default.simple.permission.request", {
60
+ '1.0.0': {
61
+ accepts: import("zod").ZodObject<{
62
+ agentId: import("zod").ZodString;
63
+ requestedTools: import("zod").ZodArray<import("zod").ZodString, "many">;
64
+ reason: import("zod").ZodString;
65
+ }, "strip", import("zod").ZodTypeAny, {
66
+ agentId: string;
67
+ requestedTools: string[];
68
+ reason: string;
69
+ }, {
70
+ agentId: string;
71
+ requestedTools: string[];
72
+ reason: string;
73
+ }>;
74
+ emits: import("zod").ZodObject<{
75
+ commentary: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
76
+ granted: import("zod").ZodArray<import("zod").ZodString, "many">;
77
+ denied: import("zod").ZodArray<import("zod").ZodString, "many">;
78
+ }, "strip", import("zod").ZodTypeAny, {
79
+ commentary: string;
80
+ granted: string[];
81
+ denied: string[];
82
+ }, {
83
+ granted: string[];
84
+ denied: string[];
85
+ commentary?: string | undefined;
86
+ }>;
87
+ };
88
+ }, Record<string, any>>, "1.0.0">;
89
+ readonly contract: VersionedArvoContract<import("arvo-core").SimpleArvoContract<"#/arvo/tools/default/agentic/permission/simple", "arvo.default.simple.permission.request", {
90
+ '1.0.0': {
91
+ accepts: import("zod").ZodObject<{
92
+ agentId: import("zod").ZodString;
93
+ requestedTools: import("zod").ZodArray<import("zod").ZodString, "many">;
94
+ reason: import("zod").ZodString;
95
+ }, "strip", import("zod").ZodTypeAny, {
96
+ agentId: string;
97
+ requestedTools: string[];
98
+ reason: string;
99
+ }, {
100
+ agentId: string;
101
+ requestedTools: string[];
102
+ reason: string;
103
+ }>;
104
+ emits: import("zod").ZodObject<{
105
+ commentary: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
106
+ granted: import("zod").ZodArray<import("zod").ZodString, "many">;
107
+ denied: import("zod").ZodArray<import("zod").ZodString, "many">;
108
+ }, "strip", import("zod").ZodTypeAny, {
109
+ commentary: string;
110
+ granted: string[];
111
+ denied: string[];
112
+ }, {
113
+ granted: string[];
114
+ denied: string[];
115
+ commentary?: string | undefined;
116
+ }>;
117
+ };
118
+ }, Record<string, any>>, "1.0.0">;
119
+ readonly domains: NonEmptyArray<string> | null;
120
+ private permissions;
121
+ constructor(config: {
122
+ domains: NonEmptyArray<string> | null;
123
+ });
124
+ private getKey;
125
+ get(source: PermissionManagerContext, tools: AgentToolDefinition<any>[], config: {
126
+ otelInfo: OtelInfoType;
127
+ }): Promise<Record<string, boolean>>;
128
+ set(source: PermissionManagerContext, event: {
129
+ data: {
130
+ granted: string[];
131
+ denied: string[];
132
+ };
133
+ }, config: {
134
+ otelInfo: OtelInfoType;
135
+ }): Promise<void>;
136
+ requestBuilder(source: PermissionManagerContext, tools: AgentToolDefinition<any>[], config: {
137
+ otelInfo: OtelInfoType;
138
+ }): Promise<{
139
+ agentId: string;
140
+ requestedTools: string[];
141
+ reason: string;
142
+ }>;
143
+ }
144
+ //# sourceMappingURL=index.d.ts.map