@maadb/core 0.8.3 → 0.9.0

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 (39) hide show
  1. package/README.md +3 -2
  2. package/dist/engine/index.d.ts +8 -0
  3. package/dist/engine/index.d.ts.map +1 -1
  4. package/dist/engine/index.js +54 -0
  5. package/dist/engine/index.js.map +1 -1
  6. package/dist/engine/journal.d.ts +2 -0
  7. package/dist/engine/journal.d.ts.map +1 -1
  8. package/dist/engine/journal.js +38 -8
  9. package/dist/engine/journal.js.map +1 -1
  10. package/dist/engine/pathguard.d.ts +8 -0
  11. package/dist/engine/pathguard.d.ts.map +1 -1
  12. package/dist/engine/pathguard.js +45 -5
  13. package/dist/engine/pathguard.js.map +1 -1
  14. package/dist/engine/repairs.d.ts.map +1 -1
  15. package/dist/engine/repairs.js +30 -0
  16. package/dist/engine/repairs.js.map +1 -1
  17. package/dist/engine/write-boundary.d.ts +9 -0
  18. package/dist/engine/write-boundary.d.ts.map +1 -0
  19. package/dist/engine/write-boundary.js +32 -0
  20. package/dist/engine/write-boundary.js.map +1 -0
  21. package/dist/engine/writes.d.ts.map +1 -1
  22. package/dist/engine/writes.js +112 -18
  23. package/dist/engine/writes.js.map +1 -1
  24. package/dist/errors.d.ts +1 -1
  25. package/dist/errors.d.ts.map +1 -1
  26. package/dist/errors.js.map +1 -1
  27. package/dist/instance/pool.d.ts.map +1 -1
  28. package/dist/instance/pool.js +3 -1
  29. package/dist/instance/pool.js.map +1 -1
  30. package/dist/mcp/lifecycle.d.ts.map +1 -1
  31. package/dist/mcp/lifecycle.js +4 -2
  32. package/dist/mcp/lifecycle.js.map +1 -1
  33. package/dist/registry/loader.d.ts.map +1 -1
  34. package/dist/registry/loader.js +18 -5
  35. package/dist/registry/loader.js.map +1 -1
  36. package/dist/schema/loader.d.ts.map +1 -1
  37. package/dist/schema/loader.js +9 -0
  38. package/dist/schema/loader.js.map +1 -1
  39. package/package.json +2 -1
@@ -7,7 +7,7 @@ import { existsSync, mkdirSync } from 'node:fs';
7
7
  import path from 'node:path';
8
8
  import { parseMatter } from '../parser/matter.js';
9
9
  import { ok, err, singleErr, maadError } from '../errors.js';
10
- import { isContainedIn } from '../engine/pathguard.js';
10
+ import { isReallyContainedIn, isSafeProjectRelativePath, isSafeSchemaRef, isWritePathContainedIn, } from '../engine/pathguard.js';
11
11
  import { docType, schemaRef, PRIMITIVES, DEFAULT_SUBTYPE_MAP, buildSubtypeMap, } from '../types.js';
12
12
  const VALID_NAME_REGEX = /^[a-z][a-z0-9_]*$/;
13
13
  const VALID_PREFIX_REGEX = /^[a-z0-9]{2,5}$/;
