@aotter/mantle-runtime 0.1.0-alpha.8 → 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.
Files changed (108) hide show
  1. package/README.md +74 -4
  2. package/dist/MantleRuntime.js +12 -4
  3. package/dist/MantleRuntime.js.map +1 -1
  4. package/dist/domain/model/EntryRow.d.ts +10 -1
  5. package/dist/domain/model/EntryRow.d.ts.map +1 -1
  6. package/dist/domain/model/EntryRow.js +19 -0
  7. package/dist/domain/model/EntryRow.js.map +1 -1
  8. package/dist/domain/port/EntryReader.d.ts +34 -0
  9. package/dist/domain/port/EntryReader.d.ts.map +1 -1
  10. package/dist/domain/port/EntryRepository.d.ts +5 -0
  11. package/dist/domain/port/EntryRepository.d.ts.map +1 -1
  12. package/dist/domain/port/index.d.ts +1 -1
  13. package/dist/domain/port/index.d.ts.map +1 -1
  14. package/dist/domain/port/index.js.map +1 -1
  15. package/dist/domain/service/CallableCapabilityProjector.d.ts +28 -0
  16. package/dist/domain/service/CallableCapabilityProjector.d.ts.map +1 -0
  17. package/dist/domain/service/CallableCapabilityProjector.js +67 -0
  18. package/dist/domain/service/CallableCapabilityProjector.js.map +1 -0
  19. package/dist/domain/service/EntryMutationDiagnostics.d.ts.map +1 -1
  20. package/dist/domain/service/EntryMutationDiagnostics.js +11 -1
  21. package/dist/domain/service/EntryMutationDiagnostics.js.map +1 -1
  22. package/dist/domain/service/PathMatcher.d.ts +7 -0
  23. package/dist/domain/service/PathMatcher.d.ts.map +1 -1
  24. package/dist/domain/service/PathMatcher.js +56 -0
  25. package/dist/domain/service/PathMatcher.js.map +1 -1
  26. package/dist/domain/service/RuntimePlanCompiler.d.ts +7 -2
  27. package/dist/domain/service/RuntimePlanCompiler.d.ts.map +1 -1
  28. package/dist/domain/service/RuntimePlanCompiler.js +1 -0
  29. package/dist/domain/service/RuntimePlanCompiler.js.map +1 -1
  30. package/dist/domain/service/index.d.ts +1 -0
  31. package/dist/domain/service/index.d.ts.map +1 -1
  32. package/dist/domain/service/index.js +1 -0
  33. package/dist/domain/service/index.js.map +1 -1
  34. package/dist/domain/service/io/JoinedEntryReader.d.ts.map +1 -1
  35. package/dist/domain/service/io/JoinedEntryReader.js +2 -3
  36. package/dist/domain/service/io/JoinedEntryReader.js.map +1 -1
  37. package/dist/index.d.ts +8 -2
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +7 -1
  40. package/dist/index.js.map +1 -1
  41. package/dist/infrastructure/boot/canonicalMigrations.d.ts +4 -2
  42. package/dist/infrastructure/boot/canonicalMigrations.d.ts.map +1 -1
  43. package/dist/infrastructure/boot/canonicalMigrations.js +9 -2
  44. package/dist/infrastructure/boot/canonicalMigrations.js.map +1 -1
  45. package/dist/infrastructure/http/createMantleRequestHandler.d.ts +3 -0
  46. package/dist/infrastructure/http/createMantleRequestHandler.d.ts.map +1 -1
  47. package/dist/infrastructure/http/createMantleRequestHandler.js +36 -15
  48. package/dist/infrastructure/http/createMantleRequestHandler.js.map +1 -1
  49. package/dist/infrastructure/http/readJsonBody.d.ts +8 -0
  50. package/dist/infrastructure/http/readJsonBody.d.ts.map +1 -0
  51. package/dist/infrastructure/http/readJsonBody.js +36 -0
  52. package/dist/infrastructure/http/readJsonBody.js.map +1 -0
  53. package/dist/infrastructure/mcp/McpJsonRpcDispatcher.d.ts +22 -17
  54. package/dist/infrastructure/mcp/McpJsonRpcDispatcher.d.ts.map +1 -1
  55. package/dist/infrastructure/mcp/McpJsonRpcDispatcher.js +74 -69
  56. package/dist/infrastructure/mcp/McpJsonRpcDispatcher.js.map +1 -1
  57. package/dist/infrastructure/mcp/McpToolCatalog.d.ts +11 -9
  58. package/dist/infrastructure/mcp/McpToolCatalog.d.ts.map +1 -1
  59. package/dist/infrastructure/mcp/McpToolCatalog.js +62 -72
  60. package/dist/infrastructure/mcp/McpToolCatalog.js.map +1 -1
  61. package/dist/infrastructure/persistence/DatabaseEntryRepository.d.ts +3 -1
  62. package/dist/infrastructure/persistence/DatabaseEntryRepository.d.ts.map +1 -1
  63. package/dist/infrastructure/persistence/DatabaseEntryRepository.js +141 -20
  64. package/dist/infrastructure/persistence/DatabaseEntryRepository.js.map +1 -1
  65. package/dist/infrastructure/persistence/DatabaseSiteConfigRepository.d.ts +2 -0
  66. package/dist/infrastructure/persistence/DatabaseSiteConfigRepository.d.ts.map +1 -1
  67. package/dist/infrastructure/persistence/DatabaseSiteConfigRepository.js +5 -1
  68. package/dist/infrastructure/persistence/DatabaseSiteConfigRepository.js.map +1 -1
  69. package/dist/infrastructure/persistence/Pagination.d.ts +6 -0
  70. package/dist/infrastructure/persistence/Pagination.d.ts.map +1 -1
  71. package/dist/infrastructure/persistence/Pagination.js +25 -0
  72. package/dist/infrastructure/persistence/Pagination.js.map +1 -1
  73. package/dist/infrastructure/storage/SqliteMantleStorageAdapter.d.ts +11 -1
  74. package/dist/infrastructure/storage/SqliteMantleStorageAdapter.d.ts.map +1 -1
  75. package/dist/infrastructure/storage/SqliteMantleStorageAdapter.js +7 -3
  76. package/dist/infrastructure/storage/SqliteMantleStorageAdapter.js.map +1 -1
  77. package/dist/infrastructure/testing/HttpBenchmarkHarness.d.ts +26 -1
  78. package/dist/infrastructure/testing/HttpBenchmarkHarness.d.ts.map +1 -1
  79. package/dist/infrastructure/testing/HttpBenchmarkHarness.js +27 -12
  80. package/dist/infrastructure/testing/HttpBenchmarkHarness.js.map +1 -1
  81. package/dist/infrastructure/testing/StorageConformance.d.ts +32 -0
  82. package/dist/infrastructure/testing/StorageConformance.d.ts.map +1 -0
  83. package/dist/infrastructure/testing/StorageConformance.js +305 -0
  84. package/dist/infrastructure/testing/StorageConformance.js.map +1 -0
  85. package/dist/testing-storage.d.ts +3 -0
  86. package/dist/testing-storage.d.ts.map +1 -0
  87. package/dist/testing-storage.js +3 -0
  88. package/dist/testing-storage.js.map +1 -0
  89. package/dist/usecase/content/ListEntriesUseCase.d.ts +1 -1
  90. package/dist/usecase/content/ListEntriesUseCase.d.ts.map +1 -1
  91. package/dist/usecase/content/ListEntriesUseCase.js +18 -2
  92. package/dist/usecase/content/ListEntriesUseCase.js.map +1 -1
  93. package/dist/usecase/dto/content/index.d.ts +2 -0
  94. package/dist/usecase/dto/content/index.d.ts.map +1 -1
  95. package/dist/usecase/media/DeleteMediaAssetUseCase.d.ts +3 -3
  96. package/dist/usecase/media/DeleteMediaAssetUseCase.d.ts.map +1 -1
  97. package/dist/usecase/media/DeleteMediaAssetUseCase.js +35 -19
  98. package/dist/usecase/media/DeleteMediaAssetUseCase.js.map +1 -1
  99. package/dist/usecase/procedure/InvokeBuiltinUseCase.d.ts +8 -2
  100. package/dist/usecase/procedure/InvokeBuiltinUseCase.d.ts.map +1 -1
  101. package/dist/usecase/procedure/InvokeBuiltinUseCase.js +96 -14
  102. package/dist/usecase/procedure/InvokeBuiltinUseCase.js.map +1 -1
  103. package/dist/usecase/procedure/InvokeProcedureUseCase.js +2 -2
  104. package/dist/usecase/procedure/InvokeProcedureUseCase.js.map +1 -1
  105. package/dist/usecase/site/UpdateSiteSettingsUseCase.d.ts.map +1 -1
  106. package/dist/usecase/site/UpdateSiteSettingsUseCase.js +8 -1
  107. package/dist/usecase/site/UpdateSiteSettingsUseCase.js.map +1 -1
  108. 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 (MCP `list_entries`, admin pagination,
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":"AAAA,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,oBAAoB,GAErB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAIhE,OAAO,EACL,uBAAuB,EACvB,8BAA8B,GAC/B,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,OAAO,kBAAkB;IAEV;IACA;IAFnB,YACmB,OAAwB,EACxB,OAA4C;QAD5C,YAAO,GAAP,OAAO,CAAiB;QACxB,YAAO,GAAP,OAAO,CAAqC;IAC5D,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,OAA2B;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,WAAW,CACf,OAA2B;QAE3B,MAAM,MAAM,GAAG,uBAAuB,OAAO,CAAC,UAAU,EAAE,CAAC;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,eAAe,CACvB,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAC9E,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,eAAe,CAAC,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACxF,CAAC;QACD,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;QACrD,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,CACrB,UAAU,EAAE,KAAK,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAC/F,EAAE,CAAC;YACF,MAAM,IAAI,eAAe,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACjF,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,IAAI,CACnB,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ;YACvC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK;YACpB,CAAC,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CACvD,EAAE,CAAC;YACF,MAAM,IAAI,eAAe,CAAC,0BAA0B,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACvB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC;YAChC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE;YAChD,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;CACF;AAED,SAAS,2BAA2B,CAClC,IAAY,EACZ,MAAiD;IAEjD,OAAO,iBAAiB,CAAC;QACvB,IAAI,EAAE,yBAAyB;QAC/B,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,GAAG,IAAI,SAAS;QACtB,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,6DAA6D;QACvE,OAAO,EAAE,WAAW,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,qBAAqB;KACtE,CAAC,CAAC;AACL,CAAC;AAED,SAAS,0BAA0B,CACjC,IAAY,EACZ,KAA+C;IAE/C,OAAO,iBAAiB,CAAC;QACvB,IAAI,EAAE,yBAAyB;QAC/B,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,GAAG,IAAI,QAAQ;QACrB,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,yDAAyD;QACnE,OAAO,EAAE,UAAU,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,qBAAqB;KACnE,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,MAAsB,EAAE,KAAa;IAC5D,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC/E,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC"}
@@ -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 between the two leaves an orphan *row* (which the sweeper can
9
- * reconcile from a bucket listing) rather than a dangling *reference*
10
- * to bytes that are already gone.
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;CAkC/E"}
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 between the two leaves an orphan *row* (which the sweeper can
9
- * reconcile from a bucket listing) rather than a dangling *reference*
10
- * to bytes that are already gone.
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
- // Attempt EVERY reachable object delete before touching the row —
36
- // a single rejecting deleteObject must not abort the loop (which
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
- for (const r of results) {
45
- if (r.status === "rejected") {
46
- console.warn("[DeleteMediaAsset] object delete failed; leaving orphan for sweeper", r.reason);
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;AAGtD,OAAO,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,uBAAuB;IAEf;IACA;IAFnB,YACmB,OAAqB,EACrB,MAA4B;QAD5B,YAAO,GAAP,OAAO,CAAc;QACrB,WAAM,GAAN,MAAM,CAAsB;IAC5C,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,eAAe,CACvB,4BAA4B,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAC7D,CAAC;QACJ,CAAC;QACD,kEAAkE;QAClE,iEAAiE;QACjE,oEAAoE;QACpE,mEAAmE;QACnE,mEAAmE;QACnE,mEAAmE;QACnE,kCAAkC;QAClC,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACxB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAC9D,CACF,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC5B,OAAO,CAAC,IAAI,CACV,qEAAqE,EACrE,CAAC,CAAC,MAAM,CACT,CAAC;YACJ,CAAC;QACH,CAAC;QACD,8DAA8D;QAC9D,kEAAkE;QAClE,qEAAqE;QACrE,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IACnE,CAAC;CACF"}
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` in the input; OCC enforced at the chokepoint.
19
- * - `upsert` → `update` if `input.id` resolves, else `create`.
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,EAGlB,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;;;;;;;;;;;;;;;;;;;;;;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;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;YA4BR,QAAQ;YAwDR,QAAQ;YAcR,QAAQ;YA6BR,SAAS;CA6CxB"}
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` in the input; OCC enforced at the chokepoint.
18
- * - `upsert` → `update` if `input.id` resolves, else `create`.
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
- return this.entries.transitionStatus({
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
- const msg = err instanceof Error ? err.message : String(err);
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: `Handler '${handlerLabel}' threw: ${msg}`,
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;CAsBvE"}
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
- await this.onPublicChange?.();
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;QAC9B,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"}
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.0-alpha.8",
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.0-alpha.8"
40
+ "@aotter/mantle-spec": "0.1.2-alpha.1"
37
41
  },
38
42
  "peerDependencies": {
39
- "zod": "^4.0.0"
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.10",
45
- "zod": "^4.4.3"
48
+ "vitest": "^4.1.11",
49
+ "zod": "^4.5.4"
46
50
  },
47
51
  "scripts": {
48
52
  "prebuild": "rm -rf dist .tsbuildinfo",