@aotter/mantle-runtime 0.1.4 → 0.1.5-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 (93) hide show
  1. package/dist/MantleRuntime.d.ts +11 -0
  2. package/dist/MantleRuntime.d.ts.map +1 -1
  3. package/dist/MantleRuntime.js +34 -3
  4. package/dist/MantleRuntime.js.map +1 -1
  5. package/dist/domain/model/HandlerContext.d.ts +13 -0
  6. package/dist/domain/model/HandlerContext.d.ts.map +1 -1
  7. package/dist/domain/port/AtomicEntryWriter.d.ts +23 -0
  8. package/dist/domain/port/AtomicEntryWriter.d.ts.map +1 -0
  9. package/dist/domain/port/AtomicEntryWriter.js +2 -0
  10. package/dist/domain/port/AtomicEntryWriter.js.map +1 -0
  11. package/dist/domain/port/DatabaseDriver.d.ts +2 -0
  12. package/dist/domain/port/DatabaseDriver.d.ts.map +1 -1
  13. package/dist/domain/port/ExpirySweeper.d.ts +19 -0
  14. package/dist/domain/port/ExpirySweeper.d.ts.map +1 -0
  15. package/dist/domain/port/ExpirySweeper.js +2 -0
  16. package/dist/domain/port/ExpirySweeper.js.map +1 -0
  17. package/dist/domain/port/MantleStorageAdapter.d.ts +8 -0
  18. package/dist/domain/port/MantleStorageAdapter.d.ts.map +1 -1
  19. package/dist/domain/port/RunObservationStore.d.ts +26 -0
  20. package/dist/domain/port/RunObservationStore.d.ts.map +1 -0
  21. package/dist/domain/port/RunObservationStore.js +2 -0
  22. package/dist/domain/port/RunObservationStore.js.map +1 -0
  23. package/dist/domain/service/RuntimePlanCompiler.d.ts +16 -2
  24. package/dist/domain/service/RuntimePlanCompiler.d.ts.map +1 -1
  25. package/dist/domain/service/RuntimePlanCompiler.js +13 -2
  26. package/dist/domain/service/RuntimePlanCompiler.js.map +1 -1
  27. package/dist/domain/service/io/EntryWriteGuard.d.ts +2 -0
  28. package/dist/domain/service/io/EntryWriteGuard.d.ts.map +1 -1
  29. package/dist/domain/service/io/EntryWriteGuard.js +2 -1
  30. package/dist/domain/service/io/EntryWriteGuard.js.map +1 -1
  31. package/dist/index.d.ts +8 -3
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +4 -2
  34. package/dist/index.js.map +1 -1
  35. package/dist/infrastructure/boot/bootState.d.ts +1 -1
  36. package/dist/infrastructure/boot/bootState.d.ts.map +1 -1
  37. package/dist/infrastructure/boot/bootState.js +19 -4
  38. package/dist/infrastructure/boot/bootState.js.map +1 -1
  39. package/dist/infrastructure/boot/canonicalMigrations.d.ts.map +1 -1
  40. package/dist/infrastructure/boot/canonicalMigrations.js +28 -0
  41. package/dist/infrastructure/boot/canonicalMigrations.js.map +1 -1
  42. package/dist/infrastructure/persistence/DatabaseEntryRepository.d.ts +10 -2
  43. package/dist/infrastructure/persistence/DatabaseEntryRepository.d.ts.map +1 -1
  44. package/dist/infrastructure/persistence/DatabaseEntryRepository.js +123 -11
  45. package/dist/infrastructure/persistence/DatabaseEntryRepository.js.map +1 -1
  46. package/dist/infrastructure/persistence/DatabaseRunObservationStore.d.ts +14 -0
  47. package/dist/infrastructure/persistence/DatabaseRunObservationStore.d.ts.map +1 -0
  48. package/dist/infrastructure/persistence/DatabaseRunObservationStore.js +68 -0
  49. package/dist/infrastructure/persistence/DatabaseRunObservationStore.js.map +1 -0
  50. package/dist/infrastructure/persistence/LifecycleHookingEntryRepository.d.ts +5 -0
  51. package/dist/infrastructure/persistence/LifecycleHookingEntryRepository.d.ts.map +1 -1
  52. package/dist/infrastructure/persistence/LifecycleHookingEntryRepository.js +13 -0
  53. package/dist/infrastructure/persistence/LifecycleHookingEntryRepository.js.map +1 -1
  54. package/dist/infrastructure/storage/SqliteMantleStorageAdapter.d.ts +5 -3
  55. package/dist/infrastructure/storage/SqliteMantleStorageAdapter.d.ts.map +1 -1
  56. package/dist/infrastructure/storage/SqliteMantleStorageAdapter.js +49 -16
  57. package/dist/infrastructure/storage/SqliteMantleStorageAdapter.js.map +1 -1
  58. package/dist/infrastructure/storage/SqliteMigrationArtifact.d.ts +17 -1
  59. package/dist/infrastructure/storage/SqliteMigrationArtifact.d.ts.map +1 -1
  60. package/dist/infrastructure/storage/SqliteMigrationArtifact.js +62 -6
  61. package/dist/infrastructure/storage/SqliteMigrationArtifact.js.map +1 -1
  62. package/dist/infrastructure/storage/SqliteSchemaTables.d.ts +4 -0
  63. package/dist/infrastructure/storage/SqliteSchemaTables.d.ts.map +1 -1
  64. package/dist/infrastructure/storage/SqliteSchemaTables.js +16 -2
  65. package/dist/infrastructure/storage/SqliteSchemaTables.js.map +1 -1
  66. package/dist/infrastructure/storage/SqliteViewCompiler.d.ts +1 -1
  67. package/dist/infrastructure/storage/SqliteViewCompiler.d.ts.map +1 -1
  68. package/dist/infrastructure/storage/SqliteViewCompiler.js +11 -2
  69. package/dist/infrastructure/storage/SqliteViewCompiler.js.map +1 -1
  70. package/dist/usecase/boot/ValidateBootUseCase.d.ts.map +1 -1
  71. package/dist/usecase/boot/ValidateBootUseCase.js +15 -0
  72. package/dist/usecase/boot/ValidateBootUseCase.js.map +1 -1
  73. package/dist/usecase/content/AtomicEntryWriteUseCase.d.ts +37 -0
  74. package/dist/usecase/content/AtomicEntryWriteUseCase.d.ts.map +1 -0
  75. package/dist/usecase/content/AtomicEntryWriteUseCase.js +108 -0
  76. package/dist/usecase/content/AtomicEntryWriteUseCase.js.map +1 -0
  77. package/dist/usecase/content/CreateDraftUseCase.d.ts +5 -0
  78. package/dist/usecase/content/CreateDraftUseCase.d.ts.map +1 -1
  79. package/dist/usecase/content/CreateDraftUseCase.js +8 -3
  80. package/dist/usecase/content/CreateDraftUseCase.js.map +1 -1
  81. package/dist/usecase/content/DeleteEntryUseCase.d.ts +6 -0
  82. package/dist/usecase/content/DeleteEntryUseCase.d.ts.map +1 -1
  83. package/dist/usecase/content/DeleteEntryUseCase.js +12 -8
  84. package/dist/usecase/content/DeleteEntryUseCase.js.map +1 -1
  85. package/dist/usecase/content/UpdateDraftUseCase.d.ts +9 -0
  86. package/dist/usecase/content/UpdateDraftUseCase.d.ts.map +1 -1
  87. package/dist/usecase/content/UpdateDraftUseCase.js +15 -9
  88. package/dist/usecase/content/UpdateDraftUseCase.js.map +1 -1
  89. package/dist/usecase/procedure/InvokeProcedureUseCase.d.ts +4 -1
  90. package/dist/usecase/procedure/InvokeProcedureUseCase.d.ts.map +1 -1
  91. package/dist/usecase/procedure/InvokeProcedureUseCase.js +10 -2
  92. package/dist/usecase/procedure/InvokeProcedureUseCase.js.map +1 -1
  93. package/package.json +2 -2
