@amodalai/runtime 0.1.16 → 0.1.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.
Files changed (70) hide show
  1. package/dist/src/agent/feedback-store.d.ts +39 -0
  2. package/dist/src/agent/feedback-store.js +98 -0
  3. package/dist/src/agent/feedback-store.js.map +1 -0
  4. package/dist/src/agent/local-server.js +9 -2
  5. package/dist/src/agent/local-server.js.map +1 -1
  6. package/dist/src/agent/routes/admin-chat.d.ts +1 -0
  7. package/dist/src/agent/routes/admin-chat.js +1 -1
  8. package/dist/src/agent/routes/admin-chat.js.map +1 -1
  9. package/dist/src/agent/routes/evals.js +34 -47
  10. package/dist/src/agent/routes/evals.js.map +1 -1
  11. package/dist/src/agent/routes/feedback.d.ts +11 -0
  12. package/dist/src/agent/routes/feedback.js +72 -0
  13. package/dist/src/agent/routes/feedback.js.map +1 -0
  14. package/dist/src/agent/routes/files.js +118 -12
  15. package/dist/src/agent/routes/files.js.map +1 -1
  16. package/dist/src/agent/routes/inspect.js +33 -0
  17. package/dist/src/agent/routes/inspect.js.map +1 -1
  18. package/dist/src/cron/heartbeat-runner.d.ts +3 -6
  19. package/dist/src/cron/heartbeat-runner.js +1 -10
  20. package/dist/src/cron/heartbeat-runner.js.map +1 -1
  21. package/dist/src/index.d.ts +4 -5
  22. package/dist/src/index.js +3 -10
  23. package/dist/src/index.js.map +1 -1
  24. package/dist/src/middleware/auth.d.ts +3 -19
  25. package/dist/src/middleware/auth.js +0 -118
  26. package/dist/src/middleware/auth.js.map +1 -1
  27. package/dist/src/routes/ai-stream.d.ts +8 -7
  28. package/dist/src/routes/ai-stream.js +3 -16
  29. package/dist/src/routes/ai-stream.js.map +1 -1
  30. package/dist/src/routes/chat-stream.d.ts +4 -3
  31. package/dist/src/routes/chat-stream.js +3 -16
  32. package/dist/src/routes/chat-stream.js.map +1 -1
  33. package/dist/src/routes/chat.d.ts +4 -2
  34. package/dist/src/routes/chat.js +2 -14
  35. package/dist/src/routes/chat.js.map +1 -1
  36. package/dist/src/routes/chat.test.js +2 -2
  37. package/dist/src/routes/chat.test.js.map +1 -1
  38. package/dist/src/server.d.ts +16 -3
  39. package/dist/src/server.js +24 -25
  40. package/dist/src/server.js.map +1 -1
  41. package/dist/src/session/admin-file-tools.d.ts +136 -0
  42. package/dist/src/session/admin-file-tools.js +240 -0
  43. package/dist/src/session/admin-file-tools.js.map +1 -0
  44. package/dist/src/session/session-manager.d.ts +37 -3
  45. package/dist/src/session/session-manager.js +174 -44
  46. package/dist/src/session/session-manager.js.map +1 -1
  47. package/dist/src/session/session-manager.test.js +30 -52
  48. package/dist/src/session/session-manager.test.js.map +1 -1
  49. package/dist/src/session/session-runner.d.ts +29 -13
  50. package/dist/src/session/session-runner.js +28 -91
  51. package/dist/src/session/session-runner.js.map +1 -1
  52. package/dist/src/session/session-runner.test.js +70 -80
  53. package/dist/src/session/session-runner.test.js.map +1 -1
  54. package/dist/tsconfig.tsbuildinfo +1 -1
  55. package/package.json +2 -2
  56. package/dist/src/audit/audit-client.d.ts +0 -46
  57. package/dist/src/audit/audit-client.js +0 -83
  58. package/dist/src/audit/audit-client.js.map +0 -1
  59. package/dist/src/middleware/auth.test.d.ts +0 -6
  60. package/dist/src/middleware/auth.test.js +0 -260
  61. package/dist/src/middleware/auth.test.js.map +0 -1
  62. package/dist/src/routes/sessions.d.ts +0 -14
  63. package/dist/src/routes/sessions.js +0 -82
  64. package/dist/src/routes/sessions.js.map +0 -1
  65. package/dist/src/utils/jwt-verify.d.ts +0 -19
  66. package/dist/src/utils/jwt-verify.js +0 -32
  67. package/dist/src/utils/jwt-verify.js.map +0 -1
  68. package/dist/src/utils/jwt-verify.test.d.ts +0 -6
  69. package/dist/src/utils/jwt-verify.test.js +0 -150
  70. package/dist/src/utils/jwt-verify.test.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/middleware/auth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAsC3D,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAEvC;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,GAAa;IAC1C,uEAAuE;IACvE,OAAO,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAA4B,CAAC;AACjE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAA8B;IAE9B,MAAM,EAAE,cAAc,EAAE,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAC/D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE5C,4CAA4C;IAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,cAAc,wBAAwB,CAAC;IAC7E,IAAI,SAAS,GAAkE,IAAI,CAAC;IACpF,IAAI,CAAC;QACH,SAAS,GAAG,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;IACjD,CAAC;IAED,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAQ,EAAE;QAC/D,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,8BAA8B,CAAC,CAAC,CAAC;YACxE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,IAAI,CACF,IAAI,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,6CAA6C,CAAC,CACjF,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAElC,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,+CAA+C;YAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBAC5C,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG;oBAC7B,MAAM,EAAE,KAAK;oBACb,KAAK;oBACL,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,aAAa,EAAE,MAAM,CAAC,aAAa;oBACnC,UAAU,EAAE,SAAS;iBACtB,CAAC;gBACF,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YAED,KAAK,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,IAAI,CAC1C,CAAC,MAAM,EAAE,EAAE;gBACT,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,IAAI,CAAC,IAAI,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAAC;oBAC3D,OAAO;gBACT,CAAC;gBACD,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC;gBACpE,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG;oBAC7B,MAAM,EAAE,KAAK;oBACb,KAAK;oBACL,GAAG,MAAM;oBACT,UAAU,EAAE,SAAS;iBACtB,CAAC;gBACF,IAAI,EAAE,CAAC;YACT,CAAC,EACD,CAAC,GAAY,EAAE,EAAE;gBACf,IAAI,CACF,IAAI,QAAQ,CACV,GAAG,EACH,qBAAqB,EACrB,+BAA+B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACtF,CACF,CAAC;YACJ,CAAC,CACF,CAAC;QACJ,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACrB,uCAAuC;YACvC,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CACxB,CAAC,MAAM,EAAE,EAAE;gBACT,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,IAAI,CAAC,IAAI,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,0BAA0B,CAAC,CAAC,CAAC;oBACpE,OAAO;gBACT,CAAC;gBACD,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG;oBAC7B,KAAK;oBACL,KAAK,EAAE,MAAM,CAAC,MAAM;oBACpB,aAAa,EAAE,MAAM,CAAC,MAAM;oBAC5B,UAAU,EAAE,cAAc;oBAC1B,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACjD,CAAC;gBACF,IAAI,EAAE,CAAC;YACT,CAAC,EACD,GAAG,EAAE;gBACH,IAAI,CAAC,IAAI,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,2BAA2B,CAAC,CAAC,CAAC;YACvE,CAAC,CACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,wBAAwB,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,WAAW,CACxB,cAAsB,EACtB,MAAc;IAEd,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;IAE1D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,cAAc,SAAS,EAAE;YACvD,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,MAAM,EAAE;gBACjC,MAAM,EAAE,kBAAkB;aAC3B;SACF,CAAC,CAAC;QACH,YAAY,CAAC,KAAK,CAAC,CAAC;QAEpB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,uEAAuE;QACvE,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAe,CAAC;QACnD,8CAA8C;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC;QACjC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC;QAC/D,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/middleware/auth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAkBH,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAEvC;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,GAAa;IAC1C,uEAAuE;IACvE,OAAO,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAA4B,CAAC;AACjE,CAAC"}
