avantgate 1.2.2 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/index.js +54 -14
- package/dist/agent/index.mjs +52 -14
- package/dist/agent/isolated-tool.d.ts.map +1 -1
- package/dist/agent/registry.d.ts +7 -2
- package/dist/agent/registry.d.ts.map +1 -1
- package/dist/agent/strategy.d.ts +18 -2
- package/dist/agent/strategy.d.ts.map +1 -1
- package/dist/agent/types.d.ts +9 -6
- package/dist/agent/types.d.ts.map +1 -1
- package/package.json +5 -2
package/dist/agent/index.js
CHANGED
|
@@ -27,11 +27,13 @@ __export(agent_exports, {
|
|
|
27
27
|
DtoValidationError: () => DtoValidationError,
|
|
28
28
|
HttpTelemetryExporter: () => HttpTelemetryExporter,
|
|
29
29
|
KeyValueStorageAdapter: () => KeyValueStorageAdapter,
|
|
30
|
+
MaxImpactToolStrategy: () => MaxImpactToolStrategy,
|
|
30
31
|
MemoryStorageAdapter: () => MemoryStorageAdapter,
|
|
31
32
|
PhaseBasedToolStrategy: () => PhaseBasedToolStrategy,
|
|
32
33
|
PiiLeakError: () => PiiLeakError,
|
|
33
34
|
PlatformStorageAdapter: () => PlatformStorageAdapter,
|
|
34
35
|
PrismaStorageAdapter: () => PrismaStorageAdapter,
|
|
36
|
+
ReadOnlyToolStrategy: () => ReadOnlyToolStrategy,
|
|
35
37
|
RoleBasedToolStrategy: () => RoleBasedToolStrategy,
|
|
36
38
|
SQLiteStorageAdapter: () => SQLiteStorageAdapter,
|
|
37
39
|
StepExecutionError: () => StepExecutionError,
|
|
@@ -329,6 +331,8 @@ function createIsolatedTool(config) {
|
|
|
329
331
|
const toolAlias = config.alias;
|
|
330
332
|
const clientCallback = config.clientDto;
|
|
331
333
|
const toolIdentifier = toolAlias || config.name;
|
|
334
|
+
const toolImpact = config.impact ?? "READ_ONLY";
|
|
335
|
+
const requireApproval = config.requireApproval ?? toolImpact === "DESTRUCTIVE";
|
|
332
336
|
const tool = {
|
|
333
337
|
description: config.description,
|
|
334
338
|
parameters: config.parameters,
|
|
@@ -340,8 +344,8 @@ function createIsolatedTool(config) {
|
|
|
340
344
|
_domain: config.domain,
|
|
341
345
|
_resource: config.resource,
|
|
342
346
|
_roles: config.roles ? Object.freeze([...config.roles]) : void 0,
|
|
343
|
-
|
|
344
|
-
_requireApproval:
|
|
347
|
+
_impact: toolImpact,
|
|
348
|
+
_requireApproval: requireApproval,
|
|
345
349
|
_lastPiiFilteredCount: 0,
|
|
346
350
|
_lastInvalidationTags: void 0,
|
|
347
351
|
async execute(args, context) {
|
|
@@ -475,7 +479,7 @@ function normalizeToolDefinition(toolDef) {
|
|
|
475
479
|
domain: toolDef._domain,
|
|
476
480
|
resource: toolDef._resource,
|
|
477
481
|
roles: toolDef._roles ? Array.from(toolDef._roles) : void 0,
|
|
478
|
-
|
|
482
|
+
impact: toolDef._impact ?? "READ_ONLY",
|
|
479
483
|
requireApproval: toolDef._requireApproval,
|
|
480
484
|
tool: toolDef
|
|
481
485
|
};
|
|
@@ -483,7 +487,7 @@ function normalizeToolDefinition(toolDef) {
|
|
|
483
487
|
const id = toolDef.id || toolDef.name || toolDef.tool?._toolId;
|
|
484
488
|
const publicName = toolDef.alias || toolDef.name || toolDef.tool?._toolAlias || toolDef.tool?._toolName;
|
|
485
489
|
const roles = toolDef.roles ?? (toolDef.tool?._roles ? Array.from(toolDef.tool._roles) : toolDef.requiredRoles);
|
|
486
|
-
const
|
|
490
|
+
const impact = toolDef.impact ?? toolDef.tool?._impact ?? "READ_ONLY";
|
|
487
491
|
return {
|
|
488
492
|
...toolDef,
|
|
489
493
|
id,
|
|
@@ -492,7 +496,7 @@ function normalizeToolDefinition(toolDef) {
|
|
|
492
496
|
domain: toolDef.domain ?? toolDef.tool?._domain,
|
|
493
497
|
resource: toolDef.resource ?? toolDef.tool?._resource,
|
|
494
498
|
roles,
|
|
495
|
-
|
|
499
|
+
impact,
|
|
496
500
|
requireApproval: toolDef.requireApproval ?? toolDef.tool?._requireApproval
|
|
497
501
|
};
|
|
498
502
|
}
|
|
@@ -515,7 +519,7 @@ function toDescriptor(tool) {
|
|
|
515
519
|
domain: tool.domain,
|
|
516
520
|
resource: tool.resource,
|
|
517
521
|
roles: tool.roles ?? tool.requiredRoles,
|
|
518
|
-
|
|
522
|
+
impact: tool.impact ?? "READ_ONLY",
|
|
519
523
|
requireApproval: tool.requireApproval,
|
|
520
524
|
cacheTTL: tool.tool._cacheTTL,
|
|
521
525
|
tags: tool.tags
|
|
@@ -603,6 +607,12 @@ var ToolRegistry = class _ToolRegistry {
|
|
|
603
607
|
return roles.some((role) => roleSet.has(role));
|
|
604
608
|
});
|
|
605
609
|
}
|
|
610
|
+
/**
|
|
611
|
+
* Filters tools matching a specific physical impact profile (READ_ONLY, MUTATIVE, DESTRUCTIVE).
|
|
612
|
+
*/
|
|
613
|
+
getByImpact(impact) {
|
|
614
|
+
return this.getAll().filter((item) => (item.impact ?? "READ_ONLY") === impact);
|
|
615
|
+
}
|
|
606
616
|
/**
|
|
607
617
|
* Exports headless technical descriptors without UI rendering coupling.
|
|
608
618
|
*/
|
|
@@ -614,6 +624,9 @@ var ToolRegistry = class _ToolRegistry {
|
|
|
614
624
|
if (filter?.role) {
|
|
615
625
|
list = list.filter((item) => matchesRoleFilter(item, filter.role));
|
|
616
626
|
}
|
|
627
|
+
if (filter?.impact) {
|
|
628
|
+
list = list.filter((item) => (item.impact ?? "READ_ONLY") === filter.impact);
|
|
629
|
+
}
|
|
617
630
|
return list.map(toDescriptor);
|
|
618
631
|
}
|
|
619
632
|
/**
|
|
@@ -641,6 +654,18 @@ var ToolRegistry = class _ToolRegistry {
|
|
|
641
654
|
};
|
|
642
655
|
|
|
643
656
|
// src/agent/strategy.ts
|
|
657
|
+
var IMPACT_WEIGHTS = {
|
|
658
|
+
READ_ONLY: 1,
|
|
659
|
+
MUTATIVE: 2,
|
|
660
|
+
DESTRUCTIVE: 3
|
|
661
|
+
};
|
|
662
|
+
function matchesMaxImpact(tool, maxImpact) {
|
|
663
|
+
if (!maxImpact) {
|
|
664
|
+
return true;
|
|
665
|
+
}
|
|
666
|
+
const toolImpact = tool.impact ?? "READ_ONLY";
|
|
667
|
+
return IMPACT_WEIGHTS[toolImpact] <= IMPACT_WEIGHTS[maxImpact];
|
|
668
|
+
}
|
|
644
669
|
var PhaseBasedToolStrategy = class {
|
|
645
670
|
selectTools(tools, context) {
|
|
646
671
|
if (!context.phase) {
|
|
@@ -673,6 +698,24 @@ var RoleBasedToolStrategy = class {
|
|
|
673
698
|
});
|
|
674
699
|
}
|
|
675
700
|
};
|
|
701
|
+
var ReadOnlyToolStrategy = class {
|
|
702
|
+
selectTools(tools, _context) {
|
|
703
|
+
return tools.filter((tool) => (tool.impact ?? "READ_ONLY") === "READ_ONLY");
|
|
704
|
+
}
|
|
705
|
+
};
|
|
706
|
+
var MaxImpactToolStrategy = class {
|
|
707
|
+
maxImpact;
|
|
708
|
+
constructor(maxImpact) {
|
|
709
|
+
this.maxImpact = maxImpact;
|
|
710
|
+
}
|
|
711
|
+
selectTools(tools, _context) {
|
|
712
|
+
const maxWeight = IMPACT_WEIGHTS[this.maxImpact];
|
|
713
|
+
return tools.filter((tool) => {
|
|
714
|
+
const toolImpact = tool.impact ?? "READ_ONLY";
|
|
715
|
+
return IMPACT_WEIGHTS[toolImpact] <= maxWeight;
|
|
716
|
+
});
|
|
717
|
+
}
|
|
718
|
+
};
|
|
676
719
|
function matchesDomain(tool, allowedDomains) {
|
|
677
720
|
if (!allowedDomains) {
|
|
678
721
|
return true;
|
|
@@ -696,23 +739,18 @@ function matchesRoles(tool, context) {
|
|
|
696
739
|
}
|
|
697
740
|
return toolRoles.some((roleName) => userRoles.includes(roleName));
|
|
698
741
|
}
|
|
699
|
-
function matchesPermissions(tool, context) {
|
|
700
|
-
if (!tool.permissions || tool.permissions.length === 0) {
|
|
701
|
-
return true;
|
|
702
|
-
}
|
|
703
|
-
const userPermissions = context.permissions ?? [];
|
|
704
|
-
return tool.permissions.every((permissionName) => userPermissions.includes(permissionName));
|
|
705
|
-
}
|
|
706
742
|
var AccessControlToolStrategy = class {
|
|
707
743
|
allowedDomains;
|
|
744
|
+
maxImpact;
|
|
708
745
|
constructor(options) {
|
|
709
746
|
if (options?.allowedDomains) {
|
|
710
747
|
this.allowedDomains = new Set(options.allowedDomains);
|
|
711
748
|
}
|
|
749
|
+
this.maxImpact = options?.maxImpact;
|
|
712
750
|
}
|
|
713
751
|
selectTools(tools, context) {
|
|
714
752
|
return tools.filter(
|
|
715
|
-
(tool) => matchesDomain(tool, this.allowedDomains) && matchesRoles(tool, context) &&
|
|
753
|
+
(tool) => matchesDomain(tool, this.allowedDomains) && matchesRoles(tool, context) && matchesMaxImpact(tool, this.maxImpact)
|
|
716
754
|
);
|
|
717
755
|
}
|
|
718
756
|
};
|
|
@@ -1971,11 +2009,13 @@ var HttpTelemetryExporter = class {
|
|
|
1971
2009
|
DtoValidationError,
|
|
1972
2010
|
HttpTelemetryExporter,
|
|
1973
2011
|
KeyValueStorageAdapter,
|
|
2012
|
+
MaxImpactToolStrategy,
|
|
1974
2013
|
MemoryStorageAdapter,
|
|
1975
2014
|
PhaseBasedToolStrategy,
|
|
1976
2015
|
PiiLeakError,
|
|
1977
2016
|
PlatformStorageAdapter,
|
|
1978
2017
|
PrismaStorageAdapter,
|
|
2018
|
+
ReadOnlyToolStrategy,
|
|
1979
2019
|
RoleBasedToolStrategy,
|
|
1980
2020
|
SQLiteStorageAdapter,
|
|
1981
2021
|
StepExecutionError,
|
package/dist/agent/index.mjs
CHANGED
|
@@ -226,6 +226,8 @@ function createIsolatedTool(config) {
|
|
|
226
226
|
const toolAlias = config.alias;
|
|
227
227
|
const clientCallback = config.clientDto;
|
|
228
228
|
const toolIdentifier = toolAlias || config.name;
|
|
229
|
+
const toolImpact = config.impact ?? "READ_ONLY";
|
|
230
|
+
const requireApproval = config.requireApproval ?? toolImpact === "DESTRUCTIVE";
|
|
229
231
|
const tool = {
|
|
230
232
|
description: config.description,
|
|
231
233
|
parameters: config.parameters,
|
|
@@ -237,8 +239,8 @@ function createIsolatedTool(config) {
|
|
|
237
239
|
_domain: config.domain,
|
|
238
240
|
_resource: config.resource,
|
|
239
241
|
_roles: config.roles ? Object.freeze([...config.roles]) : void 0,
|
|
240
|
-
|
|
241
|
-
_requireApproval:
|
|
242
|
+
_impact: toolImpact,
|
|
243
|
+
_requireApproval: requireApproval,
|
|
242
244
|
_lastPiiFilteredCount: 0,
|
|
243
245
|
_lastInvalidationTags: void 0,
|
|
244
246
|
async execute(args, context) {
|
|
@@ -372,7 +374,7 @@ function normalizeToolDefinition(toolDef) {
|
|
|
372
374
|
domain: toolDef._domain,
|
|
373
375
|
resource: toolDef._resource,
|
|
374
376
|
roles: toolDef._roles ? Array.from(toolDef._roles) : void 0,
|
|
375
|
-
|
|
377
|
+
impact: toolDef._impact ?? "READ_ONLY",
|
|
376
378
|
requireApproval: toolDef._requireApproval,
|
|
377
379
|
tool: toolDef
|
|
378
380
|
};
|
|
@@ -380,7 +382,7 @@ function normalizeToolDefinition(toolDef) {
|
|
|
380
382
|
const id = toolDef.id || toolDef.name || toolDef.tool?._toolId;
|
|
381
383
|
const publicName = toolDef.alias || toolDef.name || toolDef.tool?._toolAlias || toolDef.tool?._toolName;
|
|
382
384
|
const roles = toolDef.roles ?? (toolDef.tool?._roles ? Array.from(toolDef.tool._roles) : toolDef.requiredRoles);
|
|
383
|
-
const
|
|
385
|
+
const impact = toolDef.impact ?? toolDef.tool?._impact ?? "READ_ONLY";
|
|
384
386
|
return {
|
|
385
387
|
...toolDef,
|
|
386
388
|
id,
|
|
@@ -389,7 +391,7 @@ function normalizeToolDefinition(toolDef) {
|
|
|
389
391
|
domain: toolDef.domain ?? toolDef.tool?._domain,
|
|
390
392
|
resource: toolDef.resource ?? toolDef.tool?._resource,
|
|
391
393
|
roles,
|
|
392
|
-
|
|
394
|
+
impact,
|
|
393
395
|
requireApproval: toolDef.requireApproval ?? toolDef.tool?._requireApproval
|
|
394
396
|
};
|
|
395
397
|
}
|
|
@@ -412,7 +414,7 @@ function toDescriptor(tool) {
|
|
|
412
414
|
domain: tool.domain,
|
|
413
415
|
resource: tool.resource,
|
|
414
416
|
roles: tool.roles ?? tool.requiredRoles,
|
|
415
|
-
|
|
417
|
+
impact: tool.impact ?? "READ_ONLY",
|
|
416
418
|
requireApproval: tool.requireApproval,
|
|
417
419
|
cacheTTL: tool.tool._cacheTTL,
|
|
418
420
|
tags: tool.tags
|
|
@@ -500,6 +502,12 @@ var ToolRegistry = class _ToolRegistry {
|
|
|
500
502
|
return roles.some((role) => roleSet.has(role));
|
|
501
503
|
});
|
|
502
504
|
}
|
|
505
|
+
/**
|
|
506
|
+
* Filters tools matching a specific physical impact profile (READ_ONLY, MUTATIVE, DESTRUCTIVE).
|
|
507
|
+
*/
|
|
508
|
+
getByImpact(impact) {
|
|
509
|
+
return this.getAll().filter((item) => (item.impact ?? "READ_ONLY") === impact);
|
|
510
|
+
}
|
|
503
511
|
/**
|
|
504
512
|
* Exports headless technical descriptors without UI rendering coupling.
|
|
505
513
|
*/
|
|
@@ -511,6 +519,9 @@ var ToolRegistry = class _ToolRegistry {
|
|
|
511
519
|
if (filter?.role) {
|
|
512
520
|
list = list.filter((item) => matchesRoleFilter(item, filter.role));
|
|
513
521
|
}
|
|
522
|
+
if (filter?.impact) {
|
|
523
|
+
list = list.filter((item) => (item.impact ?? "READ_ONLY") === filter.impact);
|
|
524
|
+
}
|
|
514
525
|
return list.map(toDescriptor);
|
|
515
526
|
}
|
|
516
527
|
/**
|
|
@@ -538,6 +549,18 @@ var ToolRegistry = class _ToolRegistry {
|
|
|
538
549
|
};
|
|
539
550
|
|
|
540
551
|
// src/agent/strategy.ts
|
|
552
|
+
var IMPACT_WEIGHTS = {
|
|
553
|
+
READ_ONLY: 1,
|
|
554
|
+
MUTATIVE: 2,
|
|
555
|
+
DESTRUCTIVE: 3
|
|
556
|
+
};
|
|
557
|
+
function matchesMaxImpact(tool, maxImpact) {
|
|
558
|
+
if (!maxImpact) {
|
|
559
|
+
return true;
|
|
560
|
+
}
|
|
561
|
+
const toolImpact = tool.impact ?? "READ_ONLY";
|
|
562
|
+
return IMPACT_WEIGHTS[toolImpact] <= IMPACT_WEIGHTS[maxImpact];
|
|
563
|
+
}
|
|
541
564
|
var PhaseBasedToolStrategy = class {
|
|
542
565
|
selectTools(tools, context) {
|
|
543
566
|
if (!context.phase) {
|
|
@@ -570,6 +593,24 @@ var RoleBasedToolStrategy = class {
|
|
|
570
593
|
});
|
|
571
594
|
}
|
|
572
595
|
};
|
|
596
|
+
var ReadOnlyToolStrategy = class {
|
|
597
|
+
selectTools(tools, _context) {
|
|
598
|
+
return tools.filter((tool) => (tool.impact ?? "READ_ONLY") === "READ_ONLY");
|
|
599
|
+
}
|
|
600
|
+
};
|
|
601
|
+
var MaxImpactToolStrategy = class {
|
|
602
|
+
maxImpact;
|
|
603
|
+
constructor(maxImpact) {
|
|
604
|
+
this.maxImpact = maxImpact;
|
|
605
|
+
}
|
|
606
|
+
selectTools(tools, _context) {
|
|
607
|
+
const maxWeight = IMPACT_WEIGHTS[this.maxImpact];
|
|
608
|
+
return tools.filter((tool) => {
|
|
609
|
+
const toolImpact = tool.impact ?? "READ_ONLY";
|
|
610
|
+
return IMPACT_WEIGHTS[toolImpact] <= maxWeight;
|
|
611
|
+
});
|
|
612
|
+
}
|
|
613
|
+
};
|
|
573
614
|
function matchesDomain(tool, allowedDomains) {
|
|
574
615
|
if (!allowedDomains) {
|
|
575
616
|
return true;
|
|
@@ -593,23 +634,18 @@ function matchesRoles(tool, context) {
|
|
|
593
634
|
}
|
|
594
635
|
return toolRoles.some((roleName) => userRoles.includes(roleName));
|
|
595
636
|
}
|
|
596
|
-
function matchesPermissions(tool, context) {
|
|
597
|
-
if (!tool.permissions || tool.permissions.length === 0) {
|
|
598
|
-
return true;
|
|
599
|
-
}
|
|
600
|
-
const userPermissions = context.permissions ?? [];
|
|
601
|
-
return tool.permissions.every((permissionName) => userPermissions.includes(permissionName));
|
|
602
|
-
}
|
|
603
637
|
var AccessControlToolStrategy = class {
|
|
604
638
|
allowedDomains;
|
|
639
|
+
maxImpact;
|
|
605
640
|
constructor(options) {
|
|
606
641
|
if (options?.allowedDomains) {
|
|
607
642
|
this.allowedDomains = new Set(options.allowedDomains);
|
|
608
643
|
}
|
|
644
|
+
this.maxImpact = options?.maxImpact;
|
|
609
645
|
}
|
|
610
646
|
selectTools(tools, context) {
|
|
611
647
|
return tools.filter(
|
|
612
|
-
(tool) => matchesDomain(tool, this.allowedDomains) && matchesRoles(tool, context) &&
|
|
648
|
+
(tool) => matchesDomain(tool, this.allowedDomains) && matchesRoles(tool, context) && matchesMaxImpact(tool, this.maxImpact)
|
|
613
649
|
);
|
|
614
650
|
}
|
|
615
651
|
};
|
|
@@ -1867,11 +1903,13 @@ export {
|
|
|
1867
1903
|
DtoValidationError,
|
|
1868
1904
|
HttpTelemetryExporter,
|
|
1869
1905
|
KeyValueStorageAdapter,
|
|
1906
|
+
MaxImpactToolStrategy,
|
|
1870
1907
|
MemoryStorageAdapter,
|
|
1871
1908
|
PhaseBasedToolStrategy,
|
|
1872
1909
|
PiiLeakError,
|
|
1873
1910
|
PlatformStorageAdapter,
|
|
1874
1911
|
PrismaStorageAdapter,
|
|
1912
|
+
ReadOnlyToolStrategy,
|
|
1875
1913
|
RoleBasedToolStrategy,
|
|
1876
1914
|
SQLiteStorageAdapter,
|
|
1877
1915
|
StepExecutionError,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isolated-tool.d.ts","sourceRoot":"","sources":["../../src/agent/isolated-tool.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAElB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAoHjB;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,GAAG,GAAG,EACX,OAAO,GAAG,GAAG,EACb,OAAO,GAAG,OAAO,EACjB,UAAU,GAAG,OAAO,EAEpB,MAAM,EAAE,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,GAC9D,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"isolated-tool.d.ts","sourceRoot":"","sources":["../../src/agent/isolated-tool.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAElB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAoHjB;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,GAAG,GAAG,EACX,OAAO,GAAG,GAAG,EACb,OAAO,GAAG,OAAO,EACjB,UAAU,GAAG,OAAO,EAEpB,MAAM,EAAE,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,GAC9D,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAgElC"}
|
package/dist/agent/registry.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { RegisteredTool, ToolDescriptor, VercelAiCoreTool } from "./types";
|
|
1
|
+
import type { RegisteredTool, ToolDescriptor, ToolImpact, VercelAiCoreTool } from "./types";
|
|
2
2
|
export interface ToRecordOptions {
|
|
3
3
|
anonymize?: boolean;
|
|
4
4
|
domain?: string;
|
|
@@ -6,9 +6,10 @@ export interface ToRecordOptions {
|
|
|
6
6
|
export interface ToolDescriptorFilter {
|
|
7
7
|
domain?: string;
|
|
8
8
|
role?: string;
|
|
9
|
+
impact?: ToolImpact;
|
|
9
10
|
}
|
|
10
11
|
/**
|
|
11
|
-
* Centralized catalog for managing and filtering tools with
|
|
12
|
+
* Centralized catalog for managing and filtering tools with roles, domains, impact and metadata.
|
|
12
13
|
* Supports O(1) Key-Value lookup by technical ID and by public alias.
|
|
13
14
|
*/
|
|
14
15
|
export declare class ToolRegistry {
|
|
@@ -54,6 +55,10 @@ export declare class ToolRegistry {
|
|
|
54
55
|
* Filters tools matching the user's roles (RBAC).
|
|
55
56
|
*/
|
|
56
57
|
filterByRoles(userRoles: string[]): RegisteredTool[];
|
|
58
|
+
/**
|
|
59
|
+
* Filters tools matching a specific physical impact profile (READ_ONLY, MUTATIVE, DESTRUCTIVE).
|
|
60
|
+
*/
|
|
61
|
+
getByImpact(impact: ToolImpact): RegisteredTool[];
|
|
57
62
|
/**
|
|
58
63
|
* Exports headless technical descriptors without UI rendering coupling.
|
|
59
64
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/agent/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/agent/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE5F,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAmED;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAC/D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqC;IAEvE;;OAEG;IACI,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,gBAAgB,GAAG,IAAI;IASjE;;OAEG;IACI,YAAY,CAAC,KAAK,EAAE,CAAC,cAAc,GAAG,gBAAgB,CAAC,EAAE,GAAG,IAAI;IAOvE;;OAEG;IACI,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIxD;;OAEG;IACI,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAItD;;OAEG;IACI,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAItE;;OAEG;IACI,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIrC;;OAEG;IACI,MAAM,IAAI,cAAc,EAAE;IAIjC;;OAEG;IACI,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,EAAE;IAIpD;;OAEG;IACI,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE;IASlD;;OAEG;IACI,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE;IAW3D;;OAEG;IACI,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,cAAc,EAAE;IAIxD;;OAEG;IACI,cAAc,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,cAAc,EAAE;IActE;;OAEG;IACI,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAIhF;;;OAGG;WACW,QAAQ,CACpB,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,GAAE,eAAoB,GAC5B,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC;CAYpC"}
|
package/dist/agent/strategy.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { RegisteredTool, ToolContext, ToolSelectionStrategy, VercelAiCoreTool } from "./types";
|
|
1
|
+
import type { RegisteredTool, ToolContext, ToolImpact, ToolSelectionStrategy, VercelAiCoreTool } from "./types";
|
|
2
2
|
/**
|
|
3
3
|
* Strategy selecting tools that match the current workflow phase.
|
|
4
4
|
*/
|
|
@@ -11,14 +11,30 @@ export declare class PhaseBasedToolStrategy implements ToolSelectionStrategy {
|
|
|
11
11
|
export declare class RoleBasedToolStrategy implements ToolSelectionStrategy {
|
|
12
12
|
selectTools(tools: RegisteredTool[], context: ToolContext): RegisteredTool[];
|
|
13
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Strategy selecting exclusively observation/read-only tools (ideal for auditors, critics, reflection).
|
|
16
|
+
*/
|
|
17
|
+
export declare class ReadOnlyToolStrategy implements ToolSelectionStrategy {
|
|
18
|
+
selectTools(tools: RegisteredTool[], _context: ToolContext): RegisteredTool[];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Strategy capping maximum permitted impact level for autonomous agents.
|
|
22
|
+
*/
|
|
23
|
+
export declare class MaxImpactToolStrategy implements ToolSelectionStrategy {
|
|
24
|
+
private readonly maxImpact;
|
|
25
|
+
constructor(maxImpact: ToolImpact);
|
|
26
|
+
selectTools(tools: RegisteredTool[], _context: ToolContext): RegisteredTool[];
|
|
27
|
+
}
|
|
14
28
|
export interface AccessControlToolStrategyOptions {
|
|
15
29
|
allowedDomains?: string[];
|
|
30
|
+
maxImpact?: ToolImpact;
|
|
16
31
|
}
|
|
17
32
|
/**
|
|
18
|
-
* Unified strategy evaluating
|
|
33
|
+
* Unified strategy evaluating user roles, allowed business domains and maximum impact in a single pass.
|
|
19
34
|
*/
|
|
20
35
|
export declare class AccessControlToolStrategy implements ToolSelectionStrategy {
|
|
21
36
|
private readonly allowedDomains?;
|
|
37
|
+
private readonly maxImpact?;
|
|
22
38
|
constructor(options?: AccessControlToolStrategyOptions);
|
|
23
39
|
selectTools(tools: RegisteredTool[], context: ToolContext): RegisteredTool[];
|
|
24
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../src/agent/strategy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../src/agent/strategy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,UAAU,EACV,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAgBjB;;GAEG;AACH,qBAAa,sBAAuB,YAAW,qBAAqB;IAC3D,WAAW,CAChB,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,EAAE,WAAW,GACnB,cAAc,EAAE;CAYpB;AAED;;GAEG;AACH,qBAAa,qBAAsB,YAAW,qBAAqB;IAC1D,WAAW,CAChB,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,EAAE,WAAW,GACnB,cAAc,EAAE;CAgBpB;AAED;;GAEG;AACH,qBAAa,oBAAqB,YAAW,qBAAqB;IACzD,WAAW,CAChB,KAAK,EAAE,cAAc,EAAE,EACvB,QAAQ,EAAE,WAAW,GACpB,cAAc,EAAE;CAGpB;AAED;;GAEG;AACH,qBAAa,qBAAsB,YAAW,qBAAqB;IACjE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;gBAE3B,SAAS,EAAE,UAAU;IAI1B,WAAW,CAChB,KAAK,EAAE,cAAc,EAAE,EACvB,QAAQ,EAAE,WAAW,GACpB,cAAc,EAAE;CAOpB;AAED,MAAM,WAAW,gCAAgC;IAC/C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,UAAU,CAAC;CACxB;AA2BD;;GAEG;AACH,qBAAa,yBAA0B,YAAW,qBAAqB;IACrE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAc;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAa;gBAE5B,OAAO,CAAC,EAAE,gCAAgC;IAO/C,WAAW,CAChB,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,EAAE,WAAW,GACnB,cAAc,EAAE;CAQpB;AAED;;GAEG;AACH,qBAAa,qBAAsB,YAAW,qBAAqB;IACjE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0B;gBAEzC,UAAU,EAAE,qBAAqB,EAAE;IAIlC,WAAW,CACtB,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,EAAE,CAAC;CAO7B;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,cAAc,EAAE,EACvB,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAG3C"}
|
package/dist/agent/types.d.ts
CHANGED
|
@@ -122,6 +122,10 @@ export interface ToolExecutionContext {
|
|
|
122
122
|
onInvalidationTags?: (tags: string[]) => void | Promise<void>;
|
|
123
123
|
[key: string]: unknown;
|
|
124
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* Nature physique d'effet de bord et rayon d'action de l'outil pour le confinement du LLM.
|
|
127
|
+
*/
|
|
128
|
+
export type ToolImpact = "READ_ONLY" | "MUTATIVE" | "DESTRUCTIVE";
|
|
125
129
|
/**
|
|
126
130
|
* User and environment context injected into tools.
|
|
127
131
|
*/
|
|
@@ -130,7 +134,6 @@ export interface ToolContext {
|
|
|
130
134
|
tenantId?: string;
|
|
131
135
|
role?: string;
|
|
132
136
|
roles?: string[];
|
|
133
|
-
permissions?: string[];
|
|
134
137
|
phase?: string;
|
|
135
138
|
metadata?: Record<string, unknown>;
|
|
136
139
|
[key: string]: unknown;
|
|
@@ -154,7 +157,7 @@ export type InvalidationTagsResolver<TArgs = any, TResult = any> = string[] | ((
|
|
|
154
157
|
export type DataAccessGuard<TArgs = any> = (args: TArgs, context?: ToolExecutionContext) => boolean | Promise<boolean>;
|
|
155
158
|
/**
|
|
156
159
|
* Configuration for creating an isolated tool with PII protection, Dual-Channel DTO,
|
|
157
|
-
* access governance, stable ID, aliasing and caching.
|
|
160
|
+
* access governance, stable ID, aliasing, impact categorization and caching.
|
|
158
161
|
*/
|
|
159
162
|
export interface IsolatedToolConfig<TArgs = any, TResult = any, TLLMDto = unknown, TClientDto = TResult> {
|
|
160
163
|
id?: string;
|
|
@@ -164,7 +167,7 @@ export interface IsolatedToolConfig<TArgs = any, TResult = any, TLLMDto = unknow
|
|
|
164
167
|
domain?: string;
|
|
165
168
|
resource?: string;
|
|
166
169
|
roles?: string[];
|
|
167
|
-
|
|
170
|
+
impact?: ToolImpact;
|
|
168
171
|
requireApproval?: boolean;
|
|
169
172
|
dataAccessGuard?: DataAccessGuard<TArgs>;
|
|
170
173
|
invalidationTags?: InvalidationTagsResolver<TArgs, TResult>;
|
|
@@ -195,7 +198,7 @@ export interface VercelAiCoreTool<TArgs = any, TResult = any> {
|
|
|
195
198
|
readonly _domain?: string;
|
|
196
199
|
readonly _resource?: string;
|
|
197
200
|
readonly _roles?: readonly string[];
|
|
198
|
-
readonly
|
|
201
|
+
readonly _impact?: ToolImpact;
|
|
199
202
|
readonly _requireApproval?: boolean;
|
|
200
203
|
_lastPiiFilteredCount?: number;
|
|
201
204
|
_lastInvalidationTags?: string[];
|
|
@@ -211,7 +214,7 @@ export interface RegisteredTool<TArgs = any, TResult = any> {
|
|
|
211
214
|
domain?: string;
|
|
212
215
|
resource?: string;
|
|
213
216
|
roles?: string[];
|
|
214
|
-
|
|
217
|
+
impact?: ToolImpact;
|
|
215
218
|
phases?: string[];
|
|
216
219
|
requiredRoles?: string[];
|
|
217
220
|
tags?: string[];
|
|
@@ -229,7 +232,7 @@ export interface ToolDescriptor {
|
|
|
229
232
|
domain?: string;
|
|
230
233
|
resource?: string;
|
|
231
234
|
roles?: string[];
|
|
232
|
-
|
|
235
|
+
impact?: ToolImpact;
|
|
233
236
|
requireApproval?: boolean;
|
|
234
237
|
cacheTTL?: number;
|
|
235
238
|
tags?: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agent/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "avantgate",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Zero-infrastructure, in-process AI Application Firewall (AI-WAF) & privacy control plane for TypeScript: real-time prompt guardrails, zero-egress PII redaction, agent tool isolation, anti-IDOR defense, pre-flight token budgets, and multi-model failover.",
|
|
5
5
|
"author": "Antigravity & LexTalk Team",
|
|
6
6
|
"license": "MIT",
|
|
@@ -16,6 +16,9 @@
|
|
|
16
16
|
"ai",
|
|
17
17
|
"agent",
|
|
18
18
|
"dual-channel",
|
|
19
|
+
"tool-governance",
|
|
20
|
+
"blast-radius",
|
|
21
|
+
"impact-control",
|
|
19
22
|
"token-budget",
|
|
20
23
|
"cost-control",
|
|
21
24
|
"durable-execution",
|
|
@@ -64,7 +67,7 @@
|
|
|
64
67
|
"test:finance": "tsx tests/financial-normalizer.test.ts",
|
|
65
68
|
"test:prompts": "tsx tests/prompt-builder.test.ts",
|
|
66
69
|
"test:pii": "tsx tests/pii-extended.test.ts",
|
|
67
|
-
"test:agent": "tsx tests/agent/step-runner.test.ts && tsx tests/agent/isolated-tool.test.ts && tsx tests/agent/dto-pattern.test.ts && tsx tests/agent/tool-patterns.test.ts && tsx tests/agent/storage-adapters.test.ts && tsx tests/agent/tool-aliasing.test.ts && tsx tests/agent/tool-chaining.test.ts && tsx tests/agent/tool-storage.test.ts && tsx tests/agent/telemetry-exporter.test.ts && tsx tests/agent/platform-adapter.test.ts && tsx tests/agent/tool-governance.test.ts",
|
|
70
|
+
"test:agent": "tsx tests/agent/step-runner.test.ts && tsx tests/agent/isolated-tool.test.ts && tsx tests/agent/dto-pattern.test.ts && tsx tests/agent/tool-patterns.test.ts && tsx tests/agent/storage-adapters.test.ts && tsx tests/agent/tool-aliasing.test.ts && tsx tests/agent/tool-chaining.test.ts && tsx tests/agent/tool-storage.test.ts && tsx tests/agent/telemetry-exporter.test.ts && tsx tests/agent/platform-adapter.test.ts && tsx tests/agent/tool-governance.test.ts && tsx tests/agent/tool-impact.test.ts",
|
|
68
71
|
"lint": "tsc --noEmit",
|
|
69
72
|
"prepublishOnly": "npm run build && npm test"
|
|
70
73
|
},
|