@pellux/goodvibes-daemon-sdk 0.30.2 → 0.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/README.md +2 -2
  2. package/dist/api-router.d.ts +4 -2
  3. package/dist/api-router.d.ts.map +1 -1
  4. package/dist/api-router.js +18 -10
  5. package/dist/artifact-upload.d.ts +9 -9
  6. package/dist/artifact-upload.d.ts.map +1 -1
  7. package/dist/artifact-upload.js +27 -19
  8. package/dist/auth-helpers.d.ts +9 -0
  9. package/dist/auth-helpers.d.ts.map +1 -0
  10. package/dist/auth-helpers.js +10 -0
  11. package/dist/automation.js +10 -10
  12. package/dist/channel-route-types.d.ts +22 -23
  13. package/dist/channel-route-types.d.ts.map +1 -1
  14. package/dist/channel-routes.d.ts.map +1 -1
  15. package/dist/channel-routes.js +37 -42
  16. package/dist/context.d.ts +27 -27
  17. package/dist/context.d.ts.map +1 -1
  18. package/dist/control-routes.d.ts +12 -13
  19. package/dist/control-routes.d.ts.map +1 -1
  20. package/dist/control-routes.js +55 -26
  21. package/dist/error-response.d.ts +10 -3
  22. package/dist/error-response.d.ts.map +1 -1
  23. package/dist/error-response.js +102 -11
  24. package/dist/http-policy.d.ts +3 -4
  25. package/dist/http-policy.d.ts.map +1 -1
  26. package/dist/http-policy.js +2 -1
  27. package/dist/index.d.ts +11 -8
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +2 -1
  30. package/dist/integration-routes.d.ts +1 -1
  31. package/dist/integration-routes.d.ts.map +1 -1
  32. package/dist/integration-routes.js +72 -33
  33. package/dist/knowledge-refinement-routes.d.ts.map +1 -1
  34. package/dist/knowledge-refinement-routes.js +22 -15
  35. package/dist/knowledge-route-types.d.ts +16 -15
  36. package/dist/knowledge-route-types.d.ts.map +1 -1
  37. package/dist/knowledge-routes.d.ts.map +1 -1
  38. package/dist/knowledge-routes.js +144 -89
  39. package/dist/media-route-types.d.ts +2 -1
  40. package/dist/media-route-types.d.ts.map +1 -1
  41. package/dist/media-routes.d.ts.map +1 -1
  42. package/dist/media-routes.js +119 -55
  43. package/dist/operator.d.ts +16 -0
  44. package/dist/operator.d.ts.map +1 -1
  45. package/dist/operator.js +105 -61
  46. package/dist/otlp-protobuf.d.ts.map +1 -1
  47. package/dist/otlp-protobuf.js +28 -10
  48. package/dist/remote-routes.d.ts +9 -3
  49. package/dist/remote-routes.d.ts.map +1 -1
  50. package/dist/remote-routes.js +259 -163
  51. package/dist/route-helpers.d.ts +13 -2
  52. package/dist/route-helpers.d.ts.map +1 -1
  53. package/dist/route-helpers.js +38 -1
  54. package/dist/runtime-automation-routes.d.ts.map +1 -1
  55. package/dist/runtime-automation-routes.js +88 -54
  56. package/dist/runtime-route-types.d.ts +87 -93
  57. package/dist/runtime-route-types.d.ts.map +1 -1
  58. package/dist/runtime-session-routes.d.ts +6 -4
  59. package/dist/runtime-session-routes.d.ts.map +1 -1
  60. package/dist/runtime-session-routes.js +132 -88
  61. package/dist/sessions.js +3 -3
  62. package/dist/system-route-types.d.ts +25 -24
  63. package/dist/system-route-types.d.ts.map +1 -1
  64. package/dist/system-routes.d.ts +1 -1
  65. package/dist/system-routes.d.ts.map +1 -1
  66. package/dist/system-routes.js +126 -92
  67. package/dist/tasks.d.ts.map +1 -1
  68. package/dist/tasks.js +2 -0
  69. package/dist/telemetry-routes.d.ts +14 -14
  70. package/dist/telemetry-routes.d.ts.map +1 -1
  71. package/dist/telemetry-routes.js +54 -29
  72. package/package.json +5 -4
package/dist/context.d.ts CHANGED
@@ -9,7 +9,7 @@ export interface DaemonOperatorRouteHandlers extends DaemonControlRouteHandlers,
9
9
  export interface DaemonOperatorRuntimeRouteHandlers {
10
10
  getAutomationHeartbeat(): MaybeResponse;
11
11
  postAutomationHeartbeat(req: Request): MaybeResponse;
12
- getSchedulerCapacity(): MaybeResponse;
12
+ getSchedulerCapacity(req: Request): MaybeResponse;
13
13
  getRuntimeMetrics(): MaybeResponse;
14
14
  }
