jumbo-cli 3.15.0 → 3.16.1

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 (98) hide show
  1. package/README.md +3 -3
  2. package/assets/agent-files/json/antigravity-hooks.fragment.json +11 -0
  3. package/assets/agent-files/scripts/antigravity-hook.mjs +133 -0
  4. package/dist/application/agents/AgentInvocation.d.ts +5 -0
  5. package/dist/application/agents/AgentInvocation.d.ts.map +1 -1
  6. package/dist/application/context/goals/codify/CodifierProcessManager.d.ts +1 -1
  7. package/dist/application/context/goals/codify/CodifierProcessManager.d.ts.map +1 -1
  8. package/dist/application/context/goals/codify/CodifierProcessManager.js +48 -39
  9. package/dist/application/context/goals/codify/CodifierProcessManager.js.map +1 -1
  10. package/dist/application/context/goals/refine/RefinerProcessManager.d.ts +1 -1
  11. package/dist/application/context/goals/refine/RefinerProcessManager.d.ts.map +1 -1
  12. package/dist/application/context/goals/refine/RefinerProcessManager.js +53 -37
  13. package/dist/application/context/goals/refine/RefinerProcessManager.js.map +1 -1
  14. package/dist/application/context/goals/review/ReviewerProcessManager.d.ts +1 -2
  15. package/dist/application/context/goals/review/ReviewerProcessManager.d.ts.map +1 -1
  16. package/dist/application/context/goals/review/ReviewerProcessManager.js +54 -57
  17. package/dist/application/context/goals/review/ReviewerProcessManager.js.map +1 -1
  18. package/dist/application/context/project/init/AgentSelection.d.ts +1 -1
  19. package/dist/application/context/project/init/AgentSelection.d.ts.map +1 -1
  20. package/dist/application/daemons/IProcessManager.d.ts +3 -0
  21. package/dist/application/daemons/IProcessManager.d.ts.map +1 -1
  22. package/dist/application/daemons/ProcessManagerEventEmitter.d.ts +12 -0
  23. package/dist/application/daemons/ProcessManagerEventEmitter.d.ts.map +1 -0
  24. package/dist/application/daemons/ProcessManagerEventEmitter.js +49 -0
  25. package/dist/application/daemons/ProcessManagerEventEmitter.js.map +1 -0
  26. package/dist/infrastructure/agents/AgentCliGateway.d.ts +3 -1
  27. package/dist/infrastructure/agents/AgentCliGateway.d.ts.map +1 -1
  28. package/dist/infrastructure/agents/AgentCliGateway.js +46 -11
  29. package/dist/infrastructure/agents/AgentCliGateway.js.map +1 -1
  30. package/dist/infrastructure/context/project/init/AgentFileProtocol.js +2 -2
  31. package/dist/infrastructure/context/project/init/AgentFileProtocol.js.map +1 -1
  32. package/dist/infrastructure/context/project/init/AntigravityConfigurer.d.ts +46 -0
  33. package/dist/infrastructure/context/project/init/AntigravityConfigurer.d.ts.map +1 -0
  34. package/dist/infrastructure/context/project/init/AntigravityConfigurer.js +300 -0
  35. package/dist/infrastructure/context/project/init/AntigravityConfigurer.js.map +1 -0
  36. package/dist/infrastructure/context/project/init/SafeAntigravityHooksMerger.d.ts +35 -0
  37. package/dist/infrastructure/context/project/init/SafeAntigravityHooksMerger.d.ts.map +1 -0
  38. package/dist/infrastructure/context/project/init/SafeAntigravityHooksMerger.js +105 -0
  39. package/dist/infrastructure/context/project/init/SafeAntigravityHooksMerger.js.map +1 -0
  40. package/dist/infrastructure/daemons/NodeWorkerDaemonProcessController.d.ts +2 -0
  41. package/dist/infrastructure/daemons/NodeWorkerDaemonProcessController.d.ts.map +1 -1
  42. package/dist/infrastructure/daemons/NodeWorkerDaemonProcessController.js +5 -1
  43. package/dist/infrastructure/daemons/NodeWorkerDaemonProcessController.js.map +1 -1
  44. package/dist/presentation/cli/commands/goals/list/GoalListOutputBuilder.js +1 -1
  45. package/dist/presentation/cli/commands/goals/list/GoalListOutputBuilder.js.map +1 -1
  46. package/dist/presentation/cli/commands/project/init/project.init.js +1 -1
  47. package/dist/presentation/cli/commands/project/init/project.init.js.map +1 -1
  48. package/dist/presentation/cli/commands/work/shared/AgentSpawner.d.ts +1 -1
  49. package/dist/presentation/cli/commands/work/shared/AgentSpawner.d.ts.map +1 -1
  50. package/dist/presentation/cli/commands/work/shared/AgentSpawner.js +2 -2
  51. package/dist/presentation/cli/commands/work/shared/AgentSpawner.js.map +1 -1
  52. package/dist/presentation/cli/output/HookOutput.d.ts +1 -1
  53. package/dist/presentation/tui/cockpit/CockpitDaemonAgentConfigCycler.js +1 -1
  54. package/dist/presentation/tui/cockpit/CockpitDaemonAgentConfigCycler.js.map +1 -1
  55. package/dist/presentation/tui/cockpit/CockpitDaemonPanel.d.ts.map +1 -1
  56. package/dist/presentation/tui/cockpit/CockpitDaemonPanel.js +37 -1
  57. package/dist/presentation/tui/cockpit/CockpitDaemonPanel.js.map +1 -1
  58. package/dist/presentation/tui/cockpit/DaemonEventRowMessageFormatter.d.ts.map +1 -1
  59. package/dist/presentation/tui/cockpit/DaemonEventRowMessageFormatter.js +10 -0
  60. package/dist/presentation/tui/cockpit/DaemonEventRowMessageFormatter.js.map +1 -1
  61. package/dist/presentation/tui/cockpit/DaemonEventRows.d.ts.map +1 -1
  62. package/dist/presentation/tui/cockpit/DaemonEventRows.js +36 -2
  63. package/dist/presentation/tui/cockpit/DaemonEventRows.js.map +1 -1
  64. package/dist/presentation/tui/daemon-subprocesses/DaemonEventCategory.d.ts +2 -0
  65. package/dist/presentation/tui/daemon-subprocesses/DaemonEventCategory.d.ts.map +1 -1
  66. package/dist/presentation/tui/daemon-subprocesses/DaemonEventCategory.js +2 -0
  67. package/dist/presentation/tui/daemon-subprocesses/DaemonEventCategory.js.map +1 -1
  68. package/dist/presentation/tui/daemon-subprocesses/DaemonEventSnapshot.d.ts +3 -0
  69. package/dist/presentation/tui/daemon-subprocesses/DaemonEventSnapshot.d.ts.map +1 -1
  70. package/dist/presentation/tui/daemon-subprocesses/DaemonOutputEventParser.d.ts.map +1 -1
  71. package/dist/presentation/tui/daemon-subprocesses/DaemonOutputEventParser.js +2 -0
  72. package/dist/presentation/tui/daemon-subprocesses/DaemonOutputEventParser.js.map +1 -1
  73. package/dist/presentation/tui/daemon-subprocesses/ManagedSubprocess.d.ts +2 -0
  74. package/dist/presentation/tui/daemon-subprocesses/ManagedSubprocess.d.ts.map +1 -1
  75. package/dist/presentation/tui/daemon-subprocesses/SubprocessLifecycleEventRecorder.d.ts +2 -0
  76. package/dist/presentation/tui/daemon-subprocesses/SubprocessLifecycleEventRecorder.d.ts.map +1 -1
  77. package/dist/presentation/tui/daemon-subprocesses/SubprocessLifecycleEventRecorder.js +49 -1
  78. package/dist/presentation/tui/daemon-subprocesses/SubprocessLifecycleEventRecorder.js.map +1 -1
  79. package/dist/presentation/tui/daemon-subprocesses/SubprocessManager.d.ts +3 -0
  80. package/dist/presentation/tui/daemon-subprocesses/SubprocessManager.d.ts.map +1 -1
  81. package/dist/presentation/tui/daemon-subprocesses/SubprocessManager.js +61 -1
  82. package/dist/presentation/tui/daemon-subprocesses/SubprocessManager.js.map +1 -1
  83. package/dist/presentation/tui/project-initialization/Constants.d.ts +1 -1
  84. package/dist/presentation/tui/project-initialization/Constants.js +1 -1
  85. package/dist/presentation/tui/project-initialization/Constants.js.map +1 -1
  86. package/dist/presentation/tui/project-initialization/InitFlow.js +3 -3
  87. package/dist/presentation/tui/project-initialization/InitFlow.js.map +1 -1
  88. package/package.json +1 -1
  89. package/assets/agent-files/json/gemini-settings.fragment.json +0 -41
  90. package/assets/gemini-logo.svg +0 -1
  91. package/dist/infrastructure/context/project/init/GeminiConfigurer.d.ts +0 -45
  92. package/dist/infrastructure/context/project/init/GeminiConfigurer.d.ts.map +0 -1
  93. package/dist/infrastructure/context/project/init/GeminiConfigurer.js +0 -126
  94. package/dist/infrastructure/context/project/init/GeminiConfigurer.js.map +0 -1
  95. package/dist/infrastructure/context/project/init/SafeGeminiSettingsMerger.d.ts +0 -75
  96. package/dist/infrastructure/context/project/init/SafeGeminiSettingsMerger.d.ts.map +0 -1
  97. package/dist/infrastructure/context/project/init/SafeGeminiSettingsMerger.js +0 -150
  98. package/dist/infrastructure/context/project/init/SafeGeminiSettingsMerger.js.map +0 -1
