@agent-teams/engineering-foundation 0.13.0 → 0.14.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 (104) hide show
  1. package/dist/canonical-json.d.ts +12 -0
  2. package/dist/canonical-json.d.ts.map +1 -0
  3. package/dist/canonical-json.js +151 -0
  4. package/dist/canonical-json.js.map +1 -0
  5. package/dist/document-authoring/adapters/canonical-markdown.d.ts +14 -0
  6. package/dist/document-authoring/adapters/canonical-markdown.d.ts.map +1 -0
  7. package/dist/document-authoring/adapters/canonical-markdown.js +354 -0
  8. package/dist/document-authoring/adapters/canonical-markdown.js.map +1 -0
  9. package/dist/document-authoring/adapters/node/node-authoring-profile-reader.d.ts.map +1 -1
  10. package/dist/document-authoring/adapters/node/node-authoring-profile-reader.js +4 -1
  11. package/dist/document-authoring/adapters/node/node-authoring-profile-reader.js.map +1 -1
  12. package/dist/document-authoring/adapters/node/read-document-authority-file.d.ts.map +1 -1
  13. package/dist/document-authoring/adapters/node/read-document-authority-file.js +3 -13
  14. package/dist/document-authoring/adapters/node/read-document-authority-file.js.map +1 -1
  15. package/dist/document-authoring/application/policies/authoring-profile-semantics.d.ts +38 -0
  16. package/dist/document-authoring/application/policies/authoring-profile-semantics.d.ts.map +1 -0
  17. package/dist/document-authoring/application/policies/authoring-profile-semantics.js +122 -0
  18. package/dist/document-authoring/application/policies/authoring-profile-semantics.js.map +1 -0
  19. package/dist/document-authoring/application/policies/document-contract-digests.d.ts +20 -0
  20. package/dist/document-authoring/application/policies/document-contract-digests.d.ts.map +1 -0
  21. package/dist/document-authoring/application/policies/document-contract-digests.js +275 -0
  22. package/dist/document-authoring/application/policies/document-contract-digests.js.map +1 -0
  23. package/dist/document-authoring/application/policies/document-repository-path.d.ts +1 -0
  24. package/dist/document-authoring/application/policies/document-repository-path.d.ts.map +1 -1
  25. package/dist/document-authoring/application/policies/document-repository-path.js +21 -2
  26. package/dist/document-authoring/application/policies/document-repository-path.js.map +1 -1
  27. package/dist/document-authoring/application/policies/document-temporary-path.d.ts +7 -0
  28. package/dist/document-authoring/application/policies/document-temporary-path.d.ts.map +1 -0
  29. package/dist/document-authoring/application/policies/document-temporary-path.js +34 -0
  30. package/dist/document-authoring/application/policies/document-temporary-path.js.map +1 -0
  31. package/dist/document-authoring/application/ports/canonical-document-renderer.d.ts +29 -0
  32. package/dist/document-authoring/application/ports/canonical-document-renderer.d.ts.map +1 -0
  33. package/dist/document-authoring/application/ports/canonical-document-renderer.js +2 -0
  34. package/dist/document-authoring/application/ports/canonical-document-renderer.js.map +1 -0
  35. package/dist/repository-mutation/adapters/node/node-absent-file-publication.d.ts +31 -0
  36. package/dist/repository-mutation/adapters/node/node-absent-file-publication.d.ts.map +1 -0
  37. package/dist/repository-mutation/adapters/node/node-absent-file-publication.js +272 -0
  38. package/dist/repository-mutation/adapters/node/node-absent-file-publication.js.map +1 -0
  39. package/dist/repository-mutation/adapters/node/node-bounded-regular-file.d.ts +20 -0
  40. package/dist/repository-mutation/adapters/node/node-bounded-regular-file.d.ts.map +1 -0
  41. package/dist/repository-mutation/adapters/node/node-bounded-regular-file.js +123 -0
  42. package/dist/repository-mutation/adapters/node/node-bounded-regular-file.js.map +1 -0
  43. package/dist/repository-mutation/adapters/node/node-directory-durability.d.ts +12 -0
  44. package/dist/repository-mutation/adapters/node/node-directory-durability.d.ts.map +1 -0
  45. package/dist/repository-mutation/adapters/node/node-directory-durability.js +32 -0
  46. package/dist/repository-mutation/adapters/node/node-directory-durability.js.map +1 -0
  47. package/dist/repository-mutation/adapters/node/node-existing-repository-ancestors.d.ts +13 -0
  48. package/dist/repository-mutation/adapters/node/node-existing-repository-ancestors.d.ts.map +1 -0
  49. package/dist/repository-mutation/adapters/node/node-existing-repository-ancestors.js +67 -0
  50. package/dist/repository-mutation/adapters/node/node-existing-repository-ancestors.js.map +1 -0
  51. package/dist/repository-mutation/adapters/node/node-repository-path.d.ts +2 -0
  52. package/dist/repository-mutation/adapters/node/node-repository-path.d.ts.map +1 -0
  53. package/dist/repository-mutation/adapters/node/node-repository-path.js +7 -0
  54. package/dist/repository-mutation/adapters/node/node-repository-path.js.map +1 -0
  55. package/dist/repository-mutation/application/model/exact-postimage.d.ts +17 -0
  56. package/dist/repository-mutation/application/model/exact-postimage.d.ts.map +1 -0
  57. package/dist/repository-mutation/application/model/exact-postimage.js +11 -0
  58. package/dist/repository-mutation/application/model/exact-postimage.js.map +1 -0
  59. package/dist/repository-mutation/application/model/path-identity.d.ts +7 -0
  60. package/dist/repository-mutation/application/model/path-identity.d.ts.map +1 -0
  61. package/dist/repository-mutation/application/model/path-identity.js +2 -0
  62. package/dist/repository-mutation/application/model/path-identity.js.map +1 -0
  63. package/dist/repository-mutation/application/model/repository-path.d.ts +8 -0
  64. package/dist/repository-mutation/application/model/repository-path.d.ts.map +1 -0
  65. package/dist/repository-mutation/application/model/repository-path.js +74 -0
  66. package/dist/repository-mutation/application/model/repository-path.js.map +1 -0
  67. package/dist/scaffolding/adapters/node/filesystem-file-identity.d.ts +3 -23
  68. package/dist/scaffolding/adapters/node/filesystem-file-identity.d.ts.map +1 -1
  69. package/dist/scaffolding/adapters/node/filesystem-file-identity.js +1 -122
  70. package/dist/scaffolding/adapters/node/filesystem-file-identity.js.map +1 -1
  71. package/dist/scaffolding/adapters/node/filesystem-operation-state.d.ts +2 -1
  72. package/dist/scaffolding/adapters/node/filesystem-operation-state.d.ts.map +1 -1
  73. package/dist/scaffolding/adapters/node/filesystem-operation-state.js +73 -122
  74. package/dist/scaffolding/adapters/node/filesystem-operation-state.js.map +1 -1
  75. package/dist/scaffolding/adapters/node/filesystem-path-guard.d.ts.map +1 -1
  76. package/dist/scaffolding/adapters/node/filesystem-path-guard.js +27 -68
  77. package/dist/scaffolding/adapters/node/filesystem-path-guard.js.map +1 -1
  78. package/dist/scaffolding/application/policies/legacy-scaffolding-repository-path.d.ts +4 -0
  79. package/dist/scaffolding/application/policies/legacy-scaffolding-repository-path.d.ts.map +1 -0
  80. package/dist/scaffolding/application/policies/legacy-scaffolding-repository-path.js +48 -0
  81. package/dist/scaffolding/application/policies/legacy-scaffolding-repository-path.js.map +1 -0
  82. package/dist/transaction-coordination/adapters/node/document-temporary-identity.d.ts +4 -0
  83. package/dist/transaction-coordination/adapters/node/document-temporary-identity.d.ts.map +1 -0
  84. package/dist/transaction-coordination/adapters/node/document-temporary-identity.js +30 -0
  85. package/dist/transaction-coordination/adapters/node/document-temporary-identity.js.map +1 -0
  86. package/dist/transaction-coordination/adapters/node/installed-foundation-build-identity.js +1 -1
  87. package/dist/transaction-coordination/adapters/node/installed-foundation-build-identity.js.map +1 -1
  88. package/dist/transaction-coordination/adapters/node/legacy-document-envelope-v2.d.ts +5 -0
  89. package/dist/transaction-coordination/adapters/node/legacy-document-envelope-v2.d.ts.map +1 -0
  90. package/dist/transaction-coordination/adapters/node/legacy-document-envelope-v2.js +212 -0
  91. package/dist/transaction-coordination/adapters/node/legacy-document-envelope-v2.js.map +1 -0
  92. package/dist/transaction-coordination/adapters/node/node-foundation-operation-lock.d.ts.map +1 -1
  93. package/dist/transaction-coordination/adapters/node/node-foundation-operation-lock.js +1 -1
  94. package/dist/transaction-coordination/adapters/node/node-foundation-operation-lock.js.map +1 -1
  95. package/dist/transaction-coordination/adapters/node/node-foundation-transaction-slot.d.ts.map +1 -1
  96. package/dist/transaction-coordination/adapters/node/node-foundation-transaction-slot.js +48 -26
  97. package/dist/transaction-coordination/adapters/node/node-foundation-transaction-slot.js.map +1 -1
  98. package/package.json +1 -1
  99. package/schemas/document-authoring-profile/v1.schema.json +64 -15
  100. package/schemas/document-command-envelope/v1.schema.json +1 -1
  101. package/schemas/document-intent/v1.schema.json +48 -6
  102. package/schemas/document-plan/v1.schema.json +20 -4
  103. package/schemas/document-receipt/v1.schema.json +1 -1
  104. package/schemas/foundation-transaction-envelope/v2.schema.json +21 -3
