@agent-teams/engineering-foundation 0.14.0 → 0.15.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 (83) hide show
  1. package/dist/document-authoring/adapters/node/load-validated-document-authoring-profile.d.ts +31 -0
  2. package/dist/document-authoring/adapters/node/load-validated-document-authoring-profile.d.ts.map +1 -0
  3. package/dist/document-authoring/adapters/node/load-validated-document-authoring-profile.js +47 -0
  4. package/dist/document-authoring/adapters/node/load-validated-document-authoring-profile.js.map +1 -0
  5. package/dist/document-authoring/adapters/node/node-authoring-profile-reader.d.ts.map +1 -1
  6. package/dist/document-authoring/adapters/node/node-authoring-profile-reader.js +14 -39
  7. package/dist/document-authoring/adapters/node/node-authoring-profile-reader.js.map +1 -1
  8. package/dist/document-authoring/adapters/node/node-document-contract-validator.d.ts +7 -0
  9. package/dist/document-authoring/adapters/node/node-document-contract-validator.d.ts.map +1 -0
  10. package/dist/document-authoring/adapters/node/node-document-contract-validator.js +179 -0
  11. package/dist/document-authoring/adapters/node/node-document-contract-validator.js.map +1 -0
  12. package/dist/document-authoring/adapters/node/node-document-planning-profile-reader.d.ts +10 -0
  13. package/dist/document-authoring/adapters/node/node-document-planning-profile-reader.d.ts.map +1 -0
  14. package/dist/document-authoring/adapters/node/node-document-planning-profile-reader.js +72 -0
  15. package/dist/document-authoring/adapters/node/node-document-planning-profile-reader.js.map +1 -0
  16. package/dist/document-authoring/adapters/node/node-document-planning-state-reader.d.ts +10 -0
  17. package/dist/document-authoring/adapters/node/node-document-planning-state-reader.d.ts.map +1 -0
  18. package/dist/document-authoring/adapters/node/node-document-planning-state-reader.js +164 -0
  19. package/dist/document-authoring/adapters/node/node-document-planning-state-reader.js.map +1 -0
  20. package/dist/document-authoring/adapters/node/node-document-template-reader.d.ts +10 -0
  21. package/dist/document-authoring/adapters/node/node-document-template-reader.d.ts.map +1 -0
  22. package/dist/document-authoring/adapters/node/node-document-template-reader.js +32 -0
  23. package/dist/document-authoring/adapters/node/node-document-template-reader.js.map +1 -0
  24. package/dist/document-authoring/application/model/document-planning.d.ts +171 -0
  25. package/dist/document-authoring/application/model/document-planning.d.ts.map +1 -0
  26. package/dist/document-authoring/application/model/document-planning.js +2 -0
  27. package/dist/document-authoring/application/model/document-planning.js.map +1 -0
  28. package/dist/document-authoring/application/policies/document-logical-preimage.d.ts +14 -0
  29. package/dist/document-authoring/application/policies/document-logical-preimage.d.ts.map +1 -0
  30. package/dist/document-authoring/application/policies/document-logical-preimage.js +61 -0
  31. package/dist/document-authoring/application/policies/document-logical-preimage.js.map +1 -0
  32. package/dist/document-authoring/application/policies/document-planning-policy-error.d.ts +6 -0
  33. package/dist/document-authoring/application/policies/document-planning-policy-error.d.ts.map +1 -0
  34. package/dist/document-authoring/application/policies/document-planning-policy-error.js +9 -0
  35. package/dist/document-authoring/application/policies/document-planning-policy-error.js.map +1 -0
  36. package/dist/document-authoring/application/policies/normalize-document-intent.d.ts +3 -0
  37. package/dist/document-authoring/application/policies/normalize-document-intent.d.ts.map +1 -0
  38. package/dist/document-authoring/application/policies/normalize-document-intent.js +104 -0
  39. package/dist/document-authoring/application/policies/normalize-document-intent.js.map +1 -0
  40. package/dist/document-authoring/application/policies/resolve-document-authoring.d.ts +13 -0
  41. package/dist/document-authoring/application/policies/resolve-document-authoring.d.ts.map +1 -0
  42. package/dist/document-authoring/application/policies/resolve-document-authoring.js +154 -0
  43. package/dist/document-authoring/application/policies/resolve-document-authoring.js.map +1 -0
  44. package/dist/document-authoring/application/ports/document-contract-validator.d.ts +6 -0
  45. package/dist/document-authoring/application/ports/document-contract-validator.d.ts.map +1 -0
  46. package/dist/document-authoring/application/ports/document-contract-validator.js +2 -0
  47. package/dist/document-authoring/application/ports/document-contract-validator.js.map +1 -0
  48. package/dist/document-authoring/application/ports/document-planning-profile-reader.d.ts +9 -0
  49. package/dist/document-authoring/application/ports/document-planning-profile-reader.d.ts.map +1 -0
  50. package/dist/document-authoring/application/ports/document-planning-profile-reader.js +2 -0
  51. package/dist/document-authoring/application/ports/document-planning-profile-reader.js.map +1 -0
  52. package/dist/document-authoring/application/ports/document-planning-state-reader.d.ts +9 -0
  53. package/dist/document-authoring/application/ports/document-planning-state-reader.d.ts.map +1 -0
  54. package/dist/document-authoring/application/ports/document-planning-state-reader.js +2 -0
  55. package/dist/document-authoring/application/ports/document-planning-state-reader.js.map +1 -0
  56. package/dist/document-authoring/application/ports/document-template-reader.d.ts +9 -0
  57. package/dist/document-authoring/application/ports/document-template-reader.d.ts.map +1 -0
  58. package/dist/document-authoring/application/ports/document-template-reader.js +2 -0
  59. package/dist/document-authoring/application/ports/document-template-reader.js.map +1 -0
  60. package/dist/document-authoring/application/ports/documentation-catalog-reader.d.ts +11 -0
  61. package/dist/document-authoring/application/ports/documentation-catalog-reader.d.ts.map +1 -0
  62. package/dist/document-authoring/application/ports/documentation-catalog-reader.js +2 -0
  63. package/dist/document-authoring/application/ports/documentation-catalog-reader.js.map +1 -0
  64. package/dist/document-authoring/application/use-cases/build-documentation-catalog.d.ts +2 -1
  65. package/dist/document-authoring/application/use-cases/build-documentation-catalog.d.ts.map +1 -1
  66. package/dist/document-authoring/application/use-cases/build-documentation-catalog.js.map +1 -1
  67. package/dist/document-authoring/application/use-cases/compile-document-plan.d.ts +6 -0
  68. package/dist/document-authoring/application/use-cases/compile-document-plan.d.ts.map +1 -0
  69. package/dist/document-authoring/application/use-cases/compile-document-plan.js +156 -0
  70. package/dist/document-authoring/application/use-cases/compile-document-plan.js.map +1 -0
  71. package/dist/document-authoring/application/use-cases/plan-documentation-document.d.ts +66 -0
  72. package/dist/document-authoring/application/use-cases/plan-documentation-document.d.ts.map +1 -0
  73. package/dist/document-authoring/application/use-cases/plan-documentation-document.js +276 -0
  74. package/dist/document-authoring/application/use-cases/plan-documentation-document.js.map +1 -0
  75. package/dist/document-authoring/document-planning-error.d.ts +6 -0
  76. package/dist/document-authoring/document-planning-error.d.ts.map +1 -0
  77. package/dist/document-authoring/document-planning-error.js +9 -0
  78. package/dist/document-authoring/document-planning-error.js.map +1 -0
  79. package/dist/document-authoring/index.d.ts +10 -0
  80. package/dist/document-authoring/index.d.ts.map +1 -1
  81. package/dist/document-authoring/index.js +72 -0
  82. package/dist/document-authoring/index.js.map +1 -1
  83. package/package.json +1 -1
