videobook-engine 4.2.0 → 5.0.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 (104) hide show
  1. package/README.md +15 -30
  2. package/dist/artifacts.d.ts +4 -9
  3. package/dist/artifacts.d.ts.map +1 -1
  4. package/dist/artifacts.js +39 -133
  5. package/dist/artifacts.js.map +1 -1
  6. package/dist/books.d.ts +1 -1
  7. package/dist/books.d.ts.map +1 -1
  8. package/dist/books.js +16 -9
  9. package/dist/books.js.map +1 -1
  10. package/dist/catalog-metadata.d.ts +2 -2
  11. package/dist/catalog-metadata.js +3 -3
  12. package/dist/catalog-metadata.js.map +1 -1
  13. package/dist/context.d.ts +3 -5
  14. package/dist/context.d.ts.map +1 -1
  15. package/dist/context.js +10 -48
  16. package/dist/context.js.map +1 -1
  17. package/dist/domain.d.ts +35 -2
  18. package/dist/domain.d.ts.map +1 -1
  19. package/dist/domain.js +131 -161
  20. package/dist/domain.js.map +1 -1
  21. package/dist/engine-types.d.ts +62 -27
  22. package/dist/engine-types.d.ts.map +1 -1
  23. package/dist/engine-types.js +0 -1
  24. package/dist/engine-types.js.map +1 -1
  25. package/dist/engine.d.ts +20 -18
  26. package/dist/engine.d.ts.map +1 -1
  27. package/dist/engine.js +3 -3
  28. package/dist/engine.js.map +1 -1
  29. package/dist/files.js +1 -1
  30. package/dist/files.js.map +1 -1
  31. package/dist/fork.d.ts +3 -2
  32. package/dist/fork.d.ts.map +1 -1
  33. package/dist/fork.js +13 -20
  34. package/dist/fork.js.map +1 -1
  35. package/dist/generations.d.ts +9 -0
  36. package/dist/generations.d.ts.map +1 -0
  37. package/dist/generations.js +175 -0
  38. package/dist/generations.js.map +1 -0
  39. package/dist/history.d.ts +2 -1
  40. package/dist/history.d.ts.map +1 -1
  41. package/dist/history.js +21 -49
  42. package/dist/history.js.map +1 -1
  43. package/dist/index.d.ts +8 -6
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +5 -5
  46. package/dist/index.js.map +1 -1
  47. package/dist/media.d.ts +3 -3
  48. package/dist/media.d.ts.map +1 -1
  49. package/dist/media.js +5 -5
  50. package/dist/media.js.map +1 -1
  51. package/dist/merge-policy.d.ts +10 -26
  52. package/dist/merge-policy.d.ts.map +1 -1
  53. package/dist/merge-policy.js +8 -115
  54. package/dist/merge-policy.js.map +1 -1
  55. package/dist/metadata.js +2 -3
  56. package/dist/metadata.js.map +1 -1
  57. package/dist/migration.d.ts.map +1 -1
  58. package/dist/migration.js +32 -2
  59. package/dist/migration.js.map +1 -1
  60. package/dist/mvp-contract-fixtures.js +1 -1
  61. package/dist/mvp-contract-fixtures.js.map +1 -1
  62. package/dist/mvp-contracts.d.ts +3 -3
  63. package/dist/mvp-contracts.d.ts.map +1 -1
  64. package/dist/mvp-contracts.js +1 -1
  65. package/dist/notebook/types.d.ts +1 -29
  66. package/dist/notebook/types.d.ts.map +1 -1
  67. package/dist/notebook-grid.d.ts +37 -0
  68. package/dist/notebook-grid.d.ts.map +1 -0
  69. package/dist/notebook-grid.js +160 -0
  70. package/dist/notebook-grid.js.map +1 -0
  71. package/dist/notebook-media-artifact.d.ts +23 -0
  72. package/dist/notebook-media-artifact.d.ts.map +1 -0
  73. package/dist/notebook-media-artifact.js +67 -0
  74. package/dist/notebook-media-artifact.js.map +1 -0
  75. package/dist/notebook-mentions.d.ts +20 -0
  76. package/dist/notebook-mentions.d.ts.map +1 -0
  77. package/dist/notebook-mentions.js +53 -0
  78. package/dist/notebook-mentions.js.map +1 -0
  79. package/dist/runtime-services.js +4 -9
  80. package/dist/runtime-services.js.map +1 -1
  81. package/dist/schema.d.ts +3 -19
  82. package/dist/schema.d.ts.map +1 -1
  83. package/dist/schema.js +63 -92
  84. package/dist/schema.js.map +1 -1
  85. package/dist/similarity.js +9 -9
  86. package/dist/similarity.js.map +1 -1
  87. package/dist/status.js +8 -10
  88. package/dist/status.js.map +1 -1
  89. package/dist/store.d.ts +1 -1
  90. package/dist/store.js +3 -3
  91. package/dist/temporal-search.js +50 -6
  92. package/dist/temporal-search.js.map +1 -1
  93. package/docs/engine-layout.md +14 -19
  94. package/docs/mvp-prd.md +2 -2
  95. package/fixtures/v5/contract-fixtures.json +4 -4
  96. package/package.json +13 -1
  97. package/dist/artifact-names.d.ts +0 -6
  98. package/dist/artifact-names.d.ts.map +0 -1
  99. package/dist/artifact-names.js +0 -56
  100. package/dist/artifact-names.js.map +0 -1
  101. package/dist/resolver.d.ts +0 -15
  102. package/dist/resolver.d.ts.map +0 -1
  103. package/dist/resolver.js +0 -81
  104. package/dist/resolver.js.map +0 -1
