@pellux/goodvibes-daemon-sdk 1.6.1 → 1.7.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.
@@ -11,7 +11,7 @@ export type DaemonApiRouteExtension = (req: Request) => Promise<Response | null>
11
11
  /**
12
12
  * Dispatch an incoming HTTP request against the full daemon API route set.
13
13
  *
14
- * Routes are tried in order: remote → operator → automation → session → task → extensions.
14
+ * Routes are tried in order: gateway-rest → remote → operator → automation → session → task → extensions.
15
15
  * Returns the first non-null `Response`, or `null` if no route matched.
16
16
  *
17
17
  * @param req - The incoming HTTP request.
@@ -1 +1 @@
1
- {"version":3,"file":"api-router.d.ts","sourceRoot":"","sources":["../src/api-router.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE3D;;;;;;;GAOG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC;AAEnG;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,sBAAsB,EAChC,UAAU,CAAC,EAAE,SAAS,uBAAuB,EAAE,GAC9C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAkB1B"}
1
+ {"version":3,"file":"api-router.d.ts","sourceRoot":"","sources":["../src/api-router.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE3D;;;;;;;GAOG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC;AAEnG;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,sBAAsB,EAChC,UAAU,CAAC,EAAE,SAAS,uBAAuB,EAAE,GAC9C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAyB1B"}
@@ -1,4 +1,5 @@
1
1
  import { dispatchAutomationRoutes } from './automation.js';
2
+ import { dispatchGatewayRestRoutes } from './gateway-rest-routes.js';
2
3
  import { dispatchOperatorRoutes } from './operator.js';
3
4
  import { dispatchRemoteRoutes } from './remote.js';
4
5
  import { dispatchSessionRoutes } from './sessions.js';
@@ -6,7 +7,7 @@ import { dispatchTaskRoutes } from './tasks.js';
6
7
  /**
7
8
  * Dispatch an incoming HTTP request against the full daemon API route set.
8
9
  *
9
- * Routes are tried in order: remote → operator → automation → session → task → extensions.
10
+ * Routes are tried in order: gateway-rest → remote → operator → automation → session → task → extensions.
10
11
  * Returns the first non-null `Response`, or `null` if no route matched.
11
12
  *
12
13
  * @param req - The incoming HTTP request.
@@ -24,7 +25,15 @@ import { dispatchTaskRoutes } from './tasks.js';
24
25
  * ```
25
26
  */
