codingbuddy 2.3.4 → 2.4.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 (53) hide show
  1. package/dist/src/config/config.schema.d.ts +11 -0
  2. package/dist/src/config/config.schema.js +7 -1
  3. package/dist/src/config/config.schema.js.map +1 -1
  4. package/dist/src/config/config.service.d.ts +4 -0
  5. package/dist/src/config/config.service.js +7 -0
  6. package/dist/src/config/config.service.js.map +1 -1
  7. package/dist/src/context/context-document.service.d.ts +24 -0
  8. package/dist/src/context/context-document.service.js +212 -0
  9. package/dist/src/context/context-document.service.js.map +1 -0
  10. package/dist/src/context/context-document.types.d.ts +89 -0
  11. package/dist/src/context/context-document.types.js +53 -0
  12. package/dist/src/context/context-document.types.js.map +1 -0
  13. package/dist/src/context/context-parser.utils.d.ts +10 -0
  14. package/dist/src/context/context-parser.utils.js +214 -0
  15. package/dist/src/context/context-parser.utils.js.map +1 -0
  16. package/dist/src/context/context-serializer.utils.d.ts +16 -0
  17. package/dist/src/context/context-serializer.utils.js +130 -0
  18. package/dist/src/context/context-serializer.utils.js.map +1 -0
  19. package/dist/src/context/context.module.js +5 -3
  20. package/dist/src/context/context.module.js.map +1 -1
  21. package/dist/src/keyword/keyword.module.js +5 -2
  22. package/dist/src/keyword/keyword.module.js.map +1 -1
  23. package/dist/src/keyword/keyword.service.js +19 -11
  24. package/dist/src/keyword/keyword.service.js.map +1 -1
  25. package/dist/src/keyword/primary-agent-resolver.d.ts +4 -0
  26. package/dist/src/keyword/primary-agent-resolver.js +80 -16
  27. package/dist/src/keyword/primary-agent-resolver.js.map +1 -1
  28. package/dist/src/mcp/handlers/context-document.handler.d.ts +13 -0
  29. package/dist/src/mcp/handlers/context-document.handler.js +232 -0
  30. package/dist/src/mcp/handlers/context-document.handler.js.map +1 -0
  31. package/dist/src/mcp/handlers/index.d.ts +1 -0
  32. package/dist/src/mcp/handlers/index.js +3 -1
  33. package/dist/src/mcp/handlers/index.js.map +1 -1
  34. package/dist/src/mcp/handlers/mode.handler.d.ts +6 -1
  35. package/dist/src/mcp/handlers/mode.handler.js +128 -14
  36. package/dist/src/mcp/handlers/mode.handler.js.map +1 -1
  37. package/dist/src/mcp/mcp.module.js +1 -0
  38. package/dist/src/mcp/mcp.module.js.map +1 -1
  39. package/dist/src/rules/rules.service.js +17 -1
  40. package/dist/src/rules/rules.service.js.map +1 -1
  41. package/dist/src/rules/rules.types.d.ts +7 -0
  42. package/dist/src/session/session.service.d.ts +2 -0
  43. package/dist/src/session/session.service.js +193 -57
  44. package/dist/src/session/session.service.js.map +1 -1
  45. package/dist/src/session/session.types.d.ts +11 -0
  46. package/dist/src/shared/async.utils.d.ts +12 -0
  47. package/dist/src/shared/async.utils.js +50 -0
  48. package/dist/src/shared/async.utils.js.map +1 -1
  49. package/dist/src/shared/slug.utils.d.ts +2 -0
  50. package/dist/src/shared/slug.utils.js +20 -0
  51. package/dist/src/shared/slug.utils.js.map +1 -0
  52. package/dist/tsconfig.build.tsbuildinfo +1 -1
  53. package/package.json +2 -2