@@ -34,7 +34,7 @@
34
34
  "type": "string",
35
35
  "minLength": 1,
36
36
  "maxLength": 512,
37
- "pattern": "^(?!.*(?:^|/)\\.{1,2}(?:/|$))(?!.*\\.(?:/|$))(?!.*(?:^|/)(?:[Cc][Oo][Nn]|[Pp][Rr][Nn]|[Aa][Uu][Xx]|[Nn][Uu][Ll]|[Cc][Oo][Mm][1-9]|[Ll][Pp][Tt][1-9])(?:\\.[A-Za-z0-9._@-]*)?(?:/|$))[A-Za-z0-9._@-]+(?:/[A-Za-z0-9._@-]+)*$"
37
+ "pattern": "^(?!.*(?:^|/)\\.{1,2}(?:/|$))(?!.*\\.(?:/|$))(?!.*(?:^|/)(?:[Cc][Oo][Nn]|[Pp][Rr][Nn]|[Aa][Uu][Xx]|[Nn][Uu][Ll]|[Cc][Oo][Mm][1-9]|[Ll][Pp][Tt][1-9])(?:\\.[A-Za-z0-9._@-]*)?(?:/|$))[A-Za-z0-9._@-]{1,255}(?:/[A-Za-z0-9._@-]{1,255})*$"
38
38
  },