@@ -0,0 +1,300 @@
1
+ /**
2
+ * Infrastructure: Antigravity CLI Configurer
3
+ *
4
+ * Encapsulates Antigravity workspace configuration:
5
+ * - GEMINI.md compatibility reference to JUMBO.md
6
+ * - workspace skills distributed through .agents/skills
7
+ *
8
+ * Operations are idempotent and gracefully handle errors.
9
+ */
10
+ import path from "path";
11
+ import fs from "fs-extra";
12
+ import { AgentFileReferenceContent } from "../../../../domain/project/AgentFileReferenceContent.js";
13
+ export class AntigravityConfigurer {
14
+ constructor() {
15
+ this.agent = {
16
+ id: "antigravity",
17
+ name: "Antigravity",
18
+ };
19
+ this.skillPlatforms = [".agents/skills"];
20
+ }
21
+ /**
22
+ * Configure all Antigravity CLI requirements for Jumbo.
23
+ *
24
+ * @param projectRoot Absolute path to project root directory
25
+ */
26
+ async configure(projectRoot) {
27
+ await this.ensureGeminiMdCompatibility(projectRoot);
28
+ await this.removeLegacyGeminiConfigs(projectRoot);
29
+ await this.removeLegacyAntigravityHooks(projectRoot);
30
+ }
31
+ /**
32
+ * Ensure GEMINI.md exists because Antigravity documents compatibility with it.
33
+ */
34
+ async ensureGeminiMdCompatibility(projectRoot) {
35
+ const geminiMdPath = path.join(projectRoot, "GEMINI.md");
36
+ const reference = AgentFileReferenceContent.getAgentFileReference("GEMINI.md");
37
+ try {
38
+ const exists = await fs.pathExists(geminiMdPath);
39
+ if (!exists) {
40
+ await fs.writeFile(geminiMdPath, reference, "utf-8");
41
+ return;
42
+ }
43
+ const content = await fs.readFile(geminiMdPath, "utf-8");
44
+ if (!content.includes("JUMBO.md")) {
45
+ const updatedContent = content.trimEnd() + "\n\n" + reference;
46
+ await fs.writeFile(geminiMdPath, updatedContent, "utf-8");
47
+ }
48
+ }
49
+ catch (error) {
50
+ console.warn(`Warning: Failed to update Antigravity GEMINI.md compatibility file: ${error instanceof Error ? error.message : String(error)}`);
51
+ }
52
+ }
53
+ /**
54
+ * Repair Antigravity configuration by replacing stale managed content.
55
+ */
56
+ async repair(projectRoot) {
57
+ await this.repairGeminiMdCompatibility(projectRoot);
58
+ await this.removeLegacyGeminiConfigs(projectRoot);
59
+ await this.removeLegacyAntigravityHooks(projectRoot);
60
+ }
61
+ /**
62
+ * Repair GEMINI.md by replacing legacy Jumbo reference content.
63
+ */
64
+ async repairGeminiMdCompatibility(projectRoot) {
65
+ const geminiMdPath = path.join(projectRoot, "GEMINI.md");
66
+ const reference = AgentFileReferenceContent.getAgentFileReference("GEMINI.md");
67
+ try {
68
+ const exists = await fs.pathExists(geminiMdPath);
69
+ if (!exists) {
70
+ await fs.writeFile(geminiMdPath, reference, "utf-8");
71
+ return;
72
+ }
73
+ const content = await fs.readFile(geminiMdPath, "utf-8");
74
+ const replaced = AgentFileReferenceContent.replaceAgentFileReference(content, "GEMINI.md");
75
+ if (replaced !== null) {
76
+ await fs.writeFile(geminiMdPath, replaced, "utf-8");
77
+ }
78
+ else if (!content.includes("JUMBO.md")) {
79
+ const updatedContent = content.trimEnd() + "\n\n" + reference;
80
+ await fs.writeFile(geminiMdPath, updatedContent, "utf-8");
81
+ }
82
+ }
83
+ catch (error) {
84
+ console.warn(`Warning: Failed to repair Antigravity GEMINI.md compatibility file: ${error instanceof Error ? error.message : String(error)}`);
85
+ }
86
+ }
87
+ /**
88
+ * Return what changes this configurer will make without executing.
89
+ */
90
+ async getPlannedFileChanges(projectRoot) {
91
+ const changes = [];
92
+ const geminiMdPath = path.join(projectRoot, "GEMINI.md");
93
+ changes.push({
94
+ path: "GEMINI.md",
95
+ action: (await fs.pathExists(geminiMdPath)) ? "modify" : "create",
96
+ description: "Add Antigravity-compatible Jumbo instructions",
97
+ });
98
+ const hooksPath = path.join(projectRoot, ".agents", "hooks.json");
99
+ if (await fs.pathExists(hooksPath)) {
100
+ changes.push({
101
+ path: ".agents/hooks.json",
102
+ action: "modify",
103
+ description: "Remove legacy Antigravity hook configuration",
104
+ });
105
+ }
106
+ const hookRunnerPath = this.getHookRunnerPath(projectRoot);
107
+ if (await fs.pathExists(hookRunnerPath)) {
108
+ changes.push({
109
+ path: ".agents/jumbo/antigravity-hook.mjs",
110
+ action: "modify",
111
+ description: "Remove legacy Antigravity hook runner",
112
+ });
113
+ }
114
+ const geminiSettingsPath = path.join(projectRoot, ".gemini", "settings.json");
115
+ if (await fs.pathExists(geminiSettingsPath)) {
116
+ changes.push({
117
+ path: ".gemini/settings.json",
118
+ action: "modify",
119
+ description: "Remove legacy Gemini settings and Jumbo hook configs",
120
+ });
121
+ }
122
+ const geminiSkillsPath = path.join(projectRoot, ".gemini", "skills");
123
+ if (await fs.pathExists(geminiSkillsPath)) {
124
+ changes.push({
125
+ path: ".gemini/skills",
126
+ action: "modify",
127
+ description: "Remove legacy Gemini skills",
128
+ });
129
+ }
130
+ return changes;
131
+ }
132
+ async removeLegacyAntigravityHooks(projectRoot) {
133
+ const agentsDir = path.join(projectRoot, ".agents");
134
+ if (!(await fs.pathExists(agentsDir))) {
135
+ return;
136
+ }
137
+ // 1. Delete hook runner
138
+ const runnerPath = this.getHookRunnerPath(projectRoot);
139
+ if (await fs.pathExists(runnerPath)) {
140
+ await fs.remove(runnerPath);
141
+ }
142
+ const jumboDir = path.dirname(runnerPath);
143
+ if (await fs.pathExists(jumboDir)) {
144
+ try {
145
+ const files = await fs.readdir(jumboDir);
146
+ if (files.length === 0) {
147
+ await fs.remove(jumboDir);
148
+ }
149
+ }
150
+ catch {
151
+ // Ignore
152
+ }
153
+ }
154
+ // 2. Clean jumbo-session-bootstrap hook from .agents/hooks.json
155
+ const hooksPath = path.join(projectRoot, ".agents", "hooks.json");
156
+ if (await fs.pathExists(hooksPath)) {
157
+ try {
158
+ const content = await fs.readFile(hooksPath, "utf-8");
159
+ if (content.trim()) {
160
+ const hooks = JSON.parse(content);
161
+ if (hooks["jumbo-session-bootstrap"]) {
162
+ delete hooks["jumbo-session-bootstrap"];
163
+ if (Object.keys(hooks).length === 0) {
164
+ await fs.remove(hooksPath);
165
+ }
166
+ else {
167
+ await fs.writeFile(hooksPath, JSON.stringify(hooks, null, 2) + "\n", "utf-8");
168
+ }
169
+ }
170
+ }
171
+ }
172
+ catch (error) {
173
+ console.warn(`Warning: Failed to clean legacy hooks in .agents/hooks.json: ${error instanceof Error ? error.message : String(error)}`);
174
+ }
175
+ }
176
+ }
177
+ async removeLegacyGeminiConfigs(projectRoot) {
178
+ const geminiDir = path.join(projectRoot, ".gemini");
179
+ if (!(await fs.pathExists(geminiDir))) {
180
+ return;
181
+ }
182
+ // 1. Clean up .gemini/settings.json
183
+ const settingsPath = path.join(geminiDir, "settings.json");
184
+ if (await fs.pathExists(settingsPath)) {
185
+ try {
186
+ const content = await fs.readFile(settingsPath, "utf-8");
187
+ if (content.trim()) {
188
+ const parsedSettings = JSON.parse(content);
189
+ if (!AntigravityConfigurer.isObject(parsedSettings)) {
190
+ return;
191
+ }
192
+ const settings = parsedSettings;
193
+ // Remove jumbo-specific hooks
194
+ if (AntigravityConfigurer.isObject(settings.hooks)) {
195
+ for (const eventType of Object.keys(settings.hooks)) {
196
+ const matchers = settings.hooks[eventType];
197
+ if (Array.isArray(matchers)) {
198
+ const cleanedMatchers = matchers
199
+ .map((matcher) => {
200
+ if (AntigravityConfigurer.isObject(matcher) && Array.isArray(matcher.hooks)) {
201
+ matcher.hooks = matcher.hooks.filter((hook) => {
202
+ return AntigravityConfigurer.shouldKeepLegacyHook(hook);
203
+ });
204
+ }
205
+ return matcher;
206
+ })
207
+ .filter((matcher) => {
208
+ return AntigravityConfigurer.isObject(matcher) && Array.isArray(matcher.hooks) && matcher.hooks.length > 0;
209
+ });
210
+ settings.hooks[eventType] = cleanedMatchers;
211
+ if (cleanedMatchers.length === 0) {
212
+ delete settings.hooks[eventType];
213
+ }
214
+ }
215
+ }
216
+ if (Object.keys(settings.hooks).length === 0) {
217
+ delete settings.hooks;
218
+ }
219
+ }
220
+ // Remove jumbo-specific allowed tools
221
+ if (AntigravityConfigurer.isObject(settings.tools) && Array.isArray(settings.tools.allowed)) {
222
+ const allowedTools = settings.tools.allowed.filter((tool) => {
223
+ return typeof tool === "string" && !tool.includes("jumbo") && !tool.includes("antigravity-hook.mjs");
224
+ });
225
+ settings.tools.allowed = allowedTools;
226
+ if (allowedTools.length === 0) {
227
+ delete settings.tools.allowed;
228
+ }
229
+ }
230
+ if (settings.tools && Object.keys(settings.tools).length === 0) {
231
+ delete settings.tools;
232
+ }
233
+ // If settings is now empty, delete settings.json (and backups)
234
+ if (Object.keys(settings).length === 0) {
235
+ await fs.remove(settingsPath);
236
+ const files = await fs.readdir(geminiDir);
237
+ for (const file of files) {
238
+ if (file.startsWith("settings.json.backup.")) {
239
+ await fs.remove(path.join(geminiDir, file));
240
+ }
241
+ }
242
+ }
243
+ else {
244
+ await fs.writeFile(settingsPath, JSON.stringify(settings, null, 2) + "\n", "utf-8");
245
+ }
246
+ }
247
+ }
248
+ catch (error) {
249
+ console.warn(`Warning: Failed to clean legacy settings in .gemini/settings.json: ${error instanceof Error ? error.message : String(error)}`);
250
+ }
251
+ }
252
+ // 2. Clean up obsolete Jumbo-managed skills in .gemini/skills
253
+ const skillsDir = path.join(geminiDir, "skills");
254
+ if (await fs.pathExists(skillsDir)) {
255
+ try {
256
+ const skillEntries = await fs.readdir(skillsDir);
257
+ for (const skillName of skillEntries) {
258
+ const skillPath = path.join(skillsDir, skillName);
259
+ const stat = await fs.stat(skillPath);
260
+ if (stat.isDirectory()) {
261
+ await fs.remove(skillPath);
262
+ }
263
+ }
264
+ const remainingSkills = await fs.readdir(skillsDir);
265
+ if (remainingSkills.length === 0) {
266
+ await fs.remove(skillsDir);
267
+ }
268
+ }
269
+ catch (error) {
270
+ console.warn(`Warning: Failed to clean legacy skills in .gemini/skills: ${error instanceof Error ? error.message : String(error)}`);
271
+ }
272
+ }
273
+ // 3. Remove .gemini directory if it is now empty
274
+ try {
275
+ const remainingFiles = await fs.readdir(geminiDir);
276
+ if (remainingFiles.length === 0) {
277
+ await fs.remove(geminiDir);
278
+ }
279
+ }
280
+ catch (error) {
281
+ // Ignore
282
+ }
283
+ }
284
+ getHookRunnerPath(projectRoot) {
285
+ return path.join(projectRoot, ".agents", "jumbo", "antigravity-hook.mjs");
286
+ }
287
+ static isObject(value) {
288
+ return typeof value === "object" && value !== null && !Array.isArray(value);
289
+ }
290
+ static shouldKeepLegacyHook(hook) {
291
+ if (!hook) {
292
+ return false;
293
+ }
294
+ if (AntigravityConfigurer.isObject(hook) && typeof hook.command === "string") {
295
+ return !hook.command.includes("jumbo");
296
+ }
297
+ return true;
298
+ }
299
+ }
300
+ //# sourceMappingURL=AntigravityConfigurer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AntigravityConfigurer.js","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/AntigravityConfigurer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ export interface AntigravityHookHandler {
2
+ type?: "command";
3
+ command: string;
4
+ timeout?: number;
5
+ }
6
+ export interface AntigravityToolHookMatcher {
7
+ matcher: string;
8
+ hooks: AntigravityHookHandler[];
9
+ }
10
+ export interface AntigravityHookDefinition {
11
+ enabled?: boolean;
12
+ PreToolUse?: AntigravityToolHookMatcher[];
13
+ PostToolUse?: AntigravityToolHookMatcher[];
14
+ PreInvocation?: AntigravityHookHandler[];
15
+ PostInvocation?: AntigravityHookHandler[];
16
+ Stop?: AntigravityHookHandler[];
17
+ [eventName: string]: boolean | AntigravityToolHookMatcher[] | AntigravityHookHandler[] | undefined;
18
+ }
19
+ export type AntigravityHooksDocument = Record<string, AntigravityHookDefinition>;
20
+ export declare class SafeAntigravityHooksMerger {
21
+ /**
22
+ * Merges Jumbo-managed hook definitions into .agents/hooks.json.
23
+ *
24
+ * Existing user hook definitions and unknown fields are preserved. Hook handlers
25
+ * are deduplicated by command content, so repeated init or repair remains idempotent.
26
+ */
27
+ static mergeHooks(projectRoot: string, newHooks: AntigravityHooksDocument): Promise<void>;
28
+ private static mergeDocuments;
29
+ private static mergeHookDefinition;
30
+ private static mergeToolHookMatchers;
31
+ private static mergeHookHandlers;
32
+ private static isToolMatcherEvent;
33
+ private static getHandlerKey;
34
+ }
35
+ //# sourceMappingURL=SafeAntigravityHooksMerger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SafeAntigravityHooksMerger.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/SafeAntigravityHooksMerger.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,sBAAsB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,0BAA0B,EAAE,CAAC;IAC1C,WAAW,CAAC,EAAE,0BAA0B,EAAE,CAAC;IAC3C,aAAa,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACzC,cAAc,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAC1C,IAAI,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAChC,CAAC,SAAS,EAAE,MAAM,GACd,OAAO,GACP,0BAA0B,EAAE,GAC5B,sBAAsB,EAAE,GACxB,SAAS,CAAC;CACf;AAED,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;AAEjF,qBAAa,0BAA0B;IACrC;;;;;OAKG;WACU,UAAU,CACrB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,wBAAwB,GACjC,OAAO,CAAC,IAAI,CAAC;IA6BhB,OAAO,CAAC,MAAM,CAAC,cAAc;IAa7B,OAAO,CAAC,MAAM,CAAC,mBAAmB;IA6ClC,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAwBpC,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAiBhC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAIjC,OAAO,CAAC,MAAM,CAAC,aAAa;CAG7B"}
@@ -0,0 +1,105 @@
1
+ import fs from "fs-extra";
2
+ import path from "path";
3
+ export class SafeAntigravityHooksMerger {
4
+ /**
5
+ * Merges Jumbo-managed hook definitions into .agents/hooks.json.
6
+ *
7
+ * Existing user hook definitions and unknown fields are preserved. Hook handlers
8
+ * are deduplicated by command content, so repeated init or repair remains idempotent.
9
+ */
10
+ static async mergeHooks(projectRoot, newHooks) {
11
+ const hooksPath = path.join(projectRoot, ".agents", "hooks.json");
12
+ const backupPath = `${hooksPath}.backup.${Date.now()}`;
13
+ await fs.ensureDir(path.join(projectRoot, ".agents"));
14
+ if (await fs.pathExists(hooksPath)) {
15
+ await fs.copy(hooksPath, backupPath);
16
+ }
17
+ try {
18
+ let existing = {};
19
+ if (await fs.pathExists(hooksPath)) {
20
+ const content = await fs.readFile(hooksPath, "utf-8");
21
+ if (content.trim()) {
22
+ existing = JSON.parse(content);
23
+ }
24
+ }
25
+ const merged = this.mergeDocuments(existing, newHooks);
26
+ await fs.writeFile(hooksPath, JSON.stringify(merged, null, 2) + "\n", "utf-8");
27
+ }
28
+ catch (error) {
29
+ if (await fs.pathExists(backupPath)) {
30
+ await fs.copy(backupPath, hooksPath, { overwrite: true });
31
+ }
32
+ throw error;
33
+ }
34
+ }
35
+ static mergeDocuments(existing, additions) {
36
+ const merged = { ...existing };
37
+ for (const [hookName, hookDefinition] of Object.entries(additions)) {
38
+ merged[hookName] = this.mergeHookDefinition(merged[hookName], hookDefinition);
39
+ }
40
+ return merged;
41
+ }
42
+ static mergeHookDefinition(existing, addition) {
43
+ if (existing === undefined) {
44
+ return addition;
45
+ }
46
+ const merged = { ...existing };
47
+ if (addition.enabled !== undefined) {
48
+ merged.enabled = existing.enabled ?? addition.enabled;
49
+ }
50
+ for (const eventName of Object.keys(addition)) {
51
+ if (eventName === "enabled") {
52
+ continue;
53
+ }
54
+ const additionValue = addition[eventName];
55
+ if (!Array.isArray(additionValue)) {
56
+ continue;
57
+ }
58
+ const existingValue = existing[eventName];
59
+ if (this.isToolMatcherEvent(eventName)) {
60
+ merged[eventName] = this.mergeToolHookMatchers(Array.isArray(existingValue)
61
+ ? existingValue
62
+ : [], additionValue);
63
+ }
64
+ else {
65
+ merged[eventName] = this.mergeHookHandlers(Array.isArray(existingValue)
66
+ ? existingValue
67
+ : [], additionValue);
68
+ }
69
+ }
70
+ return merged;
71
+ }
72
+ static mergeToolHookMatchers(existing, additions) {
73
+ const merged = [...existing];
74
+ for (const addition of additions) {
75
+ const existingIndex = merged.findIndex((matcher) => matcher.matcher === addition.matcher);
76
+ if (existingIndex === -1) {
77
+ merged.push(addition);
78
+ continue;
79
+ }
80
+ const existingMatcher = merged[existingIndex];
81
+ merged[existingIndex] = {
82
+ ...existingMatcher,
83
+ hooks: this.mergeHookHandlers(existingMatcher.hooks, addition.hooks),
84
+ };
85
+ }
86
+ return merged;
87
+ }
88
+ static mergeHookHandlers(existing, additions) {
89
+ const handlersByKey = new Map();
90
+ for (const handler of existing) {
91
+ handlersByKey.set(this.getHandlerKey(handler), handler);
92
+ }
93
+ for (const handler of additions) {
94
+ handlersByKey.set(this.getHandlerKey(handler), handler);
95
+ }
96
+ return Array.from(handlersByKey.values());
97
+ }
98
+ static isToolMatcherEvent(eventName) {
99
+ return eventName === "PreToolUse" || eventName === "PostToolUse";
100
+ }
101
+ static getHandlerKey(handler) {
102
+ return `${handler.type ?? "command"}:${handler.command}`;
103
+ }
104
+ }
105
+ //# sourceMappingURL=SafeAntigravityHooksMerger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SafeAntigravityHooksMerger.js","sourceRoot":"","sources":["../../../../../src/infrastructure/context/project/init/SafeAntigravityHooksMerger.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import type { WorkerDaemonConfig, WorkerDaemonName } from "../../application/daemons/WorkerDaemonCatalog.js";
2
2
  import type { IWorkerDaemonProcessController, WorkerDaemonTerminationResult, WorkerDaemonProcess, WorkerDaemonTerminationStrategy } from "../../application/daemons/IWorkerDaemonProcessController.js";