package/dist/resolver.js DELETED
@@ -1,81 +0,0 @@
1
- import * as path from "node:path";
2
- import { ok } from "./engine-types.js";
3
- import { resultOf } from "./context.js";
4
- import { createFilesApi } from "./files.js";
5
- import { findPrimaryMediaFile } from "./media.js";
6
- const TAG_PATTERN = /@([a-zA-Z0-9]+-[a-zA-Z0-9_-]+)/g;
7
- const SLOT_PATTERN = /@s(\d{2})/g;
8
- export function createResolverApi(context) {
9
- return {
10
- parseTags: parseArtifactTags,
11
- resolveAll: (text) => resolveAllArtifacts(context, text),
12
- expandSlotRefs,
13
- };
14
- }
15
- export function parseArtifactTags(text) {
16
- const tags = [];
17
- for (const match of text.matchAll(TAG_PATTERN)) {
18
- if (match[1])
19
- tags.push(match[1]);
20
- }
21
- return [...new Set(tags)];
22
- }
23
- export function expandSlotRefs(text, slots) {
24
- return text.replace(SLOT_PATTERN, (match, digits) => {
25
- const slot = slots[Number.parseInt(digits, 10) - 1];
26
- return slot?.slug ? `@${slot.slug}` : match;
27
- });
28
- }
29
- async function resolveAllArtifacts(context, text) {
30
- return resultOf(async () => {
31
- const tags = parseArtifactTags(text);
32
- if (tags.length === 0) {
33
- return ok({ resolved: [], unresolved: [] });
34
- }
35
- const rows = context.store.db
36
- .prepare(`SELECT artifact_id, slug, kind, created_at
37
- FROM artifacts`)
38
- .all();
39
- const bySlug = new Map(rows.map((row) => [row.slug, row]));
40
- const files = createFilesApi(context);
41
- const resolved = [];
42
- const unresolved = [];
43
- for (const tag of tags) {
44
- const candidates = [
45
- tag,
46
- `img-${tag}`,
47
- `vid-${tag}`,
48
- `aud-${tag}`,
49
- `script-${tag}`,
50
- `char-${tag}`,
51
- `prompt-${tag}`,
52
- `scene-${tag}`,
53
- ];
54
- const row = candidates
55
- .map((candidate) => bySlug.get(candidate))
56
- .find((candidate) => candidate !== undefined);
57
- if (!row) {
58
- unresolved.push(tag);
59
- continue;
60
- }
61
- const manifest = await files.manifest(row.artifact_id);
62
- if (!manifest.ok)
63
- return manifest;
64
- const primary = findPrimaryMediaFile(manifest.value.files, row.slug) ??
65
- manifest.value.files[0] ??
66
- null;
67
- resolved.push({
68
- tag: `@${tag}`,
69
- artifactId: row.artifact_id,
70
- artifactSlug: row.slug,
71
- artifactType: row.kind,
72
- filePath: primary
73
- ? path.join(manifest.value.path, primary.name)
74
- : null,
75
- workspacePath: manifest.value.path,
76
- });
77
- }
78
- return ok({ resolved, unresolved });
79
- });
80
- }
81
- //# sourceMappingURL=resolver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}