@miller-tech/uap 1.10.1 → 1.11.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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/benchmarks/benchmark.d.ts +14 -14
- package/dist/bin/cli.js +5 -0
- package/dist/bin/cli.js.map +1 -1
- package/dist/bin/llama-server-optimize.js +0 -0
- package/dist/bin/policy.js +0 -0
- package/dist/cli/task.d.ts +1 -1
- package/dist/cli/task.d.ts.map +1 -1
- package/dist/cli/task.js +65 -0
- package/dist/cli/task.js.map +1 -1
- package/dist/dashboard/data-service.d.ts +10 -0
- package/dist/dashboard/data-service.d.ts.map +1 -1
- package/dist/dashboard/data-service.js +22 -1
- package/dist/dashboard/data-service.js.map +1 -1
- package/dist/models/profile-loader.d.ts +1 -1
- package/dist/models/types.d.ts +45 -45
- package/dist/policies/schemas/policy.d.ts +5 -5
- package/dist/tasks/types.d.ts +22 -22
- package/dist/types/config.d.ts +170 -170
- package/dist/types/coordination.d.ts +22 -22
- package/dist/uap-droids-strict.d.ts +4 -4
- package/package.json +1 -1
- package/scripts/maintenance/verify-compliance.sh +12 -12
- package/templates/hooks/session-start.sh +1 -1
- package/dist/bin/tool-calls.d.ts +0 -3
- package/dist/bin/tool-calls.d.ts.map +0 -1
- package/dist/bin/tool-calls.js +0 -4
- package/dist/bin/tool-calls.js.map +0 -1
- package/dist/cli/completion-gates.d.ts +0 -51
- package/dist/cli/completion-gates.d.ts.map +0 -1
- package/dist/cli/completion-gates.js +0 -201
- package/dist/cli/completion-gates.js.map +0 -1
- package/dist/cli/rtk-validation.d.ts +0 -24
- package/dist/cli/rtk-validation.d.ts.map +0 -1
- package/dist/cli/rtk-validation.js +0 -138
- package/dist/cli/rtk-validation.js.map +0 -1
- package/dist/cli/uap.d.ts +0 -10
- package/dist/cli/uap.d.ts.map +0 -1
- package/dist/cli/uap.js +0 -457
- package/dist/cli/uap.js.map +0 -1
- package/dist/coordination/droid-validator.d.ts +0 -59
- package/dist/coordination/droid-validator.d.ts.map +0 -1
- package/dist/coordination/droid-validator.js +0 -142
- package/dist/coordination/droid-validator.js.map +0 -1
- package/dist/coordination/worktree-enforcer.d.ts +0 -22
- package/dist/coordination/worktree-enforcer.d.ts.map +0 -1
- package/dist/coordination/worktree-enforcer.js +0 -71
- package/dist/coordination/worktree-enforcer.js.map +0 -1
- package/dist/generators/template-loader.d.ts +0 -105
- package/dist/generators/template-loader.d.ts.map +0 -1
- package/dist/generators/template-loader.js +0 -291
- package/dist/generators/template-loader.js.map +0 -1
- package/dist/memory/active-context.d.ts +0 -65
- package/dist/memory/active-context.d.ts.map +0 -1
- package/dist/memory/active-context.js +0 -126
- package/dist/memory/active-context.js.map +0 -1
- package/dist/memory/agent-scoped-memory.d.ts +0 -67
- package/dist/memory/agent-scoped-memory.d.ts.map +0 -1
- package/dist/memory/agent-scoped-memory.js +0 -126
- package/dist/memory/agent-scoped-memory.js.map +0 -1
- package/dist/memory/dedup-detector.d.ts +0 -57
- package/dist/memory/dedup-detector.d.ts.map +0 -1
- package/dist/memory/dedup-detector.js +0 -107
- package/dist/memory/dedup-detector.js.map +0 -1
- package/dist/memory/dedup-memory.d.ts +0 -89
- package/dist/memory/dedup-memory.d.ts.map +0 -1
- package/dist/memory/dedup-memory.js +0 -173
- package/dist/memory/dedup-memory.js.map +0 -1
- package/dist/memory/generic-uap-patterns.d.ts +0 -7
- package/dist/memory/generic-uap-patterns.d.ts.map +0 -1
- package/dist/memory/generic-uap-patterns.js +0 -43
- package/dist/memory/generic-uap-patterns.js.map +0 -1
- package/dist/memory/merge-claude-md.d.ts +0 -45
- package/dist/memory/merge-claude-md.d.ts.map +0 -1
- package/dist/memory/merge-claude-md.js +0 -118
- package/dist/memory/merge-claude-md.js.map +0 -1
- package/dist/memory/multi-view-memory.d.ts +0 -134
- package/dist/memory/multi-view-memory.d.ts.map +0 -1
- package/dist/memory/multi-view-memory.js +0 -430
- package/dist/memory/multi-view-memory.js.map +0 -1
- package/dist/memory/patterns.d.ts +0 -37
- package/dist/memory/patterns.d.ts.map +0 -1
- package/dist/memory/patterns.js +0 -81
- package/dist/memory/patterns.js.map +0 -1
- package/dist/memory/semantic-edge-graph.d.ts +0 -86
- package/dist/memory/semantic-edge-graph.d.ts.map +0 -1
- package/dist/memory/semantic-edge-graph.js +0 -168
- package/dist/memory/semantic-edge-graph.js.map +0 -1
- package/dist/memory/semantic-retrieval.d.ts +0 -70
- package/dist/memory/semantic-retrieval.d.ts.map +0 -1
- package/dist/memory/semantic-retrieval.js +0 -112
- package/dist/memory/semantic-retrieval.js.map +0 -1
- package/dist/memory/short-term/factory.d.ts +0 -26
- package/dist/memory/short-term/factory.d.ts.map +0 -1
- package/dist/memory/short-term/factory.js +0 -28
- package/dist/memory/short-term/factory.js.map +0 -1
- package/dist/memory/short-term/indexeddb.d.ts +0 -25
- package/dist/memory/short-term/indexeddb.d.ts.map +0 -1
- package/dist/memory/short-term/indexeddb.js +0 -64
- package/dist/memory/short-term/indexeddb.js.map +0 -1
- package/dist/memory/smart-consolidator.d.ts +0 -53
- package/dist/memory/smart-consolidator.d.ts.map +0 -1
- package/dist/memory/smart-consolidator.js +0 -144
- package/dist/memory/smart-consolidator.js.map +0 -1
- package/dist/memory/view-memory.d.ts +0 -80
- package/dist/memory/view-memory.d.ts.map +0 -1
- package/dist/memory/view-memory.js +0 -130
- package/dist/memory/view-memory.js.map +0 -1
- package/dist/memory/wrapped-memory.d.ts +0 -77
- package/dist/memory/wrapped-memory.d.ts.map +0 -1
- package/dist/memory/wrapped-memory.js +0 -127
- package/dist/memory/wrapped-memory.js.map +0 -1
- package/dist/models/api-client.d.ts +0 -46
- package/dist/models/api-client.d.ts.map +0 -1
- package/dist/models/api-client.js +0 -182
- package/dist/models/api-client.js.map +0 -1
- package/dist/utils/config-manager.d.ts +0 -30
- package/dist/utils/config-manager.d.ts.map +0 -1
- package/dist/utils/config-manager.js +0 -41
- package/dist/utils/config-manager.js.map +0 -1
- package/dist/utils/fetch-with-retry.d.ts +0 -5
- package/dist/utils/fetch-with-retry.d.ts.map +0 -1
- package/dist/utils/fetch-with-retry.js +0 -61
- package/dist/utils/fetch-with-retry.js.map +0 -1
- package/dist/utils/file-discovery.d.ts +0 -38
- package/dist/utils/file-discovery.d.ts.map +0 -1
- package/dist/utils/file-discovery.js +0 -100
- package/dist/utils/file-discovery.js.map +0 -1
- package/dist/utils/validate-json.d.ts +0 -51
- package/dist/utils/validate-json.d.ts.map +0 -1
- package/dist/utils/validate-json.js +0 -94
- package/dist/utils/validate-json.js.map +0 -1
- package/tools/agents/scripts/__pycache__/tool_call_wrapper.cpython-313.pyc +0 -0
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
/**
|
|
3
|
-
* Droid JSON Schema Validator
|
|
4
|
-
*
|
|
5
|
-
* Validates droid markdown files against the strict UAP droid schema.
|
|
6
|
-
* Extracts YAML/JSON frontmatter and checks required fields.
|
|
7
|
-
*/
|
|
8
|
-
export interface DroidValidationResult {
|
|
9
|
-
valid: boolean;
|
|
10
|
-
errors: string[];
|
|
11
|
-
warnings: string[];
|
|
12
|
-
droidPath?: string;
|
|
13
|
-
}
|
|
14
|
-
export declare const DroidFrontmatterSchema: z.ZodObject<{
|
|
15
|
-
name: z.ZodString;
|
|
16
|
-
description: z.ZodString;
|
|
17
|
-
model: z.ZodDefault<z.ZodEnum<["inherit", "dedicated"]>>;
|
|
18
|
-
coordination: z.ZodOptional<z.ZodObject<{
|
|
19
|
-
channels: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
20
|
-
claims: z.ZodOptional<z.ZodArray<z.ZodEnum<["exclusive", "shared"]>, "many">>;
|
|
21
|
-
batches_deploy: z.ZodDefault<z.ZodBoolean>;
|
|
22
|
-
}, "strip", z.ZodTypeAny, {
|
|
23
|
-
batches_deploy: boolean;
|
|
24
|
-
channels?: string[] | undefined;
|
|
25
|
-
claims?: ("exclusive" | "shared")[] | undefined;
|
|
26
|
-
}, {
|
|
27
|
-
channels?: string[] | undefined;
|
|
28
|
-
claims?: ("exclusive" | "shared")[] | undefined;
|
|
29
|
-
batches_deploy?: boolean | undefined;
|
|
30
|
-
}>>;
|
|
31
|
-
}, "strip", z.ZodTypeAny, {
|
|
32
|
-
name: string;
|
|
33
|
-
description: string;
|
|
34
|
-
model: "inherit" | "dedicated";
|
|
35
|
-
coordination?: {
|
|
36
|
-
batches_deploy: boolean;
|
|
37
|
-
channels?: string[] | undefined;
|
|
38
|
-
claims?: ("exclusive" | "shared")[] | undefined;
|
|
39
|
-
} | undefined;
|
|
40
|
-
}, {
|
|
41
|
-
name: string;
|
|
42
|
-
description: string;
|
|
43
|
-
coordination?: {
|
|
44
|
-
channels?: string[] | undefined;
|
|
45
|
-
claims?: ("exclusive" | "shared")[] | undefined;
|
|
46
|
-
batches_deploy?: boolean | undefined;
|
|
47
|
-
} | undefined;
|
|
48
|
-
model?: "inherit" | "dedicated" | undefined;
|
|
49
|
-
}>;
|
|
50
|
-
export type DroidFrontmatter = z.infer<typeof DroidFrontmatterSchema>;
|
|
51
|
-
/**
|
|
52
|
-
* Validate a single droid markdown file against the schema.
|
|
53
|
-
*/
|
|
54
|
-
export declare function validateDroidSchema(droidPath: string): Promise<DroidValidationResult>;
|
|
55
|
-
/**
|
|
56
|
-
* Validate all droid `.md` files in a directory.
|
|
57
|
-
*/
|
|
58
|
-
export declare function validateAllDroids(droidsDir: string): Promise<DroidValidationResult[]>;
|
|
59
|
-
//# sourceMappingURL=droid-validator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"droid-validator.d.ts","sourceRoot":"","sources":["../../src/coordination/droid-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;;;;GAKG;AAEH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAwCtE;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAwE3F;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAwB3F"}
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { readdir, readFile } from 'fs/promises';
|
|
3
|
-
import { join } from 'path';
|
|
4
|
-
const CoordinationSchema = z.object({
|
|
5
|
-
channels: z.array(z.string()).optional(),
|
|
6
|
-
claims: z.array(z.enum(['exclusive', 'shared'])).optional(),
|
|
7
|
-
batches_deploy: z.boolean().default(false),
|
|
8
|
-
});
|
|
9
|
-
export const DroidFrontmatterSchema = z.object({
|
|
10
|
-
name: z.string().min(1, 'Droid name is required'),
|
|
11
|
-
description: z.string().min(5, 'Description must be at least 5 characters'),
|
|
12
|
-
model: z.enum(['inherit', 'dedicated']).default('inherit'),
|
|
13
|
-
coordination: CoordinationSchema.optional(),
|
|
14
|
-
});
|
|
15
|
-
/**
|
|
16
|
-
* Extract frontmatter block from a markdown file's content.
|
|
17
|
-
* Supports both JSON and YAML-style frontmatter delimited by `---`.
|
|
18
|
-
*/
|
|
19
|
-
function extractFrontmatter(content) {
|
|
20
|
-
const match = content.match(/^---\n([\s\S]*?)\n---/);
|
|
21
|
-
if (!match)
|
|
22
|
-
return null;
|
|
23
|
-
const raw = match[1].trim();
|
|
24
|
-
if (!raw)
|
|
25
|
-
return null;
|
|
26
|
-
// Detect format: if it starts with `{`, treat as JSON
|
|
27
|
-
const format = raw.startsWith('{') ? 'json' : 'yaml';
|
|
28
|
-
return { raw, format };
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Parse frontmatter string into an object.
|
|
32
|
-
* Supports JSON directly; for YAML, does a simple key-value parse
|
|
33
|
-
* (covers the common flat-object case without requiring a full YAML parser at import time).
|
|
34
|
-
*/
|
|
35
|
-
async function parseFrontmatter(raw, format) {
|
|
36
|
-
if (format === 'json') {
|
|
37
|
-
return JSON.parse(raw);
|
|
38
|
-
}
|
|
39
|
-
// Use js-yaml for YAML parsing
|
|
40
|
-
const yaml = await import('js-yaml');
|
|
41
|
-
const parsed = yaml.load(raw);
|
|
42
|
-
if (typeof parsed !== 'object' || parsed === null) {
|
|
43
|
-
throw new Error('YAML frontmatter did not parse to an object');
|
|
44
|
-
}
|
|
45
|
-
return parsed;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Validate a single droid markdown file against the schema.
|
|
49
|
-
*/
|
|
50
|
-
export async function validateDroidSchema(droidPath) {
|
|
51
|
-
const errors = [];
|
|
52
|
-
const warnings = [];
|
|
53
|
-
let content;
|
|
54
|
-
try {
|
|
55
|
-
content = await readFile(droidPath, 'utf-8');
|
|
56
|
-
}
|
|
57
|
-
catch (err) {
|
|
58
|
-
return {
|
|
59
|
-
valid: false,
|
|
60
|
-
errors: [`Failed to read file: ${String(err)}`],
|
|
61
|
-
warnings: [],
|
|
62
|
-
droidPath,
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
// Extract frontmatter
|
|
66
|
-
const fm = extractFrontmatter(content);
|
|
67
|
-
if (!fm) {
|
|
68
|
-
return {
|
|
69
|
-
valid: false,
|
|
70
|
-
errors: ['No frontmatter block found (expected --- delimited block at start of file)'],
|
|
71
|
-
warnings: [],
|
|
72
|
-
droidPath,
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
// Parse frontmatter
|
|
76
|
-
let metadata;
|
|
77
|
-
try {
|
|
78
|
-
metadata = await parseFrontmatter(fm.raw, fm.format);
|
|
79
|
-
}
|
|
80
|
-
catch (err) {
|
|
81
|
-
return {
|
|
82
|
-
valid: false,
|
|
83
|
-
errors: [`Failed to parse ${fm.format.toUpperCase()} frontmatter: ${String(err)}`],
|
|
84
|
-
warnings: [],
|
|
85
|
-
droidPath,
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
// Validate against Zod schema
|
|
89
|
-
const parseResult = DroidFrontmatterSchema.safeParse(metadata);
|
|
90
|
-
if (!parseResult.success) {
|
|
91
|
-
for (const issue of parseResult.error.issues) {
|
|
92
|
-
const path = issue.path.length > 0 ? issue.path.join('.') : '(root)';
|
|
93
|
-
errors.push(`${path}: ${issue.message}`);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
// Warnings for optional best practices
|
|
97
|
-
if (!metadata['coordination']) {
|
|
98
|
-
warnings.push('No coordination block defined; droid will not participate in multi-agent coordination');
|
|
99
|
-
}
|
|
100
|
-
if (metadata['model'] === 'dedicated') {
|
|
101
|
-
warnings.push('Droid uses dedicated model; ensure resource allocation is configured');
|
|
102
|
-
}
|
|
103
|
-
// Check that the file has body content beyond frontmatter
|
|
104
|
-
const body = content.replace(/^---\n[\s\S]*?\n---\n?/, '').trim();
|
|
105
|
-
if (!body) {
|
|
106
|
-
warnings.push('Droid file has no instruction body after frontmatter');
|
|
107
|
-
}
|
|
108
|
-
return {
|
|
109
|
-
valid: errors.length === 0,
|
|
110
|
-
errors,
|
|
111
|
-
warnings,
|
|
112
|
-
droidPath,
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Validate all droid `.md` files in a directory.
|
|
117
|
-
*/
|
|
118
|
-
export async function validateAllDroids(droidsDir) {
|
|
119
|
-
const results = [];
|
|
120
|
-
let entries;
|
|
121
|
-
try {
|
|
122
|
-
entries = (await readdir(droidsDir, { withFileTypes: true }));
|
|
123
|
-
}
|
|
124
|
-
catch (err) {
|
|
125
|
-
return [
|
|
126
|
-
{
|
|
127
|
-
valid: false,
|
|
128
|
-
errors: [`Failed to read droids directory '${droidsDir}': ${String(err)}`],
|
|
129
|
-
warnings: [],
|
|
130
|
-
},
|
|
131
|
-
];
|
|
132
|
-
}
|
|
133
|
-
for (const entry of entries) {
|
|
134
|
-
if (!entry.isFile() || !entry.name.endsWith('.md'))
|
|
135
|
-
continue;
|
|
136
|
-
const droidPath = join(droidsDir, entry.name);
|
|
137
|
-
const result = await validateDroidSchema(droidPath);
|
|
138
|
-
results.push(result);
|
|
139
|
-
}
|
|
140
|
-
return results;
|
|
141
|
-
}
|
|
142
|
-
//# sourceMappingURL=droid-validator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"droid-validator.js","sourceRoot":"","sources":["../../src/coordination/droid-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Worktree Enforcer
|
|
3
|
-
*
|
|
4
|
-
* Ensures agents operate within dedicated git worktrees for isolation.
|
|
5
|
-
* Uses `git worktree list` to verify worktree existence.
|
|
6
|
-
*/
|
|
7
|
-
export interface WorktreeStatus {
|
|
8
|
-
exists: boolean;
|
|
9
|
-
path: string | null;
|
|
10
|
-
branch: string | null;
|
|
11
|
-
}
|
|
12
|
-
export interface WorktreeEnforcerOptions {
|
|
13
|
-
requireWorktree?: boolean;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Check if a git worktree exists for the given agent.
|
|
17
|
-
*
|
|
18
|
-
* Looks for a worktree whose path or branch name contains the agentId.
|
|
19
|
-
* If `requireWorktree` is true and no matching worktree is found, returns `exists: false`.
|
|
20
|
-
*/
|
|
21
|
-
export declare function ensureWorktree(agentId: string, options?: WorktreeEnforcerOptions): Promise<WorktreeStatus>;
|
|
22
|
-
//# sourceMappingURL=worktree-enforcer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-enforcer.d.ts","sourceRoot":"","sources":["../../src/coordination/worktree-enforcer.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AAEH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAsCD;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,cAAc,CAAC,CAoCzB"}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { execFile } from 'child_process';
|
|
2
|
-
import { promisify } from 'util';
|
|
3
|
-
const execFileAsync = promisify(execFile);
|
|
4
|
-
/**
|
|
5
|
-
* Parse `git worktree list --porcelain` output into structured entries.
|
|
6
|
-
*/
|
|
7
|
-
function parseWorktreeList(output) {
|
|
8
|
-
const entries = [];
|
|
9
|
-
let currentPath = null;
|
|
10
|
-
let currentBranch = null;
|
|
11
|
-
for (const line of output.split('\n')) {
|
|
12
|
-
if (line.startsWith('worktree ')) {
|
|
13
|
-
// Flush previous entry
|
|
14
|
-
if (currentPath !== null) {
|
|
15
|
-
entries.push({ path: currentPath, branch: currentBranch });
|
|
16
|
-
}
|
|
17
|
-
currentPath = line.slice('worktree '.length).trim();
|
|
18
|
-
currentBranch = null;
|
|
19
|
-
}
|
|
20
|
-
else if (line.startsWith('branch ')) {
|
|
21
|
-
// branch refs/heads/some-branch
|
|
22
|
-
const ref = line.slice('branch '.length).trim();
|
|
23
|
-
currentBranch = ref.replace(/^refs\/heads\//, '');
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
// Flush last entry
|
|
27
|
-
if (currentPath !== null) {
|
|
28
|
-
entries.push({ path: currentPath, branch: currentBranch });
|
|
29
|
-
}
|
|
30
|
-
return entries;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Check if a git worktree exists for the given agent.
|
|
34
|
-
*
|
|
35
|
-
* Looks for a worktree whose path or branch name contains the agentId.
|
|
36
|
-
* If `requireWorktree` is true and no matching worktree is found, returns `exists: false`.
|
|
37
|
-
*/
|
|
38
|
-
export async function ensureWorktree(agentId, options) {
|
|
39
|
-
const requireWorktree = options?.requireWorktree ?? false;
|
|
40
|
-
try {
|
|
41
|
-
const { stdout } = await execFileAsync('git', ['worktree', 'list', '--porcelain']);
|
|
42
|
-
const entries = parseWorktreeList(stdout);
|
|
43
|
-
// Look for a worktree matching this agent
|
|
44
|
-
const match = entries.find((entry) => {
|
|
45
|
-
const pathMatch = entry.path.includes(agentId);
|
|
46
|
-
const branchMatch = entry.branch !== null && entry.branch.includes(agentId);
|
|
47
|
-
return pathMatch || branchMatch;
|
|
48
|
-
});
|
|
49
|
-
if (match) {
|
|
50
|
-
return {
|
|
51
|
-
exists: true,
|
|
52
|
-
path: match.path,
|
|
53
|
-
branch: match.branch,
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
// No matching worktree found
|
|
57
|
-
if (requireWorktree) {
|
|
58
|
-
return { exists: false, path: null, branch: null };
|
|
59
|
-
}
|
|
60
|
-
// Not required — report that none exists but don't block
|
|
61
|
-
return { exists: false, path: null, branch: null };
|
|
62
|
-
}
|
|
63
|
-
catch (_err) {
|
|
64
|
-
// git command failed (not a git repo, git not installed, etc.)
|
|
65
|
-
if (requireWorktree) {
|
|
66
|
-
return { exists: false, path: null, branch: null };
|
|
67
|
-
}
|
|
68
|
-
return { exists: false, path: null, branch: null };
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
//# sourceMappingURL=worktree-enforcer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-enforcer.js","sourceRoot":"","sources":["../../src/coordination/worktree-enforcer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import Handlebars from 'handlebars';
|
|
2
|
-
import type { ProjectAnalysis } from '../types/index.js';
|
|
3
|
-
/**
|
|
4
|
-
* Template section identifiers for lazy loading.
|
|
5
|
-
*/
|
|
6
|
-
export type TemplateSection = 'header' | 'directives' | 'session-start' | 'coordination' | 'decision-loop' | 'memory-system' | 'worktree' | 'parallel-review' | 'triggers' | 'repository' | 'architecture' | 'components' | 'auth' | 'quick-reference' | 'skills-droids' | 'infrastructure' | 'testing' | 'troubleshooting' | 'config-files' | 'checklist' | 'knowledge' | 'footer';
|
|
7
|
-
/**
|
|
8
|
-
* Section metadata for conditional loading.
|
|
9
|
-
*/
|
|
10
|
-
export interface SectionMetadata {
|
|
11
|
-
id: TemplateSection;
|
|
12
|
-
file: string;
|
|
13
|
-
required: boolean;
|
|
14
|
-
dependencies?: TemplateSection[];
|
|
15
|
-
condition?: (analysis: ProjectAnalysis) => boolean;
|
|
16
|
-
tokenEstimate: number;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Default section definitions.
|
|
20
|
-
*/
|
|
21
|
-
export declare const DEFAULT_SECTIONS: SectionMetadata[];
|
|
22
|
-
/**
|
|
23
|
-
* Template loading configuration.
|
|
24
|
-
*/
|
|
25
|
-
export interface TemplateLoaderConfig {
|
|
26
|
-
sectionsDir?: string;
|
|
27
|
-
maxTokens?: number;
|
|
28
|
-
includeSections?: TemplateSection[];
|
|
29
|
-
excludeSections?: TemplateSection[];
|
|
30
|
-
forceInclude?: TemplateSection[];
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Modular template loader with lazy-loading support.
|
|
34
|
-
*/
|
|
35
|
-
export declare class TemplateLoader {
|
|
36
|
-
private sectionsDir;
|
|
37
|
-
private maxTokens;
|
|
38
|
-
private sections;
|
|
39
|
-
private compiledSections;
|
|
40
|
-
private analysis;
|
|
41
|
-
constructor(config?: TemplateLoaderConfig);
|
|
42
|
-
/**
|
|
43
|
-
* Find the sections directory.
|
|
44
|
-
*/
|
|
45
|
-
private findSectionsDir;
|
|
46
|
-
/**
|
|
47
|
-
* Register Handlebars helpers.
|
|
48
|
-
*/
|
|
49
|
-
private registerHelpers;
|
|
50
|
-
/**
|
|
51
|
-
* Set the project analysis for conditional loading.
|
|
52
|
-
*/
|
|
53
|
-
setAnalysis(analysis: ProjectAnalysis): void;
|
|
54
|
-
/**
|
|
55
|
-
* Check if a section should be included based on conditions.
|
|
56
|
-
*/
|
|
57
|
-
private shouldIncludeSection;
|
|
58
|
-
/**
|
|
59
|
-
* Get sections that should be included.
|
|
60
|
-
*/
|
|
61
|
-
getIncludedSections(): SectionMetadata[];
|
|
62
|
-
/**
|
|
63
|
-
* Estimate total tokens for included sections.
|
|
64
|
-
*/
|
|
65
|
-
estimateTotalTokens(): number;
|
|
66
|
-
/**
|
|
67
|
-
* Get remaining token budget.
|
|
68
|
-
*/
|
|
69
|
-
getRemainingTokenBudget(): number;
|
|
70
|
-
/**
|
|
71
|
-
* Load and compile a section template.
|
|
72
|
-
*/
|
|
73
|
-
loadSection(sectionId: TemplateSection): Handlebars.TemplateDelegate | null;
|
|
74
|
-
/**
|
|
75
|
-
* Load all sections and assemble the full template.
|
|
76
|
-
*/
|
|
77
|
-
loadFullTemplate(): string;
|
|
78
|
-
/**
|
|
79
|
-
* Check if section files exist.
|
|
80
|
-
*/
|
|
81
|
-
private hasSectionFiles;
|
|
82
|
-
/**
|
|
83
|
-
* Load the monolithic template as fallback.
|
|
84
|
-
*/
|
|
85
|
-
private loadMonolithicTemplate;
|
|
86
|
-
/**
|
|
87
|
-
* Compile the full template with context.
|
|
88
|
-
*/
|
|
89
|
-
compile(context: Record<string, unknown>): string;
|
|
90
|
-
/**
|
|
91
|
-
* Get a summary of what will be included.
|
|
92
|
-
*/
|
|
93
|
-
getSummary(): {
|
|
94
|
-
includedSections: string[];
|
|
95
|
-
excludedSections: string[];
|
|
96
|
-
estimatedTokens: number;
|
|
97
|
-
withinBudget: boolean;
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Create section template files from the monolithic template.
|
|
102
|
-
* This is a one-time migration utility.
|
|
103
|
-
*/
|
|
104
|
-
export declare function splitTemplateIntoSections(templatePath: string, outputDir: string): Promise<void>;
|
|
105
|
-
//# sourceMappingURL=template-loader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"template-loader.d.ts","sourceRoot":"","sources":["../../src/generators/template-loader.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAIpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKzD;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB,QAAQ,GACR,YAAY,GACZ,eAAe,GACf,cAAc,GACd,eAAe,GACf,eAAe,GACf,UAAU,GACV,iBAAiB,GACjB,UAAU,GACV,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,MAAM,GACN,iBAAiB,GACjB,eAAe,GACf,gBAAgB,GAChB,SAAS,GACT,iBAAiB,GACjB,cAAc,GACd,WAAW,GACX,WAAW,GACX,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,eAAe,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,OAAO,CAAC;IACnD,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,eAAe,EAuE7C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,eAAe,EAAE,CAAC;IACpC,eAAe,CAAC,EAAE,eAAe,EAAE,CAAC;IACpC,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;CAClC;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,gBAAgB,CAAoD;IAC5E,OAAO,CAAC,QAAQ,CAAgC;gBAEpC,MAAM,GAAE,oBAAyB;IA6B7C;;OAEG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAsBvB;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAI5C;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;OAEG;IACH,mBAAmB,IAAI,eAAe,EAAE;IAIxC;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAK7B;;OAEG;IACH,uBAAuB,IAAI,MAAM;IAIjC;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,eAAe,GAAG,UAAU,CAAC,gBAAgB,GAAG,IAAI;IAuB3E;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAmB1B;;OAEG;IACH,OAAO,CAAC,eAAe;IASvB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAMjD;;OAEG;IACH,UAAU,IAAI;QACZ,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,OAAO,CAAC;KACvB;CAcF;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAKf"}
|