@@ -1,11 +1,25 @@
1
1
  import { FilesystemMarkdownRepository } from "../documentation-observation/adapters/outbound/filesystem/filesystem-markdown-repository.js";
2
+ import { installedFoundationVersion } from "../package-version.js";
3
+ import { installedFoundationBuildIdentity } from "../transaction-coordination/adapters/node/installed-foundation-build-identity.js";
4
+ import { CanonicalMarkdownError, YamlCanonicalDocumentRenderer } from "./adapters/canonical-markdown.js";
2
5
  import { NodeAuthoringProfileReader } from "./adapters/node/node-authoring-profile-reader.js";
6
+ import { NodeDocumentContractValidator } from "./adapters/node/node-document-contract-validator.js";
7
+ import { NodeDocumentPlanningProfileReader } from "./adapters/node/node-document-planning-profile-reader.js";
8
+ import { NodeDocumentPlanningStateReader } from "./adapters/node/node-document-planning-state-reader.js";
9
+ import { NodeDocumentTemplateReader } from "./adapters/node/node-document-template-reader.js";
3
10
  import { NodeMetadataInstanceValidator } from "./adapters/node/node-metadata-instance-validator.js";
4
11
  import { NodeOwnerMembershipReader } from "./adapters/node/node-owner-membership-reader.js";
12
+ import { DocumentPlanningPolicyError } from "./application/policies/document-planning-policy-error.js";
13
+ import { classifyDocumentLogicalPreimage, isDestinationCoveredByCatalog } from "./application/policies/document-logical-preimage.js";
14
+ import { normalizeDocumentIntent } from "./application/policies/normalize-document-intent.js";
15
+ import { resolveDocumentAuthoring, selectDocumentArtifact } from "./application/policies/resolve-document-authoring.js";
5
16
  import { BuildDocumentationCatalog } from "./application/use-cases/build-documentation-catalog.js";
6
17
  import { FindDocuments } from "./application/use-cases/find-documents.js";
18
+ import { PlanDocumentationDocument } from "./application/use-cases/plan-documentation-document.js";
19
+ import { DocumentPlanningError } from "./document-planning-error.js";
7
20
  export { projectReferencedDocuments } from "./application/projections/document-catalog-projections.js";