@@ -134,10 +134,15 @@ export declare const TestStrategyConfigSchema: z.ZodObject<{
134
134
  export declare const AIConfigSchema: z.ZodObject<{
135
135
  defaultModel: z.ZodOptional<z.ZodString>;
136
136
  primaryAgent: z.ZodOptional<z.ZodString>;
137
+ excludeAgents: z.ZodOptional<z.ZodArray<z.ZodString>>;
137
138
  }, z.core.$strip>;
138
139
  export declare const AutoConfigSchema: z.ZodObject<{
139
140
  maxIterations: z.ZodDefault<z.ZodNumber>;
140
141
  }, z.core.$strip>;
142
+ export declare const ContextConfigSchema: z.ZodObject<{
143
+ maxArrayItems: z.ZodDefault<z.ZodNumber>;
144
+ maxItemLength: z.ZodDefault<z.ZodNumber>;
145
+ }, z.core.$strip>;
141
146
  export declare const CodingBuddyConfigSchema: z.ZodObject<{
142
147
  language: z.ZodOptional<z.ZodString>;
143
148
  projectName: z.ZodOptional<z.ZodString>;
@@ -236,10 +241,15 @@ export declare const CodingBuddyConfigSchema: z.ZodObject<{
236
241
  ai: z.ZodOptional<z.ZodObject<{
237
242
  defaultModel: z.ZodOptional<z.ZodString>;
238
243
  primaryAgent: z.ZodOptional<z.ZodString>;
244
+ excludeAgents: z.ZodOptional<z.ZodArray<z.ZodString>>;
239
245
  }, z.core.$strip>>;
240
246
  auto: z.ZodOptional<z.ZodObject<{
241
247
  maxIterations: z.ZodDefault<z.ZodNumber>;
242
248
  }, z.core.$strip>>;
249
+ context: z.ZodOptional<z.ZodObject<{
250
+ maxArrayItems: z.ZodDefault<z.ZodNumber>;
251
+ maxItemLength: z.ZodDefault<z.ZodNumber>;
252
+ }, z.core.$strip>>;
243
253
  keyFiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
244
254
  avoid: z.ZodOptional<z.ZodArray<z.ZodString>>;
245
255
  custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
@@ -253,6 +263,7 @@ export type ConventionsConfig = z.infer<typeof ConventionsConfigSchema>;
253
263
  export type TestStrategyConfig = z.infer<typeof TestStrategyConfigSchema>;
254
264
  export type AIConfig = z.infer<typeof AIConfigSchema>;
255
265
  export type AutoConfig = z.infer<typeof AutoConfigSchema>;
266
+ export type ContextConfig = z.infer<typeof ContextConfigSchema>;
256
267
  export type CodingBuddyConfig = z.infer<typeof CodingBuddyConfigSchema>;
257
268
  export interface ValidationResult {
258
269
  success: boolean;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CodingBuddyConfigSchema = exports.AutoConfigSchema = exports.AIConfigSchema = exports.TestStrategyConfigSchema = exports.ConventionsConfigSchema = exports.ArchitectureConfigSchema = exports.TechStackConfigSchema = exports.NamingConventionSchema = exports.ArchitectureLayerSchema = exports.TechDetailSchema = void 0;
3
+ exports.CodingBuddyConfigSchema = exports.ContextConfigSchema = exports.AutoConfigSchema = exports.AIConfigSchema = exports.TestStrategyConfigSchema = exports.ConventionsConfigSchema = exports.ArchitectureConfigSchema = exports.TechStackConfigSchema = exports.NamingConventionSchema = exports.ArchitectureLayerSchema = exports.TechDetailSchema = void 0;
4
4
  exports.validateConfig = validateConfig;
5
5
  exports.parseConfig = parseConfig;
6
6
  exports.isCodingBuddyConfig = isCodingBuddyConfig;
@@ -62,10 +62,15 @@ exports.TestStrategyConfigSchema = zod_1.z.object({
62
62
  exports.AIConfigSchema = zod_1.z.object({
63
63
  defaultModel: zod_1.z.string().optional(),
64
64
  primaryAgent: zod_1.z.string().optional(),
65
+ excludeAgents: zod_1.z.array(zod_1.z.string()).optional(),
65
66
  });
66
67
  exports.AutoConfigSchema = zod_1.z.object({
67
68
  maxIterations: zod_1.z.number().int().min(1).max(10).default(3),
68
69
  });
70
+ exports.ContextConfigSchema = zod_1.z.object({
71
+ maxArrayItems: zod_1.z.number().int().min(10).max(1000).default(100),
72
+ maxItemLength: zod_1.z.number().int().min(100).max(10000).default(2000),
73
+ });
69
74
  exports.CodingBuddyConfigSchema = zod_1.z.object({
70
75
  language: zod_1.z.string().optional(),
71
76
  projectName: zod_1.z.string().optional(),
@@ -77,6 +82,7 @@ exports.CodingBuddyConfigSchema = zod_1.z.object({
77
82
  testStrategy: exports.TestStrategyConfigSchema.optional(),
78
83
  ai: exports.AIConfigSchema.optional(),
79
84
  auto: exports.AutoConfigSchema.optional(),
85
+ context: exports.ContextConfigSchema.optional(),
80
86
  keyFiles: zod_1.z.array(zod_1.z.string()).optional(),
81
87
  avoid: zod_1.z.array(zod_1.z.string()).optional(),
82
88
  custom: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"config.schema.js","sourceRoot":"","sources":["../../../src/config/config.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.schema.js","sourceRoot":"","sources":["../../../src/config/config.schema.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,10 @@ export declare class ConfigService implements OnModuleInit {
30
30
  getContextFiles(): Promise<ContextFile[]>;
31
31
  getFormattedContext(): Promise<string>;
32
32
  getLanguage(): Promise<string | undefined>;
33
+ getContextLimits(): Promise<{
34
+ maxArrayItems: number;
35
+ maxItemLength: number;
36
+ }>;
33
37
  reload(): Promise<ProjectConfig>;
34
38
  isConfigLoaded(): boolean;
35
39
  }
@@ -169,6 +169,13 @@ let ConfigService = ConfigService_1 = class ConfigService {
169
169
  const settings = await this.getSettings();
170
170
  return settings.language;
171
171
  }
172
+ async getContextLimits() {
173
+ const settings = await this.getSettings();
174
+ return {
175
+ maxArrayItems: settings.context?.maxArrayItems ?? 100,
176
+ maxItemLength: settings.context?.maxItemLength ?? 2000,
177
+ };
178
+ }
172
179
  async reload() {
173
180
  this.isLoaded = false;
174
181
  this.projectConfig = null;
@@ -1 +1 @@
1
- {"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../../src/config/config.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../../src/config/config.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { Mode } from '../keyword/keyword.types';
2
+ import type { ResetContextData, AppendContextData, ContextOperationResult, ContextReadResult } from './context-document.types';
3
+ import { ConfigService } from '../config/config.service';
4
+ export declare class ContextDocumentService {
5
+ private readonly configService;
6
+ private readonly logger;
7
+ constructor(configService: ConfigService);
8
+ private handleContextError;
9
+ private getContextPath;
10
+ private getContextLimits;
11
+ private ensureContextDir;
12
+ contextExists(): Promise<boolean>;
13
+ readContext(): Promise<ContextReadResult>;
14
+ resetContext(data: ResetContextData): Promise<ContextOperationResult>;
15
+ appendContext(data: AppendContextData): Promise<ContextOperationResult>;
16
+ updateContext(mode: Mode, data: Omit<ResetContextData, 'title'> & {
17
+ title?: string;
18
+ }): Promise<ContextOperationResult>;
19
+ getRecommendedActAgent(): Promise<{
20
+ agent: string;
21
+ confidence: number;
22
+ } | null>;
23
+ getContextFilePath(): string;
24
+ }
@@ -0,0 +1,212 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var ContextDocumentService_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.ContextDocumentService = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const fs = require("fs/promises");
16
+ const fs_1 = require("fs");
17
+ const path = require("path");
18
+ const context_document_types_1 = require("./context-document.types");
19
+ const context_parser_utils_1 = require("./context-parser.utils");
20
+ const context_serializer_utils_1 = require("./context-serializer.utils");
21
+ const config_service_1 = require("../config/config.service");
22
+ const async_utils_1 = require("../shared/async.utils");
23
+ let ContextDocumentService = ContextDocumentService_1 = class ContextDocumentService {
24
+ constructor(configService) {
25
+ this.configService = configService;
26
+ this.logger = new common_1.Logger(ContextDocumentService_1.name);
27
+ }
28
+ handleContextError(error, operation) {
29
+ const message = error instanceof Error ? error.message : 'Unknown error';
30
+ this.logger.error(`Failed to ${operation}: ${message}`);
31
+ return {
32
+ success: false,
33
+ error: message,
34
+ };
35
+ }
36
+ getContextPath() {
37
+ const projectRoot = this.configService.getProjectRoot();
38
+ return path.join(projectRoot, context_document_types_1.CONTEXT_FILE_PATH);
39
+ }
40
+ async getContextLimits() {
41
+ try {
42
+ return await this.configService.getContextLimits();
43
+ }
44
+ catch {
45
+ return context_document_types_1.DEFAULT_CONTEXT_LIMITS;
46
+ }
47
+ }
48
+ ensureContextDir() {
49
+ const contextPath = this.getContextPath();
50
+ const contextDir = path.dirname(contextPath);
51
+ if (!(0, fs_1.existsSync)(contextDir)) {
52
+ (0, fs_1.mkdirSync)(contextDir, { recursive: true });
53
+ this.logger.log(`Created context directory: ${contextDir}`);
54
+ }
55
+ }
56
+ async contextExists() {
57
+ const contextPath = this.getContextPath();
58
+ return (0, fs_1.existsSync)(contextPath);
59
+ }
60
+ async readContext() {
61
+ try {
62
+ const contextPath = this.getContextPath();
63
+ if (!(0, fs_1.existsSync)(contextPath)) {
64
+ this.logger.debug('Context document does not exist');
65
+ return { exists: false };
66
+ }
67
+ const content = await (0, async_utils_1.withTimeout)(fs.readFile(contextPath, 'utf-8'), {
68
+ timeoutMs: context_document_types_1.CONTEXT_FILE_TIMEOUT_MS,
69
+ operationName: 'read context file',
70
+ });
71
+ const document = (0, context_parser_utils_1.parseContextDocument)(content);
72
+ return {
73
+ exists: true,
74
+ document,
75
+ };
76
+ }
77
+ catch (error) {
78
+ const result = this.handleContextError(error, 'read context');
79
+ return {
80
+ exists: false,
81
+ error: result.error,
82
+ };
83
+ }
84
+ }
85
+ async resetContext(data) {
86
+ try {
87
+ this.ensureContextDir();
88
+ const contextPath = this.getContextPath();
89
+ const timestamp = (0, context_serializer_utils_1.generateTimestamp)();
90
+ const limits = await this.getContextLimits();
91
+ const planSection = (0, context_serializer_utils_1.createPlanSection)({
92
+ task: data.task,
93
+ primaryAgent: data.primaryAgent,
94
+ recommendedActAgent: data.recommendedActAgent,
95
+ recommendedActAgentConfidence: data.recommendedActAgentConfidence,
96
+ decisions: (0, context_document_types_1.truncateArray)(data.decisions, limits),
97
+ notes: (0, context_document_types_1.truncateArray)(data.notes, limits),
98
+ }, timestamp);
99
+ const isoTimestamp = new Date().toISOString();
100
+ const document = (0, context_serializer_utils_1.createNewContextDocument)(data.title, planSection, isoTimestamp);
101
+ const content = (0, context_serializer_utils_1.serializeContextDocument)(document);
102
+ await (0, async_utils_1.withTimeout)(fs.writeFile(contextPath, content, 'utf-8'), {
103
+ timeoutMs: context_document_types_1.CONTEXT_FILE_TIMEOUT_MS,
104
+ operationName: 'write context file',
105
+ });
106
+ this.logger.log(`Reset context document: ${context_document_types_1.CONTEXT_FILE_PATH}`);
107
+ return {
108
+ success: true,
109
+ filePath: contextPath,
110
+ message: 'Context document reset successfully',
111
+ document,
112
+ };
113
+ }
114
+ catch (error) {
115
+ return this.handleContextError(error, 'reset context');
116
+ }
117
+ }
118
+ async appendContext(data) {
119
+ try {
120
+ const readResult = await this.readContext();
121
+ if (!readResult.exists || !readResult.document) {
122
+ return {
123
+ success: false,
124
+ error: 'No context document found. Run PLAN mode first to create context.',
125
+ };
126
+ }
127
+ const document = readResult.document;
128
+ const contextPath = this.getContextPath();
129
+ const timestamp = (0, context_serializer_utils_1.generateTimestamp)();
130
+ const limits = await this.getContextLimits();
131
+ const existingIndex = document.sections.findIndex(s => s.mode === data.mode);
132
+ const newSection = {
133
+ mode: data.mode,
134
+ timestamp,
135
+ task: data.task,
136
+ primaryAgent: data.primaryAgent,
137
+ decisions: (0, context_document_types_1.truncateArray)(data.decisions, limits),
138
+ notes: (0, context_document_types_1.truncateArray)(data.notes, limits),
139
+ progress: (0, context_document_types_1.truncateArray)(data.progress, limits),
140
+ findings: (0, context_document_types_1.truncateArray)(data.findings, limits),
141
+ recommendations: (0, context_document_types_1.truncateArray)(data.recommendations, limits),
142
+ status: data.status,
143
+ };
144
+ if (existingIndex >= 0) {
145
+ document.sections[existingIndex] = (0, context_serializer_utils_1.mergeSection)(document.sections[existingIndex], newSection, timestamp);
146
+ }
147
+ else {
148
+ document.sections.push(newSection);
149
+ }
150
+ document.metadata.lastUpdatedAt = new Date().toISOString();
151
+ document.metadata.currentMode = data.mode;
152
+ const content = (0, context_serializer_utils_1.serializeContextDocument)(document);
153
+ await (0, async_utils_1.withTimeout)(fs.writeFile(contextPath, content, 'utf-8'), {
154
+ timeoutMs: context_document_types_1.CONTEXT_FILE_TIMEOUT_MS,
155
+ operationName: 'write context file',
156
+ });
157
+ this.logger.log(`Appended ${data.mode} section to context document`);
158
+ return {
159
+ success: true,
160
+ filePath: contextPath,
161
+ message: `${data.mode} section appended successfully`,
162
+ document,
163
+ };
164
+ }
165
+ catch (error) {
166
+ return this.handleContextError(error, 'append context');
167
+ }
168
+ }
169
+ async updateContext(mode, data) {
170
+ if (mode === 'PLAN') {
171
+ return this.resetContext({
172
+ title: data.title || 'Untitled Task',
173
+ task: data.task,
174
+ primaryAgent: data.primaryAgent,
175
+ recommendedActAgent: data.recommendedActAgent,
176
+ recommendedActAgentConfidence: data.recommendedActAgentConfidence,
177
+ decisions: data.decisions,
178
+ notes: data.notes,
179
+ });
180
+ }
181
+ return this.appendContext({
182
+ mode,
183
+ task: data.task,
184
+ primaryAgent: data.primaryAgent,
185
+ decisions: data.decisions,
186
+ notes: data.notes,
187
+ });
188
+ }
189
+ async getRecommendedActAgent() {
190
+ const readResult = await this.readContext();
191
+ if (!readResult.exists || !readResult.document) {
192
+ return null;
193
+ }
194
+ const planSection = readResult.document.sections.find(s => s.mode === 'PLAN');
195
+ if (planSection?.recommendedActAgent) {
196
+ return {
197
+ agent: planSection.recommendedActAgent,
198
+ confidence: planSection.recommendedActAgentConfidence || 0,
199
+ };
200
+ }
201
+ return null;
202
+ }
203
+ getContextFilePath() {
204
+ return context_document_types_1.CONTEXT_FILE_PATH;
205
+ }
206
+ };
207
+ exports.ContextDocumentService = ContextDocumentService;
208
+ exports.ContextDocumentService = ContextDocumentService = ContextDocumentService_1 = __decorate([
209
+ (0, common_1.Injectable)(),
210
+ __metadata("design:paramtypes", [config_service_1.ConfigService])
211
+ ], ContextDocumentService);
212
+ //# sourceMappingURL=context-document.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-document.service.js","sourceRoot":"","sources":["../../../src/context/context-document.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ import type { Mode } from '../keyword/keyword.types';
2
+ export declare const CONTEXT_FILE_PATH = "docs/codingbuddy/context.md";
3
+ export declare const CONTEXT_FILE_TIMEOUT_MS = 5000;
4
+ export declare const MAX_CONTEXT_ARRAY_ITEMS = 100;
5
+ export declare const MAX_CONTEXT_ITEM_LENGTH = 2000;
6
+ export interface ContextMetadata {
7
+ title: string;
8
+ createdAt: string;
9
+ lastUpdatedAt: string;
10
+ currentMode: Mode;
11
+ status: 'active' | 'completed';
12
+ }
13
+ export interface ContextSection {
14
+ mode: Mode;
15
+ timestamp: string;
16
+ task?: string;
17
+ decisions?: string[];
18
+ notes?: string[];
19
+ primaryAgent?: string;
20
+ recommendedActAgent?: string;
21
+ recommendedActAgentConfidence?: number;
22
+ progress?: string[];
23
+ findings?: string[];
24
+ recommendations?: string[];
25
+ status?: 'in_progress' | 'completed' | 'blocked';
26
+ }
27
+ export interface ContextDocument {
28
+ metadata: ContextMetadata;
29
+ sections: ContextSection[];
30
+ }
31
+ export interface ResetContextData {
32
+ title: string;
33
+ task?: string;
34
+ primaryAgent?: string;
35
+ recommendedActAgent?: string;
36
+ recommendedActAgentConfidence?: number;
37
+ decisions?: string[];
38
+ notes?: string[];
39
+ }
40
+ export interface AppendContextData {
41
+ mode: Mode;
42
+ task?: string;
43
+ primaryAgent?: string;
44
+ decisions?: string[];
45
+ notes?: string[];
46
+ progress?: string[];
47
+ findings?: string[];
48
+ recommendations?: string[];
49
+ status?: 'in_progress' | 'completed' | 'blocked';
50
+ }
51
+ export interface ContextOperationResult {
52
+ success: boolean;
53
+ filePath?: string;
54
+ message?: string;
55
+ error?: string;
56
+ document?: ContextDocument;
57
+ }
58
+ export interface ContextReadResult {
59
+ exists: boolean;
60
+ document?: ContextDocument;
61
+ error?: string;
62
+ }
63
+ export declare const CONTEXT_MARKDOWN: {
64
+ readonly CONTEXT_HEADER: "# Context:";
65
+ readonly CREATED_PREFIX: "**Created**:";
66
+ readonly UPDATED_PREFIX: "**Updated**:";
67
+ readonly MODE_PREFIX: "**Current Mode**:";
68
+ readonly STATUS_PREFIX: "**Status**:";
69
+ readonly SECTION_SEPARATOR: "---";
70
+ readonly TASK_HEADER: "### Task";
71
+ readonly DECISIONS_HEADER: "### Decisions";
72
+ readonly NOTES_HEADER: "### Notes";
73
+ readonly PROGRESS_HEADER: "### Progress";
74
+ readonly FINDINGS_HEADER: "### Findings";
75
+ readonly RECOMMENDATIONS_HEADER: "### Recommendations";
76
+ readonly PRIMARY_AGENT_PREFIX: "**Primary Agent**:";
77
+ readonly RECOMMENDED_ACT_AGENT_PREFIX: "**Recommended ACT Agent**:";
78
+ };
79
+ export declare const CONTEXT_SECTION_HEADER_PATTERN: RegExp;
80
+ export declare const VALID_CONTEXT_STATUSES: readonly ["active", "completed"];
81
+ export declare const VALID_SECTION_STATUSES: readonly ["in_progress", "completed", "blocked"];
82
+ export declare function isValidContextStatus(value: string): value is ContextMetadata['status'];
83
+ export declare function isValidSectionStatus(value: string): value is NonNullable<ContextSection['status']>;
84
+ export interface ContextLimits {
85
+ maxArrayItems: number;
86
+ maxItemLength: number;
87
+ }
88
+ export declare const DEFAULT_CONTEXT_LIMITS: ContextLimits;
89
+ export declare function truncateArray(items: string[] | undefined, limits?: ContextLimits): string[] | undefined;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_CONTEXT_LIMITS = exports.VALID_SECTION_STATUSES = exports.VALID_CONTEXT_STATUSES = exports.CONTEXT_SECTION_HEADER_PATTERN = exports.CONTEXT_MARKDOWN = exports.MAX_CONTEXT_ITEM_LENGTH = exports.MAX_CONTEXT_ARRAY_ITEMS = exports.CONTEXT_FILE_TIMEOUT_MS = exports.CONTEXT_FILE_PATH = void 0;
4
+ exports.isValidContextStatus = isValidContextStatus;
5
+ exports.isValidSectionStatus = isValidSectionStatus;
6
+ exports.truncateArray = truncateArray;
7
+ exports.CONTEXT_FILE_PATH = 'docs/codingbuddy/context.md';
8
+ exports.CONTEXT_FILE_TIMEOUT_MS = 5000;
9
+ exports.MAX_CONTEXT_ARRAY_ITEMS = 100;
10
+ exports.MAX_CONTEXT_ITEM_LENGTH = 2000;
11
+ exports.CONTEXT_MARKDOWN = {
12
+ CONTEXT_HEADER: '# Context:',
13
+ CREATED_PREFIX: '**Created**:',
14
+ UPDATED_PREFIX: '**Updated**:',
15
+ MODE_PREFIX: '**Current Mode**:',
16
+ STATUS_PREFIX: '**Status**:',
17
+ SECTION_SEPARATOR: '---',
18
+ TASK_HEADER: '### Task',
19
+ DECISIONS_HEADER: '### Decisions',
20
+ NOTES_HEADER: '### Notes',
21
+ PROGRESS_HEADER: '### Progress',
22
+ FINDINGS_HEADER: '### Findings',
23
+ RECOMMENDATIONS_HEADER: '### Recommendations',
24
+ PRIMARY_AGENT_PREFIX: '**Primary Agent**:',
25
+ RECOMMENDED_ACT_AGENT_PREFIX: '**Recommended ACT Agent**:',
26
+ };
27
+ exports.CONTEXT_SECTION_HEADER_PATTERN = /^## (PLAN|ACT|EVAL|AUTO) \((.+)\)$/;
28
+ exports.VALID_CONTEXT_STATUSES = ['active', 'completed'];
29
+ exports.VALID_SECTION_STATUSES = [
30
+ 'in_progress',
31
+ 'completed',
32
+ 'blocked',
33
+ ];
34
+ function isValidContextStatus(value) {
35
+ return exports.VALID_CONTEXT_STATUSES.includes(value);
36
+ }
37
+ function isValidSectionStatus(value) {
38
+ return exports.VALID_SECTION_STATUSES.includes(value);
39
+ }
40
+ exports.DEFAULT_CONTEXT_LIMITS = {
41
+ maxArrayItems: exports.MAX_CONTEXT_ARRAY_ITEMS,
42
+ maxItemLength: exports.MAX_CONTEXT_ITEM_LENGTH,
43
+ };
44
+ function truncateArray(items, limits = exports.DEFAULT_CONTEXT_LIMITS) {
45
+ if (!items)
46
+ return undefined;
47
+ return items
48
+ .slice(0, limits.maxArrayItems)
49
+ .map(item => item.length > limits.maxItemLength
50
+ ? item.substring(0, limits.maxItemLength)
51
+ : item);
52
+ }
53
+ //# sourceMappingURL=context-document.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-document.types.js","sourceRoot":"","sources":["../../../src/context/context-document.types.ts"],"names":[],"mappings":";;;AAmMA,oDAIC;AAKD,oDAMC;AA4BD,sCAYC;AApPY,QAAA,iBAAiB,GAAG,6BAA6B,CAAC;AAKlD,QAAA,uBAAuB,GAAG,IAAI,CAAC;AAM/B,QAAA,uBAAuB,GAAG,GAAG,CAAC;AAM9B,QAAA,uBAAuB,GAAG,IAAI,CAAC;AAwI/B,QAAA,gBAAgB,GAAG;IAC9B,cAAc,EAAE,YAAY;IAC5B,cAAc,EAAE,cAAc;IAC9B,cAAc,EAAE,cAAc;IAC9B,WAAW,EAAE,mBAAmB;IAChC,aAAa,EAAE,aAAa;IAC5B,iBAAiB,EAAE,KAAK;IACxB,WAAW,EAAE,UAAU;IACvB,gBAAgB,EAAE,eAAe;IACjC,YAAY,EAAE,WAAW;IACzB,eAAe,EAAE,cAAc;IAC/B,eAAe,EAAE,cAAc;IAC/B,sBAAsB,EAAE,qBAAqB;IAC7C,oBAAoB,EAAE,oBAAoB;IAC1C,4BAA4B,EAAE,4BAA4B;CAClD,CAAC;AAKE,QAAA,8BAA8B,GACzC,oCAAoC,CAAC;AAK1B,QAAA,sBAAsB,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAU,CAAC;AAC1D,QAAA,sBAAsB,GAAG;IACpC,aAAa;IACb,WAAW;IACX,SAAS;CACD,CAAC;AAKX,SAAgB,oBAAoB,CAClC,KAAa;IAEb,OAAO,8BAAsB,CAAC,QAAQ,CAAC,KAAkC,CAAC,CAAC;AAC7E,CAAC;AAKD,SAAgB,oBAAoB,CAClC,KAAa;IAEb,OAAO,8BAAsB,CAAC,QAAQ,CACpC,KAA8C,CAC/C,CAAC;AACJ,CAAC;AAeY,QAAA,sBAAsB,GAAkB;IACnD,aAAa,EAAE,+BAAuB;IACtC,aAAa,EAAE,+BAAuB;CACvC,CAAC;AAUF,SAAgB,aAAa,CAC3B,KAA2B,EAC3B,SAAwB,8BAAsB;IAE9C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,KAAK;SACT,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC;SAC9B,GAAG,CAAC,IAAI,CAAC,EAAE,CACV,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,aAAa;QAChC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC;QACzC,CAAC,CAAC,IAAI,CACT,CAAC;AACN,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Mode } from '../keyword/keyword.types';
2
+ import type { ContextDocument, ContextSection } from './context-document.types';
3
+ export declare function parseContextDocument(content: string): ContextDocument;
4
+ export declare function extractRecommendedActAgent(document: ContextDocument): {
5
+ agent: string;
6
+ confidence: number;
7
+ } | null;
8
+ export declare function getAllDecisions(document: ContextDocument): string[];
9
+ export declare function getAllNotes(document: ContextDocument): string[];
10
+ export declare function findSectionByMode(document: ContextDocument, mode: Mode): ContextSection | undefined;