jumbo-cli 2.1.0 → 2.2.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/application/context/project/init/IAgentFileProtocol.d.ts +33 -9
- package/dist/application/context/project/init/IAgentFileProtocol.d.ts.map +1 -1
- package/dist/application/context/project/init/IAgentFileProtocol.js +2 -1
- package/dist/application/context/project/init/IAgentFileProtocol.js.map +1 -1
- package/dist/application/context/project/init/LocalInitializeProjectGateway.d.ts +3 -1
- package/dist/application/context/project/init/LocalInitializeProjectGateway.d.ts.map +1 -1
- package/dist/application/context/project/init/LocalInitializeProjectGateway.js +4 -1
- package/dist/application/context/project/init/LocalInitializeProjectGateway.js.map +1 -1
- package/dist/application/evolve/EvolveController.d.ts.map +1 -1
- package/dist/application/evolve/EvolveController.js +3 -0
- package/dist/application/evolve/EvolveController.js.map +1 -1
- package/dist/domain/project/AgentFileReferenceContent.d.ts +11 -10
- package/dist/domain/project/AgentFileReferenceContent.d.ts.map +1 -1
- package/dist/domain/project/AgentFileReferenceContent.js +17 -31
- package/dist/domain/project/AgentFileReferenceContent.js.map +1 -1
- package/dist/domain/project/AgentsMdContent.d.ts +4 -3
- package/dist/domain/project/AgentsMdContent.d.ts.map +1 -1
- package/dist/domain/project/AgentsMdContent.js +6 -74
- package/dist/domain/project/AgentsMdContent.js.map +1 -1
- package/dist/domain/project/CopilotInstructionsContent.d.ts +11 -6
- package/dist/domain/project/CopilotInstructionsContent.d.ts.map +1 -1
- package/dist/domain/project/CopilotInstructionsContent.js +35 -48
- package/dist/domain/project/CopilotInstructionsContent.js.map +1 -1
- package/dist/domain/project/JumboMdContent.d.ts +45 -0
- package/dist/domain/project/JumboMdContent.d.ts.map +1 -0
- package/dist/domain/project/JumboMdContent.js +157 -0
- package/dist/domain/project/JumboMdContent.js.map +1 -0
- package/dist/infrastructure/context/project/init/AgentFileProtocol.d.ts +10 -2
- package/dist/infrastructure/context/project/init/AgentFileProtocol.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/AgentFileProtocol.js +60 -10
- package/dist/infrastructure/context/project/init/AgentFileProtocol.js.map +1 -1
- package/dist/infrastructure/context/project/init/ClaudeConfigurer.d.ts +3 -3
- package/dist/infrastructure/context/project/init/ClaudeConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/ClaudeConfigurer.js +13 -14
- package/dist/infrastructure/context/project/init/ClaudeConfigurer.js.map +1 -1
- package/dist/infrastructure/context/project/init/CopilotConfigurer.d.ts +2 -2
- package/dist/infrastructure/context/project/init/CopilotConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/CopilotConfigurer.js +16 -8
- package/dist/infrastructure/context/project/init/CopilotConfigurer.js.map +1 -1
- package/dist/infrastructure/context/project/init/GeminiConfigurer.d.ts +3 -3
- package/dist/infrastructure/context/project/init/GeminiConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/GeminiConfigurer.js +13 -14
- package/dist/infrastructure/context/project/init/GeminiConfigurer.js.map +1 -1
- package/dist/infrastructure/host/HostBuilder.d.ts.map +1 -1
- package/dist/infrastructure/host/HostBuilder.js +1 -1
- package/dist/infrastructure/host/HostBuilder.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Domain Value Object: Copilot Instructions Content
|
|
4
4
|
*
|
|
5
|
-
* Codifies the
|
|
5
|
+
* Codifies the thin reference content for copilot-instructions.md
|
|
6
|
+
* that directs agents to read JUMBO.md on startup.
|
|
6
7
|
* Handles content generation, section marker detection, and section replacement.
|
|
7
8
|
*
|
|
8
9
|
* Rationale: Codified in domain rather than template file to support
|
|
@@ -12,76 +13,62 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
13
|
exports.CopilotInstructionsContent = void 0;
|
|
13
14
|
class CopilotInstructionsContent {
|
|
14
15
|
/**
|
|
15
|
-
* Generate
|
|
16
|
+
* Generate thin reference content for copilot-instructions.md
|
|
16
17
|
*/
|
|
17
18
|
static getCopilotInstructions() {
|
|
18
|
-
return
|
|
19
|
+
return `# copilot-instructions.md
|
|
19
20
|
|
|
20
|
-
|
|
21
|
+
## Instructions for Agents on how to collaborate with Jumbo
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
run Jumbo commands to load project context.
|
|
24
|
-
|
|
25
|
-
### MANDATORY FIRST ACTION
|
|
26
|
-
|
|
27
|
-
**Run \`jumbo session start\` at the beginning of each session.**
|
|
28
|
-
|
|
29
|
-
This loads orientation context including:
|
|
30
|
-
- Recent completed work and session state
|
|
31
|
-
- Planned goals and their success criteria
|
|
32
|
-
- Active architectural decisions
|
|
33
|
-
- System invariants and guidelines
|
|
34
|
-
- Project context and domain knowledge
|
|
35
|
-
|
|
36
|
-
### Working with Jumbo
|
|
37
|
-
|
|
38
|
-
1. **Start each session**: Run \`jumbo session start\` to load orientation context
|
|
39
|
-
2. **Start a goal**: Before working on a task, run \`jumbo goal start --id <id>\` to load goal-specific context
|
|
40
|
-
3. **Capture memories**: As you work, run jumbo commands to capture project knowledge:
|
|
41
|
-
- \`jumbo component add\` - Track architectural components
|
|
42
|
-
- \`jumbo decision add\` - Record architectural decisions (ADRs)
|
|
43
|
-
- \`jumbo guideline add\` - Capture coding standards and preferences
|
|
44
|
-
- \`jumbo invariant add\` - Document non-negotiable constraints
|
|
45
|
-
- \`jumbo relation add\` - Link related entities
|
|
46
|
-
|
|
47
|
-
### Available Commands
|
|
48
|
-
|
|
49
|
-
Run \`jumbo --help\` to see all available commands.
|
|
50
|
-
|
|
51
|
-
### Learn More
|
|
52
|
-
|
|
53
|
-
See AGENTS.md for complete instructions on using Jumbo.
|
|
54
|
-
|
|
55
|
-
Run \`jumbo capabilities\` to learn about Jumbo's workflow and philosophy.
|
|
23
|
+
See ../JUMBO.md and follow all instructions. If the file does not exist, then ignore this instruction.
|
|
56
24
|
`;
|
|
57
25
|
}
|
|
58
26
|
/**
|
|
59
27
|
* Marker used to detect if Jumbo section already exists in copilot-instructions.md
|
|
60
28
|
*/
|
|
61
29
|
static getCopilotSectionMarker() {
|
|
30
|
+
return "## Instructions for Agents on how to collaborate with Jumbo";
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Legacy marker from the previous verbose Copilot instructions.
|
|
34
|
+
*/
|
|
35
|
+
static getLegacyCopilotSectionMarker() {
|
|
62
36
|
return "## Jumbo Context Management";
|
|
63
37
|
}
|
|
64
38
|
/**
|
|
65
|
-
* Replace the Copilot section in copilot-instructions.md with the current
|
|
66
|
-
* Finds
|
|
67
|
-
* to the next "## " heading (or EOF) with current
|
|
39
|
+
* Replace the Copilot section in copilot-instructions.md with the current thin reference.
|
|
40
|
+
* Finds current or legacy section marker and replaces everything from there
|
|
41
|
+
* to the next "## " heading (or EOF) with current thin reference section.
|
|
68
42
|
*
|
|
69
|
-
* @returns Updated content, or null if marker
|
|
43
|
+
* @returns Updated content, or null if no marker found
|
|
70
44
|
*/
|
|
71
45
|
static replaceCopilotSection(existingContent) {
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
46
|
+
const allMarkers = [this.getCopilotSectionMarker(), this.getLegacyCopilotSectionMarker()];
|
|
47
|
+
let matchedMarker = null;
|
|
48
|
+
let markerIndex = -1;
|
|
49
|
+
for (const marker of allMarkers) {
|
|
50
|
+
const index = existingContent.indexOf(marker);
|
|
51
|
+
if (index !== -1) {
|
|
52
|
+
matchedMarker = marker;
|
|
53
|
+
markerIndex = index;
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (matchedMarker === null || markerIndex === -1)
|
|
75
58
|
return null;
|
|
76
59
|
// Find the next ## heading after the marker (or EOF)
|
|
77
|
-
const afterMarker = existingContent.substring(markerIndex +
|
|
60
|
+
const afterMarker = existingContent.substring(markerIndex + matchedMarker.length);
|
|
78
61
|
const nextHeadingMatch = afterMarker.match(/\n## /);
|
|
79
62
|
const endIndex = nextHeadingMatch
|
|
80
|
-
? markerIndex +
|
|
63
|
+
? markerIndex + matchedMarker.length + nextHeadingMatch.index
|
|
81
64
|
: existingContent.length;
|
|
82
65
|
const before = existingContent.substring(0, markerIndex);
|
|
83
66
|
const after = existingContent.substring(endIndex);
|
|
84
|
-
|
|
67
|
+
const sectionContent = `## Instructions for Agents on how to collaborate with Jumbo
|
|
68
|
+
|
|
69
|
+
See ../JUMBO.md and follow all instructions. If the file does not exist, then ignore this instruction.
|
|
70
|
+
`;
|
|
71
|
+
return before + sectionContent + after;
|
|
85
72
|
}
|
|
86
73
|
}
|
|
87
74
|
exports.CopilotInstructionsContent = CopilotInstructionsContent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopilotInstructionsContent.js","sourceRoot":"","sources":["../../../src/domain/project/CopilotInstructionsContent.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"CopilotInstructionsContent.js","sourceRoot":"","sources":["../../../src/domain/project/CopilotInstructionsContent.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,MAAa,0BAA0B;IACrC;;OAEG;IACH,MAAM,CAAC,sBAAsB;QAC3B,OAAO;;;;;CAKV,CAAC;IACA,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,uBAAuB;QAC5B,OAAO,6DAA6D,CAAC;IACvE,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,6BAA6B;QAC1C,OAAO,6BAA6B,CAAC;IACvC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,qBAAqB,CAAC,eAAuB;QAClD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,IAAI,CAAC,6BAA6B,EAAE,CAAC,CAAC;QAE1F,IAAI,aAAa,GAAkB,IAAI,CAAC;QACxC,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;QAErB,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,aAAa,GAAG,MAAM,CAAC;gBACvB,WAAW,GAAG,KAAK,CAAC;gBACpB,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,aAAa,KAAK,IAAI,IAAI,WAAW,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAE9D,qDAAqD;QACrD,MAAM,WAAW,GAAG,eAAe,CAAC,SAAS,CAAC,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAClF,MAAM,gBAAgB,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,gBAAgB;YAC/B,CAAC,CAAC,WAAW,GAAG,aAAa,CAAC,MAAM,GAAG,gBAAgB,CAAC,KAAM;YAC9D,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC;QAE3B,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAElD,MAAM,cAAc,GAAG;;;CAG1B,CAAC;QAEE,OAAO,MAAM,GAAG,cAAc,GAAG,KAAK,CAAC;IACzC,CAAC;CACF;AApED,gEAoEC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Domain Value Object: JUMBO.md Content
|
|
3
|
+
*
|
|
4
|
+
* Codifies the centralized Jumbo instructions for JUMBO.md, which
|
|
5
|
+
* serves as the single source of truth for agent onboarding.
|
|
6
|
+
* All other agent files (AGENTS.md, CLAUDE.md, GEMINI.md,
|
|
7
|
+
* copilot-instructions.md) are thin references pointing here.
|
|
8
|
+
*
|
|
9
|
+
* Handles content generation, section marker management, and
|
|
10
|
+
* section replacement for both current and legacy markers.
|
|
11
|
+
*
|
|
12
|
+
* Rationale: Codified in domain rather than template file to support
|
|
13
|
+
* npm distribution (no file copying during build).
|
|
14
|
+
*/
|
|
15
|
+
export declare class JumboMdContent {
|
|
16
|
+
/**
|
|
17
|
+
* Generate the Jumbo instructions section for JUMBO.md
|
|
18
|
+
*/
|
|
19
|
+
static getJumboSection(): string;
|
|
20
|
+
/**
|
|
21
|
+
* Generate complete JUMBO.md file content
|
|
22
|
+
*/
|
|
23
|
+
static getFullContent(): string;
|
|
24
|
+
/**
|
|
25
|
+
* The current section heading extracted from getJumboSection().
|
|
26
|
+
*/
|
|
27
|
+
static getCurrentSectionMarker(): string;
|
|
28
|
+
/**
|
|
29
|
+
* All historically used section headings for the Jumbo section.
|
|
30
|
+
* Carried over from AgentsMdContent legacy markers.
|
|
31
|
+
* When the current heading changes, add the previous heading here
|
|
32
|
+
* so that repair/init can find and replace old installations.
|
|
33
|
+
*/
|
|
34
|
+
static getLegacySectionMarkers(): string[];
|
|
35
|
+
/**
|
|
36
|
+
* Replace the Jumbo section in JUMBO.md with the current version.
|
|
37
|
+
* Checks the current marker and all legacy markers to find the section,
|
|
38
|
+
* then replaces everything from the matched marker to the next "## " heading
|
|
39
|
+
* (or EOF) with current getJumboSection().
|
|
40
|
+
*
|
|
41
|
+
* @returns Updated content, or null if no marker found
|
|
42
|
+
*/
|
|
43
|
+
static replaceJumboSection(existingContent: string): string | null;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=JumboMdContent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JumboMdContent.d.ts","sourceRoot":"","sources":["../../../src/domain/project/JumboMdContent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,qBAAa,cAAc;IACzB;;OAEG;IACH,MAAM,CAAC,eAAe,IAAI,MAAM;IA6EhC;;OAEG;IACH,MAAM,CAAC,cAAc,IAAI,MAAM;IAM/B;;OAEG;IACH,MAAM,CAAC,uBAAuB,IAAI,MAAM;IAIxC;;;;;OAKG;IACH,MAAM,CAAC,uBAAuB,IAAI,MAAM,EAAE;IAM1C;;;;;;;OAOG;IACH,MAAM,CAAC,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CA6BnE"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Domain Value Object: JUMBO.md Content
|
|
4
|
+
*
|
|
5
|
+
* Codifies the centralized Jumbo instructions for JUMBO.md, which
|
|
6
|
+
* serves as the single source of truth for agent onboarding.
|
|
7
|
+
* All other agent files (AGENTS.md, CLAUDE.md, GEMINI.md,
|
|
8
|
+
* copilot-instructions.md) are thin references pointing here.
|
|
9
|
+
*
|
|
10
|
+
* Handles content generation, section marker management, and
|
|
11
|
+
* section replacement for both current and legacy markers.
|
|
12
|
+
*
|
|
13
|
+
* Rationale: Codified in domain rather than template file to support
|
|
14
|
+
* npm distribution (no file copying during build).
|
|
15
|
+
*/
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.JumboMdContent = void 0;
|
|
18
|
+
class JumboMdContent {
|
|
19
|
+
/**
|
|
20
|
+
* Generate the Jumbo instructions section for JUMBO.md
|
|
21
|
+
*/
|
|
22
|
+
static getJumboSection() {
|
|
23
|
+
return `## Instructions for Agents on how to collaborate with Jumbo
|
|
24
|
+
|
|
25
|
+
Dear Agent,
|
|
26
|
+
|
|
27
|
+
This project uses Jumbo CLI for agent orchestration and context management. Jumbo is a proxy for me. You must follow all prompts received from running \`jumbo\` commands, and take full advantage of \`jumbo\` commands to ensure optimal collaboration and maximal efficiency in executing goals.
|
|
28
|
+
|
|
29
|
+
Sincerely,
|
|
30
|
+
Project Administrator
|
|
31
|
+
|
|
32
|
+
### When you start a new Session Start
|
|
33
|
+
Run \`jumbo session start\`
|
|
34
|
+
|
|
35
|
+
This orients you with the current state of the project: high-level project, recent events and a goal backlog to select work from.
|
|
36
|
+
|
|
37
|
+
### Pre Compaction/Compression
|
|
38
|
+
If a goal is actively being implemented.
|
|
39
|
+
|
|
40
|
+
Run \`jumbo work pause\`
|
|
41
|
+
|
|
42
|
+
### After Compaction/Compression
|
|
43
|
+
Run \`jumbo work resume\`
|
|
44
|
+
|
|
45
|
+
This will automatically serve context of a goal that you were progressing on prior to compaction.
|
|
46
|
+
|
|
47
|
+
### Before Finishing a Session
|
|
48
|
+
Run \`jumbo session end --focus {focus-description}\` --summary {summary-of-what-transpired}
|
|
49
|
+
|
|
50
|
+
### Before Starting Work on a Goal
|
|
51
|
+
Run \`jumbo goal start --id <id>\`
|
|
52
|
+
|
|
53
|
+
### Be Proactive - Use Jumbo to the Fullest Extent
|
|
54
|
+
Jumbo supercharges your abilities and consistency by supplying you with durable memory. Use is unsparingly. Be vigilant in identifying user decisions that change the existing standards for the project. Document when new patterns are introduced or removed. Capture corrections made by the user in the form of invariants or guidelines. If a new pattern is introduced, capture it. If a new component is introduced capture it. If new relations are relevant, register them. Use the full jumbo command catalog to quickly gain project insights. The rate of successful collaborations and ability to deliver on the developers wishes without error will highly increase the more you leverage Jumbo.
|
|
55
|
+
|
|
56
|
+
### Available Commands
|
|
57
|
+
\`jumbo --help \`
|
|
58
|
+
\`jumbo goal add --help \`
|
|
59
|
+
\`jumbo goal refine --help \`
|
|
60
|
+
\`jumbo goal block --help \`
|
|
61
|
+
\`jumbo goal complete --help \`
|
|
62
|
+
\`jumbo goal remove --help \`
|
|
63
|
+
\`jumbo goal reset --help \`
|
|
64
|
+
\`jumbo goal resume --help \`
|
|
65
|
+
\`jumbo goal show --help \`
|
|
66
|
+
\`jumbo goal start --help \`
|
|
67
|
+
\`jumbo goal unblock --help \`
|
|
68
|
+
\`jumbo goal update --help \`
|
|
69
|
+
\`jumbo goals list --help \`
|
|
70
|
+
\`jumbo session end --help \`
|
|
71
|
+
\`jumbo session pause --help \`
|
|
72
|
+
\`jumbo session resume --help \`
|
|
73
|
+
\`jumbo session start --help \`
|
|
74
|
+
\`jumbo architecture define --help \`
|
|
75
|
+
\`jumbo architecture update --help \`
|
|
76
|
+
\`jumbo component add --help \`
|
|
77
|
+
\`jumbo component deprecate --help \`
|
|
78
|
+
\`jumbo component remove --help \`
|
|
79
|
+
\`jumbo component update --help \`
|
|
80
|
+
\`jumbo decision add --help \`
|
|
81
|
+
\`jumbo decision reverse --help \`
|
|
82
|
+
\`jumbo decision supersede --help \`
|
|
83
|
+
\`jumbo decision update --help \`
|
|
84
|
+
\`jumbo dependency add --help \`
|
|
85
|
+
\`jumbo dependency remove --help \`
|
|
86
|
+
\`jumbo dependency update --help \`
|
|
87
|
+
\`jumbo guideline add --help \`
|
|
88
|
+
\`jumbo guideline remove --help \`
|
|
89
|
+
\`jumbo guideline update --help \`
|
|
90
|
+
\`jumbo invariant add --help \`
|
|
91
|
+
\`jumbo invariant remove --help \`
|
|
92
|
+
\`jumbo invariant update --help \`
|
|
93
|
+
|
|
94
|
+
### Next step:
|
|
95
|
+
Run \`jumbo session start\` to retrieve project orientation.
|
|
96
|
+
`;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Generate complete JUMBO.md file content
|
|
100
|
+
*/
|
|
101
|
+
static getFullContent() {
|
|
102
|
+
return `# JUMBO.md
|
|
103
|
+
|
|
104
|
+
${this.getJumboSection()}`;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* The current section heading extracted from getJumboSection().
|
|
108
|
+
*/
|
|
109
|
+
static getCurrentSectionMarker() {
|
|
110
|
+
return "## Instructions for Agents on how to collaborate with Jumbo";
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* All historically used section headings for the Jumbo section.
|
|
114
|
+
* Carried over from AgentsMdContent legacy markers.
|
|
115
|
+
* When the current heading changes, add the previous heading here
|
|
116
|
+
* so that repair/init can find and replace old installations.
|
|
117
|
+
*/
|
|
118
|
+
static getLegacySectionMarkers() {
|
|
119
|
+
return [
|
|
120
|
+
"## Instructions for Jumbo",
|
|
121
|
+
];
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Replace the Jumbo section in JUMBO.md with the current version.
|
|
125
|
+
* Checks the current marker and all legacy markers to find the section,
|
|
126
|
+
* then replaces everything from the matched marker to the next "## " heading
|
|
127
|
+
* (or EOF) with current getJumboSection().
|
|
128
|
+
*
|
|
129
|
+
* @returns Updated content, or null if no marker found
|
|
130
|
+
*/
|
|
131
|
+
static replaceJumboSection(existingContent) {
|
|
132
|
+
const allMarkers = [this.getCurrentSectionMarker(), ...this.getLegacySectionMarkers()];
|
|
133
|
+
let matchedMarker = null;
|
|
134
|
+
let markerIndex = -1;
|
|
135
|
+
for (const marker of allMarkers) {
|
|
136
|
+
const index = existingContent.indexOf(marker);
|
|
137
|
+
if (index !== -1) {
|
|
138
|
+
matchedMarker = marker;
|
|
139
|
+
markerIndex = index;
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
if (matchedMarker === null || markerIndex === -1)
|
|
144
|
+
return null;
|
|
145
|
+
// Find the next ## heading after the marker (or EOF)
|
|
146
|
+
const afterMarker = existingContent.substring(markerIndex + matchedMarker.length);
|
|
147
|
+
const nextHeadingMatch = afterMarker.match(/\n## /);
|
|
148
|
+
const endIndex = nextHeadingMatch
|
|
149
|
+
? markerIndex + matchedMarker.length + nextHeadingMatch.index
|
|
150
|
+
: existingContent.length;
|
|
151
|
+
const before = existingContent.substring(0, markerIndex);
|
|
152
|
+
const after = existingContent.substring(endIndex);
|
|
153
|
+
return before + this.getJumboSection() + after;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
exports.JumboMdContent = JumboMdContent;
|
|
157
|
+
//# sourceMappingURL=JumboMdContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JumboMdContent.js","sourceRoot":"","sources":["../../../src/domain/project/JumboMdContent.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAEH,MAAa,cAAc;IACzB;;OAEG;IACH,MAAM,CAAC,eAAe;QACpB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyEV,CAAC;IACA,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc;QACnB,OAAO;;EAET,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,uBAAuB;QAC5B,OAAO,6DAA6D,CAAC;IACvE,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,uBAAuB;QAC5B,OAAO;YACL,2BAA2B;SAC5B,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,mBAAmB,CAAC,eAAuB;QAChD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;QAEvF,IAAI,aAAa,GAAkB,IAAI,CAAC;QACxC,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;QAErB,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,aAAa,GAAG,MAAM,CAAC;gBACvB,WAAW,GAAG,KAAK,CAAC;gBACpB,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,aAAa,KAAK,IAAI,IAAI,WAAW,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAE9D,qDAAqD;QACrD,MAAM,WAAW,GAAG,eAAe,CAAC,SAAS,CAAC,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAClF,MAAM,gBAAgB,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,gBAAgB;YAC/B,CAAC,CAAC,WAAW,GAAG,aAAa,CAAC,MAAM,GAAG,gBAAgB,CAAC,KAAM;YAC9D,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC;QAE3B,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAElD,OAAO,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,KAAK,CAAC;IACjD,CAAC;CACF;AAlJD,wCAkJC"}
|
|
@@ -19,7 +19,11 @@ export declare class AgentFileProtocol implements IAgentFileProtocol {
|
|
|
19
19
|
private readonly configurers;
|
|
20
20
|
constructor(templateSkillsRoot?: string);
|
|
21
21
|
/**
|
|
22
|
-
* Ensure
|
|
22
|
+
* Ensure JUMBO.md exists with full Jumbo instructions
|
|
23
|
+
*/
|
|
24
|
+
ensureJumboMd(projectRoot: string): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Ensure AGENTS.md exists with thin reference to JUMBO.md
|
|
23
27
|
*/
|
|
24
28
|
ensureAgentsMd(projectRoot: string): Promise<void>;
|
|
25
29
|
/**
|
|
@@ -27,7 +31,11 @@ export declare class AgentFileProtocol implements IAgentFileProtocol {
|
|
|
27
31
|
*/
|
|
28
32
|
ensureAgentConfigurations(projectRoot: string): Promise<void>;
|
|
29
33
|
/**
|
|
30
|
-
* Repair
|
|
34
|
+
* Repair JUMBO.md by replacing the Jumbo section with the current version
|
|
35
|
+
*/
|
|
36
|
+
repairJumboMd(projectRoot: string): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Repair AGENTS.md by replacing the Jumbo section with the current thin reference
|
|
31
39
|
*/
|
|
32
40
|
repairAgentsMd(projectRoot: string): Promise<void>;
|
|
33
41
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentFileProtocol.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/AgentFileProtocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oEAAoE,CAAC;AACxG,OAAO,EAAE,iBAAiB,EAAE,MAAM,mEAAmE,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentFileProtocol.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/AgentFileProtocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oEAAoE,CAAC;AACxG,OAAO,EAAE,iBAAiB,EAAE,MAAM,mEAAmE,CAAC;AAgCtG,qBAAa,iBAAkB,YAAW,kBAAkB;IAQ9C,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAP/C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAK1B;gBAE2B,kBAAkB,GAAE,MAAqC;IAEtF;;OAEG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBvD;;OAEG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBxD;;OAEG;IACG,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnE;;OAEG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBvD;;OAEG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBxD;;OAEG;IACG,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYnE;;OAEG;IACG,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;YA+BhE,0BAA0B;YAiC1B,yBAAyB;YAkCzB,0BAA0B;YA6B1B,qBAAqB;CAYpC"}
|
|
@@ -20,6 +20,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
20
20
|
exports.AgentFileProtocol = void 0;
|
|
21
21
|
const path_1 = __importDefault(require("path"));
|
|
22
22
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
23
|
+
const JumboMdContent_js_1 = require("../../../../domain/project/JumboMdContent.js");
|
|
23
24
|
const AgentsMdContent_js_1 = require("../../../../domain/project/AgentsMdContent.js");
|
|
24
25
|
const ClaudeConfigurer_js_1 = require("./ClaudeConfigurer.js");
|
|
25
26
|
const GeminiConfigurer_js_1 = require("./GeminiConfigurer.js");
|
|
@@ -43,32 +44,52 @@ class AgentFileProtocol {
|
|
|
43
44
|
];
|
|
44
45
|
}
|
|
45
46
|
/**
|
|
46
|
-
* Ensure
|
|
47
|
+
* Ensure JUMBO.md exists with full Jumbo instructions
|
|
48
|
+
*/
|
|
49
|
+
async ensureJumboMd(projectRoot) {
|
|
50
|
+
const jumboMdPath = path_1.default.join(projectRoot, "JUMBO.md");
|
|
51
|
+
try {
|
|
52
|
+
const exists = await fs_extra_1.default.pathExists(jumboMdPath);
|
|
53
|
+
if (!exists) {
|
|
54
|
+
await fs_extra_1.default.writeFile(jumboMdPath, JumboMdContent_js_1.JumboMdContent.getFullContent(), "utf-8");
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const content = await fs_extra_1.default.readFile(jumboMdPath, "utf-8");
|
|
58
|
+
const replaced = JumboMdContent_js_1.JumboMdContent.replaceJumboSection(content);
|
|
59
|
+
if (replaced !== null) {
|
|
60
|
+
await fs_extra_1.default.writeFile(jumboMdPath, replaced, "utf-8");
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
const updatedContent = content + "\n\n" + JumboMdContent_js_1.JumboMdContent.getJumboSection();
|
|
64
|
+
await fs_extra_1.default.writeFile(jumboMdPath, updatedContent, "utf-8");
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
console.warn(`Warning: Failed to update JUMBO.md: ${error instanceof Error ? error.message : String(error)}`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Ensure AGENTS.md exists with thin reference to JUMBO.md
|
|
47
73
|
*/
|
|
48
74
|
async ensureAgentsMd(projectRoot) {
|
|
49
75
|
const agentsMdPath = path_1.default.join(projectRoot, "AGENTS.md");
|
|
50
76
|
try {
|
|
51
77
|
const exists = await fs_extra_1.default.pathExists(agentsMdPath);
|
|
52
78
|
if (!exists) {
|
|
53
|
-
// File doesn't exist - create with full content
|
|
54
79
|
await fs_extra_1.default.writeFile(agentsMdPath, AgentsMdContent_js_1.AgentsMdContent.getFullContent(), "utf-8");
|
|
55
80
|
return;
|
|
56
81
|
}
|
|
57
|
-
// File exists - try to replace existing Jumbo section (current or legacy markers)
|
|
58
82
|
const content = await fs_extra_1.default.readFile(agentsMdPath, "utf-8");
|
|
59
83
|
const replaced = AgentsMdContent_js_1.AgentsMdContent.replaceJumboSection(content);
|
|
60
84
|
if (replaced !== null) {
|
|
61
|
-
// Jumbo section found (current or legacy) - replace with current version
|
|
62
85
|
await fs_extra_1.default.writeFile(agentsMdPath, replaced, "utf-8");
|
|
63
86
|
}
|
|
64
87
|
else {
|
|
65
|
-
// No Jumbo section found - append it
|
|
66
88
|
const updatedContent = content + "\n\n" + AgentsMdContent_js_1.AgentsMdContent.getJumboSection();
|
|
67
89
|
await fs_extra_1.default.writeFile(agentsMdPath, updatedContent, "utf-8");
|
|
68
90
|
}
|
|
69
91
|
}
|
|
70
92
|
catch (error) {
|
|
71
|
-
// Graceful degradation - log but don't throw
|
|
72
93
|
console.warn(`Warning: Failed to update AGENTS.md: ${error instanceof Error ? error.message : String(error)}`);
|
|
73
94
|
}
|
|
74
95
|
}
|
|
@@ -82,25 +103,47 @@ class AgentFileProtocol {
|
|
|
82
103
|
await this.installSkillsFromTemplates(projectRoot);
|
|
83
104
|
}
|
|
84
105
|
/**
|
|
85
|
-
* Repair
|
|
106
|
+
* Repair JUMBO.md by replacing the Jumbo section with the current version
|
|
107
|
+
*/
|
|
108
|
+
async repairJumboMd(projectRoot) {
|
|
109
|
+
const jumboMdPath = path_1.default.join(projectRoot, "JUMBO.md");
|
|
110
|
+
try {
|
|
111
|
+
const exists = await fs_extra_1.default.pathExists(jumboMdPath);
|
|
112
|
+
if (!exists) {
|
|
113
|
+
await fs_extra_1.default.writeFile(jumboMdPath, JumboMdContent_js_1.JumboMdContent.getFullContent(), "utf-8");
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
const content = await fs_extra_1.default.readFile(jumboMdPath, "utf-8");
|
|
117
|
+
const replaced = JumboMdContent_js_1.JumboMdContent.replaceJumboSection(content);
|
|
118
|
+
if (replaced !== null) {
|
|
119
|
+
await fs_extra_1.default.writeFile(jumboMdPath, replaced, "utf-8");
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
const updatedContent = content + "\n\n" + JumboMdContent_js_1.JumboMdContent.getJumboSection();
|
|
123
|
+
await fs_extra_1.default.writeFile(jumboMdPath, updatedContent, "utf-8");
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
console.warn(`Warning: Failed to repair JUMBO.md: ${error instanceof Error ? error.message : String(error)}`);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Repair AGENTS.md by replacing the Jumbo section with the current thin reference
|
|
86
132
|
*/
|
|
87
133
|
async repairAgentsMd(projectRoot) {
|
|
88
134
|
const agentsMdPath = path_1.default.join(projectRoot, "AGENTS.md");
|
|
89
135
|
try {
|
|
90
136
|
const exists = await fs_extra_1.default.pathExists(agentsMdPath);
|
|
91
137
|
if (!exists) {
|
|
92
|
-
// File doesn't exist - create with full content (same as ensure)
|
|
93
138
|
await fs_extra_1.default.writeFile(agentsMdPath, AgentsMdContent_js_1.AgentsMdContent.getFullContent(), "utf-8");
|
|
94
139
|
return;
|
|
95
140
|
}
|
|
96
141
|
const content = await fs_extra_1.default.readFile(agentsMdPath, "utf-8");
|
|
97
142
|
const replaced = AgentsMdContent_js_1.AgentsMdContent.replaceJumboSection(content);
|
|
98
143
|
if (replaced !== null) {
|
|
99
|
-
// Jumbo section found - replace with current version
|
|
100
144
|
await fs_extra_1.default.writeFile(agentsMdPath, replaced, "utf-8");
|
|
101
145
|
}
|
|
102
146
|
else {
|
|
103
|
-
// Jumbo section not found - append (same as ensure)
|
|
104
147
|
const updatedContent = content + "\n\n" + AgentsMdContent_js_1.AgentsMdContent.getJumboSection();
|
|
105
148
|
await fs_extra_1.default.writeFile(agentsMdPath, updatedContent, "utf-8");
|
|
106
149
|
}
|
|
@@ -128,6 +171,13 @@ class AgentFileProtocol {
|
|
|
128
171
|
*/
|
|
129
172
|
async getPlannedFileChanges(projectRoot) {
|
|
130
173
|
const changes = [];
|
|
174
|
+
// JUMBO.md change
|
|
175
|
+
const jumboMdPath = path_1.default.join(projectRoot, "JUMBO.md");
|
|
176
|
+
changes.push({
|
|
177
|
+
path: "JUMBO.md",
|
|
178
|
+
action: (await fs_extra_1.default.pathExists(jumboMdPath)) ? "modify" : "create",
|
|
179
|
+
description: "Add Jumbo instructions",
|
|
180
|
+
});
|
|
131
181
|
// AGENTS.md change
|
|
132
182
|
const agentsMdPath = path_1.default.join(projectRoot, "AGENTS.md");
|
|
133
183
|
changes.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentFileProtocol.js","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/AgentFileProtocol.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;;;;AAEH,gDAAwB;AACxB,wDAA0B;AAG1B,sFAAgF;AAEhF,+DAAyD;AACzD,+DAAyD;AACzD,iEAA2D;AAC3D,yEAAmE;AAOnE,MAAM,4BAA4B,GAAG,cAAI,CAAC,OAAO,CAC/C,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,QAAQ,CACT,CAAC;AAEF,MAAM,6BAA6B,GAAiC;IAClE,EAAE,UAAU,EAAE,QAAQ,EAAE,2BAA2B,EAAE,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE;IACrF,EAAE,UAAU,EAAE,QAAQ,EAAE,2BAA2B,EAAE,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE;IACrF,EAAE,UAAU,EAAE,QAAQ,EAAE,2BAA2B,EAAE,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE;IACrF,EAAE,UAAU,EAAE,MAAM,EAAE,2BAA2B,EAAE,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;CAClF,CAAC;AAEF,MAAa,iBAAiB;IAQ5B,YAA6B,qBAA6B,4BAA4B;QAAzD,uBAAkB,GAAlB,kBAAkB,CAAuC;QAPrE,gBAAW,GAAkB;YAC5C,IAAI,sCAAgB,EAAE;YACtB,IAAI,sCAAgB,EAAE;YACtB,IAAI,wCAAiB,EAAE;YACvB,IAAI,gDAAqB,EAAE;SAC5B,CAAC;IAEuF,CAAC;IAE1F;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,WAAmB;QACtC,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAEzD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,kBAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAEjD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,
|
|
1
|
+
{"version":3,"file":"AgentFileProtocol.js","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/AgentFileProtocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Infrastructure: Claude Code Configurer
|
|
3
3
|
*
|
|
4
4
|
* Encapsulates all knowledge about Claude Code configuration:
|
|
5
|
-
* - CLAUDE.md with reference to
|
|
5
|
+
* - CLAUDE.md with thin reference to JUMBO.md
|
|
6
6
|
* - .claude/settings.json with SessionStart hooks
|
|
7
7
|
*
|
|
8
8
|
* Use this as a reference when creating new agent Configurers.
|
|
@@ -20,7 +20,7 @@ export declare class ClaudeConfigurer implements IConfigurer {
|
|
|
20
20
|
*/
|
|
21
21
|
configure(projectRoot: string): Promise<void>;
|
|
22
22
|
/**
|
|
23
|
-
* Ensure CLAUDE.md exists with reference to
|
|
23
|
+
* Ensure CLAUDE.md exists with thin reference to JUMBO.md
|
|
24
24
|
*/
|
|
25
25
|
private ensureClaudeMd;
|
|
26
26
|
/**
|
|
@@ -32,7 +32,7 @@ export declare class ClaudeConfigurer implements IConfigurer {
|
|
|
32
32
|
*/
|
|
33
33
|
repair(projectRoot: string): Promise<void>;
|
|
34
34
|
/**
|
|
35
|
-
* Repair CLAUDE.md by replacing the reference
|
|
35
|
+
* Repair CLAUDE.md by replacing the reference with the current thin reference
|
|
36
36
|
*/
|
|
37
37
|
private repairClaudeMd;
|
|
38
38
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaudeConfigurer.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/ClaudeConfigurer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mEAAmE,CAAC;AAEtG,qBAAa,gBAAiB,YAAW,WAAW;IAClD;;;;OAIG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnD;;OAEG;YACW,cAAc;
|
|
1
|
+
{"version":3,"file":"ClaudeConfigurer.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/ClaudeConfigurer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mEAAmE,CAAC;AAEtG,qBAAa,gBAAiB,YAAW,WAAW;IAClD;;;;OAIG;IACG,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnD;;OAEG;YACW,cAAc;IA6B5B;;OAEG;YACW,oBAAoB;IAoDlC;;OAEG;IACG,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhD;;OAEG;YACW,cAAc;IA8B5B;;OAEG;IACG,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;CAmB/E"}
|