@miller-tech/uap 1.10.1 → 1.12.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 (149) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/benchmarks/benchmark.d.ts +14 -14
  3. package/dist/bin/cli.js +5 -0
  4. package/dist/bin/cli.js.map +1 -1
  5. package/dist/bin/llama-server-optimize.js +0 -0
  6. package/dist/bin/policy.js +0 -0
  7. package/dist/cli/task.d.ts +1 -1
  8. package/dist/cli/task.d.ts.map +1 -1
  9. package/dist/cli/task.js +65 -0
  10. package/dist/cli/task.js.map +1 -1
  11. package/dist/coordination/service.d.ts +11 -0
  12. package/dist/coordination/service.d.ts.map +1 -1
  13. package/dist/coordination/service.js +34 -3
  14. package/dist/coordination/service.js.map +1 -1
  15. package/dist/dashboard/data-seeder.d.ts +33 -0
  16. package/dist/dashboard/data-seeder.d.ts.map +1 -0
  17. package/dist/dashboard/data-seeder.js +247 -0
  18. package/dist/dashboard/data-seeder.js.map +1 -0
  19. package/dist/dashboard/data-service.d.ts +109 -0
  20. package/dist/dashboard/data-service.d.ts.map +1 -1
  21. package/dist/dashboard/data-service.js +566 -27
  22. package/dist/dashboard/data-service.js.map +1 -1
  23. package/dist/dashboard/index.d.ts +4 -2
  24. package/dist/dashboard/index.d.ts.map +1 -1
  25. package/dist/dashboard/index.js +2 -1
  26. package/dist/dashboard/index.js.map +1 -1
  27. package/dist/dashboard/server.d.ts.map +1 -1
  28. package/dist/dashboard/server.js +17 -0
  29. package/dist/dashboard/server.js.map +1 -1
  30. package/dist/models/profile-loader.d.ts +1 -1
  31. package/dist/models/types.d.ts +45 -45
  32. package/dist/policies/schemas/policy.d.ts +5 -5
  33. package/dist/tasks/types.d.ts +22 -22
  34. package/dist/types/config.d.ts +170 -170
  35. package/dist/types/coordination.d.ts +22 -22
  36. package/dist/uap-droids-strict.d.ts +4 -4
  37. package/package.json +1 -1
  38. package/scripts/maintenance/verify-compliance.sh +12 -12
  39. package/templates/hooks/pre-compact.sh +14 -0
  40. package/templates/hooks/session-start.sh +1 -1
  41. package/dist/bin/tool-calls.d.ts +0 -3
  42. package/dist/bin/tool-calls.d.ts.map +0 -1
  43. package/dist/bin/tool-calls.js +0 -4
  44. package/dist/bin/tool-calls.js.map +0 -1
  45. package/dist/cli/completion-gates.d.ts +0 -51
  46. package/dist/cli/completion-gates.d.ts.map +0 -1
  47. package/dist/cli/completion-gates.js +0 -201
  48. package/dist/cli/completion-gates.js.map +0 -1
  49. package/dist/cli/rtk-validation.d.ts +0 -24
  50. package/dist/cli/rtk-validation.d.ts.map +0 -1
  51. package/dist/cli/rtk-validation.js +0 -138
  52. package/dist/cli/rtk-validation.js.map +0 -1
  53. package/dist/cli/uap.d.ts +0 -10
  54. package/dist/cli/uap.d.ts.map +0 -1
  55. package/dist/cli/uap.js +0 -457
  56. package/dist/cli/uap.js.map +0 -1
  57. package/dist/coordination/droid-validator.d.ts +0 -59
  58. package/dist/coordination/droid-validator.d.ts.map +0 -1
  59. package/dist/coordination/droid-validator.js +0 -142
  60. package/dist/coordination/droid-validator.js.map +0 -1
  61. package/dist/coordination/worktree-enforcer.d.ts +0 -22
  62. package/dist/coordination/worktree-enforcer.d.ts.map +0 -1
  63. package/dist/coordination/worktree-enforcer.js +0 -71
  64. package/dist/coordination/worktree-enforcer.js.map +0 -1
  65. package/dist/generators/template-loader.d.ts +0 -105
  66. package/dist/generators/template-loader.d.ts.map +0 -1
  67. package/dist/generators/template-loader.js +0 -291
  68. package/dist/generators/template-loader.js.map +0 -1
  69. package/dist/memory/active-context.d.ts +0 -65
  70. package/dist/memory/active-context.d.ts.map +0 -1
  71. package/dist/memory/active-context.js +0 -126
  72. package/dist/memory/active-context.js.map +0 -1
  73. package/dist/memory/agent-scoped-memory.d.ts +0 -67
  74. package/dist/memory/agent-scoped-memory.d.ts.map +0 -1
  75. package/dist/memory/agent-scoped-memory.js +0 -126
  76. package/dist/memory/agent-scoped-memory.js.map +0 -1
  77. package/dist/memory/dedup-detector.d.ts +0 -57
  78. package/dist/memory/dedup-detector.d.ts.map +0 -1
  79. package/dist/memory/dedup-detector.js +0 -107
  80. package/dist/memory/dedup-detector.js.map +0 -1
  81. package/dist/memory/dedup-memory.d.ts +0 -89
  82. package/dist/memory/dedup-memory.d.ts.map +0 -1
  83. package/dist/memory/dedup-memory.js +0 -173
  84. package/dist/memory/dedup-memory.js.map +0 -1
  85. package/dist/memory/generic-uap-patterns.d.ts +0 -7
  86. package/dist/memory/generic-uap-patterns.d.ts.map +0 -1
  87. package/dist/memory/generic-uap-patterns.js +0 -43
  88. package/dist/memory/generic-uap-patterns.js.map +0 -1
  89. package/dist/memory/merge-claude-md.d.ts +0 -45
  90. package/dist/memory/merge-claude-md.d.ts.map +0 -1
  91. package/dist/memory/merge-claude-md.js +0 -118
  92. package/dist/memory/merge-claude-md.js.map +0 -1
  93. package/dist/memory/multi-view-memory.d.ts +0 -134
  94. package/dist/memory/multi-view-memory.d.ts.map +0 -1
  95. package/dist/memory/multi-view-memory.js +0 -430
  96. package/dist/memory/multi-view-memory.js.map +0 -1
  97. package/dist/memory/patterns.d.ts +0 -37
  98. package/dist/memory/patterns.d.ts.map +0 -1
  99. package/dist/memory/patterns.js +0 -81
  100. package/dist/memory/patterns.js.map +0 -1
  101. package/dist/memory/semantic-edge-graph.d.ts +0 -86
  102. package/dist/memory/semantic-edge-graph.d.ts.map +0 -1
  103. package/dist/memory/semantic-edge-graph.js +0 -168
  104. package/dist/memory/semantic-edge-graph.js.map +0 -1
  105. package/dist/memory/semantic-retrieval.d.ts +0 -70
  106. package/dist/memory/semantic-retrieval.d.ts.map +0 -1
  107. package/dist/memory/semantic-retrieval.js +0 -112
  108. package/dist/memory/semantic-retrieval.js.map +0 -1
  109. package/dist/memory/short-term/factory.d.ts +0 -26
  110. package/dist/memory/short-term/factory.d.ts.map +0 -1
  111. package/dist/memory/short-term/factory.js +0 -28
  112. package/dist/memory/short-term/factory.js.map +0 -1
  113. package/dist/memory/short-term/indexeddb.d.ts +0 -25
  114. package/dist/memory/short-term/indexeddb.d.ts.map +0 -1
  115. package/dist/memory/short-term/indexeddb.js +0 -64
  116. package/dist/memory/short-term/indexeddb.js.map +0 -1
  117. package/dist/memory/smart-consolidator.d.ts +0 -53
  118. package/dist/memory/smart-consolidator.d.ts.map +0 -1
  119. package/dist/memory/smart-consolidator.js +0 -144
  120. package/dist/memory/smart-consolidator.js.map +0 -1
  121. package/dist/memory/view-memory.d.ts +0 -80
  122. package/dist/memory/view-memory.d.ts.map +0 -1
  123. package/dist/memory/view-memory.js +0 -130
  124. package/dist/memory/view-memory.js.map +0 -1
  125. package/dist/memory/wrapped-memory.d.ts +0 -77
  126. package/dist/memory/wrapped-memory.d.ts.map +0 -1
  127. package/dist/memory/wrapped-memory.js +0 -127
  128. package/dist/memory/wrapped-memory.js.map +0 -1
  129. package/dist/models/api-client.d.ts +0 -46
  130. package/dist/models/api-client.d.ts.map +0 -1
  131. package/dist/models/api-client.js +0 -182
  132. package/dist/models/api-client.js.map +0 -1
  133. package/dist/utils/config-manager.d.ts +0 -30
  134. package/dist/utils/config-manager.d.ts.map +0 -1
  135. package/dist/utils/config-manager.js +0 -41
  136. package/dist/utils/config-manager.js.map +0 -1
  137. package/dist/utils/fetch-with-retry.d.ts +0 -5
  138. package/dist/utils/fetch-with-retry.d.ts.map +0 -1
  139. package/dist/utils/fetch-with-retry.js +0 -61
  140. package/dist/utils/fetch-with-retry.js.map +0 -1
  141. package/dist/utils/file-discovery.d.ts +0 -38
  142. package/dist/utils/file-discovery.d.ts.map +0 -1
  143. package/dist/utils/file-discovery.js +0 -100
  144. package/dist/utils/file-discovery.js.map +0 -1
  145. package/dist/utils/validate-json.d.ts +0 -51
  146. package/dist/utils/validate-json.d.ts.map +0 -1
  147. package/dist/utils/validate-json.js +0 -94
  148. package/dist/utils/validate-json.js.map +0 -1
  149. 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"}