@miller-tech/uap 1.6.2 → 1.7.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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/benchmarks/benchmark.d.ts +53 -53
- package/dist/cli/memory.d.ts +11 -0
- package/dist/cli/memory.d.ts.map +1 -1
- package/dist/cli/memory.js +72 -37
- package/dist/cli/memory.js.map +1 -1
- package/dist/cli/rtk-validation.d.ts +22 -3
- package/dist/cli/rtk-validation.d.ts.map +1 -1
- package/dist/cli/rtk-validation.js +152 -5
- package/dist/cli/rtk-validation.js.map +1 -1
- package/dist/cli/schema-diff.d.ts +27 -3
- package/dist/cli/schema-diff.d.ts.map +1 -1
- package/dist/cli/schema-diff.js +269 -6
- package/dist/cli/schema-diff.js.map +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +51 -4
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/uap.js +64 -5
- package/dist/cli/uap.js.map +1 -1
- package/dist/coordination/auto-agent.d.ts.map +1 -1
- package/dist/coordination/auto-agent.js +3 -1
- package/dist/coordination/auto-agent.js.map +1 -1
- package/dist/coordination/deploy-batcher.d.ts.map +1 -1
- package/dist/coordination/deploy-batcher.js +24 -3
- package/dist/coordination/deploy-batcher.js.map +1 -1
- package/dist/coordination/index.d.ts +0 -2
- package/dist/coordination/index.d.ts.map +1 -1
- package/dist/coordination/index.js +0 -2
- package/dist/coordination/index.js.map +1 -1
- package/dist/coordination/pattern-router.d.ts +6 -2
- package/dist/coordination/pattern-router.d.ts.map +1 -1
- package/dist/coordination/pattern-router.js +38 -2
- package/dist/coordination/pattern-router.js.map +1 -1
- package/dist/dashboard/data-service.d.ts +11 -0
- package/dist/dashboard/data-service.d.ts.map +1 -1
- package/dist/dashboard/data-service.js +24 -0
- package/dist/dashboard/data-service.js.map +1 -1
- package/dist/index.d.ts +27 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -4
- package/dist/index.js.map +1 -1
- package/dist/mcp-router/executor/client.d.ts +21 -0
- package/dist/mcp-router/executor/client.d.ts.map +1 -1
- package/dist/mcp-router/executor/client.js +50 -1
- package/dist/mcp-router/executor/client.js.map +1 -1
- package/dist/memory/adaptive-context.d.ts.map +1 -1
- package/dist/memory/adaptive-context.js +60 -56
- package/dist/memory/adaptive-context.js.map +1 -1
- package/dist/memory/backends/factory.d.ts.map +1 -1
- package/dist/memory/backends/factory.js +4 -2
- package/dist/memory/backends/factory.js.map +1 -1
- package/dist/memory/daily-log.d.ts +6 -0
- package/dist/memory/daily-log.d.ts.map +1 -1
- package/dist/memory/daily-log.js +14 -0
- package/dist/memory/daily-log.js.map +1 -1
- package/dist/memory/dynamic-retrieval.d.ts.map +1 -1
- package/dist/memory/dynamic-retrieval.js +60 -3
- package/dist/memory/dynamic-retrieval.js.map +1 -1
- package/dist/memory/embeddings.d.ts.map +1 -1
- package/dist/memory/embeddings.js +4 -2
- package/dist/memory/embeddings.js.map +1 -1
- package/dist/memory/memory-consolidator.d.ts +6 -0
- package/dist/memory/memory-consolidator.d.ts.map +1 -1
- package/dist/memory/memory-consolidator.js +27 -2
- package/dist/memory/memory-consolidator.js.map +1 -1
- package/dist/memory/model-router.d.ts.map +1 -1
- package/dist/memory/model-router.js +51 -55
- package/dist/memory/model-router.js.map +1 -1
- package/dist/memory/serverless-qdrant.js +6 -4
- package/dist/memory/serverless-qdrant.js.map +1 -1
- package/dist/memory/short-term/sqlite.d.ts +24 -1
- package/dist/memory/short-term/sqlite.d.ts.map +1 -1
- package/dist/memory/short-term/sqlite.js.map +1 -1
- package/dist/models/execution-profiles.d.ts +13 -0
- package/dist/models/execution-profiles.d.ts.map +1 -1
- package/dist/models/execution-profiles.js +30 -0
- package/dist/models/execution-profiles.js.map +1 -1
- package/dist/models/executor.d.ts +2 -1
- package/dist/models/executor.d.ts.map +1 -1
- package/dist/models/executor.js +21 -5
- package/dist/models/executor.js.map +1 -1
- package/dist/models/planner.d.ts.map +1 -1
- package/dist/models/planner.js +5 -3
- package/dist/models/planner.js.map +1 -1
- package/dist/models/router.d.ts.map +1 -1
- package/dist/models/router.js +4 -2
- package/dist/models/router.js.map +1 -1
- package/dist/models/types.d.ts +47 -47
- package/dist/policies/convert-policy-to-claude.js.map +1 -1
- package/dist/policies/database-manager.d.ts +45 -6
- package/dist/policies/database-manager.d.ts.map +1 -1
- package/dist/policies/database-manager.js.map +1 -1
- package/dist/policies/policy-gate.d.ts +1 -1
- package/dist/policies/policy-gate.d.ts.map +1 -1
- package/dist/policies/policy-memory.js +2 -2
- package/dist/policies/policy-memory.js.map +1 -1
- package/dist/policies/schemas/policy.d.ts +20 -20
- package/dist/tasks/coordination.d.ts.map +1 -1
- package/dist/tasks/coordination.js +19 -1
- package/dist/tasks/coordination.js.map +1 -1
- package/dist/tasks/event-bus.d.ts.map +1 -1
- package/dist/tasks/event-bus.js +2 -1
- package/dist/tasks/event-bus.js.map +1 -1
- package/dist/tasks/types.d.ts +20 -20
- package/dist/telemetry/session-telemetry.d.ts.map +1 -1
- package/dist/telemetry/session-telemetry.js +13 -26
- package/dist/telemetry/session-telemetry.js.map +1 -1
- package/dist/types/config.d.ts +353 -353
- package/dist/types/coordination.d.ts +20 -20
- package/dist/uap-droids-strict.d.ts +5 -3
- package/dist/uap-droids-strict.d.ts.map +1 -1
- package/dist/uap-droids-strict.js +36 -3
- package/dist/uap-droids-strict.js.map +1 -1
- package/dist/utils/adaptive-cache.d.ts +0 -4
- package/dist/utils/adaptive-cache.d.ts.map +1 -1
- package/dist/utils/adaptive-cache.js +3 -11
- package/dist/utils/adaptive-cache.js.map +1 -1
- package/dist/utils/concurrency.d.ts +1 -8
- package/dist/utils/concurrency.d.ts.map +1 -1
- package/dist/utils/concurrency.js +1 -37
- package/dist/utils/concurrency.js.map +1 -1
- package/dist/utils/logger.d.ts +32 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +67 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +4 -5
|
@@ -1,9 +1,156 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* RTK (Required Template Keys) Validation
|
|
3
|
+
*
|
|
4
|
+
* Validates that CLAUDE.md contains all mandatory sections required by
|
|
5
|
+
* the UAP protocol. Replaces the v3.0.0 stub that always returned valid.
|
|
6
|
+
*
|
|
7
|
+
* Required sections are defined by the ENFORCEMENT_CHECKS comment in CLAUDE.md:
|
|
8
|
+
* SESSION_START, DECISION_LOOP, MANDATORY_WORKTREE, PARALLEL_REVIEW,
|
|
9
|
+
* SCHEMA_DIFF, GATES, RTK_INCLUDES, PATTERN_ROUTER, VALIDATE_PLAN
|
|
4
10
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
11
|
+
import { existsSync, readFileSync } from 'fs';
|
|
12
|
+
import { join } from 'path';
|
|
13
|
+
/**
|
|
14
|
+
* Mandatory sections that must appear in CLAUDE.md.
|
|
15
|
+
* Each entry maps a check name to the heading/content pattern that satisfies it.
|
|
16
|
+
*/
|
|
17
|
+
const REQUIRED_SECTIONS = {
|
|
18
|
+
SESSION_START: {
|
|
19
|
+
pattern: /## .*SESSION\s+START/i,
|
|
20
|
+
description: 'Session initialization instructions',
|
|
21
|
+
},
|
|
22
|
+
DECISION_LOOP: {
|
|
23
|
+
pattern: /## .*DECISION\s+LOOP/i,
|
|
24
|
+
description: 'Six-step decision loop (READ/QUERY/THINK/ACT/RECORD)',
|
|
25
|
+
},
|
|
26
|
+
MANDATORY_WORKTREE: {
|
|
27
|
+
pattern: /## .*WORKTREE\s+WORKFLOW|## .*Pre-Edit Worktree Gate/i,
|
|
28
|
+
description: 'Worktree workflow enforcement',
|
|
29
|
+
},
|
|
30
|
+
PARALLEL_REVIEW: {
|
|
31
|
+
pattern: /## .*PARALLEL\s+REVIEW/i,
|
|
32
|
+
description: 'Parallel review protocol',
|
|
33
|
+
},
|
|
34
|
+
SCHEMA_DIFF: {
|
|
35
|
+
pattern: /Schema\s+Diff\s+Gate|schema.diff/i,
|
|
36
|
+
description: 'Schema diff gate for breaking changes',
|
|
37
|
+
},
|
|
38
|
+
GATES: {
|
|
39
|
+
pattern: /## .*COMPLETION\s+GATES|## .*BLOCKING\s+PREREQUISITES/i,
|
|
40
|
+
description: 'Completion gates (test, build, lint, deploy)',
|
|
41
|
+
},
|
|
42
|
+
PATTERN_ROUTER: {
|
|
43
|
+
pattern: /## .*Pattern\s+Router/i,
|
|
44
|
+
description: 'Pattern router configuration',
|
|
45
|
+
},
|
|
46
|
+
VERIFIER_FIRST: {
|
|
47
|
+
pattern: /## .*VERIFIER.FIRST/i,
|
|
48
|
+
description: 'Verifier-first protocol (baseline before changes)',
|
|
49
|
+
},
|
|
50
|
+
PRE_EDIT_BUILD: {
|
|
51
|
+
pattern: /## .*Pre-Edit\s+Build\s+Gate/i,
|
|
52
|
+
description: 'Pre-edit build gate enforcement',
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Optional but recommended sections.
|
|
57
|
+
*/
|
|
58
|
+
const RECOMMENDED_SECTIONS = {
|
|
59
|
+
MEMORY_SYSTEM: {
|
|
60
|
+
pattern: /## .*Memory|memory.*system/i,
|
|
61
|
+
description: 'Memory system configuration',
|
|
62
|
+
},
|
|
63
|
+
BROWSER_USAGE: {
|
|
64
|
+
pattern: /## .*Browser|browser.*usage/i,
|
|
65
|
+
description: 'Browser automation guidelines',
|
|
66
|
+
},
|
|
67
|
+
TROUBLESHOOTING: {
|
|
68
|
+
pattern: /## .*Troubleshoot/i,
|
|
69
|
+
description: 'Troubleshooting section',
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Validate that CLAUDE.md contains all required RTK sections.
|
|
74
|
+
*
|
|
75
|
+
* @param projectDir - Project root directory (defaults to cwd)
|
|
76
|
+
* @returns Validation result with missing/found sections
|
|
77
|
+
*/
|
|
78
|
+
export function validateRTKIncludes(projectDir) {
|
|
79
|
+
const dir = projectDir || process.cwd();
|
|
80
|
+
const claudeMdPath = join(dir, 'CLAUDE.md');
|
|
81
|
+
if (!existsSync(claudeMdPath)) {
|
|
82
|
+
return {
|
|
83
|
+
valid: false,
|
|
84
|
+
missing: Object.keys(REQUIRED_SECTIONS),
|
|
85
|
+
found: [],
|
|
86
|
+
warnings: ['CLAUDE.md not found in project root'],
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
const content = readFileSync(claudeMdPath, 'utf-8');
|
|
90
|
+
const missing = [];
|
|
91
|
+
const found = [];
|
|
92
|
+
const warnings = [];
|
|
93
|
+
// Check required sections
|
|
94
|
+
for (const [name, { pattern }] of Object.entries(REQUIRED_SECTIONS)) {
|
|
95
|
+
if (pattern.test(content)) {
|
|
96
|
+
found.push(name);
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
missing.push(name);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// Check recommended sections (warnings only)
|
|
103
|
+
for (const [name, { pattern, description: desc }] of Object.entries(RECOMMENDED_SECTIONS)) {
|
|
104
|
+
if (!pattern.test(content)) {
|
|
105
|
+
warnings.push(`Recommended section missing: ${name} (${desc})`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
// Check for ENFORCEMENT_CHECKS comment
|
|
109
|
+
const enforcementMatch = content.match(/ENFORCEMENT_CHECKS:\s*([A-Z_,\s]+)/);
|
|
110
|
+
if (enforcementMatch) {
|
|
111
|
+
const declaredChecks = enforcementMatch[1].split(',').map(s => s.trim()).filter(Boolean);
|
|
112
|
+
// Verify all declared checks have corresponding sections
|
|
113
|
+
for (const check of declaredChecks) {
|
|
114
|
+
if (!REQUIRED_SECTIONS[check] && !found.includes(check)) {
|
|
115
|
+
warnings.push(`Declared enforcement check "${check}" has no matching section`);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
warnings.push('No ENFORCEMENT_CHECKS comment found in CLAUDE.md');
|
|
121
|
+
}
|
|
122
|
+
// Check template version
|
|
123
|
+
const versionMatch = content.match(/TEMPLATE_VERSION:\s*([\d.]+)/);
|
|
124
|
+
if (!versionMatch) {
|
|
125
|
+
warnings.push('No TEMPLATE_VERSION found in CLAUDE.md');
|
|
126
|
+
}
|
|
127
|
+
return {
|
|
128
|
+
valid: missing.length === 0,
|
|
129
|
+
missing,
|
|
130
|
+
found,
|
|
131
|
+
warnings,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Print RTK validation results to console.
|
|
136
|
+
*/
|
|
137
|
+
export function printRTKValidation(result) {
|
|
138
|
+
if (result.valid) {
|
|
139
|
+
console.log(`RTK Validation: PASSED (${result.found.length} sections verified)`);
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
console.log(`RTK Validation: FAILED (${result.missing.length} missing sections)`);
|
|
143
|
+
console.log('\nMissing required sections:');
|
|
144
|
+
for (const name of result.missing) {
|
|
145
|
+
const section = REQUIRED_SECTIONS[name];
|
|
146
|
+
console.log(` - ${name}: ${section?.description || 'Unknown'}`);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
if (result.warnings.length > 0) {
|
|
150
|
+
console.log('\nWarnings:');
|
|
151
|
+
for (const warning of result.warnings) {
|
|
152
|
+
console.log(` - ${warning}`);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
8
155
|
}
|
|
9
156
|
//# sourceMappingURL=rtk-validation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rtk-validation.js","sourceRoot":"","sources":["../../src/cli/rtk-validation.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"rtk-validation.js","sourceRoot":"","sources":["../../src/cli/rtk-validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,31 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Schema Diff Validation Tool
|
|
2
|
+
* Schema Diff Validation Tool
|
|
3
|
+
*
|
|
4
|
+
* Detects breaking changes in Zod schemas, TypeScript interfaces,
|
|
5
|
+
* database schemas (SQLite), and API contracts by comparing before/after
|
|
6
|
+
* snapshots of schema-defining files.
|
|
7
|
+
*
|
|
8
|
+
* Replaces the v3.0.0 stub with a working implementation.
|
|
3
9
|
*/
|
|
4
10
|
import { Command } from 'commander';
|
|
5
|
-
export
|
|
6
|
-
|
|
11
|
+
export interface SchemaDiffResult {
|
|
12
|
+
file: string;
|
|
13
|
+
changes: SchemaChange[];
|
|
14
|
+
breaking: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface SchemaChange {
|
|
17
|
+
type: 'added' | 'removed' | 'modified';
|
|
18
|
+
path: string;
|
|
19
|
+
description: string;
|
|
20
|
+
breaking: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Diff a single file's schema between two versions (git-based).
|
|
24
|
+
*/
|
|
25
|
+
export declare function diffFileSchema(filePath: string, baseBranch?: string): Promise<SchemaDiffResult>;
|
|
26
|
+
/**
|
|
27
|
+
* Run schema diff on all changed files that contain schemas.
|
|
28
|
+
*/
|
|
29
|
+
export declare function schemaDiffCommand(baseBranch?: string): Promise<SchemaDiffResult[]>;
|
|
30
|
+
export declare function registerSchemaDiffCommand(program: Command): void;
|
|
7
31
|
//# sourceMappingURL=schema-diff.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-diff.d.ts","sourceRoot":"","sources":["../../src/cli/schema-diff.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"schema-diff.d.ts","sourceRoot":"","sources":["../../src/cli/schema-diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAoID;;GAEG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,MAAiB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAsF3B;AAkBD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,GAAE,MAAiB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAyDlG;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAahE"}
|
package/dist/cli/schema-diff.js
CHANGED
|
@@ -1,11 +1,274 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Schema Diff Validation Tool
|
|
2
|
+
* Schema Diff Validation Tool
|
|
3
|
+
*
|
|
4
|
+
* Detects breaking changes in Zod schemas, TypeScript interfaces,
|
|
5
|
+
* database schemas (SQLite), and API contracts by comparing before/after
|
|
6
|
+
* snapshots of schema-defining files.
|
|
7
|
+
*
|
|
8
|
+
* Replaces the v3.0.0 stub with a working implementation.
|
|
3
9
|
*/
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
10
|
+
import { existsSync, readFileSync } from 'fs';
|
|
11
|
+
/**
|
|
12
|
+
* Extract Zod schema field names from source code.
|
|
13
|
+
* Matches patterns like: z.object({ fieldName: z.string(), ... })
|
|
14
|
+
*/
|
|
15
|
+
function extractZodFields(content) {
|
|
16
|
+
const fields = new Map();
|
|
17
|
+
// Match z.object({ ... }) blocks
|
|
18
|
+
const objectBlocks = content.matchAll(/z\.object\(\s*\{([\s\S]*?)\}\s*\)/g);
|
|
19
|
+
for (const block of objectBlocks) {
|
|
20
|
+
const body = block[1];
|
|
21
|
+
// Match field: z.type() patterns
|
|
22
|
+
const fieldMatches = body.matchAll(/(\w+)\s*:\s*(z\.\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)/g);
|
|
23
|
+
for (const fm of fieldMatches) {
|
|
24
|
+
fields.set(fm[1], fm[2]);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return fields;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Extract TypeScript interface/type fields from source code.
|
|
31
|
+
* Matches patterns like: interface Foo { bar: string; baz?: number; }
|
|
32
|
+
*/
|
|
33
|
+
function extractTypeScriptFields(content) {
|
|
34
|
+
const fields = new Map();
|
|
35
|
+
// Match interface/type blocks
|
|
36
|
+
const blocks = content.matchAll(/(?:interface|type)\s+\w+\s*(?:extends\s+\w+\s*)?\{([\s\S]*?)\}/g);
|
|
37
|
+
for (const block of blocks) {
|
|
38
|
+
const body = block[1];
|
|
39
|
+
// Match field: type patterns (including optional ?)
|
|
40
|
+
const fieldMatches = body.matchAll(/(\w+)\??\s*:\s*([^;]+)/g);
|
|
41
|
+
for (const fm of fieldMatches) {
|
|
42
|
+
fields.set(fm[1], fm[2].trim());
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return fields;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Extract SQLite CREATE TABLE columns from SQL or source code.
|
|
49
|
+
*/
|
|
50
|
+
function extractSQLiteColumns(content) {
|
|
51
|
+
const columns = new Map();
|
|
52
|
+
const createTables = content.matchAll(/CREATE\s+TABLE\s+(?:IF\s+NOT\s+EXISTS\s+)?(\w+)\s*\(([\s\S]*?)\)/gi);
|
|
53
|
+
for (const table of createTables) {
|
|
54
|
+
const tableName = table[1];
|
|
55
|
+
const body = table[2];
|
|
56
|
+
const colMatches = body.matchAll(/(\w+)\s+(INTEGER|TEXT|REAL|BLOB|DATETIME|BOOLEAN|VARCHAR[^,]*)/gi);
|
|
57
|
+
for (const col of colMatches) {
|
|
58
|
+
columns.set(`${tableName}.${col[1]}`, col[2].trim());
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return columns;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Compare two field maps and produce a list of changes.
|
|
65
|
+
*/
|
|
66
|
+
function diffFields(before, after, context) {
|
|
67
|
+
const changes = [];
|
|
68
|
+
// Check for removed fields (breaking)
|
|
69
|
+
for (const [name, type] of before) {
|
|
70
|
+
if (!after.has(name)) {
|
|
71
|
+
changes.push({
|
|
72
|
+
type: 'removed',
|
|
73
|
+
path: `${context}.${name}`,
|
|
74
|
+
description: `Field "${name}" (${type}) was removed`,
|
|
75
|
+
breaking: true,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
// Check for added fields
|
|
80
|
+
for (const [name, type] of after) {
|
|
81
|
+
if (!before.has(name)) {
|
|
82
|
+
// Added fields are only breaking if they're required (no ? or .optional())
|
|
83
|
+
const isRequired = !type.includes('optional') && !type.includes('?');
|
|
84
|
+
changes.push({
|
|
85
|
+
type: 'added',
|
|
86
|
+
path: `${context}.${name}`,
|
|
87
|
+
description: `Field "${name}" (${type}) was added${isRequired ? ' (required — breaking)' : ''}`,
|
|
88
|
+
breaking: isRequired,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
// Check for modified fields
|
|
93
|
+
for (const [name, beforeType] of before) {
|
|
94
|
+
const afterType = after.get(name);
|
|
95
|
+
if (afterType && afterType !== beforeType) {
|
|
96
|
+
// Type changes are breaking if the type narrowed or changed fundamentally
|
|
97
|
+
const isBreaking = !afterType.includes(beforeType);
|
|
98
|
+
changes.push({
|
|
99
|
+
type: 'modified',
|
|
100
|
+
path: `${context}.${name}`,
|
|
101
|
+
description: `Field "${name}" type changed: "${beforeType}" → "${afterType}"`,
|
|
102
|
+
breaking: isBreaking,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return changes;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Diff a single file's schema between two versions (git-based).
|
|
110
|
+
*/
|
|
111
|
+
export async function diffFileSchema(filePath, baseBranch = 'HEAD~1') {
|
|
112
|
+
const changes = [];
|
|
113
|
+
try {
|
|
114
|
+
// Get the "before" version from git
|
|
115
|
+
const { execSync } = await import('child_process');
|
|
116
|
+
let beforeContent;
|
|
117
|
+
try {
|
|
118
|
+
beforeContent = execSync(`git show ${baseBranch}:${filePath}`, {
|
|
119
|
+
encoding: 'utf-8',
|
|
120
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
catch {
|
|
124
|
+
// File didn't exist before — all fields are new (non-breaking)
|
|
125
|
+
return { file: filePath, changes: [], breaking: false };
|
|
126
|
+
}
|
|
127
|
+
// Get the "after" version from working tree
|
|
128
|
+
if (!existsSync(filePath)) {
|
|
129
|
+
// File was deleted — all fields removed (breaking)
|
|
130
|
+
return {
|
|
131
|
+
file: filePath,
|
|
132
|
+
changes: [{
|
|
133
|
+
type: 'removed',
|
|
134
|
+
path: filePath,
|
|
135
|
+
description: `File "${filePath}" was deleted`,
|
|
136
|
+
breaking: true,
|
|
137
|
+
}],
|
|
138
|
+
breaking: true,
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
const afterContent = readFileSync(filePath, 'utf-8');
|
|
142
|
+
// Detect schema type and extract fields
|
|
143
|
+
if (filePath.endsWith('.ts') || filePath.endsWith('.js')) {
|
|
144
|
+
// Check for Zod schemas
|
|
145
|
+
if (beforeContent.includes('z.object') || afterContent.includes('z.object')) {
|
|
146
|
+
const beforeFields = extractZodFields(beforeContent);
|
|
147
|
+
const afterFields = extractZodFields(afterContent);
|
|
148
|
+
changes.push(...diffFields(beforeFields, afterFields, 'zod'));
|
|
149
|
+
}
|
|
150
|
+
// Check for TypeScript interfaces/types
|
|
151
|
+
const beforeTsFields = extractTypeScriptFields(beforeContent);
|
|
152
|
+
const afterTsFields = extractTypeScriptFields(afterContent);
|
|
153
|
+
if (beforeTsFields.size > 0 || afterTsFields.size > 0) {
|
|
154
|
+
changes.push(...diffFields(beforeTsFields, afterTsFields, 'typescript'));
|
|
155
|
+
}
|
|
156
|
+
// Check for SQLite schemas in code
|
|
157
|
+
if (beforeContent.includes('CREATE TABLE') || afterContent.includes('CREATE TABLE')) {
|
|
158
|
+
const beforeCols = extractSQLiteColumns(beforeContent);
|
|
159
|
+
const afterCols = extractSQLiteColumns(afterContent);
|
|
160
|
+
changes.push(...diffFields(beforeCols, afterCols, 'sqlite'));
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
// SQL files
|
|
164
|
+
if (filePath.endsWith('.sql')) {
|
|
165
|
+
const beforeCols = extractSQLiteColumns(beforeContent);
|
|
166
|
+
const afterCols = extractSQLiteColumns(afterContent);
|
|
167
|
+
changes.push(...diffFields(beforeCols, afterCols, 'sql'));
|
|
168
|
+
}
|
|
169
|
+
// JSON schema files
|
|
170
|
+
if (filePath.endsWith('.json') && (filePath.includes('schema') || filePath.includes('config'))) {
|
|
171
|
+
try {
|
|
172
|
+
const beforeObj = JSON.parse(beforeContent);
|
|
173
|
+
const afterObj = JSON.parse(afterContent);
|
|
174
|
+
const beforeKeys = new Map(Object.keys(flattenObject(beforeObj)).map(k => [k, typeof flattenObject(beforeObj)[k]]));
|
|
175
|
+
const afterKeys = new Map(Object.keys(flattenObject(afterObj)).map(k => [k, typeof flattenObject(afterObj)[k]]));
|
|
176
|
+
changes.push(...diffFields(beforeKeys, afterKeys, 'json'));
|
|
177
|
+
}
|
|
178
|
+
catch {
|
|
179
|
+
// Not valid JSON
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
catch {
|
|
184
|
+
// Git or file read error
|
|
185
|
+
}
|
|
186
|
+
return {
|
|
187
|
+
file: filePath,
|
|
188
|
+
changes,
|
|
189
|
+
breaking: changes.some(c => c.breaking),
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Flatten a nested object into dot-notation keys.
|
|
194
|
+
*/
|
|
195
|
+
function flattenObject(obj, prefix = '') {
|
|
196
|
+
const result = {};
|
|
197
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
198
|
+
const fullKey = prefix ? `${prefix}.${key}` : key;
|
|
199
|
+
if (value && typeof value === 'object' && !Array.isArray(value)) {
|
|
200
|
+
Object.assign(result, flattenObject(value, fullKey));
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
result[fullKey] = value;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
return result;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Run schema diff on all changed files that contain schemas.
|
|
210
|
+
*/
|
|
211
|
+
export async function schemaDiffCommand(baseBranch = 'HEAD~1') {
|
|
212
|
+
const results = [];
|
|
213
|
+
try {
|
|
214
|
+
const { execSync } = await import('child_process');
|
|
215
|
+
// Get list of changed files
|
|
216
|
+
const changedFiles = execSync(`git diff --name-only ${baseBranch}`, {
|
|
217
|
+
encoding: 'utf-8',
|
|
218
|
+
}).trim().split('\n').filter(Boolean);
|
|
219
|
+
// Filter to schema-relevant files
|
|
220
|
+
const schemaFiles = changedFiles.filter(f => f.includes('schema') ||
|
|
221
|
+
f.includes('types') ||
|
|
222
|
+
f.includes('config') ||
|
|
223
|
+
f.includes('database') ||
|
|
224
|
+
f.endsWith('.sql') ||
|
|
225
|
+
(f.endsWith('.ts') && (f.includes('types/') ||
|
|
226
|
+
f.includes('schemas/') ||
|
|
227
|
+
f.includes('coordination/database') ||
|
|
228
|
+
f.includes('memory/short-term/schema') ||
|
|
229
|
+
f.includes('tasks/database') ||
|
|
230
|
+
f.includes('tasks/types'))));
|
|
231
|
+
for (const file of schemaFiles) {
|
|
232
|
+
const result = await diffFileSchema(file, baseBranch);
|
|
233
|
+
if (result.changes.length > 0) {
|
|
234
|
+
results.push(result);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
// Print results
|
|
238
|
+
if (results.length === 0) {
|
|
239
|
+
console.log('No schema changes detected.');
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
const hasBreaking = results.some(r => r.breaking);
|
|
243
|
+
console.log(`\nSchema Diff Results (${results.length} files with changes):`);
|
|
244
|
+
console.log(hasBreaking ? ' BREAKING CHANGES DETECTED' : ' No breaking changes');
|
|
245
|
+
console.log('');
|
|
246
|
+
for (const result of results) {
|
|
247
|
+
console.log(` ${result.breaking ? 'BREAKING' : 'OK'} ${result.file}`);
|
|
248
|
+
for (const change of result.changes) {
|
|
249
|
+
const icon = change.breaking ? ' !!!' : ' ';
|
|
250
|
+
console.log(`${icon} ${change.type}: ${change.description}`);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
catch (err) {
|
|
256
|
+
console.error(`Schema diff error: ${err instanceof Error ? err.message : String(err)}`);
|
|
257
|
+
}
|
|
258
|
+
return results;
|
|
7
259
|
}
|
|
8
|
-
export function registerSchemaDiffCommand(
|
|
9
|
-
|
|
260
|
+
export function registerSchemaDiffCommand(program) {
|
|
261
|
+
program
|
|
262
|
+
.command('schema-diff')
|
|
263
|
+
.description('Detect breaking schema changes between branches')
|
|
264
|
+
.option('-b, --base <branch>', 'Base branch/commit to compare against', 'HEAD~1')
|
|
265
|
+
.action(async (options) => {
|
|
266
|
+
const results = await schemaDiffCommand(options.base);
|
|
267
|
+
const hasBreaking = results.some(r => r.breaking);
|
|
268
|
+
if (hasBreaking) {
|
|
269
|
+
console.log('\nBreaking changes require explicit approval before proceeding.');
|
|
270
|
+
process.exitCode = 1;
|
|
271
|
+
}
|
|
272
|
+
});
|
|
10
273
|
}
|
|
11
274
|
//# sourceMappingURL=schema-diff.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-diff.js","sourceRoot":"","sources":["../../src/cli/schema-diff.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"schema-diff.js","sourceRoot":"","sources":["../../src/cli/schema-diff.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAWA,UAAU,YAAY;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAWA,UAAU,YAAY;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAyJvE"}
|
package/dist/cli/setup.js
CHANGED
|
@@ -36,11 +36,31 @@ export async function setupCommand(options) {
|
|
|
36
36
|
console.log(chalk.green('\n✅ Setup complete (memory disabled).\n'));
|
|
37
37
|
return;
|
|
38
38
|
}
|
|
39
|
-
// Step 2: Start Qdrant
|
|
39
|
+
// Step 2: Start Qdrant (try serverless manager first, fall back to docker-compose)
|
|
40
40
|
const qdrantSpinner = ora('Starting Qdrant...').start();
|
|
41
41
|
try {
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
// Try serverless Qdrant manager if configured in .uap.json
|
|
43
|
+
let serverlessStarted = false;
|
|
44
|
+
try {
|
|
45
|
+
const uapConfigRaw = existsSync(join(cwd, '.uap.json'))
|
|
46
|
+
? JSON.parse(readFileSync(join(cwd, '.uap.json'), 'utf-8'))
|
|
47
|
+
: null;
|
|
48
|
+
const serverlessConfig = uapConfigRaw?.memory?.longTerm?.serverless;
|
|
49
|
+
if (serverlessConfig?.enabled) {
|
|
50
|
+
const { initServerlessQdrant } = await import('../memory/serverless-qdrant.js');
|
|
51
|
+
const manager = initServerlessQdrant(serverlessConfig);
|
|
52
|
+
await manager.ensureLocalRunning();
|
|
53
|
+
serverlessStarted = true;
|
|
54
|
+
qdrantSpinner.succeed('Started Qdrant (serverless)');
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
// Serverless not available, fall through
|
|
59
|
+
}
|
|
60
|
+
if (!serverlessStarted) {
|
|
61
|
+
await startServices(cwd);
|
|
62
|
+
qdrantSpinner.succeed('Started Qdrant (docker)');
|
|
63
|
+
}
|
|
44
64
|
}
|
|
45
65
|
catch {
|
|
46
66
|
qdrantSpinner.warn('Could not start Qdrant (Docker may not be available)');
|
|
@@ -66,8 +86,35 @@ export async function setupCommand(options) {
|
|
|
66
86
|
else {
|
|
67
87
|
healthSpinner.warn('Qdrant not reachable after 15s — pattern indexing will be skipped');
|
|
68
88
|
}
|
|
89
|
+
// Step 3b: Auto-start background memory consolidation
|
|
90
|
+
try {
|
|
91
|
+
const { autoStartConsolidation } = await import('../memory/memory-consolidator.js');
|
|
92
|
+
const stDbPath = join(cwd, 'agents/data/memory/short_term.db');
|
|
93
|
+
if (autoStartConsolidation(stDbPath)) {
|
|
94
|
+
console.log(chalk.green(' Background memory consolidation started'));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
// Non-fatal
|
|
99
|
+
}
|
|
100
|
+
// Step 3c: Auto-promote high-quality daily log entries
|
|
101
|
+
try {
|
|
102
|
+
const { DailyLog } = await import('../memory/daily-log.js');
|
|
103
|
+
const dlDbPath = join(cwd, 'agents/data/memory/short_term.db');
|
|
104
|
+
if (existsSync(dlDbPath)) {
|
|
105
|
+
const dailyLog = new DailyLog(dlDbPath);
|
|
106
|
+
const promoted = dailyLog.autoPromote(0.5);
|
|
107
|
+
if (promoted > 0) {
|
|
108
|
+
console.log(chalk.green(` Auto-promoted ${promoted} daily log entries`));
|
|
109
|
+
}
|
|
110
|
+
dailyLog.close();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
// Non-fatal
|
|
115
|
+
}
|
|
69
116
|
if (!withPatterns) {
|
|
70
|
-
console.log(chalk.green('\n
|
|
117
|
+
console.log(chalk.green('\n Setup complete (patterns disabled).\n'));
|
|
71
118
|
return;
|
|
72
119
|
}
|
|
73
120
|
// Step 4: Ensure Python venv (if init didn't already handle it)
|
package/dist/cli/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAW7D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAqB;IACtD,0BAA0B;IAC1B,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC7D,OAAO,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,oEAAoE;IACpE,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,IAAI,iBAAiB,CAAC;IACpD,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC;IAChD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC;IAE5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;IAE/D,iFAAiF;IACjF,MAAM,WAAW,CAAC;QAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC;QACrC,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,YAAY;QACtB,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,GAAG;KAChB,CAAC,CAAC;IAEH,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
|