@superblocksteam/vite-plugin-file-sync 2.0.68-next.0 → 2.0.68-next.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.
Files changed (87) hide show
  1. package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
  2. package/dist/ai-service/agent/tools/apis/test-api.js +28 -17
  3. package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
  4. package/dist/ai-service/agent/tools/build-delete-file.d.ts.map +1 -1
  5. package/dist/ai-service/agent/tools/build-delete-file.js +29 -0
  6. package/dist/ai-service/agent/tools/build-delete-file.js.map +1 -1
  7. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts.map +1 -1
  8. package/dist/ai-service/agent/tools/integrations/execute-request.js +5 -4
  9. package/dist/ai-service/agent/tools/integrations/execute-request.js.map +1 -1
  10. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  11. package/dist/ai-service/agent/tools.js +17 -6
  12. package/dist/ai-service/agent/tools.js.map +1 -1
  13. package/dist/ai-service/agent/tools2/entity-permissions.d.ts +23 -20
  14. package/dist/ai-service/agent/tools2/entity-permissions.d.ts.map +1 -1
  15. package/dist/ai-service/agent/tools2/entity-permissions.js +15 -11
  16. package/dist/ai-service/agent/tools2/entity-permissions.js.map +1 -1
  17. package/dist/ai-service/agent/tools2/example.js +2 -2
  18. package/dist/ai-service/agent/tools2/example.js.map +1 -1
  19. package/dist/ai-service/agent/tools2/index.d.ts +1 -1
  20. package/dist/ai-service/agent/tools2/index.d.ts.map +1 -1
  21. package/dist/ai-service/agent/tools2/index.js +1 -1
  22. package/dist/ai-service/agent/tools2/index.js.map +1 -1
  23. package/dist/ai-service/agent/tools2/registry.d.ts +4 -4
  24. package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
  25. package/dist/ai-service/agent/tools2/registry.js +42 -29
  26. package/dist/ai-service/agent/tools2/registry.js.map +1 -1
  27. package/dist/ai-service/agent/tools2/types.d.ts +36 -15
  28. package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
  29. package/dist/ai-service/agent/tools2/types.js.map +1 -1
  30. package/dist/ai-service/chat/chat-session-store.d.ts +5 -7
  31. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  32. package/dist/ai-service/chat/chat-session-store.js +36 -17
  33. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  34. package/dist/ai-service/chat/extract-history.d.ts +0 -85
  35. package/dist/ai-service/chat/extract-history.d.ts.map +1 -1
  36. package/dist/ai-service/chat/extract-history.js +3 -239
  37. package/dist/ai-service/chat/extract-history.js.map +1 -1
  38. package/dist/ai-service/index.d.ts +3 -2
  39. package/dist/ai-service/index.d.ts.map +1 -1
  40. package/dist/ai-service/index.js +26 -4
  41. package/dist/ai-service/index.js.map +1 -1
  42. package/dist/ai-service/llm/context/constants.d.ts +7 -0
  43. package/dist/ai-service/llm/context/constants.d.ts.map +1 -1
  44. package/dist/ai-service/llm/context/constants.js +7 -0
  45. package/dist/ai-service/llm/context/constants.js.map +1 -1
  46. package/dist/ai-service/llm/context/context.d.ts +8 -1
  47. package/dist/ai-service/llm/context/context.d.ts.map +1 -1
  48. package/dist/ai-service/llm/context/context.js +47 -12
  49. package/dist/ai-service/llm/context/context.js.map +1 -1
  50. package/dist/ai-service/llm/context/internal-types.d.ts +1 -0
  51. package/dist/ai-service/llm/context/internal-types.d.ts.map +1 -1
  52. package/dist/ai-service/llm/context/internal-types.js.map +1 -1
  53. package/dist/ai-service/llm/context/manager.d.ts +2 -1
  54. package/dist/ai-service/llm/context/manager.d.ts.map +1 -1
  55. package/dist/ai-service/llm/context/manager.js +2 -1
  56. package/dist/ai-service/llm/context/manager.js.map +1 -1
  57. package/dist/ai-service/llm/context/utils/message-utils.d.ts +10 -0
  58. package/dist/ai-service/llm/context/utils/message-utils.d.ts.map +1 -1
  59. package/dist/ai-service/llm/context/utils/message-utils.js +74 -0
  60. package/dist/ai-service/llm/context/utils/message-utils.js.map +1 -1
  61. package/dist/ai-service/llm/error.d.ts +1 -1
  62. package/dist/ai-service/state-machine/clark-fsm.d.ts +4 -1
  63. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  64. package/dist/ai-service/state-machine/clark-fsm.js +3 -1
  65. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  66. package/dist/ai-service/state-machine/handlers/idle.d.ts.map +1 -1
  67. package/dist/ai-service/state-machine/handlers/idle.js +3 -1
  68. package/dist/ai-service/state-machine/handlers/idle.js.map +1 -1
  69. package/dist/ai-service/state-machine/handlers/runtime-reviewing.d.ts.map +1 -1
  70. package/dist/ai-service/state-machine/handlers/runtime-reviewing.js +4 -1
  71. package/dist/ai-service/state-machine/handlers/runtime-reviewing.js.map +1 -1
  72. package/dist/ai-service/state-machine/helpers/context-id.d.ts +1 -1
  73. package/dist/ai-service/state-machine/helpers/context-id.d.ts.map +1 -1
  74. package/dist/ai-service/state-machine/helpers/context-id.js +6 -7
  75. package/dist/ai-service/state-machine/helpers/context-id.js.map +1 -1
  76. package/dist/ai-service/state-machine/mocks.d.ts +1 -0
  77. package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
  78. package/dist/ai-service/state-machine/mocks.js +5 -1
  79. package/dist/ai-service/state-machine/mocks.js.map +1 -1
  80. package/dist/socket-manager.d.ts.map +1 -1
  81. package/dist/socket-manager.js +18 -6
  82. package/dist/socket-manager.js.map +1 -1
  83. package/dist/sync-service/index.d.ts +5 -0
  84. package/dist/sync-service/index.d.ts.map +1 -1
  85. package/dist/sync-service/index.js +13 -1
  86. package/dist/sync-service/index.js.map +1 -1
  87. package/package.json +6 -6
