@aotter/mantle-runtime 0.0.11-alpha.58 → 0.0.11-alpha.60
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/README.md +5 -0
- package/dist/domain/model/HandlerContext.d.ts +7 -1
- package/dist/domain/model/HandlerContext.d.ts.map +1 -1
- package/dist/domain/port/DeferredHookDispatcher.d.ts +21 -17
- package/dist/domain/port/DeferredHookDispatcher.d.ts.map +1 -1
- package/dist/domain/port/DeferredHookDispatcher.js +17 -1
- package/dist/domain/port/DeferredHookDispatcher.js.map +1 -1
- package/dist/domain/port/EntryRepository.d.ts +6 -1
- package/dist/domain/port/EntryRepository.d.ts.map +1 -1
- package/dist/domain/port/IdGenerator.d.ts +2 -1
- package/dist/domain/port/IdGenerator.d.ts.map +1 -1
- package/dist/domain/port/IdGenerator.js.map +1 -1
- package/dist/domain/port/index.d.ts +2 -2
- package/dist/domain/port/index.d.ts.map +1 -1
- package/dist/domain/port/index.js +1 -1
- package/dist/domain/port/index.js.map +1 -1
- package/dist/domain/service/BuiltinProjector.d.ts +2 -2
- package/dist/domain/service/EntryMutationDiagnostics.d.ts +5 -0
- package/dist/domain/service/EntryMutationDiagnostics.d.ts.map +1 -0
- package/dist/domain/service/EntryMutationDiagnostics.js +42 -0
- package/dist/domain/service/EntryMutationDiagnostics.js.map +1 -0
- package/dist/domain/service/PublishKeys.d.ts +2 -2
- package/dist/domain/service/PublishKeys.d.ts.map +1 -1
- package/dist/domain/service/PublishKeys.js +5 -3
- package/dist/domain/service/PublishKeys.js.map +1 -1
- package/dist/domain/service/TriggerIndex.d.ts +0 -4
- package/dist/domain/service/TriggerIndex.d.ts.map +1 -1
- package/dist/domain/service/TriggerIndex.js +0 -6
- package/dist/domain/service/TriggerIndex.js.map +1 -1
- package/dist/domain/service/ViewSqlCompiler.d.ts +7 -6
- package/dist/domain/service/ViewSqlCompiler.d.ts.map +1 -1
- package/dist/domain/service/ViewSqlCompiler.js +31 -18
- package/dist/domain/service/ViewSqlCompiler.js.map +1 -1
- package/dist/domain/service/io/EntryDeleteGuard.d.ts +11 -0
- package/dist/domain/service/io/EntryDeleteGuard.d.ts.map +1 -0
- package/dist/domain/service/io/EntryDeleteGuard.js +20 -0
- package/dist/domain/service/io/EntryDeleteGuard.js.map +1 -0
- package/dist/domain/service/io/index.d.ts +1 -0
- package/dist/domain/service/io/index.d.ts.map +1 -1
- package/dist/domain/service/io/index.js +1 -0
- package/dist/domain/service/io/index.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/boot/canonicalMigrations.d.ts +1 -1
- package/dist/infrastructure/boot/canonicalMigrations.d.ts.map +1 -1
- package/dist/infrastructure/boot/canonicalMigrations.js +80 -19
- package/dist/infrastructure/boot/canonicalMigrations.js.map +1 -1
- package/dist/infrastructure/boot/index.d.ts +1 -1
- package/dist/infrastructure/boot/index.d.ts.map +1 -1
- package/dist/infrastructure/boot/index.js +1 -1
- package/dist/infrastructure/boot/index.js.map +1 -1
- package/dist/infrastructure/mcp/McpJsonRpcDispatcher.d.ts.map +1 -1
- package/dist/infrastructure/mcp/McpJsonRpcDispatcher.js +27 -10
- package/dist/infrastructure/mcp/McpJsonRpcDispatcher.js.map +1 -1
- package/dist/infrastructure/persistence/DatabaseEntryRepository.d.ts +3 -1
- package/dist/infrastructure/persistence/DatabaseEntryRepository.d.ts.map +1 -1
- package/dist/infrastructure/persistence/DatabaseEntryRepository.js +49 -23
- package/dist/infrastructure/persistence/DatabaseEntryRepository.js.map +1 -1
- package/dist/infrastructure/persistence/LifecycleHookingEntryRepository.d.ts +9 -46
- package/dist/infrastructure/persistence/LifecycleHookingEntryRepository.d.ts.map +1 -1
- package/dist/infrastructure/persistence/LifecycleHookingEntryRepository.js +82 -99
- package/dist/infrastructure/persistence/LifecycleHookingEntryRepository.js.map +1 -1
- package/dist/infrastructure/render/HtmlPublishOrchestrator.d.ts.map +1 -1
- package/dist/infrastructure/render/HtmlPublishOrchestrator.js +2 -0
- package/dist/infrastructure/render/HtmlPublishOrchestrator.js.map +1 -1
- package/dist/runtime.d.ts +6 -9
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +10 -11
- package/dist/runtime.js.map +1 -1
- package/dist/usecase/boot/ValidateBootUseCase.d.ts +1 -0
- package/dist/usecase/boot/ValidateBootUseCase.d.ts.map +1 -1
- package/dist/usecase/boot/ValidateBootUseCase.js +13 -1
- package/dist/usecase/boot/ValidateBootUseCase.js.map +1 -1
- package/dist/usecase/content/DeleteEntryUseCase.d.ts +3 -1
- package/dist/usecase/content/DeleteEntryUseCase.d.ts.map +1 -1
- package/dist/usecase/content/DeleteEntryUseCase.js +16 -5
- package/dist/usecase/content/DeleteEntryUseCase.js.map +1 -1
- package/dist/usecase/content/diagnostics.d.ts +1 -9
- package/dist/usecase/content/diagnostics.d.ts.map +1 -1
- package/dist/usecase/content/diagnostics.js +2 -47
- package/dist/usecase/content/diagnostics.js.map +1 -1
- package/dist/usecase/dto/content/index.d.ts +5 -5
- package/dist/usecase/dto/content/index.d.ts.map +1 -1
- package/dist/usecase/dto/lifecycle/index.d.ts +3 -2
- package/dist/usecase/dto/lifecycle/index.d.ts.map +1 -1
- package/dist/usecase/lifecycle/RunDeferredHookUseCase.d.ts +7 -15
- package/dist/usecase/lifecycle/RunDeferredHookUseCase.d.ts.map +1 -1
- package/dist/usecase/lifecycle/RunDeferredHookUseCase.js +96 -24
- package/dist/usecase/lifecycle/RunDeferredHookUseCase.js.map +1 -1
- package/dist/usecase/lifecycle/RunLifecycleHooksUseCase.d.ts +15 -26
- package/dist/usecase/lifecycle/RunLifecycleHooksUseCase.d.ts.map +1 -1
- package/dist/usecase/lifecycle/RunLifecycleHooksUseCase.js +66 -31
- package/dist/usecase/lifecycle/RunLifecycleHooksUseCase.js.map +1 -1
- package/dist/usecase/procedure/InvokeBuiltinUseCase.d.ts +4 -4
- package/dist/usecase/procedure/InvokeBuiltinUseCase.d.ts.map +1 -1
- package/dist/usecase/procedure/InvokeBuiltinUseCase.js +22 -7
- package/dist/usecase/procedure/InvokeBuiltinUseCase.js.map +1 -1
- package/dist/usecase/render/ComposeLlmsTxtUseCase.d.ts +1 -1
- package/dist/usecase/render/ComposeLlmsTxtUseCase.js +1 -1
- package/dist/usecase/view/ExecuteViewUseCase.d.ts +3 -2
- package/dist/usecase/view/ExecuteViewUseCase.d.ts.map +1 -1
- package/dist/usecase/view/ExecuteViewUseCase.js +4 -2
- package/dist/usecase/view/ExecuteViewUseCase.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunLifecycleHooksUseCase.d.ts","sourceRoot":"","sources":["../../../src/usecase/lifecycle/RunLifecycleHooksUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,iBAAiB,EAEvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAyB,MAAM,sCAAsC,CAAC;AAClG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,2BAA2B,CAAC;AAEnC
|
|
1
|
+
{"version":3,"file":"RunLifecycleHooksUseCase.d.ts","sourceRoot":"","sources":["../../../src/usecase/lifecycle/RunLifecycleHooksUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,iBAAiB,EAEvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAyB,MAAM,sCAAsC,CAAC;AAClG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,iBAAiB,GAAG,CAC9B,OAAO,EAAE,sBAAsB,KAC5B,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAEtC,MAAM,WAAW,uBAAuB;IACtC,wDAAwD;IACxD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,sDAAsD;IACtD,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;0CACsC;IACtC,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC;IAC7B,kEAAkE;IAClE,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;;;;GAKG;AACH,qBAAa,wBAAwB;IAEjC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,QAAQ,EAAE,YAAY,EACtB,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,EACxD,MAAM,EAAE,iBAAiB;IAGtC,GAAG,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC1D,OAAO,CAAC,uBAAuB;YA0BjB,MAAM;CAqCrB"}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { DiagnosticError, runtimeDiagnostic, } from "@aotter/mantle-spec";
|
|
2
|
+
/**
|
|
3
|
+
* Runs one captured lifecycle event. Inline `continue` failures are
|
|
4
|
+
* logged and swallowed so the mutation result stands. Deferred runs
|
|
5
|
+
* still execute every captured Trigger, then throw an aggregate so
|
|
6
|
+
* the delivery adapter retries the event.
|
|
7
|
+
*/
|
|
2
8
|
export class RunLifecycleHooksUseCase {
|
|
3
9
|
triggers;
|
|
4
10
|
proceduresByName;
|
|
@@ -9,18 +15,55 @@ export class RunLifecycleHooksUseCase {
|
|
|
9
15
|
this.invoke = invoke;
|
|
10
16
|
}
|
|
11
17
|
async run(request) {
|
|
12
|
-
const matching = this.
|
|
13
|
-
if (matching.length === 0)
|
|
14
|
-
return;
|
|
18
|
+
const matching = this.resolveCapturedTriggers(request);
|
|
15
19
|
const isBefore = request.hook.startsWith("before_");
|
|
20
|
+
const failures = [];
|
|
16
21
|
for (const trigger of matching) {
|
|
17
|
-
|
|
22
|
+
try {
|
|
23
|
+
await this.runOne(trigger, request, isBefore);
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
if (request.delivery === "deferred") {
|
|
27
|
+
failures.push(error);
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
if (errorPolicy(trigger, isBefore) === "abort")
|
|
31
|
+
throw error;
|
|
32
|
+
console.error("[lifecycle] hook failed; continuing", {
|
|
33
|
+
eventId: request.eventId,
|
|
34
|
+
trigger: trigger.metadata.name,
|
|
35
|
+
hook: request.hook,
|
|
36
|
+
schema: request.schema,
|
|
37
|
+
error,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
18
40
|
}
|
|
41
|
+
if (failures.length > 0) {
|
|
42
|
+
throw new AggregateError(failures, `Deferred lifecycle event '${request.eventId}' failed in ${failures.length} Trigger(s).`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
resolveCapturedTriggers(request) {
|
|
46
|
+
const available = new Map(this.triggers
|
|
47
|
+
.forHook(request.schema, request.hook)
|
|
48
|
+
.map((trigger) => [trigger.metadata.name, trigger]));
|
|
49
|
+
return request.triggerNames.map((name) => {
|
|
50
|
+
const trigger = available.get(name);
|
|
51
|
+
if (!trigger) {
|
|
52
|
+
throw new DiagnosticError(runtimeDiagnostic({
|
|
53
|
+
code: "INPUT_VALIDATION_FAILED",
|
|
54
|
+
severity: "error",
|
|
55
|
+
path: `lifecycle:event/${request.eventId}/triggerNames`,
|
|
56
|
+
value: name,
|
|
57
|
+
expected: "name of a current Trigger for this schema and hook",
|
|
58
|
+
message: `Lifecycle event '${request.eventId}' references unavailable Trigger '${name}'.`,
|
|
59
|
+
}));
|
|
60
|
+
}
|
|
61
|
+
return trigger;
|
|
62
|
+
});
|
|
19
63
|
}
|
|
20
64
|
async runOne(trigger, request, isBefore) {
|
|
21
65
|
const procedure = this.proceduresByName.get(trigger.spec.target.procedure);
|
|
22
66
|
if (!procedure) {
|
|
23
|
-
// Boot validator should have caught this; defense-in-depth.
|
|
24
67
|
throw new DiagnosticError(runtimeDiagnostic({
|
|
25
68
|
code: "TRIGGER_TARGET_PROCEDURE_UNKNOWN",
|
|
26
69
|
severity: "error",
|
|
@@ -31,37 +74,29 @@ export class RunLifecycleHooksUseCase {
|
|
|
31
74
|
}));
|
|
32
75
|
}
|
|
33
76
|
const event = {
|
|
77
|
+
id: request.eventId,
|
|
78
|
+
trigger: trigger.metadata.name,
|
|
34
79
|
hook: request.hook,
|
|
35
80
|
schema: request.schema,
|
|
36
81
|
entry: request.entry,
|
|
37
82
|
};
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
input,
|
|
49
|
-
ctx: ctxWithEvent,
|
|
50
|
-
pathPrefix: `lifecycle:Trigger/${trigger.metadata.name}->${procedure.metadata.name}`,
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
catch (err) {
|
|
54
|
-
if (policy === "abort")
|
|
55
|
-
throw err;
|
|
56
|
-
console.error(`[lifecycle] after_* hook ${trigger.metadata.name} threw`, err);
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
if (result.ok)
|
|
60
|
-
return;
|
|
61
|
-
if (policy === "abort") {
|
|
83
|
+
const input = isBefore
|
|
84
|
+
? request.originalInput ?? request.entry?.data ?? {}
|
|
85
|
+
: request.entry?.data ?? {};
|
|
86
|
+
const result = await this.invoke({
|
|
87
|
+
procedure,
|
|
88
|
+
input,
|
|
89
|
+
ctx: { ...request.ctx, event },
|
|
90
|
+
pathPrefix: `lifecycle:Trigger/${trigger.metadata.name}->${procedure.metadata.name}`,
|
|
91
|
+
});
|
|
92
|
+
if (!result.ok)
|
|
62
93
|
throw new DiagnosticError(result.diagnostic);
|
|
63
|
-
}
|
|
64
|
-
console.error(`[lifecycle] hook ${trigger.metadata.name} returned diagnostic`, result.diagnostic);
|
|
65
94
|
}
|
|
66
95
|
}
|
|
96
|
+
function errorPolicy(trigger, isBefore) {
|
|
97
|
+
const declared = trigger.spec.source.kind === "lifecycle"
|
|
98
|
+
? trigger.spec.source.errorPolicy
|
|
99
|
+
: undefined;
|
|
100
|
+
return declared ?? (isBefore ? "abort" : "continue");
|
|
101
|
+
}
|
|
67
102
|
//# sourceMappingURL=RunLifecycleHooksUseCase.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunLifecycleHooksUseCase.js","sourceRoot":"","sources":["../../../src/usecase/lifecycle/RunLifecycleHooksUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,iBAAiB,GAIlB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"RunLifecycleHooksUseCase.js","sourceRoot":"","sources":["../../../src/usecase/lifecycle/RunLifecycleHooksUseCase.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,12 +17,12 @@ import type { InvokeBuiltinRequest } from "../dto/procedure/index.js";
|
|
|
17
17
|
* - `update` → `entries.update`. Caller supplies `id` +
|
|
18
18
|
* `expectedVersion` in the input; OCC enforced at the chokepoint.
|
|
19
19
|
* - `upsert` → `update` if `input.id` resolves, else `create`.
|
|
20
|
-
* - `delete` → `entries.delete(
|
|
20
|
+
* - `delete` → guarded `entries.delete(...)` over the loaded row snapshot.
|
|
21
21
|
*
|
|
22
22
|
* Pre-projection original input is forwarded to the chokepoint via
|
|
23
|
-
* `originalInput`, so
|
|
24
|
-
* fields (CAPTCHA tokens, etc.) declared on the Procedure input but
|
|
25
|
-
*
|
|
23
|
+
* `originalInput`, so synchronous `before_*` hooks can read side-channel
|
|
24
|
+
* fields (CAPTCHA tokens, etc.) declared on the Procedure input but not
|
|
25
|
+
* on the Schema.
|
|
26
26
|
*
|
|
27
27
|
* Auth + input/output validation happen upstream in
|
|
28
28
|
* `InvokeProcedureUseCase`. This use case trusts its `validatedInput`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvokeBuiltinUseCase.d.ts","sourceRoot":"","sources":["../../../src/usecase/procedure/InvokeBuiltinUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"InvokeBuiltinUseCase.d.ts","sourceRoot":"","sources":["../../../src/usecase/procedure/InvokeBuiltinUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAWtF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,oBAAoB;IAE7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAJX,OAAO,EAAE,eAAe,EACxB,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,EAClD,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,WAAW,EAClB,UAAU,CAAC,EAAE,oBAAoB,YAAA;IAG9C,GAAG,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;YA4D5C,QAAQ;YA2BR,QAAQ;YAuDR,QAAQ;YAcR,QAAQ;YA6BR,SAAS;CA6CxB"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { canTransition, DiagnosticError, resolveLifecycle, runtimeDiagnostic, } from "@aotter/mantle-spec";
|
|
2
2
|
import { projectAndStamp, projectUpdateAndStamp, } from "../../domain/service/BuiltinProjector.js";
|
|
3
|
+
import { assertEntryDeletable } from "../../domain/service/io/EntryDeleteGuard.js";
|
|
4
|
+
import { notFoundDiagnostic, withConflictDiagnostic, } from "../../domain/service/EntryMutationDiagnostics.js";
|
|
3
5
|
import { assertEntryWritable } from "../../domain/service/io/EntryWriteGuard.js";
|
|
4
6
|
/**
|
|
5
7
|
* `InvokeBuiltinUseCase` — executes the `handler.kind: builtin` op
|
|
@@ -14,12 +16,12 @@ import { assertEntryWritable } from "../../domain/service/io/EntryWriteGuard.js"
|
|
|
14
16
|
* - `update` → `entries.update`. Caller supplies `id` +
|
|
15
17
|
* `expectedVersion` in the input; OCC enforced at the chokepoint.
|
|
16
18
|
* - `upsert` → `update` if `input.id` resolves, else `create`.
|
|
17
|
-
* - `delete` → `entries.delete(
|
|
19
|
+
* - `delete` → guarded `entries.delete(...)` over the loaded row snapshot.
|
|
18
20
|
*
|
|
19
21
|
* Pre-projection original input is forwarded to the chokepoint via
|
|
20
|
-
* `originalInput`, so
|
|
21
|
-
* fields (CAPTCHA tokens, etc.) declared on the Procedure input but
|
|
22
|
-
*
|
|
22
|
+
* `originalInput`, so synchronous `before_*` hooks can read side-channel
|
|
23
|
+
* fields (CAPTCHA tokens, etc.) declared on the Procedure input but not
|
|
24
|
+
* on the Schema.
|
|
23
25
|
*
|
|
24
26
|
* Auth + input/output validation happen upstream in
|
|
25
27
|
* `InvokeProcedureUseCase`. This use case trusts its `validatedInput`.
|
|
@@ -165,12 +167,25 @@ export class InvokeBuiltinUseCase {
|
|
|
165
167
|
}
|
|
166
168
|
async opDelete(schema, input, ctx) {
|
|
167
169
|
const id = requireField(input, "id", "string");
|
|
168
|
-
|
|
170
|
+
const opPath = `usecase/InvokeBuiltin/${schema.metadata.name}/delete/${id}`;
|
|
171
|
+
const existing = await this.entries.get(id);
|
|
172
|
+
if (!existing) {
|
|
173
|
+
throw new DiagnosticError(notFoundDiagnostic(opPath, schema.metadata.name, id));
|
|
174
|
+
}
|
|
175
|
+
assertEntryDeletable({
|
|
176
|
+
entry: existing,
|
|
177
|
+
schema,
|
|
178
|
+
expectedCollection: schema.metadata.name,
|
|
179
|
+
opPath,
|
|
180
|
+
});
|
|
181
|
+
return withConflictDiagnostic(opPath, () => this.entries.delete({
|
|
169
182
|
id,
|
|
170
|
-
collection:
|
|
183
|
+
collection: existing.collection,
|
|
184
|
+
expectedStatus: existing.status,
|
|
185
|
+
expectedVersion: existing.version,
|
|
171
186
|
hookContext: ctx,
|
|
172
187
|
originalInput: input,
|
|
173
|
-
});
|
|
188
|
+
}));
|
|
174
189
|
}
|
|
175
190
|
async opArchive(schema, input, ctx, now) {
|
|
176
191
|
const id = requireField(input, "id", "string");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvokeBuiltinUseCase.js","sourceRoot":"","sources":["../../../src/usecase/procedure/InvokeBuiltinUseCase.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"InvokeBuiltinUseCase.js","sourceRoot":"","sources":["../../../src/usecase/procedure/InvokeBuiltinUseCase.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import type { ComposeLlmsTxtRequest } from "../dto/render/ComposeLlmsTxtRequest.
|
|
|
6
6
|
* - locale: string → entries with `data.locale === locale`
|
|
7
7
|
* - locale: null → non-localized entries only (publish-pipeline
|
|
8
8
|
* semantic; matches what HtmlPublishOrchestrator
|
|
9
|
-
* writes to
|
|
9
|
+
* writes to the versioned root key on a non-localized
|
|
10
10
|
* publish). Consumers that want a cross-locale
|
|
11
11
|
* aggregate at the root URL should iterate
|
|
12
12
|
* site.locales themselves and concat.
|
|
@@ -6,7 +6,7 @@ import { serializeLlmsTxt } from "../../domain/service/MarkdownSerializer.js";
|
|
|
6
6
|
* - locale: string → entries with `data.locale === locale`
|
|
7
7
|
* - locale: null → non-localized entries only (publish-pipeline
|
|
8
8
|
* semantic; matches what HtmlPublishOrchestrator
|
|
9
|
-
* writes to
|
|
9
|
+
* writes to the versioned root key on a non-localized
|
|
10
10
|
* publish). Consumers that want a cross-locale
|
|
11
11
|
* aggregate at the root URL should iterate
|
|
12
12
|
* site.locales themselves and concat.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Diagnostic } from "@aotter/mantle-spec";
|
|
1
|
+
import { type Diagnostic, type SchemaManifest } from "@aotter/mantle-spec";
|
|
2
2
|
import type { DatabaseDriver } from "../../domain/port/DatabaseDriver.js";
|
|
3
3
|
import type { ExecuteViewRequest } from "../dto/view/ExecuteViewRequest.js";
|
|
4
4
|
import type { InvokeProcedureResponse } from "../dto/procedure/index.js";
|
|
@@ -34,8 +34,9 @@ export type InvokeViewGuard = (request: {
|
|
|
34
34
|
export declare class ExecuteViewUseCase {
|
|
35
35
|
private readonly db;
|
|
36
36
|
private readonly invokeGuard?;
|
|
37
|
+
private readonly schemasByName;
|
|
37
38
|
private readonly paramsCache;
|
|
38
|
-
constructor(db: DatabaseDriver, invokeGuard?: InvokeViewGuard | undefined);
|
|
39
|
+
constructor(db: DatabaseDriver, invokeGuard?: InvokeViewGuard | undefined, schemasByName?: ReadonlyMap<string, SchemaManifest>);
|
|
39
40
|
execute<R = Record<string, unknown>>(request: ExecuteViewRequest): Promise<ExecuteViewResponse<R>>;
|
|
40
41
|
}
|
|
41
42
|
//# sourceMappingURL=ExecuteViewUseCase.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecuteViewUseCase.d.ts","sourceRoot":"","sources":["../../../src/usecase/view/ExecuteViewUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"ExecuteViewUseCase.d.ts","sourceRoot":"","sources":["../../../src/usecase/view/ExecuteViewUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,UAAU,EACf,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAG1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAE3E;;;;;GAKG;AAEH,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1D,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;4DAEwD;IACxD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACvD;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;CAAE,CAAC;AAE5D,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAEvC,qBAAa,kBAAkB;IAI3B,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IALhC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;gBAGvC,EAAE,EAAE,cAAc,EAClB,WAAW,CAAC,EAAE,eAAe,YAAA,EAC7B,aAAa,GAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAa;IAG3E,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;CA4InC"}
|
|
@@ -4,10 +4,12 @@ import { compileView } from "../../domain/service/ViewSqlCompiler.js";
|
|
|
4
4
|
export class ExecuteViewUseCase {
|
|
5
5
|
db;
|
|
6
6
|
invokeGuard;
|
|
7
|
+
schemasByName;
|
|
7
8
|
paramsCache = new Map();
|
|
8
|
-
constructor(db, invokeGuard) {
|
|
9
|
+
constructor(db, invokeGuard, schemasByName = new Map()) {
|
|
9
10
|
this.db = db;
|
|
10
11
|
this.invokeGuard = invokeGuard;
|
|
12
|
+
this.schemasByName = schemasByName;
|
|
11
13
|
}
|
|
12
14
|
async execute(request) {
|
|
13
15
|
const viewPath = request.pathPrefix ?? `manifest:View/${request.view.metadata.name}`;
|
|
@@ -100,7 +102,7 @@ export class ExecuteViewUseCase {
|
|
|
100
102
|
compiled = compileView(request.view, {
|
|
101
103
|
...request.options,
|
|
102
104
|
params: validatedParams,
|
|
103
|
-
});
|
|
105
|
+
}, this.schemasByName.get(request.view.spec.from));
|
|
104
106
|
}
|
|
105
107
|
catch (err) {
|
|
106
108
|
const msg = err instanceof Error ? err.message : String(err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecuteViewUseCase.js","sourceRoot":"","sources":["../../../src/usecase/view/ExecuteViewUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,
|
|
1
|
+
{"version":3,"file":"ExecuteViewUseCase.js","sourceRoot":"","sources":["../../../src/usecase/view/ExecuteViewUseCase.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aotter/mantle-runtime",
|
|
3
|
-
"version": "0.0.11-alpha.
|
|
3
|
+
"version": "0.0.11-alpha.60",
|
|
4
4
|
"description": "Runtime engine for mantle: dispatcher + entry-writer + view executor + content-ops + render pipeline + auth + MCP. Defines adapter-agnostic ports. MUST NOT import D1Database / KVNamespace types.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://mantle.tools/",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"README.md"
|
|
30
30
|
],
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@aotter/mantle-spec": "0.0.11-alpha.
|
|
32
|
+
"@aotter/mantle-spec": "0.0.11-alpha.60"
|
|
33
33
|
},
|
|
34
34
|
"peerDependencies": {
|
|
35
35
|
"zod": "^4.0.0"
|