15
15
  export interface DaemonAutomationRouteHandlers extends DaemonAutomationOverviewRouteHandlers, DaemonRuntimeAutomationRouteHandlers, DaemonDeliveryRouteHandlers {
@@ -34,7 +34,8 @@ export interface DaemonTaskOverviewRouteHandlers {
34
34
  getIntegrationTasks(): MaybeResponse;
35
35
  }
36
36
  export interface DaemonControlRouteHandlers {
37
- getStatus(): MaybeResponse;
37
+ postLogin(req: Request): MaybeResponse;
38
+ getStatus(req: Request): MaybeResponse;
38
39
  getCurrentAuth(req: Request): MaybeResponse;
39
40
  getControlPlaneSnapshot(): MaybeResponse;
40
41
  getOperatorContract(): MaybeResponse;
@@ -71,7 +72,6 @@ export interface DaemonChannelRouteHandlers {
71
72
  getChannelDoctor(surface: string, url: URL): MaybeResponse;
72
73
  getChannelRepairActions(surface: string, url: URL): MaybeResponse;
73
74
  getChannelLifecycle(surface: string, url: URL): MaybeResponse;
74
- postChannelLifecycleMigrate(surface: string, req: Request): MaybeResponse;
75
75
  postChannelAccountAction(surface: string, accountId: string | null, action: string, req: Request): MaybeResponse;
76
76
  getChannelCapabilities(): MaybeResponse;
77
77
  getChannelSurfaceCapabilities(surface: string): MaybeResponse;
@@ -125,12 +125,12 @@ export interface DaemonMemoryRouteHandlers {
125
125
  postMemoryEmbeddingDefault(req: Request): MaybeResponse;
126
126
  }
127
127
  export interface DaemonLocalAuthAdminRouteHandlers {
128
- getLocalAuth(): MaybeResponse;
128
+ getLocalAuth(req: Request): MaybeResponse;
129
129
  postLocalAuthUser(req: Request): MaybeResponse;
130
- deleteLocalAuthUser(username: string): MaybeResponse;
130
+ deleteLocalAuthUser(username: string, req: Request): MaybeResponse;
131
131
  postLocalAuthPassword(username: string, req: Request): MaybeResponse;
132
- deleteLocalAuthSession(sessionId: string): MaybeResponse;
133
- deleteBootstrapFile(): MaybeResponse;
132
+ deleteLocalAuthSession(sessionId: string, req: Request): MaybeResponse;
133
+ deleteBootstrapFile(req: Request): MaybeResponse;
134
134
  }
135
135
  export interface DaemonPanelRouteHandlers {
136
136
  getPanels(): MaybeResponse;
@@ -143,21 +143,21 @@ export interface DaemonSystemRouteHandlers {
143
143
  getWatchers(): MaybeResponse;
144
144
  postWatcher(req: Request): MaybeResponse;
145
145
  patchWatcher(watcherId: string, req: Request): MaybeResponse;
146
- watcherAction(watcherId: string, action: 'start' | 'stop' | 'run'): MaybeResponse;
147
- deleteWatcher(watcherId: string): MaybeResponse;
146
+ watcherAction(watcherId: string, action: 'start' | 'stop' | 'run', req: Request): MaybeResponse;
147
+ deleteWatcher(watcherId: string, req: Request): MaybeResponse;
148
148
  getServiceStatus(): MaybeResponse;
149
- installService(): MaybeResponse;
150
- startService(): MaybeResponse;
151
- stopService(): MaybeResponse;
152
- restartService(): MaybeResponse;
153
- uninstallService(): MaybeResponse;
154
- getRouteBindings(): MaybeResponse;
149
+ installService(req: Request): MaybeResponse;
150
+ startService(req: Request): MaybeResponse;
151
+ stopService(req: Request): MaybeResponse;
152
+ restartService(req: Request): MaybeResponse;
153
+ uninstallService(req: Request): MaybeResponse;
154
+ getRouteBindings(req: Request): MaybeResponse;
155
155
  postRouteBinding(req: Request): MaybeResponse;
156
156
  patchRouteBinding(bindingId: string, req: Request): MaybeResponse;
157
- deleteRouteBinding(bindingId: string): MaybeResponse;
157
+ deleteRouteBinding(bindingId: string, req: Request): MaybeResponse;
158
158
  getApprovals(): MaybeResponse;
159
159
  approvalAction(approvalId: string, action: 'claim' | 'approve' | 'deny' | 'cancel', req: Request): MaybeResponse;
160
- getConfig(): MaybeResponse;
160
+ getConfig(req: Request): MaybeResponse;
161
161
  postConfig(req: Request): MaybeResponse;
162
162
  }
163
163
  export interface DaemonRemoteManagementRouteHandlers {
@@ -262,14 +262,14 @@ export interface DaemonMultimodalRouteHandlers {
262
262
  export interface DaemonRuntimeSessionRouteHandlers {
263
263
  createSharedSession(req: Request): MaybeResponse;
264
264
  getSharedSession(sessionId: string): MaybeResponse;
265
- closeSharedSession(sessionId: string): MaybeResponse;
266
- reopenSharedSession(sessionId: string): MaybeResponse;
265
+ closeSharedSession(sessionId: string, req: Request): MaybeResponse;
266
+ reopenSharedSession(sessionId: string, req: Request): MaybeResponse;
267
267
  getSharedSessionMessages(sessionId: string, url: URL): MaybeResponse;
268
268
  getSharedSessionInputs(sessionId: string, url: URL): MaybeResponse;
269
269
  postSharedSessionMessage(sessionId: string, req: Request): MaybeResponse;
270
270
  postSharedSessionSteer(sessionId: string, req: Request): MaybeResponse;
271
271
  postSharedSessionFollowUp(sessionId: string, req: Request): MaybeResponse;
272
- cancelSharedSessionInput(sessionId: string, inputId: string): MaybeResponse;
272
+ cancelSharedSessionInput(sessionId: string, inputId: string, req: Request): MaybeResponse;
273
273
  getSharedSessionEvents(sessionId: string, req: Request): MaybeResponse;
274
274
  }
275
275
  export interface DaemonRuntimeTaskRouteHandlers {
@@ -287,15 +287,15 @@ export interface DaemonRuntimeAutomationRouteHandlers {
287
287
  postAutomationHeartbeat(req: Request): MaybeResponse;
288
288
  automationRunAction(runId: string, action: 'cancel' | 'retry', req: Request): MaybeResponse;
289
289
  patchAutomationJob(jobId: string, req: Request): MaybeResponse;
290
- deleteAutomationJob(jobId: string): MaybeResponse;
291
- setAutomationJobEnabled(jobId: string, enabled: boolean): MaybeResponse;
292
- runAutomationJobNow(jobId: string): MaybeResponse;
290
+ deleteAutomationJob(jobId: string, req: Request): MaybeResponse;
291
+ setAutomationJobEnabled(jobId: string, enabled: boolean, req: Request): MaybeResponse;
292
+ runAutomationJobNow(jobId: string, req: Request): MaybeResponse;
293
293
  getSchedules(): MaybeResponse;
294
294
  postSchedule(req: Request): MaybeResponse;
295
- deleteSchedule(scheduleId: string): MaybeResponse;
296
- setScheduleEnabled(scheduleId: string, enabled: boolean): MaybeResponse;
297
- runScheduleNow(scheduleId: string): MaybeResponse;
298
- getSchedulerCapacity(): MaybeResponse;
295
+ deleteSchedule(scheduleId: string, req: Request): MaybeResponse;
296
+ setScheduleEnabled(scheduleId: string, enabled: boolean, req: Request): MaybeResponse;
297
+ runScheduleNow(scheduleId: string, req: Request): MaybeResponse;
298
+ getSchedulerCapacity(req: Request): MaybeResponse;
299
299
  }
300
300
  export interface DaemonRuntimeRouteHandlers extends DaemonRuntimeSessionRouteHandlers, DaemonRuntimeTaskRouteHandlers, DaemonRuntimeAutomationRouteHandlers, DaemonRuntimeMetricsRouteHandlers {
301
301
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import type { DaemonControlRouteHandlers } from './context.js';
2
2
  import type { AuthenticatedPrincipal } from './http-policy.js';
3
+ import { type JsonRecord } from './route-helpers.js';
3
4
  interface GatewayMethodDescriptorLike {
4
- readonly dangerous?: boolean;
5
- readonly access?: string;
5
+ readonly access?: 'public' | 'authenticated' | 'admin' | 'remote-peer' | undefined;
6
6
  }
7
7
  interface GatewayMethodCatalogLike {
8
8
  list(options?: Record<string, unknown>): unknown;
@@ -26,32 +26,31 @@ interface ControlRouteContext {
26
26
  readonly resolveAuthenticatedPrincipal: (req: Request) => AuthenticatedPrincipal | null;
27
27
  readonly gatewayMethods: GatewayMethodCatalogLike;
28
28
  readonly getOperatorContract: () => unknown;
29
- readonly inspectInboundTls: (surface: 'controlPlane' | 'httpListener') => unknown;
30
- readonly inspectOutboundTls: () => unknown;
31
29
  readonly invokeGatewayMethodCall: (input: {
32
30
  readonly authToken: string;
33
31
  readonly methodId: string;
34
- readonly query?: Record<string, unknown>;
35
- readonly body?: unknown;
32
+ readonly query?: Record<string, unknown> | undefined;
33
+ readonly body?: unknown | undefined;
36
34
  readonly context?: {
37
- readonly principalId?: string;
38
- readonly principalKind?: 'user' | 'bot' | 'service' | 'token' | 'remote-peer';
39
- readonly admin?: boolean;
40
- readonly scopes?: readonly string[];
41
- readonly clientKind?: string;
35
+ readonly principalId?: string | undefined;
36
+ readonly principalKind?: 'user' | 'bot' | 'service' | 'token' | 'remote-peer' | undefined;
37
+ readonly admin?: boolean | undefined;
38
+ readonly scopes?: readonly string[] | undefined;
39
+ readonly clientKind?: string | undefined;
42
40
  };
43
41
  }) => Promise<{
44
42
  status: number;
45
43
  ok: boolean;
46
44
  body: unknown;
47
45
  }>;
48
- readonly parseOptionalJsonBody: (req: Request) => Promise<Record<string, unknown> | null | Response>;
46
+ readonly parseOptionalJsonBody: (req: Request) => Promise<JsonRecord | null | Response>;
49
47
  readonly requireAdmin: (req: Request) => Response | null;
50
48
  readonly requireAuthenticatedSession: (req: Request) => {
51
49
  username: string;
52
50
  roles: readonly string[];
53
51
  } | null;
52
+ readonly login?: ((req: Request) => Promise<Response> | Response) | undefined;
54
53
  }
55
- export declare function createDaemonControlRouteHandlers(context: ControlRouteContext, request: Request): DaemonControlRouteHandlers;
54
+ export declare function createDaemonControlRouteHandlers(context: ControlRouteContext): DaemonControlRouteHandlers;
56
55
  export {};
57
56
  //# sourceMappingURL=control-routes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"control-routes.d.ts","sourceRoot":"","sources":["../src/control-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"control-routes.d.ts","sourceRoot":"","sources":["../src/control-routes.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,44 @@
1
- import { serializableJsonResponse } from './route-helpers.js';
2
- export function createDaemonControlRouteHandlers(context, request) {
3
- const hasAuthorizationHeader = Boolean(request.headers.get('authorization')?.trim());
4
- const sessionCookiePresent = (request.headers.get('cookie') ?? '')
5
- .split(';')
6
- .some((segment) => segment.trim().startsWith(`${context.sessionCookieName}=`));
1
+ import { isRuntimeEventDomain } from '@pellux/goodvibes-contracts';
2
+ import { jsonErrorResponse } from './error-response.js';
3
+ import { createRouteBodySchema, createRouteBodySchemaRegistry, serializableJsonResponse, } from './route-helpers.js';
4
+ const controlBodySchemas = createRouteBodySchemaRegistry({
5
+ gatewayInvoke: createRouteBodySchema('POST /api/control/gateway-methods/:methodId/invoke', (body) => {
6
+ const query = body.query && typeof body.query === 'object' && !Array.isArray(body.query)
7
+ ? body.query
8
+ : undefined;
9
+ if (!Object.hasOwn(body, 'body')) {
10
+ return jsonErrorResponse({ error: 'Missing required field: body. Expected envelope shape: { query?, body }' }, { status: 400 });
11
+ }
12
+ return {
13
+ ...(query ? { query } : {}),
14
+ body: body.body,
15
+ };
16
+ }),
17
+ });
18
+ export function createDaemonControlRouteHandlers(context) {
7
19
  return {
8
- getStatus: () => Response.json({
9
- status: 'running',
10
- version: context.version,
11
- network: {
12
- controlPlane: context.inspectInboundTls('controlPlane'),
13
- httpListener: context.inspectInboundTls('httpListener'),
14
- outbound: context.inspectOutboundTls(),
15
- },
16
- }),
20
+ postLogin: (req) => context.login
21
+ ? context.login(req)
22
+ : jsonErrorResponse({ error: 'Login is not configured for this daemon host.' }, { status: 404 }),
23
+ getStatus: (req) => {
24
+ const principal = context.resolveAuthenticatedPrincipal(req);
25
+ if (!principal)
26
+ return jsonErrorResponse({ error: 'Unauthorized' }, { status: 401 });
27
+ return Response.json({
28
+ status: 'running',
29
+ version: context.version,
30
+ });
31
+ },
17
32
  getCurrentAuth: (req) => {
18
33
  const token = context.extractAuthToken(req).trim();
19
34
  const principal = context.resolveAuthenticatedPrincipal(req);
20
35
  const session = principal?.principalKind === 'user'
21
36
  ? context.requireAuthenticatedSession(req)
22
37
  : null;
38
+ const authorizationHeaderPresent = Boolean(req.headers.get('authorization')?.trim());
39
+ const sessionCookiePresent = (req.headers.get('cookie') ?? '')
40
+ .split(';')
41
+ .some((segment) => segment.trim().startsWith(`${context.sessionCookieName}=`));
23
42
  const authMode = principal
24
43
  ? (principal.principalKind === 'token' && principal.principalId === 'shared-token' ? 'shared-token' : 'session')
25
44
  : token.length > 0
@@ -29,7 +48,7 @@ export function createDaemonControlRouteHandlers(context, request) {
29
48
  authenticated: principal !== null,
30
49
  authMode,
31
50
  tokenPresent: token.length > 0,
32
- authorizationHeaderPresent: hasAuthorizationHeader,
51
+ authorizationHeaderPresent,
33
52
  sessionCookiePresent,
34
53
  principalId: principal?.principalId ?? null,
35
54
  principalKind: principal?.principalKind ?? null,
@@ -71,27 +90,33 @@ export function createDaemonControlRouteHandlers(context, request) {
71
90
  const method = context.gatewayMethods.get(methodId);
72
91
  return method
73
92
  ? serializableJsonResponse({ method })
74
- : Response.json({ error: 'Unknown gateway method' }, { status: 404 });
93
+ : jsonErrorResponse({ error: 'Unknown gateway method' }, { status: 404 });
75
94
  },
76
95
  invokeGatewayMethod: async (methodId, req) => {
77
96
  const descriptor = context.gatewayMethods.get(methodId);
78
97
  if (!descriptor)
79
- return Response.json({ error: 'Unknown gateway method' }, { status: 404 });
80
- if (descriptor.dangerous || descriptor.access === 'admin') {
98
+ return jsonErrorResponse({ error: 'Unknown gateway method' }, { status: 404 });
99
+ const access = descriptor.access ?? 'admin';
100
+ if (access === 'admin' || access === 'remote-peer') {
81
101
  const admin = context.requireAdmin(req);
82
102
  if (admin)
83
103
  return admin;
84
104
  }
85
105
  const principal = context.resolveAuthenticatedPrincipal(req);
106
+ if (access === 'authenticated' && !principal) {
107
+ return jsonErrorResponse({ error: 'Unauthorized' }, { status: 401 });
108
+ }
86
109
  const parsedBody = await context.parseOptionalJsonBody(req);
87
110
  if (parsedBody instanceof Response)
88
111
  return parsedBody;
89
- const payload = parsedBody ?? {};
112
+ const payload = controlBodySchemas.gatewayInvoke.parse(parsedBody ?? {});
113
+ if (payload instanceof Response)
114
+ return payload;
90
115
  const response = await context.invokeGatewayMethodCall({
91
116
  authToken: context.extractAuthToken(req),
92
117
  methodId,
93
- query: typeof payload.query === 'object' && payload.query !== null ? payload.query : undefined,
94
- body: Object.hasOwn(payload, 'body') ? payload.body : payload,
118
+ query: payload.query,
119
+ body: payload.body,
95
120
  context: {
96
121
  principalId: principal?.principalId,
97
122
  principalKind: principal?.principalKind,
@@ -105,15 +130,19 @@ export function createDaemonControlRouteHandlers(context, request) {
105
130
  createControlPlaneEventStream: (req) => {
106
131
  const url = new URL(req.url);
107
132
  const rawDomains = url.searchParams.get('domains');
108
- const domains = (rawDomains ? rawDomains.split(',').map((value) => value.trim()).filter(Boolean) : []);
133
+ // filter unknown domains at the SDK boundary instead of casting unchecked input.
134
+ const domains = (rawDomains ? rawDomains.split(',').map((v) => v.trim()).filter(Boolean) : [])
135
+ .filter(isRuntimeEventDomain);
109
136
  const principal = context.resolveAuthenticatedPrincipal(req);
137
+ if (!principal)
138
+ return jsonErrorResponse({ error: 'Unauthorized' }, { status: 401 });
110
139
  return context.controlPlaneGateway.createEventStream(req, {
111
140
  clientKind: 'web',
112
141
  transport: 'sse',
113
142
  domains,
114
- principalId: principal?.principalId ?? (context.authToken ? 'shared-token' : context.requireAuthenticatedSession(req)?.username ?? 'session-user'),
115
- principalKind: principal?.principalKind ?? (context.authToken ? 'token' : 'user'),
116
- scopes: principal?.scopes ?? ['read:events', 'read:control-plane'],
143
+ principalId: principal.principalId,
144
+ principalKind: principal.principalKind,
145
+ scopes: principal.scopes,
117
146
  });
118
147
  },
119
148
  };
@@ -1,8 +1,15 @@
1
1
  import { type DaemonErrorSource, type StructuredDaemonErrorBody } from '@pellux/goodvibes-errors';
2
2
  export interface JsonErrorResponseOptions {
3
- readonly status?: number;
4
- readonly fallbackMessage?: string;
5
- readonly source?: DaemonErrorSource;
3
+ readonly status?: number | undefined;
4
+ readonly fallbackMessage?: string | undefined;
5
+ readonly source?: DaemonErrorSource | undefined;
6
+ /**
7
+ * when false (default), internal pipeline fields (`provider`,
8
+ * `operation`, `phase`, `providerCode`, `providerType`) are stripped from
9
+ * the wire body to prevent information disclosure to unprivileged clients.
10
+ * Pass `true` only for admin/operator-authenticated callers.
11
+ */
12
+ readonly isPrivileged?: boolean | undefined;
6
13
  }
7
14
  export declare function buildErrorResponseBody(error: unknown, options?: JsonErrorResponseOptions): StructuredDaemonErrorBody;
8
15
  export declare function jsonErrorResponse(error: unknown, options?: JsonErrorResponseOptions): Response;
@@ -1 +1 @@
1
- {"version":3,"file":"error-response.d.ts","sourceRoot":"","sources":["../src/error-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EAGtB,KAAK,yBAAyB,EAC/B,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;CACrC;AAmMD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,wBAA6B,GACrC,yBAAyB,CAyD3B;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,wBAA6B,GAAG,QAAQ,CASlG;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,wBAA6B,GAAG,MAAM,CAEtG"}
1
+ {"version":3,"file":"error-response.d.ts","sourceRoot":"","sources":["../src/error-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EAGtB,KAAK,yBAAyB,EAC/B,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAChD;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7C;AAkQD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,wBAA6B,GACrC,yBAAyB,CAgH3B;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,wBAA6B,GAAG,QAAQ,CAOlG;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,wBAA6B,GAAG,MAAM,CAEtG"}
@@ -90,9 +90,32 @@ function inferCategory(status, code) {
90
90
  return DaemonErrorCategory.TIMEOUT;
91
91
  return DaemonErrorCategory.UNKNOWN;
92
92
  }
93
+ const MAX_INFER_MESSAGE_LENGTH = 2_000;
94
+ // fast-path exact-code lookup to avoid regex on the hot path for
95
+ // well-known error codes that appear frequently in daemon responses.
96
+ const FAST_PATH_CODE_CATEGORIES = new Map([
97
+ ['ECONNREFUSED', DaemonErrorCategory.NETWORK],
98
+ ['ENOTFOUND', DaemonErrorCategory.NETWORK],
99
+ ['EAI_AGAIN', DaemonErrorCategory.NETWORK],
100
+ ['EHOSTUNREACH', DaemonErrorCategory.NETWORK],
101
+ ['ECONNRESET', DaemonErrorCategory.NETWORK],
102
+ ['ETIMEDOUT', DaemonErrorCategory.TIMEOUT],
103
+ ['ECONNABORTED', DaemonErrorCategory.TIMEOUT],
104
+ ]);
93
105
  function inferCategoryFromMessage(message) {
94
- const msg = message.toLowerCase();
95
- if (/api[_\s-]?key|auth|token|credential|jwt|unauthoriz/.test(msg))
106
+ // check exact code match before falling through to regex.
107
+ const fastPath = FAST_PATH_CODE_CATEGORIES.get(message.trim().toUpperCase());
108
+ if (fastPath !== undefined)
109
+ return fastPath;
110
+ // Cap length before lowercasing to avoid regex on unbounded strings.
111
+ const msg = message.length > MAX_INFER_MESSAGE_LENGTH
112
+ ? message.slice(0, MAX_INFER_MESSAGE_LENGTH).toLowerCase()
113
+ : message.toLowerCase();
114
+ // Order matters: credential/authentication patterns are intentionally checked
115
+ // before generic bad-request wording so provider credential failures remain
116
+ // actionable for clients.
117
+ // Use word boundaries to avoid false positives on 'authority', 'author', etc.
118
+ if (/api[_\s-]?key|\bauth\b|\btoken\b|credential|\bjwt\b|unauthoriz/.test(msg))
96
119
  return DaemonErrorCategory.AUTHENTICATION;
97
120
  if (/forbidden|access denied|permission denied|not allowed/.test(msg))
98
121
  return DaemonErrorCategory.AUTHORIZATION;
@@ -174,9 +197,37 @@ function isStructuredErrorLike(error) {
174
197
  || typeof error.source === 'string'
175
198
  || typeof error.category === 'string'));
176
199
  }
200
+ function isErrorPropertyLike(error) {
201
+ return Boolean(error
202
+ && typeof error === 'object'
203
+ && typeof error.error === 'string');
204
+ }
205
+ function readNumberProperty(value) {
206
+ return typeof value === 'number' && Number.isFinite(value) && value >= 0 ? value : undefined;
207
+ }
208
+ function readStringProperty(value) {
209
+ return typeof value === 'string' && value.trim().length > 0 ? value.trim() : undefined;
210
+ }
211
+ function readBooleanProperty(value) {
212
+ return typeof value === 'boolean' ? value : undefined;
213
+ }
177
214
  export function buildErrorResponseBody(error, options = {}) {
215
+ // only expose internal pipeline fields to privileged callers.
216
+ const isPrivileged = options.isPrivileged === true;
178
217
  if (isStructuredDaemonErrorBody(error)) {
179
- return error;
218
+ if (isPrivileged)
219
+ return error;
220
+ // strip pipeline-internal fields before returning to unprivileged callers.
221
+ const safe = {
222
+ error: error.error,
223
+ ...(error.hint !== undefined ? { hint: error.hint } : {}),
224
+ ...(error.code !== undefined ? { code: error.code } : {}),
225
+ ...(error.category !== undefined ? { category: error.category } : {}),
226
+ ...(error.source !== undefined ? { source: error.source } : {}),
227
+ ...(error.recoverable !== undefined ? { recoverable: error.recoverable } : {}),
228
+ ...(error.status !== undefined ? { status: error.status } : {}),
229
+ };
230
+ return safe;
180
231
  }
181
232
  if (error instanceof GoodVibesSdkError || isStructuredErrorLike(error)) {
182
233
  const status = error instanceof GoodVibesSdkError
@@ -207,15 +258,57 @@ export function buildErrorResponseBody(error, options = {}) {
207
258
  ...(normalizeSource(error.source) ? { source: normalizeSource(error.source) } : {}),
208
259
  ...(error.recoverable !== undefined ? { recoverable: error.recoverable } : {}),
209
260
  ...(status !== undefined ? { status } : {}),
210
- ...(provider ? { provider } : {}),
211
- ...(error.operation ? { operation: error.operation } : {}),
212
- ...(phase ? { phase } : {}),
261
+ // strip pipeline-internal fields for unprivileged callers.
262
+ ...(isPrivileged && provider ? { provider } : {}),
263
+ ...(isPrivileged && error.operation ? { operation: error.operation } : {}),
264
+ ...(isPrivileged && phase ? { phase } : {}),
213
265
  ...(requestId ? { requestId } : {}),
214
- ...(providerCode ? { providerCode } : {}),
215
- ...(error.providerType ? { providerType: error.providerType } : {}),
266
+ ...(isPrivileged && providerCode ? { providerCode } : {}),
267
+ ...(isPrivileged && error.providerType ? { providerType: error.providerType } : {}),
216
268
  ...(error.retryAfterMs !== undefined ? { retryAfterMs: error.retryAfterMs } : {}),
217
269
  };
218
270
  }
271
+ if (isErrorPropertyLike(error)) {
272
+ const rawStatus = readNumberProperty(error.status) ?? readNumberProperty(error.statusCode);
273
+ const status = rawStatus !== undefined
274
+ ? (rawStatus >= 100 && rawStatus <= 599 ? rawStatus : options.status)
275
+ : options.status;
276
+ const code = readStringProperty(error.code);
277
+ const provider = readStringProperty(error.provider);
278
+ const providerCode = readStringProperty(error.providerCode);
279
+ const phase = readStringProperty(error.phase);
280
+ const requestId = readStringProperty(error.requestId);
281
+ const source = normalizeSource(readStringProperty(error.source));
282
+ const recoverable = readBooleanProperty(error.recoverable);
283
+ const operation = readStringProperty(error.operation);
284
+ const providerType = readStringProperty(error.providerType);
285
+ const retryAfterMs = readNumberProperty(error.retryAfterMs);
286
+ const message = error.error.trim() || options.fallbackMessage || 'Unexpected error';
287
+ const network = getNetworkErrorMessage(message, provider);
288
+ const inferred = inferCategory(status, code ?? providerCode);
289
+ const messageCategory = inferred === DaemonErrorCategory.UNKNOWN
290
+ ? inferCategoryFromMessage(message)
291
+ : inferred;
292
+ const category = normalizeCategory(readStringProperty(error.category)) ?? network?.category ?? messageCategory;
293
+ const hint = readStringProperty(error.hint) ?? readStringProperty(error.guidance) ?? inferHint(category, status);
294
+ return {
295
+ error: buildSummary(network?.summary ?? message, { requestId, providerCode, phase }),
296
+ ...(hint ? { hint } : {}),
297
+ ...(code ? { code } : {}),
298
+ category,
299
+ ...(source ? { source } : {}),
300
+ ...(recoverable !== undefined ? { recoverable } : {}),
301
+ ...(status !== undefined ? { status } : {}),
302
+ // strip pipeline-internal fields for unprivileged callers.
303
+ ...(isPrivileged && provider ? { provider } : {}),
304
+ ...(isPrivileged && operation ? { operation } : {}),
305
+ ...(isPrivileged && phase ? { phase } : {}),
306
+ ...(requestId ? { requestId } : {}),
307
+ ...(isPrivileged && providerCode ? { providerCode } : {}),
308
+ ...(isPrivileged && providerType ? { providerType } : {}),
309
+ ...(retryAfterMs !== undefined ? { retryAfterMs } : {}),
310
+ };
311
+ }
219
312
  const message = readMessage(error, options.fallbackMessage);
220
313
  const network = getNetworkErrorMessage(message);
221
314
  const inferred = inferCategory(options.status);
@@ -235,9 +328,7 @@ export function buildErrorResponseBody(error, options = {}) {
235
328
  export function jsonErrorResponse(error, options = {}) {
236
329
  const body = buildErrorResponseBody(error, options);
237
330
  const status = options.status ?? body.status ?? 500;
238
- return Response.json(body.status === undefined && options.status !== undefined
239
- ? { ...body, status: options.status }
240
- : body, { status });
331
+ return Response.json({ ...body, status }, { status });
241
332
  }
242
333
  export function summarizeErrorForRecord(error, options = {}) {
243
334
  return buildErrorResponseBody(error, options).error;
@@ -5,16 +5,16 @@ export interface AuthenticatedPrincipal {
5
5
  readonly admin: boolean;
6
6
  readonly scopes: readonly string[];
7
7
  }
8
- interface AuthenticatedPrincipalResolver {
8
+ export interface AuthenticatedPrincipalResolver {
9
9
  readonly extractAuthToken: (req: Request) => string;
10
10
  readonly describeAuthenticatedPrincipal: (token: string) => AuthenticatedPrincipal | null;
11
11
  }
12
- interface PrivateHostFetchConfig {
12
+ export interface PrivateHostFetchConfig {
13
13
  readonly configManager: {
14
14
  get(key: string): unknown;
15
15
  };
16
16
  }
17
- interface ElevatedPrivateHostFetchConfig extends PrivateHostFetchConfig {
17
+ export interface ElevatedPrivateHostFetchConfig extends PrivateHostFetchConfig {
18
18
  readonly req: Request;
19
19
  readonly requireElevatedAccess: (req: Request) => Response | null;
20
20
  }
@@ -29,5 +29,4 @@ export declare function resolvePrivateHostFetchOptions(requested: unknown, conte
29
29
  allowPrivateHosts: true;
30
30
  fetchMode: 'allow-private-hosts';
31
31
  } | Record<string, never> | Response;
32
- export {};
33
32
  //# sourceMappingURL=http-policy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-policy.d.ts","sourceRoot":"","sources":["../src/http-policy.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,0BAA0B,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC;AAE9E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,0BAA0B,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,UAAU,8BAA8B;IACtC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAC;IACpD,QAAQ,CAAC,8BAA8B,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,sBAAsB,GAAG,IAAI,CAAC;CAC3F;AAED,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,aAAa,EAAE;QACtB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KAC3B,CAAC;CACH;AAED,UAAU,8BAA+B,SAAQ,sBAAsB;IACrE,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC;CACnE;AAED,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,8BAA8B,GACvC,sBAAsB,GAAG,IAAI,CAG/B;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAC3C;IACD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C,GAAG,IAAI,CASP;AAED,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,sBAAsB,GAAG,8BAA8B,GAC/D;IAAE,iBAAiB,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,qBAAqB,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,QAAQ,CAUlG"}
1
+ {"version":3,"file":"http-policy.d.ts","sourceRoot":"","sources":["../src/http-policy.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,0BAA0B,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC;AAE9E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,0BAA0B,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAC;IACpD,QAAQ,CAAC,8BAA8B,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,sBAAsB,GAAG,IAAI,CAAC;CAC3F;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,aAAa,EAAE;QACtB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KAC3B,CAAC;CACH;AAED,MAAM,WAAW,8BAA+B,SAAQ,sBAAsB;IAC5E,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC;CACnE;AAED,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,8BAA8B,GACvC,sBAAsB,GAAG,IAAI,CAG/B;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAC3C;IACD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C,GAAG,IAAI,CASP;AAED,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,sBAAsB,GAAG,8BAA8B,GAC/D;IAAE,iBAAiB,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,qBAAqB,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,QAAQ,CAUlG"}
@@ -1,3 +1,4 @@
1
+ import { jsonErrorResponse } from './error-response.js';
1
2
  import { missingScopes } from './route-helpers.js';
2
3
  export function resolveAuthenticatedPrincipal(req, resolver) {
3
4
  const token = resolver.extractAuthToken(req);
@@ -18,7 +19,7 @@ export function resolvePrivateHostFetchOptions(requested, context) {
18
19
  if (requested !== true)
19
20
  return {};
20
21
  if (!Boolean(context.configManager.get('network.remoteFetch.allowPrivateHosts'))) {
21
- return Response.json({ error: 'Private-host remote fetches are disabled by config.' }, { status: 403 });
22
+ return jsonErrorResponse({ error: 'Private-host remote fetches are disabled by config.' }, { status: 403 });
22
23
  }
23
24
  if ('requireElevatedAccess' in context) {
24
25
  const denied = context.requireElevatedAccess(context.req);