@weave-kit/engine 0.8.0 → 0.10.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/CHANGELOG.md +54 -0
- package/dist/adapters/graphql/http.js +1 -1
- package/dist/adapters/graphql/http.js.map +1 -1
- package/dist/adapters/graphql/loader.d.ts.map +1 -1
- package/dist/adapters/graphql/loader.js +2 -2
- package/dist/adapters/graphql/loader.js.map +1 -1
- package/dist/adapters/graphql/resolvers.d.ts.map +1 -1
- package/dist/adapters/graphql/resolvers.js +3 -2
- package/dist/adapters/graphql/resolvers.js.map +1 -1
- package/dist/adapters/graphql/types.d.ts +2 -0
- package/dist/adapters/graphql/types.d.ts.map +1 -1
- package/dist/adapters/mcp/generate.d.ts.map +1 -1
- package/dist/adapters/mcp/generate.js +1 -0
- package/dist/adapters/mcp/generate.js.map +1 -1
- package/dist/adapters/mcp/http.d.ts +2 -0
- package/dist/adapters/mcp/http.d.ts.map +1 -1
- package/dist/adapters/mcp/http.js +6 -1
- package/dist/adapters/mcp/http.js.map +1 -1
- package/dist/adapters/mcp/index.d.ts +2 -0
- package/dist/adapters/mcp/index.d.ts.map +1 -1
- package/dist/adapters/mcp/index.js +2 -1
- package/dist/adapters/mcp/index.js.map +1 -1
- package/dist/adapters/mcp/tools.d.ts.map +1 -1
- package/dist/adapters/mcp/tools.js +13 -4
- package/dist/adapters/mcp/tools.js.map +1 -1
- package/dist/adapters/rest/plugin.d.ts.map +1 -1
- package/dist/adapters/rest/plugin.js +11 -8
- package/dist/adapters/rest/plugin.js.map +1 -1
- package/dist/adapters/rest/workflow.js +8 -8
- package/dist/adapters/rest/workflow.js.map +1 -1
- package/dist/cli/commands/deploy.d.ts +6 -0
- package/dist/cli/commands/deploy.d.ts.map +1 -0
- package/dist/cli/commands/deploy.js +88 -0
- package/dist/cli/commands/deploy.js.map +1 -0
- package/dist/cli/index.js +13 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/types/commands.d.ts +8 -0
- package/dist/cli/types/commands.d.ts.map +1 -1
- package/dist/cli/types/index.d.ts +1 -1
- package/dist/cli/types/index.d.ts.map +1 -1
- package/dist/cli/types/values.d.ts +2 -0
- package/dist/cli/types/values.d.ts.map +1 -1
- package/dist/cli/types/values.js +2 -0
- package/dist/cli/types/values.js.map +1 -1
- package/dist/core/audit/index.d.ts +2 -2
- package/dist/core/audit/index.d.ts.map +1 -1
- package/dist/core/audit/index.js +1 -1
- package/dist/core/audit/index.js.map +1 -1
- package/dist/core/audit/types.d.ts +23 -0
- package/dist/core/audit/types.d.ts.map +1 -1
- package/dist/core/audit/types.js +11 -0
- package/dist/core/audit/types.js.map +1 -1
- package/dist/core/i18n/ar.d.ts.map +1 -1
- package/dist/core/i18n/ar.js +1 -0
- package/dist/core/i18n/ar.js.map +1 -1
- package/dist/core/i18n/de.d.ts.map +1 -1
- package/dist/core/i18n/de.js +1 -0
- package/dist/core/i18n/de.js.map +1 -1
- package/dist/core/i18n/en.d.ts +1 -0
- package/dist/core/i18n/en.d.ts.map +1 -1
- package/dist/core/i18n/en.js +1 -0
- package/dist/core/i18n/en.js.map +1 -1
- package/dist/core/i18n/es.d.ts.map +1 -1
- package/dist/core/i18n/es.js +1 -0
- package/dist/core/i18n/es.js.map +1 -1
- package/dist/core/i18n/fr.d.ts.map +1 -1
- package/dist/core/i18n/fr.js +1 -0
- package/dist/core/i18n/fr.js.map +1 -1
- package/dist/core/i18n/hi.d.ts.map +1 -1
- package/dist/core/i18n/hi.js +1 -0
- package/dist/core/i18n/hi.js.map +1 -1
- package/dist/core/i18n/id.d.ts.map +1 -1
- package/dist/core/i18n/id.js +1 -0
- package/dist/core/i18n/id.js.map +1 -1
- package/dist/core/i18n/ja.d.ts.map +1 -1
- package/dist/core/i18n/ja.js +1 -0
- package/dist/core/i18n/ja.js.map +1 -1
- package/dist/core/i18n/ko.d.ts.map +1 -1
- package/dist/core/i18n/ko.js +1 -0
- package/dist/core/i18n/ko.js.map +1 -1
- package/dist/core/i18n/pt.d.ts.map +1 -1
- package/dist/core/i18n/pt.js +1 -0
- package/dist/core/i18n/pt.js.map +1 -1
- package/dist/core/i18n/ru.d.ts.map +1 -1
- package/dist/core/i18n/ru.js +1 -0
- package/dist/core/i18n/ru.js.map +1 -1
- package/dist/core/i18n/vi.d.ts.map +1 -1
- package/dist/core/i18n/vi.js +1 -0
- package/dist/core/i18n/vi.js.map +1 -1
- package/dist/core/i18n/zh-hant.d.ts.map +1 -1
- package/dist/core/i18n/zh-hant.js +1 -0
- package/dist/core/i18n/zh-hant.js.map +1 -1
- package/dist/core/i18n/zh.d.ts.map +1 -1
- package/dist/core/i18n/zh.js +1 -0
- package/dist/core/i18n/zh.js.map +1 -1
- package/dist/core/storage/apply.d.ts +3 -1
- package/dist/core/storage/apply.d.ts.map +1 -1
- package/dist/core/storage/apply.js +6 -2
- package/dist/core/storage/apply.js.map +1 -1
- package/dist/core/storage/index.d.ts +1 -0
- package/dist/core/storage/index.d.ts.map +1 -1
- package/dist/core/storage/index.js.map +1 -1
- package/dist/core/storage/meta.d.ts +4 -3
- package/dist/core/storage/meta.d.ts.map +1 -1
- package/dist/core/storage/meta.js +5 -4
- package/dist/core/storage/meta.js.map +1 -1
- package/dist/core/storage/migrate.d.ts +8 -0
- package/dist/core/storage/migrate.d.ts.map +1 -1
- package/dist/core/storage/migrate.js +33 -12
- package/dist/core/storage/migrate.js.map +1 -1
- package/dist/core/storage/queryable.d.ts +14 -0
- package/dist/core/storage/queryable.d.ts.map +1 -0
- package/dist/core/storage/queryable.js +2 -0
- package/dist/core/storage/queryable.js.map +1 -0
- package/dist/core/storage/system-tables.d.ts +2 -0
- package/dist/core/storage/system-tables.d.ts.map +1 -1
- package/dist/core/storage/system-tables.js +39 -0
- package/dist/core/storage/system-tables.js.map +1 -1
- package/dist/core/tools/pipeline.d.ts +74 -0
- package/dist/core/tools/pipeline.d.ts.map +1 -0
- package/dist/core/tools/pipeline.js +31 -0
- package/dist/core/tools/pipeline.js.map +1 -0
- package/dist/core/tools/validate-args.d.ts +14 -0
- package/dist/core/tools/validate-args.d.ts.map +1 -0
- package/dist/core/tools/validate-args.js +70 -0
- package/dist/core/tools/validate-args.js.map +1 -0
- package/dist/core/types/index.d.ts +1 -0
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/core/types/index.js +1 -0
- package/dist/core/types/index.js.map +1 -1
- package/dist/core/types/principal.d.ts +34 -0
- package/dist/core/types/principal.d.ts.map +1 -0
- package/dist/core/types/principal.js +32 -0
- package/dist/core/types/principal.js.map +1 -0
- package/dist/runtime/data-access/builder.d.ts +3 -3
- package/dist/runtime/data-access/builder.d.ts.map +1 -1
- package/dist/runtime/data-access/builder.js +5 -5
- package/dist/runtime/data-access/builder.js.map +1 -1
- package/dist/runtime/data-access/cursor.d.ts +9 -0
- package/dist/runtime/data-access/cursor.d.ts.map +1 -0
- package/dist/runtime/data-access/cursor.js +26 -0
- package/dist/runtime/data-access/cursor.js.map +1 -0
- package/dist/runtime/data-access/index.d.ts +4 -0
- package/dist/runtime/data-access/index.d.ts.map +1 -1
- package/dist/runtime/data-access/index.js +3 -0
- package/dist/runtime/data-access/index.js.map +1 -1
- package/dist/runtime/data-access/query-budget.d.ts +42 -0
- package/dist/runtime/data-access/query-budget.d.ts.map +1 -0
- package/dist/runtime/data-access/query-budget.js +59 -0
- package/dist/runtime/data-access/query-budget.js.map +1 -0
- package/dist/runtime/data-access/query.d.ts +6 -1
- package/dist/runtime/data-access/query.d.ts.map +1 -1
- package/dist/runtime/data-access/query.js +116 -37
- package/dist/runtime/data-access/query.js.map +1 -1
- package/dist/runtime/data-access/rbac.d.ts +2 -2
- package/dist/runtime/data-access/rbac.d.ts.map +1 -1
- package/dist/runtime/data-access/rbac.js +86 -47
- package/dist/runtime/data-access/rbac.js.map +1 -1
- package/dist/runtime/data-access/sql-executor.d.ts +3 -0
- package/dist/runtime/data-access/sql-executor.d.ts.map +1 -1
- package/dist/runtime/data-access/sql-executor.js +9 -3
- package/dist/runtime/data-access/sql-executor.js.map +1 -1
- package/dist/runtime/data-access/types.d.ts +27 -9
- package/dist/runtime/data-access/types.d.ts.map +1 -1
- package/dist/runtime/data-access/types.js +9 -1
- package/dist/runtime/data-access/types.js.map +1 -1
- package/dist/runtime/engine.d.ts +15 -1
- package/dist/runtime/engine.d.ts.map +1 -1
- package/dist/runtime/engine.js +48 -16
- package/dist/runtime/engine.js.map +1 -1
- package/dist/runtime/execution/index.d.ts +3 -0
- package/dist/runtime/execution/index.d.ts.map +1 -0
- package/dist/runtime/execution/index.js +2 -0
- package/dist/runtime/execution/index.js.map +1 -0
- package/dist/runtime/execution/pipeline.d.ts +60 -0
- package/dist/runtime/execution/pipeline.d.ts.map +1 -0
- package/dist/runtime/execution/pipeline.js +138 -0
- package/dist/runtime/execution/pipeline.js.map +1 -0
- package/dist/runtime/git/sync.d.ts +18 -3
- package/dist/runtime/git/sync.d.ts.map +1 -1
- package/dist/runtime/git/sync.js +25 -25
- package/dist/runtime/git/sync.js.map +1 -1
- package/dist/runtime/metadata/cache.d.ts +17 -5
- package/dist/runtime/metadata/cache.d.ts.map +1 -1
- package/dist/runtime/metadata/cache.js +46 -19
- package/dist/runtime/metadata/cache.js.map +1 -1
- package/dist/runtime/metadata/index.d.ts +3 -1
- package/dist/runtime/metadata/index.d.ts.map +1 -1
- package/dist/runtime/metadata/index.js +2 -1
- package/dist/runtime/metadata/index.js.map +1 -1
- package/dist/runtime/metadata/revision.d.ts +41 -0
- package/dist/runtime/metadata/revision.d.ts.map +1 -0
- package/dist/runtime/metadata/revision.js +53 -0
- package/dist/runtime/metadata/revision.js.map +1 -0
- package/dist/runtime/sql-analyzer/index.d.ts +2 -0
- package/dist/runtime/sql-analyzer/index.d.ts.map +1 -1
- package/dist/runtime/sql-analyzer/index.js +5 -1
- package/dist/runtime/sql-analyzer/index.js.map +1 -1
- package/dist/runtime/tools/executor.d.ts.map +1 -1
- package/dist/runtime/tools/executor.js +2 -1
- package/dist/runtime/tools/executor.js.map +1 -1
- package/dist/subsystems/audit/index.d.ts +10 -2
- package/dist/subsystems/audit/index.d.ts.map +1 -1
- package/dist/subsystems/audit/index.js +14 -1
- package/dist/subsystems/audit/index.js.map +1 -1
- package/dist/subsystems/audit/outbox.d.ts +33 -0
- package/dist/subsystems/audit/outbox.d.ts.map +1 -0
- package/dist/subsystems/audit/outbox.js +111 -0
- package/dist/subsystems/audit/outbox.js.map +1 -0
- package/dist/subsystems/audit/store.d.ts +3 -2
- package/dist/subsystems/audit/store.d.ts.map +1 -1
- package/dist/subsystems/audit/store.js +9 -7
- package/dist/subsystems/audit/store.js.map +1 -1
- package/dist/subsystems/evidence/index.d.ts +2 -0
- package/dist/subsystems/evidence/index.d.ts.map +1 -0
- package/dist/subsystems/evidence/index.js +2 -0
- package/dist/subsystems/evidence/index.js.map +1 -0
- package/dist/subsystems/evidence/store.d.ts +8 -0
- package/dist/subsystems/evidence/store.d.ts.map +1 -0
- package/dist/subsystems/evidence/store.js +35 -0
- package/dist/subsystems/evidence/store.js.map +1 -0
- package/dist/subsystems/script/bridge.d.ts +3 -1
- package/dist/subsystems/script/bridge.d.ts.map +1 -1
- package/dist/subsystems/script/bridge.js +3 -1
- package/dist/subsystems/script/bridge.js.map +1 -1
- package/dist/subsystems/script/dispatcher.d.ts +3 -1
- package/dist/subsystems/script/dispatcher.d.ts.map +1 -1
- package/dist/subsystems/script/dispatcher.js +1 -0
- package/dist/subsystems/script/dispatcher.js.map +1 -1
- package/dist/subsystems/workflow/scheduler.d.ts.map +1 -1
- package/dist/subsystems/workflow/scheduler.js +2 -1
- package/dist/subsystems/workflow/scheduler.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/runtime/engine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/runtime/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/engine.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import Fastify from 'fastify';
|
|
2
2
|
import cors from '@fastify/cors';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
|
-
import {
|
|
4
|
+
import { createHash } from 'node:crypto';
|
|
5
|
+
import { DEFAULT_LOCALE, NOOP_AUDIT_SINK, ObjectRegistry, SchemaError, SUPPORTED_LOCALES, AUDIT_MODES, createPool, createSlidingWindow, } from '../core/index.js';
|
|
5
6
|
import { createDataAccess, withRbac } from './data-access/index.js';
|
|
6
7
|
import { createToolExecutor, loadToolsDir } from './tools/index.js';
|
|
7
8
|
import { createApprovals } from './tools/index.js';
|
|
@@ -16,6 +17,7 @@ import { registerOpsRoutes } from '../adapters/ops/index.js';
|
|
|
16
17
|
import { registerMcp } from '../adapters/mcp/index.js';
|
|
17
18
|
import { registerGraphQL } from '../adapters/graphql/index.js';
|
|
18
19
|
import { createAlerts } from '../infrastructure/index.js';
|
|
20
|
+
import { resolveQueryBudget } from './data-access/index.js';
|
|
19
21
|
import { version } from '../version.js';
|
|
20
22
|
export function resolveLocale(configLocale) {
|
|
21
23
|
const resolved = configLocale ?? process.env.WEAVEKIT_LOCALE ?? DEFAULT_LOCALE;
|
|
@@ -87,17 +89,11 @@ export async function buildEngineFromRegistry(registry, config) {
|
|
|
87
89
|
}
|
|
88
90
|
let audit;
|
|
89
91
|
let bufferedSink;
|
|
92
|
+
let outboxRelay;
|
|
90
93
|
let auditSink = NOOP_AUDIT_SINK;
|
|
91
|
-
if (subsystems.audit?.enabled) {
|
|
92
|
-
const { createAudit, createBufferedAuditSink } = await import('../subsystems/audit/index.js');
|
|
93
|
-
audit = await createAudit(pool);
|
|
94
|
-
bufferedSink = createBufferedAuditSink(audit, subsystems.audit.batch);
|
|
95
|
-
auditSink = bufferedSink;
|
|
96
|
-
}
|
|
97
94
|
// live channel: the event bus is created only when adapters.events is
|
|
98
|
-
// enabled (absent = not imported = zero overhead).
|
|
99
|
-
//
|
|
100
|
-
// (audit.event dual-emit). schema.changed is exposed via `engine.events`.
|
|
95
|
+
// enabled (absent = not imported = zero overhead). The audit sink streams to
|
|
96
|
+
// it (best-effort/transactional at write time; durable from the relay).
|
|
101
97
|
const eventsCfg = config.adapters?.events;
|
|
102
98
|
let eventBus;
|
|
103
99
|
let eventPublisher;
|
|
@@ -105,9 +101,27 @@ export async function buildEngineFromRegistry(registry, config) {
|
|
|
105
101
|
const { createEventBus, publisherOf } = await import('../infrastructure/event/index.js');
|
|
106
102
|
eventBus = createEventBus({ maxEvents: eventsCfg.replay?.maxEvents });
|
|
107
103
|
eventPublisher = publisherOf(eventBus);
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
104
|
+
}
|
|
105
|
+
if (subsystems.audit?.enabled) {
|
|
106
|
+
const mode = subsystems.audit.mode ?? AUDIT_MODES.BEST_EFFORT;
|
|
107
|
+
const auditMod = await import('../subsystems/audit/index.js');
|
|
108
|
+
audit = await auditMod.createAudit(pool);
|
|
109
|
+
if (mode === AUDIT_MODES.TRANSACTIONAL) {
|
|
110
|
+
auditSink = auditMod.createTransactionalAuditSink(audit);
|
|
111
|
+
}
|
|
112
|
+
else if (mode === AUDIT_MODES.DURABLE) {
|
|
113
|
+
auditSink = auditMod.createOutboxAuditSink(pool);
|
|
114
|
+
outboxRelay = auditMod.startAuditOutboxRelay({
|
|
115
|
+
pool,
|
|
116
|
+
publish: eventPublisher === undefined ? undefined : (event) => eventPublisher.publishAudit(event),
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
bufferedSink = auditMod.createBufferedAuditSink(audit, subsystems.audit.batch);
|
|
121
|
+
auditSink = bufferedSink;
|
|
122
|
+
}
|
|
123
|
+
if (eventPublisher !== undefined && mode !== AUDIT_MODES.DURABLE) {
|
|
124
|
+
// dual-emit to live subscribers (durable publishes from the relay instead)
|
|
111
125
|
const inner = auditSink;
|
|
112
126
|
auditSink = {
|
|
113
127
|
record(event) {
|
|
@@ -121,6 +135,7 @@ export async function buildEngineFromRegistry(registry, config) {
|
|
|
121
135
|
return inner.recordBatch(events);
|
|
122
136
|
return Promise.all(events.map((e) => inner.record(e))).then(() => { });
|
|
123
137
|
},
|
|
138
|
+
...(inner.recordInTx === undefined ? {} : { recordInTx: inner.recordInTx }),
|
|
124
139
|
};
|
|
125
140
|
}
|
|
126
141
|
}
|
|
@@ -164,7 +179,8 @@ export async function buildEngineFromRegistry(registry, config) {
|
|
|
164
179
|
cancel: (object, id) => workflowScheduler?.cancel(object, id) ?? Promise.resolve(),
|
|
165
180
|
};
|
|
166
181
|
const replay = subsystems.audit?.replay === true;
|
|
167
|
-
const
|
|
182
|
+
const budget = resolveQueryBudget(config.queryBudget);
|
|
183
|
+
const baseDataAccess = createDataAccess({ audit: auditSink, replay, events: eventPublisher, policies, approvals, workflowTimers, budget });
|
|
168
184
|
let script;
|
|
169
185
|
let dataAccess;
|
|
170
186
|
if (subsystems.script?.enabled) {
|
|
@@ -177,9 +193,10 @@ export async function buildEngineFromRegistry(registry, config) {
|
|
|
177
193
|
dataAccess: rbacDataAccess,
|
|
178
194
|
services: subsystems.script.services,
|
|
179
195
|
config: subsystems.script,
|
|
196
|
+
budget,
|
|
180
197
|
locale,
|
|
181
198
|
});
|
|
182
|
-
dataAccess = withRbac(createDataAccess({ audit: auditSink, script, replay, events: eventPublisher, policies, approvals, workflowTimers }), { audit: auditSink });
|
|
199
|
+
dataAccess = withRbac(createDataAccess({ audit: auditSink, script, replay, events: eventPublisher, policies, approvals, workflowTimers, budget }), { audit: auditSink });
|
|
183
200
|
}
|
|
184
201
|
else {
|
|
185
202
|
dataAccess = withRbac(baseDataAccess, { audit: auditSink });
|
|
@@ -381,6 +398,17 @@ export async function buildEngineFromRegistry(registry, config) {
|
|
|
381
398
|
// customer-provided IdentityResolver).
|
|
382
399
|
let mcp;
|
|
383
400
|
if (mcpCfg?.enabled ?? true) {
|
|
401
|
+
// schema signature: folded into the MCP compiled-surface cache key so a
|
|
402
|
+
// schema change (a reload swapping the registry) invalidates the cache
|
|
403
|
+
const schemaRevision = createHash('sha256')
|
|
404
|
+
.update(JSON.stringify([...registry.list()]
|
|
405
|
+
.map((d) => ({
|
|
406
|
+
n: d.name,
|
|
407
|
+
f: d.fields.map((x) => x.name),
|
|
408
|
+
p: d.permissions ?? null,
|
|
409
|
+
}))
|
|
410
|
+
.sort((a, b) => (a.n < b.n ? -1 : a.n > b.n ? 1 : 0))))
|
|
411
|
+
.digest('hex');
|
|
384
412
|
mcp = registerMcp(app, {
|
|
385
413
|
engine: { registry, pool, dataAccess, locale },
|
|
386
414
|
authenticator,
|
|
@@ -391,6 +419,7 @@ export async function buildEngineFromRegistry(registry, config) {
|
|
|
391
419
|
tools,
|
|
392
420
|
directory: identityDirectory,
|
|
393
421
|
corsOrigin: config.adapters?.rest?.cors?.origin,
|
|
422
|
+
schemaRevision,
|
|
394
423
|
});
|
|
395
424
|
}
|
|
396
425
|
// GraphQL adapter (adapters.graphql): disabled unless explicitly enabled. It
|
|
@@ -401,7 +430,9 @@ export async function buildEngineFromRegistry(registry, config) {
|
|
|
401
430
|
graphqlHandle = registerGraphQL(app, {
|
|
402
431
|
engine: { registry, pool, dataAccess, locale },
|
|
403
432
|
authenticator,
|
|
404
|
-
graphql: graphqlCfg
|
|
433
|
+
graphql: graphqlCfg.security?.maxDepth === undefined
|
|
434
|
+
? { ...graphqlCfg, security: { ...graphqlCfg.security, maxDepth: budget.maxDepth } }
|
|
435
|
+
: graphqlCfg,
|
|
405
436
|
locale,
|
|
406
437
|
});
|
|
407
438
|
}
|
|
@@ -459,6 +490,7 @@ export async function buildEngineFromRegistry(registry, config) {
|
|
|
459
490
|
await graphqlHandle?.close().catch((error) => warn('graphql', error));
|
|
460
491
|
await workflowScheduler?.close().catch((error) => warn('workflow', error));
|
|
461
492
|
await script?.close().catch((error) => warn('script', error));
|
|
493
|
+
await outboxRelay?.close().catch((error) => warn('audit outbox', error));
|
|
462
494
|
await bufferedSink?.flush().catch((error) => warn('audit flush', error));
|
|
463
495
|
await audit?.close().catch((error) => warn('audit', error));
|
|
464
496
|
eventBus?.close();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/runtime/engine.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,IAAI,MAAM,eAAe,CAAC;AAEjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,mBAAmB,GAcpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEpE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAuB,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,qBAAqB,EAA0D,MAAM,2BAA2B,CAAC;AAG5K,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,aAAa,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAClI,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,4BAA4B,EAC5B,gBAAgB,GAEjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAA8C,MAAM,0BAA0B,CAAC;AACnG,OAAO,EAAE,eAAe,EAAsD,MAAM,8BAA8B,CAAC;AACnH,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAoRxC,MAAM,UAAU,aAAa,CAAC,YAAgC;IAC5D,MAAM,QAAQ,GAAG,YAAY,IAAK,OAAO,CAAC,GAAG,CAAC,eAAsC,IAAI,cAAc,CAAC;IACvG,MAAM,SAAS,GAAG,IAAI,GAAG,CAAS,iBAAiB,CAAC,CAAC;IACrD,OAAO,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC;AAC7D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAAC,MAAoB;IAClE,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC5D,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,UAAU,CAAC;IAChD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC;IAC5D,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,GAAG,CAAC;IAC7D,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,IAAU,EACV,MAAoB,EACpB,MAAc;IAEd,IAAI,CAAC,+BAA+B,CAAC,MAAM,CAAC;QAAE,OAAO;IACrD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAC/B,2GAA2G,CAC5G,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,GAAG,EAAE,UAAU,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,WAAW,CAAC,kCAAkC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,QAAwB,EACxB,MAAoB;IAEpB,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACnE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,WAAW,CAAC,4BAA4B,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;QACjF,MAAM,IAAI,WAAW,CAAC,oBAAoB,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,8BAA8B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,KAAK,CAAC;IACd,CAAC;IAED,0EAA0E;IAC1E,IAAI,MAAgC,CAAC;IACrC,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;QAC9E,MAAM,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,kGAAkG;IAClG,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IAC3C,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAClD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,UAAU,CAC3D,CAAC;IACF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,8BAA8B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,KAA8B,CAAC;IACnC,IAAI,YAAkE,CAAC;IACvE,IAAI,SAAS,GAAc,eAAe,CAAC;IAC3C,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;QAC9B,MAAM,EAAE,WAAW,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,8BAA8B,CAAC,CAAC;QAC9F,KAAK,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QAChC,YAAY,GAAG,uBAAuB,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtE,SAAS,GAAG,YAAY,CAAC;IAC3B,CAAC;IAED,sEAAsE;IACtE,6EAA6E;IAC7E,qEAAqE;IACrE,0EAA0E;IAC1E,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1C,IAAI,QAA8B,CAAC;IACnC,IAAI,cAA0C,CAAC;IAC/C,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC;QACvB,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;QACzF,QAAQ,GAAG,cAAc,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACtE,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;YAClC,iEAAiE;YACjE,4DAA4D;YAC5D,MAAM,KAAK,GAAG,SAAS,CAAC;YACxB,SAAS,GAAG;gBACV,MAAM,CAAC,KAAK;oBACV,cAAe,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpC,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC7B,CAAC;gBACD,WAAW,CAAC,MAAM;oBAChB,KAAK,MAAM,KAAK,IAAI,MAAM;wBAAE,cAAe,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBAChE,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;wBAAE,OAAO,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;oBACtE,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACxE,CAAC;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,6EAA6E;IAC7E,uEAAuE;IACvE,IAAI,QAAQ,GAAsB,EAAE,CAAC;IACrC,IAAI,SAAqC,CAAC;IAC1C,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC;QAC7F,4EAA4E;QAC5E,0EAA0E;QAC1E,+CAA+C;QAC/C,MAAM,cAAc,GAClB,MAAM,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS;YACpC,MAAM,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS;YACnC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QACtB,IAAI,cAAc,EAAE,CAAC;YACnB,0EAA0E;YAC1E,2EAA2E;YAC3E,0EAA0E;YAC1E,wBAAwB;YACxB,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACjD,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;gBACpF,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC;gBACnD,SAAS,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,6EAA6E;IAC7E,2EAA2E;IAC3E,4EAA4E;IAC5E,0EAA0E;IAC1E,uEAAuE;IACvE,IAAI,iBAAqD,CAAC;IAC1D,MAAM,cAAc,GAAsB;QACxC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE;QAC5F,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE;KACnF,CAAC;IACF,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,MAAM,cAAc,GAAG,gBAAgB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;IAEnI,IAAI,MAAoC,CAAC;IACzC,IAAI,UAA4B,CAAC;IACjC,IAAI,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;QAC/B,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;QACjF,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACtE,MAAM,GAAG,MAAM,sBAAsB,CAAC;YACpC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,GAAG,EAAE,SAAS,CAAC;YACpD,QAAQ;YACR,IAAI;YACJ,UAAU,EAAE,cAAc;YAC1B,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ;YACpC,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,MAAM;SACP,CAAC,CAAC;QACH,UAAU,GAAG,QAAQ,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACnK,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,QAAQ,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC;IACpC,6EAA6E;IAC7E,MAAM,aAAa,GAAG,WAAW,EAAE,KAAK,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;IACtE,MAAM,iBAAiB,GAAG,IAAI,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACjE,IAAI,WAAW,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5E,MAAM,MAAM,GAAG,qBAAqB,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/D,MAAM,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,iBAAiB,EAAE,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC1G,CAAC;IACD,IAAI,aAAa,GACf,WAAW,EAAE,QAAQ,KAAK,SAAS;QACjC,CAAC,CAAC,4BAA4B,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC;QACxG,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IACxD,IAAI,WAAW,EAAE,QAAQ,KAAK,IAAI,EAAE,CAAC;QACnC,aAAa,GAAG,qBAAqB,CAAC,aAAa,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAClF,CAAC;IAED,sEAAsE;IACtE,+EAA+E;IAC/E,oFAAoF;IACpF,yEAAyE;IACzE,IAAI,KAAqE,CAAC;IAC1E,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACxD,KAAK,GAAG;YACN,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;YACrC,QAAQ,EAAE,kBAAkB,CAAC;gBAC3B,UAAU;gBACV,IAAI;gBACJ,QAAQ;gBACR,UAAU,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;gBAC1C,KAAK,EAAE,SAAS;gBAChB,QAAQ;gBACR,MAAM;gBACN,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;aAClD,CAAC;SACH,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,IAAI,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;QACjC,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;QACpF,iBAAiB,GAAG,MAAM,uBAAuB,CAAC;YAChD,IAAI;YACJ,QAAQ;YACR,UAAU;YACV,MAAM;YACN,MAAM,EAAE,UAAU,CAAC,QAAQ;YAC3B,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC;IACnC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC;IACpC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC5C,IAAI,WAAqF,CAAC;IAC1F,MAAM,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,kBAAyF,IAAI,MAAM,CAAC;IAClI,6EAA6E;IAC7E,8EAA8E;IAC9E,yEAAyE;IACzE,kCAAkC;IAClC,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,SAAS,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3H,IAAI,IAAI,EAAE,OAAO,IAAI,IAAI,EAAE,CAAC;QAC1B,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC9B,MAAM,WAAW,GAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC1D,IAAI,IAAI,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;YAClC,WAAW,CAAC,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,CAAC;QACD,WAAW,CAAC,UAAU,GAAG,IAAI,EAAE,UAAU,CAAC;QAC1C,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,wEAAwE;YACxE,0EAA0E;YAC1E,4EAA4E;YAC5E,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;gBACvB,GAAG,IAAI,CAAC,IAAI;gBACZ,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC;aAC3F,CAAC,CAAC;QACL,CAAC;QACD,oBAAoB,CAClB,GAAG,EACH;YACE,QAAQ;YACR,IAAI;YACJ,UAAU;YACV,aAAa;YACb,MAAM;YACN,KAAK;SACN,EACD,WAAW,CACZ,CAAC;QACF,oBAAoB,CAClB,GAAG,EACH;YACE,QAAQ;YACR,aAAa;YACb,MAAM;YACN,UAAU,EAAE,MAAM,CAAC,SAAS;YAC5B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;SACxC,EACD,WAAW,CACZ,CAAC;QACF,mBAAmB,CACjB,GAAG,EACH;YACE,QAAQ;YACR,aAAa;YACb,MAAM;YACN,UAAU,EAAE,MAAM,CAAC,SAAS;YAC5B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;SACxC,EACD,WAAW,CACZ,CAAC;QACF,oBAAoB,CAClB,GAAG,EACH;YACE,QAAQ;YACR,aAAa;YACb,MAAM;YACN,UAAU,EAAE,MAAM,CAAC,SAAS;YAC5B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;SACxC,EACD,WAAW,CACZ,CAAC;QACF,mEAAmE;QACnE,0DAA0D;QAC1D,MAAM,kBAAkB,GAAG,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC;QAC9D,wBAAwB,CACtB,GAAG,EACH;YACE,aAAa;YACb,MAAM;YACN,UAAU,EAAE,MAAM,CAAC,SAAS;YAC5B,WAAW,EAAE,OAAO,kBAAkB,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;YACpF,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ;SACxC,EACD,WAAW,CACZ,CAAC;QACF,yEAAyE;QACzE,mEAAmE;QACnE,wBAAwB,CACtB,GAAG,EACH;YACE,aAAa;YACb,MAAM;YACN,UAAU,EAAE,OAAO,MAAM,EAAE,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAE,MAAM,CAAC,UAA8C,CAAC,CAAC,CAAC,SAAS;SACxH,EACD,WAAW,CACZ,CAAC;QACF,6EAA6E;QAC7E,2BAA2B,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,aAAa,CAAC,aAAa,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAClH,uFAAuF;QACvF,sBAAsB,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC;QAChG,yBAAyB,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC;QACnG,mBAAmB,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,WAAW,CAAC,CAAC;QACpG,uEAAuE;QACvE,wEAAwE;QACxE,uBAAuB,CACrB,GAAG,EACH,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,EAChE,WAAW,CACZ,CAAC;QACF,yFAAyF;QACzF,sBAAsB,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC;QAChG,0FAA0F;QAC1F,4BAA4B,CAC1B,GAAG,EACH,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,EAC1G,WAAW,CACZ,CAAC;QAEF,2EAA2E;QAC3E,4EAA4E;QAC5E,0EAA0E;QAC1E,wEAAwE;QACxE,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAClE,4EAA4E;YAC5E,8EAA8E;YAC9E,qFAAqF;YACrF,MAAM,SAAS,GACb,OAAO,MAAM,CAAC,KAAK,CAAC,SAAS,KAAK,UAAU;gBAC1C,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;gBAC/E,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS;oBACtB,oBAAoB,CAAC;wBACnB,MAAM;wBACN,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACvF,CAAC,CAAC;YACT,MAAM,QAAQ,GACZ,OAAO,MAAM,CAAC,KAAK,CAAC,QAAQ,KAAK,UAAU;gBACzC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;gBAC9E,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC5B,mBAAmB,CACjB,GAAG,EACH;gBACE,aAAa;gBACb,MAAM;gBACN,QAAQ;gBACR,SAAS;gBACT,KAAK,EAAE,SAAS;aACjB,EACD,WAAW,CACZ,CAAC;YACF,WAAW,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QACxC,CAAC;QAED,wEAAwE;QACxE,2EAA2E;QAC3E,6EAA6E;QAC7E,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,qBAAqB,CACnB,GAAG,EACH;gBACE,KAAK,EAAE,SAAS;gBAChB,MAAM;gBACN,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS;oBACxC,CAAC,CAAC,EAAE,WAAW,EAAE,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;oBAChE,CAAC,CAAC,EAAE,CAAC;aACR,EACD,MAAM,CAAC,OAAO,CACf,CAAC;QACJ,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,IAAI,QAAQ,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QAC3D,oBAAoB,CAClB,GAAG,EACH;YACE,QAAQ;YACR,aAAa;YACb,MAAM;YACN,GAAG,EAAE,QAAQ;YACb,UAAU,EAAE,SAAS,EAAE,UAAU;SAClC,EACD;YACE,MAAM,EAAE,SAAS,EAAE,MAAM;YACzB,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW;YAC3C,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM;SAChD,CACF,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,gEAAgE;IAChE,iBAAiB,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAE1C,4EAA4E;IAC5E,0EAA0E;IAC1E,wEAAwE;IACxE,uCAAuC;IACvC,IAAI,GAAgC,CAAC;IACrC,IAAI,MAAM,EAAE,OAAO,IAAI,IAAI,EAAE,CAAC;QAC5B,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE;YACrB,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE;YAC9C,aAAa;YACb,GAAG,EAAE,MAAM;YACX,MAAM;YACN,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC;YAChD,KAAK;YACL,SAAS,EAAE,iBAAiB;YAC5B,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM;SAChD,CAAC,CAAC;IACL,CAAC;IAED,6EAA6E;IAC7E,6EAA6E;IAC7E,yEAAyE;IACzE,IAAI,aAA8C,CAAC;IACnD,IAAI,UAAU,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;QACjC,aAAa,GAAG,eAAe,CAAC,GAAG,EAAE;YACnC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE;YAC9C,aAAa;YACb,OAAO,EAAE,UAAU;YACnB,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,0EAA0E;IAC1E,8EAA8E;IAC9E,sBAAsB;IACtB,MAAM,YAAY,GAA+B,EAAE,CAAC;IAEpD,MAAM,MAAM,GAAmB;QAC7B,GAAG;QACH,QAAQ;QACR,IAAI;QACJ,UAAU;QACV,aAAa;QACb,GAAG;QACH,OAAO,EAAE,aAAa;QACtB,KAAK;QACL,MAAM,EAAE,cAAc;QACtB,KAAK,EAAE,WAAW;QAClB,KAAK;QACL,MAAM;QACN,MAAM;QACN,SAAS;QACT,QAAQ,EAAE,iBAAiB;QAC3B,KAAK,CAAC,KAAK;YACT,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,KAAc,EAAQ,EAAE;gBACnD,OAAO,CAAC,KAAK,CAAC,aAAa,KAAK,iBAAiB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC7G,CAAC,CAAC;YACF,0EAA0E;YAC1E,0EAA0E;YAC1E,yEAAyE;YACzE,6CAA6C;YAC7C,cAAc,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAC7C,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YACxD,KAAK,MAAM,IAAI,IAAI,YAAY;gBAAE,MAAM,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;YAC5F,yEAAyE;YACzE,wEAAwE;YACxE,uEAAuE;YACvE,0EAA0E;YAC1E,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;gBACrE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBAC5C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC5B,GAAG,CAAC,MAAM,CAAC,mBAAmB,EAAE,EAAE,CAAC;wBACnC,OAAO,EAAE,CAAC;oBACZ,CAAC,EAAE,IAAI,CAAC,CAAC;oBACT,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;gBAClB,CAAC,CAAC,CAAC;gBACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACxB,CAAC;YACD,MAAM,GAAG,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YACxD,MAAM,aAAa,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YACtE,MAAM,iBAAiB,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;YAC3E,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;YAC9D,MAAM,YAAY,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC;YACzE,MAAM,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YAC5D,QAAQ,EAAE,KAAK,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QACzD,CAAC;KACF,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3C,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yEAAyE;YACzE,MAAM,OAAO,CAAC,GAAG,CACf,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAClC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,iCAAiC,OAAO,CAAC,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CACpI,CACF,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/runtime/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/execution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EACV,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,cAAc,GACf,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/execution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { type Evidence, type EvidenceSink, type ExecutionOutcome, type ExecutionPlan, type IdentitySubject, type Locale, type ToolActor } from '../../core/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Protocol-agnostic execution orchestrator (W2.2). Runs one execution through
|
|
4
|
+
* the Plan → Validate → Authorize → Guardrail → Approval → Execute → Commit →
|
|
5
|
+
* Evidence stages, records every stage outcome, and emits one {@link Evidence}.
|
|
6
|
+
*
|
|
7
|
+
* The gate (`gate`) reuses the existing guardrail + approval lifecycle
|
|
8
|
+
* (`runtime/tools/policies.ts` `evaluateCall`); `execute` owns its own
|
|
9
|
+
* transaction (data-access / tool). Deny/pending short-circuit `execute`.
|
|
10
|
+
*/
|
|
11
|
+
/** per-call context carried through the pipeline (also embedded in Evidence) */
|
|
12
|
+
export interface PipelineContext {
|
|
13
|
+
actor: ToolActor;
|
|
14
|
+
subject: IdentitySubject;
|
|
15
|
+
requestId?: string;
|
|
16
|
+
traceId?: string;
|
|
17
|
+
schemaRevision?: string;
|
|
18
|
+
locale?: Locale;
|
|
19
|
+
}
|
|
20
|
+
/** allow / deny / pending decision from the guardrail+approval gate */
|
|
21
|
+
export type PipelineGate = {
|
|
22
|
+
kind: 'allow';
|
|
23
|
+
mask?: Record<string, string>;
|
|
24
|
+
} | {
|
|
25
|
+
kind: 'deny';
|
|
26
|
+
reason: string;
|
|
27
|
+
errorCode: string;
|
|
28
|
+
} | {
|
|
29
|
+
kind: 'pending';
|
|
30
|
+
approvalKey: string;
|
|
31
|
+
};
|
|
32
|
+
export interface PipelineDeps {
|
|
33
|
+
/** pre-execution validation; throws on invalid input (`tool.args.invalid`) */
|
|
34
|
+
validate?: (plan: ExecutionPlan, ctx: PipelineContext) => Promise<void>;
|
|
35
|
+
/** RBAC-style authorization (optional; data-access also enforces); throws to deny */
|
|
36
|
+
authorize?: (plan: ExecutionPlan, ctx: PipelineContext) => Promise<void>;
|
|
37
|
+
/** guardrail + approval gate; absent = allow */
|
|
38
|
+
gate?: (plan: ExecutionPlan, ctx: PipelineContext) => Promise<PipelineGate>;
|
|
39
|
+
/** the actual work; owns its transaction/commit */
|
|
40
|
+
execute: (plan: ExecutionPlan, ctx: PipelineContext) => Promise<unknown>;
|
|
41
|
+
/** evidence sink (absent = zero overhead) */
|
|
42
|
+
evidence?: EvidenceSink;
|
|
43
|
+
}
|
|
44
|
+
export interface PipelineResult {
|
|
45
|
+
outcome: ExecutionOutcome;
|
|
46
|
+
result?: unknown;
|
|
47
|
+
reason?: string;
|
|
48
|
+
errorCode?: string;
|
|
49
|
+
approvalKey?: string;
|
|
50
|
+
mask?: Record<string, string>;
|
|
51
|
+
error?: unknown;
|
|
52
|
+
evidence: Evidence;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Run one execution through the pipeline. `execute` errors are captured
|
|
56
|
+
* (outcome `error`, original error in `result.error`) and **not rethrown**, so
|
|
57
|
+
* the caller maps every outcome uniformly to its protocol envelope.
|
|
58
|
+
*/
|
|
59
|
+
export declare function runPipeline(plan: ExecutionPlan, ctx: PipelineContext, deps: PipelineDeps): Promise<PipelineResult>;
|
|
60
|
+
//# sourceMappingURL=pipeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../src/runtime/execution/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAElB,KAAK,eAAe,EACpB,KAAK,MAAM,EACX,KAAK,SAAS,EACf,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;GAQG;AAEH,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,eAAe,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,uEAAuE;AACvE,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC3B,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,qFAAqF;IACrF,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,gDAAgD;IAChD,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5E,mDAAmD;IACnD,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACzE,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAMD;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,cAAc,CAAC,CAoIzB"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { EXECUTION_OUTCOMES, EXECUTION_STAGES, SchemaError, } from '../../core/index.js';
|
|
2
|
+
function policyErrorCode(error) {
|
|
3
|
+
return error instanceof SchemaError ? error.code : undefined;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Run one execution through the pipeline. `execute` errors are captured
|
|
7
|
+
* (outcome `error`, original error in `result.error`) and **not rethrown**, so
|
|
8
|
+
* the caller maps every outcome uniformly to its protocol envelope.
|
|
9
|
+
*/
|
|
10
|
+
export async function runPipeline(plan, ctx, deps) {
|
|
11
|
+
const stages = [];
|
|
12
|
+
const push = (stage, outcome, detail) => {
|
|
13
|
+
stages.push(detail === undefined ? { stage, outcome, at: new Date() } : { stage, outcome, detail, at: new Date() });
|
|
14
|
+
};
|
|
15
|
+
const buildEvidence = (outcome, extra = {}) => ({
|
|
16
|
+
...(ctx.requestId === undefined ? {} : { requestId: ctx.requestId }),
|
|
17
|
+
...(ctx.traceId === undefined ? {} : { traceId: ctx.traceId }),
|
|
18
|
+
...(ctx.schemaRevision === undefined ? {} : { schemaRevision: ctx.schemaRevision }),
|
|
19
|
+
actor: ctx.actor,
|
|
20
|
+
subjectId: ctx.subject.id,
|
|
21
|
+
plan,
|
|
22
|
+
stages,
|
|
23
|
+
...(extra.approvalKey === undefined ? {} : { approvalKey: extra.approvalKey }),
|
|
24
|
+
isError: outcome !== EXECUTION_OUTCOMES.OK,
|
|
25
|
+
...(extra.errorCode === undefined ? {} : { errorCode: extra.errorCode }),
|
|
26
|
+
timestamp: new Date(),
|
|
27
|
+
});
|
|
28
|
+
const finish = async (result) => {
|
|
29
|
+
push(EXECUTION_STAGES.EVIDENCE, result.outcome);
|
|
30
|
+
result.evidence.stages = stages;
|
|
31
|
+
if (deps.evidence !== undefined) {
|
|
32
|
+
try {
|
|
33
|
+
await deps.evidence.record(result.evidence);
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
// evidence is best-effort: never break the execution
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return result;
|
|
40
|
+
};
|
|
41
|
+
push(EXECUTION_STAGES.PLAN, EXECUTION_OUTCOMES.OK);
|
|
42
|
+
if (deps.validate !== undefined) {
|
|
43
|
+
try {
|
|
44
|
+
await deps.validate(plan, ctx);
|
|
45
|
+
push(EXECUTION_STAGES.VALIDATE, EXECUTION_OUTCOMES.OK);
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
push(EXECUTION_STAGES.VALIDATE, EXECUTION_OUTCOMES.DENY);
|
|
49
|
+
const errorCode = policyErrorCode(error);
|
|
50
|
+
return finish({
|
|
51
|
+
outcome: EXECUTION_OUTCOMES.DENY,
|
|
52
|
+
reason: error instanceof Error ? error.message : String(error),
|
|
53
|
+
...(errorCode === undefined ? {} : { errorCode }),
|
|
54
|
+
error,
|
|
55
|
+
evidence: buildEvidence(EXECUTION_OUTCOMES.DENY, errorCode === undefined ? {} : { errorCode }),
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (deps.authorize !== undefined) {
|
|
60
|
+
try {
|
|
61
|
+
await deps.authorize(plan, ctx);
|
|
62
|
+
push(EXECUTION_STAGES.AUTHORIZE, EXECUTION_OUTCOMES.OK);
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
push(EXECUTION_STAGES.AUTHORIZE, EXECUTION_OUTCOMES.DENY);
|
|
66
|
+
const errorCode = policyErrorCode(error);
|
|
67
|
+
return finish({
|
|
68
|
+
outcome: EXECUTION_OUTCOMES.DENY,
|
|
69
|
+
reason: error instanceof Error ? error.message : String(error),
|
|
70
|
+
...(errorCode === undefined ? {} : { errorCode }),
|
|
71
|
+
error,
|
|
72
|
+
evidence: buildEvidence(EXECUTION_OUTCOMES.DENY, errorCode === undefined ? {} : { errorCode }),
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
let mask;
|
|
77
|
+
if (deps.gate !== undefined) {
|
|
78
|
+
let gate;
|
|
79
|
+
try {
|
|
80
|
+
gate = await deps.gate(plan, ctx);
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
// fail-closed: a throwing gate denies
|
|
84
|
+
push(EXECUTION_STAGES.GUARDRAIL, EXECUTION_OUTCOMES.DENY);
|
|
85
|
+
return finish({
|
|
86
|
+
outcome: EXECUTION_OUTCOMES.DENY,
|
|
87
|
+
reason: error instanceof Error ? error.message : String(error),
|
|
88
|
+
errorCode: 'mcp.policy.denied',
|
|
89
|
+
error,
|
|
90
|
+
evidence: buildEvidence(EXECUTION_OUTCOMES.DENY, { errorCode: 'mcp.policy.denied' }),
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
if (gate.kind === 'deny') {
|
|
94
|
+
push(EXECUTION_STAGES.GUARDRAIL, EXECUTION_OUTCOMES.DENY, gate.reason);
|
|
95
|
+
return finish({
|
|
96
|
+
outcome: EXECUTION_OUTCOMES.DENY,
|
|
97
|
+
reason: gate.reason,
|
|
98
|
+
errorCode: gate.errorCode,
|
|
99
|
+
evidence: buildEvidence(EXECUTION_OUTCOMES.DENY, { errorCode: gate.errorCode }),
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
if (gate.kind === 'pending') {
|
|
103
|
+
push(EXECUTION_STAGES.GUARDRAIL, EXECUTION_OUTCOMES.OK);
|
|
104
|
+
push(EXECUTION_STAGES.APPROVAL, EXECUTION_OUTCOMES.PENDING, gate.approvalKey);
|
|
105
|
+
return finish({
|
|
106
|
+
outcome: EXECUTION_OUTCOMES.PENDING,
|
|
107
|
+
approvalKey: gate.approvalKey,
|
|
108
|
+
errorCode: 'mcp.approval.pending',
|
|
109
|
+
evidence: buildEvidence(EXECUTION_OUTCOMES.PENDING, { approvalKey: gate.approvalKey }),
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
mask = gate.mask;
|
|
113
|
+
push(EXECUTION_STAGES.GUARDRAIL, EXECUTION_OUTCOMES.OK);
|
|
114
|
+
push(EXECUTION_STAGES.APPROVAL, EXECUTION_OUTCOMES.OK);
|
|
115
|
+
}
|
|
116
|
+
try {
|
|
117
|
+
const result = await deps.execute(plan, ctx);
|
|
118
|
+
push(EXECUTION_STAGES.EXECUTE, EXECUTION_OUTCOMES.OK);
|
|
119
|
+
push(EXECUTION_STAGES.COMMIT, EXECUTION_OUTCOMES.OK);
|
|
120
|
+
return finish({
|
|
121
|
+
outcome: EXECUTION_OUTCOMES.OK,
|
|
122
|
+
result,
|
|
123
|
+
...(mask === undefined ? {} : { mask }),
|
|
124
|
+
evidence: buildEvidence(EXECUTION_OUTCOMES.OK),
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
push(EXECUTION_STAGES.EXECUTE, EXECUTION_OUTCOMES.ERROR);
|
|
129
|
+
const errorCode = policyErrorCode(error);
|
|
130
|
+
return finish({
|
|
131
|
+
outcome: EXECUTION_OUTCOMES.ERROR,
|
|
132
|
+
error,
|
|
133
|
+
...(errorCode === undefined ? {} : { errorCode }),
|
|
134
|
+
evidence: buildEvidence(EXECUTION_OUTCOMES.ERROR, errorCode === undefined ? {} : { errorCode }),
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=pipeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/runtime/execution/pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,10 @@ export interface SyncSchemaOptions {
|
|
|
16
16
|
allowedFieldTypes?: readonly string[];
|
|
17
17
|
/** effective field-type registry (built-ins + user registrations) */
|
|
18
18
|
fieldTypes?: FieldTypeRegistry;
|
|
19
|
+
/** source git commit recorded on the schema revision (best-effort) */
|
|
20
|
+
sourceCommit?: string;
|
|
21
|
+
/** actor label recorded on the schema revision (best-effort) */
|
|
22
|
+
actor?: string;
|
|
19
23
|
}
|
|
20
24
|
export interface SyncResult {
|
|
21
25
|
registry: ObjectRegistry;
|
|
@@ -25,11 +29,22 @@ export interface SyncResult {
|
|
|
25
29
|
updated: string[];
|
|
26
30
|
removed: string[];
|
|
27
31
|
};
|
|
32
|
+
/** deterministic aggregate hash over the loaded schema files */
|
|
33
|
+
schemaHash: string;
|
|
34
|
+
/** schema revision row written in the same transaction (absent on dryRun) */
|
|
35
|
+
revision?: {
|
|
36
|
+
revision: number;
|
|
37
|
+
created: boolean;
|
|
38
|
+
};
|
|
28
39
|
}
|
|
29
40
|
/**
|
|
30
|
-
* One-way Git → PG metadata sync
|
|
31
|
-
*
|
|
32
|
-
*
|
|
41
|
+
* One-way Git → PG metadata sync: read schema files → validate → migrate DDL
|
|
42
|
+
* → write the PG metadata cache **+ schema revision in the same transaction**.
|
|
43
|
+
*
|
|
44
|
+
* The DDL, `schema.applied.*` meta, workflow-definition registration, metadata
|
|
45
|
+
* cache and schema revision all commit or roll back as one unit (an advisory
|
|
46
|
+
* xact lock serializes concurrent deploys). Returns the registry built from
|
|
47
|
+
* disk so callers (e.g. createEngine) can reuse it.
|
|
33
48
|
*/
|
|
34
49
|
export declare function syncSchema(options: SyncSchemaOptions): Promise<SyncResult>;
|
|
35
50
|
//# sourceMappingURL=sync.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/runtime/git/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/runtime/git/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAwB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAOtF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8EAA8E;IAC9E,GAAG,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,qEAAqE;IACrE,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC3B,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAChD,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CACnD;AAED;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,CAsChF"}
|
package/dist/runtime/git/sync.js
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import { ObjectRegistry, SchemaError,
|
|
2
|
-
import {
|
|
1
|
+
import { ObjectRegistry, SchemaError, migrate } from '../../core/index.js';
|
|
2
|
+
import { computeSchemaHash, syncMetadataCacheOn, writeSchemaRevision, } from '../metadata/index.js';
|
|
3
3
|
import { loadSchemaDir } from './loader.js';
|
|
4
4
|
/**
|
|
5
|
-
* One-way Git → PG metadata sync
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* One-way Git → PG metadata sync: read schema files → validate → migrate DDL
|
|
6
|
+
* → write the PG metadata cache **+ schema revision in the same transaction**.
|
|
7
|
+
*
|
|
8
|
+
* The DDL, `schema.applied.*` meta, workflow-definition registration, metadata
|
|
9
|
+
* cache and schema revision all commit or roll back as one unit (an advisory
|
|
10
|
+
* xact lock serializes concurrent deploys). Returns the registry built from
|
|
11
|
+
* disk so callers (e.g. createEngine) can reuse it.
|
|
8
12
|
*/
|
|
9
13
|
export async function syncSchema(options) {
|
|
10
14
|
const url = options.databaseUrl ?? process.env.DATABASE_URL;
|
|
@@ -17,30 +21,26 @@ export async function syncSchema(options) {
|
|
|
17
21
|
fieldTypes: options.fieldTypes,
|
|
18
22
|
});
|
|
19
23
|
registry.buildGraph({ locale: options.locale });
|
|
24
|
+
const schemaHash = computeSchemaHash(files);
|
|
25
|
+
const entries = files.map((f) => ({ name: f.name, contentHash: f.contentHash, definition: f.object }));
|
|
26
|
+
let cache = { updated: [], removed: [] };
|
|
27
|
+
let revision;
|
|
20
28
|
const migration = await migrate(registry, {
|
|
21
29
|
databaseUrl: url,
|
|
22
30
|
dryRun: options.dryRun,
|
|
23
31
|
rls: options.rls,
|
|
32
|
+
onCommit: options.dryRun === true
|
|
33
|
+
? undefined
|
|
34
|
+
: async (client) => {
|
|
35
|
+
cache = await syncMetadataCacheOn(client, entries);
|
|
36
|
+
revision = await writeSchemaRevision(client, {
|
|
37
|
+
contentHash: schemaHash,
|
|
38
|
+
objects: entries.map((e) => e.name),
|
|
39
|
+
sourceCommit: options.sourceCommit,
|
|
40
|
+
actor: options.actor,
|
|
41
|
+
});
|
|
42
|
+
},
|
|
24
43
|
});
|
|
25
|
-
|
|
26
|
-
if (!options.dryRun) {
|
|
27
|
-
const pool = createPool(url);
|
|
28
|
-
try {
|
|
29
|
-
cache = await syncMetadataCache(pool, files.map((f) => ({ name: f.name, contentHash: f.contentHash, definition: f.object })));
|
|
30
|
-
}
|
|
31
|
-
catch (error) {
|
|
32
|
-
// The DDL (migrate) above is already committed and idempotent. The cache
|
|
33
|
-
// write is a separate step — on failure surface it loudly (never a
|
|
34
|
-
// silent partial sync leaving Git source of truth vs PG cache drifted);
|
|
35
|
-
// a re-run of sync converges.
|
|
36
|
-
if (error instanceof SchemaError)
|
|
37
|
-
throw error;
|
|
38
|
-
throw new Error(`metadata cache write failed after DDL applied (re-run sync to converge): ${error instanceof Error ? error.message : String(error)}`);
|
|
39
|
-
}
|
|
40
|
-
finally {
|
|
41
|
-
await pool.end();
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
return { registry, files, migration, cache };
|
|
44
|
+
return { registry, files, migration, cache, schemaHash, revision };
|
|
45
45
|
}
|
|
46
46
|
//# sourceMappingURL=sync.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/runtime/git/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/runtime/git/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAiC5C;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAA0B;IACzD,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAC5D,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,WAAW,CAAC,4BAA4B,EAAE,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE;QAC3D,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B,CAAC,CAAC;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEhD,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAEvG,IAAI,KAAK,GAA6C,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACnF,IAAI,QAA4D,CAAC;IAEjE,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE;QACxC,WAAW,EAAE,GAAG;QAChB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,QAAQ,EACN,OAAO,CAAC,MAAM,KAAK,IAAI;YACrB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACf,KAAK,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACnD,QAAQ,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE;oBAC3C,WAAW,EAAE,UAAU;oBACvB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;oBACnC,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,KAAK,EAAE,OAAO,CAAC,KAAK;iBACrB,CAAC,CAAC;YACL,CAAC;KACR,CAAC,CAAC;IAEH,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AACrE,CAAC"}
|