jumbo-cli 2.4.0 → 2.6.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/assets/skills/refine-jumbo-goals/SKILL.md +10 -5
- package/dist/application/context/project/get/ContextualProjectView.d.ts +4 -1
- package/dist/application/context/project/get/ContextualProjectView.d.ts.map +1 -1
- package/dist/application/context/project/init/AgentSelection.d.ts +6 -0
- package/dist/application/context/project/init/AgentSelection.d.ts.map +1 -0
- package/dist/application/context/project/init/AgentSelection.js +3 -0
- package/dist/application/context/project/init/AgentSelection.js.map +1 -0
- package/dist/application/context/project/init/IAgentFileProtocol.d.ts +8 -3
- package/dist/application/context/project/init/IAgentFileProtocol.d.ts.map +1 -1
- package/dist/application/context/project/init/InitializeProjectCommandHandler.d.ts +2 -1
- package/dist/application/context/project/init/InitializeProjectCommandHandler.d.ts.map +1 -1
- package/dist/application/context/project/init/InitializeProjectCommandHandler.js +2 -2
- package/dist/application/context/project/init/InitializeProjectCommandHandler.js.map +1 -1
- package/dist/application/context/project/init/InitializeProjectRequest.d.ts +2 -0
- package/dist/application/context/project/init/InitializeProjectRequest.d.ts.map +1 -1
- package/dist/application/context/project/init/LocalInitializeProjectGateway.d.ts.map +1 -1
- package/dist/application/context/project/init/LocalInitializeProjectGateway.js +2 -1
- package/dist/application/context/project/init/LocalInitializeProjectGateway.js.map +1 -1
- package/dist/application/context/project/init/LocalPlanProjectInitGateway.d.ts.map +1 -1
- package/dist/application/context/project/init/LocalPlanProjectInitGateway.js +3 -2
- package/dist/application/context/project/init/LocalPlanProjectInitGateway.js.map +1 -1
- package/dist/application/context/project/init/PlanProjectInitRequest.d.ts +2 -0
- package/dist/application/context/project/init/PlanProjectInitRequest.d.ts.map +1 -1
- package/dist/application/context/project/init/PlanProjectInitResponse.d.ts +2 -0
- package/dist/application/context/project/init/PlanProjectInitResponse.d.ts.map +1 -1
- package/dist/application/context/sessions/SessionInstructionSignal.d.ts +8 -0
- package/dist/application/context/sessions/SessionInstructionSignal.d.ts.map +1 -0
- package/dist/application/context/sessions/SessionInstructionSignal.js +10 -0
- package/dist/application/context/sessions/SessionInstructionSignal.js.map +1 -0
- package/dist/application/context/sessions/get/SessionContextQueryHandler.d.ts +3 -1
- package/dist/application/context/sessions/get/SessionContextQueryHandler.d.ts.map +1 -1
- package/dist/application/context/sessions/get/SessionContextQueryHandler.js +5 -3
- package/dist/application/context/sessions/get/SessionContextQueryHandler.js.map +1 -1
- package/dist/application/context/sessions/start/LocalStartSessionGateway.d.ts +2 -3
- package/dist/application/context/sessions/start/LocalStartSessionGateway.d.ts.map +1 -1
- package/dist/application/context/sessions/start/LocalStartSessionGateway.js +19 -10
- package/dist/application/context/sessions/start/LocalStartSessionGateway.js.map +1 -1
- package/dist/application/context/sessions/start/SessionStartResponse.d.ts +2 -4
- package/dist/application/context/sessions/start/SessionStartResponse.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/AgentFileProtocol.d.ts +7 -3
- package/dist/infrastructure/context/project/init/AgentFileProtocol.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/AgentFileProtocol.js +40 -29
- package/dist/infrastructure/context/project/init/AgentFileProtocol.js.map +1 -1
- package/dist/infrastructure/context/project/init/ClaudeConfigurer.d.ts +5 -0
- package/dist/infrastructure/context/project/init/ClaudeConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/ClaudeConfigurer.js +7 -0
- package/dist/infrastructure/context/project/init/ClaudeConfigurer.js.map +1 -1
- package/dist/infrastructure/context/project/init/CopilotConfigurer.d.ts +5 -0
- package/dist/infrastructure/context/project/init/CopilotConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/CopilotConfigurer.js +7 -0
- package/dist/infrastructure/context/project/init/CopilotConfigurer.js.map +1 -1
- package/dist/infrastructure/context/project/init/GeminiConfigurer.d.ts +5 -0
- package/dist/infrastructure/context/project/init/GeminiConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/GeminiConfigurer.js +7 -0
- package/dist/infrastructure/context/project/init/GeminiConfigurer.js.map +1 -1
- package/dist/infrastructure/context/project/init/GitHubHooksConfigurer.d.ts +5 -0
- package/dist/infrastructure/context/project/init/GitHubHooksConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/context/project/init/GitHubHooksConfigurer.js +7 -0
- package/dist/infrastructure/context/project/init/GitHubHooksConfigurer.js.map +1 -1
- package/dist/infrastructure/context/project/init/IConfigurer.d.ts +3 -0
- package/dist/infrastructure/context/project/init/IConfigurer.d.ts.map +1 -1
- package/dist/infrastructure/host/HostBuilder.d.ts.map +1 -1
- package/dist/infrastructure/host/HostBuilder.js +5 -7
- package/dist/infrastructure/host/HostBuilder.js.map +1 -1
- package/dist/infrastructure/logging/FileLogger.d.ts +3 -2
- package/dist/infrastructure/logging/FileLogger.d.ts.map +1 -1
- package/dist/infrastructure/logging/FileLogger.js +9 -3
- package/dist/infrastructure/logging/FileLogger.js.map +1 -1
- package/dist/presentation/cli/commands/goals/refine/GoalRefineOutputBuilder.d.ts.map +1 -1
- package/dist/presentation/cli/commands/goals/refine/GoalRefineOutputBuilder.js +10 -7
- package/dist/presentation/cli/commands/goals/refine/GoalRefineOutputBuilder.js.map +1 -1
- package/dist/presentation/cli/commands/project/init/project.init.d.ts +10 -0
- package/dist/presentation/cli/commands/project/init/project.init.d.ts.map +1 -1
- package/dist/presentation/cli/commands/project/init/project.init.js +373 -3
- package/dist/presentation/cli/commands/project/init/project.init.js.map +1 -1
- package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.d.ts +1 -0
- package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.d.ts.map +1 -1
- package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.js +36 -3
- package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.js.map +1 -1
- package/dist/presentation/cli/commands/sessions/start/SessionStartOutputBuilder.d.ts +3 -5
- package/dist/presentation/cli/commands/sessions/start/SessionStartOutputBuilder.d.ts.map +1 -1
- package/dist/presentation/cli/commands/sessions/start/SessionStartOutputBuilder.js +4 -28
- package/dist/presentation/cli/commands/sessions/start/SessionStartOutputBuilder.js.map +1 -1
- package/dist/presentation/cli/commands/sessions/start/session.start.js +2 -2
- package/dist/presentation/cli/commands/sessions/start/session.start.js.map +1 -1
- package/package.json +1 -1
|
@@ -60,14 +60,19 @@ Do not skip any entity category. Every category is a potential source of impleme
|
|
|
60
60
|
|
|
61
61
|
### 3. Evaluate Every Entity Against the Goal
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
Use different evaluation strategies depending on the entity category:
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
#### Invariants & Guidelines — evaluate by exclusion
|
|
66
66
|
|
|
67
|
-
|
|
67
|
+
Review every invariant and guideline returned. For each, ask: **"Can I confidently say the implementing agent will never need this?"** Only exclude those where the answer is clearly yes. A missed constraint causes QA rejections — but over-relating creates context rot that dilutes focus. The bar is confidence of irrelevance, not possible relevance.
|
|
68
|
+
|
|
69
|
+
- **Invariants**: Review all. Exclude only those confidently unrelated to the goal's scope.
|
|
70
|
+
- **Guidelines**: Review all. Exclude only those confidently unrelated to the goal's scope.
|
|
71
|
+
|
|
72
|
+
#### Components, Decisions & Dependencies — evaluate by inclusion
|
|
73
|
+
|
|
74
|
+
Use targeted searches to find entities the implementation will modify, use, or depend on. For each candidate, ask: **"Will the implementing agent need to know about this to execute correctly?"** Only register entities with direct, actionable relevance.
|
|
68
75
|
|
|
69
|
-
- **Invariants**: Which non-negotiable constraints does this implementation touch, cross, or risk violating?
|
|
70
|
-
- **Guidelines**: Which coding standards, testing requirements, or process practices apply?
|
|
71
76
|
- **Decisions**: Which architectural decisions inform, motivate, or constrain this change?
|
|
72
77
|
- **Components**: Which system components will be created, modified, deleted, or depended upon?
|
|
73
78
|
- **Dependencies**: Which external libraries are involved in the implementation?
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { ProjectView } from "../ProjectView.js";
|
|
2
2
|
import { AudienceView } from "../../audiences/AudienceView.js";
|
|
3
3
|
import { AudiencePainView } from "../../audience-pains/AudiencePainView.js";
|
|
4
|
+
import { ValuePropositionView } from "../../value-propositions/ValuePropositionView.js";
|
|
4
5
|
/**
|
|
5
|
-
* ContextualProjectView - Composed project view with audiences and
|
|
6
|
+
* ContextualProjectView - Composed project view with audiences, pains, and value propositions.
|
|
6
7
|
*
|
|
7
8
|
* Combines:
|
|
8
9
|
* - project: The core ProjectView entity
|
|
9
10
|
* - audiences: Active target audiences
|
|
10
11
|
* - audiencePains: Active audience pain points
|
|
12
|
+
* - valuePropositions: Active value propositions
|
|
11
13
|
*
|
|
12
14
|
* Follows the Contextual*View convention for application-layer composed read models.
|
|
13
15
|
* Reusable across session context, project queries, and any consumer needing
|
|
@@ -17,5 +19,6 @@ export interface ContextualProjectView {
|
|
|
17
19
|
readonly project: ProjectView;
|
|
18
20
|
readonly audiences: ReadonlyArray<AudienceView>;
|
|
19
21
|
readonly audiencePains: ReadonlyArray<AudiencePainView>;
|
|
22
|
+
readonly valuePropositions: ReadonlyArray<ValuePropositionView>;
|
|
20
23
|
}
|
|
21
24
|
//# sourceMappingURL=ContextualProjectView.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextualProjectView.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/project/get/ContextualProjectView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"ContextualProjectView.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/project/get/ContextualProjectView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AAExF;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAChD,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACxD,QAAQ,CAAC,iBAAiB,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;CACjE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentSelection.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/project/init/AgentSelection.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,cAAc,CAAC;AAEvE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentSelection.js","sourceRoot":"","sources":["../../../../../src/application/context/project/init/AgentSelection.ts"],"names":[],"mappings":""}
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
* - Errors logged but don't fail initialization (graceful degradation)
|
|
17
17
|
* - Agent-specific knowledge is encapsulated in individual Configurer classes
|
|
18
18
|
*/
|
|
19
|
+
import { AgentId, AvailableAgent } from "./AgentSelection.js";
|
|
19
20
|
import { PlannedFileChange } from "./PlannedFileChange.js";
|
|
20
21
|
export interface IAgentFileProtocol {
|
|
21
22
|
/**
|
|
@@ -56,7 +57,7 @@ export interface IAgentFileProtocol {
|
|
|
56
57
|
*
|
|
57
58
|
* @param projectRoot Absolute path to project root directory
|
|
58
59
|
*/
|
|
59
|
-
ensureAgentConfigurations(projectRoot: string): Promise<void>;
|
|
60
|
+
ensureAgentConfigurations(projectRoot: string, selectedAgentIds?: readonly AgentId[]): Promise<void>;
|
|
60
61
|
/**
|
|
61
62
|
* Repair JUMBO.md by replacing the Jumbo section with the current version.
|
|
62
63
|
*
|
|
@@ -90,7 +91,11 @@ export interface IAgentFileProtocol {
|
|
|
90
91
|
*
|
|
91
92
|
* @param projectRoot Absolute path to project root directory
|
|
92
93
|
*/
|
|
93
|
-
repairAgentConfigurations(projectRoot: string): Promise<void>;
|
|
94
|
+
repairAgentConfigurations(projectRoot: string, selectedAgentIds?: readonly AgentId[]): Promise<void>;
|
|
95
|
+
/**
|
|
96
|
+
* Return the available agents derived from the registered configurers.
|
|
97
|
+
*/
|
|
98
|
+
getAvailableAgents(): readonly AvailableAgent[];
|
|
94
99
|
/**
|
|
95
100
|
* Get all planned file changes without executing.
|
|
96
101
|
* Use this for preview before user confirmation.
|
|
@@ -103,6 +108,6 @@ export interface IAgentFileProtocol {
|
|
|
103
108
|
* @param projectRoot Absolute path to project root directory
|
|
104
109
|
* @returns List of planned file changes
|
|
105
110
|
*/
|
|
106
|
-
getPlannedFileChanges(projectRoot: string): Promise<PlannedFileChange[]>;
|
|
111
|
+
getPlannedFileChanges(projectRoot: string, selectedAgentIds?: readonly AgentId[]): Promise<PlannedFileChange[]>;
|
|
107
112
|
}
|
|
108
113
|
//# sourceMappingURL=IAgentFileProtocol.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IAgentFileProtocol.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/project/init/IAgentFileProtocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;;OASG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElD;;;;;;;;;OASG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD;;;;;;;;;;;;;;;OAeG;IACH,yBAAyB,
|
|
1
|
+
{"version":3,"file":"IAgentFileProtocol.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/project/init/IAgentFileProtocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;;OASG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElD;;;;;;;;;OASG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD;;;;;;;;;;;;;;;OAeG;IACH,yBAAyB,CACvB,WAAW,EAAE,MAAM,EACnB,gBAAgB,CAAC,EAAE,SAAS,OAAO,EAAE,GACpC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;;;OASG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElD;;;;;;;;;OASG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD;;;;;;;;;;OAUG;IACH,yBAAyB,CACvB,WAAW,EAAE,MAAM,EACnB,gBAAgB,CAAC,EAAE,SAAS,OAAO,EAAE,GACpC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;OAEG;IACH,kBAAkB,IAAI,SAAS,cAAc,EAAE,CAAC;IAEhD;;;;;;;;;;;OAWG;IACH,qBAAqB,CACnB,WAAW,EAAE,MAAM,EACnB,gBAAgB,CAAC,EAAE,SAAS,OAAO,EAAE,GACpC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;CACjC"}
|
|
@@ -16,6 +16,7 @@ import { IProjectInitializedEventWriter } from "./IProjectInitializedEventWriter
|
|
|
16
16
|
import { IEventBus } from "../../../messaging/IEventBus.js";
|
|
17
17
|
import { IProjectInitReader } from "./IProjectInitReader.js";
|
|
18
18
|
import { IAgentFileProtocol } from "./IAgentFileProtocol.js";
|
|
19
|
+
import { AgentId } from "./AgentSelection.js";
|
|
19
20
|
import { IGitignoreProtocol } from "./IGitignoreProtocol.js";
|
|
20
21
|
import { ISettingsInitializer } from "../../../settings/ISettingsInitializer.js";
|
|
21
22
|
export declare class InitializeProjectCommandHandler {
|
|
@@ -26,7 +27,7 @@ export declare class InitializeProjectCommandHandler {
|
|
|
26
27
|
private readonly settingsInitializer;
|
|
27
28
|
private readonly gitignoreProtocol;
|
|
28
29
|
constructor(eventWriter: IProjectInitializedEventWriter, eventBus: IEventBus, reader: IProjectInitReader, agentFileProtocol: IAgentFileProtocol, settingsInitializer: ISettingsInitializer, gitignoreProtocol: IGitignoreProtocol);
|
|
29
|
-
execute(command: InitializeProjectCommand, projectRoot: string): Promise<{
|
|
30
|
+
execute(command: InitializeProjectCommand, projectRoot: string, selectedAgentIds?: readonly AgentId[]): Promise<{
|
|
30
31
|
projectId: string;
|
|
31
32
|
}>;
|
|
32
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InitializeProjectCommandHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/project/init/InitializeProjectCommandHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAIjF,qBAAa,+BAA+B;IAExC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBALjB,WAAW,EAAE,8BAA8B,EAC3C,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,kBAAkB,EAC1B,iBAAiB,EAAE,kBAAkB,EACrC,mBAAmB,EAAE,oBAAoB,EACzC,iBAAiB,EAAE,kBAAkB;IAGlD,OAAO,CACX,OAAO,EAAE,wBAAwB,EACjC,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"InitializeProjectCommandHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/project/init/InitializeProjectCommandHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAIjF,qBAAa,+BAA+B;IAExC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBALjB,WAAW,EAAE,8BAA8B,EAC3C,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,kBAAkB,EAC1B,iBAAiB,EAAE,kBAAkB,EACrC,mBAAmB,EAAE,oBAAoB,EACzC,iBAAiB,EAAE,kBAAkB;IAGlD,OAAO,CACX,OAAO,EAAE,wBAAwB,EACjC,WAAW,EAAE,MAAM,EACnB,gBAAgB,CAAC,EAAE,SAAS,OAAO,EAAE,GACpC,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAqClC"}
|
|
@@ -25,7 +25,7 @@ class InitializeProjectCommandHandler {
|
|
|
25
25
|
this.settingsInitializer = settingsInitializer;
|
|
26
26
|
this.gitignoreProtocol = gitignoreProtocol;
|
|
27
27
|
}
|
|
28
|
-
async execute(command, projectRoot) {
|
|
28
|
+
async execute(command, projectRoot, selectedAgentIds) {
|
|
29
29
|
// Check if project already exists (precondition)
|
|
30
30
|
const existingProject = await this.reader.getProject();
|
|
31
31
|
if (existingProject) {
|
|
@@ -43,7 +43,7 @@ class InitializeProjectCommandHandler {
|
|
|
43
43
|
// 5. Create/update AGENTS.md (side effect)
|
|
44
44
|
await this.agentFileProtocol.ensureAgentsMd(projectRoot);
|
|
45
45
|
// 6. Configure all supported agents (side effect)
|
|
46
|
-
await this.agentFileProtocol.ensureAgentConfigurations(projectRoot);
|
|
46
|
+
await this.agentFileProtocol.ensureAgentConfigurations(projectRoot, selectedAgentIds);
|
|
47
47
|
// 7. Ensure default settings file exists (side effect)
|
|
48
48
|
await this.settingsInitializer.ensureSettingsFileExists();
|
|
49
49
|
// 8. Ensure .gitignore excludes Jumbo internal state (side effect)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InitializeProjectCommandHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/project/init/InitializeProjectCommandHandler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;
|
|
1
|
+
{"version":3,"file":"InitializeProjectCommandHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/project/init/InitializeProjectCommandHandler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AAUH,sEAAgE;AAChE,0EAA+E;AAE/E,MAAa,+BAA+B;IAC1C,YACmB,WAA2C,EAC3C,QAAmB,EACnB,MAA0B,EAC1B,iBAAqC,EACrC,mBAAyC,EACzC,iBAAqC;QALrC,gBAAW,GAAX,WAAW,CAAgC;QAC3C,aAAQ,GAAR,QAAQ,CAAW;QACnB,WAAM,GAAN,MAAM,CAAoB;QAC1B,sBAAiB,GAAjB,iBAAiB,CAAoB;QACrC,wBAAmB,GAAnB,mBAAmB,CAAsB;QACzC,sBAAiB,GAAjB,iBAAiB,CAAoB;IACrD,CAAC;IAEJ,KAAK,CAAC,OAAO,CACX,OAAiC,EACjC,WAAmB,EACnB,gBAAqC;QAErC,iDAAiD;QACjD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACvD,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,mCAAoB,CAAC,mBAAmB,CAAC,CAAC;QAC5D,CAAC;QAED,0BAA0B;QAC1B,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,8BAA8B;QAC3D,MAAM,OAAO,GAAG,oBAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAE1C,iCAAiC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAC9B,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,OAAO,CAChB,CAAC;QAEF,iCAAiC;QACjC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAErC,sEAAsE;QACtE,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnC,2CAA2C;QAC3C,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAEzD,kDAAkD;QAClD,MAAM,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAEtF,uDAAuD;QACvD,MAAM,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,EAAE,CAAC;QAE1D,mEAAmE;QACnE,MAAM,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAE3D,OAAO,EAAE,SAAS,EAAE,CAAC;IACvB,CAAC;CACF;AAnDD,0EAmDC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { AgentId } from "./AgentSelection.js";
|
|
1
2
|
export interface InitializeProjectRequest {
|
|
2
3
|
readonly name: string;
|
|
3
4
|
readonly purpose: string | undefined;
|
|
4
5
|
readonly projectRoot: string;
|
|
6
|
+
readonly selectedAgentIds?: readonly AgentId[];
|
|
5
7
|
}
|
|
6
8
|
//# sourceMappingURL=InitializeProjectRequest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InitializeProjectRequest.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/project/init/InitializeProjectRequest.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"InitializeProjectRequest.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/project/init/InitializeProjectRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAChD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalInitializeProjectGateway.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/project/init/LocalInitializeProjectGateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,qBAAa,6BAA8B,YAAW,yBAAyB;IAE3E,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAFjB,cAAc,EAAE,+BAA+B,EAC/C,sBAAsB,EAAE,uBAAuB,EAC/C,iBAAiB,EAAE,kBAAkB;IAGlD,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"LocalInitializeProjectGateway.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/project/init/LocalInitializeProjectGateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,qBAAa,6BAA8B,YAAW,yBAAyB;IAE3E,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAFjB,cAAc,EAAE,+BAA+B,EAC/C,sBAAsB,EAAE,uBAAuB,EAC/C,iBAAiB,EAAE,kBAAkB;IAGlD,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC;CAoB/F"}
|
|
@@ -10,10 +10,11 @@ class LocalInitializeProjectGateway {
|
|
|
10
10
|
async initializeProject(request) {
|
|
11
11
|
const planResponse = await this.planProjectInitGateway.planProjectInit({
|
|
12
12
|
projectRoot: request.projectRoot,
|
|
13
|
+
selectedAgentIds: request.selectedAgentIds,
|
|
13
14
|
});
|
|
14
15
|
// Ensure JUMBO.md exists before ensureAgentsMd (called inside commandHandler.execute)
|
|
15
16
|
await this.agentFileProtocol.ensureJumboMd(request.projectRoot);
|
|
16
|
-
const result = await this.commandHandler.execute({ name: request.name, purpose: request.purpose }, request.projectRoot);
|
|
17
|
+
const result = await this.commandHandler.execute({ name: request.name, purpose: request.purpose }, request.projectRoot, request.selectedAgentIds);
|
|
17
18
|
return {
|
|
18
19
|
projectId: result.projectId,
|
|
19
20
|
changes: planResponse.plannedChanges,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalInitializeProjectGateway.js","sourceRoot":"","sources":["../../../../../src/application/context/project/init/LocalInitializeProjectGateway.ts"],"names":[],"mappings":";;;AAOA,MAAa,6BAA6B;IACxC,YACmB,cAA+C,EAC/C,sBAA+C,EAC/C,iBAAqC;QAFrC,mBAAc,GAAd,cAAc,CAAiC;QAC/C,2BAAsB,GAAtB,sBAAsB,CAAyB;QAC/C,sBAAiB,GAAjB,iBAAiB,CAAoB;IACrD,CAAC;IAEJ,KAAK,CAAC,iBAAiB,CAAC,OAAiC;QACvD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC;YACrE,WAAW,EAAE,OAAO,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"LocalInitializeProjectGateway.js","sourceRoot":"","sources":["../../../../../src/application/context/project/init/LocalInitializeProjectGateway.ts"],"names":[],"mappings":";;;AAOA,MAAa,6BAA6B;IACxC,YACmB,cAA+C,EAC/C,sBAA+C,EAC/C,iBAAqC;QAFrC,mBAAc,GAAd,cAAc,CAAiC;QAC/C,2BAAsB,GAAtB,sBAAsB,CAAyB;QAC/C,sBAAiB,GAAjB,iBAAiB,CAAoB;IACrD,CAAC;IAEJ,KAAK,CAAC,iBAAiB,CAAC,OAAiC;QACvD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC;YACrE,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;SAC3C,CAAC,CAAC;QAEH,sFAAsF;QACtF,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAEhE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC9C,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAChD,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,gBAAgB,CACzB,CAAC;QAEF,OAAO;YACL,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,YAAY,CAAC,cAAc;SACrC,CAAC;IACJ,CAAC;CACF;AA3BD,sEA2BC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalPlanProjectInitGateway.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/project/init/LocalPlanProjectInitGateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,qBAAa,2BAA4B,YAAW,uBAAuB;IAEvE,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAFjB,iBAAiB,EAAE,kBAAkB,EACrC,mBAAmB,EAAE,oBAAoB,EACzC,iBAAiB,EAAE,kBAAkB;IAGlD,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"LocalPlanProjectInitGateway.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/project/init/LocalPlanProjectInitGateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,qBAAa,2BAA4B,YAAW,uBAAuB;IAEvE,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAFjB,iBAAiB,EAAE,kBAAkB,EACrC,mBAAmB,EAAE,oBAAoB,EACzC,iBAAiB,EAAE,kBAAkB;IAGlD,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAuBzF"}
|
|
@@ -9,8 +9,9 @@ class LocalPlanProjectInitGateway {
|
|
|
9
9
|
}
|
|
10
10
|
async planProjectInit(request) {
|
|
11
11
|
const changes = [];
|
|
12
|
+
const availableAgents = this.agentFileProtocol.getAvailableAgents();
|
|
12
13
|
// Get agent file changes (AGENTS.md and all agent configurers)
|
|
13
|
-
const agentChanges = await this.agentFileProtocol.getPlannedFileChanges(request.projectRoot);
|
|
14
|
+
const agentChanges = await this.agentFileProtocol.getPlannedFileChanges(request.projectRoot, request.selectedAgentIds);
|
|
14
15
|
changes.push(...agentChanges);
|
|
15
16
|
// Get settings file change (if needed)
|
|
16
17
|
const settingsChange = await this.settingsInitializer.getPlannedFileChange();
|
|
@@ -20,7 +21,7 @@ class LocalPlanProjectInitGateway {
|
|
|
20
21
|
// Get gitignore changes (if needed)
|
|
21
22
|
const gitignoreChanges = await this.gitignoreProtocol.getPlannedFileChanges(request.projectRoot);
|
|
22
23
|
changes.push(...gitignoreChanges);
|
|
23
|
-
return { plannedChanges: changes };
|
|
24
|
+
return { availableAgents, plannedChanges: changes };
|
|
24
25
|
}
|
|
25
26
|
}
|
|
26
27
|
exports.LocalPlanProjectInitGateway = LocalPlanProjectInitGateway;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalPlanProjectInitGateway.js","sourceRoot":"","sources":["../../../../../src/application/context/project/init/LocalPlanProjectInitGateway.ts"],"names":[],"mappings":";;;AAQA,MAAa,2BAA2B;IACtC,YACmB,iBAAqC,EACrC,mBAAyC,EACzC,iBAAqC;QAFrC,sBAAiB,GAAjB,iBAAiB,CAAoB;QACrC,wBAAmB,GAAnB,mBAAmB,CAAsB;QACzC,sBAAiB,GAAjB,iBAAiB,CAAoB;IACrD,CAAC;IAEJ,KAAK,CAAC,eAAe,CAAC,OAA+B;QACnD,MAAM,OAAO,GAAwB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"LocalPlanProjectInitGateway.js","sourceRoot":"","sources":["../../../../../src/application/context/project/init/LocalPlanProjectInitGateway.ts"],"names":[],"mappings":";;;AAQA,MAAa,2BAA2B;IACtC,YACmB,iBAAqC,EACrC,mBAAyC,EACzC,iBAAqC;QAFrC,sBAAiB,GAAjB,iBAAiB,CAAoB;QACrC,wBAAmB,GAAnB,mBAAmB,CAAsB;QACzC,sBAAiB,GAAjB,iBAAiB,CAAoB;IACrD,CAAC;IAEJ,KAAK,CAAC,eAAe,CAAC,OAA+B;QACnD,MAAM,OAAO,GAAwB,EAAE,CAAC;QACxC,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,CAAC;QAEpE,+DAA+D;QAC/D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CACrE,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,gBAAgB,CACzB,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;QAE9B,uCAAuC;QACvC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,CAAC;QAC7E,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/B,CAAC;QAED,oCAAoC;QACpC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACjG,OAAO,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;QAElC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;IACtD,CAAC;CACF;AA9BD,kEA8BC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlanProjectInitRequest.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/project/init/PlanProjectInitRequest.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"PlanProjectInitRequest.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/project/init/PlanProjectInitRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAChD"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { AvailableAgent } from "./AgentSelection.js";
|
|
1
2
|
import { PlannedFileChange } from "./PlannedFileChange.js";
|
|
2
3
|
export interface PlanProjectInitResponse {
|
|
4
|
+
readonly availableAgents: readonly AvailableAgent[];
|
|
3
5
|
readonly plannedChanges: PlannedFileChange[];
|
|
4
6
|
}
|
|
5
7
|
//# sourceMappingURL=PlanProjectInitResponse.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlanProjectInitResponse.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/project/init/PlanProjectInitResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,cAAc,EAAE,iBAAiB,EAAE,CAAC;CAC9C"}
|
|
1
|
+
{"version":3,"file":"PlanProjectInitResponse.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/project/init/PlanProjectInitResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,eAAe,EAAE,SAAS,cAAc,EAAE,CAAC;IACpD,QAAQ,CAAC,cAAc,EAAE,iBAAiB,EAAE,CAAC;CAC9C"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const SessionInstructionSignal: {
|
|
2
|
+
readonly BROWNFIELD_ONBOARDING: "brownfield-onboarding";
|
|
3
|
+
readonly PRIMITIVE_GAPS_DETECTED: "primitive-gaps-detected";
|
|
4
|
+
readonly PAUSED_GOALS_RESUME: "paused-goals-resume";
|
|
5
|
+
readonly GOAL_SELECTION_PROMPT: "goal-selection-prompt";
|
|
6
|
+
};
|
|
7
|
+
export type SessionInstructionSignalValue = typeof SessionInstructionSignal[keyof typeof SessionInstructionSignal];
|
|
8
|
+
//# sourceMappingURL=SessionInstructionSignal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionInstructionSignal.d.ts","sourceRoot":"","sources":["../../../../src/application/context/sessions/SessionInstructionSignal.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB;;;;;CAK3B,CAAC;AAEX,MAAM,MAAM,6BAA6B,GACvC,OAAO,wBAAwB,CAAC,MAAM,OAAO,wBAAwB,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SessionInstructionSignal = void 0;
|
|
4
|
+
exports.SessionInstructionSignal = {
|
|
5
|
+
BROWNFIELD_ONBOARDING: "brownfield-onboarding",
|
|
6
|
+
PRIMITIVE_GAPS_DETECTED: "primitive-gaps-detected",
|
|
7
|
+
PAUSED_GOALS_RESUME: "paused-goals-resume",
|
|
8
|
+
GOAL_SELECTION_PROMPT: "goal-selection-prompt",
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=SessionInstructionSignal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionInstructionSignal.js","sourceRoot":"","sources":["../../../../src/application/context/sessions/SessionInstructionSignal.ts"],"names":[],"mappings":";;;AAAa,QAAA,wBAAwB,GAAG;IACtC,qBAAqB,EAAE,uBAAuB;IAC9C,uBAAuB,EAAE,yBAAyB;IAClD,mBAAmB,EAAE,qBAAqB;IAC1C,qBAAqB,EAAE,uBAAuB;CACtC,CAAC"}
|
|
@@ -6,6 +6,7 @@ import { IProjectContextReader } from "../../project/query/IProjectContextReader
|
|
|
6
6
|
import { IAudienceContextReader } from "../../audiences/query/IAudienceContextReader.js";
|
|
7
7
|
import { IAudiencePainContextReader } from "../../audience-pains/query/IAudiencePainContextReader.js";
|
|
8
8
|
import { IRelationViewReader } from "../../relations/get/IRelationViewReader.js";
|
|
9
|
+
import { IValuePropositionContextReader } from "../../value-propositions/query/IValuePropositionContextReader.js";
|
|
9
10
|
/**
|
|
10
11
|
* SessionContextQueryHandler - Builds the reusable base session context
|
|
11
12
|
*
|
|
@@ -23,7 +24,8 @@ export declare class SessionContextQueryHandler {
|
|
|
23
24
|
private readonly projectContextReader?;
|
|
24
25
|
private readonly audienceContextReader?;
|
|
25
26
|
private readonly audiencePainContextReader?;
|
|
26
|
-
|
|
27
|
+
private readonly valuePropositionContextReader?;
|
|
28
|
+
constructor(sessionViewReader: ISessionViewReader, goalStatusReader: IGoalStatusReader, decisionViewReader: IDecisionViewReader, relationViewReader: IRelationViewReader, projectContextReader?: IProjectContextReader | undefined, audienceContextReader?: IAudienceContextReader | undefined, audiencePainContextReader?: IAudiencePainContextReader | undefined, valuePropositionContextReader?: IValuePropositionContextReader | undefined);
|
|
27
29
|
/**
|
|
28
30
|
* Execute query to assemble base session context
|
|
29
31
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionContextQueryHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/sessions/get/SessionContextQueryHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,0DAA0D,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"SessionContextQueryHandler.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/sessions/get/SessionContextQueryHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,0DAA0D,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,8BAA8B,EAAE,MAAM,kEAAkE,CAAC;AAElH;;;;;;;;GAQG;AACH,qBAAa,0BAA0B;IAEnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACtC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACvC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IAC3C,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAC;gBAP9B,iBAAiB,EAAE,kBAAkB,EACrC,gBAAgB,EAAE,iBAAiB,EACnC,kBAAkB,EAAE,mBAAmB,EACvC,kBAAkB,EAAE,mBAAmB,EACvC,oBAAoB,CAAC,EAAE,qBAAqB,YAAA,EAC5C,qBAAqB,CAAC,EAAE,sBAAsB,YAAA,EAC9C,yBAAyB,CAAC,EAAE,0BAA0B,YAAA,EACtD,6BAA6B,CAAC,EAAE,8BAA8B,YAAA;IAGjF;;;;;;;;;;OAUG;IACG,OAAO,IAAI,OAAO,CAAC,qBAAqB,CAAC;CA0EhD"}
|
|
@@ -12,7 +12,7 @@ const Constants_js_1 = require("../../../../domain/goals/Constants.js");
|
|
|
12
12
|
* that compose this base view with event-specific enrichment.
|
|
13
13
|
*/
|
|
14
14
|
class SessionContextQueryHandler {
|
|
15
|
-
constructor(sessionViewReader, goalStatusReader, decisionViewReader, relationViewReader, projectContextReader, audienceContextReader, audiencePainContextReader) {
|
|
15
|
+
constructor(sessionViewReader, goalStatusReader, decisionViewReader, relationViewReader, projectContextReader, audienceContextReader, audiencePainContextReader, valuePropositionContextReader) {
|
|
16
16
|
this.sessionViewReader = sessionViewReader;
|
|
17
17
|
this.goalStatusReader = goalStatusReader;
|
|
18
18
|
this.decisionViewReader = decisionViewReader;
|
|
@@ -20,6 +20,7 @@ class SessionContextQueryHandler {
|
|
|
20
20
|
this.projectContextReader = projectContextReader;
|
|
21
21
|
this.audienceContextReader = audienceContextReader;
|
|
22
22
|
this.audiencePainContextReader = audiencePainContextReader;
|
|
23
|
+
this.valuePropositionContextReader = valuePropositionContextReader;
|
|
23
24
|
}
|
|
24
25
|
/**
|
|
25
26
|
* Execute query to assemble base session context
|
|
@@ -34,7 +35,7 @@ class SessionContextQueryHandler {
|
|
|
34
35
|
*/
|
|
35
36
|
async execute() {
|
|
36
37
|
// Query all view readers in parallel for efficiency
|
|
37
|
-
const [activeSession, doingGoals, blockedGoals, inReviewGoals, qualifiedGoals, pausedGoals, todoGoals, refinedGoals, activeDecisions, deactivatedRelations, project, audiences, audiencePains,] = await Promise.all([
|
|
38
|
+
const [activeSession, doingGoals, blockedGoals, inReviewGoals, qualifiedGoals, pausedGoals, todoGoals, refinedGoals, activeDecisions, deactivatedRelations, project, audiences, audiencePains, valuePropositions,] = await Promise.all([
|
|
38
39
|
this.sessionViewReader.findActive(),
|
|
39
40
|
this.goalStatusReader.findByStatus(Constants_js_1.GoalStatus.DOING),
|
|
40
41
|
this.goalStatusReader.findByStatus(Constants_js_1.GoalStatus.BLOCKED),
|
|
@@ -48,9 +49,10 @@ class SessionContextQueryHandler {
|
|
|
48
49
|
this.projectContextReader?.getProject() ?? Promise.resolve(null),
|
|
49
50
|
this.audienceContextReader?.findAllActive() ?? Promise.resolve([]),
|
|
50
51
|
this.audiencePainContextReader?.findAllActive() ?? Promise.resolve([]),
|
|
52
|
+
this.valuePropositionContextReader?.findAllActive() ?? Promise.resolve([]),
|
|
51
53
|
]);
|
|
52
54
|
const projectContext = project
|
|
53
|
-
? { project, audiences, audiencePains }
|
|
55
|
+
? { project, audiences, audiencePains, valuePropositions }
|
|
54
56
|
: null;
|
|
55
57
|
const activeGoals = doingGoals.concat(blockedGoals, inReviewGoals, qualifiedGoals);
|
|
56
58
|
const plannedGoals = todoGoals.concat(refinedGoals);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionContextQueryHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/sessions/get/SessionContextQueryHandler.ts"],"names":[],"mappings":";;;AAIA,wEAAmE;
|
|
1
|
+
{"version":3,"file":"SessionContextQueryHandler.js","sourceRoot":"","sources":["../../../../../src/application/context/sessions/get/SessionContextQueryHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,14 +4,13 @@ import { SessionStartResponse } from "./SessionStartResponse.js";
|
|
|
4
4
|
import { StartSessionCommandHandler } from "./StartSessionCommandHandler.js";
|
|
5
5
|
import { SessionContextQueryHandler } from "../get/SessionContextQueryHandler.js";
|
|
6
6
|
import { IBrownfieldStatusReader } from "./IBrownfieldStatusReader.js";
|
|
7
|
-
import { ActivityMirrorAssembler } from "./ActivityMirrorAssembler.js";
|
|
8
7
|
export declare class LocalStartSessionGateway implements IStartSessionGateway {
|
|
9
8
|
private readonly sessionContextQueryHandler;
|
|
10
9
|
private readonly startSessionCommandHandler;
|
|
11
10
|
private readonly brownfieldStatusReader;
|
|
12
|
-
|
|
13
|
-
constructor(sessionContextQueryHandler: SessionContextQueryHandler, startSessionCommandHandler: StartSessionCommandHandler, brownfieldStatusReader: IBrownfieldStatusReader, activityMirrorAssembler: ActivityMirrorAssembler);
|
|
11
|
+
constructor(sessionContextQueryHandler: SessionContextQueryHandler, startSessionCommandHandler: StartSessionCommandHandler, brownfieldStatusReader: IBrownfieldStatusReader);
|
|
14
12
|
startSession(request: SessionStartRequest): Promise<SessionStartResponse>;
|
|
15
13
|
private buildStartInstructions;
|
|
14
|
+
private hasPrimitiveGaps;
|
|
16
15
|
}
|
|
17
16
|
//# sourceMappingURL=LocalStartSessionGateway.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalStartSessionGateway.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/sessions/start/LocalStartSessionGateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"LocalStartSessionGateway.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/sessions/start/LocalStartSessionGateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAIvE,qBAAa,wBAAyB,YAAW,oBAAoB;IAEjE,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAC3C,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAC3C,OAAO,CAAC,QAAQ,CAAC,sBAAsB;gBAFtB,0BAA0B,EAAE,0BAA0B,EACtD,0BAA0B,EAAE,0BAA0B,EACtD,sBAAsB,EAAE,uBAAuB;IAG5D,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAwB/E,OAAO,CAAC,sBAAsB;IAuB9B,OAAO,CAAC,gBAAgB;CAYzB"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LocalStartSessionGateway = void 0;
|
|
4
|
+
const SessionInstructionSignal_js_1 = require("../SessionInstructionSignal.js");
|
|
4
5
|
class LocalStartSessionGateway {
|
|
5
|
-
constructor(sessionContextQueryHandler, startSessionCommandHandler, brownfieldStatusReader
|
|
6
|
+
constructor(sessionContextQueryHandler, startSessionCommandHandler, brownfieldStatusReader) {
|
|
6
7
|
this.sessionContextQueryHandler = sessionContextQueryHandler;
|
|
7
8
|
this.startSessionCommandHandler = startSessionCommandHandler;
|
|
8
9
|
this.brownfieldStatusReader = brownfieldStatusReader;
|
|
9
|
-
this.activityMirrorAssembler = activityMirrorAssembler;
|
|
10
10
|
}
|
|
11
11
|
async startSession(request) {
|
|
12
12
|
// 1. Assemble base session context
|
|
@@ -15,11 +15,9 @@ class LocalStartSessionGateway {
|
|
|
15
15
|
const isUnprimed = await this.brownfieldStatusReader.isUnprimed();
|
|
16
16
|
// 3. Build start-specific instructions
|
|
17
17
|
const instructions = this.buildStartInstructions(contextualSessionView, isUnprimed);
|
|
18
|
-
// 4.
|
|
19
|
-
const activityMirror = await this.activityMirrorAssembler.assemble();
|
|
20
|
-
// 5. Execute session start command
|
|
18
|
+
// 4. Execute session start command
|
|
21
19
|
const result = await this.startSessionCommandHandler.execute({});
|
|
22
|
-
//
|
|
20
|
+
// 5. Return enriched context with session ID
|
|
23
21
|
return {
|
|
24
22
|
context: {
|
|
25
23
|
...contextualSessionView,
|
|
@@ -27,20 +25,31 @@ class LocalStartSessionGateway {
|
|
|
27
25
|
scope: "session-start",
|
|
28
26
|
},
|
|
29
27
|
sessionId: result.sessionId,
|
|
30
|
-
activityMirror,
|
|
31
28
|
};
|
|
32
29
|
}
|
|
33
30
|
buildStartInstructions(view, isUnprimed) {
|
|
34
31
|
const instructions = [];
|
|
35
32
|
if (isUnprimed) {
|
|
36
|
-
instructions.push(
|
|
33
|
+
instructions.push(SessionInstructionSignal_js_1.SessionInstructionSignal.BROWNFIELD_ONBOARDING);
|
|
34
|
+
}
|
|
35
|
+
if (!isUnprimed && this.hasPrimitiveGaps(view)) {
|
|
36
|
+
instructions.push(SessionInstructionSignal_js_1.SessionInstructionSignal.PRIMITIVE_GAPS_DETECTED);
|
|
37
37
|
}
|
|
38
38
|
if (view.context.pausedGoals.length > 0) {
|
|
39
|
-
instructions.push(
|
|
39
|
+
instructions.push(SessionInstructionSignal_js_1.SessionInstructionSignal.PAUSED_GOALS_RESUME);
|
|
40
40
|
}
|
|
41
|
-
instructions.push(
|
|
41
|
+
instructions.push(SessionInstructionSignal_js_1.SessionInstructionSignal.GOAL_SELECTION_PROMPT);
|
|
42
42
|
return instructions;
|
|
43
43
|
}
|
|
44
|
+
hasPrimitiveGaps(view) {
|
|
45
|
+
const projectContext = view.context.projectContext;
|
|
46
|
+
if (!projectContext) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
return (projectContext.audiences.length === 0 ||
|
|
50
|
+
projectContext.audiencePains.length === 0 ||
|
|
51
|
+
projectContext.valuePropositions.length === 0);
|
|
52
|
+
}
|
|
44
53
|
}
|
|
45
54
|
exports.LocalStartSessionGateway = LocalStartSessionGateway;
|
|
46
55
|
//# sourceMappingURL=LocalStartSessionGateway.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalStartSessionGateway.js","sourceRoot":"","sources":["../../../../../src/application/context/sessions/start/LocalStartSessionGateway.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"LocalStartSessionGateway.js","sourceRoot":"","sources":["../../../../../src/application/context/sessions/start/LocalStartSessionGateway.ts"],"names":[],"mappings":";;;AAOA,gFAA0E;AAE1E,MAAa,wBAAwB;IACnC,YACmB,0BAAsD,EACtD,0BAAsD,EACtD,sBAA+C;QAF/C,+BAA0B,GAA1B,0BAA0B,CAA4B;QACtD,+BAA0B,GAA1B,0BAA0B,CAA4B;QACtD,2BAAsB,GAAtB,sBAAsB,CAAyB;IAC/D,CAAC;IAEJ,KAAK,CAAC,YAAY,CAAC,OAA4B;QAC7C,mCAAmC;QACnC,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,CAAC;QAE9E,6BAA6B;QAC7B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,CAAC;QAElE,uCAAuC;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC;QAEpF,mCAAmC;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEjE,6CAA6C;QAC7C,OAAO;YACL,OAAO,EAAE;gBACP,GAAG,qBAAqB;gBACxB,YAAY;gBACZ,KAAK,EAAE,eAAe;aACvB;YACD,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC;IACJ,CAAC;IAEO,sBAAsB,CAC5B,IAA2B,EAC3B,UAAmB;QAEnB,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,IAAI,UAAU,EAAE,CAAC;YACf,YAAY,CAAC,IAAI,CAAC,sDAAwB,CAAC,qBAAqB,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,YAAY,CAAC,IAAI,CAAC,sDAAwB,CAAC,uBAAuB,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,YAAY,CAAC,IAAI,CAAC,sDAAwB,CAAC,mBAAmB,CAAC,CAAC;QAClE,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,sDAAwB,CAAC,qBAAqB,CAAC,CAAC;QAElE,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,gBAAgB,CAAC,IAA2B;QAClD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;QACnD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,CACL,cAAc,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YACrC,cAAc,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;YACzC,cAAc,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,CAC9C,CAAC;IACJ,CAAC;CACF;AAlED,4DAkEC"}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import { EnrichedSessionContext } from "../get/EnrichedSessionContext.js";
|
|
2
|
-
import { ActivityMirror } from "./ActivityMirrorAssembler.js";
|
|
3
2
|
/**
|
|
4
3
|
* SessionStartResponse - Result of starting a new session.
|
|
5
4
|
*
|
|
6
|
-
* Contains the enriched session context (with LLM instruction signals)
|
|
7
|
-
* the newly created session ID
|
|
5
|
+
* Contains the enriched session context (with LLM instruction signals)
|
|
6
|
+
* and the newly created session ID.
|
|
8
7
|
*/
|
|
9
8
|
export interface SessionStartResponse {
|
|
10
9
|
readonly context: EnrichedSessionContext;
|
|
11
10
|
readonly sessionId: string;
|
|
12
|
-
readonly activityMirror: ActivityMirror | null;
|
|
13
11
|
}
|
|
14
12
|
//# sourceMappingURL=SessionStartResponse.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionStartResponse.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/sessions/start/SessionStartResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"SessionStartResponse.d.ts","sourceRoot":"","sources":["../../../../../src/application/context/sessions/start/SessionStartResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAE1E;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B"}
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* Operations are idempotent and gracefully handle errors to avoid
|
|
13
13
|
* failing project initialization if file writes fail.
|
|
14
14
|
*/
|
|
15
|
+
import { AgentId, AvailableAgent } from "../../../../application/context/project/init/AgentSelection.js";
|
|
15
16
|
import { IAgentFileProtocol } from "../../../../application/context/project/init/IAgentFileProtocol.js";
|
|
16
17
|
import { PlannedFileChange } from "../../../../application/context/project/init/PlannedFileChange.js";
|
|
17
18
|
export declare class AgentFileProtocol implements IAgentFileProtocol {
|
|
@@ -29,7 +30,7 @@ export declare class AgentFileProtocol implements IAgentFileProtocol {
|
|
|
29
30
|
/**
|
|
30
31
|
* Ensure all supported agents are configured for Jumbo
|
|
31
32
|
*/
|
|
32
|
-
ensureAgentConfigurations(projectRoot: string): Promise<void>;
|
|
33
|
+
ensureAgentConfigurations(projectRoot: string, selectedAgentIds?: readonly AgentId[]): Promise<void>;
|
|
33
34
|
/**
|
|
34
35
|
* Repair JUMBO.md by replacing the Jumbo section with the current version
|
|
35
36
|
*/
|
|
@@ -41,14 +42,17 @@ export declare class AgentFileProtocol implements IAgentFileProtocol {
|
|
|
41
42
|
/**
|
|
42
43
|
* Repair all supported agent configurations
|
|
43
44
|
*/
|
|
44
|
-
repairAgentConfigurations(projectRoot: string): Promise<void>;
|
|
45
|
+
repairAgentConfigurations(projectRoot: string, selectedAgentIds?: readonly AgentId[]): Promise<void>;
|
|
46
|
+
getAvailableAgents(): readonly AvailableAgent[];
|
|
45
47
|
/**
|
|
46
48
|
* Get all planned file changes without executing.
|
|
47
49
|
*/
|
|
48
|
-
getPlannedFileChanges(projectRoot: string): Promise<PlannedFileChange[]>;
|
|
50
|
+
getPlannedFileChanges(projectRoot: string, selectedAgentIds?: readonly AgentId[]): Promise<PlannedFileChange[]>;
|
|
49
51
|
private installSkillsFromTemplates;
|
|
50
52
|
private repairSkillsFromTemplates;
|
|
51
53
|
private getSkillPlannedFileChanges;
|
|
52
54
|
private getTemplateSkillNames;
|
|
55
|
+
private getConfigurers;
|
|
56
|
+
private getSkillPlatforms;
|
|
53
57
|
}
|
|
54
58
|
//# sourceMappingURL=AgentFileProtocol.d.ts.map
|
|
@@ -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,OAAO,EAAE,cAAc,EAAE,MAAM,gEAAgE,CAAC;AACzG,OAAO,EAAE,kBAAkB,EAAE,MAAM,oEAAoE,CAAC;AACxG,OAAO,EAAE,iBAAiB,EAAE,MAAM,mEAAmE,CAAC;AAoBtG,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,CAC7B,WAAW,EAAE,MAAM,EACnB,gBAAgB,CAAC,EAAE,SAAS,OAAO,EAAE,GACpC,OAAO,CAAC,IAAI,CAAC;IAQhB;;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,CAC7B,WAAW,EAAE,MAAM,EACnB,gBAAgB,CAAC,EAAE,SAAS,OAAO,EAAE,GACpC,OAAO,CAAC,IAAI,CAAC;IAYhB,kBAAkB,IAAI,SAAS,cAAc,EAAE;IAI/C;;OAEG;IACG,qBAAqB,CACzB,WAAW,EAAE,MAAM,EACnB,gBAAgB,CAAC,EAAE,SAAS,OAAO,EAAE,GACpC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YA+BjB,0BAA0B;YAiC1B,yBAAyB;YAkCzB,0BAA0B;YA8B1B,qBAAqB;IAanC,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,iBAAiB;CAW1B"}
|