@@ -4,12 +4,15 @@ import type { PreparedMantleRevision } from "./domain/model/PreparedMantleRevisi
4
4
  import { type Clock } from "./domain/port/Clock.js";
5
5
  import type { DeferredHookDispatcher } from "./domain/port/DeferredHookDispatcher.js";
6
6
  import type { EntryReader } from "./domain/port/EntryReader.js";
7
+ import type { SweepExpiredRequest, SweepExpiredResult } from "./domain/port/ExpirySweeper.js";
8
+ import type { RunObservationStore } from "./domain/port/RunObservationStore.js";
7
9
  import type { MediaAsset, MediaStorage } from "./domain/port/MediaStorage.js";
8
10
  import { type IdGenerator } from "./domain/port/IdGenerator.js";
9
11
  import type { MantleStorageAdapter } from "./domain/port/MantleStorageAdapter.js";
10
12
  import type { LocalePolicyReader, SiteConfigRepository } from "./domain/port/SiteConfigRepository.js";
11
13
  import type { ViewQueryOptions } from "./domain/port/ViewQueryExecutor.js";
12
14
  import type { RuntimePlan } from "./domain/service/RuntimePlanCompiler.js";
15
+ import { AtomicEntryWriteUseCase } from "./usecase/content/AtomicEntryWriteUseCase.js";
13
16
  import { ArchiveUseCase, CreateDraftUseCase, DeleteEntryUseCase, GetEntryUseCase, ListEntriesUseCase, RequestPublishUseCase, UnpublishUseCase, UpdateDraftUseCase } from "./usecase/content/index.js";
14
17
  import type { RunDeferredHookRequest } from "./usecase/dto/lifecycle/index.js";
15
18
  import type { InvokeProcedureResponse } from "./usecase/dto/procedure/index.js";
@@ -18,6 +21,7 @@ import { type ExecuteViewResponse } from "./usecase/view/index.js";
18
21
  import { UpdateSiteSettingsUseCase } from "./usecase/site/index.js";
19
22
  import { type DeploymentPreparationOptions } from "./usecase/boot/ValidateBootUseCase.js";
