rax-flow-core 0.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 (132) hide show
  1. package/dist/cache/semantic-cache.d.ts +10 -0
  2. package/dist/cache/semantic-cache.d.ts.map +1 -0
  3. package/dist/cache/semantic-cache.js +50 -0
  4. package/dist/cache/semantic-cache.js.map +1 -0
  5. package/dist/governance/policies/pii-policy.d.ts +37 -0
  6. package/dist/governance/policies/pii-policy.d.ts.map +1 -0
  7. package/dist/governance/policies/pii-policy.js +177 -0
  8. package/dist/governance/policies/pii-policy.js.map +1 -0
  9. package/dist/graph/workflow-graph.d.ts +5 -0
  10. package/dist/graph/workflow-graph.d.ts.map +1 -0
  11. package/dist/graph/workflow-graph.js +38 -0
  12. package/dist/graph/workflow-graph.js.map +1 -0
  13. package/dist/index.d.ts +25 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +25 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/memory/graph-memory.d.ts +46 -0
  18. package/dist/memory/graph-memory.d.ts.map +1 -0
  19. package/dist/memory/graph-memory.js +122 -0
  20. package/dist/memory/graph-memory.js.map +1 -0
  21. package/dist/memory/local-vector-store.d.ts +36 -0
  22. package/dist/memory/local-vector-store.d.ts.map +1 -0
  23. package/dist/memory/local-vector-store.js +125 -0
  24. package/dist/memory/local-vector-store.js.map +1 -0
  25. package/dist/memory/memory-manager.d.ts +42 -0
  26. package/dist/memory/memory-manager.d.ts.map +1 -0
  27. package/dist/memory/memory-manager.js +98 -0
  28. package/dist/memory/memory-manager.js.map +1 -0
  29. package/dist/metrics/metrics-engine.d.ts +13 -0
  30. package/dist/metrics/metrics-engine.d.ts.map +1 -0
  31. package/dist/metrics/metrics-engine.js +27 -0
  32. package/dist/metrics/metrics-engine.js.map +1 -0
  33. package/dist/orchestrator/blueprint-committer.d.ts +69 -0
  34. package/dist/orchestrator/blueprint-committer.d.ts.map +1 -0
  35. package/dist/orchestrator/blueprint-committer.js +305 -0
  36. package/dist/orchestrator/blueprint-committer.js.map +1 -0
  37. package/dist/orchestrator/core-orchestrator.d.ts +168 -0
  38. package/dist/orchestrator/core-orchestrator.d.ts.map +1 -0
  39. package/dist/orchestrator/core-orchestrator.js +451 -0
  40. package/dist/orchestrator/core-orchestrator.js.map +1 -0
  41. package/dist/orchestrator/decomposition-engine.d.ts +41 -0
  42. package/dist/orchestrator/decomposition-engine.d.ts.map +1 -0
  43. package/dist/orchestrator/decomposition-engine.js +133 -0
  44. package/dist/orchestrator/decomposition-engine.js.map +1 -0
  45. package/dist/orchestrator/decomposition.d.ts +10 -0
  46. package/dist/orchestrator/decomposition.d.ts.map +1 -0
  47. package/dist/orchestrator/decomposition.js +15 -0
  48. package/dist/orchestrator/decomposition.js.map +1 -0
  49. package/dist/orchestrator/default-workflow.d.ts +59 -0
  50. package/dist/orchestrator/default-workflow.d.ts.map +1 -0
  51. package/dist/orchestrator/default-workflow.js +221 -0
  52. package/dist/orchestrator/default-workflow.js.map +1 -0
  53. package/dist/orchestrator/dynamic-planner.d.ts +46 -0
  54. package/dist/orchestrator/dynamic-planner.d.ts.map +1 -0
  55. package/dist/orchestrator/dynamic-planner.js +232 -0
  56. package/dist/orchestrator/dynamic-planner.js.map +1 -0
  57. package/dist/orchestrator/kernel-bridge.d.ts +57 -0
  58. package/dist/orchestrator/kernel-bridge.d.ts.map +1 -0
  59. package/dist/orchestrator/kernel-bridge.js +211 -0
  60. package/dist/orchestrator/kernel-bridge.js.map +1 -0
  61. package/dist/orchestrator/mutation-applier.d.ts +47 -0
  62. package/dist/orchestrator/mutation-applier.d.ts.map +1 -0
  63. package/dist/orchestrator/mutation-applier.js +253 -0
  64. package/dist/orchestrator/mutation-applier.js.map +1 -0
  65. package/dist/orchestrator/routing.d.ts +4 -0
  66. package/dist/orchestrator/routing.d.ts.map +1 -0
  67. package/dist/orchestrator/routing.js +41 -0
  68. package/dist/orchestrator/routing.js.map +1 -0
  69. package/dist/orchestrator/verify-fix.d.ts +79 -0
  70. package/dist/orchestrator/verify-fix.d.ts.map +1 -0
  71. package/dist/orchestrator/verify-fix.js +153 -0
  72. package/dist/orchestrator/verify-fix.js.map +1 -0
  73. package/dist/plugins/governance-plugin.d.ts +43 -0
  74. package/dist/plugins/governance-plugin.d.ts.map +1 -0
  75. package/dist/plugins/governance-plugin.js +88 -0
  76. package/dist/plugins/governance-plugin.js.map +1 -0
  77. package/dist/plugins/long-term-memory-plugin.d.ts +31 -0
  78. package/dist/plugins/long-term-memory-plugin.d.ts.map +1 -0
  79. package/dist/plugins/long-term-memory-plugin.js +67 -0
  80. package/dist/plugins/long-term-memory-plugin.js.map +1 -0
  81. package/dist/plugins/plugin-system.d.ts +29 -0
  82. package/dist/plugins/plugin-system.d.ts.map +1 -0
  83. package/dist/plugins/plugin-system.js +22 -0
  84. package/dist/plugins/plugin-system.js.map +1 -0
  85. package/dist/recovery/error-recovery.d.ts +15 -0
  86. package/dist/recovery/error-recovery.d.ts.map +1 -0
  87. package/dist/recovery/error-recovery.js +12 -0
  88. package/dist/recovery/error-recovery.js.map +1 -0
  89. package/dist/runtime/concurrency-scheduler.d.ts +2 -0
  90. package/dist/runtime/concurrency-scheduler.d.ts.map +1 -0
  91. package/dist/runtime/concurrency-scheduler.js +18 -0
  92. package/dist/runtime/concurrency-scheduler.js.map +1 -0
  93. package/dist/runtime/runtime-events.d.ts +59 -0
  94. package/dist/runtime/runtime-events.d.ts.map +1 -0
  95. package/dist/runtime/runtime-events.js +12 -0
  96. package/dist/runtime/runtime-events.js.map +1 -0
  97. package/dist/types/contracts.d.ts +127 -0
  98. package/dist/types/contracts.d.ts.map +1 -0
  99. package/dist/types/contracts.js +2 -0
  100. package/dist/types/contracts.js.map +1 -0
  101. package/dist/validator/structured-output-validator.d.ts +10 -0
  102. package/dist/validator/structured-output-validator.d.ts.map +1 -0
  103. package/dist/validator/structured-output-validator.js +19 -0
  104. package/dist/validator/structured-output-validator.js.map +1 -0
  105. package/package.json +18 -0
  106. package/src/cache/semantic-cache.ts +64 -0
  107. package/src/governance/policies/pii-policy.ts +213 -0
  108. package/src/graph/workflow-graph.ts +41 -0
  109. package/src/index.ts +25 -0
  110. package/src/memory/graph-memory.ts +150 -0
  111. package/src/memory/local-vector-store.ts +129 -0
  112. package/src/memory/memory-manager.ts +126 -0
  113. package/src/metrics/metrics-engine.ts +39 -0
  114. package/src/orchestrator/blueprint-committer.ts +351 -0
  115. package/src/orchestrator/core-orchestrator.ts +582 -0
  116. package/src/orchestrator/decomposition-engine.ts +165 -0
  117. package/src/orchestrator/decomposition.ts +25 -0
  118. package/src/orchestrator/default-workflow.ts +269 -0
  119. package/src/orchestrator/dynamic-planner.ts +277 -0
  120. package/src/orchestrator/kernel-bridge.ts +251 -0
  121. package/src/orchestrator/mutation-applier.ts +279 -0
  122. package/src/orchestrator/routing.ts +44 -0
  123. package/src/orchestrator/verify-fix.ts +218 -0
  124. package/src/plugins/governance-plugin.ts +106 -0
  125. package/src/plugins/long-term-memory-plugin.ts +72 -0
  126. package/src/plugins/plugin-system.ts +34 -0
  127. package/src/recovery/error-recovery.ts +23 -0
  128. package/src/runtime/concurrency-scheduler.ts +18 -0
  129. package/src/runtime/runtime-events.ts +27 -0
  130. package/src/types/contracts.ts +159 -0
  131. package/src/validator/structured-output-validator.ts +20 -0
  132. package/tsconfig.json +17 -0
