@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
@@ -1,28 +1,68 @@
1
1
  import { CANONICAL_MIGRATIONS } from "../boot/canonicalMigrations.js";
2
+ import { splitSqlStatements } from "../boot/SqliteMigrationRunner.js";
2
3
  import { isAdditiveSchemaTableChange, schemaTableMigrations, schemaTableProjection, validateSqliteSchemaTables, } from "./SqliteSchemaTables.js";
3
4
  /** Build the immutable SQLite artifact reviewed and replayed by deployment. */
4
- export async function buildSqliteMigrationArtifact(sourceSchemas, targetSchemas) {
5
+ export async function buildSqliteMigrationArtifact(sourceSchemas, targetSchemas, sourceState = {}) {
5
6
  const source = [...validateSqliteSchemaTables(sourceSchemas)];
6
7
  const target = [...validateSqliteSchemaTables(targetSchemas)];
7
8
  const sourceByName = new Map(source.map((schema) => [schema.metadata.name.toLowerCase(), schema]));
8
- const destructive = target.some((schema) => {
9
+ const targetNames = new Set(target.map((schema) => schema.metadata.name.toLowerCase()));
10
+ const reviewedUniqueIndexes = target.flatMap((schema) => {
9
11
  const previous = sourceByName.get(schema.metadata.name.toLowerCase());
10
- return previous !== undefined && (previous.metadata.name !== schema.metadata.name ||
11
- !isAdditiveSchemaTableChange(schemaTableProjection(previous), schemaTableProjection(schema)));
12
+ if (!previous)
13
+ return [];
14
+ const before = new Map((previous.spec.uniqueIndexes ?? []).map((fields) => [JSON.stringify(fields), fields]));
15
+ const after = new Map((schema.spec.uniqueIndexes ?? []).map((fields) => [JSON.stringify(fields), fields]));
16
+ const removed = [...before].filter(([key]) => !after.has(key)).map(([, fields]) => fields);
17
+ const added = [...after].filter(([key]) => !before.has(key)).map(([, fields]) => fields);
18
+ return removed.length || added.length ? [{ schema: schema.metadata.name, removed, added }] : [];
12
19
  });
20
+ const structuralDestructive = source.some((schema) => !targetNames.has(schema.metadata.name.toLowerCase())) || target.some((schema) => {
21
+ const previous = sourceByName.get(schema.metadata.name.toLowerCase());
22
+ if (!previous)
23
+ return false;
24
+ const sameUnique = { ...schema, spec: { ...schema.spec,
25
+ uniqueIndexes: previous.spec.uniqueIndexes, indexes: previous.spec.indexes } };
26
+ return previous.metadata.name !== schema.metadata.name ||
27
+ Object.keys(previous.spec.schema.properties ?? {}).some((field) => !Object.hasOwn(schema.spec.schema.properties ?? {}, field)) ||
28
+ !isAdditiveSchemaTableChange(schemaTableProjection(previous), schemaTableProjection(sameUnique));
29
+ });
30
+ const reviewed = sourceState.reviewUniqueIndexes && reviewedUniqueIndexes.length > 0 && !structuralDestructive;
31
+ const destructive = structuralDestructive || (reviewedUniqueIndexes.length > 0 && !reviewed);
13
32
  const sourceFingerprint = await storageFingerprint(source);
14
33
  const targetFingerprint = await storageFingerprint(target);
15
34
  const sourceMigrationIds = new Set(schemaTableMigrations(source).map(({ id }) => id));
35
+ const sourceUnique = schemaTableMigrations(source).filter(({ id }) => id.includes(":unique_"));
36
+ const targetUnique = schemaTableMigrations(target).filter(({ id }) => id.includes(":unique_"));
37
+ const sourceUniqueIds = new Set(sourceUnique.map(({ id }) => id));
38
+ const targetUniqueIds = new Set(targetUnique.map(({ id }) => id));
39
+ const addedUniqueIds = new Set(targetUnique.filter(({ id }) => !sourceUniqueIds.has(id)).map(({ id }) => id));
40
+ const appliedMigrationIds = new Set(sourceState.appliedMigrationIds ?? []);
16
41
  const content = {
17
42
  version: 2,
18
43
  sourceFingerprint,
19
44
  targetFingerprint,
45
+ targetCanonicalVersion: CANONICAL_MIGRATIONS.at(-1).id,
20
46
  destructive,
21
47
  migrations: [
22
- ...CANONICAL_MIGRATIONS,
23
- ...schemaTableMigrations(target).filter(({ id }) => !sourceMigrationIds.has(id)),
48
+ ...CANONICAL_MIGRATIONS.filter(({ id }) => !appliedMigrationIds.has(id)),
49
+ ...schemaTableMigrations(target).filter(({ id }) => !sourceMigrationIds.has(id) && !appliedMigrationIds.has(id) && !(reviewed && addedUniqueIds.has(id))),
50
+ ...(reviewed ? targetUnique.filter(({ id }) => addedUniqueIds.has(id)).map((migration) => ({
51
+ ...migration, id: `reviewed-unique:${targetFingerprint}:create:${migration.id}`,
52
+ })) : []),
53
+ ...(reviewed ? sourceUnique.filter(({ id }) => !targetUniqueIds.has(id)).map((migration) => {
54
+ const name = migration.sql.match(/CREATE UNIQUE INDEX IF NOT EXISTS ("(?:[^"]|"")+") ON /)?.[1];
55
+ if (!name)
56
+ throw new Error("Invalid generated unique index SQL.");
57
+ return {
58
+ id: `reviewed-unique:${targetFingerprint}:drop:${migration.id}`,
59
+ description: "Remove old unique index after target constraint is active",
60
+ sql: `DROP INDEX IF EXISTS ${name}`,
61
+ };
62
+ }) : []),
24
63
  ],
25
64
  projections: target.map((schema) => ({ name: schema.metadata.name, projection: schemaTableProjection(schema) })),
65
+ ...(reviewed ? { reviewedUniqueIndexes } : {}),
26
66
  };
27
67
  return { ...content, checksum: await sha256(JSON.stringify(content)) };
28
68
  }
@@ -31,6 +71,22 @@ export async function verifySqliteMigrationArtifact(artifact) {
31
71
  if (await sha256(JSON.stringify(content)) !== checksum)
32
72
  throw new Error("SQLite migration artifact checksum mismatch.");
33
73
  }
74
+ /** Render a managed SQLite migration; deployment applies this file, not Runtime boot. */
75
+ export function renderSqliteManagedMigration(artifact, source) {
76
+ const quote = (value) => `'${value.replaceAll("'", "''")}'`;
77
+ const version = source?.canonicalVersion && source.canonicalVersion >= "0006-managed-runtime-version"
78
+ ? `(SELECT CASE WHEN canonical_version=${quote(source.canonicalVersion)} THEN ${quote(artifact.targetCanonicalVersion)} ELSE NULL END FROM _mantle_managed_runtime_state WHERE id=1)`
79
+ : quote(artifact.targetCanonicalVersion);
80
+ const fingerprint = source
81
+ ? `(SELECT CASE WHEN fingerprint=${quote(artifact.sourceFingerprint)} THEN ${quote(artifact.targetFingerprint)} ELSE NULL END FROM _mantle_storage_state WHERE id=1)`
82
+ : quote(artifact.targetFingerprint);
83
+ return [
84
+ ...artifact.migrations.flatMap(({ sql }) => splitSqlStatements(sql).map((statement) => `${statement};`)),
85
+ ...artifact.projections.map(({ name, projection }) => `INSERT INTO _mantle_schema_tables(name,projection) VALUES (${quote(name)},${quote(projection)}) ON CONFLICT(name) DO UPDATE SET projection=excluded.projection;`),
86
+ `INSERT INTO _mantle_managed_runtime_state(id,canonical_version) VALUES (1,${version}) ON CONFLICT(id) DO UPDATE SET canonical_version=excluded.canonical_version;`,
87
+ `INSERT INTO _mantle_storage_state(id,fingerprint) VALUES (1,${fingerprint}) ON CONFLICT(id) DO UPDATE SET fingerprint=excluded.fingerprint;`,
88
+ ].join("\n--> statement-breakpoint\n") + "\n";
89
+ }
34
90
  export async function storageFingerprint(schemas) {
35
91
  return sha256(JSON.stringify(validateSqliteSchemaTables(schemas).map((schema) => [schema.metadata.name, JSON.parse(schemaTableProjection(schema))])));
36
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SqliteMigrationArtifact.js","sourceRoot":"","sources":["../../../src/infrastructure/storage/SqliteMigrationArtifact.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqliteMigrationArtifact.js","sourceRoot":"","sources":["../../../src/infrastructure/storage/SqliteMigrationArtifact.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ export declare function schemaTableMigrations(schemas: Iterable<SchemaManifest>)
14
14
  export declare function schemaTableProjection(schema: SchemaManifest): string;
15
15
  /** Automatic deploys may expand storage but never reinterpret values or alter uniqueness. */
16
16
  export declare function isAdditiveSchemaTableChange(previous: string, next: string): boolean;
17
+ /** A managed database may serve an older plan only when its stored table is an additive superset. */
18
+ export declare function coversSchemaTableProjection(expected: string, actual: string): boolean;
17
19
  /** Persist physical ownership as a superset so an additive rollback remains valid. */
18
20
  export declare function mergeSchemaTableProjections(previous: string | undefined, next: string): string;
19
21
  /** Logical entry column name → physical SQLite column. The parser rejects
@@ -24,4 +26,6 @@ export declare function fieldSql(schema: SchemaManifest, field: string, alias?:
24
26
  export declare function encodeField(value: unknown, property: JsonSchema): unknown;
25
27
  export declare function decodeField(value: unknown, property: JsonSchema): unknown;
26
28
  export declare function quoteIdent(value: string): string;
29
+ /** Below SQLite's supported date range, no stored date can have expired. */
30
+ export declare function ttlCutoff(now: number, seconds: number): string | null;
27
31
  //# sourceMappingURL=SqliteSchemaTables.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SqliteSchemaTables.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/storage/SqliteSchemaTables.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAErE,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAgBhC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAOD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,iBAAiB,CAoB3E;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,SAAS,cAAc,EAAE,CAWvG;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,SAAS,SAAS,EAAE,CAiE7F;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAkBpE;AAED,6FAA6F;AAC7F,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAWnF;AAED,sFAAsF;AACtF,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAa9F;AAED;2EAC2E;AAC3E,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOzD,CAAC;AAEH,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIhF;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI7F;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,CAMzE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,CAazE;AA2CD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD"}
1
+ {"version":3,"file":"SqliteSchemaTables.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/storage/SqliteSchemaTables.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAErE,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAgBhC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAOD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,iBAAiB,CAoB3E;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,SAAS,cAAc,EAAE,CAWvG;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,SAAS,SAAS,EAAE,CAiE7F;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAkBpE;AAED,6FAA6F;AAC7F,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAWnF;AAED,qGAAqG;AACrG,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CASrF;AAED,sFAAsF;AACtF,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAa9F;AAED;2EAC2E;AAC3E,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOzD,CAAC;AAEH,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIhF;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI7F;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,CAMzE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,CAazE;AA2CD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AACD,4EAA4E;AAC5E,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGrE"}
@@ -3,8 +3,8 @@ import { isNullableJsonSchema } from "../../domain/model/EntryRow.js";
3
3
  export { isNullableJsonSchema };
4
4
  const SYSTEM_COLUMNS = ["_mantle_id", "_mantle_status", "_mantle_version", "_mantle_author_id", "_mantle_created_at", "_mantle_updated_at"];
5
5
  const RESERVED_TABLES = new Set([
6
- "entries", "_migrations", "_mantle_boot_state", "_mantle_schema_tables", "_mantle_storage_state",
7
- "site_config", "user", "session", "account", "verification", "jwks", "oauthclient",
6
+ "entries", "_migrations", "d1_migrations", "_mantle_boot_state", "_mantle_schema_tables", "_mantle_storage_state", "_mantle_managed_runtime_state",
7
+ "site_config", "sites_users", "user", "session", "account", "verification", "jwks", "oauthclient",
8
8
  "oauthresource", "oauthclientresource", "oauthrefreshtoken", "oauthaccesstoken", "oauthconsent",
9
9
  "oauthclientassertion", "media_assets", "pending_media_uploads",
10
10
  ]);
@@ -145,6 +145,15 @@ export function isAdditiveSchemaTableChange(previous, next) {
145
145
  const uniqueAfter = new Set(after.indexes.filter(([unique]) => unique).map(indexKey));
146
146
  return setsEqual(uniqueBefore, uniqueAfter);
147
147
  }
148
+ /** A managed database may serve an older plan only when its stored table is an additive superset. */
149
+ export function coversSchemaTableProjection(expected, actual) {
150
+ const want = parseProjection(expected);
151
+ const have = parseProjection(actual);
152
+ const columns = new Map(have.columns.map((column) => [column[0].toLowerCase(), column]));
153
+ if (want.columns.some((column) => JSON.stringify(columns.get(column[0].toLowerCase())) !== JSON.stringify(column)))
154
+ return false;
155
+ return setsEqual(new Set(want.indexes.filter(([unique]) => unique).map(indexKey)), new Set(have.indexes.filter(([unique]) => unique).map(indexKey)));
156
+ }
148
157
  /** Persist physical ownership as a superset so an additive rollback remains valid. */
149
158
  export function mergeSchemaTableProjections(previous, next) {
150
159
  if (!previous)
@@ -251,4 +260,9 @@ function utf8Hex(value) {
251
260
  export function quoteIdent(value) {
252
261
  return `"${value.replace(/"/g, '""')}"`;
253
262
  }
263
+ /** Below SQLite's supported date range, no stored date can have expired. */
264
+ export function ttlCutoff(now, seconds) {
265
+ const cutoff = now - seconds * 1000;
266
+ return cutoff < Date.parse("0000-01-01T00:00:00.000Z") ? null : new Date(cutoff).toISOString();
267
+ }
254
268
  //# sourceMappingURL=SqliteSchemaTables.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SqliteSchemaTables.js","sourceRoot":"","sources":["../../../src/infrastructure/storage/SqliteSchemaTables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqliteSchemaTables.js","sourceRoot":"","sources":["../../../src/infrastructure/storage/SqliteSchemaTables.ts"],"names":[],"mappings":"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"}
@@ -27,5 +27,5 @@ export interface PreparedSqliteView {
27
27
  }
28
28
  export declare function compileView(view: ViewManifest, options?: CompileViewOptions, schema?: SchemaManifest): CompiledView;
29
29
  /** Lower one logical View into a reusable SQLite query binder. */
30
- export declare function prepareSqliteView(view: LogicalViewPlan, viewName: string, schema?: SchemaManifest): PreparedSqliteView;
30
+ export declare function prepareSqliteView(view: LogicalViewPlan, viewName: string, schema?: SchemaManifest, now?: () => number): PreparedSqliteView;
31
31
  //# sourceMappingURL=SqliteViewCompiler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SqliteViewCompiler.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/storage/SqliteViewCompiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,6CAA6C,CAAC;AAErD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAElD,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,YAAY,CAAC;IACjD,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;CACpD;AAoCD,wBAAgB,WAAW,CACzB,IAAI,EAAE,YAAY,EAClB,OAAO,GAAE,kBAAuB,EAChC,MAAM,CAAC,EAAE,cAAc,GACtB,YAAY,CAEd;AAED,kEAAkE;AAClE,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,cAAc,GACtB,kBAAkB,CA4CpB"}
1
+ {"version":3,"file":"SqliteViewCompiler.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/storage/SqliteViewCompiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,6CAA6C,CAAC;AAErD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAElD,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,YAAY,CAAC;IACjD,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;CACpD;AAoCD,wBAAgB,WAAW,CACzB,IAAI,EAAE,YAAY,EAClB,OAAO,GAAE,kBAAuB,EAChC,MAAM,CAAC,EAAE,cAAc,GACtB,YAAY,CAEd;AAED,kEAAkE;AAClE,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,cAAc,EACvB,GAAG,GAAE,MAAM,MAAiB,GAC3B,kBAAkB,CAqDpB"}
@@ -1,5 +1,5 @@
1
1
  import { DiagnosticError, isCtxUserRef, isParamRef, runtimeDiagnostic, } from "@aotter/mantle-spec";
2
- import { decodeField, fieldSql } from "./SqliteSchemaTables.js";
2
+ import { decodeField, fieldSql, ttlCutoff } from "./SqliteSchemaTables.js";
3
3
  import { clampPage, clampShow } from "../../domain/service/Pagination.js";
4
4
  import { compileLogicalView, } from "../../domain/service/RuntimePlanCompiler.js";
5
5
  // alias → SQL column. Aliases mirror RESERVED_ENTRY_COLUMNS from
@@ -30,7 +30,7 @@ export function compileView(view, options = {}, schema) {
30
30
  return prepareSqliteView(compileLogicalView(view, schema), view.metadata.name, schema).bind(options);
31
31
  }
32
32
  /** Lower one logical View into a reusable SQLite query binder. */
33
- export function prepareSqliteView(view, viewName, schema) {
33
+ export function prepareSqliteView(view, viewName, schema, now = Date.now) {
34
34
  if (view.kind === "native") {
35
35
  return {
36
36
  bind: prepareSqlView(view),
@@ -58,6 +58,15 @@ export function prepareSqliteView(view, viewName, schema) {
58
58
  whereParts.push(`(${filter.sql})`);
59
59
  sqlParams.push(...filter.bind(options.params ?? {}, options.ctxUserId));
60
60
  }
61
+ if (schema?.spec.ttl) {
62
+ const { field, expireAfterSeconds } = schema.spec.ttl;
63
+ const cutoff = ttlCutoff(now(), expireAfterSeconds);
64
+ if (cutoff !== null) {
65
+ const column = fieldSql(schema, field);
66
+ whereParts.push(`(${column} IS NULL OR julianday(${column}) IS NULL OR julianday(${column}) > julianday(?))`);
67
+ sqlParams.push(cutoff);
68
+ }
69
+ }
61
70
  const listQuery = compileListQuery(options, (field) => fieldRefExpr(field, schema));
62
71
  whereParts.push(...listQuery.conditions);
63
72
  sqlParams.push(...listQuery.params);
@@ -1 +1 @@
1
- {"version":3,"file":"SqliteViewCompiler.js","sourceRoot":"","sources":["../../../src/infrastructure/storage/SqliteViewCompiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqliteViewCompiler.js","sourceRoot":"","sources":["../../../src/infrastructure/storage/SqliteViewCompiler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEf,YAAY,EACZ,UAAU,EACV,iBAAiB,GAIlB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAE1E,OAAO,EACL,kBAAkB,GAEnB,MAAM,6CAA6C,CAAC;AA6BrD,iEAAiE;AACjE,sEAAsE;AACtE,qEAAqE;AACrE,wDAAwD;AACxD,MAAM,eAAe,GAAqC;IACxD,EAAE,EAAE,YAAY;IAChB,MAAM,EAAE,gBAAgB;IACxB,OAAO,EAAE,iBAAiB;IAC1B,SAAS,EAAE,oBAAoB;IAC/B,SAAS,EAAE,oBAAoB;IAC/B,QAAQ,EAAE,mBAAmB;CAC9B,CAAC;AACF,MAAM,WAAW,GACf,eAAe,CAAC;AAClB,KAAK,WAAW,CAAC;AAEjB,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;KACvD,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,KAAK,EAAE,CAAC,CAAC;KACnE,IAAI,CAAC,IAAI,CAAC,CAAC;AAQd,MAAM,iBAAiB,GAAiD;IACtE,EAAE,EAAE,GAAG;IACP,EAAE,EAAE,GAAG;IACP,GAAG,EAAE,IAAI;IACT,EAAE,EAAE,GAAG;IACP,GAAG,EAAE,IAAI;CACV,CAAC;AAEF,MAAM,UAAU,WAAW,CACzB,IAAkB,EAClB,UAA8B,EAAE,EAChC,MAAuB;IAEvB,OAAO,iBAAiB,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACvG,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,iBAAiB,CAC/B,IAAqB,EACrB,QAAgB,EAChB,MAAuB,EACvB,MAAoB,IAAI,CAAC,GAAG;IAE5B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO;YACL,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC;YAC1B,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI;SAC9B,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,IAAI,eAAe,CACvB,iBAAiB,CAAC;YAChB,IAAI,EAAE,gBAAgB;YACtB,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;YAC3B,QAAQ,EAAE,WAAW,IAAI,CAAC,IAAI,gCAAgC;YAC9D,OAAO,EAAE,SAAS,QAAQ,oCAAoC,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI;SACvF,CAAC,CACH,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5E,OAAO;QACL,IAAI,CAAC,OAAO,GAAG,EAAE;YACf,MAAM,SAAS,GAAc,EAAE,CAAC;YAChC,MAAM,UAAU,GAAa,EAAE,CAAC;YAChC,IAAI,MAAM,EAAE,CAAC;gBACX,UAAU,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;gBACnC,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;YAC1E,CAAC;YACD,IAAI,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;gBACrB,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;gBACtD,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,EAAE,kBAAkB,CAAC,CAAC;gBACpD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACpB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAE,CAAC;oBACxC,UAAU,CAAC,IAAI,CAAC,IAAI,MAAM,yBAAyB,MAAM,0BAA0B,MAAM,mBAAmB,CAAC,CAAC;oBAC9G,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;YACD,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YACpF,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;YACzC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1D,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9C,OAAO;gBACL,GAAG,EAAE,UAAU,UAAU,SAAS,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,UAAU,aAAa,WAAW,UAAU,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE;gBAC7M,MAAM,EAAE,SAAS;gBACjB,aAAa;gBACb,aAAa;aACd,CAAC;QACJ,CAAC;QACD,aAAa,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,IAA2D;IAE3D,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,yEAAyE;IACzE,0EAA0E;IAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,OAAO,CAC7C,4BAA4B,EAC5B,CAAC,MAAM,EAAE,IAAY,EAAE,EAAE;QACvB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,GAAG,CAAC;IACb,CAAC,CACF,CAAC;IACF,OAAO,CAAC,OAAO,GAAG,EAAE,EAAE,EAAE;QACtB,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,KAAK,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,IAAI,CAAC,CAAC;YAC/E,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1D,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,gBAAgB,CAChC,OAAO,EACP,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,UAAU,CAAC,KAAK,CAAC,EAAE,CACjD,CAAC;QACF,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;YAC3C,CAAC,CAAC,UAAU,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAChD,CAAC,CAAC,EAAE,CAAC;QACP,OAAO;YACL,GAAG,EAAE,kBAAkB,SAAS,sBAAsB,KAAK,UAAU,aAAa,WAAW,UAAU,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE;YACvI,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC;YACxC,aAAa;YACb,aAAa;SACd,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,IAAY;IAC5C,sEAAsE;IACtE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,oBAAoB,CAC3B,MAAqC,EACrC,MAAkC;IAElC,MAAM,UAAU,GAAG,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;IAClD,MAAM,eAAe,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAChD,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;QACrC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,CAAC,CAAC,IAAI,EAAE,CAAC;IACT,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,QAAQ,CAAI,IAAkB;YAC9E,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;IACF,OAAO,SAAS,SAAS,CAAI,IAAkB;QAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACtB,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;gBAAE,OAAO,GAAG,CAAC;YACtE,MAAM,UAAU,GAAG,EAAE,GAAG,GAAG,EAA6B,CAAC;YACzD,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,eAAe,EAAE,CAAC;gBAChD,UAAU,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,UAAe,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,OAA2B,EAC3B,QAAmC;IAEnC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACzC,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACrC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM;aACtC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,+BAA+B,CAAC;aACjE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QAC3C,UAAU,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,WAAW,CAClB,MAA0B,EAC1B,MAAuB;IAEvB,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,kBAAkB,CAAC;IAC9D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,MAAuB;IACvD,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC/C,IAAI,QAAQ,KAAK,KAAK;QAAE,OAAO,UAAU,CAAC;IAC1C,OAAO,GAAG,UAAU,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;AACpE,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,MAAuB;IAC1D,uEAAuE;IACvE,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAClG,IAAI,CAAC,MAAM;QAAE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,KAAK,IAAI,CAAC,CAAC;IACjF,OAAO,MAAM,CAAC;AAChB,CAAC;AAUD,SAAS,aAAa,CACpB,IAAe,EACf,MAAuB;IAEvB,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;QACpC,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC;YAC9B,CAAC,CAAC,CAAC,OAA0C,EAAE,SAAkB,EAAE,EAAE;gBACjE,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,MAAM,IAAI,eAAe,CAAC,iBAAiB,CAAC;wBAC1C,IAAI,EAAE,iBAAiB;wBACvB,QAAQ,EAAE,OAAO;wBACjB,IAAI,EAAE,oBAAoB;wBAC1B,QAAQ,EAAE,+CAA+C;wBACzD,OAAO,EAAE,mCAAmC;qBAC7C,CAAC,CAAC,CAAC;gBACN,CAAC;gBACD,OAAO,CAAC,SAAS,CAAC,CAAC;YACrB,CAAC;YACH,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;gBACjB,CAAC,CAAC,CAAC,MAAyC,EAAE,EAAE;oBAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACtC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC3B,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;oBACnE,CAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACpB,CAAC;gBACH,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACpB,OAAO;YACL,GAAG,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI;YAC3F,IAAI;SACL,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACxC,MAAM,QAAQ,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IACvE,OAAO;QACL,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC;QAC9D,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAC1B,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;KAC7D,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAAe;IAEf,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAA0B,EAAE,CAAC;IAC7E,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAA0B,EAAE,CAAC;IAC7E,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,GAA2B,EAAE,CAAC;IAChF,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAA0B,EAAE,CAAC;IAC7E,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,GAA2B,EAAE,CAAC;IAChF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CACnB,OAAwF,EACxF,MAAuB;IAEvB,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC9B,kEAAkE;QAClE,kEAAkE;QAClE,+DAA+D;QAC/D,iDAAiD;QACjD,MAAM,GAAG,GAAG,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QACpD,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;IACH,OAAO,aAAa,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;AACzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ValidateBootUseCase.d.ts","sourceRoot":"","sources":["../../../src/usecase/boot/ValidateBootUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAE/E,MAAM,MAAM,oBAAoB,GAC5B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAA;CAAE,GACrB;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAA;CAAE,CAAC;AAExE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,kFAAkF;IAClF,QAAQ,CAAC,wBAAwB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtD,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,4BAA4B;IAC3C,6FAA6F;IAC7F,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,wBAAwB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtD,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,oBAAoB,EAC7B,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,sBAAsB,CAAC,CAQjC;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,WAAW,EACjB,OAAO,GAAE,4BAAiC,GACzC,IAAI,CAGN;AAED,gFAAgF;AAChF,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,EAAE,mBAAmB,GAAG,oBAAoB;IAY3D,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;CAI3C;AAuED,qBAAa,mBAAoB,SAAQ,KAAK;aAChB,WAAW,EAAE,SAAS,UAAU,EAAE;gBAAlC,WAAW,EAAE,SAAS,UAAU,EAAE;CAS/D"}
1
+ {"version":3,"file":"ValidateBootUseCase.d.ts","sourceRoot":"","sources":["../../../src/usecase/boot/ValidateBootUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAE/E,MAAM,MAAM,oBAAoB,GAC5B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAA;CAAE,GACrB;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAA;CAAE,CAAC;AAExE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,kFAAkF;IAClF,QAAQ,CAAC,wBAAwB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtD,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,4BAA4B;IAC3C,6FAA6F;IAC7F,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,wBAAwB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtD,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,oBAAoB,EAC7B,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,sBAAsB,CAAC,CAsBjC;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,WAAW,EACjB,OAAO,GAAE,4BAAiC,GACzC,IAAI,CAGN;AAED,gFAAgF;AAChF,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,EAAE,mBAAmB,GAAG,oBAAoB;IAY3D,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;CAI3C;AAuED,qBAAa,mBAAoB,SAAQ,KAAK;aAChB,WAAW,EAAE,SAAS,UAAU,EAAE;gBAAlC,WAAW,EAAE,SAAS,UAAU,EAAE;CAS/D"}
@@ -5,9 +5,24 @@ export async function prepareDeployment(plan, storage, options = {}) {
5
5
  ...options,
6
6
  nativeViewDialects: storage.nativeViewDialects ?? [],
7
7
  });
8
+ if (!storage.supportsTtl) {
9
+ for (const schema of Object.values(plan.schemas)) {
10
+ if (!schema.ttl)
11
+ continue;
12
+ diagnostics.push(bootDiagnostic({
13
+ code: "RESOURCE_UNAVAILABLE", severity: "error",
14
+ path: `manifest:Schema/${schema.name}#/spec/ttl`,
15
+ message: `Storage adapter cannot enforce TTL reads for Schema '${schema.name}'.`,
16
+ expected: "an adapter with logical TTL filtering and bounded sweep support",
17
+ }));
18
+ }
19
+ }
8
20
  if (diagnostics.length > 0)
9
21
  throw new BootValidationError(diagnostics);
10
22
  const prepared = await storage.prepare(plan);
23
+ if (Object.values(plan.schemas).some((schema) => schema.ttl) && !prepared.expiry) {
24
+ throw new Error("Storage adapter declared TTL support but did not prepare an expiry sweeper.");
25
+ }
11
26
  return sealPreparedMantleRevision(plan, prepared, options.handlerNames);
12
27
  }
13
28
  export function assertDeploymentPlan(plan, options = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"ValidateBootUseCase.js","sourceRoot":"","sources":["../../../src/usecase/boot/ValidateBootUseCase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ValidateBootUseCase.js","sourceRoot":"","sources":["../../../src/usecase/boot/ValidateBootUseCase.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { type ContentState } from "@aotter/mantle-spec";
2
+ import { type EntryRow } from "../../domain/model/EntryRow.js";
3
+ import type { AtomicEntryWrite, AtomicEntryWriter } from "../../domain/port/AtomicEntryWriter.js";
4
+ import type { CreateDraftRequest, DeleteEntryRequest, UpdateDraftRequest } from "../dto/content/index.js";
5
+ import type { CreateDraftUseCase } from "./CreateDraftUseCase.js";
6
+ import type { DeleteEntryUseCase } from "./DeleteEntryUseCase.js";
7
+ import type { UpdateDraftUseCase } from "./UpdateDraftUseCase.js";
8
+ export type AtomicDraftOperation = {
9
+ readonly kind: "create";
10
+ readonly id?: string;
11
+ readonly request: CreateDraftRequest;
12
+ } | {
13
+ readonly kind: "update";
14
+ readonly request: UpdateDraftRequest;
15
+ } | {
16
+ readonly kind: "delete";
17
+ readonly request: DeleteEntryRequest & {
18
+ readonly expectedVersion: number;
19
+ readonly expectedStatus?: ContentState;
20
+ };
21
+ };
22
+ /** Declarative entry mutations; all preparation and before hooks precede one storage batch. */
23
+ export declare class AtomicEntryWriteUseCase {
24
+ private readonly writer;
25
+ private readonly create;
26
+ private readonly update;
27
+ private readonly remove;
28
+ private readonly hooksFor;
29
+ private readonly invalidate?;
30
+ private readonly affectsPublishing?;
31
+ constructor(writer: AtomicEntryWriter | undefined, create: CreateDraftUseCase, update: UpdateDraftUseCase, remove: DeleteEntryUseCase, hooksFor: (write: AtomicEntryWrite, previous: EntryRow | null) => {
32
+ readonly before: () => Promise<void>;
33
+ readonly after: (row: EntryRow) => Promise<void>;
34
+ }, invalidate?: (() => Promise<void>) | undefined, affectsPublishing?: ((collection: string) => boolean) | undefined);
35
+ execute(operations: readonly AtomicDraftOperation[]): Promise<readonly (EntryRow | null)[]>;
36
+ }
37
+ //# sourceMappingURL=AtomicEntryWriteUseCase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AtomicEntryWriteUseCase.d.ts","sourceRoot":"","sources":["../../../src/usecase/content/AtomicEntryWriteUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAClG,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC1G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAGlE,MAAM,MAAM,oBAAoB,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAA;CAAE,GACvF;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAA;CAAE,GACjE;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,GAAG;QAChE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,cAAc,CAAC,EAAE,YAAY,CAAC;KACxC,CAAA;CAAE,CAAC;AAER,+FAA+F;AAC/F,qBAAa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAIzB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBATlB,MAAM,EAAE,iBAAiB,GAAG,SAAS,EACrC,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,KAAK;QACjF,QAAQ,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QACrC,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KAClD,EACgB,UAAU,CAAC,GAAE,MAAM,OAAO,CAAC,IAAI,CAAC,aAAA,EAChC,iBAAiB,CAAC,GAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,aAAA;IAGhE,OAAO,CAAC,UAAU,EAAE,SAAS,oBAAoB,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC;CAwElG"}
@@ -0,0 +1,108 @@
1
+ import { DiagnosticError, runtimeDiagnostic } from "@aotter/mantle-spec";
2
+ import { liftLocale } from "../../domain/model/EntryRow.js";
3
+ import { withConflictDiagnostic } from "./diagnostics.js";
4
+ /** Declarative entry mutations; all preparation and before hooks precede one storage batch. */
5
+ export class AtomicEntryWriteUseCase {
6
+ writer;
7
+ create;
8
+ update;
9
+ remove;
10
+ hooksFor;
11
+ invalidate;
12
+ affectsPublishing;
13
+ constructor(writer, create, update, remove, hooksFor, invalidate, affectsPublishing) {
14
+ this.writer = writer;
15
+ this.create = create;
16
+ this.update = update;
17
+ this.remove = remove;
18
+ this.hooksFor = hooksFor;
19
+ this.invalidate = invalidate;
20
+ this.affectsPublishing = affectsPublishing;
21
+ }
22
+ async execute(operations) {
23
+ if (!this.writer) {
24
+ throw new DiagnosticError(runtimeDiagnostic({
25
+ code: "RESOURCE_UNAVAILABLE",
26
+ severity: "error",
27
+ path: "usecase/AtomicEntryWrite",
28
+ expected: "storage adapter with atomicEntries capability",
29
+ message: "This storage adapter does not support atomic entry writes.",
30
+ }));
31
+ }
32
+ const prepared = [];
33
+ const touched = new Set();
34
+ for (const operation of operations) {
35
+ let previous = null;
36
+ let write;
37
+ if (operation.kind === "create") {
38
+ if (operation.id !== undefined && (typeof operation.id !== "string" || !operation.id || operation.id.includes("\0"))) {
39
+ throw invalidOperation("Create id must be a non-empty string without NUL.");
40
+ }
41
+ write = { kind: "create", args: await this.create.prepare(operation.request, {
42
+ id: operation.id, skipUniquePreflight: true,
43
+ }) };
44
+ }
45
+ else if (operation.kind === "update") {
46
+ const preparedUpdate = await this.update.prepare(operation.request, { skipUniquePreflight: true });
47
+ previous = preparedUpdate.previous;
48
+ write = { kind: "update", args: {
49
+ ...preparedUpdate.args, observedVersion: previous.version,
50
+ } };
51
+ }
52
+ else if (operation.kind === "delete") {
53
+ const preparedDelete = await this.remove.prepare(operation.request);
54
+ previous = preparedDelete.previous;
55
+ write = { kind: "delete", args: {
56
+ ...preparedDelete.args,
57
+ expectedVersion: operation.request.expectedVersion,
58
+ expectedStatus: operation.request.expectedStatus ?? preparedDelete.args.expectedStatus,
59
+ observedVersion: previous.version,
60
+ observedStatus: previous.status,
61
+ } };
62
+ }
63
+ else {
64
+ throw invalidOperation("Atomic operation kind must be create, update, or delete.");
65
+ }
66
+ if (write.kind !== "create" && (!Number.isSafeInteger(write.args.expectedVersion) || write.args.expectedVersion < 1)) {
67
+ throw invalidOperation("Update and delete require a positive expectedVersion.");
68
+ }
69
+ const key = `${write.args.collection}\0${write.args.id}`;
70
+ if (touched.has(key))
71
+ throw invalidOperation("An atomic group may touch each entry only once.");
72
+ touched.add(key);
73
+ const result = write.kind === "create"
74
+ ? { id: write.args.id, collection: write.args.collection, locale: liftLocale(write.args.data),
75
+ status: write.args.status, version: 1, data: write.args.data, authorId: write.args.authorId,
76
+ createdAt: write.args.now, updatedAt: write.args.now }
77
+ : write.kind === "update"
78
+ ? { ...previous, data: write.args.data, locale: liftLocale(write.args.data),
79
+ version: write.args.expectedVersion + 1, updatedAt: write.args.now }
80
+ : null;
81
+ prepared.push({ write, previous, result });
82
+ }
83
+ const hooks = prepared.map(({ write, previous }) => this.hooksFor(write, previous));
84
+ for (const hook of hooks)
85
+ await hook.before();
86
+ await withConflictDiagnostic("usecase/AtomicEntryWrite", () => this.writer.writeAtomically(prepared.map(({ write }) => write)));
87
+ for (let i = 0; i < hooks.length; i += 1) {
88
+ const row = prepared[i].result ?? prepared[i].previous;
89
+ if (row)
90
+ await hooks[i].after(row);
91
+ }
92
+ if (this.invalidate && prepared.some(({ write }) => this.affectsPublishing?.(write.args.collection))) {
93
+ try {
94
+ await this.invalidate();
95
+ }
96
+ catch (error) {
97
+ console.error("[mantle] public cache invalidation failed after committed write", error);
98
+ }
99
+ }
100
+ return prepared.map(({ result }) => result);
101
+ }
102
+ }
103
+ function invalidOperation(message) {
104
+ return new DiagnosticError(runtimeDiagnostic({
105
+ code: "INPUT_VALIDATION_FAILED", severity: "error", path: "usecase/AtomicEntryWrite", message,
106
+ }));
107
+ }
108
+ //# sourceMappingURL=AtomicEntryWriteUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AtomicEntryWriteUseCase.js","sourceRoot":"","sources":["../../../src/usecase/content/AtomicEntryWriteUseCase.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { EntryDataValidator, type SchemaManifest } from "@aotter/mantle-spec";
2
2
  import type { EntryRow } from "../../domain/model/EntryRow.js";
3
3
  import type { Clock } from "../../domain/port/Clock.js";
4
4
  import type { EntryRepository } from "../../domain/port/EntryRepository.js";
5
+ import type { CreateEntryArgs } from "../../domain/port/EntryRepository.js";
5
6
  import type { IdGenerator } from "../../domain/port/IdGenerator.js";
6
7
  import type { LocalePolicyReader } from "../../domain/port/SiteConfigRepository.js";
7
8
  import type { CreateDraftRequest } from "../dto/content/index.js";
@@ -18,5 +19,9 @@ export declare class CreateDraftUseCase {
18
19
  private readonly validator;
19
20
  constructor(entries: EntryRepository, schemas: ReadonlyMap<string, SchemaManifest>, clock: Clock, idgen: IdGenerator, siteConfig?: LocalePolicyReader | undefined, validator?: EntryDataValidator);
20
21
  execute(request: CreateDraftRequest): Promise<EntryRow>;
22
+ prepare(request: CreateDraftRequest, options?: {
23
+ readonly id?: string;
24
+ readonly skipUniquePreflight?: boolean;
25
+ }): Promise<CreateEntryArgs>;
21
26
  }
22
27
  //# sourceMappingURL=CreateDraftUseCase.d.ts.map