4runr-os 2.10.59 → 2.10.61

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"sentinel-policies.d.ts","sourceRoot":"","sources":["../../../../../src/routes/sentinel-policies.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAgC,MAAM,SAAS,CAAC;AAaxE,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,eAAe,iBA8MlE"}
1
+ {"version":3,"file":"sentinel-policies.d.ts","sourceRoot":"","sources":["../../../../../src/routes/sentinel-policies.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAgC,MAAM,SAAS,CAAC;AAaxE,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,eAAe,iBAwQlE"}
@@ -1,4 +1,4 @@
1
- import { getPolicyTemplate, listPolicyTemplates, applyPolicyTemplate, recommendTemplate, } from '@4runr/sentinel';
1
+ import { getPolicyTemplate, listPolicyTemplatesWithKeys, applyPolicyTemplate, recommendTemplate, } from '@4runr/sentinel';
2
2
  import { requireAuth } from '../middleware/auth.js';
3
3
  import { readRateLimit, writeRateLimit } from '../middleware/rateLimit.js';
4
4
  export async function sentinelPolicyRoutes(fastify) {
@@ -6,10 +6,11 @@ export async function sentinelPolicyRoutes(fastify) {
6
6
  preHandler: [requireAuth, readRateLimit],
7
7
  }, async (request, reply) => {
8
8
  try {
9
- const templates = listPolicyTemplates();
9
+ const templates = listPolicyTemplatesWithKeys();
10
10
  return {
11
11
  success: true,
12
12
  templates: templates.map(t => ({
13
+ key: t.key,
13
14
  name: t.name,
14
15
  description: t.description,
15
16
  useCase: t.useCase,
@@ -33,10 +34,7 @@ export async function sentinelPolicyRoutes(fastify) {
33
34
  if (!template) {
34
35
  return reply.status(404).send({
35
36
  error: 'Template not found',
36
- available: Object.keys(listPolicyTemplates().reduce((acc, t) => {
37
- acc[t.name.toLowerCase()] = true;
38
- return acc;
39
- }, {}))
37
+ available: listPolicyTemplatesWithKeys().map(t => t.key)
40
38
  });
41
39
  }
42
40
  return {
@@ -104,7 +102,7 @@ export async function sentinelPolicyRoutes(fastify) {
104
102
  if (!config) {
105
103
  return reply.status(404).send({
106
104
  error: 'Template not found',
107
- available: listPolicyTemplates().map(t => t.name.toLowerCase())
105
+ available: listPolicyTemplatesWithKeys().map(t => t.key)
108
106
  });
109
107
  }
110
108
  const { Sentinel } = await import('@4runr/sentinel');
@@ -132,6 +130,58 @@ export async function sentinelPolicyRoutes(fastify) {
132
130
  });
133
131
  }
134
132
  });
133
+ fastify.post('/api/sentinel/policies/custom', {
134
+ preHandler: [requireAuth, writeRateLimit],
135
+ }, async (request, reply) => {
136
+ try {
137
+ const body = (request.body || {});
138
+ const { Sentinel } = await import('@4runr/sentinel');
139
+ const sentinel = Sentinel.getInstance();
140
+ const current = sentinel.getConfig();
141
+ const num = (key, fallback) => {
142
+ const v = body[key];
143
+ if (typeof v === 'number' && Number.isFinite(v))
144
+ return v;
145
+ if (typeof v === 'string' && v.trim() !== '') {
146
+ const n = Number(v);
147
+ if (Number.isFinite(n))
148
+ return n;
149
+ }
150
+ return fallback;
151
+ };
152
+ const config = {
153
+ enabled: typeof body['enabled'] === 'boolean' ? body['enabled'] : current.enabled,
154
+ runMaxDurationMs: num('runMaxDurationMs', current.runMaxDurationMs),
155
+ runMaxTokens: num('runMaxTokens', current.runMaxTokens),
156
+ runIdleMs: num('runIdleMs', current.runIdleMs),
157
+ loopWindow: num('loopWindow', current.loopWindow),
158
+ loopMax: num('loopMax', current.loopMax),
159
+ runMaxCost: num('runMaxCost', current.runMaxCost ?? 1.0),
160
+ };
161
+ try {
162
+ sentinel.updateConfig(config);
163
+ return {
164
+ success: true,
165
+ config,
166
+ message: 'Custom Sentinel limits applied. Active until Gateway restart unless set via env.',
167
+ };
168
+ }
169
+ catch (error) {
170
+ const msg = error instanceof Error ? error.message : String(error);
171
+ return reply.status(400).send({
172
+ error: 'Invalid custom config',
173
+ details: msg,
174
+ });
175
+ }
176
+ }
177
+ catch (error) {
178
+ const msg = error instanceof Error ? error.message : String(error);
179
+ return reply.status(500).send({
180
+ error: 'Failed to apply custom config',
181
+ details: msg,
182
+ });
183
+ }
184
+ });
135
185
  fastify.get('/api/sentinel/policies/current', {
136
186
  preHandler: [requireAuth, readRateLimit],
137
187
  }, async (request, reply) => {
@@ -1 +1 @@
1
- {"version":3,"file":"sentinel-policies.js","sourceRoot":"","sources":["../../../../../src/routes/sentinel-policies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sentinel-policies.js","sourceRoot":"","sources":["../../../../../src/routes/sentinel-policies.ts"],"names":[],"mappings":"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"}
@@ -199,15 +199,15 @@
199
199
  }
200
200
  },
201
201
  "node_modules/@aws-sdk/client-kms": {
202
- "version": "3.1057.0",
203
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-kms/-/client-kms-3.1057.0.tgz",
204
- "integrity": "sha512-S0LA7ks4eo2JpyG7UkpcNNgckYygi8H9URhG56tcD/ffYmydLPkXZeTl/Aj/BwMRe3dklMwrXTSRyknDmY2mXg==",
202
+ "version": "3.1058.0",
203
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-kms/-/client-kms-3.1058.0.tgz",
204
+ "integrity": "sha512-sZ+vpNFa7ACfV0sMPCYR4dIMN9LUH/M/7OStsTADSNzTKiRQKTt//Vsfu7ku0tHEjjVX5fOc6oSeu9LRu4tD6Q==",
205
205
  "license": "Apache-2.0",
206
206
  "dependencies": {
207
207
  "@aws-crypto/sha256-browser": "5.2.0",
208
208
  "@aws-crypto/sha256-js": "5.2.0",
209
209
  "@aws-sdk/core": "^3.974.15",
210
- "@aws-sdk/credential-provider-node": "^3.972.47",
210
+ "@aws-sdk/credential-provider-node": "^3.972.48",
211
211
  "@aws-sdk/types": "^3.973.9",
212
212
  "@smithy/core": "^3.24.5",
213
213
  "@smithy/fetch-http-handler": "^5.4.5",
@@ -220,15 +220,15 @@
220
220
  }
221
221
  },
222
222
  "node_modules/@aws-sdk/client-secrets-manager": {
223
- "version": "3.1057.0",
224
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-secrets-manager/-/client-secrets-manager-3.1057.0.tgz",
225
- "integrity": "sha512-2AsQ+7SChrQamIe68nMvMpZfXpHWnjwkcaFPFWf9E21+iTnEdIXRqC5v1P2NATrKn0BI6MaG/KlNrOhPOknk8w==",
223
+ "version": "3.1058.0",
224
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-secrets-manager/-/client-secrets-manager-3.1058.0.tgz",
225
+ "integrity": "sha512-m6u7ns0aA1dJGKVhqz7HQFEyvMu5ae67bxVmolSH3rQwHnvjRxWMCgGKWljgHI/Pd2OiRtodZlLikafjo65EPg==",
226
226
  "license": "Apache-2.0",
227
227
  "dependencies": {
228
228
  "@aws-crypto/sha256-browser": "5.2.0",
229
229
  "@aws-crypto/sha256-js": "5.2.0",
230
230
  "@aws-sdk/core": "^3.974.15",
231
- "@aws-sdk/credential-provider-node": "^3.972.47",
231
+ "@aws-sdk/credential-provider-node": "^3.972.48",
232
232
  "@aws-sdk/types": "^3.973.9",
233
233
  "@smithy/core": "^3.24.5",
234
234
  "@smithy/fetch-http-handler": "^5.4.5",
@@ -356,9 +356,9 @@
356
356
  }
357
357
  },
358
358
  "node_modules/@aws-sdk/credential-provider-node": {
359
- "version": "3.972.47",
360
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.972.47.tgz",
361
- "integrity": "sha512-HrId+C0DWA5qDIyLG64/kjUB2RNtPypxmABnIctK+TA1P1kHlOYoE/Wf5T5tKOMKgb08P7k/zNyhvfJ3lh5Oag==",
359
+ "version": "3.972.48",
360
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.972.48.tgz",
361
+ "integrity": "sha512-QIbtJP0olSLZ2ImEu636pP+7JJbPfaL3xSJIFXhu472CWuondCc4bGOa8OeyhOFet8z4H1D/ZFKXc39FboWwYA==",
362
362
  "license": "Apache-2.0",
363
363
  "dependencies": {
364
364
  "@aws-sdk/credential-provider-env": "^3.972.41",
@@ -6267,10 +6267,20 @@
6267
6267
  "license": "MIT"
6268
6268
  },
6269
6269
  "node_modules/js-yaml": {
6270
- "version": "4.1.1",
6271
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
6272
- "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
6270
+ "version": "4.2.0",
6271
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz",
6272
+ "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==",
6273
6273
  "dev": true,
6274
+ "funding": [
6275
+ {
6276
+ "type": "github",
6277
+ "url": "https://github.com/sponsors/puzrin"
6278
+ },
6279
+ {
6280
+ "type": "github",
6281
+ "url": "https://github.com/sponsors/nodeca"
6282
+ }
6283
+ ],
6274
6284
  "license": "MIT",
6275
6285
  "dependencies": {
6276
6286
  "argparse": "^2.0.1"
@@ -8407,9 +8417,9 @@
8407
8417
  "license": "0BSD"
8408
8418
  },
8409
8419
  "node_modules/tsx": {
8410
- "version": "4.22.3",
8411
- "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.22.3.tgz",
8412
- "integrity": "sha512-mdoNxBC/cSQObGGVQ5Bpn5i+yv7j68gk3Nfm3wFjcJg3Z0Mix9jzAFfP12prmm5eVGmDKtp0yyArrs0Q+8gZHg==",
8420
+ "version": "4.22.4",
8421
+ "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.22.4.tgz",
8422
+ "integrity": "sha512-X8EX+XV4QR5xCsrgxaED954zTDfY8KqlDtskKEL0cHhyS/P8b4IFOvGDQpsC9Q1XnLq915wEfwwY/zzskCtmhg==",
8413
8423
  "dev": true,
8414
8424
  "license": "MIT",
8415
8425
  "dependencies": {
@@ -6,7 +6,7 @@
6
6
  import { FastifyInstance, FastifyRequest, FastifyReply } from 'fastify';
7
7
  import {
8
8
  getPolicyTemplate,
9
- listPolicyTemplates,
9
+ listPolicyTemplatesWithKeys,
10
10
  applyPolicyTemplate,
11
11
  recommendTemplate,
12
12
  } from '@4runr/sentinel';
@@ -31,10 +31,11 @@ export async function sentinelPolicyRoutes(fastify: FastifyInstance) {
31
31
  reply: FastifyReply
32
32
  ) => {
33
33
  try {
34
- const templates = listPolicyTemplates();
34
+ const templates = listPolicyTemplatesWithKeys();
35
35
  return {
36
36
  success: true,
37
37
  templates: templates.map(t => ({
38
+ key: t.key,
38
39
  name: t.name,
39
40
  description: t.description,
40
41
  useCase: t.useCase,
@@ -67,10 +68,7 @@ export async function sentinelPolicyRoutes(fastify: FastifyInstance) {
67
68
  if (!template) {
68
69
  return reply.status(404).send({
69
70
  error: 'Template not found',
70
- available: Object.keys(listPolicyTemplates().reduce((acc, t) => {
71
- acc[t.name.toLowerCase()] = true;
72
- return acc;
73
- }, {} as Record<string, boolean>))
71
+ available: listPolicyTemplatesWithKeys().map(t => t.key)
74
72
  });
75
73
  }
76
74
 
@@ -162,7 +160,7 @@ export async function sentinelPolicyRoutes(fastify: FastifyInstance) {
162
160
  if (!config) {
163
161
  return reply.status(404).send({
164
162
  error: 'Template not found',
165
- available: listPolicyTemplates().map(t => t.name.toLowerCase())
163
+ available: listPolicyTemplatesWithKeys().map(t => t.key)
166
164
  });
167
165
  }
168
166
 
@@ -193,6 +191,66 @@ export async function sentinelPolicyRoutes(fastify: FastifyInstance) {
193
191
  }
194
192
  );
195
193
 
194
+ /**
195
+ * POST /api/sentinel/policies/custom
196
+ * Apply operator-defined limits (merge with current config for omitted fields).
197
+ */
198
+ fastify.post(
199
+ '/api/sentinel/policies/custom',
200
+ {
201
+ preHandler: [requireAuth, writeRateLimit],
202
+ },
203
+ async (request: FastifyRequest, reply: FastifyReply) => {
204
+ try {
205
+ const body = (request.body || {}) as Record<string, unknown>;
206
+ const { Sentinel } = await import('@4runr/sentinel');
207
+ const sentinel = Sentinel.getInstance();
208
+ const current = sentinel.getConfig();
209
+
210
+ const num = (key: string, fallback: number): number => {
211
+ const v = body[key];
212
+ if (typeof v === 'number' && Number.isFinite(v)) return v;
213
+ if (typeof v === 'string' && v.trim() !== '') {
214
+ const n = Number(v);
215
+ if (Number.isFinite(n)) return n;
216
+ }
217
+ return fallback;
218
+ };
219
+
220
+ const config = {
221
+ enabled: typeof body['enabled'] === 'boolean' ? body['enabled'] : current.enabled,
222
+ runMaxDurationMs: num('runMaxDurationMs', current.runMaxDurationMs),
223
+ runMaxTokens: num('runMaxTokens', current.runMaxTokens),
224
+ runIdleMs: num('runIdleMs', current.runIdleMs),
225
+ loopWindow: num('loopWindow', current.loopWindow),
226
+ loopMax: num('loopMax', current.loopMax),
227
+ runMaxCost: num('runMaxCost', current.runMaxCost ?? 1.0),
228
+ };
229
+
230
+ try {
231
+ sentinel.updateConfig(config);
232
+ return {
233
+ success: true,
234
+ config,
235
+ message: 'Custom Sentinel limits applied. Active until Gateway restart unless set via env.',
236
+ };
237
+ } catch (error: unknown) {
238
+ const msg = error instanceof Error ? error.message : String(error);
239
+ return reply.status(400).send({
240
+ error: 'Invalid custom config',
241
+ details: msg,
242
+ });
243
+ }
244
+ } catch (error: unknown) {
245
+ const msg = error instanceof Error ? error.message : String(error);
246
+ return reply.status(500).send({
247
+ error: 'Failed to apply custom config',
248
+ details: msg,
249
+ });
250
+ }
251
+ }
252
+ );
253
+
196
254
  /**
197
255
  * GET /api/sentinel/policies/current
198
256
  * Get current policy configuration
@@ -118,5 +118,7 @@ export declare class GatewayClient {
118
118
  prometheusMetrics(): Promise<string>;
119
119
  /** GET JSON (monitoring APIs, etc.). Uses same auth headers as the rest of the client. */
120
120
  getJson(path: string): Promise<unknown>;
121
+ /** POST JSON with auth headers. */
122
+ postJson(path: string, body: unknown): Promise<unknown>;
121
123
  }
122
124
  //# sourceMappingURL=gateway-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gateway-client.d.ts","sourceRoot":"","sources":["../src/gateway-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway-client.d.ts","sourceRoot":"","sources":["../src/gateway-client.ts"],"names":[],"mappings":"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"}
@@ -282,5 +282,24 @@ export class GatewayClient {
282
282
  }
283
283
  return response.data;
284
284
  }
285
+ /** POST JSON with auth headers. */
286
+ async postJson(path, body) {
287
+ const response = await this.http.post(path, body, {
288
+ validateStatus: () => true,
289
+ timeout: 15000,
290
+ });
291
+ if (response.status >= 400) {
292
+ const data = response.data;
293
+ const detail = data && typeof data === 'object'
294
+ ? String(data.error ??
295
+ data.message ??
296
+ '')
297
+ : typeof data === 'string'
298
+ ? data.slice(0, 240)
299
+ : '';
300
+ throw new Error(`${path} returned HTTP ${response.status}${detail ? `: ${detail}` : ''}`);
301
+ }
302
+ return response.data;
303
+ }
285
304
  }
286
305
  //# sourceMappingURL=gateway-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gateway-client.js","sourceRoot":"","sources":["../src/gateway-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway-client.js","sourceRoot":"","sources":["../src/gateway-client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tui-handlers.d.ts","sourceRoot":"","sources":["../src/tui-handlers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAQ5C,OAAO,EACL,aAAa,EAId,MAAM,qBAAqB,CAAC;AAwG7B;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,aAAa,EAAE,aAAa,GAAG,IAAI,EACnC,SAAS,EAAE,OAAO,GACjB,IAAI,CA0CN"}
1
+ {"version":3,"file":"tui-handlers.d.ts","sourceRoot":"","sources":["../src/tui-handlers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAQ5C,OAAO,EACL,aAAa,EAId,MAAM,qBAAqB,CAAC;AA2G7B;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,aAAa,EAAE,aAAa,GAAG,IAAI,EACnC,SAAS,EAAE,OAAO,GACjB,IAAI,CA0CN"}
@@ -58,6 +58,9 @@ const DEDUPE_EXEMPT_COMMANDS = new Set([
58
58
  'monitoring.refresh',
59
59
  'monitoring.logs',
60
60
  'monitoring.drill',
61
+ 'sentinel.load',
62
+ 'sentinel.apply',
63
+ 'sentinel.applyCustom',
61
64
  ]);
62
65
  function portCheckHint(port) {
63
66
  if (process.platform === 'win32') {
@@ -147,6 +150,9 @@ async function routeCommand(ctx) {
147
150
  case 'monitoring':
148
151
  await handleMonitoringCommand(ctx, action);
149
152
  break;
153
+ case 'sentinel':
154
+ await handleSentinelCommand(ctx, action);
155
+ break;
150
156
  default:
151
157
  ctx.server.sendError(ctx.ws, ctx.id, `Unknown command category: ${category}`);
152
158
  }
@@ -1243,6 +1249,123 @@ async function handleMonitoringCommand(ctx, action) {
1243
1249
  }
1244
1250
  ctx.server.sendError(ctx.ws, ctx.id, `Unknown monitoring action: ${action}`);
1245
1251
  }
1252
+ // ============================================================
1253
+ // SENTINEL CONFIG HANDLERS
1254
+ // ============================================================
1255
+ async function handleSentinelCommand(ctx, action) {
1256
+ const gc = effectiveGatewayClient(ctx);
1257
+ if (!gc) {
1258
+ ctx.server.sendError(ctx.ws, ctx.id, 'Not connected to Gateway. Connect via Connection Portal first.');
1259
+ return;
1260
+ }
1261
+ if (action === 'load') {
1262
+ try {
1263
+ const [templatesRaw, currentRaw, healthRaw] = await Promise.all([
1264
+ gc.getJson('/api/sentinel/policies/templates'),
1265
+ gc.getJson('/api/sentinel/policies/current'),
1266
+ gc.getJson('/sentinel/health'),
1267
+ ]);
1268
+ const templatesObj = templatesRaw;
1269
+ const templatesArr = Array.isArray(templatesObj.templates) ? templatesObj.templates : [];
1270
+ const currentObj = currentRaw;
1271
+ const config = currentObj.config && typeof currentObj.config === 'object'
1272
+ ? currentObj.config
1273
+ : {};
1274
+ const healthObj = healthRaw;
1275
+ ctx.server.sendResponse(ctx.ws, ctx.id, {
1276
+ success: true,
1277
+ data: {
1278
+ sentinelLoad: true,
1279
+ templates: templatesArr,
1280
+ current: config,
1281
+ health: healthObj,
1282
+ },
1283
+ });
1284
+ }
1285
+ catch (e) {
1286
+ ctx.server.sendError(ctx.ws, ctx.id, errorMessage(e));
1287
+ }
1288
+ return;
1289
+ }
1290
+ if (action === 'apply') {
1291
+ const template = typeof ctx.data?.template === 'string' ? ctx.data.template.trim() : '';
1292
+ if (!template) {
1293
+ ctx.server.sendError(ctx.ws, ctx.id, 'template is required');
1294
+ return;
1295
+ }
1296
+ try {
1297
+ const applyRaw = (await gc.postJson('/api/sentinel/policies/apply', {
1298
+ template,
1299
+ }));
1300
+ const currentRaw = await gc.getJson('/api/sentinel/policies/current');
1301
+ const currentObj = currentRaw;
1302
+ const config = currentObj.config && typeof currentObj.config === 'object'
1303
+ ? currentObj.config
1304
+ : applyRaw.config && typeof applyRaw.config === 'object'
1305
+ ? applyRaw.config
1306
+ : {};
1307
+ ctx.server.sendResponse(ctx.ws, ctx.id, {
1308
+ success: true,
1309
+ data: {
1310
+ sentinelApply: true,
1311
+ template,
1312
+ message: typeof applyRaw.message === 'string'
1313
+ ? applyRaw.message
1314
+ : `Template '${template}' applied.`,
1315
+ current: config,
1316
+ },
1317
+ });
1318
+ }
1319
+ catch (e) {
1320
+ ctx.server.sendError(ctx.ws, ctx.id, errorMessage(e));
1321
+ }
1322
+ return;
1323
+ }
1324
+ if (action === 'applyCustom') {
1325
+ const d = ctx.data ?? {};
1326
+ const body = {};
1327
+ if (typeof d.enabled === 'boolean')
1328
+ body.enabled = d.enabled;
1329
+ for (const key of [
1330
+ 'runMaxDurationMs',
1331
+ 'runIdleMs',
1332
+ 'runMaxTokens',
1333
+ 'runMaxCost',
1334
+ 'loopWindow',
1335
+ 'loopMax',
1336
+ ]) {
1337
+ const v = d[key];
1338
+ if (typeof v === 'number' && Number.isFinite(v))
1339
+ body[key] = v;
1340
+ }
1341
+ try {
1342
+ const applyRaw = (await gc.postJson('/api/sentinel/policies/custom', body));
1343
+ const currentRaw = await gc.getJson('/api/sentinel/policies/current');
1344
+ const currentObj = currentRaw;
1345
+ const config = currentObj.config && typeof currentObj.config === 'object'
1346
+ ? currentObj.config
1347
+ : applyRaw.config && typeof applyRaw.config === 'object'
1348
+ ? applyRaw.config
1349
+ : {};
1350
+ ctx.server.sendResponse(ctx.ws, ctx.id, {
1351
+ success: true,
1352
+ data: {
1353
+ sentinelApply: true,
1354
+ custom: true,
1355
+ message: typeof applyRaw.message === 'string'
1356
+ ? applyRaw.message
1357
+ : 'Custom Sentinel limits applied.',
1358
+ current: config,
1359
+ },
1360
+ });
1361
+ }
1362
+ catch (e) {
1363
+ ctx.server.sendError(ctx.ws, ctx.id, errorMessage(e));
1364
+ }
1365
+ return;
1366
+ }
1367
+ ctx.server.sendError(ctx.ws, ctx.id, `Unknown sentinel action: ${action}`);
1368
+ }
1246
1369
  async function handleGatewayObservability(ctx) {
1247
1370
  const gc = effectiveGatewayClient(ctx);
1248
1371
  if (!gc) {