26
27
  export async function dispatchDaemonApiRoutes(req, handlers, extensions) {
27
- let result = await dispatchRemoteRoutes(req, handlers);
28
+ // Gateway-hoisted verb families (skills.*, principals.*, checkin.*, ci.*,
29
+ // channels.profiles.*, sessions.permissionMode/contextUsage) that advertise a
30
+ // REST http binding are served here, ahead of the built-ins. Every one of
31
+ // their paths is otherwise unrouted, so trying this first shadows no existing
32
+ // route; unmatched paths return null and fall through unchanged.
33
+ let result = await dispatchGatewayRestRoutes(req, handlers);
34
+ if (result !== null)
35
+ return result;
36
+ result = await dispatchRemoteRoutes(req, handlers);
28
37
  if (result !== null)
29
38
  return result;
30
39
  result = await dispatchOperatorRoutes(req, handlers);
package/dist/context.d.ts CHANGED
@@ -15,7 +15,6 @@ export interface DaemonOperatorRuntimeRouteHandlers {
15
15
  getAutomationHeartbeat(): MaybeResponse;
16
16
  postAutomationHeartbeat(req: Request): MaybeResponse;
17
17
  getSchedulerCapacity(req: Request): MaybeResponse;
18
- getRuntimeMetrics(): MaybeResponse;
19
18
  }
20
19
  /** Route handlers for the automation surface — overview, runtime automation, and delivery. */
21
20
  export interface DaemonAutomationRouteHandlers extends DaemonAutomationOverviewRouteHandlers, DaemonRuntimeAutomationRouteHandlers, DaemonDeliveryRouteHandlers {
@@ -62,6 +61,7 @@ export interface DaemonControlRouteHandlers {
62
61
  getGatewayMethod(methodId: string): MaybeResponse;
63
62
  invokeGatewayMethod(methodId: string, req: Request): MaybeResponse;
64
63
  createControlPlaneEventStream(req: Request): MaybeResponse;
64
+ invokeGatewayRestVerb(invocation: GatewayRestVerbInvocation): MaybeResponse;
65
65
  }
66
66
  /** Route handlers for telemetry endpoints: snapshots, events, errors, traces, metrics, and OTLP ingest. */
67
67
  export interface DaemonTelemetryRouteHandlers {
@@ -361,17 +361,32 @@ export interface DaemonRuntimeAutomationRouteHandlers {
361
361
  runScheduleNow(scheduleId: string, req: Request): MaybeResponse;
362
362
  getSchedulerCapacity(req: Request): MaybeResponse;
363
363
  }
364
- /** Combined runtime route surface — sessions, tasks, automation, and metrics. */
365
- export interface DaemonRuntimeRouteHandlers extends DaemonRuntimeSessionRouteHandlers, DaemonRuntimeTaskRouteHandlers, DaemonRuntimeAutomationRouteHandlers, DaemonRuntimeMetricsRouteHandlers {
366
- }
367
- /** Route handler for the runtime metrics endpoint. */
368
- export interface DaemonRuntimeMetricsRouteHandlers {
369
- getRuntimeMetrics(): MaybeResponse;
364
+ /** Combined runtime route surface — sessions, tasks, and automation. */
365
+ export interface DaemonRuntimeRouteHandlers extends DaemonRuntimeSessionRouteHandlers, DaemonRuntimeTaskRouteHandlers, DaemonRuntimeAutomationRouteHandlers {
370
366
  }
371
367
  /**
372
368
  * The complete daemon API route handler interface. Implement this to satisfy
373
369
  * all routes dispatched by `dispatchDaemonApiRoutes`.
374
370
  */
375
- export interface DaemonApiRouteHandlers extends DaemonRemoteDispatchRouteHandlers, DaemonOperatorRouteHandlers, DaemonAutomationRouteHandlers, DaemonSessionRouteHandlers, DaemonTaskRouteHandlers, DaemonRuntimeRouteHandlers {
371
+ /** A gateway verb invocation chosen by REST path (see gateway-rest-routes.ts). */
372
+ export interface GatewayRestVerbInvocation {
373
+ /** The cataloged gateway methodId the matched REST path maps to. */
374
+ readonly methodId: string;
375
+ /** The incoming request (carries auth, query string, and JSON body). */
376
+ readonly req: Request;
377
+ /** Path-template parameters extracted from the matched path (e.g. { name }). */
378
+ readonly params: Readonly<Record<string, string>>;
379
+ }
380
+ /**
381
+ * The single handler the gateway REST route table dispatches through. The
382
+ * daemon implements it by delegating to `invokeGatewayMethodCall(methodId, …)`
383
+ * after resolving the authenticated principal and folding `params` into the
384
+ * invocation query — REST parity with the methodId-invoke endpoint, no verb
385
+ * logic duplicated.
386
+ */
387
+ export interface DaemonGatewayRestRouteHandlers {
388
+ invokeGatewayRestVerb(invocation: GatewayRestVerbInvocation): MaybeResponse;
389
+ }
390
+ export interface DaemonApiRouteHandlers extends DaemonRemoteDispatchRouteHandlers, DaemonOperatorRouteHandlers, DaemonAutomationRouteHandlers, DaemonSessionRouteHandlers, DaemonTaskRouteHandlers, DaemonGatewayRestRouteHandlers, DaemonRuntimeRouteHandlers {
376
391
  }
377
392
  //# sourceMappingURL=context.d.ts.map
@@ -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":"AAAA,uGAAuG;AACvG,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEzD,gGAAgG;AAChG,MAAM,WAAW,iCACf,SAAQ,iCAAiC,EACvC,mCAAmC;CAAG;AAE1C,uDAAuD;AACvD,MAAM,WAAW,iCAAiC;IAChD,SAAS,IAAI,aAAa,CAAC;CAC5B;AAED,4JAA4J;AAC5J,MAAM,WAAW,2BACf,SAAQ,0BAA0B,EAChC,4BAA4B,EAC5B,0BAA0B,EAC1B,8BAA8B,EAC9B,yBAAyB,EACzB,mCAAmC,EACnC,4BAA4B,EAC5B,wBAAwB,EACxB,kCAAkC;CAAG;AAEzC,iFAAiF;AACjF,MAAM,WAAW,kCAAkC;IACjD,sBAAsB,IAAI,aAAa,CAAC;IACxC,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACrD,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;CACnD;AAED,8FAA8F;AAC9F,MAAM,WAAW,6BACf,SAAQ,qCAAqC,EAC3C,oCAAoC,EACpC,2BAA2B;CAAG;AAElC,gGAAgG;AAChG,MAAM,WAAW,qCAAqC;IACpD,SAAS,IAAI,aAAa,CAAC;IAC3B,qBAAqB,IAAI,aAAa,CAAC;IACvC,wBAAwB,IAAI,aAAa,CAAC;CAC3C;AAED,yDAAyD;AACzD,MAAM,WAAW,2BAA2B;IAC1C,aAAa,IAAI,aAAa,CAAC;IAC/B,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAAC;CAChD;AAED,wFAAwF;AACxF,MAAM,WAAW,0BACf,SAAQ,kCAAkC,EACxC,iCAAiC;CAAG;AAExC,mEAAmE;AACnE,MAAM,WAAW,kCAAkC;IACjD,2JAA2J;IAC3J,sBAAsB,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,aAAa,CAAC;CAClD;AAED,kFAAkF;AAClF,MAAM,WAAW,uBACf,SAAQ,+BAA+B,EACrC,8BAA8B;CAAG;AAErC,gEAAgE;AAChE,MAAM,WAAW,+BAA+B;IAC9C,mBAAmB,IAAI,aAAa,CAAC;CACtC;AAED,uGAAuG;AACvG,MAAM,WAAW,0BAA0B;IACzC,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACvC,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACvC,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC5C,uBAAuB,IAAI,aAAa,CAAC;IACzC,mBAAmB,IAAI,aAAa,CAAC;IACrC,kBAAkB,IAAI,aAAa,CAAC;IACpC,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;IAC1D,uBAAuB,IAAI,aAAa,CAAC;IACzC,sBAAsB,IAAI,aAAa,CAAC;IACxC,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;IAC3C,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;IAC1C,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAAC;IAClD,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACnE,6BAA6B,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC3D,qBAAqB,CAAC,UAAU,EAAE,yBAAyB,GAAG,aAAa,CAAC;CAC7E;AAED,2GAA2G;AAC3G,MAAM,WAAW,4BAA4B;IAC3C,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAClD,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAChD,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAChD,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAChD,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACjD,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACxD,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACpD,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAClD,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACrD,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACnD,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACrD,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;CACvD;AAED,wIAAwI;AACxI,MAAM,WAAW,0BAA0B;IACzC,WAAW,IAAI,aAAa,CAAC;IAC7B,kBAAkB,IAAI,aAAa,CAAC;IACpC,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC;IAC1D,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,aAAa,CAAC;IACrE,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;IAChE,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;IAC3D,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;IAClE,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;IAC9D,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACjH,sBAAsB,IAAI,aAAa,CAAC;IACxC,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC;IAC9D,eAAe,IAAI,aAAa,CAAC;IACjC,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC;IACvD,oBAAoB,IAAI,aAAa,CAAC;IACtC,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC;IAC5D,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC9E,iBAAiB,IAAI,aAAa,CAAC;IACnC,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC;IACzD,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAClF,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACvE,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACnE,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC1E,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACvE,kBAAkB,IAAI,aAAa,CAAC;IACpC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAChE,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACjE,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;IACpD,gBAAgB,IAAI,aAAa,CAAC;IAClC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;CAC/D;AAED,yIAAyI;AACzI,MAAM,WAAW,8BACf,SAAQ,sCAAsC,EAC5C,2BAA2B,EAC3B,gCAAgC,EAChC,iCAAiC,EACjC,iCAAiC,EACjC,yBAAyB,EACzB,iCAAiC,EACjC,wBAAwB,EACxB,2BAA2B;CAAG;AAElC,wGAAwG;AACxG,MAAM,WAAW,sCAAsC;IACrD,SAAS,IAAI,aAAa,CAAC;IAC3B,qBAAqB,IAAI,aAAa,CAAC;IACvC,mBAAmB,IAAI,aAAa,CAAC;IACrC,wBAAwB,IAAI,aAAa,CAAC;IAC1C,2JAA2J;IAC3J,sBAAsB,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,aAAa,CAAC;CAClD;AAED,gEAAgE;AAChE,MAAM,WAAW,gCAAgC;IAC/C,iBAAiB,IAAI,aAAa,CAAC;CACpC;AAED,oIAAoI;AACpI,MAAM,WAAW,iCAAiC;IAChD,SAAS,IAAI,aAAa,CAAC;IAC3B,WAAW,IAAI,aAAa,CAAC;IAC7B,YAAY,IAAI,aAAa,CAAC;IAC9B,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/C,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAAC;IACpD,WAAW,IAAI,aAAa,CAAC;IAC7B,mBAAmB,IAAI,aAAa,CAAC;IACrC,aAAa,IAAI,aAAa,CAAC;IAC/B,YAAY,IAAI,aAAa,CAAC;IAC9B,eAAe,IAAI,aAAa,CAAC;CAClC;AAED,2JAA2J;AAC3J,MAAM,WAAW,yBAAyB;IACxC,eAAe,IAAI,aAAa,CAAC;IACjC,oBAAoB,IAAI,aAAa,CAAC;IACtC,oBAAoB,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;IAC9C,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACrD,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACxD,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACjD,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACpD,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAAC;IAC3C,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAChE,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAAC;IAE9C,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAClD,8BAA8B,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC5D,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAChE,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAAC;IAChD,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC9D,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACpD,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;CACrD;AAED,+GAA+G;AAC/G,MAAM,WAAW,iCAAiC;IAChD,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC1C,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC/C,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACnE,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACrE,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACvE,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;CAClD;AAED,yDAAyD;AACzD,MAAM,WAAW,wBAAwB;IACvC,SAAS,IAAI,aAAa,CAAC;IAC3B,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;CAC5C;AAED,gDAAgD;AAChD,MAAM,WAAW,2BAA2B;IAC1C,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;CACxC;AAED,8GAA8G;AAC9G,MAAM,WAAW,yBAAyB;IACxC,WAAW,IAAI,aAAa,CAAC;IAC7B,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACzC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC7D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAChG,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC9D,gBAAgB,IAAI,aAAa,CAAC;IAClC,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC5C,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC1C,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACzC,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC5C,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC9C,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC9C,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC9C,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAClE,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACnE,YAAY,IAAI,aAAa,CAAC;IAC9B,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACjH,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACvC,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACxC;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;CAC7C;AAED,kHAAkH;AAClH,MAAM,WAAW,mCAAmC;IAClD,qBAAqB,IAAI,aAAa,CAAC;IACvC,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACzE,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACxE,cAAc,IAAI,aAAa,CAAC;IAChC,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACnE,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACnE,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAClE,aAAa,IAAI,aAAa,CAAC;IAC/B,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC9D,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC9D,yBAAyB,IAAI,aAAa,CAAC;CAC5C;AAED,uHAAuH;AACvH,MAAM,WAAW,4BAA6B,SAAQ,sCAAsC;IAC1F,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;IAC5C,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;IAC7C,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;IAC3C,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;IAC5C,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;IACtD,sBAAsB,IAAI,aAAa,CAAC;IACxC,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAAC;IACjD,2BAA2B,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAAC;IACvD,6BAA6B,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;IACvD,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;IACzC,yBAAyB,IAAI,aAAa,CAAC;IAC3C,uBAAuB,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;IACjD,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;IAC3C,sBAAsB,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;IAChD,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAAC;IACjD,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;IAC7C,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAAC;IAC9C,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAAC;IAClD,4BAA4B,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAAC;IACxD,gBAAgB,IAAI,aAAa,CAAC;IAClC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;IAC9C,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;IAC7C,qBAAqB,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;IAC/C,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAAC;IAChD,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACpD,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACzD,+BAA+B,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC7D,4BAA4B,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC1D,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACrD,4BAA4B,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC1D,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACjD,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC9C,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACjD,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAClE,4BAA4B,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACtE,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAChE,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC/C,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAClD,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACvD,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACjE,+BAA+B,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACzE,6BAA6B,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC3D,kCAAkC,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAChE,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;CACtD;AAED,+DAA+D;AAC/D,MAAM,WAAW,sCAAsC;IACrD,2BAA2B,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;IACrD,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC1D,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACxD,iCAAiC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;CAChF;AAED,4GAA4G;AAC5G,MAAM,WAAW,wBACf,SAAQ,wBAAwB,EAC9B,4BAA4B,EAC5B,2BAA2B,EAC3B,gCAAgC,EAChC,6BAA6B;CAAG;AAEpC,iGAAiG;AACjG,MAAM,WAAW,wBAAwB;IACvC,cAAc,IAAI,aAAa,CAAC;IAChC,iBAAiB,IAAI,aAAa,CAAC;IACnC,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;IACxC,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC1C,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAChD,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC1C,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;CACvD;AAED,0EAA0E;AAC1E,MAAM,WAAW,4BAA4B;IAC3C,qBAAqB,IAAI,aAAa,CAAC;IACvC,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;CAC5C;AAED,6FAA6F;AAC7F,MAAM,WAAW,2BAA2B;IAC1C,YAAY,IAAI,aAAa,CAAC;IAC9B,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC1C,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/C,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;CACrE;AAED,sFAAsF;AACtF,MAAM,WAAW,gCAAgC;IAC/C,iBAAiB,IAAI,aAAa,CAAC;IACnC,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC9C,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAChD,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;CAChD;AAED,qGAAqG;AACrG,MAAM,WAAW,6BAA6B;IAC5C,mBAAmB,IAAI,aAAa,CAAC;IACrC,sBAAsB,IAAI,aAAa,CAAC;IACxC,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACnD,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAClD,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;CACtD;AAED,8GAA8G;AAC9G,MAAM,WAAW,iCAAiC;IAChD,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACjD,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACnD,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAAC;IACnD,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACnE,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACpE,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACpE,kHAAkH;IAClH,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACpE,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;IACrE,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC;IACnE,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACzE,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACvE,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC1E,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC1F,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC3F,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;CACxE;AAED,uGAAuG;AACvG,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACtC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC9C,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC3F,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC;CAC/C;AAED,gHAAgH;AAChH,MAAM,WAAW,oCAAoC;IACnD,kJAAkJ;IAClJ,iBAAiB,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,aAAa,CAAC;IAC5C,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC/C,kJAAkJ;IAClJ,iBAAiB,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,aAAa,CAAC;IAC5C,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/C,sBAAsB,IAAI,aAAa,CAAC;IACxC,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACrD,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC5F,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC/D,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAChE,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACtF,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAChE,YAAY,IAAI,aAAa,CAAC;IAC9B,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC1C,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAChE,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IACtF,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAChE,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;CACnD;AAED,wEAAwE;AACxE,MAAM,WAAW,0BACf,SAAQ,iCAAiC,EACvC,8BAA8B,EAC9B,oCAAoC;CAAG;AAE3C;;;GAGG;AACH,kFAAkF;AAClF,MAAM,WAAW,yBAAyB;IACxC,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,wEAAwE;IACxE,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,gFAAgF;IAChF,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACnD;AAED;;;;;;GAMG;AACH,MAAM,WAAW,8BAA8B;IAC7C,qBAAqB,CAAC,UAAU,EAAE,yBAAyB,GAAG,aAAa,CAAC;CAC7E;AAED,MAAM,WAAW,sBACf,SAAQ,iCAAiC,EACvC,2BAA2B,EAC3B,6BAA6B,EAC7B,0BAA0B,EAC1B,uBAAuB,EACvB,8BAA8B,EAC9B,0BAA0B;CAAG"}
@@ -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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"}
@@ -133,6 +133,49 @@ export function createDaemonControlRouteHandlers(context) {
133
133
  });
134
134
  return Response.json(response.body, { status: response.status });
135
135
  },
136
+ invokeGatewayRestVerb: async (invocation) => {
137
+ // REST parity for a handler-backed gateway verb reached by its advertised
138
+ // path (gateway-rest-routes.ts). Not a second implementation: resolve the
139
+ // principal, fold the path params into BOTH query and body (so query-reading
140
+ // GET/DELETE verbs and body-schema-validated POST verbs both see them), and
141
+ // delegate to the same invokeGatewayMethodCall the methodId-invoke endpoint
142
+ // above uses — identical access gate, identical in-process handler.
143
+ const { methodId, req, params } = invocation;
144
+ const descriptor = context.gatewayMethods.get(methodId);
145
+ const access = descriptor?.access ?? 'admin';
146
+ if (access === 'admin' || access === 'remote-peer') {
147
+ const admin = context.requireAdmin(req);
148
+ if (admin)
149
+ return admin;
150
+ }
151
+ const principal = context.resolveAuthenticatedPrincipal(req);
152
+ if (access === 'authenticated' && !principal) {
153
+ return jsonErrorResponse({ error: 'Unauthorized' }, { status: 401 });
154
+ }
155
+ const parsedBody = await context.parseOptionalJsonBody(req);
156
+ if (parsedBody instanceof Response)
157
+ return parsedBody;
158
+ const bodyRecord = parsedBody && typeof parsedBody === 'object' && !Array.isArray(parsedBody)
159
+ ? parsedBody
160
+ : {};
161
+ const query = { ...params };
162
+ for (const [key, value] of new URL(req.url).searchParams)
163
+ query[key] = value;
164
+ const response = await context.invokeGatewayMethodCall({
165
+ authToken: context.extractAuthToken(req),
166
+ methodId,
167
+ query,
168
+ body: { ...params, ...bodyRecord },
169
+ context: {
170
+ principalId: principal?.principalId,
171
+ principalKind: principal?.principalKind,
172
+ admin: principal?.admin,
173
+ scopes: principal?.scopes,
174
+ clientKind: 'web',
175
+ },
176
+ });
177
+ return Response.json(response.body, { status: response.status });
178
+ },
136
179
  createControlPlaneEventStream: (req) => {
137
180
  const url = new URL(req.url);
138
181
  const rawDomains = url.searchParams.get('domains');
@@ -0,0 +1,56 @@
1
+ import type { DaemonGatewayRestRouteHandlers } from './context.js';
2
+ /**
3
+ * gateway-rest-routes.ts
4
+ *
5
+ * Explicit REST route table for the handler-backed gateway verb families that
6
+ * ALSO advertise an `http` binding in the operator method catalog (skills.*,
7
+ * principals.*, checkin.*, ci.*, channels.profiles.*, the session-scoped
8
+ * sessions.permissionMode.get/set + sessions.contextUsage.get, stepup.* (the
9
+ * relay step-up ceremony), and runtime.metrics.get). Those verbs are
10
+ * served in-process through `invokeGatewayMethodCall`'s registered-handler
11
+ * branch, reachable over the wire via the generic
12
+ * `POST /api/control/gateway-methods/:methodId/invoke` endpoint. But each one
13
+ * also promises a plain-REST path (`GET /api/skills`, …) in its descriptor's
14
+ * http binding, and no route ever served those paths — a caller trusting the
15
+ * advertisement and hitting `GET /api/skills` got a bare 404. That is the exact
16
+ * advertise-without-route defect the capability-route reconcile
17
+ * (method-catalog-route-reconcile.ts) exists to catch.
18
+ *
19
+ * This module closes that gap with genuine route parity rather than by muting
20
+ * the gate: it maps each advertised REST path to its gateway methodId and
21
+ * dispatches through `handlers.invokeGatewayRestVerb`, which the daemon wires
22
+ * back to the SAME `invokeGatewayMethodCall` the methodId-invoke endpoint uses.
23
+ * No verb logic is duplicated — the REST path and the methodId-invoke endpoint
24
+ * now resolve to the identical in-process handler, with the identical
25
+ * access/scope gate. Path parameters ({name}, {sessionId}, …) are folded into
26
+ * the invocation query so the handler's `readInvocationParams` view sees them.
27
+ *
28
+ * Drift guard: the reconcile gate reddens whenever a handler-backed family
29
+ * gains an http binding without a matching entry here (its advertised path
30
+ * would resolve to no route), so a new family's REST paths must be added to
31
+ * GATEWAY_REST_ROUTES in the same change.
32
+ */
33
+ interface GatewayRestRoute {
34
+ readonly method: string;
35
+ readonly regex: RegExp;
36
+ readonly paramNames: readonly string[];
37
+ readonly methodId: string;
38
+ }
39
+ /**
40
+ * The explicit REST route table. Every entry is a path a gateway verb
41
+ * descriptor advertises in its http binding; keep this in lockstep with those
42
+ * bindings (the reconcile gate enforces it).
43
+ */
44
+ export declare const GATEWAY_REST_ROUTES: readonly GatewayRestRoute[];
45
+ /**
46
+ * Dispatch a request against the gateway REST route table.
47
+ *
48
+ * Returns the handler's `Response` when a path+method entry matches, or `null`
49
+ * when nothing matches (so the caller falls through to the rest of the route
50
+ * chain / a 404). When the daemon has not wired `invokeGatewayRestVerb` (e.g. a
51
+ * minimal embed), a matching path returns `null` rather than throwing — it
52
+ * degrades to the same 404 the caller saw before these routes existed.
53
+ */
54
+ export declare function dispatchGatewayRestRoutes(req: Request, handlers: Partial<DaemonGatewayRestRouteHandlers>): Promise<Response | null>;
55
+ export {};
56
+ //# sourceMappingURL=gateway-rest-routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway-rest-routes.d.ts","sourceRoot":"","sources":["../src/gateway-rest-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,UAAU,gBAAgB;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAYD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,gBAAgB,EA0D1D,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,OAAO,CAAC,8BAA8B,CAAC,GAChD,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAe1B"}
@@ -0,0 +1,101 @@
1
+ /** Build a route entry from an `/api/{param}/...`-style template. */
2
+ function route(method, template, methodId) {
3
+ const paramNames = [];
4
+ const pattern = template.replace(/\{([^/}]+)\}/g, (_match, name) => {
5
+ paramNames.push(name);
6
+ return '([^/]+)';
7
+ });
8
+ return { method, regex: new RegExp(`^${pattern}$`), paramNames, methodId };
9
+ }
10
+ /**
11
+ * The explicit REST route table. Every entry is a path a gateway verb
12
+ * descriptor advertises in its http binding; keep this in lockstep with those
13
+ * bindings (the reconcile gate enforces it).
14
+ */
15
+ export const GATEWAY_REST_ROUTES = [
16
+ // skills.*
17
+ route('GET', '/api/skills', 'skills.list'),
18
+ route('POST', '/api/skills', 'skills.create'),
19
+ route('GET', '/api/skills/{name}', 'skills.get'),
20
+ route('DELETE', '/api/skills/{name}', 'skills.delete'),
21
+ route('POST', '/api/skills/{name}/update', 'skills.update'),
22
+ // principals.*
23
+ route('GET', '/api/principals', 'principals.list'),
24
+ route('POST', '/api/principals', 'principals.create'),
25
+ route('POST', '/api/principals/resolve', 'principals.resolve'),
26
+ route('GET', '/api/principals/{principalId}', 'principals.get'),
27
+ route('DELETE', '/api/principals/{principalId}', 'principals.delete'),
28
+ route('POST', '/api/principals/{principalId}/update', 'principals.update'),
29
+ // checkin.*
30
+ route('GET', '/api/checkin/config', 'checkin.config.get'),
31
+ route('POST', '/api/checkin/config', 'checkin.config.set'),
32
+ route('GET', '/api/checkin/receipts', 'checkin.receipts.list'),
33
+ route('POST', '/api/checkin/run', 'checkin.run'),
34
+ // ci.*
35
+ route('POST', '/api/ci/status', 'ci.status'),
36
+ route('GET', '/api/ci/watches', 'ci.watches.list'),
37
+ route('POST', '/api/ci/watches', 'ci.watches.create'),
38
+ route('DELETE', '/api/ci/watches/{watchId}', 'ci.watches.delete'),
39
+ route('POST', '/api/ci/watches/{watchId}/run', 'ci.watches.run'),
40
+ // channels.profiles.*
41
+ route('GET', '/api/channels/profiles', 'channels.profiles.list'),
42
+ route('POST', '/api/channels/profiles', 'channels.profiles.set'),
43
+ route('GET', '/api/channels/profiles/{surfaceKind}', 'channels.profiles.get'),
44
+ route('DELETE', '/api/channels/profiles/{surfaceKind}', 'channels.profiles.delete'),
45
+ // workspaces.* (registered-workspace registry)
46
+ route('GET', '/api/workspaces/registrations', 'workspaces.registrations.list'),
47
+ route('POST', '/api/workspaces/registrations', 'workspaces.registrations.add'),
48
+ route('DELETE', '/api/workspaces/registrations', 'workspaces.registrations.remove'),
49
+ route('POST', '/api/workspaces/resolve', 'workspaces.resolve'),
50
+ // sessions.permissionMode.* + sessions.contextUsage.get
51
+ route('GET', '/api/sessions/{sessionId}/permission-mode', 'sessions.permissionMode.get'),
52
+ route('POST', '/api/sessions/{sessionId}/permission-mode', 'sessions.permissionMode.set'),
53
+ route('GET', '/api/sessions/{sessionId}/context-usage', 'sessions.contextUsage.get'),
54
+ // stepup.* — relay WebAuthn step-up ceremony (register a credential, mint a
55
+ // challenge). Both handler-backed gateway verbs with an advertised REST path.
56
+ route('POST', '/api/stepup/credentials', 'stepup.credentials.register'),
57
+ route('POST', '/api/stepup/challenge', 'stepup.challenge.mint'),
58
+ // memory.projections.* — the live read-only projection of standing memory
59
+ // records (project/team scope) to their markdown form. Handler-backed gateway
60
+ // verbs with an advertised REST path, so they need parity entries here (the
61
+ // Pattern-B memory.records.* verbs are served by operator.ts's own table
62
+ // instead and are intentionally NOT listed here).
63
+ route('GET', '/api/memory/projections', 'memory.projections.list'),
64
+ route('GET', '/api/memory/projections/{id}', 'memory.projections.get'),
65
+ // runtime.metrics.get — the process-wide RuntimeMeter snapshot. This is the
66
+ // sole route for GET /api/runtime/metrics: the daemon-sdk raw handler that
67
+ // once served it was removed in favor of this gateway-verb parity entry, so
68
+ // the URL now resolves to the same in-process handler (and the same
69
+ // read:telemetry scope gate) as the methodId-invoke endpoint. Because
70
+ // dispatchDaemonApiRoutes tries the gateway-REST table BEFORE the operator
71
+ // dispatcher, this entry is what answers the URL.
72
+ route('GET', '/api/runtime/metrics', 'runtime.metrics.get'),
73
+ ];
74
+ /**
75
+ * Dispatch a request against the gateway REST route table.
76
+ *
77
+ * Returns the handler's `Response` when a path+method entry matches, or `null`
78
+ * when nothing matches (so the caller falls through to the rest of the route
79
+ * chain / a 404). When the daemon has not wired `invokeGatewayRestVerb` (e.g. a
80
+ * minimal embed), a matching path returns `null` rather than throwing — it
81
+ * degrades to the same 404 the caller saw before these routes existed.
82
+ */
83
+ export async function dispatchGatewayRestRoutes(req, handlers) {
84
+ const { pathname } = new URL(req.url);
85
+ const method = req.method;
86
+ for (const entry of GATEWAY_REST_ROUTES) {
87
+ if (entry.method !== method)
88
+ continue;
89
+ const match = entry.regex.exec(pathname);
90
+ if (!match)
91
+ continue;
92
+ if (typeof handlers.invokeGatewayRestVerb !== 'function')
93
+ return null;
94
+ const params = {};
95
+ entry.paramNames.forEach((name, index) => {
96
+ params[name] = decodeURIComponent(match[index + 1]);
97
+ });
98
+ return handlers.invokeGatewayRestVerb({ methodId: entry.methodId, req, params });
99
+ }
100
+ return null;
101
+ }
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type { MaybeResponse, DaemonApiRouteHandlers, DaemonRemoteDispatchRouteHandlers, DaemonOperatorRouteHandlers, DaemonAutomationRouteHandlers, DaemonSessionRouteHandlers, DaemonTaskRouteHandlers, DaemonControlRouteHandlers, DaemonTelemetryRouteHandlers, DaemonChannelRouteHandlers, DaemonIntegrationRouteHandlers, DaemonSystemRouteHandlers, DaemonRemoteManagementRouteHandlers, DaemonKnowledgeRouteHandlers, DaemonKnowledgeRefinementRouteHandlers, DaemonMediaRouteHandlers, DaemonRuntimeSessionRouteHandlers, DaemonRuntimeAutomationRouteHandlers, DaemonRuntimeRouteHandlers, } from './context.js';
1
+ export type { MaybeResponse, DaemonApiRouteHandlers, DaemonRemoteDispatchRouteHandlers, DaemonOperatorRouteHandlers, DaemonAutomationRouteHandlers, DaemonSessionRouteHandlers, DaemonTaskRouteHandlers, DaemonControlRouteHandlers, DaemonTelemetryRouteHandlers, DaemonChannelRouteHandlers, DaemonIntegrationRouteHandlers, DaemonSystemRouteHandlers, DaemonRemoteManagementRouteHandlers, DaemonKnowledgeRouteHandlers, DaemonKnowledgeRefinementRouteHandlers, DaemonMediaRouteHandlers, DaemonRuntimeSessionRouteHandlers, DaemonRuntimeAutomationRouteHandlers, DaemonRuntimeRouteHandlers, DaemonGatewayRestRouteHandlers, GatewayRestVerbInvocation, } from './context.js';
2
2
  export { dispatchAutomationRoutes } from './automation.js';
3
3
  export { dispatchSessionRoutes } from './sessions.js';
4
4
  export { dispatchTaskRoutes } from './tasks.js';
@@ -6,6 +6,7 @@ export { dispatchOperatorRoutes } from './operator.js';
6
6
  export { dispatchRemoteRoutes } from './remote.js';
7
7
  export { dispatchDaemonApiRoutes } from './api-router.js';
8
8
  export type { DaemonApiRouteExtension } from './api-router.js';
9
+ export { dispatchGatewayRestRoutes, GATEWAY_REST_ROUTES } from './gateway-rest-routes.js';
9
10
  export { buildMissingScopeBody, resolveAuthenticatedPrincipal, resolvePrivateHostFetchOptions, } from './http-policy.js';
10
11
  export type { AuthenticatedPrincipal, AuthenticatedPrincipalKind, AuthenticatedPrincipalResolver, ElevatedPrivateHostFetchConfig, PrivateHostFetchConfig } from './http-policy.js';
11
12
  export { createRouteBodySchema, createRouteBodySchemaRegistry, isJsonRecord, missingScopes, readBoundedBodyInteger, readBoundedInteger, readBoundedPositiveInteger, readChannelConversationKind, readChannelLifecycleAction, readOptionalBoundedInteger, readOptionalStringField, readStringArrayField, scopeMatches, } from './route-helpers.js';
@@ -36,4 +37,10 @@ export { buildErrorResponseBody, jsonErrorResponse, summarizeErrorForRecord } fr
36
37
  export { decodeCursor, encodeCursor, hasPaginationParams, paginateItems, } from './pagination.js';
37
38
  export type { PaginatedResponse } from './pagination.js';
38
39
  export type { JsonErrorResponseOptions } from './error-response.js';
40
+ export { RelayHub, RelayConnection, DEFAULT_RELAY_LIMITS, } from './relay-server.js';
41
+ export type { RelayServerSocket, RelayServerLogger, RelayServerLimits, } from './relay-server.js';
42
+ export { createBunRelayServer } from './relay-server-entry.js';
43
+ export type { BunRelayServerOptions } from './relay-server-entry.js';
44
+ export { createRelayDaemonRegistration, RELAY_VIA_HEADER, isRelayTunneledRequest } from './relay-registration.js';
45
+ export type { RelayDaemonRegistration, RelayDaemonRegistrationOptions, RelayRegistrationStatus, RelayRegistrationLogger, RelayClientWebSocket, } from './relay-registration.js';
39
46
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -4,6 +4,7 @@ export { dispatchTaskRoutes } from './tasks.js';
4
4
  export { dispatchOperatorRoutes } from './operator.js';
5
5
  export { dispatchRemoteRoutes } from './remote.js';
6
6
  export { dispatchDaemonApiRoutes } from './api-router.js';
7
+ export { dispatchGatewayRestRoutes, GATEWAY_REST_ROUTES } from './gateway-rest-routes.js';
7
8
  export { buildMissingScopeBody, resolveAuthenticatedPrincipal, resolvePrivateHostFetchOptions, } from './http-policy.js';
8
9
  export { createRouteBodySchema, createRouteBodySchemaRegistry, isJsonRecord, missingScopes, readBoundedBodyInteger, readBoundedInteger, readBoundedPositiveInteger, readChannelConversationKind, readChannelLifecycleAction, readOptionalBoundedInteger, readOptionalStringField, readStringArrayField, scopeMatches, } from './route-helpers.js';
9
10
  export { createArtifactFromUploadRequest, isArtifactUploadRequest, isJsonContentType, } from './artifact-upload.js';
@@ -22,3 +23,6 @@ export { createDaemonRuntimeRouteHandlers } from './runtime-routes.js';
22
23
  export { createDaemonRemoteRouteHandlers, handleRemotePairRequest, handleRemotePairVerify, handleRemotePeerHeartbeat, handleRemotePeerWorkPull, handleRemotePeerWorkComplete, } from './remote-routes.js';
23
24
  export { buildErrorResponseBody, jsonErrorResponse, summarizeErrorForRecord } from './error-response.js';
24
25
  export { decodeCursor, encodeCursor, hasPaginationParams, paginateItems, } from './pagination.js';
26
+ export { RelayHub, RelayConnection, DEFAULT_RELAY_LIMITS, } from './relay-server.js';
27
+ export { createBunRelayServer } from './relay-server-entry.js';
28
+ export { createRelayDaemonRegistration, RELAY_VIA_HEADER, isRelayTunneledRequest } from './relay-registration.js';
@@ -80,12 +80,19 @@ export interface MemoryRecordReviewInput {
80
80
  readonly reviewedBy?: string | undefined;
81
81
  readonly staleReason?: string | undefined;
82
82
  }
83
- /** The editable-field update body (scope/summary/detail/tags) — NOT a review update. */
83
+ /**
84
+ * The editable-field update body (scope/summary/detail/tags + the temporal
85
+ * validity window) — NOT a review update. For validFrom/validUntil, an omitted
86
+ * field leaves the bound unchanged, a number sets it, and `null` clears it, so a
87
+ * proposal that changes only the window can be applied.
88
+ */
84
89
  export interface MemoryRecordUpdateInput {
85
90
  readonly scope?: string | undefined;
86
91
  readonly summary?: string | undefined;
87
92
  readonly detail?: string | undefined;
88
93
  readonly tags?: readonly string[] | undefined;
94
+ readonly validFrom?: number | null | undefined;
95
+ readonly validUntil?: number | null | undefined;
89
96
  }
90
97
  /** The link-create body — the source id comes from the path, target + relation from the body. */
91
98
  export interface MemoryLinkInput {
@@ -1 +1 @@
1
- {"version":3,"file":"integration-route-types.d.ts","sourceRoot":"","sources":["../src/integration-route-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integration-route-types.d.ts","sourceRoot":"","sources":["../src/integration-route-types.ts"],"names":[],"mappings":"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"}
@@ -20,9 +20,14 @@ export declare function parseMemoryRecordSearchBody(body: JsonRecord): {
20
20
  readonly recall: boolean;
21
21
  };
22
22
  /**
23
- * Parse POST /api/memory/records/:id/update — editable fields (scope/summary/detail/tags).
24
- * All optional; the store leaves unset fields unchanged. NOT a review update (that is
25
- * the /review route) this edits content/scope, e.g. promoting a record project→team.
23
+ * Parse POST /api/memory/records/:id/update — editable fields
24
+ * (scope/summary/detail/tags + the temporal validity window). All optional; the
25
+ * store leaves unset fields unchanged. NOT a review update (that is the /review
26
+ * route) — this edits content/scope, e.g. promoting a record project→team.
27
+ *
28
+ * validFrom/validUntil carry the store's three-state window semantics: a number
29
+ * sets the bound, an explicit `null` clears it, and an absent field leaves it
30
+ * unchanged — so a proposal that changes only the window round-trips.
26
31
  */
27
32
  export declare function parseMemoryRecordUpdateBody(body: JsonRecord): MemoryRecordUpdateInput;
28
33
  /** Parse POST /api/memory/records/:id/links — toId and relation are required (fromId is the path id). */
@@ -1 +1 @@
1
- {"version":3,"file":"memory-record-body.d.ts","sourceRoot":"","sources":["../src/memory-record-body.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAA+D,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAClH,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EAEf,oBAAoB,EACpB,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACxB,MAAM,8BAA8B,CAAC;AA+CtC,qEAAqE;AACrE,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,UAAU,GAAG,oBAAoB,GAAG,QAAQ,CAmB1F;AAED,0HAA0H;AAC1H,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,UAAU,GAAG,6BAA6B,CAc3F;AAED,sFAAsF;AACtF,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,UAAU,GACf;IAAE,QAAQ,CAAC,MAAM,EAAE,6BAA6B,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAE9E;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,UAAU,GAAG,uBAAuB,CAWrF;AAED,yGAAyG;AACzG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,GAAG,QAAQ,CAMhF;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,UAAU,GAAG,iBAAiB,GAAG,QAAQ,CAY1F;AAED,sGAAsG;AACtG,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,UAAU,GAAG,uBAAuB,CAWrF"}
1
+ {"version":3,"file":"memory-record-body.d.ts","sourceRoot":"","sources":["../src/memory-record-body.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAA+D,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAClH,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EAEf,oBAAoB,EACpB,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACxB,MAAM,8BAA8B,CAAC;AA6DtC,qEAAqE;AACrE,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,UAAU,GAAG,oBAAoB,GAAG,QAAQ,CAmB1F;AAED,0HAA0H;AAC1H,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,UAAU,GAAG,6BAA6B,CAc3F;AAED,sFAAsF;AACtF,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,UAAU,GACf;IAAE,QAAQ,CAAC,MAAM,EAAE,6BAA6B,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAE9E;AAED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,UAAU,GAAG,uBAAuB,CAerF;AAED,yGAAyG;AACzG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,GAAG,QAAQ,CAMhF;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,UAAU,GAAG,iBAAiB,GAAG,QAAQ,CAY1F;AAED,sGAAsG;AACtG,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,UAAU,GAAG,uBAAuB,CAWrF"}
@@ -18,6 +18,21 @@ function readOptionalBooleanField(body, key) {
18
18
  const value = body[key];
19
19
  return typeof value === 'boolean' ? value : undefined;
20
20
  }
21
+ /**
22
+ * Read a nullable-number field, preserving the three distinct states the store's
23
+ * temporal window needs: a finite number SETS the bound, an explicit `null`
24
+ * CLEARS it, and any other value (including absent) returns `undefined` so the
25
+ * bound is left UNCHANGED. Used only where null-to-clear is meaningful
26
+ * (validFrom/validUntil).
27
+ */
28
+ function readNullableNumberField(body, key) {
29
+ if (!(key in body))
30
+ return undefined;
31
+ const value = body[key];
32
+ if (value === null)
33
+ return null;
34
+ return typeof value === 'number' && Number.isFinite(value) ? value : undefined;
35
+ }
21
36
  /** Parse a provenance link array: each entry needs kind+ref; label is optional. Invalid entries are skipped. */
22
37
  function readProvenanceField(body, max = 64) {
23
38
  const value = body.provenance;
@@ -99,20 +114,29 @@ export function parseMemoryRecordSearchBody(body) {
99
114
  return { filter: parseMemoryRecordFilterBody(body), recall: readOptionalBooleanField(body, 'recall') === true };
100
115
  }
101
116
  /**
102
- * Parse POST /api/memory/records/:id/update — editable fields (scope/summary/detail/tags).
103
- * All optional; the store leaves unset fields unchanged. NOT a review update (that is
104
- * the /review route) this edits content/scope, e.g. promoting a record project→team.
117
+ * Parse POST /api/memory/records/:id/update — editable fields
118
+ * (scope/summary/detail/tags + the temporal validity window). All optional; the
119
+ * store leaves unset fields unchanged. NOT a review update (that is the /review
120
+ * route) — this edits content/scope, e.g. promoting a record project→team.
121
+ *
122
+ * validFrom/validUntil carry the store's three-state window semantics: a number
123
+ * sets the bound, an explicit `null` clears it, and an absent field leaves it
124
+ * unchanged — so a proposal that changes only the window round-trips.
105
125
  */
106
126
  export function parseMemoryRecordUpdateBody(body) {
107
127
  const scope = readOptionalStringField(body, 'scope');
108
128
  const summary = readOptionalStringField(body, 'summary');
109
129
  const detail = body.detail === null ? '' : readOptionalStringField(body, 'detail');
110
130
  const tags = readStringArrayField(body, 'tags');
131
+ const validFrom = readNullableNumberField(body, 'validFrom');
132
+ const validUntil = readNullableNumberField(body, 'validUntil');
111
133
  return {
112
134
  ...(scope ? { scope } : {}),
113
135
  ...(summary ? { summary } : {}),
114
136
  ...(detail !== undefined ? { detail } : {}),
115
137
  ...(tags ? { tags } : {}),
138
+ ...(validFrom !== undefined ? { validFrom } : {}),
139
+ ...(validUntil !== undefined ? { validUntil } : {}),
116
140
  };
117
141
  }
118
142
  /** Parse POST /api/memory/records/:id/links — toId and relation are required (fromId is the path id). */
@@ -8,8 +8,8 @@ import type { DaemonOperatorRouteHandlers } from './context.js';
8
8
  * authenticated session per handler implementation.
9
9
  * - STATE-CHANGING routes (service install/start/stop, route bindings,
10
10
  * automation jobs, knowledge ingest) — always `withAdmin(context, req, ...)`.
11
- * - SCHEDULER/RUNTIME routes (getSchedulerCapacity, getRuntimeMetrics) —
12
- * require admin per handler implementation.
11
+ * - SCHEDULER routes (getSchedulerCapacity) — require admin per handler
12
+ * implementation.
13
13
  *
14
14
  * Dispatcher does not short-circuit unauthenticated requests; all auth
15
15
  * enforcement lives in the handler factories (system-routes.ts,