8
21
  export { DocumentCatalogError } from "./document-catalog-error.js";
22
+ export { DocumentPlanningError } from "./document-planning-error.js";
9
23
  export async function buildDocumentationCatalog(request) {
10
24
  const builder = new BuildDocumentationCatalog({
11
25
  metadata: new NodeMetadataInstanceValidator(),
@@ -24,4 +38,62 @@ export async function findDocumentationDocuments(request) {
24
38
  });
25
39
  return new FindDocuments(catalog).execute(request);
26
40
  }
41
+ function planningPolicyFailure(error) {
42
+ const code = error.problem === "catalog-incomplete"
43
+ ? "DOCUMENT_PLANNING_CATALOG_PARTIAL"
44
+ : ["catalog-collision", "destination-conflict"].includes(error.problem)
45
+ ? "DOCUMENT_PLANNING_CONFLICT"
46
+ : "DOCUMENT_PLANNING_INPUT_INVALID";
47
+ throw new DocumentPlanningError(code, error.message, { cause: error });
48
+ }
49
+ /**
50
+ * Compiles a deterministic Document Plan without reserving an identity or
51
+ * mutating the consumer repository.
52
+ */
53
+ export async function planDocumentationDocument(request) {
54
+ const catalog = new BuildDocumentationCatalog({
55
+ metadata: new NodeMetadataInstanceValidator(),
56
+ owners: new NodeOwnerMembershipReader(),
57
+ profile: new NodeAuthoringProfileReader(),
58
+ repository: new FilesystemMarkdownRepository()
59
+ });
60
+ const [version, buildIdentity] = await Promise.all([
61
+ installedFoundationVersion(),
62
+ installedFoundationBuildIdentity()
63
+ ]);
64
+ const planner = new PlanDocumentationDocument({
65
+ catalog,
66
+ compiler: {
67
+ id: "@agent-teams/engineering-foundation",
68
+ version,
69
+ buildIdentity
70
+ },
71
+ contracts: new NodeDocumentContractValidator(),
72
+ metadata: new NodeMetadataInstanceValidator(),
73
+ owners: new NodeOwnerMembershipReader(),
74
+ policies: {
75
+ classifyDocumentLogicalPreimage,
76
+ isDestinationCoveredByCatalog,
77
+ normalizeDocumentIntent,
78
+ resolveDocumentAuthoring,
79
+ selectDocumentArtifact
80
+ },
81
+ profile: new NodeDocumentPlanningProfileReader(),
82
+ renderer: new YamlCanonicalDocumentRenderer(),
83
+ state: new NodeDocumentPlanningStateReader(),
84
+ templates: new NodeDocumentTemplateReader()
85
+ });
86
+ try {
87
+ return await planner.execute(request);
88
+ }
89
+ catch (error) {
90
+ if (error instanceof DocumentPlanningPolicyError) {
91
+ planningPolicyFailure(error);
92
+ }
93
+ if (error instanceof CanonicalMarkdownError) {
94
+ throw new DocumentPlanningError("DOCUMENT_PLANNING_AUTHORITY_UNAVAILABLE", `Document template authority is invalid: ${error.message}`, { cause: error });
95
+ }
96
+ throw error;
97
+ }
98
+ }
27
99
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/document-authoring/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,6FAA6F,CAAC;AAC3I,OAAO,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AAC9F,OAAO,EAAE,6BAA6B,EAAE,MAAM,qDAAqD,CAAC;AACpG,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,EACL,yBAAyB,EAE1B,MAAM,wDAAwD,CAAC;AAChE,OAAO,EACL,aAAa,EAEd,MAAM,2CAA2C,CAAC;AAoBnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,2DAA2D,CAAC;AACvG,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGnE,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAAyC;IAEzC,MAAM,OAAO,GAAG,IAAI,yBAAyB,CAAC;QAC5C,QAAQ,EAAE,IAAI,6BAA6B,EAAE;QAC7C,MAAM,EAAE,IAAI,yBAAyB,EAAE;QACvC,OAAO,EAAE,IAAI,0BAA0B,EAAE;QACzC,UAAU,EAAE,IAAI,4BAA4B,EAAE;KAC/C,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,OAA6B;IAC5E,MAAM,OAAO,GAAG,IAAI,yBAAyB,CAAC;QAC5C,QAAQ,EAAE,IAAI,6BAA6B,EAAE;QAC7C,MAAM,EAAE,IAAI,yBAAyB,EAAE;QACvC,OAAO,EAAE,IAAI,0BAA0B,EAAE;QACzC,UAAU,EAAE,IAAI,4BAA4B,EAAE;KAC/C,CAAC,CAAC;IACH,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/document-authoring/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-teams/engineering-foundation",
3
- "version": "0.14.0",
3
+ "version": "0.15.0",
4
4
  "description": "Versioned engineering policy, tooling, and conformance for Agent Teams repositories.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",