39
39
  "documentDescriptor": {
40
40
  "type": "object",
@@ -11,7 +11,9 @@
11
11
  "id": { "$ref": "#/$defs/opaqueId" },
12
12
  "title": { "$ref": "#/$defs/title" },
13
13
  "owner": { "$ref": "#/$defs/opaqueId" },
14
- "summary": { "type": "string", "minLength": 1, "maxLength": 1000 },
14
+ "summary": { "$ref": "#/$defs/summary" },
15
+ "slug": { "$ref": "#/$defs/slug" },
16
+ "destination": { "$ref": "#/$defs/repositoryPath" },
15
17
  "related": {
16
18
  "type": "array",
17
19
  "maxItems": 128,
@@ -24,15 +26,40 @@
24
26
  "lowerId": { "type": "string", "minLength": 1, "maxLength": 160, "pattern": "^[a-z0-9][a-z0-9._/-]*$" },
25
27
  "opaqueId": { "type": "string", "minLength": 1, "maxLength": 214, "pattern": "^[A-Za-z0-9@][A-Za-z0-9@._/-]*$" },
26
28
  "title": { "type": "string", "minLength": 1, "maxLength": 240, "pattern": "^[^\\u0000-\\u001F\\u007F]+$" },
29
+ "summary": { "type": "string", "minLength": 1, "maxLength": 1000, "pattern": "^[^\\u0000-\\u001F\\u007F]+$" },
30
+ "slug": { "type": "string", "minLength": 1, "maxLength": 160, "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$" },
31
+ "repositoryPath": {
32
+ "type": "string",
33
+ "minLength": 1,
34
+ "maxLength": 512,
35
+ "pattern": "^(?!.*(?:^|/)\\.{1,2}(?:/|$))(?!.*\\.(?:/|$))(?!.*(?:^|/)(?:[Cc][Oo][Nn]|[Pp][Rr][Nn]|[Aa][Uu][Xx]|[Nn][Uu][Ll]|[Cc][Oo][Mm][1-9]|[Ll][Pp][Tt][1-9])(?:\\.[A-Za-z0-9._@-]*)?(?:/|$))[A-Za-z0-9._@-]{1,255}(?:/[A-Za-z0-9._@-]{1,255})*$"
36
+ },
37
+ "metadataKey": {
38
+ "type": "string",
39
+ "minLength": 1,
40
+ "maxLength": 64,
41
+ "pattern": "^(?!(?:__proto__|prototype|constructor)$)[A-Za-z_][A-Za-z0-9_-]*$"
42
+ },
43
+ "additionalMetadataKey": {
44
+ "type": "string",
45
+ "minLength": 1,
46
+ "maxLength": 64,
47
+ "pattern": "^(?!(?:id|type|status|owner|summary|title|slug|destination|related|__proto__|prototype|constructor)$)[A-Za-z_][A-Za-z0-9_-]*$"
48
+ },
27
49
  "jsonScalar": {
28
50
  "oneOf": [
29
51
  { "type": "null" },
30
52
  { "type": "boolean" },
31
53
  { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 },
32
- { "type": "string", "maxLength": 4096 }
54
+ { "type": "string", "maxLength": 4096, "pattern": "^[^\\u0000-\\u001F\\u007F]*$" }
33
55
  ]
34
56
  },
35
- "jsonObject1": { "type": "object", "maxProperties": 64, "additionalProperties": { "$ref": "#/$defs/jsonValue1" } },
57
+ "jsonObject1": {
58
+ "type": "object",
59
+ "maxProperties": 64,
60
+ "propertyNames": { "$ref": "#/$defs/additionalMetadataKey" },
61
+ "additionalProperties": { "$ref": "#/$defs/jsonValue1" }
62
+ },
36
63
  "jsonValue1": {
37
64
  "oneOf": [
38
65
  { "$ref": "#/$defs/jsonScalar" },
@@ -40,7 +67,12 @@
40
67
  { "$ref": "#/$defs/jsonObject2" }
41
68
  ]
42
69
  },
43
- "jsonObject2": { "type": "object", "maxProperties": 64, "additionalProperties": { "$ref": "#/$defs/jsonValue2" } },
70
+ "jsonObject2": {
71
+ "type": "object",
72
+ "maxProperties": 64,
73
+ "propertyNames": { "$ref": "#/$defs/metadataKey" },
74
+ "additionalProperties": { "$ref": "#/$defs/jsonValue2" }
75
+ },
44
76
  "jsonValue2": {
45
77
  "oneOf": [
46
78
  { "$ref": "#/$defs/jsonScalar" },
@@ -48,12 +80,22 @@
48
80
  { "$ref": "#/$defs/jsonObject3" }
49
81
  ]
50
82
  },
51
- "jsonObject3": { "type": "object", "maxProperties": 64, "additionalProperties": { "$ref": "#/$defs/jsonValue3" } },
83
+ "jsonObject3": {
84
+ "type": "object",
85
+ "maxProperties": 64,
86
+ "propertyNames": { "$ref": "#/$defs/metadataKey" },
87
+ "additionalProperties": { "$ref": "#/$defs/jsonValue3" }
88
+ },
52
89
  "jsonValue3": {
53
90
  "oneOf": [
54
91
  { "$ref": "#/$defs/jsonScalar" },
55
92
  { "type": "array", "maxItems": 128, "items": { "$ref": "#/$defs/jsonScalar" } },
56
- { "type": "object", "maxProperties": 64, "additionalProperties": { "$ref": "#/$defs/jsonScalar" } }
93
+ {
94
+ "type": "object",
95
+ "maxProperties": 64,
96
+ "propertyNames": { "$ref": "#/$defs/metadataKey" },
97
+ "additionalProperties": { "$ref": "#/$defs/jsonScalar" }
98
+ }
57
99
  ]
58
100
  }
59
101
  }
@@ -47,7 +47,13 @@
47
47
  "type": "string",
48
48
  "minLength": 1,
49
49
  "maxLength": 512,
50
- "pattern": "^(?!.*(?:^|/)\\.{1,2}(?:/|$))(?!.*\\.(?:/|$))(?!.*(?:^|/)(?:[Cc][Oo][Nn]|[Pp][Rr][Nn]|[Aa][Uu][Xx]|[Nn][Uu][Ll]|[Cc][Oo][Mm][1-9]|[Ll][Pp][Tt][1-9])(?:\\.[A-Za-z0-9._@-]*)?(?:/|$))[A-Za-z0-9._@-]+(?:/[A-Za-z0-9._@-]+)*$"
50
+ "pattern": "^(?!.*(?:^|/)\\.{1,2}(?:/|$))(?!.*\\.(?:/|$))(?!.*(?:^|/)(?:[Cc][Oo][Nn]|[Pp][Rr][Nn]|[Aa][Uu][Xx]|[Nn][Uu][Ll]|[Cc][Oo][Mm][1-9]|[Ll][Pp][Tt][1-9])(?:\\.[A-Za-z0-9._@-]*)?(?:/|$))[A-Za-z0-9._@-]{1,255}(?:/[A-Za-z0-9._@-]{1,255})*$"
51
+ },
52
+ "repositoryParentPath": {
53
+ "oneOf": [
54
+ { "const": "." },
55
+ { "$ref": "#/$defs/repositoryPath" }
56
+ ]
51
57
  },