@@ -86,7 +86,7 @@ export function setupExampleRegistry() {
86
86
  // Or use a preset
87
87
  // registry.addAccessRule(...presets.production());
88
88
  // 2. Setup prompt handler
89
- registry.setPromptHandler(async (tool, input, context) => {
89
+ registry.setPromptHandler(async (tool, input, _permissions, context) => {
90
90
  console.log(`\n=== User Confirmation Required ===`);
91
91
  console.log(`Tool: ${tool.name}`);
92
92
  // Use tool formatting methods if available
@@ -113,7 +113,7 @@ export function setupExampleRegistry() {
113
113
  console.log(`===================================\n`);
114
114
  // In real implementation, show dialog and wait for user response
115
115
  // For example: return await showConfirmDialog({ tool, input });
116
- return ToolPermissionResponse.ALLOW; // Mock: auto-approve for demo
116
+ return { response: ToolPermissionResponse.ALLOW }; // Mock: auto-approve for demo
117
117
  });
118
118
  // 3. Register and instantiate tools with dependencies
119
119
  const mockDeps = {};
@@ -1 +1 @@
1
- {"version":3,"file":"example.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/example.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"example.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/example.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@
10
10
  export type { Tool, ToolFactory, ToolExecutionResult, AccessControlContext, AccessControlRule, PromptHandler, EntityReference, } from "./types.js";
11
11
  export { PermissionLevel, ToolCategory, ToolPermissionResponse, createToolFactory, } from "./types.js";
12
12
  export type { EntityPermissionStore } from "./entity-permissions.js";
13
- export { SessionEntityPermissionStore } from "./entity-permissions.js";
13
+ export { SessionEntityPermissionStore, PermissionKeyStrategy, ActionBasedPermissionKeyStrategy, type PermissionScope, type PermissionKey, } from "./entity-permissions.js";
14
14
  export { ToolRegistry } from "./registry.js";
15
15
  export { blockTools, promptForTools, requireRole, combineRules, forTools, forCategory, presets, } from "./access-control.js";
16
16
  import { ToolRegistry } from "./registry.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,YAAY,EACV,IAAI,EACJ,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,EACf,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAGpB,YAAY,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAGvE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EACL,UAAU,EACV,cAAc,EACd,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,OAAO,GACR,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,eAAO,MAAM,eAAe,cAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,YAAY,EACV,IAAI,EACJ,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,eAAe,EACf,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAGpB,YAAY,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACrB,gCAAgC,EAChC,KAAK,eAAe,EACpB,KAAK,aAAa,GACnB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EACL,UAAU,EACV,cAAc,EACd,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,OAAO,GACR,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,eAAO,MAAM,eAAe,cAAqB,CAAC"}
@@ -8,7 +8,7 @@
8
8
  * - Type-safe tool definitions
9
9
  */
10
10
  export { PermissionLevel, ToolCategory, ToolPermissionResponse, createToolFactory, } from "./types.js";
11
- export { SessionEntityPermissionStore } from "./entity-permissions.js";
11
+ export { SessionEntityPermissionStore, PermissionKeyStrategy, ActionBasedPermissionKeyStrategy, } from "./entity-permissions.js";
12
12
  // Export registry
13
13
  export { ToolRegistry } from "./registry.js";
14
14
  // Export access control utilities
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,OAAO,EACL,eAAe,EACf,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAEvE,kBAAkB;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,kCAAkC;AAClC,OAAO,EACL,UAAU,EACV,cAAc,EACd,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,OAAO,GACR,MAAM,qBAAqB,CAAC;AAE7B,4CAA4C;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,OAAO,EACL,eAAe,EACf,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAIpB,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACrB,gCAAgC,GAGjC,MAAM,yBAAyB,CAAC;AAEjC,kBAAkB;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,kCAAkC;AAClC,OAAO,EACL,UAAU,EACV,cAAc,EACd,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,OAAO,GACR,MAAM,qBAAqB,CAAC;AAE7B,4CAA4C;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,YAAY,EAAE,CAAC"}
@@ -118,9 +118,9 @@ export declare class ToolRegistry {
118
118
  /**
119
119
  * Set entity permission store for tracking per-entity approvals.
120
120
  *
121
- * When set, tools with `extractEntities` defined will automatically
122
- * check if extracted entities have been approved before execution.
123
- * If any entity is not approved, the user will be prompted.
121
+ * When set, tools with `getRequiredPermissions` defined will automatically
122
+ * check if required permissions have been approved before execution.
123
+ * If any permission is not approved, the user will be prompted.
124
124
  *
125
125
  * @param store - Entity permission store instance
126
126
  */
@@ -134,7 +134,7 @@ export declare class ToolRegistry {
134
134
  * @param tool - Tool to get scope for
135
135
  * @returns Permission scope string
136
136
  */
137
- private getToolPermissionScope;
137
+ private getPermissionScope;
138
138
  /**
139
139
  * Check permission level for tool execution.
140
140
  *
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/registry.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { OperationQueue } from "../../../util/operation-queue.js";
2
- import { ToolNamePermissionKeyStrategy, } from "./entity-permissions.js";
2
+ import { ActionBasedPermissionKeyStrategy, } from "./entity-permissions.js";
3
3
  import { PermissionLevel, ToolPermissionResponse, ToolExecutionError, } from "./types.js";
4
4
  /**
5
5
  * Central registry for tools with access control.
@@ -18,7 +18,7 @@ export class ToolRegistry {
18
18
  promptHandler;
19
19
  promptQueue = new OperationQueue();
20
20
  entityPermissionStore;
21
- scopeStrategy = new ToolNamePermissionKeyStrategy();
21
+ scopeStrategy = new ActionBasedPermissionKeyStrategy();
22
22
  /**
23
23
  * Register a tool factory and optionally instantiate it immediately.
24
24
  *
@@ -169,14 +169,14 @@ export class ToolRegistry {
169
169
  * @param handler - Prompt handler function
170
170
  */
171
171
  setPromptHandler(handler) {
172
- this.promptHandler = (tool, input, context) => this.promptQueue.enqueue(() => handler(tool, input, context));
172
+ this.promptHandler = (tool, input, permissions, context) => this.promptQueue.enqueue(() => handler(tool, input, permissions, context));
173
173
  }
174
174
  /**
175
175
  * Set entity permission store for tracking per-entity approvals.
176
176
  *
177
- * When set, tools with `extractEntities` defined will automatically
178
- * check if extracted entities have been approved before execution.
179
- * If any entity is not approved, the user will be prompted.
177
+ * When set, tools with `getRequiredPermissions` defined will automatically
178
+ * check if required permissions have been approved before execution.
179
+ * If any permission is not approved, the user will be prompted.
180
180
  *
181
181
  * @param store - Entity permission store instance
182
182
  */
@@ -192,8 +192,8 @@ export class ToolRegistry {
192
192
  * @param tool - Tool to get scope for
193
193
  * @returns Permission scope string
194
194
  */
195
- getToolPermissionScope(tool) {
196
- const key = this.scopeStrategy.getToolPermissionKey(tool);
195
+ async getPermissionScope(permission, input) {
196
+ const key = await this.scopeStrategy.getPermissionKey(permission, input);
197
197
  return this.scopeStrategy.formatScope(key);
198
198
  }
199
199
  /**
@@ -263,7 +263,7 @@ export class ToolRegistry {
263
263
  // Handle PROMPT
264
264
  if (permission === PermissionLevel.PROMPT) {
265
265
  // Check if we need to prompt (or if entities are already approved)
266
- const needsPrompt = this.shouldPromptForEntities(tool, input, context);
266
+ const needsPrompt = await this.shouldPromptForEntities(tool, input, context);
267
267
  if (needsPrompt) {
268
268
  // Ensure prompt handler exists
269
269
  if (!this.promptHandler) {
@@ -272,18 +272,24 @@ export class ToolRegistry {
272
272
  error: new ToolExecutionError(`Tool "${toolName}" requires user confirmation but no prompt handler registered`, { toolName, input, context }),
273
273
  };
274
274
  }
275
+ const permissions = (await Promise.all(((await tool.getRequiredPermissions?.(input)) ?? []).map(async (permission) => ({
276
+ permission,
277
+ isApproved: this.entityPermissionStore?.isApproved(permission.entityType, permission.entityId, await this.getPermissionScope(permission, input)),
278
+ }))))
279
+ .filter(({ isApproved }) => !isApproved)
280
+ .map(({ permission }) => permission);
275
281
  // Prompt user for approval
276
- const response = await this.promptHandler(tool, input, context);
282
+ const promptResult = await this.promptHandler(tool, input, permissions, context);
277
283
  // Handle DENY
278
- if (response === ToolPermissionResponse.DENY) {
284
+ if (promptResult.response === ToolPermissionResponse.DENY) {
279
285
  return {
280
286
  type: "error",
281
287
  error: new ToolExecutionError(`Tool "${toolName}" execution rejected by user`, { toolName, input, context }),
282
288
  };
283
289
  }
284
290
  // Handle ALWAYS_ALLOW - store entity approvals for future use
285
- if (response === ToolPermissionResponse.ALWAYS_ALLOW) {
286
- this.approveEntitiesAfterPrompt(tool, input);
291
+ if (promptResult.response === ToolPermissionResponse.ALWAYS_ALLOW) {
292
+ await this.approveEntitiesAfterPrompt(tool, input, promptResult.alwaysAllowPermissions);
287
293
  }
288
294
  // Handle ALLOW - proceed to execution without storing permission
289
295
  // (no special action needed, just continue to execution)
@@ -325,23 +331,25 @@ export class ToolRegistry {
325
331
  * @param input - Tool input to extract entities from
326
332
  * @returns True if we should prompt user, false if we can skip
327
333
  */
328
- shouldPromptForEntities(tool, input, _context) {
334
+ async shouldPromptForEntities(tool, input, _context) {
329
335
  // No entity system configured, use standard prompting
330
336
  const entityPermissionStore = this.entityPermissionStore;
331
- if (!tool.extractEntities || !entityPermissionStore) {
337
+ if (!tool.getRequiredPermissions || !entityPermissionStore) {
332
338
  return true;
333
339
  }
334
- const entities = tool.extractEntities(input);
340
+ const permissions = await tool.getRequiredPermissions(input);
335
341
  // No entities extracted, use standard prompting
336
- if (entities.length === 0) {
342
+ if (permissions.length === 0) {
337
343
  return true;
338
344
  }
339
- // Compute scope for this tool
340
- const scope = this.getToolPermissionScope(tool);
341
345
  // Check if any entities are not approved for this scope
342
- return entities.some((entity) => {
343
- return !entityPermissionStore.isApproved(entity.type, entity.id, scope);
344
- });
346
+ // Map each permission to a promise that resolves to true if not approved
347
+ const approvalChecks = await Promise.all(permissions.map(async (permission) => {
348
+ const scope = await this.getPermissionScope(permission, input);
349
+ return !entityPermissionStore.isApproved(permission.entityType, permission.entityId, scope);
350
+ }));
351
+ // Return true if any permission is not approved (needs prompt)
352
+ return approvalChecks.some((needsPrompt) => needsPrompt);
345
353
  }
346
354
  /**
347
355
  * Store entity approvals after successful user prompt.
@@ -353,16 +361,21 @@ export class ToolRegistry {
353
361
  * @param tool - Tool that was approved
354
362
  * @param input - Tool input to extract entities from
355
363
  */
356
- approveEntitiesAfterPrompt(tool, input) {
364
+ async approveEntitiesAfterPrompt(tool, input, alwaysAllowPermissions) {
357
365
  // No entity system configured
358
- if (!tool.extractEntities || !this.entityPermissionStore) {
366
+ if (!tool.getRequiredPermissions || !this.entityPermissionStore) {
359
367
  return;
360
368
  }
361
- // Compute scope for this tool
362
- const scope = this.getToolPermissionScope(tool);
363
- const entities = tool.extractEntities(input);
364
- for (const entity of entities) {
365
- this.entityPermissionStore.approve(entity.type, entity.id, scope);
369
+ const permissions = await tool.getRequiredPermissions(input);
370
+ const permissionsToApprove = alwaysAllowPermissions
371
+ ? permissions.filter((permission) => alwaysAllowPermissions.some((alwaysAllow) => alwaysAllow.entityType === permission.entityType &&
372
+ alwaysAllow.entityId === permission.entityId &&
373
+ alwaysAllow.permissionType === permission.permissionType))
374
+ : [];
375
+ for (const permission of permissionsToApprove) {
376
+ // Compute scope for each permission individually
377
+ const scope = await this.getPermissionScope(permission, input);
378
+ this.entityPermissionStore.approve(permission.entityType, permission.entityId, scope);
366
379
  }
367
380
  }
368
381
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EACL,gCAAgC,GAGjC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAOL,eAAe,EACf,sBAAsB,EACtB,kBAAkB,GAEnB,MAAM,YAAY,CAAC;AAKpB;;;;;;;;GAQG;AAEH,MAAM,OAAO,YAAY;IACf,SAAS,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC3C,SAAS,GAAG,IAAI,GAAG,EAAgB,CAAC;IACpC,WAAW,GAAwB,EAAE,CAAC;IACtC,UAAU,GAAqB,EAAE,CAAC;IAClC,aAAa,CAAiB;IAC9B,WAAW,GAAG,IAAI,cAAc,EAAE,CAAC;IACnC,qBAAqB,CAAyB;IAC9C,aAAa,GACnB,IAAI,gCAAgC,EAAE,CAAC;IAEzC;;;;;;OAMG;IACH,QAAQ,CAAQ,OAA2B,EAAE,IAAY;QACvD,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,SAAS,OAAO,CAAC,IAAI,sBAAsB,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE1C,wDAAwD;QACxD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CACb,qCAAqC,OAAO,CAAC,IAAI,oBAAoB,QAAQ,CAAC,IAAI,GAAG,CACtF,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,IAAS;QACpB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,sBAAsB,CAAC,CAAC;QAC5D,CAAC;QACD,kEAAkE;QAClE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAY,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,SAAwB;QAClC,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,OAAO,CAAC,IAAY,EAAE,OAA8B;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,CAAC;IAED;;;;;;;OAOG;IACH,WAAW,CAAC,OAA8B;QACxC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACxD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,OAA8B;QAM5C,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC9C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC1C,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,cAAc,CAClB,OAA8B;QAE9B,MAAM,GAAG,GAAG,OAAO,IAAI,EAAE,CAAC;QAC1B,2BAA2B;QAC3B,MAAM,YAAY,GAAqB,EAAE,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC9D,IAAI,UAAU,KAAK,eAAe,CAAC,KAAK,EAAE,CAAC;gBACzC,SAAS;YACX,CAAC;YACD,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,GAAG,KAA0B;QACzC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,GAAG,UAA4B;QAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,OAAsB;QACrC,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,CACzD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,CAC5B,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAC3C,CAAC;IACN,CAAC;IAED;;;;;;;;OAQG;IACH,wBAAwB,CAAC,KAA4B;QACnD,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACrC,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,kBAAkB,CAC9B,UAA4B,EAC5B,KAAU;QAEV,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,eAAe,CACnB,QAAgB,EAChB,OAA6B,EAC7B,KAAW;QAEX,uCAAuC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,eAAe,CAAC,KAAK,CAAC;QAC/B,CAAC;QACD,IAAI,UAAU,GAAG,IAAI,EAAE,iBAAiB,IAAI,eAAe,CAAC,KAAK,CAAC;QAElE,yCAAyC;QACzC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAEhD,4BAA4B;YAC5B,IAAI,MAAM,KAAK,eAAe,CAAC,KAAK,EAAE,CAAC;gBACrC,OAAO,eAAe,CAAC,KAAK,CAAC;YAC/B,CAAC;YAED,wCAAwC;YACxC,IAAI,MAAM,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;gBACtC,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC;YACtC,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,OAAO,CACX,QAAgB,EAChB,KAAY,EACZ,UAAgC,EAAE,EAClC,OAAyB;QAEzB,kEAAkE;QAClE,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,IAAI,kBAAkB,CAAC,SAAS,QAAQ,aAAa,EAAE;oBAC5D,QAAQ;oBACR,KAAK;oBACL,OAAO;iBACR,CAAC;aACH,CAAC;QACJ,CAAC;QAED,mBAAmB;QACnB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAExE,eAAe;QACf,IAAI,UAAU,KAAK,eAAe,CAAC,KAAK,EAAE,CAAC;YACzC,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,IAAI,kBAAkB,CAC3B,SAAS,QAAQ,uCAAuC,EACxD,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAC7B;aACF,CAAC;QACJ,CAAC;QAED,gBAAgB;QAChB,IAAI,UAAU,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;YAC1C,mEAAmE;YACnE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,uBAAuB,CACpD,IAAI,EACJ,KAAK,EACL,OAAO,CACR,CAAC;YAEF,IAAI,WAAW,EAAE,CAAC;gBAChB,+BAA+B;gBAC/B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;oBACxB,OAAO;wBACL,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,IAAI,kBAAkB,CAC3B,SAAS,QAAQ,+DAA+D,EAChF,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAC7B;qBACF,CAAC;gBACJ,CAAC;gBAED,MAAM,WAAW,GAAG,CAClB,MAAM,OAAO,CAAC,GAAG,CACf,CAAC,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CACtD,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;oBACrB,UAAU;oBACV,UAAU,EAAE,IAAI,CAAC,qBAAqB,EAAE,UAAU,CAChD,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,QAAQ,EACnB,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,CACjD;iBACF,CAAC,CACH,CACF,CACF;qBACE,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC;qBACvC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;gBAEvC,2BAA2B;gBAC3B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAC3C,IAAI,EACJ,KAAK,EACL,WAAW,EACX,OAAO,CACR,CAAC;gBAEF,cAAc;gBACd,IAAI,YAAY,CAAC,QAAQ,KAAK,sBAAsB,CAAC,IAAI,EAAE,CAAC;oBAC1D,OAAO;wBACL,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,IAAI,kBAAkB,CAC3B,SAAS,QAAQ,8BAA8B,EAC/C,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAC7B;qBACF,CAAC;gBACJ,CAAC;gBAED,8DAA8D;gBAC9D,IAAI,YAAY,CAAC,QAAQ,KAAK,sBAAsB,CAAC,YAAY,EAAE,CAAC;oBAClE,MAAM,IAAI,CAAC,0BAA0B,CACnC,IAAI,EACJ,KAAK,EACL,YAAY,CAAC,sBAAsB,CACpC,CAAC;gBACJ,CAAC;gBAED,iEAAiE;gBACjE,yDAAyD;YAC3D,CAAC;YACD,wEAAwE;QAC1E,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAC/B,SAAS,EACT,OAAO,IAAI;gBACT,UAAU,EAAE,EAAE;gBACd,QAAQ,EAAE,EAAE;aACb,CACF,CAAC;YAEF,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,MAAgB;aACvB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,IAAI,kBAAkB,CAAC;oBAC5B,QAAQ;oBACR,KAAK;oBACL,OAAO;oBACP,KAAK,EAAE,KAAK;iBACb,CAAC;aACH,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACK,KAAK,CAAC,uBAAuB,CACnC,IAAU,EACV,KAAU,EACV,QAA+B;QAE/B,sDAAsD;QACtD,MAAM,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAE7D,gDAAgD;QAChD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,wDAAwD;QACxD,yEAAyE;QACzE,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YACnC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC/D,OAAO,CAAC,qBAAqB,CAAC,UAAU,CACtC,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,QAAQ,EACnB,KAAK,CACN,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QACF,+DAA+D;QAC/D,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,0BAA0B,CACtC,IAAU,EACV,KAAU,EACV,sBAA2C;QAE3C,8BAA8B;QAC9B,IAAI,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChE,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC7D,MAAM,oBAAoB,GAAG,sBAAsB;YACjD,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAChC,sBAAsB,CAAC,IAAI,CACzB,CAAC,WAAW,EAAE,EAAE,CACd,WAAW,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU;gBAChD,WAAW,CAAC,QAAQ,KAAK,UAAU,CAAC,QAAQ;gBAC5C,WAAW,CAAC,cAAc,KAAK,UAAU,CAAC,cAAc,CAC3D,CACF;YACH,CAAC,CAAC,EAAE,CAAC;QAEP,KAAK,MAAM,UAAU,IAAI,oBAAoB,EAAE,CAAC;YAC9C,iDAAiD;YACjD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC/D,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAChC,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,QAAQ,EACnB,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACK,QAAQ,CAAiB,IAAO,EAAE,OAA6B;QACrE,OAAO;YACL,GAAG,IAAI;YACP,OAAO,EAAE,KAAK,EAAE,KAAU,EAAE,OAAyB,EAAE,EAAE;gBACvD,yEAAyE;gBACzE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBACtE,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC5B,MAAM,MAAM,CAAC,KAAK,CAAC;gBACrB,CAAC;gBACD,OAAO,MAAM,CAAC,IAAI,CAAC;YACrB,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,IAAY;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAEO,eAAe,CAAC,IAAoB;QAC1C,IAAI,aAAa,GAAG,IAAI,CAAC;QACzB,qEAAqE;QACrE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACrD,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,aAAa,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;IACzC,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
1
  import type { SubagentType } from "../subagents/types.js";
2
- import type { AiMode, AiEntityType, PlanContext, PromptContextEntity, PromptContextIntegration } from "@superblocksteam/library-shared/types";
2
+ import type { AiMode, AiEntityType, PlanContext, PromptContextEntity, PromptContextIntegration, AiPermissionType, AiToolPermission } from "@superblocksteam/library-shared/types";
3
3
  import type { ToolCallOptions } from "ai";
4
4
  import type z from "zod";
5
5
  /**
@@ -55,22 +55,19 @@ export interface Tool<Input = any, Output = any> {
55
55
  /** Optional function to transform output for the model */
56
56
  toModelOutput?: (output: Output) => any;
57
57
  /**
58
- * Optional function to extract entity references from tool input.
59
- *
60
- * When defined, the registry will automatically check if all extracted
61
- * entities have been approved before executing the tool. If any entity
62
- * is not approved, the user will be prompted for permission.
58
+ * Optional function to get the required permissions for the tool.
63
59
  *
64
60
  * @param input - Validated tool input
65
- * @returns Array of entity references that require approval
61
+ * @returns Array of required permissions
66
62
  *
67
63
  * @example
68
- * extractEntities: (input) => [{
69
- * type: EntityType.INTEGRATION,
70
- * id: input.integrationId
64
+ * getRequiredPermissions: (input) => [{
65
+ * entityType: AiEntityType.PAGE,
66
+ * entityId: input.filePath,
67
+ * permissionType: AiPermissionType.DELETE,
71
68
  * }]
72
69
  */
73
- extractEntities?: (input: Input) => EntityReference[];
70
+ getRequiredPermissions?: (input: Input) => Promise<AiToolPermission[]> | AiToolPermission[];
74
71
  /**
75
72
  * Optional function to get action name in different tenses.
76
73
  *
@@ -112,6 +109,23 @@ export interface Tool<Input = any, Output = any> {
112
109
  details?: string;
113
110
  summary?: string;
114
111
  };
112
+ /**
113
+ * Optional function to determine the permission type (read or write) for this tool.
114
+ *
115
+ * If not provided, defaults to "read" if the tool is readOnly, otherwise "write".
116
+ * This allows tools to dynamically determine permission type based on input.
117
+ *
118
+ * @param input - Validated tool input
119
+ * @returns "read" or "write" permission type
120
+ *
121
+ * @example
122
+ * getPermissionType: async (input) => {
123
+ * const apiSource = await readApiSource(services, input.apiName);
124
+ * const hasMutations = extractMutations(apiSource.content).length > 0;
125
+ * return hasMutations ? "write" : "read";
126
+ * }
127
+ */
128
+ getPermissionType?: (input: Input) => Promise<AiPermissionType>;
115
129
  }
116
130
  /**
117
131
  * Permission levels for tool execution.
@@ -185,7 +199,7 @@ export declare function createToolFactory<TInputSchema extends z.ZodTypeAny, TDe
185
199
  outputSchema?: TOutputSchema;
186
200
  execute: (input: TInput, options: ToolCallOptions) => Promise<TOutput>;
187
201
  toModelOutput?: (output: TOutput) => any;
188
- extractEntities?: (input: TInput) => EntityReference[];
202
+ getRequiredPermissions?: (input: TInput) => Promise<AiToolPermission[]> | AiToolPermission[];
189
203
  getActionName?: () => {
190
204
  future: string;
191
205
  present: string;
@@ -231,6 +245,13 @@ export interface AccessControlContext {
231
245
  * Rules are evaluated in order, most restrictive wins.
232
246
  */
233
247
  export type AccessControlRule = (tool: Tool, context: AccessControlContext, input?: any) => PermissionLevel | Promise<PermissionLevel>;
248
+ /**
249
+ * Result from a prompt handler, including the response and which permissions to always allow.
250
+ */
251
+ export interface PromptHandlerResult {
252
+ response: ToolPermissionResponse;
253
+ alwaysAllowPermissions?: AiToolPermission[];
254
+ }
234
255
  /**
235
256
  * Handler for prompting user for confirmation.
236
257
  *
@@ -241,14 +262,14 @@ export type AccessControlRule = (tool: Tool, context: AccessControlContext, inpu
241
262
  * - tool.name, tool.description, tool.category for context
242
263
  * - tool.getActionName() for tense-based display (if defined)
243
264
  * - tool.formatInput(input) for human-readable input summary (if defined)
244
- * - tool.extractEntities(input) to see what entities will be accessed (if defined)
265
+ * - tool.getRequiredPermissions(input) to see what entities will be accessed (if defined)
245
266
  *
246
267
  * Returns:
247
268
  * - ALLOW: Execute once, don't store permission
248
- * - ALWAYS_ALLOW: Execute and store permission for future use
269
+ * - ALWAYS_ALLOW: Execute and store permission for future use (with alwaysAllowPermissions indicating which specific permissions to store)
249
270
  * - DENY: Block execution
250
271
  */
251
- export type PromptHandler = (tool: Tool, input: any, context: AccessControlContext, options?: ToolCallOptions) => Promise<ToolPermissionResponse>;
272
+ export type PromptHandler = (tool: Tool, input: any, permissions: AiToolPermission[], context: AccessControlContext, options?: ToolCallOptions) => Promise<PromptHandlerResult>;
252
273
  /**
253
274
  * Middleware function that can transform tools.
254
275
  * Receives the tool name and tool instance, returns transformed tool.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EACV,MAAM,EACN,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAC1C,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB;;GAEG;AACH,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,OAAO,YAAY;IACnB,GAAG,QAAQ;IACX,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,IAAI,EAAE,YAAY,CAAC;IACnB,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;;;GAMG;AACH,MAAM,WAAW,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE,MAAM,GAAG,GAAG;IAC7C,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,QAAQ,EAAE,YAAY,CAAC;IACvB,4DAA4D;IAC5D,iBAAiB,CAAC,EAAE,eAAe,CAAC;IACpC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sCAAsC;IACtC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,gDAAgD;IAChD,YAAY,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,4CAA4C;IAC5C,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrE,0DAA0D;IAC1D,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,GAAG,CAAC;IACxC;;;;;;;;;;;;OAYG;IACH,sBAAsB,CAAC,EAAE,CACvB,KAAK,EAAE,KAAK,KACT,OAAO,CAAC,gBAAgB,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC;IACtD;;;;;;;;;;;;;;OAcG;IACH,aAAa,CAAC,EAAE,MAAM;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF;;;;;;;;;;;;;;;OAeG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK;QAC9B,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF;;;;;;;;;;;;;;;OAeG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACjE;AAED;;GAEG;AACH,oBAAY,eAAe;IACzB,mDAAmD;IACnD,KAAK,UAAU;IACf,oDAAoD;IACpD,MAAM,WAAW;IACjB,iCAAiC;IACjC,KAAK,UAAU;CAChB;AAED;;;;;GAKG;AACH,oBAAY,sBAAsB;IAChC,gGAAgG;IAChG,KAAK,UAAU;IACf,qGAAqG;IACrG,YAAY,iBAAiB;IAC7B,iCAAiC;IACjC,IAAI,SAAS;CACd;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,GAAG,IAAI;IAC7D,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,SAAS,CAAC,CAAC,UAAU,EACjC,KAAK,EACL,aAAa,SAAS,CAAC,CAAC,UAAU,GAAG,SAAS,GAAG,SAAS,EAC1D,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,EAC9B,OAAO,GAAG,aAAa,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,GAAG,EAE3E,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;IACvB,iBAAiB,CAAC,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,YAAY,CAAC;IAC1B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvE,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,GAAG,CAAC;IACzC,sBAAsB,CAAC,EAAE,CACvB,KAAK,EAAE,MAAM,KACV,OAAO,CAAC,gBAAgB,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC;IACtD,aAAa,CAAC,EAAE,MAAM;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK;QAC/B,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,GACA,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAK3C;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,eAAe;IACf,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,cAAc;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,6DAA6D;IAC7D,qBAAqB,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACnD,2DAA2D;IAC3D,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,8CAA8C;IAC9C,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,oCAAoC;IACpC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAC9B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,oBAAoB,EAC7B,KAAK,CAAC,EAAE,GAAG,KACR,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,sBAAsB,CAAC;IACjC,sBAAsB,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC7C;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,GAAG,EACV,WAAW,EAAE,gBAAgB,EAAE,EAC/B,OAAO,EAAE,oBAAoB,EAC7B,OAAO,CAAC,EAAE,eAAe,KACtB,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAElC;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;AAElD;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,MAAM,GAAG,GAAG,IACxC,0BAA0B,CAAC,MAAM,CAAC,GAClC,wBAAwB,CAAC;AAE7B,MAAM,MAAM,0BAA0B,CAAC,MAAM,GAAG,GAAG,IAAI;IACrD,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,kBAAkB,CAAC;CAC3B,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC;IACX,OAAO,EAAE,oBAAoB,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,kBAAmB,YAAW,KAAK;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAwB;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,yBAAyB,CAAC;IAC7C,OAAO,CAAC,QAAQ,CAAC,CAAS;gBAEd,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,yBAAyB;gBACpD,OAAO,CAAC,EAAE,yBAAyB;IAa/C,IAAI,QAAQ,uBAEX;IAED,IAAI,KAAK,QAER;IAED,IAAI,OAAO,WAkBV;IAED,IAAI,KAAK,uBAKR;IAED,IAAI,KAAK,YAER;IAED;;;OAGG;IACH,MAAM;;;;;;;;CAiBP"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
+ import { type AiChangeInfoPush, type AiMessagePush, type AiChatMessage, type AiChatSummary, type Attachment } from "@superblocksteam/library-shared/types";
1
2
  import { type Logger } from "../../util/logger.js";
2
3
  import type { AutoConnectingRpcClient } from "../../server-rpc/index.js";
3
- import type { AiChangeInfoPush, AiMessagePush, AiChatMessage, AiChatSummary, Attachment } from "@superblocksteam/library-shared/types";
4
4
  export type AiChatItem = AiChatMessage | AiChatSummary;
5
5
  export type AiChatSummaryWithOutcome = AiChatSummary & {
6
6
  outcome: "accepted" | "rejected" | "unknown";
@@ -13,7 +13,6 @@ interface ChatSessionStoreConfig {
13
13
  logger: Logger;
14
14
  }
15
15
  export declare class ChatSessionStore {
16
- private static readonly CHARS_PER_TOKEN;
17
16
  private applicationId;
18
17
  private rpcClient;
19
18
  private logger;
@@ -35,12 +34,11 @@ export declare class ChatSessionStore {
35
34
  private validateChatItemV1;
36
35
  private ensureLoadedFromServer;
37
36
  getLastUserMessage(): AiChatMessage | undefined;
38
- getRecentExchanges(): {
39
- role: "user" | "assistant";
40
- content: string;
41
- }[];
42
- getMessages(): Promise<AiChatMessage[]>;
37
+ getMessages(options?: {
38
+ force?: boolean;
39
+ }): Promise<AiChatMessage[]>;
43
40
  newChat(): Promise<void>;
41
+ truncateAfterTimestamp(sinceTimestamp: number): Promise<void>;
44
42
  recordUser(text: string, options?: {
45
43
  attachments?: Array<Attachment>;
46
44
  }): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-session-store.d.ts","sourceRoot":"","sources":["../../../src/ai-service/chat/chat-session-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-session-store.d.ts","sourceRoot":"","sources":["../../../src/ai-service/chat/chat-session-store.ts"],"names":[],"mappings":"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"}
@@ -32,9 +32,10 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
32
32
  if (target) Object.defineProperty(target, contextIn.name, descriptor);
33
33
  done = true;
34
34
  };
35
+ import { EXCLUDED_MESSAGE_TYPES, } from "@superblocksteam/library-shared/types";
35
36
  import { getErrorMeta } from "../../util/logger.js";
36
37
  import llmobs from "../llmobs/index.js";
37
- import { extractProductiveHistoryForContext, getLastUserMessage, } from "./extract-history.js";
38
+ import { getLastUserMessage } from "./extract-history.js";
38
39
  export function isAiChatMessage(item) {
39
40
  return "role" in item && "content" in item;
40
41
  }
@@ -68,8 +69,6 @@ let ChatSessionStore = (() => {
68
69
  __esDecorate(this, null, _getLatestSummary_decorators, { kind: "method", name: "getLatestSummary", static: false, private: false, access: { has: obj => "getLatestSummary" in obj, get: obj => obj.getLatestSummary }, metadata: _metadata }, null, _instanceExtraInitializers);
69
70
  if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
70
71
  }
71
- // Approximate number of characters per token for estimating token usage
72
- static CHARS_PER_TOKEN = 3.5;
73
72
  applicationId = __runInitializers(this, _instanceExtraInitializers);
74
73
  rpcClient;
75
74
  logger;
@@ -148,9 +147,7 @@ let ChatSessionStore = (() => {
148
147
  const status = typeof msg.status === "string" ? msg.status : undefined;
149
148
  const action = typeof msg.action === "string" ? msg.action : undefined;
150
149
  const title = typeof msg.title === "string" ? msg.title : undefined;
151
- const streaming = typeof msg.streaming === "boolean"
152
- ? msg.streaming
153
- : undefined;
150
+ const streaming = typeof msg.streaming === "boolean" ? msg.streaming : undefined;
154
151
  const integrations = Array.isArray(msg.integrations)
155
152
  ? msg.integrations
156
153
  : undefined;
@@ -341,7 +338,11 @@ let ChatSessionStore = (() => {
341
338
  }
342
339
  return null;
343
340
  }
344
- async ensureLoadedFromServer() {
341
+ async ensureLoadedFromServer(options = { forceReload: false }) {
342
+ const { forceReload } = options;
343
+ if (forceReload) {
344
+ this.loadedFromServer = "no";
345
+ }
345
346
  // NOTE: we will want to re-evaluate this if/when the auth token associated with this sandbox is changed
346
347
  // the existing solution is that each time the page loaded by the client, we re-fetch from the server,
347
348
  // so this may be a non-issue.
@@ -383,16 +384,10 @@ let ChatSessionStore = (() => {
383
384
  const messages = this.messages.filter(isAiChatMessage);
384
385
  return getLastUserMessage(messages);
385
386
  }
386
- getRecentExchanges() {
387
- // Filter out summaries but keep regular messages for the existing logic
388
- const messages = this.messages.filter(isAiChatMessage);
389
- return extractProductiveHistoryForContext(messages, {
390
- maxAcceptedExchanges: 2,
391
- includeRecentUnknown: true,
387
+ async getMessages(options) {
388
+ await this.ensureLoadedFromServer({
389
+ forceReload: options?.force ?? false,
392
390
  });
393
- }
394
- async getMessages() {
395
- await this.ensureLoadedFromServer();
396
391
  return this.messages.filter(isAiChatMessage);
397
392
  }
398
393
  async newChat() {
@@ -407,6 +402,24 @@ let ChatSessionStore = (() => {
407
402
  this.logger.error("[ai-service] Failed to create new chat", getErrorMeta(error));
408
403
  }
409
404
  }
405
+ async truncateAfterTimestamp(sinceTimestamp) {
406
+ try {
407
+ // Truncate chat messages on server
408
+ await this.rpcClient.call(async (client) => {
409
+ const applicationId = this.applicationId;
410
+ return await client.call.v1.ai.chat.truncateAfterTimestamp({
411
+ applicationId,
412
+ sinceTimestamp,
413
+ });
414
+ });
415
+ // Reload messages from server after truncation
416
+ await this.ensureLoadedFromServer({ forceReload: true });
417
+ }
418
+ catch (error) {
419
+ this.logger.error("[ai-service] Failed to truncate chat messages", getErrorMeta(error));
420
+ throw error;
421
+ }
422
+ }
410
423
  async recordUser(text, options = {}) {
411
424
  const message = {
412
425
  role: "user",
@@ -513,7 +526,7 @@ let ChatSessionStore = (() => {
513
526
  else {
514
527
  message = {
515
528
  role: "assistant",
516
- content: payload.text,
529
+ content: "text" in payload ? payload.text : "",
517
530
  type: payload.type || "text",
518
531
  group: "group" in payload ? payload.group : "",
519
532
  status: payload.status,
@@ -569,6 +582,12 @@ let ChatSessionStore = (() => {
569
582
  const payload = {
570
583
  ...message,
571
584
  };
585
+ // Skip sending excluded message types to the server
586
+ if ("type" in payload &&
587
+ typeof payload.type === "string" &&
588
+ EXCLUDED_MESSAGE_TYPES.includes(payload.type)) {
589
+ return;
590
+ }
572
591
  try {
573
592
  await this.rpcClient.call(async (client) => {
574
593
  const applicationId = this.applicationId;