@relaycast/engine 11.1.1 → 12.1.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.
- package/dist/adapters/node/index.d.ts +3 -3
- package/dist/adapters/node/index.d.ts.map +1 -1
- package/dist/adapters/node/index.js +2 -3
- package/dist/adapters/node/index.js.map +1 -1
- package/dist/adapters/node/kv.d.ts +0 -1
- package/dist/adapters/node/kv.d.ts.map +1 -1
- package/dist/adapters/node/kv.js +0 -17
- package/dist/adapters/node/kv.js.map +1 -1
- package/dist/adapters/node/presence.d.ts +18 -0
- package/dist/adapters/node/presence.d.ts.map +1 -1
- package/dist/adapters/node/presence.js +82 -0
- package/dist/adapters/node/presence.js.map +1 -1
- package/dist/adapters/node/realtime.d.ts +4 -0
- package/dist/adapters/node/realtime.d.ts.map +1 -1
- package/dist/adapters/node/realtime.js +32 -5
- package/dist/adapters/node/realtime.js.map +1 -1
- package/dist/db/migrations/0077_drop_workspace_plan.sql +4 -0
- package/dist/db/schema.d.ts +2 -21
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/schema.js +0 -1
- package/dist/db/schema.js.map +1 -1
- package/dist/engine/a2a.d.ts +3 -0
- package/dist/engine/a2a.d.ts.map +1 -1
- package/dist/engine/a2a.js +1 -0
- package/dist/engine/a2a.js.map +1 -1
- package/dist/engine/action.d.ts +14 -9
- package/dist/engine/action.d.ts.map +1 -1
- package/dist/engine/action.js +335 -74
- package/dist/engine/action.js.map +1 -1
- package/dist/engine/agent.d.ts +9 -3
- package/dist/engine/agent.d.ts.map +1 -1
- package/dist/engine/agent.js +21 -3
- package/dist/engine/agent.js.map +1 -1
- package/dist/engine/delivery.d.ts.map +1 -1
- package/dist/engine/delivery.js +4 -0
- package/dist/engine/delivery.js.map +1 -1
- package/dist/engine/eventDelivery.d.ts +1 -1
- package/dist/engine/inboundWebhook.d.ts +10 -0
- package/dist/engine/inboundWebhook.d.ts.map +1 -1
- package/dist/engine/inboundWebhook.js +30 -4
- package/dist/engine/inboundWebhook.js.map +1 -1
- package/dist/engine/inbox.d.ts.map +1 -1
- package/dist/engine/inbox.js +17 -0
- package/dist/engine/inbox.js.map +1 -1
- package/dist/engine/invocationClaim.d.ts +32 -0
- package/dist/engine/invocationClaim.d.ts.map +1 -0
- package/dist/engine/invocationClaim.js +42 -0
- package/dist/engine/invocationClaim.js.map +1 -0
- package/dist/engine/messageMetadata.d.ts +2 -0
- package/dist/engine/messageMetadata.d.ts.map +1 -1
- package/dist/engine/messageMetadata.js +3 -2
- package/dist/engine/messageMetadata.js.map +1 -1
- package/dist/engine/node.d.ts +12 -2
- package/dist/engine/node.d.ts.map +1 -1
- package/dist/engine/node.js +83 -4
- package/dist/engine/node.js.map +1 -1
- package/dist/engine/presence.d.ts +173 -1
- package/dist/engine/presence.d.ts.map +1 -1
- package/dist/engine/presence.js +81 -4
- package/dist/engine/presence.js.map +1 -1
- package/dist/engine/registrationAdmission.d.ts +40 -0
- package/dist/engine/registrationAdmission.d.ts.map +1 -0
- package/dist/engine/registrationAdmission.js +78 -0
- package/dist/engine/registrationAdmission.js.map +1 -0
- package/dist/engine/taskInvocation.d.ts +1 -1
- package/dist/engine/workspace.d.ts +26 -3
- package/dist/engine/workspace.d.ts.map +1 -1
- package/dist/engine/workspace.js +108 -8
- package/dist/engine/workspace.js.map +1 -1
- package/dist/engine/workspaceDeliveryPolicy.d.ts +1 -2
- package/dist/engine/workspaceDeliveryPolicy.d.ts.map +1 -1
- package/dist/engine/workspaceDeliveryPolicy.js +2 -5
- package/dist/engine/workspaceDeliveryPolicy.js.map +1 -1
- package/dist/engine/workspaceDrain.d.ts +38 -0
- package/dist/engine/workspaceDrain.d.ts.map +1 -0
- package/dist/engine/workspaceDrain.js +202 -0
- package/dist/engine/workspaceDrain.js.map +1 -0
- package/dist/engine.d.ts +1 -1
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +30 -2
- package/dist/engine.js.map +1 -1
- package/dist/entrypoints/node.d.ts +2 -2
- package/dist/entrypoints/node.d.ts.map +1 -1
- package/dist/entrypoints/node.js +1 -1
- package/dist/entrypoints/node.js.map +1 -1
- package/dist/env.d.ts +5 -5
- package/dist/env.d.ts.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -6
- package/dist/index.js.map +1 -1
- package/dist/lib/admissionError.d.ts +11 -0
- package/dist/lib/admissionError.d.ts.map +1 -0
- package/dist/lib/admissionError.js +14 -0
- package/dist/lib/admissionError.js.map +1 -0
- package/dist/lib/engineDiagnostics.d.ts +26 -0
- package/dist/lib/engineDiagnostics.d.ts.map +1 -0
- package/dist/lib/engineDiagnostics.js +100 -0
- package/dist/lib/engineDiagnostics.js.map +1 -0
- package/dist/lib/httpError.d.ts.map +1 -1
- package/dist/lib/httpError.js +9 -4
- package/dist/lib/httpError.js.map +1 -1
- package/dist/middleware/admission.d.ts +49 -0
- package/dist/middleware/admission.d.ts.map +1 -0
- package/dist/middleware/admission.js +100 -0
- package/dist/middleware/admission.js.map +1 -0
- package/dist/middleware/rateLimit.d.ts +2 -0
- package/dist/middleware/rateLimit.d.ts.map +1 -1
- package/dist/middleware/rateLimit.js +29 -25
- package/dist/middleware/rateLimit.js.map +1 -1
- package/dist/ports/admission.d.ts +80 -0
- package/dist/ports/admission.d.ts.map +1 -0
- package/dist/ports/admission.js +2 -0
- package/dist/ports/admission.js.map +1 -0
- package/dist/ports/diagnostics.d.ts +42 -0
- package/dist/ports/diagnostics.d.ts.map +1 -0
- package/dist/ports/diagnostics.js +13 -0
- package/dist/ports/diagnostics.js.map +1 -0
- package/dist/ports/index.d.ts +18 -4
- package/dist/ports/index.d.ts.map +1 -1
- package/dist/ports/index.js.map +1 -1
- package/dist/ports/kv.d.ts +1 -16
- package/dist/ports/kv.d.ts.map +1 -1
- package/dist/ports/presence.d.ts +14 -0
- package/dist/ports/presence.d.ts.map +1 -1
- package/dist/ports/realtime.d.ts +18 -0
- package/dist/ports/realtime.d.ts.map +1 -1
- package/dist/ports/realtime.js.map +1 -1
- package/dist/ports/workspaceDelivery.d.ts +3 -4
- package/dist/ports/workspaceDelivery.d.ts.map +1 -1
- package/dist/routes/a2a.d.ts.map +1 -1
- package/dist/routes/a2a.js +2 -0
- package/dist/routes/a2a.js.map +1 -1
- package/dist/routes/action.js +3 -0
- package/dist/routes/action.js.map +1 -1
- package/dist/routes/agent.d.ts.map +1 -1
- package/dist/routes/agent.js +5 -1
- package/dist/routes/agent.js.map +1 -1
- package/dist/routes/dm.js +3 -3
- package/dist/routes/dm.js.map +1 -1
- package/dist/routes/groupDm.js +3 -3
- package/dist/routes/groupDm.js.map +1 -1
- package/dist/routes/inboundWebhook.js +8 -0
- package/dist/routes/inboundWebhook.js.map +1 -1
- package/dist/routes/message.js +3 -3
- package/dist/routes/message.js.map +1 -1
- package/dist/routes/node.d.ts.map +1 -1
- package/dist/routes/node.js +2 -1
- package/dist/routes/node.js.map +1 -1
- package/dist/routes/thread.js +3 -3
- package/dist/routes/thread.js.map +1 -1
- package/dist/routes/workspace.js +10 -2
- package/dist/routes/workspace.js.map +1 -1
- package/package.json +3 -3
- package/dist/engine/usage.d.ts +0 -35
- package/dist/engine/usage.d.ts.map +0 -1
- package/dist/engine/usage.js +0 -59
- package/dist/engine/usage.js.map +0 -1
- package/dist/lib/planLimitError.d.ts +0 -26
- package/dist/lib/planLimitError.d.ts.map +0 -1
- package/dist/lib/planLimitError.js +0 -16
- package/dist/lib/planLimitError.js.map +0 -1
- package/dist/middleware/planLimits.d.ts +0 -36
- package/dist/middleware/planLimits.d.ts.map +0 -1
- package/dist/middleware/planLimits.js +0 -190
- package/dist/middleware/planLimits.js.map +0 -1
- package/dist/middleware/usageTracker.d.ts +0 -3
- package/dist/middleware/usageTracker.d.ts.map +0 -1
- package/dist/middleware/usageTracker.js +0 -11
- package/dist/middleware/usageTracker.js.map +0 -1
- package/dist/ports/entitlements.d.ts +0 -65
- package/dist/ports/entitlements.d.ts.map +0 -1
- package/dist/ports/entitlements.js +0 -2
- package/dist/ports/entitlements.js.map +0 -1
- package/dist/providers/static-entitlements.d.ts +0 -25
- package/dist/providers/static-entitlements.d.ts.map +0 -1
- package/dist/providers/static-entitlements.js +0 -55
- package/dist/providers/static-entitlements.js.map +0 -1
package/dist/engine.js
CHANGED
|
@@ -10,6 +10,7 @@ import { asCodedError, safeClientErrorMessage } from './lib/httpError.js';
|
|
|
10
10
|
import { jsonError, jsonMalformedBody, jsonNotFound } from './lib/httpResponse.js';
|
|
11
11
|
import { requiredOriginInfo } from './lib/origin.js';
|
|
12
12
|
import { emitServerEvent } from './lib/serverTelemetry.js';
|
|
13
|
+
import { engineOperationOf, runWithEngineDiagnostics } from './lib/engineDiagnostics.js';
|
|
13
14
|
import { runInBackground } from './routes/background.js';
|
|
14
15
|
import { authenticateNodeWs, authenticateRealtimeWs, missingWsToken, queryOrBearerToken, } from './engine/wsAuth.js';
|
|
15
16
|
// Route imports
|
|
@@ -46,7 +47,7 @@ import { routingRoutes } from './routes/routing.js';
|
|
|
46
47
|
*
|
|
47
48
|
* All infrastructure (database, realtime, presence, rate limiting, files,
|
|
48
49
|
* key/value, outbound queue) and the open-core providers
|
|
49
|
-
* (auth,
|
|
50
|
+
* (auth, admission, telemetry) are injected via {@link EngineDeps}. An
|
|
50
51
|
* adapter supplies concrete implementations:
|
|
51
52
|
* - the Node in-process adapter for self-host (Node + SQLite), or
|
|
52
53
|
* - the Cloudflare Durable Object adapter for the hosted product (cloud repo).
|
|
@@ -66,12 +67,15 @@ export function createEngine(deps) {
|
|
|
66
67
|
kv: deps.kv,
|
|
67
68
|
webhookQueue: deps.webhookQueue,
|
|
68
69
|
auth: deps.auth,
|
|
69
|
-
|
|
70
|
+
admission: deps.admission,
|
|
70
71
|
telemetry: safeTelemetrySink(deps.telemetry ?? new NoopTelemetrySink()),
|
|
71
72
|
config: deps.config ?? {},
|
|
72
73
|
};
|
|
73
74
|
const app = new Hono();
|
|
74
75
|
// Inject the runtime first so the logger and all routes can read it.
|
|
76
|
+
// Each app's requests (and the background work they start) report to this
|
|
77
|
+
// app's own diagnostics sink, or to none: never another app's.
|
|
78
|
+
app.use('*', (_c, next) => runWithEngineDiagnostics(deps.diagnostics, next));
|
|
75
79
|
app.use('*', engineContext(runtime));
|
|
76
80
|
// Before CORS so a preflight, which returns without calling later
|
|
77
81
|
// middleware, still carries the request id. exposeHeaders lets browser
|
|
@@ -200,12 +204,17 @@ export function createEngine(deps) {
|
|
|
200
204
|
// Global error handler
|
|
201
205
|
app.onError((err, c) => {
|
|
202
206
|
const error = asCodedError(err);
|
|
207
|
+
// Where the failure happened, so a 5xx can be traced to a tenant, a caller
|
|
208
|
+
// and the engine operation in flight. Ids and route templates only: never a
|
|
209
|
+
// raw path, which can carry names.
|
|
210
|
+
const scope = errorScope(c, err);
|
|
203
211
|
const logger = getRequestLogger(c, 'engine.on_error');
|
|
204
212
|
logger.error('Unhandled request error', {
|
|
205
213
|
error_code: error.code ?? 'internal_error',
|
|
206
214
|
error_status: error.status ?? 500,
|
|
207
215
|
path: c.req.path,
|
|
208
216
|
method: c.req.method,
|
|
217
|
+
...scope,
|
|
209
218
|
...toErrorDetails(error),
|
|
210
219
|
});
|
|
211
220
|
const status = error.status || 500;
|
|
@@ -216,6 +225,7 @@ export function createEngine(deps) {
|
|
|
216
225
|
status_code: status,
|
|
217
226
|
error_code: error.code ?? 'internal_error',
|
|
218
227
|
request_id: c.get('requestId'),
|
|
228
|
+
...scope,
|
|
219
229
|
});
|
|
220
230
|
}
|
|
221
231
|
if (error.code === 'invalid_json' || err instanceof SyntaxError) {
|
|
@@ -234,4 +244,22 @@ export function createEngine(deps) {
|
|
|
234
244
|
});
|
|
235
245
|
return app;
|
|
236
246
|
}
|
|
247
|
+
function errorScope(c, err) {
|
|
248
|
+
const scope = {};
|
|
249
|
+
const workspaceId = c.get('workspace')?.id;
|
|
250
|
+
const agentId = c.get('agent')?.id;
|
|
251
|
+
const operation = engineOperationOf(err);
|
|
252
|
+
// Hono reports the matched template (`/v1/channels/:name/messages`); `*` is
|
|
253
|
+
// a middleware match, not a route, so it is no better than nothing.
|
|
254
|
+
const route = c.req.routePath;
|
|
255
|
+
if (workspaceId)
|
|
256
|
+
scope.workspace_id = workspaceId;
|
|
257
|
+
if (agentId)
|
|
258
|
+
scope.agent_id = agentId;
|
|
259
|
+
if (operation)
|
|
260
|
+
scope.engine_operation = operation;
|
|
261
|
+
if (route && !route.includes('*'))
|
|
262
|
+
scope.route = route;
|
|
263
|
+
return scope;
|
|
264
|
+
}
|
|
237
265
|
//# sourceMappingURL=engine.js.map
|
package/dist/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type ServerType } from '@hono/node-server';
|
|
2
2
|
import type { EngineConfig } from '../ports/index.js';
|
|
3
3
|
import type { AuthProvider } from '../ports/auth.js';
|
|
4
|
-
import type {
|
|
4
|
+
import type { AdmissionHooks } from '../ports/admission.js';
|
|
5
5
|
import type { TelemetrySink } from '../ports/telemetry.js';
|
|
6
6
|
import { type DurableEventQueueOptions, type InProcessPresenceOptions, type NodeRuntime } from '../adapters/node/index.js';
|
|
7
7
|
export interface StartServerOptions {
|
|
@@ -13,7 +13,7 @@ export interface StartServerOptions {
|
|
|
13
13
|
fileSecret?: string;
|
|
14
14
|
migrate?: boolean;
|
|
15
15
|
auth?: AuthProvider;
|
|
16
|
-
|
|
16
|
+
admission?: AdmissionHooks;
|
|
17
17
|
telemetry?: TelemetrySink;
|
|
18
18
|
config?: EngineConfig;
|
|
19
19
|
presence?: InProcessPresenceOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/entrypoints/node.ts"],"names":[],"mappings":"AAIA,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAK3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/entrypoints/node.ts"],"names":[],"mappings":"AAIA,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAK3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAGL,KAAK,wBAAwB,EAE7B,KAAK,wBAAwB,EAC7B,KAAK,WAAW,EACjB,MAAM,2BAA2B,CAAC;AAQnC,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,yDAAyD;IACzD,UAAU,CAAC,EAAE,wBAAwB,CAAC;CACvC;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAkBD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,aAAa,CAoGtE"}
|
package/dist/entrypoints/node.js
CHANGED
|
@@ -37,7 +37,7 @@ export function startServer(options) {
|
|
|
37
37
|
fileSecret: options.fileSecret,
|
|
38
38
|
migrate: options.migrate,
|
|
39
39
|
auth: options.auth,
|
|
40
|
-
|
|
40
|
+
admission: options.admission,
|
|
41
41
|
telemetry: options.telemetry,
|
|
42
42
|
config: options.config,
|
|
43
43
|
presence: options.presence,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/entrypoints/node.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAmB,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAA8B,MAAM,IAAI,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAMtD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAKlB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAyB7B,SAAS,cAAc,CAAC,EAAY;IAClC,OAAO;QACL,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;QAC7B,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,MAA2D,EAAE,MAAc,EAAE,OAAe;IACjH,IAAI,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,YAAY,MAAM,IAAI,OAAO,+BAA+B,CAAC,CAAC;QAC3E,MAAM,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;IACxB,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,OAA2B;IACrD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,oBAAoB,OAAO,CAAC,IAAI,EAAE,CAAC;IACtE,MAAM,OAAO,GAAG,iBAAiB,CAAC;QAChC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO;QACP,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/entrypoints/node.ts"],"names":[],"mappings":"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"}
|
package/dist/env.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { workspaces, agents, nodes, observerTokens } from './db/schema.js';
|
|
2
2
|
import type { Logger } from './lib/logger.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { AdmissionDenial } from './ports/admission.js';
|
|
4
4
|
import type { EngineDb, EnginePorts, EngineProviders, EngineConfig } from './ports/index.js';
|
|
5
5
|
/**
|
|
6
6
|
* The runtime dependency bundle injected into every request. An adapter
|
|
@@ -37,11 +37,11 @@ export interface AppVariables {
|
|
|
37
37
|
*/
|
|
38
38
|
webhookSubscribersExist?: boolean;
|
|
39
39
|
/**
|
|
40
|
-
* Set by `
|
|
41
|
-
*
|
|
42
|
-
*
|
|
40
|
+
* Set by `admitMessage` when the host denied a send that carries an
|
|
41
|
+
* `Idempotency-Key`: the route still replays a stored receipt, and refuses
|
|
42
|
+
* only a fresh send with this denial.
|
|
43
43
|
*/
|
|
44
|
-
|
|
44
|
+
messageAdmissionDenial?: AdmissionDenial;
|
|
45
45
|
/** The injected ports + providers + config for this deployment. */
|
|
46
46
|
engine: EngineRuntime;
|
|
47
47
|
}
|
package/dist/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EACV,QAAQ,EACR,WAAW,EACX,eAAe,EACf,YAAY,EACb,MAAM,kBAAkB,CAAC;AAE1B;;;;;GAKG;AACH,MAAM,WAAW,aAAc,SAAQ,WAAW,EAAE,eAAe;IACjE,SAAS,EAAE,WAAW,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;IACrD,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,gDAAgD;AAChD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,OAAO,UAAU,CAAC,YAAY,CAAC;IAC1C,KAAK,EAAE,OAAO,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC;IAC9C;+EAC2E;IAC3E,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,IAAI,EAAE,OAAO,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;IAC5C,aAAa,EAAE,OAAO,cAAc,CAAC,YAAY,GAAG,SAAS,CAAC;IAC9D,EAAE,EAAE,QAAQ,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,eAAe,CAAC;IACzC,mEAAmE;IACnE,MAAM,EAAE,aAAa,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChC,SAAS,EAAE,YAAY,CAAC;CACzB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export declare const SERVER_VERSION: "0.1.0";
|
|
2
2
|
export { createEngine } from './engine.js';
|
|
3
3
|
export type { AppEnv, AppVariables, EngineRuntime } from './env.js';
|
|
4
|
-
export type { EngineDeps, EnginePorts, EngineProviders, EngineConfig, EngineLogRecord, EngineLogExport, EngineDb, EngineEvent, RealtimeBus, ConnectionRegistry, UpgradeArgs, PresenceTracker, RateLimiter, RateLimitResult, FileStorage, KeyValueStore, EventQueue, QueuedEvent, AuthProvider, AuthResult, AuthRequire, Workspace, Agent,
|
|
4
|
+
export type { EngineDeps, EnginePorts, EngineProviders, EngineConfig, EngineLogRecord, EngineLogExport, EngineDb, EngineEvent, RealtimeBus, ConnectionRegistry, UpgradeArgs, PresenceTracker, RateLimiter, RateLimitResult, FileStorage, KeyValueStore, EventQueue, QueuedEvent, AuthProvider, AuthResult, AuthRequire, Workspace, Agent, AdmissionAction, AdmissionContext, AdmissionDenial, AdmissionHooks, RegistrationAdmissionAction, TelemetrySink, TelemetryEvent, } from './ports/index.js';
|
|
5
5
|
export { observerAllowsEvent, type ObserverToken } from './engine/observerToken.js';
|
|
6
|
+
export { createRegistrationAdmission, type RegistrationAdmission, } from './engine/registrationAdmission.js';
|
|
6
7
|
export { SqliteApiKeyAuthProvider, hashToken } from './auth/index.js';
|
|
7
|
-
export { StaticEntitlementsProvider, PLAN_LIMITS } from './providers/static-entitlements.js';
|
|
8
|
-
export { getLifetimeUsageMetric, getUsageMetric, lifetimeUsageCounterKey, usageCounterKey, usagePeriod, usagePeriodResetAt, } from './engine/usage.js';
|
|
9
8
|
export { NoopTelemetrySink } from './providers/noop-telemetry.js';
|
|
9
|
+
export { configureEngineDiagnostics, currentEngineOperation, engineOperationOf, runWithEngineDiagnostics, } from './lib/engineDiagnostics.js';
|
|
10
10
|
export { isValidStandardWebhookSecret, signStandardWebhook, verifyStandardWebhook, } from './lib/standardWebhook.js';
|
|
11
11
|
export { getDb, healthCheck as dbHealthCheck } from './db/index.js';
|
|
12
12
|
export type { Db } from './db/index.js';
|
|
@@ -32,7 +32,7 @@ export { pruneExpired, resolveEffectiveMessageRetention, DEFAULT_DELIVERY_TTL_DA
|
|
|
32
32
|
export type { PruneOptions, PruneResult, RetentionDefaults } from './engine/retention.js';
|
|
33
33
|
export type { RetentionCursorStore, RowidRetentionState } from './engine/rowidRetention.js';
|
|
34
34
|
export type { WorkspaceRetentionSettings } from './db/schema.js';
|
|
35
|
-
export { reapExpiredWorkspaces, drainFileCleanup, getWorkspaceExpiry, DEFAULT_WORKSPACE_REAP_LIMIT, DEFAULT_FILE_CLEANUP_LIMIT, } from './engine/workspace.js';
|
|
35
|
+
export { reapExpiredWorkspaces, reapWorkspace, drainFileCleanup, getWorkspaceExpiry, DEFAULT_WORKSPACE_REAP_LIMIT, DEFAULT_FILE_CLEANUP_LIMIT, } from './engine/workspace.js';
|
|
36
36
|
export { isWorkspaceExpired, authenticateUnexpired, workspaceExpiredAuthResult, WORKSPACE_EXPIRED_CODE, WORKSPACE_EXPIRED_MESSAGE, } from './auth/workspaceExpiry.js';
|
|
37
37
|
export { appendWorkspaceEvent, appendAndPublishWorkspaceEvent, listWorkspaceEvents, WORKSPACE_EVENT_LIST_DEFAULT_LIMIT, WORKSPACE_EVENT_LIST_MAX_LIMIT, } from './engine/workspaceEvents.js';
|
|
38
38
|
export type { WorkspaceEventInput, WorkspaceEventRecord } from './engine/workspaceEvents.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,EAAG,OAAgB,CAAC;AAG/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGpE,YAAY,EACV,UAAU,EACV,WAAW,EACX,eAAe,EACf,YAAY,EACZ,eAAe,EACf,eAAe,EACf,QAAQ,EACR,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,WAAW,EACX,eAAe,EACf,WAAW,EACX,aAAa,EACb,UAAU,EACV,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,KAAK,EACL,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -5,14 +5,13 @@ export { createEngine } from './engine.js';
|
|
|
5
5
|
// workspace stream. A realtime adapter that fans events out to observer sockets
|
|
6
6
|
// must apply it per socket — the Cloudflare stream lives outside this package.
|
|
7
7
|
export { observerAllowsEvent } from './engine/observerToken.js';
|
|
8
|
+
// Registration admission a host wires into its own node-control transport so
|
|
9
|
+
// `agent.register` frames are admitted like the HTTP registration routes.
|
|
10
|
+
export { createRegistrationAdmission, } from './engine/registrationAdmission.js';
|
|
8
11
|
// OSS default providers (self-host). Cloud injects its own.
|
|
9
12
|
export { SqliteApiKeyAuthProvider, hashToken } from './auth/index.js';
|
|
10
|
-
export { StaticEntitlementsProvider, PLAN_LIMITS } from './providers/static-entitlements.js';
|
|
11
|
-
// Usage-counter key contract. An `EntitlementsProvider` reads the counters the
|
|
12
|
-
// engine writes, so it has to agree with the engine on the billing period the
|
|
13
|
-
// key is scoped to — build the key with these rather than by hand.
|
|
14
|
-
export { getLifetimeUsageMetric, getUsageMetric, lifetimeUsageCounterKey, usageCounterKey, usagePeriod, usagePeriodResetAt, } from './engine/usage.js';
|
|
15
13
|
export { NoopTelemetrySink } from './providers/noop-telemetry.js';
|
|
14
|
+
export { configureEngineDiagnostics, currentEngineOperation, engineOperationOf, runWithEngineDiagnostics, } from './lib/engineDiagnostics.js';
|
|
16
15
|
export { isValidStandardWebhookSecret, signStandardWebhook, verifyStandardWebhook, } from './lib/standardWebhook.js';
|
|
17
16
|
// Database helpers + schema for adapters and migrations.
|
|
18
17
|
export { getDb, healthCheck as dbHealthCheck } from './db/index.js';
|
|
@@ -53,7 +52,7 @@ export { pruneExpired, resolveEffectiveMessageRetention, DEFAULT_DELIVERY_TTL_DA
|
|
|
53
52
|
// non-null deadline as its deletion predicate. Hosts may call this from cron;
|
|
54
53
|
// the Node adapter also runs it on its local maintenance interval. Blob cleanup
|
|
55
54
|
// is a durable post-commit outbox: hosts must drain it from the same schedule.
|
|
56
|
-
export { reapExpiredWorkspaces, drainFileCleanup, getWorkspaceExpiry, DEFAULT_WORKSPACE_REAP_LIMIT, DEFAULT_FILE_CLEANUP_LIMIT, } from './engine/workspace.js';
|
|
55
|
+
export { reapExpiredWorkspaces, reapWorkspace, drainFileCleanup, getWorkspaceExpiry, DEFAULT_WORKSPACE_REAP_LIMIT, DEFAULT_FILE_CLEANUP_LIMIT, } from './engine/workspace.js';
|
|
57
56
|
// Expiry is enforced at authentication, not just by the reap. Hosts that
|
|
58
57
|
// compose their own credential paths reuse these so an expired workspace stays
|
|
59
58
|
// rejected whatever provider resolved it.
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,OAAgB,CAAC;AAE/C,2DAA2D;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { AdmissionDenial } from '../ports/admission.js';
|
|
2
|
+
/**
|
|
3
|
+
* Thrown from inside a route when a fresh send was already refused by the
|
|
4
|
+
* host's admission hook (see `middleware/admission.ts`). `errorResponse`
|
|
5
|
+
* renders the carried denial with its status and additive fields.
|
|
6
|
+
*/
|
|
7
|
+
export declare class AdmissionDeniedError extends Error {
|
|
8
|
+
readonly denial: AdmissionDenial;
|
|
9
|
+
constructor(denial: AdmissionDenial);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=admissionError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admissionError.d.ts","sourceRoot":"","sources":["../../src/lib/admissionError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IACjC,QAAQ,CAAC,MAAM,EAAE,eAAe;gBAAvB,MAAM,EAAE,eAAe;CAI7C"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thrown from inside a route when a fresh send was already refused by the
|
|
3
|
+
* host's admission hook (see `middleware/admission.ts`). `errorResponse`
|
|
4
|
+
* renders the carried denial with its status and additive fields.
|
|
5
|
+
*/
|
|
6
|
+
export class AdmissionDeniedError extends Error {
|
|
7
|
+
denial;
|
|
8
|
+
constructor(denial) {
|
|
9
|
+
super(denial.message);
|
|
10
|
+
this.denial = denial;
|
|
11
|
+
this.name = 'AdmissionDeniedError';
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=admissionError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admissionError.js","sourceRoot":"","sources":["../../src/lib/admissionError.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACxB;IAArB,YAAqB,MAAuB;QAC1C,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QADH,WAAM,GAAN,MAAM,CAAiB;QAE1C,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { EngineDiagnostics, EngineOperationLabel, EngineOperationScope, EngineProgressSample } from '../ports/diagnostics.js';
|
|
2
|
+
/** The sink for maintenance callers that run outside an app's requests. */
|
|
3
|
+
export declare function configureEngineDiagnostics(next: EngineDiagnostics | undefined): void;
|
|
4
|
+
/** Run `fn` with `sink` as the diagnostics destination (`createEngine` does this per request). */
|
|
5
|
+
export declare function runWithEngineDiagnostics<T>(sink: EngineDiagnostics | undefined, fn: () => T): T;
|
|
6
|
+
/**
|
|
7
|
+
* The labelled operation the caller is running inside, if any. A host database
|
|
8
|
+
* wrapper uses this to attribute each statement's cost to an operation.
|
|
9
|
+
*/
|
|
10
|
+
export declare function currentEngineOperation(): EngineOperationScope | undefined;
|
|
11
|
+
/** The operation an error was thrown inside, so the request error path can report it. */
|
|
12
|
+
export declare function engineOperationOf(error: unknown): EngineOperationLabel | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* Give `to` the operation label of `from`, for code that wraps a thrown value
|
|
15
|
+
* in a new error (a plain-object rejection becomes an `Error`), so the request
|
|
16
|
+
* error path still reports the operation.
|
|
17
|
+
*/
|
|
18
|
+
export declare function carryEngineOperation(from: unknown, to: object): void;
|
|
19
|
+
/**
|
|
20
|
+
* Run `fn` as a labelled operation: hosts see its duration and outcome, and any
|
|
21
|
+
* statement it issues can be attributed to it via `currentEngineOperation()`.
|
|
22
|
+
* The innermost label wins when operations nest.
|
|
23
|
+
*/
|
|
24
|
+
export declare function withEngineOperation<T>(label: EngineOperationLabel, workspaceId: string | undefined, fn: () => Promise<T>): Promise<T>;
|
|
25
|
+
export declare function reportEngineProgress(sample: EngineProgressSample): void;
|
|
26
|
+
//# sourceMappingURL=engineDiagnostics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engineDiagnostics.d.ts","sourceRoot":"","sources":["../../src/lib/engineDiagnostics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;AAgBjC,2EAA2E;AAC3E,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,iBAAiB,GAAG,SAAS,GAAG,IAAI,CAEpF;AAED,kGAAkG;AAClG,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAE/F;AAQD;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,oBAAoB,GAAG,SAAS,CAEzE;AAED,yFAAyF;AACzF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,GAAG,SAAS,CAElF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAGpE;AAYD;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,KAAK,EAAE,oBAAoB,EAC3B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CA4BZ;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAGvE"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
2
|
+
// Two sources of a sink, so separately configured apps never cross:
|
|
3
|
+
// - each app runs its requests inside `runWithEngineDiagnostics` with its own
|
|
4
|
+
// `deps.diagnostics` (or none), and work a request starts in the background
|
|
5
|
+
// inherits that scope;
|
|
6
|
+
// - `configureEngineDiagnostics` sets the host's own fallback, used by
|
|
7
|
+
// maintenance sweeps outside any request and by apps built without a sink.
|
|
8
|
+
// `createEngine` never sets it, so one app's sink cannot leak into another.
|
|
9
|
+
let fallback;
|
|
10
|
+
const appScope = new AsyncLocalStorage();
|
|
11
|
+
const operationScope = new AsyncLocalStorage();
|
|
12
|
+
// A WeakMap rather than a property: a frozen or non-extensible error must be
|
|
13
|
+
// rethrown untouched, never replaced by the TypeError a defineProperty raises.
|
|
14
|
+
const operationLabels = new WeakMap();
|
|
15
|
+
/** The sink for maintenance callers that run outside an app's requests. */
|
|
16
|
+
export function configureEngineDiagnostics(next) {
|
|
17
|
+
fallback = next;
|
|
18
|
+
}
|
|
19
|
+
/** Run `fn` with `sink` as the diagnostics destination (`createEngine` does this per request). */
|
|
20
|
+
export function runWithEngineDiagnostics(sink, fn) {
|
|
21
|
+
return appScope.run({ sink }, fn);
|
|
22
|
+
}
|
|
23
|
+
function activeSink() {
|
|
24
|
+
// An app's own sink wins; an app built without one reports to the sink the
|
|
25
|
+
// host configured explicitly, never to another app's.
|
|
26
|
+
return appScope.getStore()?.sink ?? fallback;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* The labelled operation the caller is running inside, if any. A host database
|
|
30
|
+
* wrapper uses this to attribute each statement's cost to an operation.
|
|
31
|
+
*/
|
|
32
|
+
export function currentEngineOperation() {
|
|
33
|
+
return operationScope.getStore();
|
|
34
|
+
}
|
|
35
|
+
/** The operation an error was thrown inside, so the request error path can report it. */
|
|
36
|
+
export function engineOperationOf(error) {
|
|
37
|
+
return typeof error === 'object' && error !== null ? operationLabels.get(error) : undefined;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Give `to` the operation label of `from`, for code that wraps a thrown value
|
|
41
|
+
* in a new error (a plain-object rejection becomes an `Error`), so the request
|
|
42
|
+
* error path still reports the operation.
|
|
43
|
+
*/
|
|
44
|
+
export function carryEngineOperation(from, to) {
|
|
45
|
+
const label = engineOperationOf(from);
|
|
46
|
+
if (label !== undefined && !operationLabels.has(to))
|
|
47
|
+
operationLabels.set(to, label);
|
|
48
|
+
}
|
|
49
|
+
function isolate(callback) {
|
|
50
|
+
// A host callback must never alter engine behavior, sync or async.
|
|
51
|
+
try {
|
|
52
|
+
const pending = callback();
|
|
53
|
+
if (pending && typeof pending.then === 'function') {
|
|
54
|
+
void Promise.resolve(pending).catch(() => { });
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch { /* best effort */ }
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Run `fn` as a labelled operation: hosts see its duration and outcome, and any
|
|
61
|
+
* statement it issues can be attributed to it via `currentEngineOperation()`.
|
|
62
|
+
* The innermost label wins when operations nest.
|
|
63
|
+
*/
|
|
64
|
+
export async function withEngineOperation(label, workspaceId, fn) {
|
|
65
|
+
const context = workspaceId === undefined ? { label } : { label, workspaceId };
|
|
66
|
+
const sink = activeSink();
|
|
67
|
+
const start = performance.now();
|
|
68
|
+
try {
|
|
69
|
+
const result = await operationScope.run(context, fn);
|
|
70
|
+
if (sink?.operation) {
|
|
71
|
+
isolate(() => sink.operation({ ...context, durationMs: performance.now() - start, outcome: 'ok' }));
|
|
72
|
+
}
|
|
73
|
+
return result;
|
|
74
|
+
}
|
|
75
|
+
catch (caught) {
|
|
76
|
+
// A primitive cannot carry a label, so it leaves as the Error the request
|
|
77
|
+
// error path would turn it into anyway (see `asCodedError`).
|
|
78
|
+
const error = typeof caught === 'object' && caught !== null
|
|
79
|
+
? caught
|
|
80
|
+
: new Error(typeof caught === 'string' ? caught : 'Unknown error');
|
|
81
|
+
if (!operationLabels.has(error))
|
|
82
|
+
operationLabels.set(error, label);
|
|
83
|
+
if (sink?.operation) {
|
|
84
|
+
const errorName = error instanceof Error ? error.name : undefined;
|
|
85
|
+
isolate(() => sink.operation({
|
|
86
|
+
...context,
|
|
87
|
+
durationMs: performance.now() - start,
|
|
88
|
+
outcome: 'error',
|
|
89
|
+
...(errorName ? { errorName } : {}),
|
|
90
|
+
}));
|
|
91
|
+
}
|
|
92
|
+
throw error;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
export function reportEngineProgress(sample) {
|
|
96
|
+
const sink = activeSink();
|
|
97
|
+
if (sink?.progress)
|
|
98
|
+
isolate(() => sink.progress(sample));
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=engineDiagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engineDiagnostics.js","sourceRoot":"","sources":["../../src/lib/engineDiagnostics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpError.d.ts","sourceRoot":"","sources":["../../src/lib/httpError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"httpError.d.ts","sourceRoot":"","sources":["../../src/lib/httpError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAOpC;;;;;GAKG;AACH,MAAM,WAAW,UAAW,SAAQ,KAAK;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAYrD;AAED,8FAA8F;AAC9F,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAEpF;AAQD,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAWjG;AAMD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,UAAU,EACjB,MAAM,SAA6B,GAClC,MAAM,CAIR;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO;;;;;;iXAgBrD"}
|
package/dist/lib/httpError.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { carryEngineOperation } from './engineDiagnostics.js';
|
|
1
2
|
import { jsonError, jsonMalformedBody } from './httpResponse.js';
|
|
2
|
-
import {
|
|
3
|
+
import { AdmissionDeniedError } from './admissionError.js';
|
|
4
|
+
import { admissionDeniedResponse } from '../middleware/admission.js';
|
|
3
5
|
/**
|
|
4
6
|
* Narrow an unknown thrown value to a {@link CodedError} without asserting.
|
|
5
7
|
* Plain (non-`Error`) objects are wrapped while preserving their own properties
|
|
@@ -13,9 +15,12 @@ export function asCodedError(err) {
|
|
|
13
15
|
const message = 'message' in err ? String(err.message) : 'Unknown error';
|
|
14
16
|
const error = Object.assign(new Error(message), err);
|
|
15
17
|
error.message = message;
|
|
18
|
+
carryEngineOperation(err, error);
|
|
16
19
|
return error;
|
|
17
20
|
}
|
|
18
|
-
|
|
21
|
+
const error = new Error(typeof err === 'string' ? err : 'Unknown error');
|
|
22
|
+
carryEngineOperation(err, error);
|
|
23
|
+
return error;
|
|
19
24
|
}
|
|
20
25
|
/** Build an `Error` carrying a stable `code` and HTTP `status` (no cast at the call site). */
|
|
21
26
|
export function codedError(message, code, status) {
|
|
@@ -61,8 +66,8 @@ export function safeClientErrorMessage(error, status = effectiveHttpStatus(error
|
|
|
61
66
|
* way. Only route handlers call this, so a throw always reaches `onError`.
|
|
62
67
|
*/
|
|
63
68
|
export function errorResponse(c, err) {
|
|
64
|
-
if (err instanceof
|
|
65
|
-
return c
|
|
69
|
+
if (err instanceof AdmissionDeniedError)
|
|
70
|
+
return admissionDeniedResponse(c, err.denial);
|
|
66
71
|
const error = asCodedError(err);
|
|
67
72
|
if (error.code === 'workspace_delivery_depth_exceeded')
|
|
68
73
|
c.header('Retry-After', '30');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpError.js","sourceRoot":"","sources":["../../src/lib/httpError.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"httpError.js","sourceRoot":"","sources":["../../src/lib/httpError.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { Context } from 'hono';
|
|
2
|
+
import type { AppEnv } from '../env.js';
|
|
3
|
+
import type { AdmissionAction, AdmissionDenial } from '../ports/admission.js';
|
|
4
|
+
import type { Workspace } from '../ports/auth.js';
|
|
5
|
+
import { type RegistrationAdmission } from '../engine/registrationAdmission.js';
|
|
6
|
+
/**
|
|
7
|
+
* Ask the host whether `action` may proceed. No hook, or a hook that throws,
|
|
8
|
+
* admits it: a host's metering outage must not take messaging down.
|
|
9
|
+
*/
|
|
10
|
+
export declare function resolveAdmission(c: Context<AppEnv>, workspace: Workspace, action: AdmissionAction): Promise<AdmissionDenial | null>;
|
|
11
|
+
/**
|
|
12
|
+
* Render a denial as the error envelope, with `Retry-After` when the host gave
|
|
13
|
+
* one. Without `retryAt` no retry clears the denial, so the per-minute reset
|
|
14
|
+
* `rateLimit` already set is withdrawn rather than advertised.
|
|
15
|
+
*/
|
|
16
|
+
export declare function admissionDeniedResponse(c: Context, denial: AdmissionDenial): Response & import("hono").TypedResponse<{
|
|
17
|
+
ok: false;
|
|
18
|
+
error: {
|
|
19
|
+
code: string;
|
|
20
|
+
message: string;
|
|
21
|
+
};
|
|
22
|
+
}, -1 | 100 | 102 | 103 | 200 | 201 | 202 | 203 | 206 | 207 | 208 | 226 | 300 | 301 | 302 | 303 | 305 | 306 | 307 | 308 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451 | 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511, "json">;
|
|
23
|
+
/** Report a successful, non-replayed action to the host without holding the response. */
|
|
24
|
+
export declare function reportCommitted(c: Context<AppEnv>, workspace: Workspace, action: AdmissionAction): void;
|
|
25
|
+
/**
|
|
26
|
+
* Admit message sends through the host's `message` hook.
|
|
27
|
+
*
|
|
28
|
+
* Mounted after `rateLimit` on the routes that create a message (channel post,
|
|
29
|
+
* DM, group DM, thread reply). Idempotency is preserved: a denied request
|
|
30
|
+
* without an `Idempotency-Key` is refused here; a keyed one reaches the route
|
|
31
|
+
* so a replay of an earlier successful send still returns its stored receipt,
|
|
32
|
+
* and the route refuses only a fresh send ({@link assertMessageAdmitted},
|
|
33
|
+
* called inside the idempotent operation). Only a fresh successful send is
|
|
34
|
+
* reported as committed.
|
|
35
|
+
*/
|
|
36
|
+
export declare const admitMessage: import("hono").MiddlewareHandler<AppEnv, string, {}, Response>;
|
|
37
|
+
/**
|
|
38
|
+
* Refuse a fresh send when `admitMessage` found it denied. Call it first inside
|
|
39
|
+
* a message route's idempotent `operation`, which runs only for a new send —
|
|
40
|
+
* never for a replay of a stored receipt.
|
|
41
|
+
*/
|
|
42
|
+
export declare function assertMessageAdmitted(c: Context<AppEnv>): void;
|
|
43
|
+
/**
|
|
44
|
+
* The registration admission for the authenticated workspace, or `undefined`
|
|
45
|
+
* when the host has no `admit` hook. Pass it to the node and agent
|
|
46
|
+
* registration paths, which consult it only for a NEW registration.
|
|
47
|
+
*/
|
|
48
|
+
export declare function registrationAdmission(c: Context<AppEnv>): RegistrationAdmission | undefined;
|
|
49
|
+
//# sourceMappingURL=admission.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admission.d.ts","sourceRoot":"","sources":["../../src/middleware/admission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAGpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAA+B,KAAK,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAM7G;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAClB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAYjC;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe;;;;;;iXAW1E;AAED,yFAAyF;AACzF,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI,CAUvG;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,gEAavB,CAAC;AAEH;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAG9D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,qBAAqB,GAAG,SAAS,CAM3F"}
|