52
58
  "compiler": {
53
59
  "type": "object",
@@ -66,7 +72,17 @@
66
72
  "properties": {
67
73
  "path": { "$ref": "#/$defs/repositoryPath" },
68
74
  "digest": { "$ref": "#/$defs/digest" },
69
- "size": { "type": "integer", "minimum": 1, "maximum": 4194304 }
75
+ "size": { "type": "integer", "minimum": 1, "maximum": 1048576 }
76
+ }
77
+ },
78
+ "templateAuthoritySource": {
79
+ "type": "object",
80
+ "additionalProperties": false,
81
+ "required": ["path", "digest", "size"],
82
+ "properties": {
83
+ "path": { "$ref": "#/$defs/repositoryPath" },
84
+ "digest": { "$ref": "#/$defs/digest" },
85
+ "size": { "type": "integer", "minimum": 1, "maximum": 262144 }
70
86
  }
71
87
  },
72
88
  "authority": {
@@ -77,7 +93,7 @@
77
93
  "profile": { "$ref": "#/$defs/authoritySource" },
78
94
  "metadataSchema": { "$ref": "#/$defs/authoritySource" },
79
95
  "ownerCatalog": { "$ref": "#/$defs/authoritySource" },
80
- "template": { "$ref": "#/$defs/authoritySource" }
96
+ "template": { "$ref": "#/$defs/templateAuthoritySource" }
81
97
  }