@@ -0,0 +1,125 @@
1
+ import { readFile, writeFile, mkdir } from "node:fs/promises";
2
+ import path from "node:path";
3
+ /**
4
+ * A lightweight, local vector store using Cosine Similarity.
5
+ * Suitable for small-to-medium datasets (thousands of records).
6
+ * Persists data to a simple JSON structure.
7
+ */
8
+ export class LocalVectorStore {
9
+ persistPath;
10
+ documents = [];
11
+ vectors = [];
12
+ metadata = new Map();
13
+ constructor(persistPath) {
14
+ this.persistPath = persistPath;
15
+ }
16
+ async add(documents, vectors) {
17
+ if (documents.length !== vectors.length) {
18
+ throw new Error("Mismatched documents and vectors count.");
19
+ }
20
+ this.documents.push(...documents);
21
+ this.vectors.push(...vectors);
22
+ if (this.persistPath)
23
+ await this.save();
24
+ }
25
+ async search(queryVector, limit = 5) {
26
+ if (this.vectors.length === 0)
27
+ return [];
28
+ const results = this.vectors.map((vec, i) => {
29
+ const score = this.cosineSimilarity(queryVector, vec);
30
+ return { ...this.documents[i], score };
31
+ });
32
+ return results
33
+ .sort((a, b) => b.score - a.score)
34
+ .slice(0, limit);
35
+ }
36
+ async clear() {
37
+ this.documents = [];
38
+ this.vectors = [];
39
+ this.metadata.clear();
40
+ if (this.persistPath)
41
+ await this.save();
42
+ }
43
+ async delete(docIds) {
44
+ for (const id of docIds) {
45
+ const idx = this.documents.findIndex(d => d.id === id);
46
+ if (idx >= 0) {
47
+ this.documents.splice(idx, 1);
48
+ this.vectors.splice(idx, 1);
49
+ this.metadata.delete(id);
50
+ }
51
+ }
52
+ if (this.persistPath)
53
+ await this.save();
54
+ }
55
+ async searchByMetadata(metadata) {
56
+ return this.documents.filter(doc => {
57
+ const docMeta = this.metadata.get(doc.id) || {};
58
+ return Object.entries(metadata).every(([key, value]) => docMeta[key] === value);
59
+ }).map(doc => ({ ...doc, score: 1.0 }));
60
+ }
61
+ count() {
62
+ return this.documents.length;
63
+ }
64
+ getMetrics() {
65
+ return {
66
+ documentCount: this.documents.length,
67
+ vectorDimensions: this.vectors[0]?.length || 0
68
+ };
69
+ }
70
+ /**
71
+ * Calculates cosine similarity between two numeric vectors.
72
+ */
73
+ cosineSimilarity(vecA, vecB) {
74
+ let dotProduct = 0;
75
+ let normA = 0;
76
+ let normB = 0;
77
+ // Using common length. Error check in a production environment.
78
+ const len = Math.min(vecA.length, vecB.length);
79
+ for (let i = 0; i < len; i++) {
80
+ dotProduct += vecA[i] * vecB[i];
81
+ normA += vecA[i] * vecA[i];
82
+ normB += vecB[i] * vecB[i];
83
+ }
84
+ const denominator = Math.sqrt(normA) * Math.sqrt(normB);
85
+ if (denominator === 0)
86
+ return 0;
87
+ return dotProduct / denominator;
88
+ }
89
+ /**
90
+ * Manually triggers a load from the persistence file.
91
+ */
92
+ async load() {
93
+ if (!this.persistPath)
94
+ return;
95
+ try {
96
+ const raw = await readFile(this.persistPath, "utf8");
97
+ const data = JSON.parse(raw);
98
+ this.documents = data.documents || [];
99
+ this.vectors = data.vectors || [];
100
+ }
101
+ catch {
102
+ // File might not exist yet, ignore
103
+ this.documents = [];
104
+ this.vectors = [];
105
+ }
106
+ }
107
+ /**
108
+ * Internal save to disk.
109
+ */
110
+ async save() {
111
+ if (!this.persistPath)
112
+ return;
113
+ try {
114
+ await mkdir(path.dirname(this.persistPath), { recursive: true });
115
+ await writeFile(this.persistPath, JSON.stringify({
116
+ documents: this.documents,
117
+ vectors: this.vectors
118
+ }));
119
+ }
120
+ catch (err) {
121
+ console.error("Failed to persist vector store:", err);
122
+ }
123
+ }
124
+ }
125
+ //# sourceMappingURL=local-vector-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-vector-store.js","sourceRoot":"","sources":["../../src/memory/local-vector-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { IVectorStore, MemoryDocument, SearchResult } from "../types/contracts.js";
2
+ import { GraphMemory } from "./graph-memory.js";
3
+ export interface MemoryQuery {
4
+ text?: string;
5
+ vector?: number[];
6
+ metadata?: Record<string, unknown>;
7
+ limit?: number;
8
+ }
9
+ export interface MemoryStatistics {
10
+ totalDocuments: number;
11
+ totalNodes: number;
12
+ totalEdges: number;
13
+ lastUpdated: string;
14
+ }
15
+ /**
16
+ * MemoryManager coordinates Vector search and Graph traversal.
17
+ * This is the heart of QSGM, allowing for "logical navigation" of context.
18
+ */
19
+ export declare class MemoryManager {
20
+ private vectorStore;
21
+ private graphMemory;
22
+ private stats;
23
+ constructor(vectorStore: IVectorStore, graphMemory: GraphMemory);
24
+ /**
25
+ * Retrieves context using a hybrid approach:
26
+ * 1. Find the most semantically relevant node via Vector Search.
27
+ * 2. Traverse the Graph from that node to find related concepts/actions/artifacts.
28
+ */
29
+ getQuantumContext(queryVector: number[], limit?: number): Promise<string>;
30
+ /**
31
+ * Records a new interaction in both stores.
32
+ */
33
+ remember(doc: MemoryDocument, vector: number[], relatedToId?: string): Promise<void>;
34
+ search(query: MemoryQuery): Promise<SearchResult[]>;
35
+ forget(docId: string): Promise<void>;
36
+ clear(): Promise<void>;
37
+ getGraphData(): any;
38
+ getStatistics(): MemoryStatistics;
39
+ batchRemember(docs: MemoryDocument[], vectors: number[][]): Promise<void>;
40
+ export(): Promise<any>;
41
+ }
42
+ //# sourceMappingURL=memory-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-manager.d.ts","sourceRoot":"","sources":["../../src/memory/memory-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,WAAW,EAAwB,MAAM,mBAAmB,CAAC;AAEtE,MAAM,WAAW,WAAW;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,aAAa;IASlB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;IATvB,OAAO,CAAC,KAAK,CAKX;gBAGU,WAAW,EAAE,YAAY,EACzB,WAAW,EAAE,WAAW;IAGpC;;;;OAIG;IACU,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAazF;;OAEG;IACU,QAAQ,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BpF,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAKnD,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5B,YAAY,IAAI,GAAG;IAInB,aAAa,IAAI,gBAAgB;IAI3B,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC;CAOtC"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * MemoryManager coordinates Vector search and Graph traversal.
3
+ * This is the heart of QSGM, allowing for "logical navigation" of context.
4
+ */
5
+ export class MemoryManager {
6
+ vectorStore;
7
+ graphMemory;
8
+ stats = {
9
+ totalDocuments: 0,
10
+ totalNodes: 0,
11
+ totalEdges: 0,
12
+ lastUpdated: new Date().toISOString()
13
+ };
14
+ constructor(vectorStore, graphMemory) {
15
+ this.vectorStore = vectorStore;
16
+ this.graphMemory = graphMemory;
17
+ }
18
+ /**
19
+ * Retrieves context using a hybrid approach:
20
+ * 1. Find the most semantically relevant node via Vector Search.
21
+ * 2. Traverse the Graph from that node to find related concepts/actions/artifacts.
22
+ */
23
+ async getQuantumContext(queryVector, limit = 3) {
24
+ const vectorResults = await this.vectorStore.search(queryVector, 1);
25
+ if (vectorResults.length === 0)
26
+ return "";
27
+ const seedNodeId = vectorResults[0].id;
28
+ const relatedNodes = this.graphMemory.traverse(seedNodeId, 2);
29
+ return relatedNodes
30
+ .map(node => `[QSGM_KNOWLEDGE] (${node.type.toUpperCase()})\n${node.content}`)
31
+ .join("\n\n");
32
+ }
33
+ /**
34
+ * Records a new interaction in both stores.
35
+ */
36
+ async remember(doc, vector, relatedToId) {
37
+ // 1. Add to Vector Store for semantic search
38
+ await this.vectorStore.add([doc], [vector]);
39
+ // 2. Add to Graph Memory for logical navigation
40
+ this.graphMemory.addNode({
41
+ id: doc.id,
42
+ type: "artifact",
43
+ content: doc.text,
44
+ metadata: doc.metadata,
45
+ timestamp: doc.timestamp
46
+ });
47
+ if (relatedToId) {
48
+ this.graphMemory.addEdge({
49
+ from: relatedToId,
50
+ to: doc.id,
51
+ type: "produced"
52
+ });
53
+ }
54
+ await this.graphMemory.save();
55
+ this.stats.totalDocuments++;
56
+ this.stats.totalNodes++;
57
+ this.stats.lastUpdated = new Date().toISOString();
58
+ }
59
+ async search(query) {
60
+ if (!query.vector)
61
+ return [];
62
+ return this.vectorStore.search(query.vector, query.limit || 5);
63
+ }
64
+ async forget(docId) {
65
+ if (this.vectorStore.delete) {
66
+ await this.vectorStore.delete([docId]);
67
+ }
68
+ this.graphMemory.removeNode(docId);
69
+ this.stats.totalDocuments = Math.max(0, this.stats.totalDocuments - 1);
70
+ }
71
+ async clear() {
72
+ this.stats = {
73
+ totalDocuments: 0,
74
+ totalNodes: 0,
75
+ totalEdges: 0,
76
+ lastUpdated: new Date().toISOString()
77
+ };
78
+ }
79
+ getGraphData() {
80
+ return this.graphMemory.getGraphData();
81
+ }
82
+ getStatistics() {
83
+ return { ...this.stats };
84
+ }
85
+ async batchRemember(docs, vectors) {
86
+ for (let i = 0; i < docs.length; i++) {
87
+ await this.remember(docs[i], vectors[i]);
88
+ }
89
+ }
90
+ async export() {
91
+ return {
92
+ graphs: this.getGraphData(),
93
+ timestamp: new Date().toISOString(),
94
+ stats: this.stats
95
+ };
96
+ }
97
+ }
98
+ //# sourceMappingURL=memory-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-manager.js","sourceRoot":"","sources":["../../src/memory/memory-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { ExecutionMetrics } from "../types/contracts.js";
2
+ export declare class MetricsEngine {
3
+ private readonly runs;
4
+ push(metrics: ExecutionMetrics): void;
5
+ summary(): {
6
+ totalRuns: number;
7
+ avgConfidence: number;
8
+ avgLatencyMs: number;
9
+ totalCostUsd: number;
10
+ interventionRate: number;
11
+ };
12
+ }
13
+ //# sourceMappingURL=metrics-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-engine.d.ts","sourceRoot":"","sources":["../../src/metrics/metrics-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA0B;IAE/C,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAIrC,OAAO,IAAI;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;KAC1B;CAuBF"}
@@ -0,0 +1,27 @@
1
+ export class MetricsEngine {
2
+ runs = [];
3
+ push(metrics) {
4
+ this.runs.push(metrics);
5
+ }
6
+ summary() {
7
+ if (this.runs.length === 0) {
8
+ return { totalRuns: 0, avgConfidence: 0, avgLatencyMs: 0, totalCostUsd: 0, interventionRate: 0 };
9
+ }
10
+ const total = this.runs.length;
11
+ const sums = this.runs.reduce((acc, run) => {
12
+ acc.conf += run.confidence;
13
+ acc.lat += run.totalLatencyMs;
14
+ acc.cost += run.totalCostUsd;
15
+ acc.human += run.humanInterventionRequired ? 1 : 0;
16
+ return acc;
17
+ }, { conf: 0, lat: 0, cost: 0, human: 0 });
18
+ return {
19
+ totalRuns: total,
20
+ avgConfidence: sums.conf / total,
21
+ avgLatencyMs: sums.lat / total,
22
+ totalCostUsd: Number(sums.cost.toFixed(4)),
23
+ interventionRate: sums.human / total
24
+ };
25
+ }
26
+ }
27
+ //# sourceMappingURL=metrics-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-engine.js","sourceRoot":"","sources":["../../src/metrics/metrics-engine.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,aAAa;IACP,IAAI,GAAuB,EAAE,CAAC;IAE/C,IAAI,CAAC,OAAyB;QAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO;QAOL,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;QACnG,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAC3B,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACX,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC;YAC3B,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC;YAC9B,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,YAAY,CAAC;YAC7B,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,OAAO,GAAG,CAAC;QACb,CAAC,EACD,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CACvC,CAAC;QACF,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,aAAa,EAAE,IAAI,CAAC,IAAI,GAAG,KAAK;YAChC,YAAY,EAAE,IAAI,CAAC,GAAG,GAAG,KAAK;YAC9B,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1C,gBAAgB,EAAE,IAAI,CAAC,KAAK,GAAG,KAAK;SACrC,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,69 @@
1
+ import { WorkflowGraph } from "../types/contracts.js";
2
+ export interface BlueprintCommitOptions {
3
+ version?: string;
4
+ tags?: string[];
5
+ description?: string;
6
+ }
7
+ export interface Blueprint {
8
+ id: string;
9
+ version: string;
10
+ createdAt: string;
11
+ fitnessScore: number;
12
+ mutationType: string;
13
+ graph?: WorkflowGraph;
14
+ metadata?: Record<string, unknown>;
15
+ plan?: any;
16
+ status?: string;
17
+ approvals?: number;
18
+ }
19
+ export declare class BlueprintCommitter {
20
+ static readonly BASE_DIR: string;
21
+ private blueprints;
22
+ private history;
23
+ private approvalCount;
24
+ private templates;
25
+ createBlueprint(plan: any): Promise<Blueprint>;
26
+ validate(plan: any): Promise<{
27
+ isValid: boolean;
28
+ errors: string[];
29
+ }>;
30
+ save(blueprint: Blueprint, filePath?: string): Promise<void>;
31
+ retrieve(id: string): Promise<Blueprint | undefined>;
32
+ update(id: string, updates: Partial<Blueprint>): Promise<Blueprint | null>;
33
+ delete(id: string): Promise<boolean>;
34
+ submitForReview(blueprint: Blueprint | string): Promise<Blueprint | null>;
35
+ approve(idOrBlueprint: string | Blueprint, options?: Record<string, unknown>): Promise<Blueprint | null>;
36
+ reject(idOrBlueprint: string | Blueprint, feedback?: string): Promise<Blueprint | null>;
37
+ getApprovalCount(id: string): number;
38
+ commit(blueprintOrWorkflow: Blueprint | WorkflowGraph, message?: string): Promise<Blueprint | null>;
39
+ getHistory(id?: string): Promise<Blueprint[]>;
40
+ getRecent(count?: number): Promise<Blueprint[]>;
41
+ revert(id: string, steps?: number): Promise<Blueprint | null>;
42
+ rollback(id: string, toVersion?: string): Promise<Blueprint | null>;
43
+ diff(id1: string, id2: string): Promise<any>;
44
+ dryRun(blueprint: Blueprint): Promise<{
45
+ success: boolean;
46
+ results: any;
47
+ wouldCreate?: any[];
48
+ isValid?: boolean;
49
+ errors?: string[];
50
+ }>;
51
+ batchCommit(blueprintsOrWorkflows: Blueprint[] | WorkflowGraph[], messages?: string[]): Promise<Blueprint[] | {
52
+ committed: number;
53
+ failed: number;
54
+ }>;
55
+ batchValidate(blueprints: Blueprint[]): Promise<{
56
+ valid: boolean;
57
+ errors: string[];
58
+ }>;
59
+ search(query: string): Promise<Blueprint[]>;
60
+ searchByStatus(status: string): Promise<Blueprint[]>;
61
+ getStatus(id: string): Promise<string | null>;
62
+ getMetrics(id: string): Promise<any>;
63
+ createTemplate(blueprint: Blueprint, options?: any): Promise<any>;
64
+ instantiateFromTemplate(templateId: string): Promise<Blueprint | null>;
65
+ analyzeExecution(blueprint: Blueprint, results: any): Promise<any>;
66
+ js(code: string): Promise<any>;
67
+ private incrementVersion;
68
+ }
69
+ //# sourceMappingURL=blueprint-committer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blueprint-committer.d.ts","sourceRoot":"","sources":["../../src/orchestrator/blueprint-committer.ts"],"names":[],"mappings":"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"}