@autonav/core 1.5.0 → 1.7.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/README.md +2 -2
- package/dist/adapter/index.d.ts +3 -3
- package/dist/adapter/index.d.ts.map +1 -1
- package/dist/adapter/index.js +3 -3
- package/dist/adapter/index.js.map +1 -1
- package/dist/adapter/navigator-adapter.d.ts +196 -0
- package/dist/adapter/navigator-adapter.d.ts.map +1 -0
- package/dist/adapter/navigator-adapter.js +579 -0
- package/dist/adapter/navigator-adapter.js.map +1 -0
- package/dist/cli/autonav.d.ts +2 -5
- package/dist/cli/autonav.d.ts.map +1 -1
- package/dist/cli/autonav.js +35 -49
- package/dist/cli/autonav.js.map +1 -1
- package/dist/cli/nav-chat.d.ts +2 -1
- package/dist/cli/nav-chat.d.ts.map +1 -1
- package/dist/cli/nav-chat.js +32 -3
- package/dist/cli/nav-chat.js.map +1 -1
- package/dist/cli/nav-init.d.ts +2 -1
- package/dist/cli/nav-init.d.ts.map +1 -1
- package/dist/cli/nav-init.js +12 -4
- package/dist/cli/nav-init.js.map +1 -1
- package/dist/cli/nav-install.d.ts +2 -1
- package/dist/cli/nav-install.d.ts.map +1 -1
- package/dist/cli/nav-install.js +4 -2
- package/dist/cli/nav-install.js.map +1 -1
- package/dist/cli/nav-memento.d.ts +21 -0
- package/dist/cli/nav-memento.d.ts.map +1 -0
- package/dist/cli/nav-memento.js +185 -0
- package/dist/cli/nav-memento.js.map +1 -0
- package/dist/cli/nav-mend.d.ts +2 -1
- package/dist/cli/nav-mend.d.ts.map +1 -1
- package/dist/cli/nav-mend.js +4 -1
- package/dist/cli/nav-mend.js.map +1 -1
- package/dist/cli/nav-migrate.d.ts +2 -1
- package/dist/cli/nav-migrate.d.ts.map +1 -1
- package/dist/cli/nav-migrate.js +2 -6
- package/dist/cli/nav-migrate.js.map +1 -1
- package/dist/cli/nav-query.d.ts +2 -1
- package/dist/cli/nav-query.d.ts.map +1 -1
- package/dist/cli/nav-query.js +12 -6
- package/dist/cli/nav-query.js.map +1 -1
- package/dist/cli/nav-standup.d.ts +18 -0
- package/dist/cli/nav-standup.d.ts.map +1 -0
- package/dist/cli/nav-standup.js +151 -0
- package/dist/cli/nav-standup.js.map +1 -0
- package/dist/cli/nav-uninstall.d.ts +2 -1
- package/dist/cli/nav-uninstall.d.ts.map +1 -1
- package/dist/cli/nav-uninstall.js +4 -2
- package/dist/cli/nav-uninstall.js.map +1 -1
- package/dist/cli/nav-update.d.ts +2 -1
- package/dist/cli/nav-update.d.ts.map +1 -1
- package/dist/cli/nav-update.js +11 -6
- package/dist/cli/nav-update.js.map +1 -1
- package/dist/conversation/App.d.ts +9 -2
- package/dist/conversation/App.d.ts.map +1 -1
- package/dist/conversation/App.js +304 -111
- package/dist/conversation/App.js.map +1 -1
- package/dist/conversation/index.d.ts +5 -0
- package/dist/conversation/index.d.ts.map +1 -1
- package/dist/conversation/index.js +17 -2
- package/dist/conversation/index.js.map +1 -1
- package/dist/harness/chibi-harness.d.ts +36 -0
- package/dist/harness/chibi-harness.d.ts.map +1 -0
- package/dist/harness/chibi-harness.js +383 -0
- package/dist/harness/chibi-harness.js.map +1 -0
- package/dist/harness/chibi-plugins/get_plugin_config +64 -0
- package/dist/harness/chibi-plugins/query_navigator +114 -0
- package/dist/harness/chibi-plugins/submit_answer +38 -0
- package/dist/harness/chibi-plugins/update_plugin_config +91 -0
- package/dist/harness/claude-code-harness.d.ts +24 -0
- package/dist/harness/claude-code-harness.d.ts.map +1 -0
- package/dist/harness/claude-code-harness.js +242 -0
- package/dist/harness/claude-code-harness.js.map +1 -0
- package/dist/harness/ephemeral-home.d.ts +34 -0
- package/dist/harness/ephemeral-home.d.ts.map +1 -0
- package/dist/harness/ephemeral-home.js +56 -0
- package/dist/harness/ephemeral-home.js.map +1 -0
- package/dist/harness/factory.d.ts +47 -0
- package/dist/harness/factory.d.ts.map +1 -0
- package/dist/harness/factory.js +84 -0
- package/dist/harness/factory.js.map +1 -0
- package/dist/harness/helpers.d.ts +58 -0
- package/dist/harness/helpers.d.ts.map +1 -0
- package/dist/harness/helpers.js +78 -0
- package/dist/harness/helpers.js.map +1 -0
- package/dist/harness/index.d.ts +14 -0
- package/dist/harness/index.d.ts.map +1 -0
- package/dist/harness/index.js +13 -0
- package/dist/harness/index.js.map +1 -0
- package/dist/harness/opencode-harness.d.ts +79 -0
- package/dist/harness/opencode-harness.d.ts.map +1 -0
- package/dist/harness/opencode-harness.js +537 -0
- package/dist/harness/opencode-harness.js.map +1 -0
- package/dist/harness/opencode-tools/get_plugin_config.ts +72 -0
- package/dist/harness/opencode-tools/query_navigator.ts +126 -0
- package/dist/harness/opencode-tools/submit_answer.ts +40 -0
- package/dist/harness/opencode-tools/update_plugin_config.ts +105 -0
- package/dist/harness/sandbox.d.ts +59 -0
- package/dist/harness/sandbox.d.ts.map +1 -0
- package/dist/harness/sandbox.js +152 -0
- package/dist/harness/sandbox.js.map +1 -0
- package/dist/harness/tool-server.d.ts +50 -0
- package/dist/harness/tool-server.d.ts.map +1 -0
- package/dist/harness/tool-server.js +27 -0
- package/dist/harness/tool-server.js.map +1 -0
- package/dist/harness/types.d.ts +168 -0
- package/dist/harness/types.d.ts.map +1 -0
- package/dist/harness/types.js +12 -0
- package/dist/harness/types.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/interview/App.d.ts +4 -2
- package/dist/interview/App.d.ts.map +1 -1
- package/dist/interview/App.js +36 -56
- package/dist/interview/App.js.map +1 -1
- package/dist/interview/index.d.ts +3 -0
- package/dist/interview/index.d.ts.map +1 -1
- package/dist/interview/index.js +1 -0
- package/dist/interview/index.js.map +1 -1
- package/dist/interview/prompts.d.ts +3 -1
- package/dist/interview/prompts.d.ts.map +1 -1
- package/dist/interview/prompts.js +5 -1
- package/dist/interview/prompts.js.map +1 -1
- package/dist/interview/ui/ChatBanner.d.ts +17 -0
- package/dist/interview/ui/ChatBanner.d.ts.map +1 -0
- package/dist/interview/ui/ChatBanner.js +30 -0
- package/dist/interview/ui/ChatBanner.js.map +1 -0
- package/dist/interview/ui/ChatInput.d.ts +36 -0
- package/dist/interview/ui/ChatInput.d.ts.map +1 -0
- package/dist/interview/ui/ChatInput.js +304 -0
- package/dist/interview/ui/ChatInput.js.map +1 -0
- package/dist/interview/ui/MarkdownText.d.ts +13 -0
- package/dist/interview/ui/MarkdownText.d.ts.map +1 -0
- package/dist/interview/ui/MarkdownText.js +107 -0
- package/dist/interview/ui/MarkdownText.js.map +1 -0
- package/dist/interview/ui/index.d.ts +3 -0
- package/dist/interview/ui/index.d.ts.map +1 -1
- package/dist/interview/ui/index.js +3 -0
- package/dist/interview/ui/index.js.map +1 -1
- package/dist/memento/git-operations.d.ts +95 -0
- package/dist/memento/git-operations.d.ts.map +1 -0
- package/dist/memento/git-operations.js +256 -0
- package/dist/memento/git-operations.js.map +1 -0
- package/dist/memento/implementer-agent.d.ts +31 -0
- package/dist/memento/implementer-agent.d.ts.map +1 -0
- package/dist/memento/implementer-agent.js +95 -0
- package/dist/memento/implementer-agent.js.map +1 -0
- package/dist/memento/index.d.ts +32 -0
- package/dist/memento/index.d.ts.map +1 -0
- package/dist/memento/index.js +40 -0
- package/dist/memento/index.js.map +1 -0
- package/dist/memento/loop.d.ts +34 -0
- package/dist/memento/loop.d.ts.map +1 -0
- package/dist/memento/loop.js +1227 -0
- package/dist/memento/loop.js.map +1 -0
- package/dist/memento/matrix-animation.d.ts +103 -0
- package/dist/memento/matrix-animation.d.ts.map +1 -0
- package/dist/memento/matrix-animation.js +303 -0
- package/dist/memento/matrix-animation.js.map +1 -0
- package/dist/memento/nav-protocol.d.ts +30 -0
- package/dist/memento/nav-protocol.d.ts.map +1 -0
- package/dist/memento/nav-protocol.js +75 -0
- package/dist/memento/nav-protocol.js.map +1 -0
- package/dist/memento/prompts.d.ts +57 -0
- package/dist/memento/prompts.d.ts.map +1 -0
- package/dist/memento/prompts.js +208 -0
- package/dist/memento/prompts.js.map +1 -0
- package/dist/memento/rate-limit.d.ts +85 -0
- package/dist/memento/rate-limit.d.ts.map +1 -0
- package/dist/memento/rate-limit.js +221 -0
- package/dist/memento/rate-limit.js.map +1 -0
- package/dist/memento/types.d.ts +123 -0
- package/dist/memento/types.d.ts.map +1 -0
- package/dist/memento/types.js +30 -0
- package/dist/memento/types.js.map +1 -0
- package/dist/memento/worker-agent.d.ts +33 -0
- package/dist/memento/worker-agent.d.ts.map +1 -0
- package/dist/memento/worker-agent.js +93 -0
- package/dist/memento/worker-agent.js.map +1 -0
- package/dist/registry.d.ts +35 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +87 -0
- package/dist/registry.js.map +1 -0
- package/dist/repo-analyzer/index.d.ts +2 -1
- package/dist/repo-analyzer/index.d.ts.map +1 -1
- package/dist/repo-analyzer/index.js +6 -17
- package/dist/repo-analyzer/index.js.map +1 -1
- package/dist/standup/config.d.ts +19 -0
- package/dist/standup/config.d.ts.map +1 -0
- package/dist/standup/config.js +42 -0
- package/dist/standup/config.js.map +1 -0
- package/dist/standup/index.d.ts +24 -0
- package/dist/standup/index.d.ts.map +1 -0
- package/dist/standup/index.js +29 -0
- package/dist/standup/index.js.map +1 -0
- package/dist/standup/loop.d.ts +36 -0
- package/dist/standup/loop.d.ts.map +1 -0
- package/dist/standup/loop.js +508 -0
- package/dist/standup/loop.js.map +1 -0
- package/dist/standup/prompts.d.ts +62 -0
- package/dist/standup/prompts.d.ts.map +1 -0
- package/dist/standup/prompts.js +211 -0
- package/dist/standup/prompts.js.map +1 -0
- package/dist/standup/standup-protocol.d.ts +33 -0
- package/dist/standup/standup-protocol.d.ts.map +1 -0
- package/dist/standup/standup-protocol.js +189 -0
- package/dist/standup/standup-protocol.js.map +1 -0
- package/dist/standup/types.d.ts +185 -0
- package/dist/standup/types.d.ts.map +1 -0
- package/dist/standup/types.js +67 -0
- package/dist/standup/types.js.map +1 -0
- package/dist/tools/cross-nav.d.ts +21 -0
- package/dist/tools/cross-nav.d.ts.map +1 -0
- package/dist/tools/cross-nav.js +93 -0
- package/dist/tools/cross-nav.js.map +1 -0
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +1 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/related-navs-config.d.ts +15 -0
- package/dist/tools/related-navs-config.d.ts.map +1 -0
- package/dist/tools/related-navs-config.js +132 -0
- package/dist/tools/related-navs-config.js.map +1 -0
- package/dist/tools/related-navs.d.ts +23 -0
- package/dist/tools/related-navs.d.ts.map +1 -0
- package/dist/tools/related-navs.js +107 -0
- package/dist/tools/related-navs.js.map +1 -0
- package/dist/tools/response.d.ts +3 -2
- package/dist/tools/response.d.ts.map +1 -1
- package/dist/tools/response.js +7 -11
- package/dist/tools/response.js.map +1 -1
- package/dist/tools/self-config.d.ts +2 -1
- package/dist/tools/self-config.d.ts.map +1 -1
- package/dist/tools/self-config.js +5 -9
- package/dist/tools/self-config.js.map +1 -1
- package/package.json +4 -1
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memento Loop Types
|
|
3
|
+
*
|
|
4
|
+
* Core type definitions for the context-clearing iterative development loop
|
|
5
|
+
* that coordinates navigator (planning) and implementer (implementation) agents.
|
|
6
|
+
*
|
|
7
|
+
* Design principle: The IMPLEMENTER forgets between iterations (memento pattern).
|
|
8
|
+
* The NAVIGATOR maintains its own memory. Git commits track implementer progress.
|
|
9
|
+
* All types here are for in-memory use during loop execution.
|
|
10
|
+
*/
|
|
11
|
+
import { z } from "zod";
|
|
12
|
+
/**
|
|
13
|
+
* Schema for implementation plan steps
|
|
14
|
+
*/
|
|
15
|
+
export declare const ImplementationStepSchema: z.ZodObject<{
|
|
16
|
+
description: z.ZodString;
|
|
17
|
+
files: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
18
|
+
commands: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
19
|
+
}, "strip", z.ZodTypeAny, {
|
|
20
|
+
description: string;
|
|
21
|
+
files?: string[] | undefined;
|
|
22
|
+
commands?: string[] | undefined;
|
|
23
|
+
}, {
|
|
24
|
+
description: string;
|
|
25
|
+
files?: string[] | undefined;
|
|
26
|
+
commands?: string[] | undefined;
|
|
27
|
+
}>;
|
|
28
|
+
/**
|
|
29
|
+
* Schema for implementation plan returned by navigator
|
|
30
|
+
*/
|
|
31
|
+
export declare const ImplementationPlanSchema: z.ZodObject<{
|
|
32
|
+
summary: z.ZodString;
|
|
33
|
+
steps: z.ZodArray<z.ZodObject<{
|
|
34
|
+
description: z.ZodString;
|
|
35
|
+
files: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
36
|
+
commands: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
37
|
+
}, "strip", z.ZodTypeAny, {
|
|
38
|
+
description: string;
|
|
39
|
+
files?: string[] | undefined;
|
|
40
|
+
commands?: string[] | undefined;
|
|
41
|
+
}, {
|
|
42
|
+
description: string;
|
|
43
|
+
files?: string[] | undefined;
|
|
44
|
+
commands?: string[] | undefined;
|
|
45
|
+
}>, "many">;
|
|
46
|
+
validationCriteria: z.ZodArray<z.ZodString, "many">;
|
|
47
|
+
isComplete: z.ZodBoolean;
|
|
48
|
+
completionMessage: z.ZodOptional<z.ZodString>;
|
|
49
|
+
}, "strip", z.ZodTypeAny, {
|
|
50
|
+
summary: string;
|
|
51
|
+
steps: {
|
|
52
|
+
description: string;
|
|
53
|
+
files?: string[] | undefined;
|
|
54
|
+
commands?: string[] | undefined;
|
|
55
|
+
}[];
|
|
56
|
+
validationCriteria: string[];
|
|
57
|
+
isComplete: boolean;
|
|
58
|
+
completionMessage?: string | undefined;
|
|
59
|
+
}, {
|
|
60
|
+
summary: string;
|
|
61
|
+
steps: {
|
|
62
|
+
description: string;
|
|
63
|
+
files?: string[] | undefined;
|
|
64
|
+
commands?: string[] | undefined;
|
|
65
|
+
}[];
|
|
66
|
+
validationCriteria: string[];
|
|
67
|
+
isComplete: boolean;
|
|
68
|
+
completionMessage?: string | undefined;
|
|
69
|
+
}>;
|
|
70
|
+
export type ImplementationStep = z.infer<typeof ImplementationStepSchema>;
|
|
71
|
+
export type ImplementationPlan = z.infer<typeof ImplementationPlanSchema>;
|
|
72
|
+
/**
|
|
73
|
+
* Result from implementer agent execution
|
|
74
|
+
*/
|
|
75
|
+
export interface ImplementerResult {
|
|
76
|
+
/** Whether the implementer completed successfully */
|
|
77
|
+
success: boolean;
|
|
78
|
+
/** Summary of what was done */
|
|
79
|
+
summary: string;
|
|
80
|
+
/** Files that were modified */
|
|
81
|
+
filesModified: string[];
|
|
82
|
+
/** Any errors encountered */
|
|
83
|
+
errors?: string[];
|
|
84
|
+
/** Duration in milliseconds */
|
|
85
|
+
durationMs: number;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Command line options for memento command
|
|
89
|
+
*/
|
|
90
|
+
export interface MementoOptions {
|
|
91
|
+
/** Create and push to a new PR when complete */
|
|
92
|
+
pr?: boolean;
|
|
93
|
+
/** Maximum iterations (0 = unlimited) */
|
|
94
|
+
maxIterations: number;
|
|
95
|
+
/** Completion signal text */
|
|
96
|
+
promise: string;
|
|
97
|
+
/** Git branch name for work */
|
|
98
|
+
branch?: string;
|
|
99
|
+
/** Task description (overrides TASK.md) */
|
|
100
|
+
task?: string;
|
|
101
|
+
/** Show detailed logging */
|
|
102
|
+
verbose?: boolean;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Final result of memento loop execution
|
|
106
|
+
*/
|
|
107
|
+
export interface MementoResult {
|
|
108
|
+
/** Whether the task completed successfully */
|
|
109
|
+
success: boolean;
|
|
110
|
+
/** Number of iterations performed */
|
|
111
|
+
iterations: number;
|
|
112
|
+
/** Completion message from nav */
|
|
113
|
+
completionMessage?: string;
|
|
114
|
+
/** PR URL if --pr was used */
|
|
115
|
+
prUrl?: string;
|
|
116
|
+
/** Git branch name */
|
|
117
|
+
branch?: string;
|
|
118
|
+
/** Total duration in milliseconds */
|
|
119
|
+
durationMs: number;
|
|
120
|
+
/** Any errors that occurred */
|
|
121
|
+
errors?: string[];
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/memento/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAInC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAC;IAEjB,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAEhB,+BAA+B;IAC/B,aAAa,EAAE,MAAM,EAAE,CAAC;IAExB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,EAAE,CAAC,EAAE,OAAO,CAAC;IAEb,yCAAyC;IACzC,aAAa,EAAE,MAAM,CAAC;IAEtB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAEhB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,4BAA4B;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;IAEjB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IAEnB,kCAAkC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IAEnB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memento Loop Types
|
|
3
|
+
*
|
|
4
|
+
* Core type definitions for the context-clearing iterative development loop
|
|
5
|
+
* that coordinates navigator (planning) and implementer (implementation) agents.
|
|
6
|
+
*
|
|
7
|
+
* Design principle: The IMPLEMENTER forgets between iterations (memento pattern).
|
|
8
|
+
* The NAVIGATOR maintains its own memory. Git commits track implementer progress.
|
|
9
|
+
* All types here are for in-memory use during loop execution.
|
|
10
|
+
*/
|
|
11
|
+
import { z } from "zod";
|
|
12
|
+
/**
|
|
13
|
+
* Schema for implementation plan steps
|
|
14
|
+
*/
|
|
15
|
+
export const ImplementationStepSchema = z.object({
|
|
16
|
+
description: z.string().describe("What this step accomplishes"),
|
|
17
|
+
files: z.array(z.string()).optional().describe("Files to create or modify"),
|
|
18
|
+
commands: z.array(z.string()).optional().describe("Commands to run"),
|
|
19
|
+
});
|
|
20
|
+
/**
|
|
21
|
+
* Schema for implementation plan returned by navigator
|
|
22
|
+
*/
|
|
23
|
+
export const ImplementationPlanSchema = z.object({
|
|
24
|
+
summary: z.string().describe("Brief summary of what this plan will accomplish"),
|
|
25
|
+
steps: z.array(ImplementationStepSchema).describe("Ordered implementation steps"),
|
|
26
|
+
validationCriteria: z.array(z.string()).describe("How to verify the implementation worked"),
|
|
27
|
+
isComplete: z.boolean().describe("True if the overall task is complete and no more iterations needed"),
|
|
28
|
+
completionMessage: z.string().optional().describe("Message to display when isComplete is true"),
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/memento/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC/D,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IAC3E,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;CACrE,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IAC/E,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACjF,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IAC3F,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,oEAAoE,CAAC;IACtG,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;CAChG,CAAC,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Worker Agent for Memento Loop
|
|
3
|
+
*
|
|
4
|
+
* Executes implementation plans via the harness adapter.
|
|
5
|
+
*/
|
|
6
|
+
import type { ImplementationPlan, WorkerResult } from "./types.js";
|
|
7
|
+
import { type Harness } from "../harness/index.js";
|
|
8
|
+
/**
|
|
9
|
+
* Minimal context for worker (no persisted state)
|
|
10
|
+
*/
|
|
11
|
+
interface WorkerContext {
|
|
12
|
+
codeDirectory: string;
|
|
13
|
+
task: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Options for worker agent execution
|
|
17
|
+
*/
|
|
18
|
+
export interface WorkerAgentOptions {
|
|
19
|
+
/** Show detailed logging */
|
|
20
|
+
verbose?: boolean;
|
|
21
|
+
/** Model to use (defaults to claude-sonnet-4-5) */
|
|
22
|
+
model?: string;
|
|
23
|
+
/** Maximum turns for worker agent */
|
|
24
|
+
maxTurns?: number;
|
|
25
|
+
/** Harness to use (defaults to ClaudeCodeHarness) */
|
|
26
|
+
harness?: Harness;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Run the worker agent to implement a plan
|
|
30
|
+
*/
|
|
31
|
+
export declare function runWorkerAgent(context: WorkerContext, plan: ImplementationPlan, options?: WorkerAgentOptions): Promise<WorkerResult>;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=worker-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-agent.d.ts","sourceRoot":"","sources":["../../src/memento/worker-agent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEnE,OAAO,EAAE,KAAK,OAAO,EAAqB,MAAM,qBAAqB,CAAC;AAEtE;;GAEG;AACH,UAAU,aAAa;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,4BAA4B;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,kBAAkB,EACxB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,YAAY,CAAC,CAoGvB"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Worker Agent for Memento Loop
|
|
3
|
+
*
|
|
4
|
+
* Executes implementation plans via the harness adapter.
|
|
5
|
+
*/
|
|
6
|
+
import { buildWorkerPrompt, buildWorkerSystemPrompt } from "./prompts.js";
|
|
7
|
+
import { ClaudeCodeHarness } from "../harness/index.js";
|
|
8
|
+
/**
|
|
9
|
+
* Run the worker agent to implement a plan
|
|
10
|
+
*/
|
|
11
|
+
export async function runWorkerAgent(context, plan, options = {}) {
|
|
12
|
+
const startTime = Date.now();
|
|
13
|
+
const { verbose = false, model = "claude-sonnet-4-5", maxTurns = 50, harness = new ClaudeCodeHarness(), } = options;
|
|
14
|
+
const prompt = buildWorkerPrompt(context.codeDirectory, plan);
|
|
15
|
+
const systemPrompt = buildWorkerSystemPrompt(context.codeDirectory);
|
|
16
|
+
if (verbose) {
|
|
17
|
+
console.log("\n[Worker] Starting implementation...");
|
|
18
|
+
console.log(`[Worker] Plan: ${plan.summary}`);
|
|
19
|
+
console.log(`[Worker] Steps: ${plan.steps.length}`);
|
|
20
|
+
}
|
|
21
|
+
const filesModified = [];
|
|
22
|
+
let lastAssistantText = "";
|
|
23
|
+
try {
|
|
24
|
+
const session = harness.run({
|
|
25
|
+
model,
|
|
26
|
+
maxTurns,
|
|
27
|
+
systemPrompt,
|
|
28
|
+
cwd: context.codeDirectory,
|
|
29
|
+
permissionMode: "bypassPermissions",
|
|
30
|
+
}, prompt);
|
|
31
|
+
let success = false;
|
|
32
|
+
let resultText = "";
|
|
33
|
+
let errorText = "";
|
|
34
|
+
for await (const event of session) {
|
|
35
|
+
if (event.type === "tool_use") {
|
|
36
|
+
if (verbose) {
|
|
37
|
+
console.log(`[Worker] Tool: ${event.name}`);
|
|
38
|
+
}
|
|
39
|
+
// Extract file paths from common tools
|
|
40
|
+
if (event.name === "Write" ||
|
|
41
|
+
event.name === "Edit" ||
|
|
42
|
+
event.name === "str_replace_based_edit_tool") {
|
|
43
|
+
const filePath = event.input.file_path || event.input.path;
|
|
44
|
+
if (typeof filePath === "string" && !filesModified.includes(filePath)) {
|
|
45
|
+
filesModified.push(filePath);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
else if (event.type === "text") {
|
|
50
|
+
lastAssistantText = event.text;
|
|
51
|
+
}
|
|
52
|
+
else if (event.type === "result") {
|
|
53
|
+
success = event.success;
|
|
54
|
+
resultText = event.text || "";
|
|
55
|
+
if (!event.success) {
|
|
56
|
+
errorText = event.text || "Unknown error";
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
const durationMs = Date.now() - startTime;
|
|
61
|
+
if (!success) {
|
|
62
|
+
return {
|
|
63
|
+
success: false,
|
|
64
|
+
summary: errorText || "Worker failed",
|
|
65
|
+
filesModified,
|
|
66
|
+
errors: [errorText || "Unknown error"],
|
|
67
|
+
durationMs,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
if (verbose) {
|
|
71
|
+
console.log(`[Worker] Completed in ${durationMs}ms`);
|
|
72
|
+
console.log(`[Worker] Files modified: ${filesModified.length}`);
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
success: true,
|
|
76
|
+
summary: resultText || lastAssistantText || "Implementation completed",
|
|
77
|
+
filesModified,
|
|
78
|
+
durationMs,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
const durationMs = Date.now() - startTime;
|
|
83
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
84
|
+
return {
|
|
85
|
+
success: false,
|
|
86
|
+
summary: `Worker error: ${errorMessage}`,
|
|
87
|
+
filesModified,
|
|
88
|
+
errors: [errorMessage],
|
|
89
|
+
durationMs,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=worker-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-agent.js","sourceRoot":"","sources":["../../src/memento/worker-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global Navigator Registry
|
|
3
|
+
*
|
|
4
|
+
* Maps navigator names to filesystem paths. Stored at
|
|
5
|
+
* ~/.config/autonav/navigators.json (or AUTONAV_CONFIG_DIR).
|
|
6
|
+
*
|
|
7
|
+
* Resolution priority for a navigator name:
|
|
8
|
+
* 1. AUTONAV_NAV_PATH_<NAME> env var (uppercased, hyphens → underscores)
|
|
9
|
+
* 2. Global registry file
|
|
10
|
+
*/
|
|
11
|
+
type Registry = Record<string, string>;
|
|
12
|
+
/**
|
|
13
|
+
* Register a navigator in the global registry.
|
|
14
|
+
*/
|
|
15
|
+
export declare function registerNavigator(name: string, navPath: string, configDir?: string): void;
|
|
16
|
+
/**
|
|
17
|
+
* Remove a navigator from the global registry.
|
|
18
|
+
*/
|
|
19
|
+
export declare function unregisterNavigator(name: string, configDir?: string): void;
|
|
20
|
+
/**
|
|
21
|
+
* Resolve a navigator name to a filesystem path.
|
|
22
|
+
*
|
|
23
|
+
* Priority:
|
|
24
|
+
* 1. AUTONAV_NAV_PATH_<NAME> env var
|
|
25
|
+
* 2. Global registry
|
|
26
|
+
*
|
|
27
|
+
* @returns The resolved path, or null if not found
|
|
28
|
+
*/
|
|
29
|
+
export declare function resolveNavigatorPath(name: string, configDir?: string): string | null;
|
|
30
|
+
/**
|
|
31
|
+
* List all registered navigators.
|
|
32
|
+
*/
|
|
33
|
+
export declare function listNavigators(configDir?: string): Registry;
|
|
34
|
+
export {};
|
|
35
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AA+BvC;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAIzF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAI1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgBpF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAE3D"}
|
package/dist/registry.js
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global Navigator Registry
|
|
3
|
+
*
|
|
4
|
+
* Maps navigator names to filesystem paths. Stored at
|
|
5
|
+
* ~/.config/autonav/navigators.json (or AUTONAV_CONFIG_DIR).
|
|
6
|
+
*
|
|
7
|
+
* Resolution priority for a navigator name:
|
|
8
|
+
* 1. AUTONAV_NAV_PATH_<NAME> env var (uppercased, hyphens → underscores)
|
|
9
|
+
* 2. Global registry file
|
|
10
|
+
*/
|
|
11
|
+
import * as fs from "node:fs";
|
|
12
|
+
import * as path from "node:path";
|
|
13
|
+
import { resolveConfigDir } from "./standup/config.js";
|
|
14
|
+
const REGISTRY_FILE = "navigators.json";
|
|
15
|
+
/**
|
|
16
|
+
* Read the global navigator registry.
|
|
17
|
+
*/
|
|
18
|
+
function readRegistry(configDir) {
|
|
19
|
+
const dir = resolveConfigDir(configDir);
|
|
20
|
+
const filePath = path.join(dir, REGISTRY_FILE);
|
|
21
|
+
if (!fs.existsSync(filePath)) {
|
|
22
|
+
return {};
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
const content = fs.readFileSync(filePath, "utf-8");
|
|
26
|
+
return JSON.parse(content);
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return {};
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Write the global navigator registry.
|
|
34
|
+
*/
|
|
35
|
+
function writeRegistry(registry, configDir) {
|
|
36
|
+
const dir = resolveConfigDir(configDir);
|
|
37
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
38
|
+
const filePath = path.join(dir, REGISTRY_FILE);
|
|
39
|
+
fs.writeFileSync(filePath, JSON.stringify(registry, null, 2) + "\n");
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Register a navigator in the global registry.
|
|
43
|
+
*/
|
|
44
|
+
export function registerNavigator(name, navPath, configDir) {
|
|
45
|
+
const registry = readRegistry(configDir);
|
|
46
|
+
registry[name] = path.resolve(navPath);
|
|
47
|
+
writeRegistry(registry, configDir);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Remove a navigator from the global registry.
|
|
51
|
+
*/
|
|
52
|
+
export function unregisterNavigator(name, configDir) {
|
|
53
|
+
const registry = readRegistry(configDir);
|
|
54
|
+
delete registry[name];
|
|
55
|
+
writeRegistry(registry, configDir);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Resolve a navigator name to a filesystem path.
|
|
59
|
+
*
|
|
60
|
+
* Priority:
|
|
61
|
+
* 1. AUTONAV_NAV_PATH_<NAME> env var
|
|
62
|
+
* 2. Global registry
|
|
63
|
+
*
|
|
64
|
+
* @returns The resolved path, or null if not found
|
|
65
|
+
*/
|
|
66
|
+
export function resolveNavigatorPath(name, configDir) {
|
|
67
|
+
// 1. Check env var (e.g. AUTONAV_NAV_PATH_THUFIR for "thufir")
|
|
68
|
+
const envKey = `AUTONAV_NAV_PATH_${name.toUpperCase().replace(/-/g, "_")}`;
|
|
69
|
+
const envPath = process.env[envKey];
|
|
70
|
+
if (envPath) {
|
|
71
|
+
return path.resolve(envPath);
|
|
72
|
+
}
|
|
73
|
+
// 2. Check global registry
|
|
74
|
+
const registry = readRegistry(configDir);
|
|
75
|
+
const registryPath = registry[name];
|
|
76
|
+
if (registryPath) {
|
|
77
|
+
return registryPath;
|
|
78
|
+
}
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* List all registered navigators.
|
|
83
|
+
*/
|
|
84
|
+
export function listNavigators(configDir) {
|
|
85
|
+
return readRegistry(configDir);
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAIxC;;GAEG;AACH,SAAS,YAAY,CAAC,SAAkB;IACtC,MAAM,GAAG,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAE/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAa,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,QAAkB,EAAE,SAAkB;IAC3D,MAAM,GAAG,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACxC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC/C,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,OAAe,EAAE,SAAkB;IACjF,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,SAAkB;IAClE,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACzC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtB,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,SAAkB;IACnE,+DAA+D;IAC/D,MAAM,MAAM,GAAG,oBAAoB,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;IAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,SAAkB;IAC/C,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ScanResult } from "../repo-scanner/index.js";
|
|
2
|
+
import { type Harness } from "../harness/index.js";
|
|
2
3
|
export interface AnalysisResult {
|
|
3
4
|
purpose: string;
|
|
4
5
|
scope: string;
|
|
@@ -14,5 +15,5 @@ export declare function validateAnalysisResult(result: AnalysisResult, fallbackN
|
|
|
14
15
|
/**
|
|
15
16
|
* Analyze a scanned repository using Claude
|
|
16
17
|
*/
|
|
17
|
-
export declare function analyzeRepository(scanResult: ScanResult): Promise<AnalysisResult>;
|
|
18
|
+
export declare function analyzeRepository(scanResult: ScanResult, harness: Harness): Promise<AnalysisResult>;
|
|
18
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/repo-analyzer/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/repo-analyzer/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,KAAK,OAAO,EAAe,MAAM,qBAAqB,CAAC;AAWhE,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;CACpB;AAkGD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,MAAM,GACnB,cAAc,CAuBhB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,cAAc,CAAC,CAsDzB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { collectText } from "../harness/index.js";
|
|
2
2
|
/**
|
|
3
3
|
* Repository Analyzer
|
|
4
4
|
*
|
|
@@ -118,24 +118,13 @@ export function validateAnalysisResult(result, fallbackName) {
|
|
|
118
118
|
/**
|
|
119
119
|
* Analyze a scanned repository using Claude
|
|
120
120
|
*/
|
|
121
|
-
export async function analyzeRepository(scanResult) {
|
|
121
|
+
export async function analyzeRepository(scanResult, harness) {
|
|
122
122
|
const prompt = buildAnalysisPrompt(scanResult);
|
|
123
123
|
try {
|
|
124
|
-
const
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
permissionMode: "bypassPermissions",
|
|
129
|
-
},
|
|
130
|
-
});
|
|
131
|
-
let responseText = "";
|
|
132
|
-
for await (const message of queryInstance) {
|
|
133
|
-
if (message.type === "assistant") {
|
|
134
|
-
const content = message.message.content;
|
|
135
|
-
const textBlocks = content.filter((b) => b.type === "text");
|
|
136
|
-
responseText = textBlocks.map((b) => b.text).join("\n");
|
|
137
|
-
}
|
|
138
|
-
}
|
|
124
|
+
const responseText = await collectText(harness.run({
|
|
125
|
+
model: ANALYSIS_MODEL,
|
|
126
|
+
permissionMode: "bypassPermissions",
|
|
127
|
+
}, prompt));
|
|
139
128
|
const result = parseAnalysisResponse(responseText);
|
|
140
129
|
const fallbackName = scanResult.projectMetadata.name || "project";
|
|
141
130
|
if (!result) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repo-analyzer/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repo-analyzer/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standup Config Utilities
|
|
3
|
+
*
|
|
4
|
+
* Global config directory resolution and standup directory creation.
|
|
5
|
+
* Establishes a global autonav config pattern reusable by future commands.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Resolve the global autonav config directory.
|
|
9
|
+
*
|
|
10
|
+
* Priority: explicit override > AUTONAV_CONFIG_DIR env var > ~/.config/autonav/
|
|
11
|
+
*/
|
|
12
|
+
export declare function resolveConfigDir(override?: string): string;
|
|
13
|
+
/**
|
|
14
|
+
* Create a timestamped standup directory with reports/ and sync/ subdirs.
|
|
15
|
+
*
|
|
16
|
+
* @returns The path to the created standup directory
|
|
17
|
+
*/
|
|
18
|
+
export declare function createStandupDir(configDir: string): string;
|
|
19
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/standup/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAW1D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAe1D"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standup Config Utilities
|
|
3
|
+
*
|
|
4
|
+
* Global config directory resolution and standup directory creation.
|
|
5
|
+
* Establishes a global autonav config pattern reusable by future commands.
|
|
6
|
+
*/
|
|
7
|
+
import * as fs from "node:fs";
|
|
8
|
+
import * as path from "node:path";
|
|
9
|
+
import * as os from "node:os";
|
|
10
|
+
/**
|
|
11
|
+
* Resolve the global autonav config directory.
|
|
12
|
+
*
|
|
13
|
+
* Priority: explicit override > AUTONAV_CONFIG_DIR env var > ~/.config/autonav/
|
|
14
|
+
*/
|
|
15
|
+
export function resolveConfigDir(override) {
|
|
16
|
+
if (override) {
|
|
17
|
+
return path.resolve(override);
|
|
18
|
+
}
|
|
19
|
+
const envDir = process.env.AUTONAV_CONFIG_DIR;
|
|
20
|
+
if (envDir) {
|
|
21
|
+
return path.resolve(envDir);
|
|
22
|
+
}
|
|
23
|
+
return path.join(os.homedir(), ".config", "autonav");
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Create a timestamped standup directory with reports/ and sync/ subdirs.
|
|
27
|
+
*
|
|
28
|
+
* @returns The path to the created standup directory
|
|
29
|
+
*/
|
|
30
|
+
export function createStandupDir(configDir) {
|
|
31
|
+
const standupsDir = path.join(configDir, "standups");
|
|
32
|
+
// ISO timestamp with colons replaced by hyphens for filesystem safety
|
|
33
|
+
const timestamp = new Date()
|
|
34
|
+
.toISOString()
|
|
35
|
+
.replace(/:/g, "-")
|
|
36
|
+
.replace(/\.\d{3}Z$/, "");
|
|
37
|
+
const standupDir = path.join(standupsDir, timestamp);
|
|
38
|
+
fs.mkdirSync(path.join(standupDir, "reports"), { recursive: true });
|
|
39
|
+
fs.mkdirSync(path.join(standupDir, "sync"), { recursive: true });
|
|
40
|
+
return standupDir;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/standup/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAiB;IAChD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC9C,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAErD,sEAAsE;IACtE,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE;SACzB,WAAW,EAAE;SACb,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;SAClB,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAE5B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAErD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEjE,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standup Module
|
|
3
|
+
*
|
|
4
|
+
* Multi-navigator stand-up mode that orchestrates parallel status reports
|
|
5
|
+
* and sequential blocker sync across multiple navigators.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { runStandup } from './standup';
|
|
10
|
+
*
|
|
11
|
+
* const result = await runStandup(
|
|
12
|
+
* ['./nav-a', './nav-b', './nav-c'],
|
|
13
|
+
* { verbose: true, model: 'claude-sonnet-4-5' }
|
|
14
|
+
* );
|
|
15
|
+
*
|
|
16
|
+
* console.log(`Standup output: ${result.standupDir}`);
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export { type Blocker, type StatusReport, type BlockerResolution, type SyncResponse, type StandupOptions, type StandupResult, BlockerSchema, StatusReportSchema, BlockerResolutionSchema, SyncResponseSchema, } from "./types.js";
|
|
20
|
+
export { resolveConfigDir, createStandupDir } from "./config.js";
|
|
21
|
+
export { createReportProtocolTools, createSyncProtocolTools, SUBMIT_STATUS_REPORT_TOOL, SUBMIT_SYNC_RESPONSE_TOOL, } from "./standup-protocol.js";
|
|
22
|
+
export { buildReportSystemPrompt, buildReportPrompt, buildSyncSystemPrompt, buildSyncPrompt, type NavigatorIdentity, } from "./prompts.js";
|
|
23
|
+
export { runStandup, loadNavForStandup } from "./loop.js";
|
|
24
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/standup/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,aAAa,EACb,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGjE,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,KAAK,iBAAiB,GACvB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standup Module
|
|
3
|
+
*
|
|
4
|
+
* Multi-navigator stand-up mode that orchestrates parallel status reports
|
|
5
|
+
* and sequential blocker sync across multiple navigators.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { runStandup } from './standup';
|
|
10
|
+
*
|
|
11
|
+
* const result = await runStandup(
|
|
12
|
+
* ['./nav-a', './nav-b', './nav-c'],
|
|
13
|
+
* { verbose: true, model: 'claude-sonnet-4-5' }
|
|
14
|
+
* );
|
|
15
|
+
*
|
|
16
|
+
* console.log(`Standup output: ${result.standupDir}`);
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
// Types
|
|
20
|
+
export { BlockerSchema, StatusReportSchema, BlockerResolutionSchema, SyncResponseSchema, } from "./types.js";
|
|
21
|
+
// Config
|
|
22
|
+
export { resolveConfigDir, createStandupDir } from "./config.js";
|
|
23
|
+
// Protocol
|
|
24
|
+
export { createReportProtocolTools, createSyncProtocolTools, SUBMIT_STATUS_REPORT_TOOL, SUBMIT_SYNC_RESPONSE_TOOL, } from "./standup-protocol.js";
|
|
25
|
+
// Prompts
|
|
26
|
+
export { buildReportSystemPrompt, buildReportPrompt, buildSyncSystemPrompt, buildSyncPrompt, } from "./prompts.js";
|
|
27
|
+
// Main loop
|
|
28
|
+
export { runStandup, loadNavForStandup } from "./loop.js";
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/standup/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,QAAQ;AACR,OAAO,EAOL,aAAa,EACb,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,SAAS;AACT,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEjE,WAAW;AACX,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAE/B,UAAU;AACV,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,GAEhB,MAAM,cAAc,CAAC;AAEtB,YAAY;AACZ,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC"}
|