82
98
  },
83
99
  "selectedOwner": {
@@ -113,7 +129,7 @@
113
129
  "additionalProperties": false,
114
130
  "required": ["path", "state", "ancestry"],
115
131
  "properties": {
116
- "path": { "$ref": "#/$defs/repositoryPath" },
132
+ "path": { "$ref": "#/$defs/repositoryParentPath" },
117
133
  "state": { "const": "directory" },
118
134
  "ancestry": { "const": "real-directories" }
119
135
  }
@@ -38,7 +38,7 @@
38
38
  "type": "string",
39
39
  "minLength": 1,
40
40
  "maxLength": 512,
41
- "pattern": "^(?!.*(?:^|/)\\.{1,2}(?:/|$))(?!.*\\.(?:/|$))(?!.*(?:^|/)(?:[Cc][Oo][Nn]|[Pp][Rr][Nn]|[Aa][Uu][Xx]|[Nn][Uu][Ll]|[Cc][Oo][Mm][1-9]|[Ll][Pp][Tt][1-9])(?:\\.[A-Za-z0-9._@-]*)?(?:/|$))[A-Za-z0-9._@-]+(?:/[A-Za-z0-9._@-]+)*$"
41
+ "pattern": "^(?!.*(?:^|/)\\.{1,2}(?:/|$))(?!.*\\.(?:/|$))(?!.*(?:^|/)(?:[Cc][Oo][Nn]|[Pp][Rr][Nn]|[Aa][Uu][Xx]|[Nn][Uu][Ll]|[Cc][Oo][Mm][1-9]|[Ll][Pp][Tt][1-9])(?:\\.[A-Za-z0-9._@-]*)?(?:/|$))[A-Za-z0-9._@-]{1,255}(?:/[A-Za-z0-9._@-]{1,255})*$"
42
42
  },