@@ -17,8 +17,9 @@
17
17
  */
18
18
  import { Router } from 'express';
19
19
  import { z } from 'zod';
20
+ import type { AuthContext } from '../middleware/auth.js';
20
21
  import type { SessionManager } from '../session/session-manager.js';
21
- import type { AuditClient } from '../audit/audit-client.js';
22
+ import { type StreamHooks } from '../session/session-runner.js';
22
23
  import { type SSEEvent } from '../types.js';
23
24
  export declare const AIStreamRequestSchema: z.ZodObject<{
24
25
  messages: z.ZodArray<z.ZodObject<{
@@ -36,18 +37,18 @@ export declare const AIStreamRequestSchema: z.ZodObject<{
36
37
  content: z.ZodOptional<z.ZodString>;
37
38
  }, "strip", z.ZodTypeAny, {
38
39
  role: "user" | "assistant" | "system";
40
+ content?: string | undefined;
39
41
  parts?: {
40
42
  type: string;
41
43
  text?: string | undefined;
42
44
  }[] | undefined;
43
- content?: string | undefined;
44
45
  }, {
45
46
  role: "user" | "assistant" | "system";
47
+ content?: string | undefined;
46
48
  parts?: {
47
49
  type: string;
48
50
  text?: string | undefined;
49
51
  }[] | undefined;
50
- content?: string | undefined;
51
52
  }>, "many">;
52
53
  session_id: z.ZodOptional<z.ZodString>;
53
54
  role: z.ZodOptional<z.ZodString>;
@@ -55,11 +56,11 @@ export declare const AIStreamRequestSchema: z.ZodObject<{
55
56
  }, "strip", z.ZodTypeAny, {
56
57
  messages: {
57
58
  role: "user" | "assistant" | "system";
59
+ content?: string | undefined;
58
60
  parts?: {
59
61
  type: string;
60
62
  text?: string | undefined;
61
63
  }[] | undefined;
62
- content?: string | undefined;
63
64
  }[];
64
65
  session_id?: string | undefined;
65
66
  role?: string | undefined;
@@ -67,11 +68,11 @@ export declare const AIStreamRequestSchema: z.ZodObject<{
67
68
  }, {
68
69
  messages: {
69
70
  role: "user" | "assistant" | "system";
71
+ content?: string | undefined;
70
72
  parts?: {
71
73
  type: string;
72
74
  text?: string | undefined;
73
75
  }[] | undefined;
74
- content?: string | undefined;
75
76
  }[];
76
77
  session_id?: string | undefined;
77
78
  role?: string | undefined;
@@ -152,8 +153,8 @@ export declare function translateEvent(event: SSEEvent, state: AdapterState): UI
152
153
  export declare function extractUserMessage(messages: AIStreamRequest['messages']): string;
153
154
  export interface AIStreamRouterOptions {
154
155
  sessionManager: SessionManager;
155
- auditClient?: AuditClient;
156
- platformApiUrl?: string;
156
+ /** Factory that builds per-request stream hooks from the auth context */
157
+ createStreamHooks?: (auth?: AuthContext) => StreamHooks;
157
158
  }
158
159
  export declare function createAIStreamRouter(options: AIStreamRouterOptions): Router;
159
160
  export {};
@@ -259,22 +259,9 @@ export function createAIStreamRouter(options) {
259
259
  res.flushHeaders();
260
260
  const controller = new AbortController();
261
261
  res.on('close', () => controller.abort());
262
- // Build audit context
263
- let audit;
264
- if (options.auditClient) {
265
- const auth = getAuthContext(res);
266
- if (auth?.token && auth.applicationId) {
267
- audit = {
268
- auditClient: options.auditClient,
269
- appId: auth.applicationId,
270
- token: auth.token,
271
- orgId: auth.orgId,
272
- actor: auth.actor,
273
- platformApiUrl: options.platformApiUrl,
274
- };
275
- }
276
- }
277
- const stream = streamMessage(session, message, controller.signal, audit, options.sessionManager);
262
+ // Build per-request hooks with auth context
263
+ const hooks = options.createStreamHooks?.(getAuthContext(res));
264
+ const stream = streamMessage(session, message, controller.signal, hooks, options.sessionManager);
278
265
  const state = createAdapterState();
279
266
  for await (const event of stream) {
280
267
  if (controller.signal.aborted)
@@ -1 +1 @@
1
- {"version":3,"file":"ai-stream.js","sourceRoot":"","sources":["../../../src/routes/ai-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-stream.js","sourceRoot":"","sources":["../../../src/routes/ai-stream.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,12 @@
4
4
  * SPDX-License-Identifier: MIT
5
5
  */
6
6
  import { Router } from 'express';
7
+ import type { AuthContext } from '../middleware/auth.js';
7
8
  import type { SessionManager } from '../session/session-manager.js';
8
- import type { AuditClient } from '../audit/audit-client.js';
9
+ import { type StreamHooks } from '../session/session-runner.js';
9
10
  export interface ChatStreamRouterOptions {
10
11
  sessionManager: SessionManager;
11
- auditClient?: AuditClient;
12
- platformApiUrl?: string;
12
+ /** Factory that builds per-request stream hooks from the auth context */
13
+ createStreamHooks?: (auth?: AuthContext) => StreamHooks;
13
14
  }
14
15
  export declare function createChatStreamRouter(options: ChatStreamRouterOptions): Router;
@@ -40,22 +40,9 @@ export function createChatStreamRouter(options) {
40
40
  const controller = new AbortController();
41
41
  // Abort on client disconnect
42
42
  res.on('close', () => controller.abort());
43
- // Build audit context if audit client is available
44
- let audit;
45
- if (options.auditClient) {
46
- const auth = getAuthContext(res);
47
- if (auth?.token && auth.applicationId) {
48
- audit = {
49
- auditClient: options.auditClient,
50
- appId: auth.applicationId,
51
- token: auth.token,
52
- orgId: auth.orgId,
53
- actor: auth.actor,
54
- platformApiUrl: options.platformApiUrl,
55
- };
56
- }
57
- }
58
- const stream = streamMessage(session, message, controller.signal, audit, options.sessionManager);
43
+ // Build per-request hooks with auth context
44
+ const hooks = options.createStreamHooks?.(getAuthContext(res));
45
+ const stream = streamMessage(session, message, controller.signal, hooks, options.sessionManager);
59
46
  for await (const event of stream) {
60
47
  if (controller.signal.aborted)
61
48
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-stream.js","sourceRoot":"","sources":["../../../src/routes/chat-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-stream.js","sourceRoot":"","sources":["../../../src/routes/chat-stream.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,12 @@
4
4
  * SPDX-License-Identifier: MIT
5
5
  */
6
6
  import { Router } from 'express';
7
+ import type { AuthContext } from '../middleware/auth.js';
7
8
  import type { SessionManager } from '../session/session-manager.js';
8
- import type { AuditClient } from '../audit/audit-client.js';
9
+ import { type StreamHooks } from '../session/session-runner.js';
9
10
  export interface ChatRouterOptions {
10
11
  sessionManager: SessionManager;
11
- auditClient?: AuditClient;
12
+ /** Factory that builds per-request stream hooks from the auth context */
13
+ createStreamHooks?: (auth?: AuthContext) => StreamHooks;
12
14
  }
13
15
  export declare function createChatRouter(options: ChatRouterOptions): Router;
@@ -29,20 +29,8 @@ export function createChatRouter(options) {
29
29
  const controller = new AbortController();
30
30
  // Abort on client disconnect
31
31
  res.on('close', () => controller.abort());
32
- // Build audit context if audit client is available
33
- let audit;
34
- if (options.auditClient) {
35
- const auth = getAuthContext(res);
36
- if (auth?.token && auth.applicationId) {
37
- audit = {
38
- auditClient: options.auditClient,
39
- appId: auth.applicationId,
40
- token: auth.token,
41
- orgId: auth.orgId,
42
- };
43
- }
44
- }
45
- const result = await runMessage(session, message, controller.signal, audit);
32
+ const hooks = options.createStreamHooks?.(getAuthContext(res));
33
+ const result = await runMessage(session, message, controller.signal, hooks);
46
34
  res.json(result);
47
35
  }
48
36
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/routes/chat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAA2B,MAAM,8BAA8B,CAAC;AAQnF,MAAM,UAAU,gBAAgB,CAAC,OAA0B;IACzD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACzE,IAAI,CAAC;YACH,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;YAE1D,wBAAwB;YACxB,IAAI,OAAO,CAAC;YACZ,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACjD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,mBAAmB,EAAE,WAAW,UAAU,YAAY,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;gBACjC,OAAO,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAC7F,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YAEzC,6BAA6B;YAC7B,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;YAE1C,mDAAmD;YACnD,IAAI,KAAqC,CAAC;YAC1C,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;gBACjC,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACtC,KAAK,GAAG;wBACN,WAAW,EAAE,OAAO,CAAC,WAAW;wBAChC,KAAK,EAAE,IAAI,CAAC,aAAa;wBACzB,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;qBAClB,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC5E,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/routes/chat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAE,UAAU,EAAoB,MAAM,8BAA8B,CAAC;AAQ5E,MAAM,UAAU,gBAAgB,CAAC,OAA0B;IACzD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACzE,IAAI,CAAC;YACH,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;YAE1D,wBAAwB;YACxB,IAAI,OAAO,CAAC;YACZ,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACjD,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,mBAAmB,EAAE,WAAW,UAAU,YAAY,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;gBACjC,OAAO,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAC7F,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YAEzC,6BAA6B;YAC7B,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;YAE1C,MAAM,KAAK,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC5E,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -13,10 +13,10 @@ const mockRunMessage = vi.fn();
13
13
  vi.mock('../session/session-runner.js', () => ({
14
14
  runMessage: (...args) => mockRunMessage(...args),
15
15
  }));
16
- function createApp(sessionManager, auditClient) {
16
+ function createApp(sessionManager) {
17
17
  const app = express();
18
18
  app.use(express.json());
19
- app.use(createChatRouter({ sessionManager: sessionManager, auditClient: auditClient }));
19
+ app.use(createChatRouter({ sessionManager: sessionManager }));
20
20
  app.use(errorHandler);
21
21
  return app;
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chat.test.js","sourceRoot":"","sources":["../../../src/routes/chat.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.test.js","sourceRoot":"","sources":["../../../src/routes/chat.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,sBAAsB;AACtB,MAAM,cAAc,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;AAC/B,EAAE,CAAC,IAAI,CAAC,8BAA8B,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7C,UAAU,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;CAC5D,CAAC,CAAC,CAAC;AAEJ,SAAS,SAAS,CAAC,cAAuC;IACxD,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACxB,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,cAAc,EAAE,cAAuB,EAAE,CAAC,CAAC,CAAC;IACvE,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACtB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACxB,IAAI,cAAuC,CAAC;IAE5C,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,cAAc,CAAC,iBAAiB,CAAC;YAC/B,UAAU,EAAE,QAAQ;YACpB,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,EAAE;SACf,CAAC,CAAC;QACH,UAAU,CAAC,iBAAiB,CAAC;YAC3B,EAAE,EAAE,QAAQ;YACZ,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,EAAE;SACd,CAAC,CAAC;QACH,cAAc,GAAG;YACf,MAAM,EAAE,UAAU;YAClB,GAAG,EAAE,OAAO;SACb,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,GAAG,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;aAC3B,IAAI,CAAC,OAAO,CAAC;aACb,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAE9B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,EAAE,CAAC;QAC1C,MAAM,CAAC,cAAc,CAAC,CAAC,oBAAoB,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,eAAe,GAAG,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC;QAChD,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;QAEzC,MAAM,GAAG,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;aAC3B,IAAI,CAAC,OAAO,CAAC;aACb,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,CAAC;QAExD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;QACtD,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAEnC,MAAM,GAAG,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;aAC3B,IAAI,CAAC,OAAO,CAAC;aACb,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;QAEtD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,GAAG,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEtD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,MAAM,GAAG,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;QACtC,MAAM,OAAO,CAAC,GAAG,CAAC;aACf,IAAI,CAAC,OAAO,CAAC;aACb,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAE/C,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,cAAc,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;QAEzD,MAAM,GAAG,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;aAC3B,IAAI,CAAC,OAAO,CAAC;aACb,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAE9B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -7,6 +7,9 @@ import express from 'express';
7
7
  import type { Express } from 'express';
8
8
  import type http from 'node:http';
9
9
  import type { ConfigParameters } from '@amodalai/core';
10
+ import type { StreamHooks } from './session/session-runner.js';
11
+ import type { AuthContext } from './middleware/auth.js';
12
+ import type { SessionStore } from './session/session-manager.js';
10
13
  import type { ServerConfig } from './types.js';
11
14
  export interface ServerInstance {
12
15
  app: Express;
@@ -20,12 +23,22 @@ export interface CreateServerOptions {
20
23
  config: ServerConfig;
21
24
  /** Version string for /version endpoint */
22
25
  version?: string;
23
- /** Platform API URL for API key validation (if set, enables auth middleware) */
26
+ /** Platform API URL (used by SessionManager for AgentSDK config loading) */
24
27
  platformApiUrl?: string;
25
- /** JWKS URL for JWT verification (defaults to platformApiUrl/.well-known/jwks.json) */
26
- jwksUrl?: string;
28
+ /** Middleware to mount before all routes (e.g., request enrichment) */
29
+ preMiddleware?: express.RequestHandler;
27
30
  /** Middleware to mount before the error handler (e.g., static file serving) */
28
31
  fallbackMiddleware?: express.RequestHandler;
32
+ /** Auth middleware for protected routes (injected by hosting layer) */
33
+ authMiddleware?: express.RequestHandler;
34
+ /** Additional routers to mount (e.g., session history proxy) */
35
+ additionalRouters?: express.Router[];
36
+ /** Factory that builds per-request stream hooks from the auth context */
37
+ createStreamHooks?: (auth?: AuthContext) => StreamHooks;
38
+ /** Pluggable session store for hydrating sessions (e.g., platform API, local DB) */
39
+ sessionStore?: SessionStore;
40
+ /** Shutdown callback for hosting layer cleanup (e.g., drain audit batches) */
41
+ onShutdown?: () => Promise<void>;
29
42
  }
30
43
  /**
31
44
  * Create the Express server with all routes, session management,
@@ -5,18 +5,15 @@
5
5
  */
6
6
  import express from 'express';
7
7
  import { errorHandler } from './middleware/error-handler.js';
8
- import { createAuthMiddleware } from './middleware/auth.js';
9
8
  import { createHealthRouter } from './routes/health.js';
10
9
  import { createChatStreamRouter } from './routes/chat-stream.js';
11
10
  import { createWebhookRouter } from './routes/webhooks.js';
12
11
  import { createWidgetActionsRouter } from './routes/widget-actions.js';
13
12
  import { createAskUserResponseRouter } from './routes/ask-user-response.js';
14
- import { createSessionsRouter } from './routes/sessions.js';
15
13
  import { createAIStreamRouter } from './routes/ai-stream.js';
16
14
  import { SessionManager } from './session/session-manager.js';
17
15
  import { createAutomationRunner } from './cron/heartbeat-runner.js';
18
16
  import { AutomationScheduler } from './cron/heartbeat-scheduler.js';
19
- import { AuditClient } from './audit/audit-client.js';
20
17
  /**
21
18
  * Create the Express server with all routes, session management,
22
19
  * automation scheduling, and graceful shutdown.
@@ -29,13 +26,13 @@ export function createServer(options) {
29
26
  baseParams,
30
27
  ttlMs: config.sessionTtlMs,
31
28
  platformApiUrl: options.platformApiUrl,
29
+ sessionStore: options.sessionStore,
32
30
  });
33
- // --- Audit client (batching HTTP poster to platform API) ---
34
- const auditClient = options.platformApiUrl
35
- ? new AuditClient({ platformApiUrl: options.platformApiUrl })
36
- : undefined;
37
31
  // --- Automation runner ---
38
- const runAutomation = createAutomationRunner({ sessionManager, auditClient });
32
+ const runAutomation = createAutomationRunner({
33
+ sessionManager,
34
+ streamHooks: options.createStreamHooks?.(),
35
+ });
39
36
  // --- Automation scheduler (cron) ---
40
37
  const automationScheduler = new AutomationScheduler();
41
38
  // --- Express app ---
@@ -54,29 +51,31 @@ export function createServer(options) {
54
51
  next();
55
52
  });
56
53
  app.use(express.json());
54
+ // Pre-route middleware (e.g., request enrichment in hosted mode)
55
+ if (options.preMiddleware) {
56
+ app.use(options.preMiddleware);
57
+ }
57
58
  // Routes
58
59
  app.use(createHealthRouter({
59
60
  sessionManager,
60
61
  version: options.version,
61
62
  startedAt,
62
63
  }));
63
- // Auth middleware for chat routes (if platform API URL is configured)
64
- if (options.platformApiUrl) {
65
- const authMiddleware = createAuthMiddleware({
66
- platformApiUrl: options.platformApiUrl,
67
- jwksUrl: options.jwksUrl,
68
- });
69
- app.use('/chat', authMiddleware);
70
- app.use('/chat/stream', authMiddleware);
71
- app.use('/sessions', authMiddleware);
64
+ // Auth middleware for protected routes (injected by hosting layer)
65
+ if (options.authMiddleware) {
66
+ app.use('/chat', options.authMiddleware);
67
+ app.use('/chat/stream', options.authMiddleware);
68
+ app.use('/sessions', options.authMiddleware);
72
69
  }
73
- app.use(createChatStreamRouter({ sessionManager, auditClient, platformApiUrl: options.platformApiUrl }));
74
- app.use(createAIStreamRouter({ sessionManager, auditClient, platformApiUrl: options.platformApiUrl }));
70
+ app.use(createChatStreamRouter({ sessionManager, createStreamHooks: options.createStreamHooks }));
71
+ app.use(createAIStreamRouter({ sessionManager, createStreamHooks: options.createStreamHooks }));
75
72
  app.use(createWidgetActionsRouter({ sessionManager }));
76
73
  app.use(createAskUserResponseRouter({ sessionManager }));
77
- // Session history proxy routes (requires platform API URL)
78
- if (options.platformApiUrl) {
79
- app.use(createSessionsRouter({ platformApiUrl: options.platformApiUrl }));
74
+ // Additional routers (e.g., session history proxy from hosting layer)
75
+ if (options.additionalRouters) {
76
+ for (const router of options.additionalRouters) {
77
+ app.use(router);
78
+ }
80
79
  }
81
80
  app.use(createWebhookRouter({
82
81
  automations: config.automations,
@@ -118,9 +117,9 @@ export function createServer(options) {
118
117
  });
119
118
  server = null;
120
119
  }
121
- // Drain audit entries
122
- if (auditClient) {
123
- await auditClient.shutdown();
120
+ // Hosting layer cleanup (e.g., drain audit batches)
121
+ if (options.onShutdown) {
122
+ await options.onShutdown();
124
123
  }
125
124
  // Drain sessions
126
125
  await sessionManager.shutdown();
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,136 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Amodal Labs, Inc.
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ /** @internal Exported for testing */
7
+ export declare function isAllowedRepoPath(relPath: string): boolean;
8
+ interface ToolResult {
9
+ llmContent: string;
10
+ returnDisplay?: string;
11
+ error?: {
12
+ message: string;
13
+ type: string;
14
+ };
15
+ }
16
+ export declare function createReadRepoFileTool(repoRoot: string): {
17
+ name: string;
18
+ displayName: string;
19
+ description: string;
20
+ kind: "declarative";
21
+ parameterSchema: Record<string, unknown>;
22
+ readonly isReadOnly: boolean;
23
+ readonly toolAnnotations: undefined;
24
+ readonly schema: {
25
+ name: string;
26
+ description: string;
27
+ parametersJsonSchema: Record<string, unknown>;
28
+ };
29
+ getSchema(): {
30
+ name: string;
31
+ description: string;
32
+ parametersJsonSchema: Record<string, unknown>;
33
+ };
34
+ build(params: Record<string, unknown>): {
35
+ name: string;
36
+ params: Record<string, unknown>;
37
+ execute: () => Promise<ToolResult>;
38
+ };
39
+ silentBuild(params: Record<string, unknown>): {
40
+ name: string;
41
+ params: Record<string, unknown>;
42
+ execute: () => Promise<ToolResult>;
43
+ };
44
+ validateBuildAndExecute(params: Record<string, unknown>): Promise<ToolResult>;
45
+ };
46
+ export declare function createWriteRepoFileTool(repoRoot: string): {
47
+ name: string;
48
+ displayName: string;
49
+ description: string;
50
+ kind: "declarative";
51
+ parameterSchema: Record<string, unknown>;
52
+ readonly isReadOnly: boolean;
53
+ readonly toolAnnotations: undefined;
54
+ readonly schema: {
55
+ name: string;
56
+ description: string;
57
+ parametersJsonSchema: Record<string, unknown>;
58
+ };
59
+ getSchema(): {
60
+ name: string;
61
+ description: string;
62
+ parametersJsonSchema: Record<string, unknown>;
63
+ };
64
+ build(params: Record<string, unknown>): {
65
+ name: string;
66
+ params: Record<string, unknown>;
67
+ execute: () => Promise<ToolResult>;
68
+ };
69
+ silentBuild(params: Record<string, unknown>): {
70
+ name: string;
71
+ params: Record<string, unknown>;
72
+ execute: () => Promise<ToolResult>;
73
+ };
74
+ validateBuildAndExecute(params: Record<string, unknown>): Promise<ToolResult>;
75
+ };
76
+ export declare function createDeleteRepoFileTool(repoRoot: string): {
77
+ name: string;
78
+ displayName: string;
79
+ description: string;
80
+ kind: "declarative";
81
+ parameterSchema: Record<string, unknown>;
82
+ readonly isReadOnly: boolean;
83
+ readonly toolAnnotations: undefined;
84
+ readonly schema: {
85
+ name: string;
86
+ description: string;
87
+ parametersJsonSchema: Record<string, unknown>;
88
+ };
89
+ getSchema(): {
90
+ name: string;
91
+ description: string;
92
+ parametersJsonSchema: Record<string, unknown>;
93
+ };
94
+ build(params: Record<string, unknown>): {
95
+ name: string;
96
+ params: Record<string, unknown>;
97
+ execute: () => Promise<ToolResult>;
98
+ };
99
+ silentBuild(params: Record<string, unknown>): {
100
+ name: string;
101
+ params: Record<string, unknown>;
102
+ execute: () => Promise<ToolResult>;
103
+ };
104
+ validateBuildAndExecute(params: Record<string, unknown>): Promise<ToolResult>;
105
+ };
106
+ export declare function createInternalApiTool(getPort: () => number | null): {
107
+ name: string;
108
+ displayName: string;
109
+ description: string;
110
+ kind: "declarative";
111
+ parameterSchema: Record<string, unknown>;
112
+ readonly isReadOnly: boolean;
113
+ readonly toolAnnotations: undefined;
114
+ readonly schema: {
115
+ name: string;
116
+ description: string;
117
+ parametersJsonSchema: Record<string, unknown>;
118
+ };
119
+ getSchema(): {
120
+ name: string;
121
+ description: string;
122
+ parametersJsonSchema: Record<string, unknown>;
123
+ };
124
+ build(params: Record<string, unknown>): {
125
+ name: string;
126
+ params: Record<string, unknown>;
127
+ execute: () => Promise<ToolResult>;
128
+ };
129
+ silentBuild(params: Record<string, unknown>): {
130
+ name: string;
131
+ params: Record<string, unknown>;
132
+ execute: () => Promise<ToolResult>;
133
+ };
134
+ validateBuildAndExecute(params: Record<string, unknown>): Promise<ToolResult>;
135
+ };
136
+ export {};