@aotter/mantle-runtime 0.1.0-alpha.9 → 0.1.2-alpha.1
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 +74 -4
- package/dist/MantleRuntime.js +12 -4
- package/dist/MantleRuntime.js.map +1 -1
- package/dist/domain/model/EntryRow.d.ts +10 -1
- package/dist/domain/model/EntryRow.d.ts.map +1 -1
- package/dist/domain/model/EntryRow.js +19 -0
- package/dist/domain/model/EntryRow.js.map +1 -1
- package/dist/domain/port/EntryReader.d.ts +34 -0
- package/dist/domain/port/EntryReader.d.ts.map +1 -1
- package/dist/domain/port/EntryRepository.d.ts +5 -0
- package/dist/domain/port/EntryRepository.d.ts.map +1 -1
- package/dist/domain/port/index.d.ts +1 -1
- package/dist/domain/port/index.d.ts.map +1 -1
- package/dist/domain/port/index.js.map +1 -1
- package/dist/domain/service/CallableCapabilityProjector.d.ts +28 -0
- package/dist/domain/service/CallableCapabilityProjector.d.ts.map +1 -0
- package/dist/domain/service/CallableCapabilityProjector.js +67 -0
- package/dist/domain/service/CallableCapabilityProjector.js.map +1 -0
- package/dist/domain/service/EntryMutationDiagnostics.d.ts.map +1 -1
- package/dist/domain/service/EntryMutationDiagnostics.js +11 -1
- package/dist/domain/service/EntryMutationDiagnostics.js.map +1 -1
- package/dist/domain/service/PathMatcher.d.ts +7 -0
- package/dist/domain/service/PathMatcher.d.ts.map +1 -1
- package/dist/domain/service/PathMatcher.js +56 -0
- package/dist/domain/service/PathMatcher.js.map +1 -1
- package/dist/domain/service/RuntimePlanCompiler.d.ts +7 -2
- package/dist/domain/service/RuntimePlanCompiler.d.ts.map +1 -1
- package/dist/domain/service/RuntimePlanCompiler.js +1 -0
- package/dist/domain/service/RuntimePlanCompiler.js.map +1 -1
- package/dist/domain/service/index.d.ts +1 -0
- package/dist/domain/service/index.d.ts.map +1 -1
- package/dist/domain/service/index.js +1 -0
- package/dist/domain/service/index.js.map +1 -1
- package/dist/domain/service/io/JoinedEntryReader.d.ts.map +1 -1
- package/dist/domain/service/io/JoinedEntryReader.js +2 -3
- package/dist/domain/service/io/JoinedEntryReader.js.map +1 -1
- package/dist/index.d.ts +8 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/boot/canonicalMigrations.d.ts +4 -2
- package/dist/infrastructure/boot/canonicalMigrations.d.ts.map +1 -1
- package/dist/infrastructure/boot/canonicalMigrations.js +9 -2
- package/dist/infrastructure/boot/canonicalMigrations.js.map +1 -1
- package/dist/infrastructure/http/createMantleRequestHandler.d.ts +3 -0
- package/dist/infrastructure/http/createMantleRequestHandler.d.ts.map +1 -1
- package/dist/infrastructure/http/createMantleRequestHandler.js +36 -15
- package/dist/infrastructure/http/createMantleRequestHandler.js.map +1 -1
- package/dist/infrastructure/http/readJsonBody.d.ts +8 -0
- package/dist/infrastructure/http/readJsonBody.d.ts.map +1 -0
- package/dist/infrastructure/http/readJsonBody.js +36 -0
- package/dist/infrastructure/http/readJsonBody.js.map +1 -0
- package/dist/infrastructure/mcp/McpJsonRpcDispatcher.d.ts +22 -17
- package/dist/infrastructure/mcp/McpJsonRpcDispatcher.d.ts.map +1 -1
- package/dist/infrastructure/mcp/McpJsonRpcDispatcher.js +74 -69
- package/dist/infrastructure/mcp/McpJsonRpcDispatcher.js.map +1 -1
- package/dist/infrastructure/mcp/McpToolCatalog.d.ts +11 -9
- package/dist/infrastructure/mcp/McpToolCatalog.d.ts.map +1 -1
- package/dist/infrastructure/mcp/McpToolCatalog.js +62 -72
- package/dist/infrastructure/mcp/McpToolCatalog.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 +141 -20
- package/dist/infrastructure/persistence/DatabaseEntryRepository.js.map +1 -1
- package/dist/infrastructure/persistence/DatabaseSiteConfigRepository.d.ts +2 -0
- package/dist/infrastructure/persistence/DatabaseSiteConfigRepository.d.ts.map +1 -1
- package/dist/infrastructure/persistence/DatabaseSiteConfigRepository.js +5 -1
- package/dist/infrastructure/persistence/DatabaseSiteConfigRepository.js.map +1 -1
- package/dist/infrastructure/persistence/Pagination.d.ts +6 -0
- package/dist/infrastructure/persistence/Pagination.d.ts.map +1 -1
- package/dist/infrastructure/persistence/Pagination.js +25 -0
- package/dist/infrastructure/persistence/Pagination.js.map +1 -1
- package/dist/infrastructure/storage/SqliteMantleStorageAdapter.d.ts +11 -1
- package/dist/infrastructure/storage/SqliteMantleStorageAdapter.d.ts.map +1 -1
- package/dist/infrastructure/storage/SqliteMantleStorageAdapter.js +7 -3
- package/dist/infrastructure/storage/SqliteMantleStorageAdapter.js.map +1 -1
- package/dist/infrastructure/testing/HttpBenchmarkHarness.d.ts +26 -1
- package/dist/infrastructure/testing/HttpBenchmarkHarness.d.ts.map +1 -1
- package/dist/infrastructure/testing/HttpBenchmarkHarness.js +27 -12
- package/dist/infrastructure/testing/HttpBenchmarkHarness.js.map +1 -1
- package/dist/infrastructure/testing/StorageConformance.d.ts +32 -0
- package/dist/infrastructure/testing/StorageConformance.d.ts.map +1 -0
- package/dist/infrastructure/testing/StorageConformance.js +305 -0
- package/dist/infrastructure/testing/StorageConformance.js.map +1 -0
- package/dist/testing-storage.d.ts +3 -0
- package/dist/testing-storage.d.ts.map +1 -0
- package/dist/testing-storage.js +3 -0
- package/dist/testing-storage.js.map +1 -0
- package/dist/usecase/content/ListEntriesUseCase.d.ts +1 -1
- package/dist/usecase/content/ListEntriesUseCase.d.ts.map +1 -1
- package/dist/usecase/content/ListEntriesUseCase.js +18 -2
- package/dist/usecase/content/ListEntriesUseCase.js.map +1 -1
- package/dist/usecase/dto/content/index.d.ts +2 -0
- package/dist/usecase/dto/content/index.d.ts.map +1 -1
- package/dist/usecase/media/DeleteMediaAssetUseCase.d.ts +3 -3
- package/dist/usecase/media/DeleteMediaAssetUseCase.d.ts.map +1 -1
- package/dist/usecase/media/DeleteMediaAssetUseCase.js +35 -19
- package/dist/usecase/media/DeleteMediaAssetUseCase.js.map +1 -1
- package/dist/usecase/procedure/InvokeBuiltinUseCase.d.ts +8 -2
- package/dist/usecase/procedure/InvokeBuiltinUseCase.d.ts.map +1 -1
- package/dist/usecase/procedure/InvokeBuiltinUseCase.js +96 -14
- package/dist/usecase/procedure/InvokeBuiltinUseCase.js.map +1 -1
- package/dist/usecase/procedure/InvokeProcedureUseCase.js +2 -2
- package/dist/usecase/procedure/InvokeProcedureUseCase.js.map +1 -1
- package/dist/usecase/site/UpdateSiteSettingsUseCase.d.ts.map +1 -1
- package/dist/usecase/site/UpdateSiteSettingsUseCase.js +8 -1
- package/dist/usecase/site/UpdateSiteSettingsUseCase.js.map +1 -1
- package/package.json +9 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DiagnosticError, checkSchemaAdminUi, runtimeDiagnostic, schemaSortableFields, } from "@aotter/mantle-spec";
|
|
1
|
+
import { DiagnosticError, checkSchemaAdminUi, isRequiredMantleRefField, runtimeDiagnostic, schemaSortableFields, } from "@aotter/mantle-spec";
|
|
2
2
|
import { clampLimit } from "../../domain/service/Pagination.js";
|
|
3
3
|
import { schemaUnknownDiagnostic, sortFieldUnavailableDiagnostic, } from "./diagnostics.js";
|
|
4
4
|
/**
|
|
@@ -14,7 +14,7 @@ import { schemaUnknownDiagnostic, sortFieldUnavailableDiagnostic, } from "./diag
|
|
|
14
14
|
* — agent authors who care about that reach for `executePage`.
|
|
15
15
|
*
|
|
16
16
|
* - `executePage(req): ListEntriesResult` — what
|
|
17
|
-
* cursor-aware callers (
|
|
17
|
+
* cursor-aware callers (Admin pagination,
|
|
18
18
|
* long-tail walkers) want. Returns `{ rows, nextCursor? }`.
|
|
19
19
|
*
|
|
20
20
|
* Why split: the Mantle thesis says the runtime should carry complexity
|
|
@@ -52,6 +52,11 @@ export class ListEntriesUseCase {
|
|
|
52
52
|
if (request.filter && !(listFilter?.field === request.filter.field && listFilter.values.includes(request.filter.value))) {
|
|
53
53
|
throw new DiagnosticError(filterUnavailableDiagnostic(opPath, request.filter));
|
|
54
54
|
}
|
|
55
|
+
if (request.scope && (typeof request.scope.value !== "string" ||
|
|
56
|
+
!request.scope.value ||
|
|
57
|
+
!isRequiredMantleRefField(schema, request.scope.field))) {
|
|
58
|
+
throw new DiagnosticError(scopeUnavailableDiagnostic(opPath, request.scope));
|
|
59
|
+
}
|
|
55
60
|
return this.entries.list({
|
|
56
61
|
collection: request.collection,
|
|
57
62
|
status: request.status,
|
|
@@ -61,6 +66,7 @@ export class ListEntriesUseCase {
|
|
|
61
66
|
search: request.search,
|
|
62
67
|
searchFields: schema.spec.searchableFields ?? [],
|
|
63
68
|
filter: request.filter,
|
|
69
|
+
scope: request.scope,
|
|
64
70
|
sort: request.sort,
|
|
65
71
|
});
|
|
66
72
|
}
|
|
@@ -75,6 +81,16 @@ function filterUnavailableDiagnostic(path, filter) {
|
|
|
75
81
|
message: `Filter '${filter.field}=${filter.value}' is not available.`,
|
|
76
82
|
});
|
|
77
83
|
}
|
|
84
|
+
function scopeUnavailableDiagnostic(path, scope) {
|
|
85
|
+
return runtimeDiagnostic({
|
|
86
|
+
code: "INPUT_VALIDATION_FAILED",
|
|
87
|
+
severity: "error",
|
|
88
|
+
path: `${path}/scope`,
|
|
89
|
+
value: scope,
|
|
90
|
+
expected: "a required x-mantle-ref field and a non-empty parent id",
|
|
91
|
+
message: `Scope '${scope.field}=${scope.value}' is not available.`,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
78
94
|
function isSortableField(schema, field) {
|
|
79
95
|
if (field === "id" || field === "status" || field === "updatedAt")
|
|
80
96
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListEntriesUseCase.js","sourceRoot":"","sources":["../../../src/usecase/content/ListEntriesUseCase.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ListEntriesUseCase.js","sourceRoot":"","sources":["../../../src/usecase/content/ListEntriesUseCase.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,6 +48,8 @@ export interface ListEntriesRequest {
|
|
|
48
48
|
readonly search?: string;
|
|
49
49
|
/** One exact, indexed enum filter exposed by the Schema. */
|
|
50
50
|
readonly filter?: EntryFilter;
|
|
51
|
+
/** Admin parent/child list scope: exact match on a required x-mantle-ref field. */
|
|
52
|
+
readonly scope?: EntryFilter;
|
|
51
53
|
readonly sort?: EntrySort;
|
|
52
54
|
}
|
|
53
55
|
export interface EntryFilter {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/usecase/dto/content/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC;IAC9B;;oEAEgE;IAChE,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB;iCAC6B;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IAClD,uEAAuE;IACvE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAClE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAiB,SAAQ,qBAAqB;IAC7D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAe,SAAQ,qBAAqB;IAC3D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/usecase/dto/content/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC;IAC9B;;oEAEgE;IAChE,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB;iCAC6B;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IAClD,uEAAuE;IACvE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,mFAAmF;IACnF,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAClE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAiB,SAAQ,qBAAqB;IAC7D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAe,SAAQ,qBAAqB;IAC3D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B"}
|
|
@@ -5,9 +5,9 @@ import type { MediaStorage } from "../../domain/port/MediaStorage.js";
|
|
|
5
5
|
* Orchestrates the two-sided deletion the ports describe: delete every
|
|
6
6
|
* variant's R2 object via `MediaStorage.deleteObject`, then delete the
|
|
7
7
|
* `media_assets` row. Ordering matters — drop the objects first so a
|
|
8
|
-
* crash
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* crash or partial object failure retains the asset identity and keys
|
|
9
|
+
* for an idempotent retry. During recovery the row may reference
|
|
10
|
+
* already deleted objects; no cross-store atomicity is promised.
|
|
11
11
|
*
|
|
12
12
|
* # Reference safety (v1 decision)
|
|
13
13
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteMediaAssetUseCase.d.ts","sourceRoot":"","sources":["../../../src/usecase/media/DeleteMediaAssetUseCase.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAGtE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,oBAAoB;IAGzC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"DeleteMediaAssetUseCase.d.ts","sourceRoot":"","sources":["../../../src/usecase/media/DeleteMediaAssetUseCase.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAGtE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,oBAAoB;IAGzC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC;CA8C/E"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { DiagnosticError } from "@aotter/mantle-spec";
|
|
1
|
+
import { DiagnosticError, runtimeDiagnostic } from "@aotter/mantle-spec";
|
|
2
2
|
import { mediaAssetNotFoundDiagnostic } from "./diagnostics.js";
|
|
3
3
|
/**
|
|
4
4
|
* `DeleteMediaAssetUseCase` — remove a committed asset (#434).
|
|
5
5
|
* Orchestrates the two-sided deletion the ports describe: delete every
|
|
6
6
|
* variant's R2 object via `MediaStorage.deleteObject`, then delete the
|
|
7
7
|
* `media_assets` row. Ordering matters — drop the objects first so a
|
|
8
|
-
* crash
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* crash or partial object failure retains the asset identity and keys
|
|
9
|
+
* for an idempotent retry. During recovery the row may reference
|
|
10
|
+
* already deleted objects; no cross-store atomicity is promised.
|
|
11
11
|
*
|
|
12
12
|
* # Reference safety (v1 decision)
|
|
13
13
|
*
|
|
@@ -32,24 +32,40 @@ export class DeleteMediaAssetUseCase {
|
|
|
32
32
|
if (!asset) {
|
|
33
33
|
throw new DiagnosticError(mediaAssetNotFoundDiagnostic("usecase/DeleteMediaAsset", id));
|
|
34
34
|
}
|
|
35
|
-
//
|
|
36
|
-
// a
|
|
37
|
-
// would leave both partial R2 objects AND the D1 row, contradicting
|
|
38
|
-
// the docstring's crash-safety invariant). Failures are collected,
|
|
39
|
-
// not thrown: orphan objects are the sweeper's job. A variant with
|
|
40
|
-
// no storageKey has no object to drop, so skip it rather than call
|
|
41
|
-
// deleteObject with an empty key.
|
|
35
|
+
// Object delete is idempotent. Retain metadata until every variant is
|
|
36
|
+
// removed so a partial failure can be retried with the same asset id.
|
|
42
37
|
const deletable = asset.variants.filter((v) => v.storageKey);
|
|
43
38
|
const results = await Promise.allSettled(deletable.map((variant) => this.storage.deleteObject({ storageKey: variant.storageKey })));
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
39
|
+
const failures = results.filter((r) => r.status === "rejected");
|
|
40
|
+
if (failures.length) {
|
|
41
|
+
throw new DiagnosticError(runtimeDiagnostic({
|
|
42
|
+
code: "PARTIAL_FAILURE", severity: "error", path: "usecase/DeleteMediaAsset",
|
|
43
|
+
message: "Some objects could not be removed. Retry deletion of the same asset.",
|
|
44
|
+
failure: { outcome: "partial", retry: "safe", resource: "media" },
|
|
45
|
+
}), { cause: new AggregateError(failures.map(r => r.reason)) });
|
|
46
|
+
}
|
|
47
|
+
try {
|
|
48
|
+
await this.assets.delete(id);
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
// Objects are already gone. Recognized port failures retry the same
|
|
52
|
+
// id; unknown/unclassified outcomes reconcile by asset id (ADR-0023).
|
|
53
|
+
const recognized = error instanceof DiagnosticError
|
|
54
|
+
&& error.diagnostic.code !== "OUTCOME_UNKNOWN"
|
|
55
|
+
&& error.diagnostic.code !== "INTERNAL_ERROR"
|
|
56
|
+
&& error.diagnostic.failure?.outcome !== "unknown";
|
|
57
|
+
throw new DiagnosticError(runtimeDiagnostic({
|
|
58
|
+
code: recognized ? "PARTIAL_FAILURE" : "OUTCOME_UNKNOWN",
|
|
59
|
+
severity: "error",
|
|
60
|
+
path: "usecase/DeleteMediaAsset",
|
|
61
|
+
message: recognized
|
|
62
|
+
? "Asset objects were removed but metadata could not be deleted. Retry deletion of the same asset."
|
|
63
|
+
: "Asset objects were removed but metadata deletion outcome is unknown. Reconcile by the same asset id.",
|
|
64
|
+
failure: recognized
|
|
65
|
+
? { outcome: "partial", retry: "safe", resource: "media" }
|
|
66
|
+
: { outcome: "unknown", retry: "reconcile", resource: "media" },
|
|
67
|
+
}), { cause: error });
|
|
48
68
|
}
|
|
49
|
-
// Delete the row only after every reachable object delete was
|
|
50
|
-
// attempted — even if some failed (orphan objects are recoverable
|
|
51
|
-
// from a bucket listing; a dangling reference to gone bytes is not).
|
|
52
|
-
await this.assets.delete(id);
|
|
53
69
|
return { deleted: true, variantsRemoved: asset.variants.length };
|
|
54
70
|
}
|
|
55
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteMediaAssetUseCase.js","sourceRoot":"","sources":["../../../src/usecase/media/DeleteMediaAssetUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"DeleteMediaAssetUseCase.js","sourceRoot":"","sources":["../../../src/usecase/media/DeleteMediaAssetUseCase.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,8 +15,14 @@ import type { InvokeBuiltinRequest } from "../dto/procedure/index.js";
|
|
|
15
15
|
* Schema-declared keys land in `data` and `x-mantle-bind` fields are
|
|
16
16
|
* server-stamped from `ctx`.
|
|
17
17
|
* - `update` → `entries.update`. Caller supplies `id` +
|
|
18
|
-
* `expectedVersion`
|
|
19
|
-
*
|
|
18
|
+
* `expectedVersion` (observed native `entry.version` at read time,
|
|
19
|
+
* not version+1); OCC enforced at the chokepoint. A successful write
|
|
20
|
+
* still bumps storage to expectedVersion+1.
|
|
21
|
+
* - `upsert` → create when no row matches and the caller omitted
|
|
22
|
+
* `expectedVersion`; update when a row matches, using the **caller**
|
|
23
|
+
* token (never `preloaded.version`). A versioned write for a missing
|
|
24
|
+
* row is NOT_FOUND (do not recreate). Create-intent against an
|
|
25
|
+
* existing row is INPUT_VALIDATION_FAILED (do not overwrite).
|
|
20
26
|
* - `delete` → guarded `entries.delete(...)` over the loaded row snapshot.
|
|
21
27
|
*
|
|
22
28
|
* Pre-projection original input is forwarded to the chokepoint via
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvokeBuiltinUseCase.d.ts","sourceRoot":"","sources":["../../../src/usecase/procedure/InvokeBuiltinUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,kBAAkB,
|
|
1
|
+
{"version":3,"file":"InvokeBuiltinUseCase.d.ts","sourceRoot":"","sources":["../../../src/usecase/procedure/InvokeBuiltinUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,kBAAkB,EAIlB,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,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAWpF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;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;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS;gBALT,OAAO,EAAE,eAAe,EACxB,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,EAClD,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,WAAW,EAClB,UAAU,CAAC,EAAE,kBAAkB,YAAA,EAC/B,SAAS,qBAA2B;IAGjD,GAAG,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;YA4D5C,QAAQ;YA8BR,QAAQ;YA0DR,QAAQ;YAgER,QAAQ;YA6BR,SAAS;CAgDxB"}
|
|
@@ -14,8 +14,14 @@ import { assertEntryWritable } from "../../domain/service/io/EntryWriteGuard.js"
|
|
|
14
14
|
* Schema-declared keys land in `data` and `x-mantle-bind` fields are
|
|
15
15
|
* server-stamped from `ctx`.
|
|
16
16
|
* - `update` → `entries.update`. Caller supplies `id` +
|
|
17
|
-
* `expectedVersion`
|
|
18
|
-
*
|
|
17
|
+
* `expectedVersion` (observed native `entry.version` at read time,
|
|
18
|
+
* not version+1); OCC enforced at the chokepoint. A successful write
|
|
19
|
+
* still bumps storage to expectedVersion+1.
|
|
20
|
+
* - `upsert` → create when no row matches and the caller omitted
|
|
21
|
+
* `expectedVersion`; update when a row matches, using the **caller**
|
|
22
|
+
* token (never `preloaded.version`). A versioned write for a missing
|
|
23
|
+
* row is NOT_FOUND (do not recreate). Create-intent against an
|
|
24
|
+
* existing row is INPUT_VALIDATION_FAILED (do not overwrite).
|
|
19
25
|
* - `delete` → guarded `entries.delete(...)` over the loaded row snapshot.
|
|
20
26
|
*
|
|
21
27
|
* Pre-projection original input is forwarded to the chokepoint via
|
|
@@ -73,7 +79,7 @@ export class InvokeBuiltinUseCase {
|
|
|
73
79
|
case "update":
|
|
74
80
|
return this.opUpdate(schema, input, request.ctx, now);
|
|
75
81
|
case "upsert":
|
|
76
|
-
return this.opUpsert(schema, input, request.ctx, now);
|
|
82
|
+
return this.opUpsert(schema, input, request.ctx, now, handler);
|
|
77
83
|
case "delete":
|
|
78
84
|
return this.opDelete(schema, input, request.ctx);
|
|
79
85
|
case "archive":
|
|
@@ -102,7 +108,7 @@ export class InvokeBuiltinUseCase {
|
|
|
102
108
|
validator: this.validator,
|
|
103
109
|
siteConfig: this.siteConfig,
|
|
104
110
|
});
|
|
105
|
-
return this.entries.create({
|
|
111
|
+
return withConflictDiagnostic(opPath, () => this.entries.create({
|
|
106
112
|
id: this.idgen.next(),
|
|
107
113
|
collection: schema.metadata.name,
|
|
108
114
|
status: resolveLifecycle(schema) === "operational" ? "published" : "draft",
|
|
@@ -111,11 +117,11 @@ export class InvokeBuiltinUseCase {
|
|
|
111
117
|
now,
|
|
112
118
|
hookContext: ctx,
|
|
113
119
|
originalInput: input,
|
|
114
|
-
});
|
|
120
|
+
}));
|
|
115
121
|
}
|
|
116
122
|
async opUpdate(schema, input, ctx, now, preloaded) {
|
|
117
123
|
const opPath = `usecase/InvokeBuiltin/${schema.metadata.name}/update`;
|
|
118
|
-
const id = requireField(input, "id", "string");
|
|
124
|
+
const id = preloaded ? preloaded.id : requireField(input, "id", "string");
|
|
119
125
|
const expectedVersion = requireField(input, "expectedVersion", "number");
|
|
120
126
|
// Read the existing row and PATCH it. The create projector
|
|
121
127
|
// (`projectAndStamp`) would drop every Schema field the caller
|
|
@@ -124,7 +130,7 @@ export class InvokeBuiltinUseCase {
|
|
|
124
130
|
// UpdateDraftUseCase: merge via `projectUpdateAndStamp` so omitted
|
|
125
131
|
// fields and server-stamped values (author, created-at) survive.
|
|
126
132
|
const existing = preloaded ?? (await this.entries.get(id));
|
|
127
|
-
if (!existing) {
|
|
133
|
+
if (!existing || existing.collection !== schema.metadata.name) {
|
|
128
134
|
throw new DiagnosticError(runtimeDiagnostic({
|
|
129
135
|
code: "NOT_FOUND",
|
|
130
136
|
severity: "error",
|
|
@@ -150,7 +156,7 @@ export class InvokeBuiltinUseCase {
|
|
|
150
156
|
excludeId: id,
|
|
151
157
|
siteConfig: this.siteConfig,
|
|
152
158
|
});
|
|
153
|
-
return this.entries.update({
|
|
159
|
+
return withConflictDiagnostic(opPath, () => this.entries.update({
|
|
154
160
|
id,
|
|
155
161
|
collection: schema.metadata.name,
|
|
156
162
|
expectedVersion,
|
|
@@ -158,14 +164,52 @@ export class InvokeBuiltinUseCase {
|
|
|
158
164
|
now,
|
|
159
165
|
hookContext: ctx,
|
|
160
166
|
originalInput: input,
|
|
161
|
-
});
|
|
167
|
+
}));
|
|
162
168
|
}
|
|
163
|
-
async opUpsert(schema, input, ctx, now) {
|
|
169
|
+
async opUpsert(schema, input, ctx, now, handler) {
|
|
170
|
+
const callerVersion = optionalExpectedVersion(input);
|
|
171
|
+
if (handler.match && handler.match.length > 0) {
|
|
172
|
+
const fields = {};
|
|
173
|
+
for (const field of handler.match) {
|
|
174
|
+
fields[field] = input[field];
|
|
175
|
+
}
|
|
176
|
+
const existing = await this.entries.findByDataFields({
|
|
177
|
+
collection: schema.metadata.name,
|
|
178
|
+
fields,
|
|
179
|
+
});
|
|
180
|
+
if (existing) {
|
|
181
|
+
if (callerVersion === undefined) {
|
|
182
|
+
throw missingExpectedVersionOnUpdate(schema.metadata.name);
|
|
183
|
+
}
|
|
184
|
+
return this.opUpdate(schema, input, ctx, now, existing);
|
|
185
|
+
}
|
|
186
|
+
if (callerVersion !== undefined) {
|
|
187
|
+
throw deletedTargetDiagnostic(`usecase/InvokeBuiltin/${schema.metadata.name}/upsert`, schema.metadata.name, matchIdentity(handler.match, fields));
|
|
188
|
+
}
|
|
189
|
+
return this.opCreate(schema, input, ctx, now);
|
|
190
|
+
}
|
|
164
191
|
const id = typeof input["id"] === "string" ? input["id"] : undefined;
|
|
165
192
|
if (id) {
|
|
166
193
|
const existing = await this.entries.get(id);
|
|
167
|
-
if (existing)
|
|
194
|
+
if (existing) {
|
|
195
|
+
if (callerVersion === undefined) {
|
|
196
|
+
throw missingExpectedVersionOnUpdate(schema.metadata.name);
|
|
197
|
+
}
|
|
168
198
|
return this.opUpdate(schema, input, ctx, now, existing);
|
|
199
|
+
}
|
|
200
|
+
if (callerVersion !== undefined) {
|
|
201
|
+
throw deletedTargetDiagnostic(`usecase/InvokeBuiltin/${schema.metadata.name}/upsert/${id}`, schema.metadata.name, id);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
else if (callerVersion !== undefined) {
|
|
205
|
+
throw new DiagnosticError(runtimeDiagnostic({
|
|
206
|
+
code: "INPUT_VALIDATION_FAILED",
|
|
207
|
+
severity: "error",
|
|
208
|
+
path: "builtin-input/expectedVersion",
|
|
209
|
+
value: callerVersion,
|
|
210
|
+
expected: "omit expectedVersion on create, or supply id / match fields for update",
|
|
211
|
+
message: "Builtin upsert received expectedVersion without a target identity. Omit expectedVersion to create, or identify the row to update.",
|
|
212
|
+
}));
|
|
169
213
|
}
|
|
170
214
|
return this.opCreate(schema, input, ctx, now);
|
|
171
215
|
}
|
|
@@ -194,7 +238,7 @@ export class InvokeBuiltinUseCase {
|
|
|
194
238
|
async opArchive(schema, input, ctx, now) {
|
|
195
239
|
const id = requireField(input, "id", "string");
|
|
196
240
|
const existing = await this.entries.get(id);
|
|
197
|
-
if (!existing) {
|
|
241
|
+
if (!existing || existing.collection !== schema.metadata.name) {
|
|
198
242
|
throw new DiagnosticError(runtimeDiagnostic({
|
|
199
243
|
code: "NOT_FOUND",
|
|
200
244
|
severity: "error",
|
|
@@ -217,7 +261,8 @@ export class InvokeBuiltinUseCase {
|
|
|
217
261
|
message: `Illegal transition from '${existing.status}' to 'archived'.`,
|
|
218
262
|
}));
|
|
219
263
|
}
|
|
220
|
-
|
|
264
|
+
const opPath = `usecase/InvokeBuiltin/${schema.metadata.name}/archive`;
|
|
265
|
+
return withConflictDiagnostic(opPath, () => this.entries.transitionStatus({
|
|
221
266
|
id,
|
|
222
267
|
collection: schema.metadata.name,
|
|
223
268
|
to: "archived",
|
|
@@ -225,7 +270,7 @@ export class InvokeBuiltinUseCase {
|
|
|
225
270
|
now,
|
|
226
271
|
hookContext: ctx,
|
|
227
272
|
originalInput: input,
|
|
228
|
-
});
|
|
273
|
+
}));
|
|
229
274
|
}
|
|
230
275
|
}
|
|
231
276
|
function requireField(input, key, expected) {
|
|
@@ -243,4 +288,41 @@ function requireField(input, key, expected) {
|
|
|
243
288
|
}
|
|
244
289
|
return v;
|
|
245
290
|
}
|
|
291
|
+
function optionalExpectedVersion(input) {
|
|
292
|
+
const value = input["expectedVersion"];
|
|
293
|
+
if (value === undefined)
|
|
294
|
+
return undefined;
|
|
295
|
+
if (typeof value === "number" && Number.isFinite(value))
|
|
296
|
+
return value;
|
|
297
|
+
throw new DiagnosticError(runtimeDiagnostic({
|
|
298
|
+
code: "INPUT_VALIDATION_FAILED",
|
|
299
|
+
severity: "error",
|
|
300
|
+
path: "builtin-input/expectedVersion",
|
|
301
|
+
value,
|
|
302
|
+
expected: "finite number (observed native entry.version at read time, not version+1)",
|
|
303
|
+
message: "Builtin upsert expectedVersion must be a finite number when provided.",
|
|
304
|
+
}));
|
|
305
|
+
}
|
|
306
|
+
function missingExpectedVersionOnUpdate(collection) {
|
|
307
|
+
return new DiagnosticError(runtimeDiagnostic({
|
|
308
|
+
code: "INPUT_VALIDATION_FAILED",
|
|
309
|
+
severity: "error",
|
|
310
|
+
path: "builtin-input/expectedVersion",
|
|
311
|
+
expected: "number field 'expectedVersion' (observed native entry.version at read time)",
|
|
312
|
+
message: `Builtin upsert found an existing '${collection}' row; send expectedVersion from that read. Omitting it would overwrite the row.`,
|
|
313
|
+
}));
|
|
314
|
+
}
|
|
315
|
+
function deletedTargetDiagnostic(path, collection, identity) {
|
|
316
|
+
return new DiagnosticError(runtimeDiagnostic({
|
|
317
|
+
code: "NOT_FOUND",
|
|
318
|
+
severity: "error",
|
|
319
|
+
path,
|
|
320
|
+
value: identity,
|
|
321
|
+
expected: `existing ${collection} row for a versioned update`,
|
|
322
|
+
message: `Versioned upsert target not found (${identity}). The row was not created.`,
|
|
323
|
+
}));
|
|
324
|
+
}
|
|
325
|
+
function matchIdentity(match, fields) {
|
|
326
|
+
return match.map((field) => `${field}=${String(fields[field])}`).join(",");
|
|
327
|
+
}
|
|
246
328
|
//# sourceMappingURL=InvokeBuiltinUseCase.js.map
|
|
@@ -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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"}
|
|
@@ -205,7 +205,7 @@ export class InvokeProcedureUseCase {
|
|
|
205
205
|
if (err instanceof DiagnosticError) {
|
|
206
206
|
return { ok: false, diagnostic: err.diagnostic };
|
|
207
207
|
}
|
|
208
|
-
|
|
208
|
+
console.error(`[mantle procedure ${handlerLabel}] unhandled failure`, err);
|
|
209
209
|
return {
|
|
210
210
|
ok: false,
|
|
211
211
|
diagnostic: makeDiagnostic({
|
|
@@ -214,7 +214,7 @@ export class InvokeProcedureUseCase {
|
|
|
214
214
|
severity: "error",
|
|
215
215
|
path: procPath,
|
|
216
216
|
expected: "handler completes without throwing",
|
|
217
|
-
message:
|
|
217
|
+
message: "An internal error occurred.",
|
|
218
218
|
}),
|
|
219
219
|
};
|
|
220
220
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvokeProcedureUseCase.js","sourceRoot":"","sources":["../../../src/usecase/procedure/InvokeProcedureUseCase.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"InvokeProcedureUseCase.js","sourceRoot":"","sources":["../../../src/usecase/procedure/InvokeProcedureUseCase.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateSiteSettingsUseCase.d.ts","sourceRoot":"","sources":["../../../src/usecase/site/UpdateSiteSettingsUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,sCAAsC;AACtC,qBAAa,yBAAyB;IAElC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;gBADf,UAAU,EAAE,oBAAoB,EAChC,cAAc,CAAC,GAAE,MAAM,OAAO,CAAC,IAAI,CAAC,aAAA;IAGjD,OAAO,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"UpdateSiteSettingsUseCase.d.ts","sourceRoot":"","sources":["../../../src/usecase/site/UpdateSiteSettingsUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,sCAAsC;AACtC,qBAAa,yBAAyB;IAElC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;gBADf,UAAU,EAAE,oBAAoB,EAChC,cAAc,CAAC,GAAE,MAAM,OAAO,CAAC,IAAI,CAAC,aAAA;IAGjD,OAAO,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;CA4BvE"}
|
|
@@ -16,7 +16,14 @@ export class UpdateSiteSettingsUseCase {
|
|
|
16
16
|
ga4MeasurementId: normalizeOptionalId(request.ga4MeasurementId, normalizeGa4MeasurementId, "ga4MeasurementId", "a GA4 Measurement ID such as G-XXXXXXXXXX, or an empty string"),
|
|
17
17
|
facebookPixelId: normalizeOptionalId(request.facebookPixelId, normalizeFacebookPixelId, "facebookPixelId", "a numeric Facebook Pixel ID, or an empty string"),
|
|
18
18
|
});
|
|
19
|
-
|
|
19
|
+
if (this.onPublicChange) {
|
|
20
|
+
try {
|
|
21
|
+
await this.onPublicChange();
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
console.error("[mantle] public cache invalidation failed after committed site settings write", error);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
20
27
|
return this.siteConfig.load();
|
|
21
28
|
}
|
|
22
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateSiteSettingsUseCase.js","sourceRoot":"","sources":["../../../src/usecase/site/UpdateSiteSettingsUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAmB,MAAM,qBAAqB,CAAC;AAI1F,sCAAsC;AACtC,MAAM,OAAO,yBAAyB;IAEjB;IACA;IAFnB,YACmB,UAAgC,EAChC,cAAoC;QADpC,eAAU,GAAV,UAAU,CAAsB;QAChC,mBAAc,GAAd,cAAc,CAAsB;IACpD,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,OAAkC;QAC9C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;YACnC,GAAG,OAAO;YACV,gBAAgB,EAAE,mBAAmB,CACnC,OAAO,CAAC,gBAAgB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,+DAA+D,CAChE;YACD,eAAe,EAAE,mBAAmB,CAClC,OAAO,CAAC,eAAe,EACvB,wBAAwB,EACxB,iBAAiB,EACjB,iDAAiD,CAClD;SACF,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"UpdateSiteSettingsUseCase.js","sourceRoot":"","sources":["../../../src/usecase/site/UpdateSiteSettingsUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAmB,MAAM,qBAAqB,CAAC;AAI1F,sCAAsC;AACtC,MAAM,OAAO,yBAAyB;IAEjB;IACA;IAFnB,YACmB,UAAgC,EAChC,cAAoC;QADpC,eAAU,GAAV,UAAU,CAAsB;QAChC,mBAAc,GAAd,cAAc,CAAsB;IACpD,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,OAAkC;QAC9C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;YACnC,GAAG,OAAO;YACV,gBAAgB,EAAE,mBAAmB,CACnC,OAAO,CAAC,gBAAgB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,+DAA+D,CAChE;YACD,eAAe,EAAE,mBAAmB,CAClC,OAAO,CAAC,eAAe,EACvB,wBAAwB,EACxB,iBAAiB,EACjB,iDAAiD,CAClD;SACF,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC9B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,+EAA+E,EAAE,KAAK,CAAC,CAAC;YACxG,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;CACF;AAED,SAAS,yBAAyB,CAAC,KAAyB;IAC1D,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IAClD,OAAO,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7D,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAyB;IACzD,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACpC,OAAO,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAyB,EACzB,SAAuD,EACvD,KAAa,EACb,QAAgB;IAEhB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAClC,MAAM,IAAI,eAAe,CAAC,iBAAiB,CAAC;QAC1C,IAAI,EAAE,yBAAyB;QAC/B,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,8BAA8B,KAAK,EAAE;QAC3C,KAAK;QACL,QAAQ;QACR,OAAO,EAAE,WAAW,KAAK,GAAG;KAC7B,CAAC,CAAC,CAAC;AACN,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aotter/mantle-runtime",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2-alpha.1",
|
|
4
4
|
"description": "Headless runtime engine for Mantle: entry operations, procedures, views, triggers, lifecycle, and adapter-agnostic ports.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://mantle.tools/",
|
|
@@ -26,6 +26,10 @@
|
|
|
26
26
|
"./testing": {
|
|
27
27
|
"types": "./dist/testing.d.ts",
|
|
28
28
|
"import": "./dist/testing.js"
|
|
29
|
+
},
|
|
30
|
+
"./testing/storage": {
|
|
31
|
+
"types": "./dist/testing-storage.d.ts",
|
|
32
|
+
"import": "./dist/testing-storage.js"
|
|
29
33
|
}
|
|
30
34
|
},
|
|
31
35
|
"files": [
|
|
@@ -33,16 +37,16 @@
|
|
|
33
37
|
"README.md"
|
|
34
38
|
],
|
|
35
39
|
"dependencies": {
|
|
36
|
-
"@aotter/mantle-spec": "0.1.
|
|
40
|
+
"@aotter/mantle-spec": "0.1.2-alpha.1"
|
|
37
41
|
},
|
|
38
42
|
"peerDependencies": {
|
|
39
|
-
"zod": "^4.
|
|
43
|
+
"zod": "^4.5.0"
|
|
40
44
|
},
|
|
41
45
|
"devDependencies": {
|
|
42
46
|
"@types/node": "^26",
|
|
43
47
|
"typescript": "^6.0.3",
|
|
44
|
-
"vitest": "^4.1.
|
|
45
|
-
"zod": "^4.4
|
|
48
|
+
"vitest": "^4.1.11",
|
|
49
|
+
"zod": "^4.5.4"
|
|
46
50
|
},
|
|
47
51
|
"scripts": {
|
|
48
52
|
"prebuild": "rm -rf dist .tsbuildinfo",
|