@jasonbelmonti/markdown-engine 3.0.0 → 3.1.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 (76) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +67 -0
  3. package/dist/api/contracts.d.ts +2 -1
  4. package/dist/api/contracts.d.ts.map +1 -1
  5. package/dist/api/contracts.js +1 -0
  6. package/dist/api/contracts.js.map +1 -1
  7. package/dist/api/declarative-validation.d.ts +1 -1
  8. package/dist/api/declarative-validation.d.ts.map +1 -1
  9. package/dist/api/declarative-validation.js.map +1 -1
  10. package/dist/api/document-set-validation-types.d.ts +32 -0
  11. package/dist/api/document-set-validation-types.d.ts.map +1 -0
  12. package/dist/api/document-set-validation-types.js +2 -0
  13. package/dist/api/document-set-validation-types.js.map +1 -0
  14. package/dist/api/document-set-validation.d.ts +4 -0
  15. package/dist/api/document-set-validation.d.ts.map +1 -0
  16. package/dist/api/document-set-validation.js +60 -0
  17. package/dist/api/document-set-validation.js.map +1 -0
  18. package/dist/api/serialize.d.ts +2 -1
  19. package/dist/api/serialize.d.ts.map +1 -1
  20. package/dist/api/serialize.js.map +1 -1
  21. package/dist/declarative-validation/assertions/evaluator.d.ts.map +1 -1
  22. package/dist/declarative-validation/assertions/evaluator.js +6 -0
  23. package/dist/declarative-validation/assertions/evaluator.js.map +1 -1
  24. package/dist/declarative-validation/assertions/frontmatter-shape.d.ts +9 -0
  25. package/dist/declarative-validation/assertions/frontmatter-shape.d.ts.map +1 -0
  26. package/dist/declarative-validation/assertions/frontmatter-shape.js +105 -0
  27. package/dist/declarative-validation/assertions/frontmatter-shape.js.map +1 -0
  28. package/dist/declarative-validation/assertions/text-format.d.ts +9 -0
  29. package/dist/declarative-validation/assertions/text-format.d.ts.map +1 -0
  30. package/dist/declarative-validation/assertions/text-format.js +75 -0
  31. package/dist/declarative-validation/assertions/text-format.js.map +1 -0
  32. package/dist/declarative-validation/compiler/assertion-builders.d.ts.map +1 -1
  33. package/dist/declarative-validation/compiler/assertion-builders.js +38 -1
  34. package/dist/declarative-validation/compiler/assertion-builders.js.map +1 -1
  35. package/dist/declarative-validation/compiler/assertion-shapes.d.ts +3 -1
  36. package/dist/declarative-validation/compiler/assertion-shapes.d.ts.map +1 -1
  37. package/dist/declarative-validation/compiler/assertion-shapes.js +30 -0
  38. package/dist/declarative-validation/compiler/assertion-shapes.js.map +1 -1
  39. package/dist/declarative-validation/compiler/assertions.d.ts.map +1 -1
  40. package/dist/declarative-validation/compiler/assertions.js +2 -0
  41. package/dist/declarative-validation/compiler/assertions.js.map +1 -1
  42. package/dist/declarative-validation/compiler/compatibility.d.ts.map +1 -1
  43. package/dist/declarative-validation/compiler/compatibility.js +2 -0
  44. package/dist/declarative-validation/compiler/compatibility.js.map +1 -1
  45. package/dist/declarative-validation/compiler/plan.d.ts +8 -1
  46. package/dist/declarative-validation/compiler/plan.d.ts.map +1 -1
  47. package/dist/declarative-validation/profile/assertion-schema.d.ts.map +1 -1
  48. package/dist/declarative-validation/profile/assertion-schema.js +48 -3
  49. package/dist/declarative-validation/profile/assertion-schema.js.map +1 -1
  50. package/dist/declarative-validation/profile/frontmatter-shape-schema.d.ts +8 -0
  51. package/dist/declarative-validation/profile/frontmatter-shape-schema.d.ts.map +1 -0
  52. package/dist/declarative-validation/profile/frontmatter-shape-schema.js +178 -0
  53. package/dist/declarative-validation/profile/frontmatter-shape-schema.js.map +1 -0
  54. package/dist/declarative-validation/profile/index.d.ts +21 -0
  55. package/dist/declarative-validation/profile/index.d.ts.map +1 -1
  56. package/dist/declarative-validation/profile/text-format-contract.d.ts +4 -0
  57. package/dist/declarative-validation/profile/text-format-contract.d.ts.map +1 -0
  58. package/dist/declarative-validation/profile/text-format-contract.js +6 -0
  59. package/dist/declarative-validation/profile/text-format-contract.js.map +1 -0
  60. package/dist-bundled/markdown-engine-cli.mjs +552 -5
  61. package/docs/contracts/api.md +60 -0
  62. package/docs/contracts/declarative-validation.md +159 -20
  63. package/fixtures/declarative-validation/examples/okf-v0.1/fail/invalid-log-date/log.md +5 -0
  64. package/fixtures/declarative-validation/examples/okf-v0.1/fail/missing-concept-type/concepts/customer-metric.md +8 -0
  65. package/fixtures/declarative-validation/examples/okf-v0.1/fail/non-root-index-frontmatter/datasets/index.md +7 -0
  66. package/fixtures/declarative-validation/examples/okf-v0.1/pass/datasets/index.md +3 -0
  67. package/fixtures/declarative-validation/examples/okf-v0.1/pass/datasets/sales.md +16 -0
  68. package/fixtures/declarative-validation/examples/okf-v0.1/pass/index.md +8 -0
  69. package/fixtures/declarative-validation/examples/okf-v0.1/pass/log.md +9 -0
  70. package/fixtures/declarative-validation/examples/okf-v0.1/pass/playbooks/incident-response.md +17 -0
  71. package/fixtures/declarative-validation/examples/okf-v0.1/profiles/concept.yaml +14 -0
  72. package/fixtures/declarative-validation/examples/okf-v0.1/profiles/log.yaml +10 -0
  73. package/fixtures/declarative-validation/examples/okf-v0.1/profiles/non-root-index.yaml +9 -0
  74. package/fixtures/declarative-validation/examples/okf-v0.1/profiles/root-index.yaml +12 -0
  75. package/package.json +3 -2
  76. package/scripts/install-markdown-engine-cli.sh +113 -0