43
43
  "commitObservation": {
44
44
  "type": "object",
@@ -44,7 +44,7 @@
44
44
  "type": "string",
45
45
  "minLength": 1,
46
46
  "maxLength": 512,
47
- "pattern": "^(?!.*(?:^|/)\\.{1,2}(?:/|$))(?!.*\\.(?:/|$))(?!.*(?:^|/)(?:[Cc][Oo][Nn]|[Pp][Rr][Nn]|[Aa][Uu][Xx]|[Nn][Uu][Ll]|[Cc][Oo][Mm][1-9]|[Ll][Pp][Tt][1-9])(?:\\.[A-Za-z0-9._@-]*)?(?:/|$))[A-Za-z0-9._@-]+(?:/[A-Za-z0-9._@-]+)*$"
47
+ "pattern": "^(?!.*(?:^|/)\\.{1,2}(?:/|$))(?!.*\\.(?:/|$))(?!.*(?:^|/)(?:[Cc][Oo][Nn]|[Pp][Rr][Nn]|[Aa][Uu][Xx]|[Nn][Uu][Ll]|[Cc][Oo][Mm][1-9]|[Ll][Pp][Tt][1-9])(?:\\.[A-Za-z0-9._@-]*)?(?:/|$))[A-Za-z0-9._@-]{1,255}(?:/[A-Za-z0-9._@-]{1,255})*$"
48
48
  },
49
49
  "documentJournal": {
50
50
  "type": "object",
@@ -65,14 +65,32 @@
65
65
  "ownedTemporary": {
66
66
  "type": "object",
67
67
  "additionalProperties": false,
68
- "required": ["path", "digest"],
68
+ "required": ["path", "digest", "identity"],
69
69
  "properties": {
70
70
  "path": { "$ref": "#/$defs/repositoryPath" },
71
- "digest": { "$ref": "#/$defs/digest" }
71
+ "digest": { "$ref": "#/$defs/digest" },
72
+ "identity": { "$ref": "#/$defs/nodeTemporaryIdentity" }
72
73
  }
73
74
  }
74
75
  }
75
76
  },
77
+ "nodeTemporaryIdentity": {
78
+ "type": "object",
79
+ "additionalProperties": false,
80
+ "required": ["adapter", "version", "dev", "ino", "birthtimeNs"],
81
+ "properties": {
82
+ "adapter": { "const": "node-filesystem" },
83
+ "version": { "const": 1 },
84
+ "dev": { "$ref": "#/$defs/unsignedDecimal" },
85
+ "ino": { "$ref": "#/$defs/unsignedDecimal" },
86
+ "birthtimeNs": { "$ref": "#/$defs/unsignedDecimal" }
87
+ }
88
+ },
89
+ "unsignedDecimal": {
90
+ "type": "string",
91
+ "pattern": "^(?:0|[1-9][0-9]*)$",
92
+ "maxLength": 32
93
+ },
76
94
  "documentAuthoringEnvelope": {
77
95
  "if": { "type": "object", "properties": { "operationKind": { "const": "document-authoring" } }, "required": ["operationKind"] },
78
96
  "then": {