20
23
  export interface MantleRuntimePorts {
24
+ readonly runObservations?: RunObservationStore;
21
25
  readonly localePolicy?: LocalePolicyReader;
22
26
  readonly deferredHookDispatcher?: DeferredHookDispatcher;
23
27
  readonly clock?: Clock;
@@ -38,6 +42,8 @@ export interface BootMantleRuntimeArgs {
38
42
  readonly ports?: MantleRuntimePorts;
39
43
  readonly handlers?: Readonly<Record<string, AnyHandler>>;
40
44
  readonly deployment?: Omit<DeploymentPreparationOptions, "handlerNames">;
45
+ /** The host has registered a scheduled-event entrypoint. Cloudflare opts in. */
46
+ readonly supportsScheduledTriggers?: boolean;
41
47
  }
42
48
  export interface InvokeMantleProcedureRequest {
43
49
  readonly procedure: string;
@@ -59,6 +65,7 @@ export interface InvokeMantleTriggerRequest {
59
65
  }
60
66
  /** Programmatic Core bound to one prepared semantic revision. */
61
67
  export interface MantleRuntime {
68
+ readonly runObservations?: RunObservationStore;
62
69
  readonly revision: string;
63
70
  /** Linked schemas needed by optional projections such as Mantle Web. */
64
71
  readonly schemas: ReadonlyMap<string, SchemaManifest>;
@@ -74,6 +81,10 @@ export interface MantleRuntime {
74
81
  readonly unpublish: UnpublishUseCase;
75
82
  readonly archive: ArchiveUseCase;
76
83
  readonly deleteEntry: DeleteEntryUseCase;
84
+ /** All-or-nothing create/update/delete across Schemas when storage supports it. */
85
+ readonly writeAtomically: AtomicEntryWriteUseCase;
86
+ /** Preview by default; `delete: true` explicitly removes one bounded page. */
87
+ sweepExpired(request: SweepExpiredRequest): Promise<SweepExpiredResult>;
77
88
  invokeProcedure<O = unknown>(request: InvokeMantleProcedureRequest): Promise<InvokeProcedureResponse<O>>;
78
89
  executeView<R = Record<string, unknown>>(request: ExecuteMantleViewRequest): Promise<ExecuteViewResponse<R>>;
79
90
  invokeTrigger<O = unknown>(request: InvokeMantleTriggerRequest): Promise<InvokeProcedureResponse<O>>;
@@ -1 +1 @@
1
- {"version":3,"file":"MantleRuntime.d.ts","sourceRoot":"","sources":["../src/MantleRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MantleRuntime.d.ts","sourceRoot":"","sources":["../src/MantleRuntime.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import { EntryDataValidator, runtimeDiagnostic, } from "@aotter/mantle-spec";
1
+ import { DiagnosticError, EntryDataValidator, runtimeDiagnostic, } from "@aotter/mantle-spec";
2
2
  import { SystemClock } from "./domain/port/Clock.js";
3
3
  import { buildHandlerRegistry, } from "./domain/port/HandlerRegistry.js";
4
4
  import { RandomUuidGenerator, } from "./domain/port/IdGenerator.js";
5
5
  import { TriggerIndex } from "./domain/service/TriggerIndex.js";
6
6
  import { LifecycleHookingEntryRepository } from "./infrastructure/persistence/LifecycleHookingEntryRepository.js";
7
+ import { AtomicEntryWriteUseCase } from "./usecase/content/AtomicEntryWriteUseCase.js";
7
8
  import { ArchiveUseCase, CreateDraftUseCase, DeleteEntryUseCase, GetEntryUseCase, ListEntriesUseCase, RequestPublishUseCase, UnpublishUseCase, UpdateDraftUseCase, } from "./usecase/content/index.js";
8
9
  import { RunDeferredHookUseCase, RunLifecycleHooksUseCase, } from "./usecase/lifecycle/index.js";
9
10
  import { CommitMediaUploadUseCase, CreateMediaUploadUseCase, DeleteMediaAssetUseCase, GetMediaAssetUseCase, ListMediaAssetsUseCase, UpdateMediaAssetUseCase, } from "./usecase/media/index.js";
@@ -13,6 +14,9 @@ import { UpdateSiteSettingsUseCase } from "./usecase/site/index.js";
13
14
  import { assertDeploymentPlan, prepareDeployment, } from "./usecase/boot/ValidateBootUseCase.js";
14
15
  /** Prepare and bind once. Hosts remain responsible for caching and retry policy. */
15
16
  export async function bootMantleRuntime(args) {
17
+ if (!args.supportsScheduledTriggers && args.plan.schedules.some((schedule) => schedule.enabled)) {
18
+ throw new Error("RESOURCE_UNAVAILABLE: this host cannot register scheduled Procedure Triggers.");
19
+ }
16
20
  const handlers = { ...(args.handlers ?? {}) };
17
21
  const prepared = await prepareDeployment(args.plan, args.storage, {
18
22
  ...args.deployment,
@@ -35,6 +39,27 @@ export function createMantleRuntime(args) {
35
39
  const idgen = ports.idgen ?? RandomUuidGenerator;
36
40
  const localePolicy = ports.localePolicy ?? prepared.localePolicy;
37
41
  const validator = new EntryDataValidator();
42
+ const sweepExpired = async (request) => {
43
+ if (!prepared.expiry)
44
+ throw new DiagnosticError(runtimeDiagnostic({
45
+ code: "RESOURCE_UNAVAILABLE", severity: "error", path: "runtime/sweepExpired",
46
+ message: "This storage adapter cannot sweep expired entries.",
47
+ }));
48
+ if (!schemasByName.get(request.collection)?.spec.ttl)
49
+ throw new DiagnosticError(runtimeDiagnostic({
50
+ code: "RESOURCE_UNAVAILABLE", severity: "error", path: "runtime/sweepExpired",
51
+ message: `Schema '${request.collection}' has no TTL policy.`,
52
+ }));
53
+ const limit = request.limit ?? 50;
54
+ if (!Number.isSafeInteger(limit) || limit < 1 || limit > 100 ||
55
+ (request.cursor !== undefined && (typeof request.cursor !== "string" || request.cursor.length > 200))) {
56
+ throw new DiagnosticError(runtimeDiagnostic({
57
+ code: "INPUT_VALIDATION_FAILED", severity: "error", path: "runtime/sweepExpired",
58
+ message: "Sweep requires a limit from 1 to 100 and an optional short cursor.",
59
+ }));
60
+ }
61
+ return prepared.expiry.sweepExpired({ ...request, limit });
62
+ };
38
63
  const triggerIndex = TriggerIndex.fromPlan(plan.lifecycleHooks, plan.triggers);
39
64
  let entries;
40
65
  const entriesProxy = {
@@ -48,9 +73,11 @@ export function createMantleRuntime(args) {
48
73
  findByDataFields: (request) => entries.findByDataFields(request),
49
74
  };
50
75
  const invokeBuiltin = new InvokeBuiltinUseCase(entriesProxy, schemasByName, clock, idgen, localePolicy, validator);
51
- const invokeProcedure = new InvokeProcedureUseCase(registry, invokeBuiltin, proceduresByName);
76
+ let atomicWrite;
77
+ const invokeProcedure = new InvokeProcedureUseCase(registry, invokeBuiltin, proceduresByName, (operations) => atomicWrite.execute(operations), sweepExpired);
52
78
  const lifecycleHooks = new RunLifecycleHooksUseCase(triggerIndex, proceduresByName, (request) => invokeProcedure.execute(request));
53
- entries = invalidateAfterWrites(new LifecycleHookingEntryRepository(prepared.entries, triggerIndex, lifecycleHooks, idgen, ports.deferredHookDispatcher), ports.onPublishingContentChange, (collection) => (schemasByName.get(collection)?.spec.lifecycle ?? "publishing") === "publishing");
79
+ const hookedEntries = new LifecycleHookingEntryRepository(prepared.entries, triggerIndex, lifecycleHooks, idgen, ports.deferredHookDispatcher);
80
+ entries = invalidateAfterWrites(hookedEntries, ports.onPublishingContentChange, (collection) => (schemasByName.get(collection)?.spec.lifecycle ?? "publishing") === "publishing");
54
81
  const createDraft = new CreateDraftUseCase(entries, schemasByName, clock, idgen, localePolicy, validator);
55
82
  const updateDraft = new UpdateDraftUseCase(entries, schemasByName, clock, localePolicy, validator);
56
83
  const getEntry = new GetEntryUseCase(entries);
@@ -59,6 +86,7 @@ export function createMantleRuntime(args) {
59
86
  const unpublish = new UnpublishUseCase(entries, schemasByName, clock);
60
87
  const archive = new ArchiveUseCase(entries, schemasByName, clock);
61
88
  const deleteEntry = new DeleteEntryUseCase(entries, schemasByName);
89
+ const writeAtomically = atomicWrite = new AtomicEntryWriteUseCase(prepared.atomicEntries, createDraft, updateDraft, deleteEntry, (write, previous) => hookedEntries.atomicHooks(write, previous), ports.onPublishingContentChange, (collection) => (schemasByName.get(collection)?.spec.lifecycle ?? "publishing") === "publishing");
62
90
  const executeView = new ExecuteViewUseCase(prepared.views, async (request) => {
63
91
  const procedure = proceduresByName.get(request.procedure);
64
92
  if (!procedure)
@@ -84,6 +112,7 @@ export function createMantleRuntime(args) {
84
112
  })
85
113
  : null;
86
114
  return {
115
+ runObservations: ports.runObservations,
87
116
  revision: plan.semanticFingerprint,
88
117
  schemas: schemasByName,
89
118
  entries: prepared.entries,
@@ -98,6 +127,8 @@ export function createMantleRuntime(args) {
98
127
  unpublish,
99
128
  archive,
100
129
  deleteEntry,
130
+ writeAtomically,
131
+ sweepExpired,
101
132
  invokeProcedure: (request) => {
102
133
  const procedure = proceduresByName.get(request.procedure);
103
134
  if (!procedure) {
@@ -1 +1 @@
1
- {"version":3,"file":"MantleRuntime.js","sourceRoot":"","sources":["../src/MantleRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,iBAAiB,GAElB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,WAAW,EAAc,MAAM,wBAAwB,CAAC;AAOjE,OAAO,EACL,oBAAoB,GACrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,mBAAmB,GAEpB,MAAM,8BAA8B,CAAC;AAQtC,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,+BAA+B,EAAE,MAAM,iEAAiE,CAAC;AAClH,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,kBAAkB,GAEnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EACL,oBAAoB,EACpB,iBAAiB,GAElB,MAAM,uCAAuC,CAAC;AAyF/C,oFAAoF;AACpF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAA2B;IACjE,MAAM,QAAQ,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;IAC9C,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;QAChE,GAAG,IAAI,CAAC,UAAU;QAClB,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;KACpC,CAAC,CAAC;IACH,OAAO,mBAAmB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAA6B;IAC/D,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC/B,oBAAoB,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,WAAW,CAAC;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,mBAAmB,CAAC;IACjD,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC;IACjE,MAAM,SAAS,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAC3C,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE/E,IAAI,OAAwB,CAAC;IAC7B,MAAM,YAAY,GAAoB;QACpC,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QAC5C,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QACtC,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QAC5C,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;QAC5C,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC;QAChE,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QACxC,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC;QAC9D,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC;KACjE,CAAC;IACF,MAAM,aAAa,GAAG,IAAI,oBAAoB,CAC5C,YAAY,EACZ,aAAa,EACb,KAAK,EACL,KAAK,EACL,YAAY,EACZ,SAAS,CACV,CAAC;IACF,MAAM,eAAe,GAAG,IAAI,sBAAsB,CAChD,QAAQ,EACR,aAAa,EACb,gBAAgB,CACjB,CAAC;IACF,MAAM,cAAc,GAAG,IAAI,wBAAwB,CACjD,YAAY,EACZ,gBAAgB,EAChB,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAC9C,CAAC;IACF,OAAO,GAAG,qBAAqB,CAC7B,IAAI,+BAA+B,CACjC,QAAQ,CAAC,OAAO,EAChB,YAAY,EACZ,cAAc,EACd,KAAK,EACL,KAAK,CAAC,sBAAsB,CAC7B,EACD,KAAK,CAAC,yBAAyB,EAC/B,CAAC,UAAU,EAAE,EAAE,CACb,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC,KAAK,YAAY,CACnF,CAAC;IAEF,MAAM,WAAW,GAAG,IAAI,kBAAkB,CACxC,OAAO,EACP,aAAa,EACb,KAAK,EACL,KAAK,EACL,YAAY,EACZ,SAAS,CACV,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,kBAAkB,CACxC,OAAO,EACP,aAAa,EACb,KAAK,EACL,YAAY,EACZ,SAAS,CACV,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,IAAI,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,IAAI,qBAAqB,CAC9C,OAAO,EACP,aAAa,EACb,KAAK,EACL,YAAY,EACZ,SAAS,CACV,CAAC;IACF,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,IAAI,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,IAAI,kBAAkB,CACxC,QAAQ,CAAC,KAAK,EACd,KAAK,EAAE,OAAO,EAAE,EAAE;QAChB,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,SAAS;YAAE,OAAO,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACnF,OAAO,eAAe,CAAC,OAAO,CAAC;YAC7B,SAAS;YACT,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC,CAAC;IACL,CAAC,EACD,IAAI,CAAC,KAAK,CACX,CAAC;IACF,MAAM,eAAe,GAAG,IAAI,sBAAsB,CAAC,cAAc,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC;IAC/C,MAAM,kBAAkB,GAAG,UAAU;QACnC,CAAC,CAAC,IAAI,yBAAyB,CAAC,UAAU,EAAE,KAAK,CAAC,yBAAyB,CAAC;QAC5E,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY;QAC9B,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,cAAc,EAAE;YAC7E,KAAK;YACL,KAAK;YACL,UAAU;YACV,QAAQ,EAAE,KAAK,CAAC,aAAa,IAAI,KAAK;SACvC,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC;IAET,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,mBAAmB;QAClC,OAAO,EAAE,aAAa;QACtB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,UAAU;QACV,kBAAkB;QAClB,KAAK;QACL,WAAW;QACX,WAAW;QACX,QAAQ;QACR,WAAW;QACX,cAAc;QACd,SAAS;QACT,OAAO;QACP,WAAW;QACX,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE;YAC3B,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1D,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YACtF,CAAC;YACD,OAAO,eAAe,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE;YACvB,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,IAAI;gBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YACrF,OAAO,WAAW,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,CAAC,OAAO;gBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YAC9F,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACvD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YACnF,CAAC;YACD,OAAO,eAAe,CAAC,OAAO,CAAC;gBAC7B,SAAS;gBACT,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,oBAAoB,OAAO,CAAC,OAAO,EAAE;aACxE,CAAC,CAAC;QACL,CAAC;QACD,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAClB,OAAqB,EACrB,MAAwC,EACxC,OAA4C,EAC5C,OAKC;IAED,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;IACD,OAAO;QACL,OAAO;QACP,YAAY,EAAE,IAAI,wBAAwB,CACxC,OAAO,EACP,OAAO,EACP,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,UAAU,EAClB,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAC/B;QACD,YAAY,EAAE,IAAI,wBAAwB,CACxC,OAAO,EACP,OAAO,EACP,OAAO,CAAC,KAAK,EACb,MAAM,CACP;QACD,UAAU,EAAE,IAAI,sBAAsB,CAAC,MAAM,CAAC;QAC9C,QAAQ,EAAE,IAAI,oBAAoB,CAAC,MAAM,CAAC;QAC1C,WAAW,EAAE,IAAI,uBAAuB,CAAC,MAAM,CAAC;QAChD,WAAW,EAAE,IAAI,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC;QACzD,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAClB,MAAiF;IAEjF,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,OAAO,CACd,IAAsC,EACtC,IAAY,EACZ,UAAmB;IAEnB,OAAO;QACL,EAAE,EAAE,KAAK;QACT,UAAU,EAAE,iBAAiB,CAAC;YAC5B,IAAI,EAAE,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,WAAW;YAChE,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,UAAU,IAAI,WAAW,IAAI,IAAI,IAAI,EAAE;YAC7C,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,aAAa,IAAI,2BAA2B;SACvD,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAsB,EACtB,UAA6C,EAC7C,wBAAyD;IAEzD,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9B,OAAO;QACL,KAAK,CAAC,MAAM,CAAC,IAAI;YACf,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC;gBAAE,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;YACtF,OAAO,GAAG,CAAC;QACb,CAAC;QACD,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;QACpC,KAAK,CAAC,MAAM,CAAC,IAAI;YACf,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC;gBAAE,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;YACtF,OAAO,GAAG,CAAC;QACb,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,IAAI;YACf,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,MAAM,CAAC,OAAO,IAAI,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC;gBAAE,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;YACxG,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,KAAK,CAAC,gBAAgB,CAAC,IAAI;YACzB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC;gBAAE,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;YACtF,OAAO,GAAG,CAAC;QACb,CAAC;QACD,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAChC,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC;QACtD,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,UAA+B;IACjE,IAAI,CAAC;QACH,MAAM,UAAU,EAAE,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iEAAiE,EAAE,KAAK,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"MantleRuntime.js","sourceRoot":"","sources":["../src/MantleRuntime.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import type { LifecycleHook, StaffRole } from "@aotter/mantle-spec";
2
2
  import type { EntryRow } from "./EntryRow.js";
3
+ import type { AtomicDraftOperation } from "../../usecase/content/AtomicEntryWriteUseCase.js";
4
+ import type { SweepExpiredRequest, SweepExpiredResult } from "../port/ExpirySweeper.js";
3
5
  /**
4
6
  * `HandlerContext` — auth + bindings handed to every Procedure
5
7
  * handler. The dispatcher fills this from the request:
@@ -40,6 +42,17 @@ export interface HandlerContext<Env = unknown> {
40
42
  * target. Undefined on standard Procedure invocations (HTTP Trigger,
41
43
  * MCP, admin endpoints). */
42
44
  readonly event?: HandlerLifecycleEvent;
45
+ /** One Cloudflare scheduled delivery; retries retain the same id. */
46
+ readonly schedule?: {
47
+ readonly id: string;
48
+ readonly trigger: string;
49
+ readonly cron: string;
50
+ readonly scheduledTime: number;
51
+ };
52
+ /** Runtime-bound semantic atomic entry writer, available in ref Procedures. */
53
+ readonly writeAtomically?: (operations: readonly AtomicDraftOperation[]) => Promise<readonly (EntryRow | null)[]>;
54
+ /** Preview or explicitly remove a bounded page of expired entries. */
55
+ readonly sweepExpired?: (request: SweepExpiredRequest) => Promise<SweepExpiredResult>;
43
56
  }
44
57
  export type CredentialKind = "session" | "oauth" | "api-key" | "personal-token";
45
58
  export interface HandlerAuthContext {
@@ -1 +1 @@
1
- {"version":3,"file":"HandlerContext.d.ts","sourceRoot":"","sources":["../../../src/domain/model/HandlerContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,cAAc,CAAC,GAAG,GAAG,OAAO;IAC3C,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;KAAE,GAAG,IAAI,CAAC;IACzE;;gEAE4D;IAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC;IACnC;+EAC2E;IAC3E,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB;;gEAE4D;IAC5D,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACnD;;;iCAG6B;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAEhF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,mEAAmE;IACnE,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,sEAAsE;IACtE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB;iEAC6D;IAC7D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;yEACqE;IACrE,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;CACjC;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,GAAG,OAAO,IAAI,CAC/D,KAAK,EAAE,CAAC,EACR,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,KACrB,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAEpB;;;;;GAKG;AAEH,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"HandlerContext.d.ts","sourceRoot":"","sources":["../../../src/domain/model/HandlerContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AAC7F,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAExF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,cAAc,CAAC,GAAG,GAAG,OAAO;IAC3C,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;KAAE,GAAG,IAAI,CAAC;IACzE;;gEAE4D;IAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC;IACnC;+EAC2E;IAC3E,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB;;gEAE4D;IAC5D,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACnD;;;iCAG6B;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,qBAAqB,CAAC;IACvC,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7H,+EAA+E;IAC/E,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,SAAS,oBAAoB,EAAE,KAAK,OAAO,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IAClH,sEAAsE;IACtE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACvF;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAEhF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,mEAAmE;IACnE,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,sEAAsE;IACtE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB;iEAC6D;IAC7D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;yEACqE;IACrE,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;CACjC;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,GAAG,OAAO,IAAI,CAC/D,KAAK,EAAE,CAAC,EACR,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,KACrB,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAEpB;;;;;GAKG;AAEH,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { ContentState } from "@aotter/mantle-spec";
2
+ import type { CreateEntryArgs, DeleteEntryArgs, UpdateEntryArgs } from "./EntryRepository.js";
3
+ /** A prepared semantic mutation; adapters must enforce uniqueness and commit the whole list or none. */
4
+ export type AtomicEntryWrite = {
5
+ readonly kind: "create";
6
+ readonly args: CreateEntryArgs;
7
+ } | {
8
+ readonly kind: "update";
9
+ readonly args: UpdateEntryArgs & {
10
+ readonly expectedStatus: ContentState;
11
+ readonly observedVersion: number;
12
+ };
13
+ } | {
14
+ readonly kind: "delete";
15
+ readonly args: DeleteEntryArgs & {
16
+ readonly observedVersion: number;
17
+ readonly observedStatus: ContentState;
18
+ };
19
+ };
20
+ export interface AtomicEntryWriter {
21
+ writeAtomically(writes: readonly AtomicEntryWrite[]): Promise<void>;
22
+ }
23
+ //# sourceMappingURL=AtomicEntryWriter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AtomicEntryWriter.d.ts","sourceRoot":"","sources":["../../../src/domain/port/AtomicEntryWriter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE9F,wGAAwG;AACxG,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;CAAE,GAC3D;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG;QAC1D,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC;QACtC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;KAClC,CAAA;CAAE,GACH;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG;QAC1D,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC;KACvC,CAAA;CAAE,CAAC;AAER,MAAM,WAAW,iBAAiB;IAChC,eAAe,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AtomicEntryWriter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AtomicEntryWriter.js","sourceRoot":"","sources":["../../../src/domain/port/AtomicEntryWriter.ts"],"names":[],"mappings":""}
@@ -14,6 +14,8 @@
14
14
  * See ADR-0019.
15
15
  */
16
16
  export interface DatabaseDriver {
17
+ /** Opt in only after proving batch rollback and changes() guard semantics. */
18
+ readonly supportsAtomicEntryWrites?: true;
17
19
  /** Build a parameterised statement. Bind values then execute. */
18
20
  prepare(sql: string): PreparedStatement;
19
21
  /** Execute multiple statements atomically. Adapters guarantee
@@ -1 +1 @@
1
- {"version":3,"file":"DatabaseDriver.d.ts","sourceRoot":"","sources":["../../../src/domain/port/DatabaseDriver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,cAAc;IAC7B,iEAAiE;IACjE,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAC;IACxC;;2BAEuB;IACvB,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;IAChF,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;CACtC;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC;;8BAE0B;IAC1B,IAAI,CAAC,GAAG,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,iBAAiB,CAAC;IAC3D,qEAAqE;IACrE,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACxD,+BAA+B;IAC/B,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC1D;8EAC0E;IAC1E,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CACvD;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,SAAS;IACxB;iDAC6C;IAC7C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;sEACkE;IAClE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB"}
1
+ {"version":3,"file":"DatabaseDriver.d.ts","sourceRoot":"","sources":["../../../src/domain/port/DatabaseDriver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,cAAc;IAC7B,8EAA8E;IAC9E,QAAQ,CAAC,yBAAyB,CAAC,EAAE,IAAI,CAAC;IAC1C,iEAAiE;IACjE,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAC;IACxC;;2BAEuB;IACvB,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;IAChF,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;CACtC;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC;;8BAE0B;IAC1B,IAAI,CAAC,GAAG,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,iBAAiB,CAAC;IAC3D,qEAAqE;IACrE,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACxD,+BAA+B;IAC/B,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC1D;8EAC0E;IAC1E,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CACvD;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,SAAS;IACxB;iDAC6C;IAC7C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;sEACkE;IAClE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,19 @@
1
+ /** Physical TTL cleanup. Reads already hide expired rows; deletion is opt-in. */
2
+ export interface SweepExpiredRequest {
3
+ readonly collection: string;
4
+ readonly limit?: number;
5
+ readonly cursor?: string;
6
+ /** Defaults to preview. Only true removes rows. */
7
+ readonly delete?: boolean;
8
+ }
9
+ export interface SweepExpiredResult {
10
+ readonly scanned: number;
11
+ readonly removed: number;
12
+ readonly nextCursor?: string;
13
+ }
14
+ export interface ExpirySweeper {
15
+ sweepExpired(request: SweepExpiredRequest & {
16
+ readonly limit: number;
17
+ }): Promise<SweepExpiredResult>;
18
+ }
19
+ //# sourceMappingURL=ExpirySweeper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpirySweeper.d.ts","sourceRoot":"","sources":["../../../src/domain/port/ExpirySweeper.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,mDAAmD;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACtG"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ExpirySweeper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpirySweeper.js","sourceRoot":"","sources":["../../../src/domain/port/ExpirySweeper.ts"],"names":[],"mappings":""}
@@ -1,6 +1,8 @@
1
1
  import type { RuntimePlan } from "../service/RuntimePlanCompiler.js";
2
+ import type { AtomicEntryWriter } from "./AtomicEntryWriter.js";
2
3
  import type { EntryReader } from "./EntryReader.js";
3
4
  import type { EntryRepository } from "./EntryRepository.js";
5
+ import type { ExpirySweeper } from "./ExpirySweeper.js";
4
6
  import type { MediaAssetRepository } from "./MediaAssetRepository.js";
5
7
  import type { PendingUploadRepository } from "./PendingUploadRepository.js";
6
8
  import type { LocalePolicyReader } from "./SiteConfigRepository.js";
@@ -8,6 +10,10 @@ import type { SiteConfigRepository } from "./SiteConfigRepository.js";
8
10
  import type { ViewQueryExecutor } from "./ViewQueryExecutor.js";
9
11
  export interface PreparedMantleStorage {
10
12
  readonly entries: EntryRepository & EntryReader;
13
+ /** Absence means the adapter cannot promise all-or-nothing entry writes. */
14
+ readonly atomicEntries?: AtomicEntryWriter;
15
+ /** Absence means this adapter cannot physically sweep expired rows. */
16
+ readonly expiry?: ExpirySweeper;
11
17
  readonly views: ViewQueryExecutor;
12
18
  readonly localePolicy?: LocalePolicyReader;
13
19
  readonly siteConfig?: SiteConfigRepository;
@@ -18,6 +24,8 @@ export interface PreparedMantleStorage {
18
24
  export interface MantleStorageAdapter {
19
25
  /** Native View dialects accepted by this adapter. Declarative Views are required. */
20
26
  readonly nativeViewDialects?: readonly string[];
27
+ /** Declares logical TTL filtering on every semantic read and physical sweep support. */
28
+ readonly supportsTtl?: boolean;
21
29
  prepare(plan: RuntimePlan): Promise<PreparedMantleStorage>;
22
30
  }
23
31
  //# sourceMappingURL=MantleStorageAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MantleStorageAdapter.d.ts","sourceRoot":"","sources":["../../../src/domain/port/MantleStorageAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,WAAW,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,oBAAoB,CAAC;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,uBAAuB,CAAC;CACnD;AAED,4EAA4E;AAC5E,MAAM,WAAW,oBAAoB;IACnC,qFAAqF;IACrF,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC5D"}
1
+ {"version":3,"file":"MantleStorageAdapter.d.ts","sourceRoot":"","sources":["../../../src/domain/port/MantleStorageAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,WAAW,CAAC;IAChD,4EAA4E;IAC5E,QAAQ,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAC3C,uEAAuE;IACvE,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,oBAAoB,CAAC;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,uBAAuB,CAAC;CACnD;AAED,4EAA4E;AAC5E,MAAM,WAAW,oBAAoB;IACnC,qFAAqF;IACrF,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,wFAAwF;IACxF,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC5D"}
@@ -0,0 +1,26 @@
1
+ /** Safe run facts. The host owns persistence and retention. */
2
+ export interface RunObservation {
3
+ readonly scheduleId: string;
4
+ readonly runId: string;
5
+ readonly attempt: number;
6
+ readonly scheduledAt: number;
7
+ readonly startedAt: number;
8
+ readonly finishedAt: number | null;
9
+ readonly status: "started" | "succeeded" | "failed";
10
+ readonly durationMs: number | null;
11
+ readonly errorSummary: string | null;
12
+ readonly counts: {
13
+ readonly scanned?: number;
14
+ readonly removed?: number;
15
+ } | null;
16
+ }
17
+ export interface RunObservationStore {
18
+ start(input: Pick<RunObservation, "scheduleId" | "runId" | "scheduledAt" | "startedAt">): Promise<number>;
19
+ finish(input: Pick<RunObservation, "runId" | "attempt" | "errorSummary" | "counts"> & {
20
+ readonly finishedAt: number;
21
+ readonly status: "succeeded" | "failed";
22
+ }): Promise<void>;
23
+ recent(limit: number): Promise<readonly RunObservation[]>;
24
+ latestBySchedule(): Promise<readonly RunObservation[]>;
25
+ }
26
+ //# sourceMappingURL=RunObservationStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RunObservationStore.d.ts","sourceRoot":"","sources":["../../../src/domain/port/RunObservationStore.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACpD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAClF;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,GAAG,OAAO,GAAG,aAAa,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1G,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS,GAAG,cAAc,GAAG,QAAQ,CAAC,GAAG;QACpF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;KACzC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,CAAC;IAC1D,gBAAgB,IAAI,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,CAAC;CACxD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=RunObservationStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RunObservationStore.js","sourceRoot":"","sources":["../../../src/domain/port/RunObservationStore.ts"],"names":[],"mappings":""}
@@ -4,13 +4,19 @@ import { type AuthPredicate, type FilterAst, type HttpMethod, type JsonSchema, t
4
4
  * generated by an older `mantle generate` fails closed instead of running
5
5
  * with stale semantics. v2: public Views over publishing Schemas carry the
6
6
  * published-only predicate and native column names are reserved (#1007,
7
- * #1008); a v1 artifact has neither.
7
+ * #1008); a v1 artifact has neither. v3 adds scheduled Trigger descriptors;
8
+ * a v2 artifact has no schedule capability marker. v4 adds Schema TTL read
9
+ * semantics; older plans must not expose expired entries.
8
10
  */
9
- export declare const RUNTIME_PLAN_VERSION: 2;
11
+ export declare const RUNTIME_PLAN_VERSION: 4;
10
12
  export interface RuntimeSchemaPlan {
11
13
  readonly name: string;
12
14
  readonly manifest: SchemaManifest;
13
15
  readonly translationParent?: string;
16
+ readonly ttl?: {
17
+ readonly field: string;
18
+ readonly expireAfterSeconds: number;
19
+ };
14
20
  }
15
21
  export interface AuthorizationPlan {
16
22
  readonly all: readonly AuthPredicate[];
@@ -65,6 +71,13 @@ export interface HttpRoutePlan {
65
71
  readonly path: string;
66
72
  readonly procedure: string;
67
73
  }
74
+ export interface SchedulePlan {
75
+ readonly trigger: string;
76
+ readonly cron: string;
77
+ readonly procedure: string;
78
+ readonly enabled: boolean;
79
+ readonly host: "cloudflare";
80
+ }
68
81
  interface McpToolPlanBase {
69
82
  readonly name: string;
70
83
  readonly ownerName: string;
@@ -86,6 +99,7 @@ export interface RuntimePlanData {
86
99
  readonly triggers: Readonly<Record<string, RuntimeTriggerPlan>>;
87
100
  readonly lifecycleHooks: readonly LifecycleHookPlan[];
88
101
  readonly httpRoutes: readonly HttpRoutePlan[];
102
+ readonly schedules: readonly SchedulePlan[];
89
103
  readonly mcpTools: readonly McpToolPlan[];
90
104
  }
91
105
  export interface RuntimePlan extends RuntimePlanData {
@@ -1 +1 @@
1
- {"version":3,"file":"RuntimePlanCompiler.d.ts","sourceRoot":"","sources":["../../../src/domain/service/RuntimePlanCompiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RuntimePlanCompiler.d.ts","sourceRoot":"","sources":["../../../src/domain/service/RuntimePlanCompiler.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,11 @@ import { MCP_CREATE_DRAFT_PREFIX, MCP_CREATE_RECORD_PREFIX, MCP_QUERY_VIEW_PREFI
4
4
  * generated by an older `mantle generate` fails closed instead of running
5
5
  * with stale semantics. v2: public Views over publishing Schemas carry the
6
6
  * published-only predicate and native column names are reserved (#1007,
7
- * #1008); a v1 artifact has neither.
7
+ * #1008); a v1 artifact has neither. v3 adds scheduled Trigger descriptors;
8
+ * a v2 artifact has no schedule capability marker. v4 adds Schema TTL read
9
+ * semantics; older plans must not expose expired entries.
8
10
  */
9
- export const RUNTIME_PLAN_VERSION = 2;
11
+ export const RUNTIME_PLAN_VERSION = 4;
10
12
  /** Pure projection from sealed semantics to the adapter-neutral runtime contract. */
11
13
  export function compileRuntimePlan(linked) {
12
14
  const schemas = toRecord(linked.schemas.map(({ manifest, translationParent }) => {
@@ -14,6 +16,7 @@ export function compileRuntimePlan(linked) {
14
16
  return {
15
17
  name: copy.metadata.name,
16
18
  manifest: copy,
19
+ ...(copy.spec.ttl ? { ttl: copy.spec.ttl } : {}),
17
20
  ...(translationParent
18
21
  ? { translationParent: translationParent.manifest.metadata.name }
19
22
  : {}),
@@ -67,6 +70,13 @@ export function compileRuntimePlan(linked) {
67
70
  : [])
68
71
  .sort((a, b) => compareText(`${a.method} ${a.path}`, `${b.method} ${b.path}`));
69
72
  const mcpTools = compileMcpTools(schemas, views, triggers);
73
+ const schedules = Object.values(triggers)
74
+ .flatMap((trigger) => trigger.manifest.spec.source.kind === "schedule"
75
+ ? [{ trigger: trigger.name, cron: trigger.manifest.spec.source.cron,
76
+ procedure: trigger.target, enabled: trigger.manifest.spec.source.enabled !== false,
77
+ host: "cloudflare" }]
78
+ : [])
79
+ .sort((a, b) => compareText(a.trigger, b.trigger));
70
80
  const semantics = {
71
81
  version: RUNTIME_PLAN_VERSION,
72
82
  schemas,
@@ -75,6 +85,7 @@ export function compileRuntimePlan(linked) {
75
85
  triggers,
76
86
  lifecycleHooks,
77
87
  httpRoutes,
88
+ schedules,
78
89
  mcpTools,
79
90
  };
80
91
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"RuntimePlanCompiler.js","sourceRoot":"","sources":["../../../src/domain/service/RuntimePlanCompiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RuntimePlanCompiler.js","sourceRoot":"","sources":["../../../src/domain/service/RuntimePlanCompiler.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,8 @@ export interface AssertEntryWritableArgs {
13
13
  * work-in-progress entry can be saved incomplete. Publish paths
14
14
  * omit this, so completeness is enforced before an entry goes live. */
15
15
  readonly partial?: boolean;
16
+ /** Atomic groups defer uniqueness to the transaction's database constraints. */
17
+ readonly skipUniquePreflight?: boolean;
16
18
  }
17
19
  /** Shared post-projection guard for every authoring path.
18
20
  *
@@ -1 +1 @@
1
- {"version":3,"file":"EntryWriteGuard.d.ts","sourceRoot":"","sources":["../../../../src/domain/service/io/EntryWriteGuard.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,kBAAkB,EAGlB,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC;IACzC;;4EAEwE;IACxE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOtF"}
1
+ {"version":3,"file":"EntryWriteGuard.d.ts","sourceRoot":"","sources":["../../../../src/domain/service/io/EntryWriteGuard.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,kBAAkB,EAGlB,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC;IACzC;;4EAEwE;IACxE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,gFAAgF;IAChF,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACxC;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOtF"}