@arvo-tools/agentic 1.2.15 → 1.2.17
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/agentLoop.d.ts.map +1 -1
- package/dist/Agent/agentLoop.js +93 -53
- package/dist/Agent/agentLoop.js.map +1 -1
- package/dist/Agent/index.d.ts.map +1 -1
- package/dist/Agent/index.js +21 -9
- package/dist/Agent/index.js.map +1 -1
- package/dist/SimplePermissionManager/contract.d.ts +5 -0
- package/dist/SimplePermissionManager/contract.d.ts.map +1 -1
- package/dist/SimplePermissionManager/contract.js +1 -0
- package/dist/SimplePermissionManager/contract.js.map +1 -1
- package/dist/SimplePermissionManager/index.d.ts +32 -24
- package/dist/SimplePermissionManager/index.d.ts.map +1 -1
- package/dist/SimplePermissionManager/index.js +101 -63
- package/dist/SimplePermissionManager/index.js.map +1 -1
- package/dist/interfaces.permission.manager.d.ts +30 -88
- package/dist/interfaces.permission.manager.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { type InferVersionedArvoContract, type VersionedArvoContract } from 'arvo-core';
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import type { NonEmptyArray, OtelInfoType } from '../types';
|
|
2
|
+
import type { IPermissionManager, ToolAuthorizationState } from '../interfaces.permission.manager';
|
|
3
|
+
import type { NonEmptyArray } from '../types';
|
|
5
4
|
import { simplePermissionContract } from './contract';
|
|
6
5
|
/**
|
|
7
6
|
* Simple in-memory permission manager for development and testing.
|
|
@@ -36,14 +35,17 @@ export declare class SimplePermissionManager implements IPermissionManager<Versi
|
|
|
36
35
|
name: import("zod").ZodString;
|
|
37
36
|
originalName: import("zod").ZodString;
|
|
38
37
|
kind: import("zod").ZodString;
|
|
38
|
+
requests: import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodAny>, "many">>;
|
|
39
39
|
}, "strip", import("zod").ZodTypeAny, {
|
|
40
40
|
kind: string;
|
|
41
41
|
name: string;
|
|
42
42
|
originalName: string;
|
|
43
|
+
requests: Record<string, any>[] | null;
|
|
43
44
|
}, {
|
|
44
45
|
kind: string;
|
|
45
46
|
name: string;
|
|
46
47
|
originalName: string;
|
|
48
|
+
requests: Record<string, any>[] | null;
|
|
47
49
|
}>>;
|
|
48
50
|
}, "strip", import("zod").ZodTypeAny, {
|
|
49
51
|
agentId: string;
|
|
@@ -53,6 +55,7 @@ export declare class SimplePermissionManager implements IPermissionManager<Versi
|
|
|
53
55
|
kind: string;
|
|
54
56
|
name: string;
|
|
55
57
|
originalName: string;
|
|
58
|
+
requests: Record<string, any>[] | null;
|
|
56
59
|
}>;
|
|
57
60
|
}, {
|
|
58
61
|
agentId: string;
|
|
@@ -62,6 +65,7 @@ export declare class SimplePermissionManager implements IPermissionManager<Versi
|
|
|
62
65
|
kind: string;
|
|
63
66
|
name: string;
|
|
64
67
|
originalName: string;
|
|
68
|
+
requests: Record<string, any>[] | null;
|
|
65
69
|
}>;
|
|
66
70
|
}>;
|
|
67
71
|
emits: import("zod").ZodObject<{
|
|
@@ -89,14 +93,17 @@ export declare class SimplePermissionManager implements IPermissionManager<Versi
|
|
|
89
93
|
name: import("zod").ZodString;
|
|
90
94
|
originalName: import("zod").ZodString;
|
|
91
95
|
kind: import("zod").ZodString;
|
|
96
|
+
requests: import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodAny>, "many">>;
|
|
92
97
|
}, "strip", import("zod").ZodTypeAny, {
|
|
93
98
|
kind: string;
|
|
94
99
|
name: string;
|
|
95
100
|
originalName: string;
|
|
101
|
+
requests: Record<string, any>[] | null;
|
|
96
102
|
}, {
|
|
97
103
|
kind: string;
|
|
98
104
|
name: string;
|
|
99
105
|
originalName: string;
|
|
106
|
+
requests: Record<string, any>[] | null;
|
|
100
107
|
}>>;
|
|
101
108
|
}, "strip", import("zod").ZodTypeAny, {
|
|
102
109
|
agentId: string;
|
|
@@ -106,6 +113,7 @@ export declare class SimplePermissionManager implements IPermissionManager<Versi
|
|
|
106
113
|
kind: string;
|
|
107
114
|
name: string;
|
|
108
115
|
originalName: string;
|
|
116
|
+
requests: Record<string, any>[] | null;
|
|
109
117
|
}>;
|
|
110
118
|
}, {
|
|
111
119
|
agentId: string;
|
|
@@ -115,6 +123,7 @@ export declare class SimplePermissionManager implements IPermissionManager<Versi
|
|
|
115
123
|
kind: string;
|
|
116
124
|
name: string;
|
|
117
125
|
originalName: string;
|
|
126
|
+
requests: Record<string, any>[] | null;
|
|
118
127
|
}>;
|
|
119
128
|
}>;
|
|
120
129
|
emits: import("zod").ZodObject<{
|
|
@@ -132,7 +141,15 @@ export declare class SimplePermissionManager implements IPermissionManager<Versi
|
|
|
132
141
|
}>;
|
|
133
142
|
};
|
|
134
143
|
}, Record<string, any>>, "1.0.0">;
|
|
135
|
-
readonly
|
|
144
|
+
private readonly _contract;
|
|
145
|
+
private readonly _permissions;
|
|
146
|
+
private readonly _domains;
|
|
147
|
+
private readonly enableCleanUp;
|
|
148
|
+
private readonly shareToolInputInRequest;
|
|
149
|
+
private readonly permissionPersistance;
|
|
150
|
+
get permissions(): Map<string, Record<string, boolean>>;
|
|
151
|
+
get domains(): NonEmptyArray<string> | null;
|
|
152
|
+
get contract(): VersionedArvoContract<import("arvo-core").SimpleArvoContract<"#/arvo/tools/default/agentic/permission/simple", "arvo.default.simple.permission.request", {
|
|
136
153
|
'1.0.0': {
|
|
137
154
|
accepts: import("zod").ZodObject<{
|
|
138
155
|
agentId: import("zod").ZodString;
|
|
@@ -142,14 +159,17 @@ export declare class SimplePermissionManager implements IPermissionManager<Versi
|
|
|
142
159
|
name: import("zod").ZodString;
|
|
143
160
|
originalName: import("zod").ZodString;
|
|
144
161
|
kind: import("zod").ZodString;
|
|
162
|
+
requests: import("zod").ZodNullable<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodAny>, "many">>;
|
|
145
163
|
}, "strip", import("zod").ZodTypeAny, {
|
|
146
164
|
kind: string;
|
|
147
165
|
name: string;
|
|
148
166
|
originalName: string;
|
|
167
|
+
requests: Record<string, any>[] | null;
|
|
149
168
|
}, {
|
|
150
169
|
kind: string;
|
|
151
170
|
name: string;
|
|
152
171
|
originalName: string;
|
|
172
|
+
requests: Record<string, any>[] | null;
|
|
153
173
|
}>>;
|
|
154
174
|
}, "strip", import("zod").ZodTypeAny, {
|
|
155
175
|
agentId: string;
|
|
@@ -159,6 +179,7 @@ export declare class SimplePermissionManager implements IPermissionManager<Versi
|
|
|
159
179
|
kind: string;
|
|
160
180
|
name: string;
|
|
161
181
|
originalName: string;
|
|
182
|
+
requests: Record<string, any>[] | null;
|
|
162
183
|
}>;
|
|
163
184
|
}, {
|
|
164
185
|
agentId: string;
|
|
@@ -168,6 +189,7 @@ export declare class SimplePermissionManager implements IPermissionManager<Versi
|
|
|
168
189
|
kind: string;
|
|
169
190
|
name: string;
|
|
170
191
|
originalName: string;
|
|
192
|
+
requests: Record<string, any>[] | null;
|
|
171
193
|
}>;
|
|
172
194
|
}>;
|
|
173
195
|
emits: import("zod").ZodObject<{
|
|
@@ -185,30 +207,16 @@ export declare class SimplePermissionManager implements IPermissionManager<Versi
|
|
|
185
207
|
}>;
|
|
186
208
|
};
|
|
187
209
|
}, Record<string, any>>, "1.0.0">;
|
|
188
|
-
readonly domains: NonEmptyArray<string> | null;
|
|
189
|
-
readonly permissions: Map<string, Record<string, boolean>>;
|
|
190
|
-
readonly enableCleanUp: boolean;
|
|
191
210
|
constructor(config: {
|
|
192
211
|
domains: NonEmptyArray<string> | null;
|
|
193
212
|
enableCleanUp?: boolean;
|
|
213
|
+
shareToolInputInRequest?: boolean;
|
|
214
|
+
permissionPersistance?: 'SINGLE_USE' | 'WORKFLOW_WIDE';
|
|
194
215
|
});
|
|
195
216
|
private getKey;
|
|
196
|
-
get(source
|
|
197
|
-
|
|
198
|
-
}): Promise<
|
|
199
|
-
|
|
200
|
-
data: {
|
|
201
|
-
granted: string[];
|
|
202
|
-
denied: string[];
|
|
203
|
-
};
|
|
204
|
-
}, config: {
|
|
205
|
-
otelInfo: OtelInfoType;
|
|
206
|
-
}): Promise<void>;
|
|
207
|
-
requestBuilder(source: PermissionManagerContext, tools: AgentToolDefinition<any>[], config: {
|
|
208
|
-
otelInfo: OtelInfoType;
|
|
209
|
-
}): Promise<InferVersionedArvoContract<VersionedArvoContract<typeof simplePermissionContract, '1.0.0'>>['accepts']['data']>;
|
|
210
|
-
cleanup(source: PermissionManagerContext, config: {
|
|
211
|
-
otelInfo: OtelInfoType;
|
|
212
|
-
}): Promise<void>;
|
|
217
|
+
get({ source, tools, config, }: Parameters<IPermissionManager['get']>[0]): Promise<Record<string, ToolAuthorizationState>>;
|
|
218
|
+
set({ source, event, config }: Parameters<IPermissionManager['set']>[0]): Promise<void>;
|
|
219
|
+
requestBuilder({ source, tools, config, }: Parameters<IPermissionManager['requestBuilder']>[0]): Promise<InferVersionedArvoContract<VersionedArvoContract<typeof simplePermissionContract, '1.0.0'>>['accepts']['data']>;
|
|
220
|
+
cleanup({ source, config, }: Parameters<NonNullable<IPermissionManager['cleanup']>>[0]): Promise<void>;
|
|
213
221
|
}
|
|
214
222
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/SimplePermissionManager/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC3B,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/SimplePermissionManager/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC3B,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EACV,kBAAkB,EAElB,sBAAsB,EACvB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,uBACX,YAAW,kBAAkB,CAAC,qBAAqB,CAAC,OAAO,wBAAwB,EAAE,OAAO,CAAC,CAAC;IAE9F,MAAM,CAAC,QAAQ,CAAC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAA4B;IACpD,MAAM,CAAC,QAAQ,CAAC,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCAA6C;IAC/E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6C;IACvE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA8C;IAC3E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+B;IACxD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IACxC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAU;IAClD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiC;IAEvE,IAAI,WAAW,yCAEd;IAED,IAAI,OAAO,iCAEV;IAED,IAAI,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCAEX;gBAEW,MAAM,EAAE;QAClB,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QACtC,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,qBAAqB,CAAC,EAAE,YAAY,GAAG,eAAe,CAAC;KACxD;IAOD,OAAO,CAAC,MAAM;IAIR,GAAG,CAAC,EACR,MAAM,EACN,KAAK,EACL,MAAM,GACP,EAAE,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IA6CvF,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCvF,cAAc,CAAC,EACnB,MAAM,EACN,KAAK,EACL,MAAM,GACP,EAAE,UAAU,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAC9D,0BAA0B,CACxB,qBAAqB,CAAC,OAAO,wBAAwB,EAAE,OAAO,CAAC,CAChE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CACrB;IA8CK,OAAO,CAAC,EACZ,MAAM,EACN,MAAM,GACP,EAAE,UAAU,CAAC,WAAW,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CA6B7E"}
|
|
@@ -75,24 +75,45 @@ var contract_1 = require("./contract");
|
|
|
75
75
|
*/
|
|
76
76
|
var SimplePermissionManager = /** @class */ (function () {
|
|
77
77
|
function SimplePermissionManager(config) {
|
|
78
|
-
var _a;
|
|
79
|
-
this.
|
|
80
|
-
this.
|
|
81
|
-
this.
|
|
82
|
-
this.domains = config.domains;
|
|
78
|
+
var _a, _b, _c;
|
|
79
|
+
this._contract = contract_1.simplePermissionContract.version('1.0.0');
|
|
80
|
+
this._permissions = new Map();
|
|
81
|
+
this._domains = config.domains;
|
|
83
82
|
this.enableCleanUp = (_a = config.enableCleanUp) !== null && _a !== void 0 ? _a : true;
|
|
83
|
+
this.shareToolInputInRequest = (_b = config.shareToolInputInRequest) !== null && _b !== void 0 ? _b : true;
|
|
84
|
+
this.permissionPersistance = (_c = config.permissionPersistance) !== null && _c !== void 0 ? _c : 'WORKFLOW_WIDE';
|
|
84
85
|
}
|
|
86
|
+
Object.defineProperty(SimplePermissionManager.prototype, "permissions", {
|
|
87
|
+
get: function () {
|
|
88
|
+
return structuredClone(this._permissions);
|
|
89
|
+
},
|
|
90
|
+
enumerable: false,
|
|
91
|
+
configurable: true
|
|
92
|
+
});
|
|
93
|
+
Object.defineProperty(SimplePermissionManager.prototype, "domains", {
|
|
94
|
+
get: function () {
|
|
95
|
+
return structuredClone(this._domains);
|
|
96
|
+
},
|
|
97
|
+
enumerable: false,
|
|
98
|
+
configurable: true
|
|
99
|
+
});
|
|
100
|
+
Object.defineProperty(SimplePermissionManager.prototype, "contract", {
|
|
101
|
+
get: function () {
|
|
102
|
+
return this._contract;
|
|
103
|
+
},
|
|
104
|
+
enumerable: false,
|
|
105
|
+
configurable: true
|
|
106
|
+
});
|
|
85
107
|
SimplePermissionManager.prototype.getKey = function (source) {
|
|
86
108
|
return "".concat(source.name, ":").concat(source.subject);
|
|
87
109
|
};
|
|
88
|
-
SimplePermissionManager.prototype.get = function (
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
92
|
-
var _a;
|
|
110
|
+
SimplePermissionManager.prototype.get = function (_a) {
|
|
111
|
+
return __awaiter(this, arguments, void 0, function (_b) {
|
|
112
|
+
var _c;
|
|
93
113
|
var _this = this;
|
|
94
|
-
|
|
95
|
-
|
|
114
|
+
var source = _b.source, tools = _b.tools, config = _b.config;
|
|
115
|
+
return __generator(this, function (_d) {
|
|
116
|
+
switch (_d.label) {
|
|
96
117
|
case 0: return [4 /*yield*/, arvo_core_1.ArvoOpenTelemetry.getInstance().startActiveSpan({
|
|
97
118
|
name: 'Permission.Check',
|
|
98
119
|
disableSpanManagement: true,
|
|
@@ -101,9 +122,9 @@ var SimplePermissionManager = /** @class */ (function () {
|
|
|
101
122
|
traceHeaders: config.otelInfo.headers,
|
|
102
123
|
},
|
|
103
124
|
spanOptions: {
|
|
104
|
-
attributes: (
|
|
105
|
-
|
|
106
|
-
|
|
125
|
+
attributes: (_c = {},
|
|
126
|
+
_c[openinference_semantic_conventions_1.SemanticConventions.OPENINFERENCE_SPAN_KIND] = openinference_semantic_conventions_1.OpenInferenceSpanKind.GUARDRAIL,
|
|
127
|
+
_c),
|
|
107
128
|
},
|
|
108
129
|
fn: function (span) { return __awaiter(_this, void 0, void 0, function () {
|
|
109
130
|
var key, granted_1, result;
|
|
@@ -111,18 +132,26 @@ var SimplePermissionManager = /** @class */ (function () {
|
|
|
111
132
|
return __generator(this, function (_b) {
|
|
112
133
|
try {
|
|
113
134
|
key = this.getKey(source);
|
|
114
|
-
granted_1 = (_a = this.
|
|
115
|
-
result = Object.fromEntries(tools.map(function (
|
|
116
|
-
tool.
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
135
|
+
granted_1 = (_a = this._permissions.get(key)) !== null && _a !== void 0 ? _a : {};
|
|
136
|
+
result = Object.fromEntries(Object.values(tools).map(function (_a) {
|
|
137
|
+
var tool = _a.definition;
|
|
138
|
+
return [
|
|
139
|
+
tool.name,
|
|
140
|
+
(function () {
|
|
141
|
+
if (granted_1[tool.name] === true)
|
|
142
|
+
return 'APPROVED';
|
|
143
|
+
if (granted_1[tool.name] === false)
|
|
144
|
+
return 'DENIED';
|
|
145
|
+
return 'REQUESTABLE';
|
|
146
|
+
})(),
|
|
147
|
+
];
|
|
148
|
+
}));
|
|
125
149
|
span.setAttribute('tool.permission.map', JSON.stringify(result));
|
|
150
|
+
if (this.permissionPersistance === 'SINGLE_USE') {
|
|
151
|
+
// Drain all permissions for the source
|
|
152
|
+
// once they are accessed.
|
|
153
|
+
this._permissions.delete(key);
|
|
154
|
+
}
|
|
126
155
|
return [2 /*return*/, result];
|
|
127
156
|
}
|
|
128
157
|
catch (error) {
|
|
@@ -136,17 +165,18 @@ var SimplePermissionManager = /** @class */ (function () {
|
|
|
136
165
|
});
|
|
137
166
|
}); },
|
|
138
167
|
})];
|
|
139
|
-
case 1: return [2 /*return*/,
|
|
168
|
+
case 1: return [2 /*return*/, _d.sent()];
|
|
140
169
|
}
|
|
141
170
|
});
|
|
142
171
|
});
|
|
143
172
|
};
|
|
144
|
-
SimplePermissionManager.prototype.set = function (
|
|
145
|
-
return __awaiter(this,
|
|
146
|
-
var
|
|
173
|
+
SimplePermissionManager.prototype.set = function (_a) {
|
|
174
|
+
return __awaiter(this, arguments, void 0, function (_b) {
|
|
175
|
+
var _c;
|
|
147
176
|
var _this = this;
|
|
148
|
-
|
|
149
|
-
|
|
177
|
+
var source = _b.source, event = _b.event, config = _b.config;
|
|
178
|
+
return __generator(this, function (_d) {
|
|
179
|
+
switch (_d.label) {
|
|
150
180
|
case 0: return [4 /*yield*/, arvo_core_1.ArvoOpenTelemetry.getInstance().startActiveSpan({
|
|
151
181
|
name: 'Permission.Update',
|
|
152
182
|
disableSpanManagement: true,
|
|
@@ -155,9 +185,9 @@ var SimplePermissionManager = /** @class */ (function () {
|
|
|
155
185
|
traceHeaders: config.otelInfo.headers,
|
|
156
186
|
},
|
|
157
187
|
spanOptions: {
|
|
158
|
-
attributes: (
|
|
159
|
-
|
|
160
|
-
|
|
188
|
+
attributes: (_c = {},
|
|
189
|
+
_c[openinference_semantic_conventions_1.SemanticConventions.OPENINFERENCE_SPAN_KIND] = openinference_semantic_conventions_1.OpenInferenceSpanKind.GUARDRAIL,
|
|
190
|
+
_c),
|
|
161
191
|
},
|
|
162
192
|
fn: function (span) { return __awaiter(_this, void 0, void 0, function () {
|
|
163
193
|
var key, granted, _a, _b, toolName, _c, _d, toolName;
|
|
@@ -166,7 +196,7 @@ var SimplePermissionManager = /** @class */ (function () {
|
|
|
166
196
|
return __generator(this, function (_h) {
|
|
167
197
|
try {
|
|
168
198
|
key = this.getKey(source);
|
|
169
|
-
granted = (_g = this.
|
|
199
|
+
granted = (_g = this._permissions.get(key)) !== null && _g !== void 0 ? _g : {};
|
|
170
200
|
try {
|
|
171
201
|
for (_a = __values(event.data.granted), _b = _a.next(); !_b.done; _b = _a.next()) {
|
|
172
202
|
toolName = _b.value;
|
|
@@ -193,7 +223,7 @@ var SimplePermissionManager = /** @class */ (function () {
|
|
|
193
223
|
}
|
|
194
224
|
finally { if (e_2) throw e_2.error; }
|
|
195
225
|
}
|
|
196
|
-
this.
|
|
226
|
+
this._permissions.set(key, granted);
|
|
197
227
|
span.setAttribute('tool.permission.map', JSON.stringify(granted));
|
|
198
228
|
}
|
|
199
229
|
catch (error) {
|
|
@@ -207,19 +237,18 @@ var SimplePermissionManager = /** @class */ (function () {
|
|
|
207
237
|
});
|
|
208
238
|
}); },
|
|
209
239
|
})];
|
|
210
|
-
case 1: return [2 /*return*/,
|
|
240
|
+
case 1: return [2 /*return*/, _d.sent()];
|
|
211
241
|
}
|
|
212
242
|
});
|
|
213
243
|
});
|
|
214
244
|
};
|
|
215
|
-
SimplePermissionManager.prototype.requestBuilder = function (
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
219
|
-
var _a;
|
|
245
|
+
SimplePermissionManager.prototype.requestBuilder = function (_a) {
|
|
246
|
+
return __awaiter(this, arguments, void 0, function (_b) {
|
|
247
|
+
var _c;
|
|
220
248
|
var _this = this;
|
|
221
|
-
|
|
222
|
-
|
|
249
|
+
var source = _b.source, tools = _b.tools, config = _b.config;
|
|
250
|
+
return __generator(this, function (_d) {
|
|
251
|
+
switch (_d.label) {
|
|
223
252
|
case 0: return [4 /*yield*/, arvo_core_1.ArvoOpenTelemetry.getInstance().startActiveSpan({
|
|
224
253
|
name: 'Permission.Request',
|
|
225
254
|
disableSpanManagement: true,
|
|
@@ -228,21 +257,29 @@ var SimplePermissionManager = /** @class */ (function () {
|
|
|
228
257
|
traceHeaders: config.otelInfo.headers,
|
|
229
258
|
},
|
|
230
259
|
spanOptions: {
|
|
231
|
-
attributes: (
|
|
232
|
-
|
|
233
|
-
|
|
260
|
+
attributes: (_c = {},
|
|
261
|
+
_c[openinference_semantic_conventions_1.SemanticConventions.OPENINFERENCE_SPAN_KIND] = openinference_semantic_conventions_1.OpenInferenceSpanKind.GUARDRAIL,
|
|
262
|
+
_c),
|
|
234
263
|
},
|
|
235
264
|
fn: function (span) { return __awaiter(_this, void 0, void 0, function () {
|
|
236
265
|
var request;
|
|
266
|
+
var _this = this;
|
|
237
267
|
return __generator(this, function (_a) {
|
|
238
268
|
try {
|
|
239
269
|
request = {
|
|
240
270
|
agentId: source.name,
|
|
241
271
|
reason: "Agent ".concat(source.name, " is requesting permission to execute following tools"),
|
|
242
|
-
requestedTools:
|
|
243
|
-
toolMetaData: Object.fromEntries(tools.map(function (t) { return [
|
|
244
|
-
t.name,
|
|
245
|
-
{
|
|
272
|
+
requestedTools: Object.values(tools).map(function (t) { return t.definition.name; }),
|
|
273
|
+
toolMetaData: Object.fromEntries(Object.values(tools).map(function (t) { return [
|
|
274
|
+
t.definition.name,
|
|
275
|
+
{
|
|
276
|
+
name: t.definition.name,
|
|
277
|
+
originalName: t.definition.serverConfig.name,
|
|
278
|
+
kind: t.definition.serverConfig.kind,
|
|
279
|
+
requests: _this.shareToolInputInRequest
|
|
280
|
+
? t.requests.map(function (item) { return ({ input: item.input }); })
|
|
281
|
+
: null,
|
|
282
|
+
},
|
|
246
283
|
]; })),
|
|
247
284
|
};
|
|
248
285
|
span.setAttribute('tool.permission.request', JSON.stringify(request));
|
|
@@ -259,17 +296,18 @@ var SimplePermissionManager = /** @class */ (function () {
|
|
|
259
296
|
});
|
|
260
297
|
}); },
|
|
261
298
|
})];
|
|
262
|
-
case 1: return [2 /*return*/,
|
|
299
|
+
case 1: return [2 /*return*/, _d.sent()];
|
|
263
300
|
}
|
|
264
301
|
});
|
|
265
302
|
});
|
|
266
303
|
};
|
|
267
|
-
SimplePermissionManager.prototype.cleanup = function (
|
|
268
|
-
return __awaiter(this,
|
|
269
|
-
var
|
|
304
|
+
SimplePermissionManager.prototype.cleanup = function (_a) {
|
|
305
|
+
return __awaiter(this, arguments, void 0, function (_b) {
|
|
306
|
+
var _c;
|
|
270
307
|
var _this = this;
|
|
271
|
-
|
|
272
|
-
|
|
308
|
+
var source = _b.source, config = _b.config;
|
|
309
|
+
return __generator(this, function (_d) {
|
|
310
|
+
switch (_d.label) {
|
|
273
311
|
case 0:
|
|
274
312
|
if (!this.enableCleanUp)
|
|
275
313
|
return [2 /*return*/];
|
|
@@ -281,16 +319,16 @@ var SimplePermissionManager = /** @class */ (function () {
|
|
|
281
319
|
traceHeaders: config.otelInfo.headers,
|
|
282
320
|
},
|
|
283
321
|
spanOptions: {
|
|
284
|
-
attributes: (
|
|
285
|
-
|
|
286
|
-
|
|
322
|
+
attributes: (_c = {},
|
|
323
|
+
_c[openinference_semantic_conventions_1.SemanticConventions.OPENINFERENCE_SPAN_KIND] = openinference_semantic_conventions_1.OpenInferenceSpanKind.GUARDRAIL,
|
|
324
|
+
_c),
|
|
287
325
|
},
|
|
288
326
|
fn: function (span) { return __awaiter(_this, void 0, void 0, function () {
|
|
289
327
|
var key;
|
|
290
328
|
return __generator(this, function (_a) {
|
|
291
329
|
try {
|
|
292
330
|
key = this.getKey(source);
|
|
293
|
-
this.
|
|
331
|
+
this._permissions.delete(key);
|
|
294
332
|
span.setAttribute('tool.permission.cleanup.key', key);
|
|
295
333
|
}
|
|
296
334
|
catch (error) {
|
|
@@ -304,7 +342,7 @@ var SimplePermissionManager = /** @class */ (function () {
|
|
|
304
342
|
});
|
|
305
343
|
}); },
|
|
306
344
|
})];
|
|
307
|
-
case 1: return [2 /*return*/,
|
|
345
|
+
case 1: return [2 /*return*/, _d.sent()];
|
|
308
346
|
}
|
|
309
347
|
});
|
|
310
348
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/SimplePermissionManager/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kGAGqD;AACrD,uCAKmB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/SimplePermissionManager/index.ts"],"names":[],"mappings":"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"}
|