@agentshouse/mdmodel 0.1.0-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 (87) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +57 -0
  3. package/dist/definition.d.ts +36 -0
  4. package/dist/definition.d.ts.map +1 -0
  5. package/dist/definition.js +165 -0
  6. package/dist/definition.js.map +1 -0
  7. package/dist/document.d.ts +5 -0
  8. package/dist/document.d.ts.map +1 -0
  9. package/dist/document.js +154 -0
  10. package/dist/document.js.map +1 -0
  11. package/dist/index.d.ts +6 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +6 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/links.d.ts +2 -0
  16. package/dist/links.d.ts.map +1 -0
  17. package/dist/links.js +142 -0
  18. package/dist/links.js.map +1 -0
  19. package/dist/paths.d.ts +14 -0
  20. package/dist/paths.d.ts.map +1 -0
  21. package/dist/paths.js +54 -0
  22. package/dist/paths.js.map +1 -0
  23. package/dist/profile.d.ts +6 -0
  24. package/dist/profile.d.ts.map +1 -0
  25. package/dist/profile.js +7 -0
  26. package/dist/profile.js.map +1 -0
  27. package/dist/refuse.d.ts +6 -0
  28. package/dist/refuse.d.ts.map +1 -0
  29. package/dist/refuse.js +16 -0
  30. package/dist/refuse.js.map +1 -0
  31. package/dist/schema.d.ts +6 -0
  32. package/dist/schema.d.ts.map +1 -0
  33. package/dist/schema.js +70 -0
  34. package/dist/schema.js.map +1 -0
  35. package/dist/sections.d.ts +10 -0
  36. package/dist/sections.d.ts.map +1 -0
  37. package/dist/sections.js +79 -0
  38. package/dist/sections.js.map +1 -0
  39. package/dist/types.d.ts +48 -0
  40. package/dist/types.d.ts.map +1 -0
  41. package/dist/types.js +3 -0
  42. package/dist/types.js.map +1 -0
  43. package/dist/validate.d.ts +3 -0
  44. package/dist/validate.d.ts.map +1 -0
  45. package/dist/validate.js +174 -0
  46. package/dist/validate.js.map +1 -0
  47. package/dist/version.d.ts +2 -0
  48. package/dist/version.d.ts.map +1 -0
  49. package/dist/version.js +3 -0
  50. package/dist/version.js.map +1 -0
  51. package/dist/yaml.d.ts +49 -0
  52. package/dist/yaml.d.ts.map +1 -0
  53. package/dist/yaml.js +427 -0
  54. package/dist/yaml.js.map +1 -0
  55. package/fixtures/README.md +65 -0
  56. package/fixtures/cases/any-without-type/expected.json +1 -0
  57. package/fixtures/cases/any-without-type/library/note.md +3 -0
  58. package/fixtures/cases/field-enum/expected.json +7 -0
  59. package/fixtures/cases/field-enum/library/item.md +9 -0
  60. package/fixtures/cases/field-enum/library/types/task.md +8 -0
  61. package/fixtures/cases/malformed-definition/expected.json +7 -0
  62. package/fixtures/cases/malformed-definition/library/types/task.md +5 -0
  63. package/fixtures/cases/missing-required-field/expected.json +7 -0
  64. package/fixtures/cases/missing-required-field/library/item.md +8 -0
  65. package/fixtures/cases/missing-required-field/library/types/task.md +8 -0
  66. package/fixtures/cases/prd-definition/expected.json +1 -0
  67. package/fixtures/cases/prd-definition/library/types/task.md +15 -0
  68. package/fixtures/cases/referenced-missing-file/expected.json +7 -0
  69. package/fixtures/cases/referenced-missing-file/library/a.md +9 -0
  70. package/fixtures/cases/referenced-missing-file/library/b.md +9 -0
  71. package/fixtures/cases/referenced-missing-file/library/types/person.md +5 -0
  72. package/fixtures/cases/referenced-missing-file/library/types/task.md +8 -0
  73. package/fixtures/cases/structured-section/expected.json +7 -0
  74. package/fixtures/cases/structured-section/library/item.md +12 -0
  75. package/fixtures/cases/structured-section/library/types/task.md +8 -0
  76. package/fixtures/cases/unclosed-frontmatter/expected.json +6 -0
  77. package/fixtures/cases/unclosed-frontmatter/library/note.md +3 -0
  78. package/fixtures/cases/unresolved-link/expected.json +6 -0
  79. package/fixtures/cases/unresolved-link/library/item.md +8 -0
  80. package/fixtures/cases/unresolved-link/library/types/task.md +7 -0
  81. package/fixtures/cases/valid-typed-document/expected.json +1 -0
  82. package/fixtures/cases/valid-typed-document/library/people/ada.md +4 -0
  83. package/fixtures/cases/valid-typed-document/library/tasks/one.md +17 -0
  84. package/fixtures/cases/valid-typed-document/library/types/person.md +5 -0
  85. package/fixtures/cases/valid-typed-document/library/types/task.md +12 -0
  86. package/markdown-syntax-profile.md +9 -0
  87. package/package.json +41 -0
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: task
3
+ title: B
4
+ owner: people/ada.md
5
+ ---
6
+
7
+ ## Description
8
+
9
+ B.
@@ -0,0 +1,5 @@
1
+ ---
2
+ type: definition
3
+ fields:
4
+ name: { kind: string, required: true }
5
+ ---
@@ -0,0 +1,8 @@
1
+ ---
2
+ type: definition
3
+ fields:
4
+ title: { kind: string, required: true }
5
+ owner: { kind: reference, to: person, required: true }
6
+ sections:
7
+ Description: { kind: text, required: true }
8
+ ---
@@ -0,0 +1,7 @@
1
+ {
2
+ "verdict": "refuse",
3
+ "file": "item.md",
4
+ "location": "Acceptance",
5
+ "rule": "structured-section",
6
+ "version": "<package-version>"
7
+ }
@@ -0,0 +1,12 @@
1
+ ---
2
+ type: task
3
+ title: Ship
4
+ ---
5
+
6
+ ## Description
7
+
8
+ Go.
9
+
10
+ ## Acceptance
11
+
12
+ Not a list.
@@ -0,0 +1,8 @@
1
+ ---
2
+ type: definition
3
+ fields:
4
+ title: { kind: string, required: true }
5
+ sections:
6
+ Description: { kind: text, required: true }
7
+ Acceptance: { kind: list }
8
+ ---
@@ -0,0 +1,6 @@
1
+ {
2
+ "verdict": "refuse",
3
+ "file": "note.md",
4
+ "rule": "frontmatter-fence",
5
+ "version": "<package-version>"
6
+ }
@@ -0,0 +1,3 @@
1
+ ---
2
+
3
+ title: no close
@@ -0,0 +1,6 @@
1
+ {
2
+ "verdict": "refuse",
3
+ "file": "item.md",
4
+ "rule": "unresolved-link",
5
+ "version": "<package-version>"
6
+ }
@@ -0,0 +1,8 @@
1
+ ---
2
+ type: task
3
+ title: Ship
4
+ ---
5
+
6
+ ## Description
7
+
8
+ See [nope](missing.md).
@@ -0,0 +1,7 @@
1
+ ---
2
+ type: definition
3
+ fields:
4
+ title: { kind: string, required: true }
5
+ sections:
6
+ Description: { kind: text, required: true }
7
+ ---
@@ -0,0 +1 @@
1
+ { "verdict": "accept" }
@@ -0,0 +1,4 @@
1
+ ---
2
+ type: person
3
+ name: Ada
4
+ ---
@@ -0,0 +1,17 @@
1
+ ---
2
+ type: task
3
+ title: Ship
4
+ status: open
5
+ due: 2026-09-06
6
+ owner: ../people/ada.md
7
+ labels: [core]
8
+ ---
9
+
10
+ ## Description
11
+
12
+ Do the work.
13
+
14
+ ## Acceptance
15
+
16
+ - packaged
17
+ - tested
@@ -0,0 +1,5 @@
1
+ ---
2
+ type: definition
3
+ fields:
4
+ name: { kind: string, required: true }
5
+ ---
@@ -0,0 +1,12 @@
1
+ ---
2
+ type: definition
3
+ fields:
4
+ title: { kind: string, required: true }
5
+ status: { kind: enum, values: [open, in-progress, done], required: true }
6
+ due: { kind: date }
7
+ owner: { kind: reference, to: person }
8
+ labels: { kind: list, of: string }
9
+ sections:
10
+ Description: { kind: text, required: true }
11
+ Acceptance: { kind: list }
12
+ ---
@@ -0,0 +1,9 @@
1
+ # Markdown syntax profile
2
+
3
+ The MD Model pins GitHub Flavored Markdown Spec 0.29 as its Markdown syntax
4
+ profile:
5
+
6
+ https://github.github.com/gfm/
7
+
8
+ The profile is a renderer promise. The package never validates Markdown
9
+ syntax or free body text against it.
package/package.json ADDED
@@ -0,0 +1,41 @@
1
+ {
2
+ "name": "@agentshouse/mdmodel",
3
+ "version": "0.1.0-alpha.1",
4
+ "description": "MD Type language, parser, validator, structured change application, Markdown syntax profile, and conformance fixtures",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "sideEffects": false,
8
+ "publishConfig": {
9
+ "access": "public"
10
+ },
11
+ "engines": {
12
+ "node": ">=24.20.0"
13
+ },
14
+ "exports": {
15
+ ".": {
16
+ "types": "./dist/index.d.ts",
17
+ "import": "./dist/index.js"
18
+ },
19
+ "./package.json": "./package.json"
20
+ },
21
+ "files": [
22
+ "dist",
23
+ "fixtures",
24
+ "LICENSE",
25
+ "README.md",
26
+ "markdown-syntax-profile.md"
27
+ ],
28
+ "repository": {
29
+ "type": "git",
30
+ "url": "git+https://github.com/agentshouse/mdmodel.git",
31
+ "directory": "packages/mdmodel"
32
+ },
33
+ "homepage": "https://github.com/agentshouse/mdmodel#readme",
34
+ "bugs": {
35
+ "url": "https://github.com/agentshouse/mdmodel/issues"
36
+ },
37
+ "dependencies": {
38
+ "ajv": "8.17.1",
39
+ "ajv-formats": "3.0.1"
40
+ }
41
+ }