@@ -0,0 +1,178 @@
1
+ import { isPlainRecord } from "../../internal/plain-record.js";
2
+ const FRONTMATTER_PRESENCE_VALUES = new Set([
3
+ "required",
4
+ "forbidden",
5
+ ]);
6
+ const FRONTMATTER_VALUE_TYPES = new Set([
7
+ "string",
8
+ "number",
9
+ "boolean",
10
+ "array",
11
+ "object",
12
+ "null",
13
+ ]);
14
+ export function frontmatterShapeFromValue(value) {
15
+ const invalidShapes = [];
16
+ const unsupportedKeys = [];
17
+ const shape = frontmatterShape(value, invalidShapes, unsupportedKeys);
18
+ return {
19
+ ...(shape !== undefined ? { shape } : {}),
20
+ invalidShapes,
21
+ unsupportedKeys,
22
+ };
23
+ }
24
+ function frontmatterShape(value, invalidShapes, unsupportedKeys) {
25
+ if (!isPlainRecord(value)) {
26
+ invalidShapes.push("frontmatterShape must be an object.");
27
+ return undefined;
28
+ }
29
+ collectUnsupportedKeys(value, ["presence", "fields"], unsupportedKeys);
30
+ let valid = true;
31
+ const presence = frontmatterPresence(value.presence, invalidShapes);
32
+ if (value.presence !== undefined && presence === undefined) {
33
+ valid = false;
34
+ }
35
+ const fields = frontmatterFields(value.fields, invalidShapes, unsupportedKeys);
36
+ if (value.fields !== undefined && fields === undefined) {
37
+ valid = false;
38
+ }
39
+ if (value.presence === undefined && value.fields === undefined) {
40
+ invalidShapes.push("frontmatterShape must include presence or fields.");
41
+ valid = false;
42
+ }
43
+ if (presence === "forbidden" && fields !== undefined) {
44
+ invalidShapes.push("frontmatterShape.fields cannot be provided when presence is forbidden.");
45
+ valid = false;
46
+ }
47
+ return valid
48
+ ? {
49
+ ...(presence !== undefined ? { presence } : {}),
50
+ ...(fields !== undefined ? { fields } : {}),
51
+ }
52
+ : undefined;
53
+ }
54
+ function frontmatterPresence(value, invalidShapes) {
55
+ if (value === undefined) {
56
+ return undefined;
57
+ }
58
+ if (typeof value === "string" &&
59
+ FRONTMATTER_PRESENCE_VALUES.has(value)) {
60
+ return value;
61
+ }
62
+ invalidShapes.push('frontmatterShape.presence must be "required" or "forbidden" when provided.');
63
+ return undefined;
64
+ }
65
+ function frontmatterFields(value, invalidShapes, unsupportedKeys) {
66
+ if (value === undefined) {
67
+ return undefined;
68
+ }
69
+ if (!Array.isArray(value) || value.length === 0) {
70
+ invalidShapes.push("frontmatterShape.fields must be a non-empty array when provided.");
71
+ return undefined;
72
+ }
73
+ const fields = [];
74
+ const seenFields = new Set();
75
+ let valid = true;
76
+ for (let index = 0; index < value.length; index += 1) {
77
+ const fieldShape = frontmatterField(value[index], index, invalidShapes, unsupportedKeys);
78
+ if (fieldShape === undefined) {
79
+ valid = false;
80
+ continue;
81
+ }
82
+ if (seenFields.has(fieldShape.field)) {
83
+ invalidShapes.push(`frontmatterShape.fields[${index}].field duplicates field "${fieldShape.field}".`);
84
+ valid = false;
85
+ continue;
86
+ }
87
+ seenFields.add(fieldShape.field);
88
+ fields.push(fieldShape);
89
+ }
90
+ return valid ? fields : undefined;
91
+ }
92
+ function frontmatterField(value, index, invalidShapes, unsupportedKeys) {
93
+ const fieldName = `frontmatterShape.fields[${index}]`;
94
+ if (!isPlainRecord(value)) {
95
+ invalidShapes.push(`${fieldName} must be an object.`);
96
+ return undefined;
97
+ }
98
+ collectUnsupportedKeys(value, ["field", "required", "valueType", "nonEmpty"], unsupportedKeys);
99
+ let valid = true;
100
+ const field = nonEmptyString(value.field);
101
+ if (field === undefined) {
102
+ invalidShapes.push(`${fieldName}.field must be a non-empty string.`);
103
+ valid = false;
104
+ }
105
+ const required = trueConstraint(value.required, `${fieldName}.required`, invalidShapes);
106
+ if (value.required !== undefined && required === undefined) {
107
+ valid = false;
108
+ }
109
+ const valueType = frontmatterValueType(value.valueType, `${fieldName}.valueType`, invalidShapes);
110
+ if (value.valueType !== undefined && valueType === undefined) {
111
+ valid = false;
112
+ }
113
+ const nonEmpty = trueConstraint(value.nonEmpty, `${fieldName}.nonEmpty`, invalidShapes);
114
+ if (value.nonEmpty !== undefined && nonEmpty === undefined) {
115
+ valid = false;
116
+ }
117
+ if (nonEmpty === true && valueType !== undefined && valueType !== "string") {
118
+ invalidShapes.push(`${fieldName}.nonEmpty can be combined only with valueType "string".`);
119
+ valid = false;
120
+ }
121
+ const hasPredicateInput = value.required !== undefined ||
122
+ value.valueType !== undefined ||
123
+ value.nonEmpty !== undefined;
124
+ if (!hasPredicateInput) {
125
+ invalidShapes.push(`${fieldName} must include required, valueType, or nonEmpty.`);
126
+ valid = false;
127
+ }
128
+ if (!valid || field === undefined) {
129
+ return undefined;
130
+ }
131
+ const baseField = {
132
+ field,
133
+ ...(required === true ? { required: true } : {}),
134
+ };
135
+ if (nonEmpty === true) {
136
+ return {
137
+ ...baseField,
138
+ ...(valueType === "string" ? { valueType } : {}),
139
+ nonEmpty: true,
140
+ };
141
+ }
142
+ return {
143
+ ...baseField,
144
+ ...(valueType !== undefined ? { valueType } : {}),
145
+ };
146
+ }
147
+ function trueConstraint(value, fieldName, invalidShapes) {
148
+ if (value === undefined) {
149
+ return undefined;
150
+ }
151
+ if (value === true) {
152
+ return true;
153
+ }
154
+ invalidShapes.push(`${fieldName} must be true when provided.`);
155
+ return undefined;
156
+ }
157
+ function frontmatterValueType(value, fieldName, invalidShapes) {
158
+ if (value === undefined) {
159
+ return undefined;
160
+ }
161
+ if (typeof value === "string" &&
162
+ FRONTMATTER_VALUE_TYPES.has(value)) {
163
+ return value;
164
+ }
165
+ invalidShapes.push(`${fieldName} must be "string", "number", "boolean", "array", "object", or "null" when provided.`);
166
+ return undefined;
167
+ }
168
+ function nonEmptyString(value) {
169
+ return typeof value === "string" && value.length > 0 ? value : undefined;
170
+ }
171
+ function collectUnsupportedKeys(record, allowedKeys, unsupportedKeys) {
172
+ for (const key of Object.keys(record)) {
173
+ if (!allowedKeys.includes(key)) {
174
+ unsupportedKeys.push(key);
175
+ }
176
+ }
177
+ }
178
+ //# sourceMappingURL=frontmatter-shape-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontmatter-shape-schema.js","sourceRoot":"","sources":["../../../src/declarative-validation/profile/frontmatter-shape-schema.ts"],"names":[],"mappings":"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"}
@@ -106,6 +106,7 @@ export interface DeclarativeAssertion {
106
106
  mustAppearIn: readonly string[];
107
107
  };