@@ -16,6 +16,9 @@ export async function loadRegistry(projectRoot) {
16
16
  if (!existsSync(registryPath)) {
17
17
  return singleErr('REGISTRY_NOT_FOUND', `Registry file not found: ${registryPath}`);
18
18
  }
19
+ if (!isReallyContainedIn(registryPath, projectRoot)) {
20
+ return singleErr('REGISTRY_INVALID', `Registry path escapes project root through a symbolic link: ${registryPath}`);
21
+ }
19
22
  let raw;
20
23
  try {
21
24
  raw = await readFile(registryPath, 'utf-8');
@@ -67,13 +70,17 @@ export async function loadRegistry(projectRoot) {
67
70
  continue;
68
71
  }
69
72
  const resolvedPath = path.join(projectRoot, typePath);
70
- if (!isContainedIn(resolvedPath, projectRoot)) {
73
+ if (!isSafeProjectRelativePath(typePath) || !isWritePathContainedIn(resolvedPath, projectRoot)) {
71
74
  errors.push(maadError('REGISTRY_INVALID', `Type "${name}" path escapes project root: ${typePath}`));
72
75
  continue;
73
76
  }
74
77
  if (!existsSync(resolvedPath)) {
75
78
  mkdirSync(resolvedPath, { recursive: true });
76
79
  }
80
+ if (!isReallyContainedIn(resolvedPath, projectRoot)) {
81
+ errors.push(maadError('REGISTRY_INVALID', `Type "${name}" path escapes project root through a symbolic link: ${typePath}`));
82
+ continue;
83
+ }
77
84
  // Validate id_prefix
78
85
  const idPrefix = typeDef['id_prefix'];
79
86
  if (typeof idPrefix !== 'string' || !VALID_PREFIX_REGEX.test(idPrefix)) {
@@ -88,24 +95,30 @@ export async function loadRegistry(projectRoot) {
88
95
  seenPrefixes.set(idPrefix, name);
89
96
  // Validate schema ref
90
97
  const schemaValue = typeDef['schema'];
91
- if (typeof schemaValue !== 'string' || schemaValue.length === 0) {
92
- errors.push(maadError('REGISTRY_INVALID', `Type "${name}" must have a "schema" string`));
98
+ if (typeof schemaValue !== 'string' || !isSafeSchemaRef(schemaValue)) {
99
+ errors.push(maadError('REGISTRY_INVALID', `Type "${name}" schema must match <type>.v<positive integer>`));
93
100
  continue;
94
101
  }
95
102
  const schemaFilePath = path.join(projectRoot, '_schema', `${schemaValue}.yaml`);
96
103
  if (!existsSync(schemaFilePath)) {
97
104
  errors.push(maadError('SCHEMA_NOT_FOUND', `Type "${name}" references schema "${schemaValue}" but file not found: ${schemaFilePath}`));
98
105
  }
106
+ else if (!isReallyContainedIn(schemaFilePath, projectRoot)) {
107
+ errors.push(maadError('REGISTRY_INVALID', `Type "${name}" schema escapes project root through a symbolic link: ${schemaValue}`));
108
+ }
99
109
  // Optional template
100
110
  const template = typeof typeDef['template'] === 'string' ? typeDef['template'] : null;
101
111
  if (template !== null) {
102
112
  const templatePath = path.join(projectRoot, template);
103
- if (!isContainedIn(templatePath, projectRoot)) {
113
+ if (!isSafeProjectRelativePath(template) || !isWritePathContainedIn(templatePath, projectRoot)) {
104
114
  errors.push(maadError('REGISTRY_INVALID', `Type "${name}" template escapes project root: ${template}`));
105
115
  }
106
116
  else if (!existsSync(templatePath)) {
107
117
  errors.push(maadError('FILE_NOT_FOUND', `Type "${name}" references template "${template}" but file not found`));
108
118
  }
119
+ else if (!isReallyContainedIn(templatePath, projectRoot)) {
120
+ errors.push(maadError('REGISTRY_INVALID', `Type "${name}" template escapes project root through a symbolic link: ${template}`));
121
+ }
109
122
  }
110
123
  types.set(name, {
111
124
  name: docType(name),
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/registry/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/registry/loader.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/schema/loader.ts"],"names":[],"mappings":"AASA,OAAO,EAAsB,KAAK,MAAM,EAAkB,MAAM,cAAc,CAAC;AAE/E,OAAO,EAGL,KAAK,QAAQ,EAOb,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAIrB,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAuFvG"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/schema/loader.ts"],"names":[],"mappings":"AASA,OAAO,EAAsB,KAAK,MAAM,EAAkB,MAAM,cAAc,CAAC;AAG/E,OAAO,EAGL,KAAK,QAAQ,EAOb,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAIrB,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAgGvG"}
@@ -8,6 +8,7 @@ import path from 'node:path';
8
8
  import { parseMatter } from '../parser/matter.js';
9
9
  import { ok, err, maadError } from '../errors.js';
10
10
  import { isPrecision, comparePrecision } from './precision.js';
11
+ import { isSafeSchemaRef, isWritePathContainedIn } from '../engine/pathguard.js';
11
12
  import { docType, } from '../types.js';
12
13
  const VALID_FIELD_TYPES = ['string', 'number', 'date', 'enum', 'ref', 'boolean', 'list', 'amount'];
13
14
  export async function loadSchemas(projectRoot, registry) {
@@ -29,9 +30,17 @@ export async function loadSchemas(projectRoot, registry) {
29
30
  // doesn't exist. For an absent registry the schemas map is empty anyway.
30
31
  }
31
32
  for (const [, regType] of registry.types) {
33
+ if (!isSafeSchemaRef(regType.schemaRef)) {
34
+ errors.push(maadError('SCHEMA_INVALID', `Unsafe schema reference for type "${regType.name}": ${regType.schemaRef}`));
35
+ continue;
36
+ }
32
37
  const schemaFile = path.join(projectRoot, '_schema', `${regType.schemaRef}.yaml`);
33
38
  let raw;
34
39
  try {
40
+ if (!isWritePathContainedIn(schemaFile, projectRoot)) {
41
+ errors.push(maadError('SCHEMA_INVALID', `Schema path escapes project root: ${regType.schemaRef}`));
42
+ continue;
43
+ }
35
44
  raw = await readFile(schemaFile, 'utf-8');
36
45
  const st = await stat(schemaFile);
37
46
  cachedFiles.set(schemaFile, { mtimeMs: st.mtimeMs, size: st.size });
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/schema/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/schema/loader.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,gBAAgB;AAChB,uEAAuE;AACvE,+EAA+E;AAE/E,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAA+B,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAkB,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EACL,OAAO,GAUR,MAAM,aAAa,CAAC;AAErB,MAAM,iBAAiB,GAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAEhH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,WAAmB,EAAE,QAAkB;IACvE,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAI,GAAG,EAA+B,CAAC;IACvD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAqB,CAAC;IAClD,2EAA2E;IAC3E,wEAAwE;IACxE,mEAAmE;IACnE,MAAM,WAAW,GAAG,IAAI,GAAG,EAA6C,CAAC;IACzE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC;IAC9E,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC;QACpC,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,sEAAsE;QACtE,oEAAoE;QACpE,yEAAyE;IAC3E,CAAC;IAED,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACzC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAmB,CAAC,EAAE,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,qCAAqC,OAAO,CAAC,IAAc,MAAM,OAAO,CAAC,SAAmB,EAAE,CAAC,CAAC,CAAC;YACzI,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,SAAS,OAAO,CAAC,CAAC;QAClF,IAAI,GAAW,CAAC;QAEhB,IAAI,CAAC;YACH,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,CAAC;gBACrD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,qCAAqC,OAAO,CAAC,SAAmB,EAAE,CAAC,CAAC,CAAC;gBAC7G,SAAS;YACX,CAAC;YACD,GAAG,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC1C,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;YAClC,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QACtE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,mCAAmC,OAAO,CAAC,IAAI,MAAM,UAAU,EAAE,CAAC,CAAC,CAAC;YAC9G,SAAS;QACX,CAAC;QAED,IAAI,IAA6B,CAAC;QAClC,IAAI,CAAC;YACH,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtC,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAA+B,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,WAAW,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,IAA+B,CAAC;YACzE,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC;YACvE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,2BAA2B,OAAO,CAAC,SAAS,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC;YACnG,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9B,SAAS;QACX,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAc,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,GAAgB;QACzB,OAAO;QACP,WAAW;QACX,SAAS,CAAC,GAAc;YACtB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QACD,gBAAgB,CAAC,IAAa;YAC5B,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,IAAc,CAAC,CAAC;YAC7C,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YACxC,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO;YACL,sEAAsE;YACtE,wEAAwE;YACxE,qEAAqE;YACrE,yCAAyC;YACzC,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;gBAC5C,IAAI,CAAC;oBACH,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAC7B,IAAI,EAAE,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;wBAAE,OAAO,IAAI,CAAC;gBAC5E,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;IAEF,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAA6B,EAC7B,GAAc,EACd,QAAkB;IAElB,MAAM,MAAM,GAAgB,EAAE,CAAC;IAE/B,OAAO;IACP,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,WAAW,GAAG,6BAA6B,CAAC,CAAC,CAAC;QACtF,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAED,UAAU;IACV,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAEpF,kBAAkB;IAClB,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,SAAS;IACT,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,GAAG,EAA2B,CAAC;IAElD,IAAI,SAAS,KAAK,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACnF,KAAK,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAoC,CAAC,EAAE,CAAC;YACzF,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,WAAW,GAAG,YAAY,SAAS,qBAAqB,CAAC,CAAC,CAAC;gBACnG,SAAS;YACX,CAAC;YAED,MAAM,EAAE,GAAG,QAAmC,CAAC;YAC/C,MAAM,WAAW,GAAG,oBAAoB,CAAC,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YACvE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;gBACnC,SAAS;YACX,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,QAAQ;YAAE,SAAS;QACzE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,WAAW,GAAG,YAAY,GAAG,+CAA+C,CAAC,CAAC,CAAC;QACzH,CAAC;IACH,CAAC;IAED,WAAW;IACX,IAAI,QAAQ,GAA6B,IAAI,CAAC;IAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IACrC,IAAI,WAAW,KAAK,SAAS,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzF,MAAM,GAAG,GAAG,WAAsC,CAAC;QACnD,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,QAAQ,GAAG,EAAE,CAAC;YACd,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;gBAC5B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;oBACxC,MAAM,IAAI,GAAG,CAA4B,CAAC;oBAC1C,QAAQ,CAAC,IAAI,CAAC;wBACZ,KAAK,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC5D,IAAI,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;wBAC1D,EAAE,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;qBACvD,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,EAAE,CAAC;QACR,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC;QACvB,OAAO,EAAE,UAAU;QACnB,QAAQ;QACR,MAAM;QACN,QAAQ;KACT,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAAY,EACZ,EAA2B,EAC3B,SAAoB,EACpB,QAAkB;IAElB,MAAM,MAAM,GAAgB,EAAE,CAAC;IAE/B,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;IAC3B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,OAAoB,CAAC,EAAE,CAAC;QACrF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EACpC,WAAW,SAAS,YAAY,IAAI,uBAAuB,MAAM,CAAC,OAAO,CAAC,aAAa,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1H,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IACD,MAAM,SAAS,GAAG,OAAoB,CAAC;IAEvC,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACnC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChE,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE9G,oFAAoF;IACpF,IAAI,MAAM,GAAmB,IAAI,CAAC;IAClC,MAAM,WAAW,GAAG,SAAS,KAAK,KAAK,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,EAAE,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,CAAC;IAC/F,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC/B,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,WAAW,SAAS,YAAY,IAAI,iDAAiD,CAAC,CAAC,CAAC;QAClI,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;gBAC5C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,WAAW,SAAS,YAAY,IAAI,8BAA8B,SAAS,GAAG,CAAC,CAAC,CAAC;YAC3H,CAAC;YACD,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,cAAc;IACd,IAAI,MAAM,GAAoB,IAAI,CAAC;IACnC,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,WAAW,SAAS,YAAY,IAAI,wCAAwC,CAAC,CAAC,CAAC;QACzH,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,IAAI,QAAQ,GAAqB,IAAI,CAAC;IACtC,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,iBAAiB,CAAC,QAAQ,CAAC,WAAwB,CAAC,EAAE,CAAC;YAC5F,QAAQ,GAAG,WAAwB,CAAC;QACtC,CAAC;QACD,4DAA4D;IAC9D,CAAC;IAED,MAAM,YAAY,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;IAE3C,0EAA0E;IAC1E,IAAI,cAAc,GAAqB,IAAI,CAAC;IAC5C,IAAI,SAAS,GAA4B,IAAI,CAAC;IAC9C,IAAI,gBAAgB,GAAqB,IAAI,CAAC;IAE9C,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC;QACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EACpC,WAAW,SAAS,YAAY,IAAI,kCAAkC,MAAM,CAAC,KAAK,CAAC,KAAK;oBACxF,4DAA4D,CAAC,CAAC,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACN,cAAc,GAAG,KAAK,CAAC;YACzB,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;gBAC1C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EACpC,WAAW,SAAS,YAAY,IAAI,6BAA6B,MAAM,CAAC,KAAK,CAAC,KAAK;oBACnF,oBAAoB,CAAC,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,KAAK,CAAC;YACpB,CAAC;QACH,CAAC;aAAM,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YACnC,sEAAsE;YACtE,gEAAgE;YAChE,SAAS,GAAG,MAAM,CAAC;QACrB,CAAC;QAED,MAAM,KAAK,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC;QACtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EACpC,WAAW,SAAS,YAAY,IAAI,oCAAoC,MAAM,CAAC,KAAK,CAAC,KAAK;oBAC1F,4DAA4D,CAAC,CAAC,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACN,gBAAgB,GAAG,KAAK,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,sEAAsE;QACtE,iCAAiC;QACjC,IAAI,cAAc,KAAK,IAAI,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;YACzD,IAAI,gBAAgB,CAAC,gBAAgB,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3D,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EACpC,WAAW,SAAS,YAAY,IAAI,4BAA4B,gBAAgB,eAAe;oBAC/F,oBAAoB,cAAc,+CAA+C,CAAC,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,mDAAmD;QACnD,KAAK,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,EAAE,mBAAmB,CAAC,EAAE,CAAC;YACvE,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EACpC,WAAW,SAAS,YAAY,IAAI,cAAc,SAAS,qBAAqB,CAAC,+BAA+B,CAAC,CAAC,CAAC;YACvH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;IAE1C,OAAO,EAAE,CAAC;QACR,IAAI;QACJ,IAAI,EAAE,SAAS;QACf,KAAK;QACL,IAAI;QACJ,MAAM;QACN,MAAM;QACN,MAAM;QACN,YAAY;QACZ,QAAQ;QACR,cAAc;QACd,SAAS;QACT,gBAAgB;KACjB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAc;IACzC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,GAAa,CAAC,CAAC;IAC9C,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maadb/core",
3
- "version": "0.8.3",
3
+ "version": "0.9.0",
4
4
  "description": "Markdown As A Database — treats markdown as the canonical data store, builds a queryable index, and gives LLMs deterministic read/write access.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -62,6 +62,7 @@
62
62
  "@types/better-sqlite3": "~7.6.13",
63
63
  "@types/js-yaml": "~4.0.9",
64
64
  "@types/node": "~24.13.1",
65
+ "@vitest/coverage-v8": "~4.1.9",
65
66
  "pino-pretty": "~13.1.3",
66
67
  "typescript": "~6.0.3",
67
68
  "vitest": "~4.1.8"