pi-harness-runtime 0.10.26 → 0.10.27
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.
- package/CHANGELOG.md +22 -0
- package/package.json +1 -1
- package/packages/architecture-generator/dist/adr.d.ts +15 -0
- package/packages/architecture-generator/dist/adr.d.ts.map +1 -0
- package/packages/architecture-generator/dist/adr.js +42 -0
- package/packages/architecture-generator/dist/adr.js.map +1 -0
- package/packages/architecture-generator/dist/index.d.ts +9 -0
- package/packages/architecture-generator/dist/index.d.ts.map +1 -0
- package/packages/architecture-generator/dist/index.js +9 -0
- package/packages/architecture-generator/dist/index.js.map +1 -0
- package/packages/architecture-generator/dist/mermaid.d.ts +30 -0
- package/packages/architecture-generator/dist/mermaid.d.ts.map +1 -0
- package/packages/architecture-generator/dist/mermaid.js +58 -0
- package/packages/architecture-generator/dist/mermaid.js.map +1 -0
- package/packages/architecture-generator/dist/types.d.ts +30 -0
- package/packages/architecture-generator/dist/types.d.ts.map +1 -0
- package/packages/architecture-generator/dist/types.js +7 -0
- package/packages/architecture-generator/dist/types.js.map +1 -0
- package/packages/architecture-generator/src/adr.ts +51 -0
- package/packages/architecture-generator/src/index.ts +9 -0
- package/packages/architecture-generator/src/mermaid.ts +82 -0
- package/packages/architecture-generator/src/types.ts +30 -0
- package/packages/knowledge-graph/dist/graph-extractor.d.ts +27 -0
- package/packages/knowledge-graph/dist/graph-extractor.d.ts.map +1 -0
- package/packages/knowledge-graph/dist/graph-extractor.js +285 -0
- package/packages/knowledge-graph/dist/graph-extractor.js.map +1 -0
- package/packages/knowledge-graph/dist/index.d.ts +27 -0
- package/packages/knowledge-graph/dist/index.d.ts.map +1 -0
- package/packages/knowledge-graph/dist/index.js +27 -0
- package/packages/knowledge-graph/dist/index.js.map +1 -0
- package/packages/knowledge-graph/dist/mcp-client.d.ts +38 -0
- package/packages/knowledge-graph/dist/mcp-client.d.ts.map +1 -0
- package/packages/knowledge-graph/dist/mcp-client.js +157 -0
- package/packages/knowledge-graph/dist/mcp-client.js.map +1 -0
- package/packages/knowledge-graph/dist/provenance-linker.d.ts +19 -0
- package/packages/knowledge-graph/dist/provenance-linker.d.ts.map +1 -0
- package/packages/knowledge-graph/dist/provenance-linker.js +92 -0
- package/packages/knowledge-graph/dist/provenance-linker.js.map +1 -0
- package/packages/knowledge-graph/dist/types.d.ts +53 -0
- package/packages/knowledge-graph/dist/types.d.ts.map +1 -0
- package/packages/knowledge-graph/dist/types.js +7 -0
- package/packages/knowledge-graph/dist/types.js.map +1 -0
- package/packages/knowledge-graph/src/graph-extractor.ts +355 -0
- package/packages/knowledge-graph/src/index.ts +27 -0
- package/packages/knowledge-graph/src/mcp-client.ts +246 -0
- package/packages/knowledge-graph/src/provenance-linker.ts +105 -0
- package/packages/knowledge-graph/src/types.ts +86 -0
- package/packages/milestone-manager/dist/engine.d.ts +27 -0
- package/packages/milestone-manager/dist/engine.d.ts.map +1 -0
- package/packages/milestone-manager/dist/engine.js +80 -0
- package/packages/milestone-manager/dist/engine.js.map +1 -0
- package/packages/milestone-manager/dist/index.d.ts +6 -0
- package/packages/milestone-manager/dist/index.d.ts.map +1 -0
- package/packages/milestone-manager/dist/index.js +6 -0
- package/packages/milestone-manager/dist/index.js.map +1 -0
- package/packages/milestone-manager/dist/types.d.ts +25 -0
- package/packages/milestone-manager/dist/types.d.ts.map +1 -0
- package/packages/milestone-manager/dist/types.js +7 -0
- package/packages/milestone-manager/dist/types.js.map +1 -0
- package/packages/milestone-manager/src/engine.ts +113 -0
- package/packages/milestone-manager/src/index.ts +6 -0
- package/packages/milestone-manager/src/types.ts +28 -0
- package/packages/project-bootstrap/dist/bootstrap.d.ts +23 -0
- package/packages/project-bootstrap/dist/bootstrap.d.ts.map +1 -0
- package/packages/project-bootstrap/dist/bootstrap.js +136 -0
- package/packages/project-bootstrap/dist/bootstrap.js.map +1 -0
- package/packages/project-bootstrap/dist/frappe.d.ts +8 -0
- package/packages/project-bootstrap/dist/frappe.d.ts.map +1 -0
- package/packages/project-bootstrap/dist/frappe.js +82 -0
- package/packages/project-bootstrap/dist/frappe.js.map +1 -0
- package/packages/project-bootstrap/dist/index.d.ts +27 -0
- package/packages/project-bootstrap/dist/index.d.ts.map +1 -0
- package/packages/project-bootstrap/dist/index.js +27 -0
- package/packages/project-bootstrap/dist/index.js.map +1 -0
- package/packages/project-bootstrap/dist/minimal.d.ts +8 -0
- package/packages/project-bootstrap/dist/minimal.d.ts.map +1 -0
- package/packages/project-bootstrap/dist/minimal.js +35 -0
- package/packages/project-bootstrap/dist/minimal.js.map +1 -0
- package/packages/project-bootstrap/dist/types.d.ts +61 -0
- package/packages/project-bootstrap/dist/types.d.ts.map +1 -0
- package/packages/project-bootstrap/dist/types.js +7 -0
- package/packages/project-bootstrap/dist/types.js.map +1 -0
- package/packages/project-bootstrap/dist/typescript.d.ts +8 -0
- package/packages/project-bootstrap/dist/typescript.d.ts.map +1 -0
- package/packages/project-bootstrap/dist/typescript.js +103 -0
- package/packages/project-bootstrap/dist/typescript.js.map +1 -0
- package/packages/project-bootstrap/src/bootstrap.ts +181 -0
- package/packages/project-bootstrap/src/frappe.ts +103 -0
- package/packages/project-bootstrap/src/index.ts +27 -0
- package/packages/project-bootstrap/src/minimal.ts +45 -0
- package/packages/project-bootstrap/src/types.ts +66 -0
- package/packages/project-bootstrap/src/typescript.ts +123 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [0.10.27](https://github.com/ManotLuijiu/pi-harness-runtime/compare/v0.10.14...v0.10.27) (2026-08-10)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* create packages for missing RFC implementations ([e6ce2ff](https://github.com/ManotLuijiu/pi-harness-runtime/commit/e6ce2ffdd455b33c55212ec2b61eedcdcfb43b5e))
|
|
11
|
+
* **file-copy-helper:** inject cp rule when user asks to mimic/copy files ([f089f0d](https://github.com/ManotLuijiu/pi-harness-runtime/commit/f089f0d5e3e933231c99ee38cf18fa208c8eb8b2))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* align TS formatting with main (remove 3-line logError) ([2515ad5](https://github.com/ManotLuijiu/pi-harness-runtime/commit/2515ad54f43f0566123c686d3ec4f92ad363ea13))
|
|
17
|
+
* correct import paths for notification-center dist files ([f248722](https://github.com/ManotLuijiu/pi-harness-runtime/commit/f24872240c07bf115f69530a3bdabedf73e3c858))
|
|
18
|
+
* **file-copy-helper:** inject rule for import errors - copy missing files, don't fix one-by-one ([03a5b0a](https://github.com/ManotLuijiu/pi-harness-runtime/commit/03a5b0a1bd899866f76fbd6482b52097c7d27a5b))
|
|
19
|
+
* **file-copy-helper:** strengthen rule - agent must NOT read source files before copying ([5bbf7f7](https://github.com/ManotLuijiu/pi-harness-runtime/commit/5bbf7f70f19213f4e08059aa3766301d5966daa8))
|
|
20
|
+
* handle array/object content in pi-usage-status build detection ([68b07a8](https://github.com/ManotLuijiu/pi-harness-runtime/commit/68b07a8e8167a95ab1b519782a07ec3a582eec5a))
|
|
21
|
+
* skip publish-time scripts in release workflow ([b385148](https://github.com/ManotLuijiu/pi-harness-runtime/commit/b38514835dc3f6fd717ca8c71dbb6d131de4887f))
|
|
22
|
+
* suppress noisy stack traces in harness agents ([34bbe98](https://github.com/ManotLuijiu/pi-harness-runtime/commit/34bbe98f59e740fcfcd8622f1dcc09c379f6f3df))
|
|
23
|
+
* **todo-bd-sync:** disable auto-injection completely - was causing noisy output ([699d6de](https://github.com/ManotLuijiu/pi-harness-runtime/commit/699d6de5e7f3b062799a0f791b386d1ecd452b00))
|
|
24
|
+
* **todo-bd-sync:** silence all console output - no startup warnings ([2d29bcf](https://github.com/ManotLuijiu/pi-harness-runtime/commit/2d29bcf51b25fe1b1253aa965e370852f3cae289))
|
|
25
|
+
* update bd install URL to correct repo ([5800f30](https://github.com/ManotLuijiu/pi-harness-runtime/commit/5800f304913912a84c34d3f42a29b01bb2d87b24))
|
|
26
|
+
|
|
5
27
|
### [0.10.26](https://github.com/ManotLuijiu/pi-harness-runtime/compare/v0.10.14...v0.10.26) (2026-08-10)
|
|
6
28
|
|
|
7
29
|
|
package/package.json
CHANGED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Architecture Generator - RFC-0073
|
|
3
|
+
*
|
|
4
|
+
* Generate Architecture Decision Records.
|
|
5
|
+
*/
|
|
6
|
+
import type { ADR } from "./types.js";
|
|
7
|
+
/**
|
|
8
|
+
* Generate an ADR file
|
|
9
|
+
*/
|
|
10
|
+
export declare function generateADR(adr: ADR): string;
|
|
11
|
+
/**
|
|
12
|
+
* Create a new ADR
|
|
13
|
+
*/
|
|
14
|
+
export declare function createADR(id: string, title: string, context: string, decision: string, consequences: string): ADR;
|
|
15
|
+
//# sourceMappingURL=adr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adr.d.ts","sourceRoot":"","sources":["../src/adr.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEtC;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAkB5C;AAED;;GAEG;AACH,wBAAgB,SAAS,CACxB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GAClB,GAAG,CAUL"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Architecture Generator - RFC-0073
|
|
3
|
+
*
|
|
4
|
+
* Generate Architecture Decision Records.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Generate an ADR file
|
|
8
|
+
*/
|
|
9
|
+
export function generateADR(adr) {
|
|
10
|
+
return `# ${adr.id}: ${adr.title}
|
|
11
|
+
|
|
12
|
+
## Status
|
|
13
|
+
${adr.status}
|
|
14
|
+
|
|
15
|
+
## Context
|
|
16
|
+
${adr.context}
|
|
17
|
+
|
|
18
|
+
## Decision
|
|
19
|
+
${adr.decision}
|
|
20
|
+
|
|
21
|
+
## Consequences
|
|
22
|
+
${adr.consequences}
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
*Created: ${adr.createdAt}*
|
|
26
|
+
`;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Create a new ADR
|
|
30
|
+
*/
|
|
31
|
+
export function createADR(id, title, context, decision, consequences) {
|
|
32
|
+
return {
|
|
33
|
+
id,
|
|
34
|
+
title,
|
|
35
|
+
status: "proposed",
|
|
36
|
+
context,
|
|
37
|
+
decision,
|
|
38
|
+
consequences,
|
|
39
|
+
createdAt: new Date().toISOString().split("T")[0],
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=adr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adr.js","sourceRoot":"","sources":["../src/adr.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,GAAQ;IACnC,OAAO,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,KAAK;;;EAG/B,GAAG,CAAC,MAAM;;;EAGV,GAAG,CAAC,OAAO;;;EAGX,GAAG,CAAC,QAAQ;;;EAGZ,GAAG,CAAC,YAAY;;;YAGN,GAAG,CAAC,SAAS;CACxB,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CACxB,EAAU,EACV,KAAa,EACb,OAAe,EACf,QAAgB,EAChB,YAAoB;IAEpB,OAAO;QACN,EAAE;QACF,KAAK;QACL,MAAM,EAAE,UAAU;QAClB,OAAO;QACP,QAAQ;QACR,YAAY;QACZ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KACjD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Architecture Generator - RFC-0073
|
|
3
|
+
*
|
|
4
|
+
* Generate Mermaid diagrams.
|
|
5
|
+
*/
|
|
6
|
+
import type { ArchitectureDiagram, ArchitectureAnalysis } from "./types.js";
|
|
7
|
+
/**
|
|
8
|
+
* Generate component diagram
|
|
9
|
+
*/
|
|
10
|
+
export declare function generateComponentDiagram(analysis: ArchitectureAnalysis): ArchitectureDiagram;
|
|
11
|
+
/**
|
|
12
|
+
* Generate sequence diagram
|
|
13
|
+
*/
|
|
14
|
+
export declare function generateSequenceDiagram(title: string, steps: {
|
|
15
|
+
actor: string;
|
|
16
|
+
action: string;
|
|
17
|
+
target: string;
|
|
18
|
+
}[]): ArchitectureDiagram;
|
|
19
|
+
/**
|
|
20
|
+
* Generate flow diagram
|
|
21
|
+
*/
|
|
22
|
+
export declare function generateFlowDiagram(title: string, nodes: {
|
|
23
|
+
id: string;
|
|
24
|
+
label: string;
|
|
25
|
+
}[], edges: {
|
|
26
|
+
from: string;
|
|
27
|
+
to: string;
|
|
28
|
+
label?: string;
|
|
29
|
+
}[]): ArchitectureDiagram;
|
|
30
|
+
//# sourceMappingURL=mermaid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mermaid.d.ts","sourceRoot":"","sources":["../src/mermaid.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACX,mBAAmB,EAEnB,oBAAoB,EACpB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,wBAAgB,wBAAwB,CACvC,QAAQ,EAAE,oBAAoB,GAC5B,mBAAmB,CAoBrB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,GACxD,mBAAmB,CAYrB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,EACtC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GACnD,mBAAmB,CAerB"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Architecture Generator - RFC-0073
|
|
3
|
+
*
|
|
4
|
+
* Generate Mermaid diagrams.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Generate component diagram
|
|
8
|
+
*/
|
|
9
|
+
export function generateComponentDiagram(analysis) {
|
|
10
|
+
const mermaid = [
|
|
11
|
+
"graph TB",
|
|
12
|
+
" subgraph Layers",
|
|
13
|
+
...analysis.layers.map((layer, i) => {
|
|
14
|
+
const nodes = analysis.components.filter((_, j) => j % analysis.layers.length === i);
|
|
15
|
+
return ` ${nodes.join(" --> ")}`;
|
|
16
|
+
}),
|
|
17
|
+
" end",
|
|
18
|
+
...analysis.dependencies.map((d) => ` ${d.from} --> ${d.to}`),
|
|
19
|
+
].join("\n");
|
|
20
|
+
return {
|
|
21
|
+
type: "component",
|
|
22
|
+
title: "Architecture Components",
|
|
23
|
+
mermaid,
|
|
24
|
+
description: "Component diagram showing layers and dependencies",
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Generate sequence diagram
|
|
29
|
+
*/
|
|
30
|
+
export function generateSequenceDiagram(title, steps) {
|
|
31
|
+
const mermaid = [
|
|
32
|
+
"sequenceDiagram",
|
|
33
|
+
...steps.map((s) => ` ${s.actor}->>+${s.target}: ${s.action}`),
|
|
34
|
+
].join("\n");
|
|
35
|
+
return {
|
|
36
|
+
type: "sequence",
|
|
37
|
+
title,
|
|
38
|
+
mermaid,
|
|
39
|
+
description: "Sequence diagram showing interaction flow",
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Generate flow diagram
|
|
44
|
+
*/
|
|
45
|
+
export function generateFlowDiagram(title, nodes, edges) {
|
|
46
|
+
const mermaid = [
|
|
47
|
+
"flowchart LR",
|
|
48
|
+
...nodes.map((n) => ` ${n.id}[${n.label}]`),
|
|
49
|
+
...edges.map((e) => ` ${e.from}${e.label ? `-->|"${e.label}"|` : "->>"}${e.to}`),
|
|
50
|
+
].join("\n");
|
|
51
|
+
return {
|
|
52
|
+
type: "flow",
|
|
53
|
+
title,
|
|
54
|
+
mermaid,
|
|
55
|
+
description: "Flow diagram showing process flow",
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=mermaid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mermaid.js","sourceRoot":"","sources":["../src/mermaid.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACvC,QAA8B;IAE9B,MAAM,OAAO,GAAG;QACf,UAAU;QACV,qBAAqB;QACrB,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CACvC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAC1C,CAAC;YACF,OAAO,WAAW,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,CAAC,CAAC;QACF,SAAS;QACT,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;KAChE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO;QACN,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,yBAAyB;QAChC,OAAO;QACP,WAAW,EAAE,mDAAmD;KAChE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACtC,KAAa,EACb,KAA0D;IAE1D,MAAM,OAAO,GAAG;QACf,iBAAiB;QACjB,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;KACjE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO;QACN,IAAI,EAAE,UAAU;QAChB,KAAK;QACL,OAAO;QACP,WAAW,EAAE,2CAA2C;KACxD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAClC,KAAa,EACb,KAAsC,EACtC,KAAqD;IAErD,MAAM,OAAO,GAAG;QACf,cAAc;QACd,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC;QAC9C,GAAG,KAAK,CAAC,GAAG,CACX,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE,CACrE;KACD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO;QACN,IAAI,EAAE,MAAM;QACZ,KAAK;QACL,OAAO;QACP,WAAW,EAAE,mCAAmC;KAChD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Architecture Generator - RFC-0073
|
|
3
|
+
*
|
|
4
|
+
* Generate ADR and Mermaid diagrams from project analysis.
|
|
5
|
+
*/
|
|
6
|
+
export type DiagramType = "component" | "flow" | "sequence" | "er" | "class";
|
|
7
|
+
export interface ArchitectureDiagram {
|
|
8
|
+
type: DiagramType;
|
|
9
|
+
title: string;
|
|
10
|
+
mermaid: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface ADR {
|
|
14
|
+
id: string;
|
|
15
|
+
title: string;
|
|
16
|
+
status: "proposed" | "accepted" | "deprecated";
|
|
17
|
+
context: string;
|
|
18
|
+
decision: string;
|
|
19
|
+
consequences: string;
|
|
20
|
+
createdAt: string;
|
|
21
|
+
}
|
|
22
|
+
export interface ArchitectureAnalysis {
|
|
23
|
+
components: string[];
|
|
24
|
+
dependencies: {
|
|
25
|
+
from: string;
|
|
26
|
+
to: string;
|
|
27
|
+
}[];
|
|
28
|
+
layers: string[];
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC;AAE7E,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,YAAY,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACpC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7C,MAAM,EAAE,MAAM,EAAE,CAAC;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Architecture Generator - RFC-0073
|
|
3
|
+
*
|
|
4
|
+
* Generate Architecture Decision Records.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import type { ADR } from "./types.js";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Generate an ADR file
|
|
11
|
+
*/
|
|
12
|
+
export function generateADR(adr: ADR): string {
|
|
13
|
+
return `# ${adr.id}: ${adr.title}
|
|
14
|
+
|
|
15
|
+
## Status
|
|
16
|
+
${adr.status}
|
|
17
|
+
|
|
18
|
+
## Context
|
|
19
|
+
${adr.context}
|
|
20
|
+
|
|
21
|
+
## Decision
|
|
22
|
+
${adr.decision}
|
|
23
|
+
|
|
24
|
+
## Consequences
|
|
25
|
+
${adr.consequences}
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
*Created: ${adr.createdAt}*
|
|
29
|
+
`;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Create a new ADR
|
|
34
|
+
*/
|
|
35
|
+
export function createADR(
|
|
36
|
+
id: string,
|
|
37
|
+
title: string,
|
|
38
|
+
context: string,
|
|
39
|
+
decision: string,
|
|
40
|
+
consequences: string,
|
|
41
|
+
): ADR {
|
|
42
|
+
return {
|
|
43
|
+
id,
|
|
44
|
+
title,
|
|
45
|
+
status: "proposed",
|
|
46
|
+
context,
|
|
47
|
+
decision,
|
|
48
|
+
consequences,
|
|
49
|
+
createdAt: new Date().toISOString().split("T")[0],
|
|
50
|
+
};
|
|
51
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Architecture Generator - RFC-0073
|
|
3
|
+
*
|
|
4
|
+
* Generate Mermaid diagrams.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import type {
|
|
8
|
+
ArchitectureDiagram,
|
|
9
|
+
DiagramType,
|
|
10
|
+
ArchitectureAnalysis,
|
|
11
|
+
} from "./types.js";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Generate component diagram
|
|
15
|
+
*/
|
|
16
|
+
export function generateComponentDiagram(
|
|
17
|
+
analysis: ArchitectureAnalysis,
|
|
18
|
+
): ArchitectureDiagram {
|
|
19
|
+
const mermaid = [
|
|
20
|
+
"graph TB",
|
|
21
|
+
" subgraph Layers",
|
|
22
|
+
...analysis.layers.map((layer, i) => {
|
|
23
|
+
const nodes = analysis.components.filter(
|
|
24
|
+
(_, j) => j % analysis.layers.length === i,
|
|
25
|
+
);
|
|
26
|
+
return ` ${nodes.join(" --> ")}`;
|
|
27
|
+
}),
|
|
28
|
+
" end",
|
|
29
|
+
...analysis.dependencies.map((d) => ` ${d.from} --> ${d.to}`),
|
|
30
|
+
].join("\n");
|
|
31
|
+
|
|
32
|
+
return {
|
|
33
|
+
type: "component",
|
|
34
|
+
title: "Architecture Components",
|
|
35
|
+
mermaid,
|
|
36
|
+
description: "Component diagram showing layers and dependencies",
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Generate sequence diagram
|
|
42
|
+
*/
|
|
43
|
+
export function generateSequenceDiagram(
|
|
44
|
+
title: string,
|
|
45
|
+
steps: { actor: string; action: string; target: string }[],
|
|
46
|
+
): ArchitectureDiagram {
|
|
47
|
+
const mermaid = [
|
|
48
|
+
"sequenceDiagram",
|
|
49
|
+
...steps.map((s) => ` ${s.actor}->>+${s.target}: ${s.action}`),
|
|
50
|
+
].join("\n");
|
|
51
|
+
|
|
52
|
+
return {
|
|
53
|
+
type: "sequence",
|
|
54
|
+
title,
|
|
55
|
+
mermaid,
|
|
56
|
+
description: "Sequence diagram showing interaction flow",
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Generate flow diagram
|
|
62
|
+
*/
|
|
63
|
+
export function generateFlowDiagram(
|
|
64
|
+
title: string,
|
|
65
|
+
nodes: { id: string; label: string }[],
|
|
66
|
+
edges: { from: string; to: string; label?: string }[],
|
|
67
|
+
): ArchitectureDiagram {
|
|
68
|
+
const mermaid = [
|
|
69
|
+
"flowchart LR",
|
|
70
|
+
...nodes.map((n) => ` ${n.id}[${n.label}]`),
|
|
71
|
+
...edges.map(
|
|
72
|
+
(e) => ` ${e.from}${e.label ? `-->|"${e.label}"|` : "->>"}${e.to}`,
|
|
73
|
+
),
|
|
74
|
+
].join("\n");
|
|
75
|
+
|
|
76
|
+
return {
|
|
77
|
+
type: "flow",
|
|
78
|
+
title,
|
|
79
|
+
mermaid,
|
|
80
|
+
description: "Flow diagram showing process flow",
|
|
81
|
+
};
|
|
82
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Architecture Generator - RFC-0073
|
|
3
|
+
*
|
|
4
|
+
* Generate ADR and Mermaid diagrams from project analysis.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export type DiagramType = "component" | "flow" | "sequence" | "er" | "class";
|
|
8
|
+
|
|
9
|
+
export interface ArchitectureDiagram {
|
|
10
|
+
type: DiagramType;
|
|
11
|
+
title: string;
|
|
12
|
+
mermaid: string;
|
|
13
|
+
description?: string;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface ADR {
|
|
17
|
+
id: string;
|
|
18
|
+
title: string;
|
|
19
|
+
status: "proposed" | "accepted" | "deprecated";
|
|
20
|
+
context: string;
|
|
21
|
+
decision: string;
|
|
22
|
+
consequences: string;
|
|
23
|
+
createdAt: string;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface ArchitectureAnalysis {
|
|
27
|
+
components: string[];
|
|
28
|
+
dependencies: { from: string; to: string }[];
|
|
29
|
+
layers: string[];
|
|
30
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Knowledge Graph - RFC-0106
|
|
3
|
+
*
|
|
4
|
+
* Extract nodes and edges from SKILL.md files.
|
|
5
|
+
*/
|
|
6
|
+
import type { KnowledgeNode, KnowledgeEdge, KnowledgeGraph } from "./types.js";
|
|
7
|
+
/**
|
|
8
|
+
* Extract a knowledge node from a SKILL.md file
|
|
9
|
+
*/
|
|
10
|
+
export declare function extractSkillNode(filePath: string, content: string, frontmatter: Record<string, unknown>): KnowledgeNode;
|
|
11
|
+
/**
|
|
12
|
+
* Extract edges from a SKILL.md file
|
|
13
|
+
*/
|
|
14
|
+
export declare function extractSkillEdges(filePath: string, content: string, frontmatter: Record<string, unknown>): KnowledgeEdge[];
|
|
15
|
+
/**
|
|
16
|
+
* Extract RFC nodes from RFC markdown files
|
|
17
|
+
*/
|
|
18
|
+
export declare function extractRFCNode(filePath: string, content: string, title: string): KnowledgeNode;
|
|
19
|
+
/**
|
|
20
|
+
* Extract edges between RFCs
|
|
21
|
+
*/
|
|
22
|
+
export declare function extractRFCEdges(filePath: string, content: string): KnowledgeEdge[];
|
|
23
|
+
/**
|
|
24
|
+
* Build complete knowledge graph from directory
|
|
25
|
+
*/
|
|
26
|
+
export declare function extractKnowledgeGraph(skillsPath: string, rfcPath: string): Promise<KnowledgeGraph>;
|
|
27
|
+
//# sourceMappingURL=graph-extractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-extractor.d.ts","sourceRoot":"","sources":["../src/graph-extractor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACX,aAAa,EACb,aAAa,EACb,cAAc,EAEd,MAAM,YAAY,CAAC;AA4FpB;;GAEG;AACH,wBAAgB,gBAAgB,CAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,aAAa,CAef;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,aAAa,EAAE,CAwDjB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACX,aAAa,CA0Bf;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACb,aAAa,EAAE,CAmCjB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAC1C,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACb,OAAO,CAAC,cAAc,CAAC,CA8EzB"}
|