108
108
  tableColumnCoverage?: DeclarativeTableColumnCoverage;
109
+ frontmatterShape?: DeclarativeFrontmatterShape;
109
110
  text?: {
110
111
  contains?: string;
111
112
  excludes?: readonly string[];
@@ -118,6 +119,9 @@ export interface DeclarativeAssertion {
118
119
  min?: number;
119
120
  max?: number;
120
121
  };
122
+ textFormat?: {
123
+ format: "isoDate";
124
+ };
121
125
  frontmatterRequired?: {
122
126
  fields: readonly string[];
123
127
  };
@@ -143,6 +147,23 @@ export interface DeclarativeTableColumnCoverageTarget {
143
147
  tableHeader?: readonly string[];
144
148
  column: string;
145
149
  }
150
+ export interface DeclarativeFrontmatterShape {
151
+ presence?: DeclarativeFrontmatterPresence;
152
+ fields?: readonly DeclarativeFrontmatterFieldShape[];
153
+ }
154
+ export type DeclarativeFrontmatterPresence = "required" | "forbidden";
155
+ export type DeclarativeFrontmatterFieldShape = {
156
+ field: string;
157
+ required?: true;
158
+ valueType?: "string";
159
+ nonEmpty?: true;
160
+ } | {
161
+ field: string;
162
+ required?: true;
163
+ valueType?: Exclude<DeclarativeFrontmatterValueType, "string">;
164
+ nonEmpty?: never;
165
+ };
166
+ export type DeclarativeFrontmatterValueType = "string" | "number" | "boolean" | "array" | "object" | "null";
146
167
  export interface DeclarativeProfileParseOptions {
147
168
  path?: string;
148
169
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/profile/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/profile/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare const TEXT_FORMAT_ASSERTION_KEYS: readonly ["format"];
2
+ export declare const TEXT_FORMAT_ISO_DATE: "isoDate";
3
+ export declare function isTextFormatAssertionFormat(value: unknown): value is typeof TEXT_FORMAT_ISO_DATE;
4
+ //# sourceMappingURL=text-format-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-format-contract.d.ts","sourceRoot":"","sources":["../../../src/declarative-validation/profile/text-format-contract.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,qBAAsB,CAAC;AAE9D,eAAO,MAAM,oBAAoB,EAAG,SAAkB,CAAC;AAEvD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,OAAO,oBAAoB,CAEtC"}
@@ -0,0 +1,6 @@
1
+ export const TEXT_FORMAT_ASSERTION_KEYS = ["format"];
2
+ export const TEXT_FORMAT_ISO_DATE = "isoDate";
3
+ export function isTextFormatAssertionFormat(value) {
4
+ return value === TEXT_FORMAT_ISO_DATE;
5
+ }
6
+ //# sourceMappingURL=text-format-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-format-contract.js","sourceRoot":"","sources":["../../../src/declarative-validation/profile/text-format-contract.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,QAAQ,CAAU,CAAC;AAE9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAkB,CAAC;AAEvD,MAAM,UAAU,2BAA2B,CACzC,KAAc;IAEd,OAAO,KAAK,KAAK,oBAAoB,CAAC;AACxC,CAAC"}