3
3
  export declare class NodeWorkerDaemonProcessController implements IWorkerDaemonProcessController {
4
+ private readonly environment?;
5
+ constructor(environment?: NodeJS.ProcessEnv | undefined);
4
6
  spawnDaemonProcess(name: WorkerDaemonName, config: WorkerDaemonConfig): WorkerDaemonProcess;
5
7
  terminateDaemonProcess(process: WorkerDaemonProcess, timeoutMs?: number): Promise<WorkerDaemonTerminationResult>;
6
8
  getTerminationStrategy(process: WorkerDaemonProcess): WorkerDaemonTerminationStrategy;
@@ -1 +1 @@
1
- {"version":3,"file":"NodeWorkerDaemonProcessController.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/daemons/NodeWorkerDaemonProcessController.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AAC7G,OAAO,KAAK,EACV,8BAA8B,EAE9B,6BAA6B,EAC7B,mBAAmB,EACnB,+BAA+B,EAChC,MAAM,6DAA6D,CAAC;AAUrE,qBAAa,iCAAkC,YAAW,8BAA8B;IACtF,kBAAkB,CAChB,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,kBAAkB,GACzB,mBAAmB;IAgBhB,sBAAsB,CAC1B,OAAO,EAAE,mBAAmB,EAC5B,SAAS,SAA+C,GACvD,OAAO,CAAC,6BAA6B,CAAC;IAgBzC,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,GAAG,+BAA+B;IAQrF,OAAO,CAAC,mBAAmB;CAO5B;AAED,wBAAgB,sCAAsC,CACpD,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,+BAA+B,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,CAgBvE"}
1
+ {"version":3,"file":"NodeWorkerDaemonProcessController.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/daemons/NodeWorkerDaemonProcessController.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AAC7G,OAAO,KAAK,EACV,8BAA8B,EAE9B,6BAA6B,EAC7B,mBAAmB,EACnB,+BAA+B,EAChC,MAAM,6DAA6D,CAAC;AAUrE,qBAAa,iCAAkC,YAAW,8BAA8B;IAC1E,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAAZ,WAAW,CAAC,EAAE,MAAM,CAAC,UAAU,YAAA;IAE5D,kBAAkB,CAChB,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,kBAAkB,GACzB,mBAAmB;IAiBhB,sBAAsB,CAC1B,OAAO,EAAE,mBAAmB,EAC5B,SAAS,SAA+C,GACvD,OAAO,CAAC,6BAA6B,CAAC;IAgBzC,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,GAAG,+BAA+B;IAQrF,OAAO,CAAC,mBAAmB;CAO5B;AAED,wBAAgB,sCAAsC,CACpD,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,+BAA+B,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,CAgBvE"}
@@ -8,6 +8,9 @@ const __filename = fileURLToPath(import.meta.url);
8
8
  const __dirname = path.dirname(__filename);
9
9
  const PRESENTATION_WORK_DAEMON_DIRECTORY_SEGMENTS = ["..", "..", "presentation", "work"];
10
10
  export class NodeWorkerDaemonProcessController {
11
+ constructor(environment) {
12
+ this.environment = environment;
13
+ }
11
14
  spawnDaemonProcess(name, config) {
12
15
  return spawn(process.execPath, [
13
16
  this.resolveDaemonTarget(name),
@@ -21,6 +24,7 @@ export class NodeWorkerDaemonProcessController {
21
24
  cwd: process.cwd(),
22
25
  stdio: ["ignore", "pipe", "pipe"],
23
26
  detached: process.platform !== "win32",
27
+ ...(this.environment === undefined ? {} : { env: this.environment }),
24
28
  });
25
29
  }
26
30
  async terminateDaemonProcess(process, timeoutMs = DEFAULT_WORKER_DAEMON_TERMINATION_TIMEOUT_MS) {
@@ -51,7 +55,7 @@ export function getNodeWorkerDaemonTerminationStrategy(platform, pid) {
51
55
  return {
52
56
  kind: "windows-tree",
53
57
  command: "taskkill",
54
- args: ["/T", "/PID", String(pid)],
58
+ args: ["/F", "/T", "/PID", String(pid)],
55
59
  escalationArgs: ["/F", "/T", "/PID", String(pid)],
56
60
  };
57
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NodeWorkerDaemonProcessController.js","sourceRoot":"","sources":["../../../src/infrastructure/daemons/NodeWorkerDaemonProcessController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NodeWorkerDaemonProcessController.js","sourceRoot":"","sources":["../../../src/infrastructure/daemons/NodeWorkerDaemonProcessController.ts"],"names":[],"mappings":"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"}
@@ -110,7 +110,7 @@ export class GoalListOutputBuilder {
110
110
  }
111
111
  }
112
112
  }
113
- let output = lines.join("\n");
113
+ const output = lines.join("\n");
114
114
  this.builder.addPrompt(output);
115
115
  return this.builder.build();
116
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GoalListOutputBuilder.js","sourceRoot":"","sources":["../../../../../../src/presentation/cli/commands/goals/list/GoalListOutputBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAGjF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAE3G;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAqC;IAC5D,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,CAAC;IACd,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,CAAC;IACZ,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,CAAC;IACb,eAAe,EAAE,CAAC;IAClB,WAAW,EAAE,CAAC;IACd,SAAS,EAAE,EAAE;IACb,SAAS,EAAE,EAAE;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,eAAe,GAAqC;IACxD,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,YAAY;IACxB,eAAe,EAAE,iBAAiB;IAClC,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;CACvB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,OAAO,qBAAqB;IAGhC;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,OAAe;QAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,kBAAkB;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC,2CAA2C,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;OAKG;IACH,oBAAoB,CAAC,WAAuB;QAC1C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAErB,wBAAwB;QACxB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAsB,CAAC;QACnD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAClD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;QAED,gDAAgD;QAChD,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1F,CAAC;QAED,uCAAuC;QACvC,MAAM,eAAe,GAAG,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CACnD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAC5D,CAAC;QAEF,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE5D,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;YACxC,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC;YAC7E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,GAAG,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC1B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9D,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC3C,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC1D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,qBAAqB,CAAC,WAAuB;QAC3C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAErB,MAAM,WAAW,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAW,EAAE,CAAW,EAAE,EAAE;YACrE,MAAM,UAAU,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACnF,IAAI,UAAU,KAAK,CAAC;gBAAE,OAAO,UAAU,CAAC;YACxC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YACnB,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAC,CAAC;YACH,KAAK,EAAE,WAAW,CAAC,MAAM;SAC1B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,KAAqB;QACrC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YACnB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;SACxD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;CACF"}
1
+ {"version":3,"file":"GoalListOutputBuilder.js","sourceRoot":"","sources":["../../../../../../src/presentation/cli/commands/goals/list/GoalListOutputBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAGjF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAE3G;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAqC;IAC5D,UAAU,EAAE,CAAC;IACb,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,CAAC;IACd,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,CAAC;IACZ,WAAW,EAAE,CAAC;IACd,UAAU,EAAE,CAAC;IACb,eAAe,EAAE,CAAC;IAClB,WAAW,EAAE,CAAC;IACd,SAAS,EAAE,EAAE;IACb,SAAS,EAAE,EAAE;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,eAAe,GAAqC;IACxD,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,YAAY;IACxB,eAAe,EAAE,iBAAiB;IAClC,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;CACvB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,OAAO,qBAAqB;IAGhC;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,OAAe;QAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,kBAAkB;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC,2CAA2C,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;OAKG;IACH,oBAAoB,CAAC,WAAuB;QAC1C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAErB,wBAAwB;QACxB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAsB,CAAC;QACnD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAClD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;QAED,gDAAgD;QAChD,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1F,CAAC;QAED,uCAAuC;QACvC,MAAM,eAAe,GAAG,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CACnD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAC5D,CAAC;QAEF,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE5D,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;YACxC,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC;YAC7E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,GAAG,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC1B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9D,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC3C,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC1D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,qBAAqB,CAAC,WAAuB;QAC3C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAErB,MAAM,WAAW,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAW,EAAE,CAAW,EAAE,EAAE;YACrE,MAAM,UAAU,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACnF,IAAI,UAAU,KAAK,CAAC;gBAAE,OAAO,UAAU,CAAC;YACxC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YACnB,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAC,CAAC;YACH,KAAK,EAAE,WAAW,CAAC,MAAM;SAC1B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,KAAqB;QACrC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YACnB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;SACxD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;CACF"}
@@ -400,7 +400,7 @@ export async function projectInit(options, container) {
400
400
  }
401
401
  // Determine project details and primitives based on mode
402
402
  let projectDetails;
403
- let primitives = {
403
+ const primitives = {
404
404
  audiences: [],
405
405
  audiencePains: [],
406
406
  valuePropositions: [],