@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.
@@ -1,7 +1,6 @@
1
1
  import { type InferVersionedArvoContract, type VersionedArvoContract } from 'arvo-core';
2
- import type { AgentToolDefinition } from '../Agent/types';
3
- import type { IPermissionManager, PermissionManagerContext, ToolAuthorizationState } from '../interfaces.permission.manager';
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 contract: VersionedArvoContract<import("arvo-core").SimpleArvoContract<"#/arvo/tools/default/agentic/permission/simple", "arvo.default.simple.permission.request", {
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: PermissionManagerContext, tools: AgentToolDefinition<any>[], config: {
197
- otelInfo: OtelInfoType;
198
- }): Promise<Record<string, ToolAuthorizationState>>;
199
- set(source: PermissionManagerContext, event: {
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,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EACV,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC5D,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,SAAgB,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCAA6C;IACrE,SAAgB,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,WAAW,uCAA8C;IAClE,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAQ;gBAE3B,MAAM,EAAE;QAAE,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE;IAKtF,OAAO,CAAC,MAAM;IAIR,GAAG,CACP,MAAM,EAAE,wBAAwB,EAEhC,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAE,EACjC,MAAM,EAAE;QAAE,QAAQ,EAAE,YAAY,CAAA;KAAE,GACjC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAwC5C,GAAG,CACP,MAAM,EAAE,wBAAwB,EAChC,KAAK,EAAE;QAAE,IAAI,EAAE;YAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YAAC,MAAM,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,EACxD,MAAM,EAAE;QAAE,QAAQ,EAAE,YAAY,CAAA;KAAE,GACjC,OAAO,CAAC,IAAI,CAAC;IAoCV,cAAc,CAClB,MAAM,EAAE,wBAAwB,EAEhC,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAE,EACjC,MAAM,EAAE;QAAE,QAAQ,EAAE,YAAY,CAAA;KAAE,GACjC,OAAO,CACR,0BAA0B,CACxB,qBAAqB,CAAC,OAAO,wBAAwB,EAAE,OAAO,CAAC,CAChE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CACrB;IAuCK,OAAO,CACX,MAAM,EAAE,wBAAwB,EAChC,MAAM,EAAE;QAAE,QAAQ,EAAE,YAAY,CAAA;KAAE,GACjC,OAAO,CAAC,IAAI,CAAC;CA6BjB"}
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.contract = contract_1.simplePermissionContract.version('1.0.0');
80
- this.permissions = new Map();
81
- this.enableCleanUp = true;
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 (source,
89
- // biome-ignore lint/suspicious/noExplicitAny: Needs to be general
90
- tools, config) {
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
- return __generator(this, function (_b) {
95
- switch (_b.label) {
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: (_a = {},
105
- _a[openinference_semantic_conventions_1.SemanticConventions.OPENINFERENCE_SPAN_KIND] = openinference_semantic_conventions_1.OpenInferenceSpanKind.GUARDRAIL,
106
- _a),
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.permissions.get(key)) !== null && _a !== void 0 ? _a : {};
115
- result = Object.fromEntries(tools.map(function (tool) { return [
116
- tool.name,
117
- (function () {
118
- if (granted_1[tool.name] === true)
119
- return 'APPROVED';
120
- if (granted_1[tool.name] === false)
121
- return 'DENIED';
122
- return 'REQUESTABLE';
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*/, _b.sent()];
168
+ case 1: return [2 /*return*/, _d.sent()];
140
169
  }
141
170
  });
142
171
  });
143
172
  };
144
- SimplePermissionManager.prototype.set = function (source, event, config) {
145
- return __awaiter(this, void 0, void 0, function () {
146
- var _a;
173
+ SimplePermissionManager.prototype.set = function (_a) {
174
+ return __awaiter(this, arguments, void 0, function (_b) {
175
+ var _c;
147
176
  var _this = this;
148
- return __generator(this, function (_b) {
149
- switch (_b.label) {
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: (_a = {},
159
- _a[openinference_semantic_conventions_1.SemanticConventions.OPENINFERENCE_SPAN_KIND] = openinference_semantic_conventions_1.OpenInferenceSpanKind.GUARDRAIL,
160
- _a),
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.permissions.get(key)) !== null && _g !== void 0 ? _g : {};
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.permissions.set(key, granted);
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*/, _b.sent()];
240
+ case 1: return [2 /*return*/, _d.sent()];
211
241
  }
212
242
  });
213
243
  });
214
244
  };
215
- SimplePermissionManager.prototype.requestBuilder = function (source,
216
- // biome-ignore lint/suspicious/noExplicitAny: Needs to be general
217
- tools, config) {
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
- return __generator(this, function (_b) {
222
- switch (_b.label) {
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: (_a = {},
232
- _a[openinference_semantic_conventions_1.SemanticConventions.OPENINFERENCE_SPAN_KIND] = openinference_semantic_conventions_1.OpenInferenceSpanKind.GUARDRAIL,
233
- _a),
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: Array.from(new Set(tools.map(function (t) { return t.name; }))),
243
- toolMetaData: Object.fromEntries(tools.map(function (t) { return [
244
- t.name,
245
- { name: t.name, originalName: t.serverConfig.name, kind: t.serverConfig.kind },
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*/, _b.sent()];
299
+ case 1: return [2 /*return*/, _d.sent()];
263
300
  }
264
301
  });
265
302
  });
266
303
  };
267
- SimplePermissionManager.prototype.cleanup = function (source, config) {
268
- return __awaiter(this, void 0, void 0, function () {
269
- var _a;
304
+ SimplePermissionManager.prototype.cleanup = function (_a) {
305
+ return __awaiter(this, arguments, void 0, function (_b) {
306
+ var _c;
270
307
  var _this = this;
271
- return __generator(this, function (_b) {
272
- switch (_b.label) {
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: (_a = {},
285
- _a[openinference_semantic_conventions_1.SemanticConventions.OPENINFERENCE_SPAN_KIND] = openinference_semantic_conventions_1.OpenInferenceSpanKind.GUARDRAIL,
286
- _a),
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.permissions.delete(key);
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*/, _b.sent()];
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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/SimplePermissionManager/index.ts"],"names":[],"mappings":"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"}