@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,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standup Loop Core Logic
|
|
3
|
+
*
|
|
4
|
+
* Orchestrates multi-navigator standups in two phases:
|
|
5
|
+
* 1. Parallel report: All navs simultaneously scan their knowledge and report status
|
|
6
|
+
* 2. Sequential sync: Each nav reviews all reports and resolves blockers
|
|
7
|
+
*/
|
|
8
|
+
import type { StandupOptions, StandupResult } from "./types.js";
|
|
9
|
+
import type { Harness } from "../harness/index.js";
|
|
10
|
+
import { type NavigatorIdentity } from "./prompts.js";
|
|
11
|
+
/**
|
|
12
|
+
* Loaded navigator info
|
|
13
|
+
*/
|
|
14
|
+
interface LoadedNav {
|
|
15
|
+
directory: string;
|
|
16
|
+
name: string;
|
|
17
|
+
description: string;
|
|
18
|
+
systemPrompt: string;
|
|
19
|
+
knowledgeBasePath: string;
|
|
20
|
+
identity: NavigatorIdentity;
|
|
21
|
+
workingDirectories: string[];
|
|
22
|
+
/** Per-operation sandbox profile from config.json */
|
|
23
|
+
sandboxEnabled: boolean;
|
|
24
|
+
/** Navigator-level allowed tools from config.json */
|
|
25
|
+
navAllowedTools?: string[];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Load a navigator for standup participation
|
|
29
|
+
*/
|
|
30
|
+
export declare function loadNavForStandup(dir: string): LoadedNav;
|
|
31
|
+
/**
|
|
32
|
+
* Run a full multi-navigator standup
|
|
33
|
+
*/
|
|
34
|
+
export declare function runStandup(navDirs: string[], options: StandupOptions | undefined, harness: Harness): Promise<StandupResult>;
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=loop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/standup/loop.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EAGd,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,qBAAqB,CAAC;AAM/D,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,cAAc,CAAC;AAUtB;;GAEG;AACH,UAAU,SAAS;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,qDAAqD;IACrD,cAAc,EAAE,OAAO,CAAC;IACxB,qDAAqD;IACrD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAYD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CA4DxD;AAiRD;;GAEG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,cAAc,YAAK,EAC5B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,aAAa,CAAC,CAmIxB"}
|
|
@@ -0,0 +1,508 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standup Loop Core Logic
|
|
3
|
+
*
|
|
4
|
+
* Orchestrates multi-navigator standups in two phases:
|
|
5
|
+
* 1. Parallel report: All navs simultaneously scan their knowledge and report status
|
|
6
|
+
* 2. Sequential sync: Each nav reviews all reports and resolves blockers
|
|
7
|
+
*/
|
|
8
|
+
import * as fs from "node:fs";
|
|
9
|
+
import * as path from "node:path";
|
|
10
|
+
import * as os from "node:os";
|
|
11
|
+
import chalk from "chalk";
|
|
12
|
+
import { resolveConfigDir, createStandupDir } from "./config.js";
|
|
13
|
+
import { createReportProtocolTools, createSyncProtocolTools, } from "./standup-protocol.js";
|
|
14
|
+
import { buildReportSystemPrompt, buildReportPrompt, buildSyncSystemPrompt, buildSyncPrompt, } from "./prompts.js";
|
|
15
|
+
const DEBUG = process.env.AUTONAV_DEBUG === "1" || process.env.DEBUG === "1";
|
|
16
|
+
function debug(...args) {
|
|
17
|
+
if (DEBUG) {
|
|
18
|
+
console.log(chalk.dim("[debug]"), ...args);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Expand ~ to home directory and resolve relative paths from a base
|
|
23
|
+
*/
|
|
24
|
+
function resolveNavPath(rawPath, baseDir) {
|
|
25
|
+
if (rawPath.startsWith("~")) {
|
|
26
|
+
return path.resolve(rawPath.replace(/^~/, os.homedir()));
|
|
27
|
+
}
|
|
28
|
+
return path.resolve(baseDir, rawPath);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Load a navigator for standup participation
|
|
32
|
+
*/
|
|
33
|
+
export function loadNavForStandup(dir) {
|
|
34
|
+
const directory = path.resolve(dir);
|
|
35
|
+
if (!fs.existsSync(directory)) {
|
|
36
|
+
throw new Error(`Navigator directory not found: ${directory}`);
|
|
37
|
+
}
|
|
38
|
+
const claudeMdPath = path.join(directory, "CLAUDE.md");
|
|
39
|
+
if (!fs.existsSync(claudeMdPath)) {
|
|
40
|
+
throw new Error(`Navigator CLAUDE.md not found: ${claudeMdPath}`);
|
|
41
|
+
}
|
|
42
|
+
const systemPrompt = fs.readFileSync(claudeMdPath, "utf-8");
|
|
43
|
+
// Load config.json for identity
|
|
44
|
+
const configPath = path.join(directory, "config.json");
|
|
45
|
+
let name = path.basename(directory);
|
|
46
|
+
let description = "";
|
|
47
|
+
let knowledgeBasePath = path.join(directory, "knowledge");
|
|
48
|
+
let workingDirectories = [];
|
|
49
|
+
let sandboxEnabled = true; // standup defaults to sandbox enabled
|
|
50
|
+
let navAllowedTools;
|
|
51
|
+
if (fs.existsSync(configPath)) {
|
|
52
|
+
try {
|
|
53
|
+
const config = JSON.parse(fs.readFileSync(configPath, "utf-8"));
|
|
54
|
+
if (config.name)
|
|
55
|
+
name = config.name;
|
|
56
|
+
if (config.description)
|
|
57
|
+
description = config.description;
|
|
58
|
+
if (config.knowledgeBasePath) {
|
|
59
|
+
knowledgeBasePath = path.resolve(directory, config.knowledgeBasePath);
|
|
60
|
+
}
|
|
61
|
+
if (Array.isArray(config.workingDirectories)) {
|
|
62
|
+
workingDirectories = config.workingDirectories.map((p) => resolveNavPath(p, directory));
|
|
63
|
+
}
|
|
64
|
+
// Read per-operation sandbox profile (standup defaults to enabled)
|
|
65
|
+
if (config.sandbox?.standup?.enabled === false) {
|
|
66
|
+
sandboxEnabled = false;
|
|
67
|
+
}
|
|
68
|
+
// Read navigator-level allowed tools
|
|
69
|
+
if (Array.isArray(config.sandbox?.allowedTools)) {
|
|
70
|
+
navAllowedTools = config.sandbox.allowedTools;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
// Use defaults on parse error
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return {
|
|
78
|
+
directory,
|
|
79
|
+
name,
|
|
80
|
+
description,
|
|
81
|
+
systemPrompt,
|
|
82
|
+
knowledgeBasePath,
|
|
83
|
+
identity: { name, description },
|
|
84
|
+
workingDirectories,
|
|
85
|
+
sandboxEnabled,
|
|
86
|
+
navAllowedTools,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Run the report phase for a single navigator
|
|
91
|
+
*/
|
|
92
|
+
async function runReportPhase(nav, otherNavNames, standupDir, options, harness) {
|
|
93
|
+
const { model = "claude-sonnet-4-5", maxTurns = 15, maxBudgetUsd, verbose = false, } = options;
|
|
94
|
+
const protocol = createReportProtocolTools();
|
|
95
|
+
const { server } = harness.createToolServer("autonav-standup-report", protocol.tools);
|
|
96
|
+
const systemPrompt = buildReportSystemPrompt(nav.systemPrompt);
|
|
97
|
+
const prompt = buildReportPrompt({
|
|
98
|
+
navDirectory: nav.directory,
|
|
99
|
+
knowledgeBasePath: nav.knowledgeBasePath,
|
|
100
|
+
otherNavigators: otherNavNames,
|
|
101
|
+
}, nav.identity);
|
|
102
|
+
if (verbose) {
|
|
103
|
+
console.log(`[Report] Querying ${nav.name}...`);
|
|
104
|
+
}
|
|
105
|
+
const agentConfig = {
|
|
106
|
+
model,
|
|
107
|
+
maxTurns,
|
|
108
|
+
systemPrompt,
|
|
109
|
+
cwd: nav.directory,
|
|
110
|
+
additionalDirectories: [...nav.workingDirectories, standupDir],
|
|
111
|
+
permissionMode: "acceptEdits",
|
|
112
|
+
allowedTools: [
|
|
113
|
+
...new Set([
|
|
114
|
+
"Read", "Glob", "Grep", "Bash",
|
|
115
|
+
"mcp__autonav-standup-report__submit_status_report",
|
|
116
|
+
...(nav.navAllowedTools ?? []),
|
|
117
|
+
]),
|
|
118
|
+
],
|
|
119
|
+
mcpServers: {
|
|
120
|
+
"autonav-standup-report": server,
|
|
121
|
+
},
|
|
122
|
+
...(maxBudgetUsd !== undefined ? { maxBudgetUsd } : {}),
|
|
123
|
+
// Per-nav sandbox: report phase is read-only
|
|
124
|
+
...(nav.sandboxEnabled ? {
|
|
125
|
+
sandbox: {
|
|
126
|
+
readPaths: [nav.directory, nav.knowledgeBasePath, ...nav.workingDirectories],
|
|
127
|
+
},
|
|
128
|
+
} : {}),
|
|
129
|
+
};
|
|
130
|
+
debug(`[Report:${nav.name}] Agent config:`, JSON.stringify({
|
|
131
|
+
model: agentConfig.model,
|
|
132
|
+
maxTurns: agentConfig.maxTurns,
|
|
133
|
+
cwd: agentConfig.cwd,
|
|
134
|
+
additionalDirectories: agentConfig.additionalDirectories,
|
|
135
|
+
permissionMode: agentConfig.permissionMode,
|
|
136
|
+
mcpServers: Object.keys(agentConfig.mcpServers),
|
|
137
|
+
maxBudgetUsd: agentConfig.maxBudgetUsd,
|
|
138
|
+
}, null, 2));
|
|
139
|
+
const session = harness.run(agentConfig, prompt);
|
|
140
|
+
let resultEvent;
|
|
141
|
+
for await (const event of session) {
|
|
142
|
+
if (event.type === "tool_use") {
|
|
143
|
+
const shortToolName = event.name.split("__").pop() || event.name;
|
|
144
|
+
if (verbose) {
|
|
145
|
+
console.log(`[Report:${nav.name}] Tool: ${shortToolName}`);
|
|
146
|
+
}
|
|
147
|
+
debug(`[Report:${nav.name}] Full tool name: ${event.name}`);
|
|
148
|
+
}
|
|
149
|
+
if (event.type === "tool_result") {
|
|
150
|
+
if (event.isError) {
|
|
151
|
+
debug(`[Report:${nav.name}] Tool ERROR result:`, event.content.substring(0, 500));
|
|
152
|
+
}
|
|
153
|
+
else if (DEBUG) {
|
|
154
|
+
debug(`[Report:${nav.name}] Tool result:`, event.content.substring(0, 300));
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
if (event.type === "result") {
|
|
158
|
+
resultEvent = event;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
if (!resultEvent) {
|
|
162
|
+
throw new Error(`${nav.name}: No result message received`);
|
|
163
|
+
}
|
|
164
|
+
debug(`[Report:${nav.name}] Result: success=${resultEvent.success}`);
|
|
165
|
+
debug(`[Report:${nav.name}] Turns: ${resultEvent.numTurns}, Cost: $${resultEvent.costUsd?.toFixed(4)}`);
|
|
166
|
+
debug(`[Report:${nav.name}] Captured report: ${protocol.getCapturedReport() ? "YES" : "NO"}`);
|
|
167
|
+
if (!resultEvent.success) {
|
|
168
|
+
debug(`[Report:${nav.name}] Error:`, resultEvent.text);
|
|
169
|
+
}
|
|
170
|
+
const costUsd = resultEvent.costUsd ?? 0;
|
|
171
|
+
// Approximate context utilization from input tokens (assume 200k context window)
|
|
172
|
+
const contextPercent = resultEvent.usage
|
|
173
|
+
? (resultEvent.usage.inputTokens / 200_000) * 100
|
|
174
|
+
: 0;
|
|
175
|
+
if (!resultEvent.success) {
|
|
176
|
+
throw new Error(`${nav.name} report failed: ${resultEvent.text || "Unknown error"}`);
|
|
177
|
+
}
|
|
178
|
+
const report = protocol.getCapturedReport();
|
|
179
|
+
if (!report) {
|
|
180
|
+
throw new Error(`${nav.name} did not submit a status report. Navigator must use the submit_status_report tool.`);
|
|
181
|
+
}
|
|
182
|
+
// Write report to file
|
|
183
|
+
const reportPath = path.join(standupDir, "reports", `${nav.name}.md`);
|
|
184
|
+
fs.writeFileSync(reportPath, formatReportMarkdown(report), "utf-8");
|
|
185
|
+
if (verbose) {
|
|
186
|
+
console.log(`[Report:${nav.name}] Complete - ${report.blockers.length} blocker(s), context: ${contextPercent.toFixed(1)}%`);
|
|
187
|
+
}
|
|
188
|
+
return { report, costUsd, contextPercent };
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Run the sync phase for a single navigator
|
|
192
|
+
*/
|
|
193
|
+
async function runSyncPhase(nav, allReports, previousSyncResponses, standupDir, otherNavNames, options, harness) {
|
|
194
|
+
const { model = "claude-sonnet-4-5", maxTurns = 30, maxBudgetUsd, verbose = false, } = options;
|
|
195
|
+
const protocol = createSyncProtocolTools();
|
|
196
|
+
const { server } = harness.createToolServer("autonav-standup-sync", protocol.tools);
|
|
197
|
+
const systemPrompt = buildSyncSystemPrompt(nav.systemPrompt);
|
|
198
|
+
const prompt = buildSyncPrompt({
|
|
199
|
+
navDirectory: nav.directory,
|
|
200
|
+
knowledgeBasePath: nav.knowledgeBasePath,
|
|
201
|
+
standupDir,
|
|
202
|
+
allReports,
|
|
203
|
+
previousSyncResponses,
|
|
204
|
+
otherNavigators: otherNavNames,
|
|
205
|
+
}, nav.identity);
|
|
206
|
+
if (verbose) {
|
|
207
|
+
console.log(`[Sync] Querying ${nav.name}...`);
|
|
208
|
+
}
|
|
209
|
+
const agentConfig = {
|
|
210
|
+
model,
|
|
211
|
+
maxTurns,
|
|
212
|
+
systemPrompt,
|
|
213
|
+
cwd: nav.directory,
|
|
214
|
+
additionalDirectories: [...nav.workingDirectories, standupDir],
|
|
215
|
+
permissionMode: "acceptEdits",
|
|
216
|
+
allowedTools: [
|
|
217
|
+
...new Set([
|
|
218
|
+
"Read", "Write", "Edit", "Glob", "Grep", "Bash",
|
|
219
|
+
"mcp__autonav-standup-sync__submit_sync_response",
|
|
220
|
+
...(nav.navAllowedTools ?? []),
|
|
221
|
+
]),
|
|
222
|
+
],
|
|
223
|
+
mcpServers: {
|
|
224
|
+
"autonav-standup-sync": server,
|
|
225
|
+
},
|
|
226
|
+
...(maxBudgetUsd !== undefined ? { maxBudgetUsd } : {}),
|
|
227
|
+
// Per-nav sandbox: sync phase needs write access
|
|
228
|
+
...(nav.sandboxEnabled ? {
|
|
229
|
+
sandbox: {
|
|
230
|
+
writePaths: [nav.directory, nav.knowledgeBasePath, standupDir],
|
|
231
|
+
readPaths: [...nav.workingDirectories],
|
|
232
|
+
},
|
|
233
|
+
} : {}),
|
|
234
|
+
};
|
|
235
|
+
debug(`[Sync:${nav.name}] Agent config:`, JSON.stringify({
|
|
236
|
+
model: agentConfig.model,
|
|
237
|
+
maxTurns: agentConfig.maxTurns,
|
|
238
|
+
cwd: agentConfig.cwd,
|
|
239
|
+
additionalDirectories: agentConfig.additionalDirectories,
|
|
240
|
+
permissionMode: agentConfig.permissionMode,
|
|
241
|
+
mcpServers: Object.keys(agentConfig.mcpServers),
|
|
242
|
+
maxBudgetUsd: agentConfig.maxBudgetUsd,
|
|
243
|
+
}, null, 2));
|
|
244
|
+
const session = harness.run(agentConfig, prompt);
|
|
245
|
+
let resultEvent;
|
|
246
|
+
for await (const event of session) {
|
|
247
|
+
if (event.type === "tool_use") {
|
|
248
|
+
const shortToolName = event.name.split("__").pop() || event.name;
|
|
249
|
+
if (verbose) {
|
|
250
|
+
console.log(`[Sync:${nav.name}] Tool: ${shortToolName}`);
|
|
251
|
+
}
|
|
252
|
+
debug(`[Sync:${nav.name}] Full tool name: ${event.name}`);
|
|
253
|
+
}
|
|
254
|
+
if (event.type === "result") {
|
|
255
|
+
resultEvent = event;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
if (!resultEvent) {
|
|
259
|
+
throw new Error(`${nav.name}: No result message received during sync`);
|
|
260
|
+
}
|
|
261
|
+
debug(`[Sync:${nav.name}] Result: success=${resultEvent.success}`);
|
|
262
|
+
debug(`[Sync:${nav.name}] Turns: ${resultEvent.numTurns}, Cost: $${resultEvent.costUsd?.toFixed(4)}`);
|
|
263
|
+
debug(`[Sync:${nav.name}] Captured sync: ${protocol.getCapturedSync() ? "YES" : "NO"}`);
|
|
264
|
+
if (!resultEvent.success) {
|
|
265
|
+
debug(`[Sync:${nav.name}] Error:`, resultEvent.text);
|
|
266
|
+
}
|
|
267
|
+
const costUsd = resultEvent.costUsd ?? 0;
|
|
268
|
+
// Approximate context utilization from input tokens (assume 200k context window)
|
|
269
|
+
const contextPercent = resultEvent.usage
|
|
270
|
+
? (resultEvent.usage.inputTokens / 200_000) * 100
|
|
271
|
+
: 0;
|
|
272
|
+
if (!resultEvent.success) {
|
|
273
|
+
throw new Error(`${nav.name} sync failed: ${resultEvent.text || "Unknown error"}`);
|
|
274
|
+
}
|
|
275
|
+
const sync = protocol.getCapturedSync();
|
|
276
|
+
if (!sync) {
|
|
277
|
+
throw new Error(`${nav.name} did not submit a sync response. Navigator must use the submit_sync_response tool.`);
|
|
278
|
+
}
|
|
279
|
+
// Write sync response to file
|
|
280
|
+
const syncPath = path.join(standupDir, "sync", `${nav.name}-sync.md`);
|
|
281
|
+
fs.writeFileSync(syncPath, formatSyncMarkdown(sync), "utf-8");
|
|
282
|
+
if (verbose) {
|
|
283
|
+
console.log(`[Sync:${nav.name}] Complete - ${sync.blockerResolutions.length} resolution(s), context: ${contextPercent.toFixed(1)}%`);
|
|
284
|
+
}
|
|
285
|
+
return { sync, costUsd, contextPercent };
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Run a full multi-navigator standup
|
|
289
|
+
*/
|
|
290
|
+
export async function runStandup(navDirs, options = {}, harness) {
|
|
291
|
+
const startTime = Date.now();
|
|
292
|
+
const { verbose = false, reportOnly = false } = options;
|
|
293
|
+
// Resolve config and create standup directory
|
|
294
|
+
const configDir = resolveConfigDir(options.configDir);
|
|
295
|
+
const standupDir = createStandupDir(configDir);
|
|
296
|
+
if (verbose) {
|
|
297
|
+
console.log(`[Standup] Config dir: ${configDir}`);
|
|
298
|
+
console.log(`[Standup] Standup dir: ${standupDir}`);
|
|
299
|
+
}
|
|
300
|
+
// Load all navigators
|
|
301
|
+
const navs = navDirs.map((dir) => loadNavForStandup(dir));
|
|
302
|
+
const navNames = navs.map((n) => n.name);
|
|
303
|
+
const errors = [];
|
|
304
|
+
let totalCostUsd = 0;
|
|
305
|
+
const contextUtilization = {};
|
|
306
|
+
// === Phase 1: Parallel Report ===
|
|
307
|
+
console.log(chalk.bold.blue("\n--- Phase 1: Status Reports ---\n"));
|
|
308
|
+
const reportResults = await Promise.allSettled(navs.map((nav) => {
|
|
309
|
+
const otherNames = navNames.filter((n) => n !== nav.name);
|
|
310
|
+
return runReportPhase(nav, otherNames, standupDir, options, harness);
|
|
311
|
+
}));
|
|
312
|
+
const reports = [];
|
|
313
|
+
for (let i = 0; i < reportResults.length; i++) {
|
|
314
|
+
const result = reportResults[i];
|
|
315
|
+
const nav = navs[i];
|
|
316
|
+
if (result.status === "fulfilled") {
|
|
317
|
+
const { report, costUsd, contextPercent } = result.value;
|
|
318
|
+
reports.push(report);
|
|
319
|
+
totalCostUsd += costUsd;
|
|
320
|
+
contextUtilization[`${nav.name} (report)`] = contextPercent;
|
|
321
|
+
console.log(` ${chalk.green("+")} ${chalk.bold(nav.name)} - ` +
|
|
322
|
+
`${report.blockers.length} blocker(s), ` +
|
|
323
|
+
`context: ${chalk.cyan(contextPercent.toFixed(1) + "%")}, ` +
|
|
324
|
+
`cost: ${chalk.yellow("$" + costUsd.toFixed(4))}`);
|
|
325
|
+
}
|
|
326
|
+
else {
|
|
327
|
+
const reason = result.reason;
|
|
328
|
+
const errorMsg = `${nav.name} report failed: ${reason instanceof Error ? reason.message : String(reason)}`;
|
|
329
|
+
errors.push(errorMsg);
|
|
330
|
+
console.log(` ${chalk.red("x")} ${chalk.bold(nav.name)} - ${chalk.red("FAILED")}`);
|
|
331
|
+
if (verbose) {
|
|
332
|
+
console.log(` ${chalk.dim(errorMsg)}`);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
// Count total blockers
|
|
337
|
+
const totalBlockers = reports.reduce((sum, r) => sum + r.blockers.length, 0);
|
|
338
|
+
// === Phase 2: Sequential Sync ===
|
|
339
|
+
const syncResponses = [];
|
|
340
|
+
if (reportOnly) {
|
|
341
|
+
console.log(chalk.dim("\n Sync phase skipped (--report-only)\n"));
|
|
342
|
+
}
|
|
343
|
+
else if (totalBlockers === 0) {
|
|
344
|
+
console.log(chalk.dim("\n No blockers reported - sync phase skipped\n"));
|
|
345
|
+
}
|
|
346
|
+
else {
|
|
347
|
+
console.log(chalk.bold.blue(`\n--- Phase 2: Sync (${totalBlockers} blocker(s) to resolve) ---\n`));
|
|
348
|
+
for (const nav of navs) {
|
|
349
|
+
const otherNames = navNames.filter((n) => n !== nav.name);
|
|
350
|
+
try {
|
|
351
|
+
const result = await runSyncPhase(nav, reports, syncResponses, // accumulating - each nav sees previous syncs
|
|
352
|
+
standupDir, otherNames, options, harness);
|
|
353
|
+
syncResponses.push(result.sync);
|
|
354
|
+
totalCostUsd += result.costUsd;
|
|
355
|
+
contextUtilization[`${nav.name} (sync)`] = result.contextPercent;
|
|
356
|
+
console.log(` ${chalk.green("+")} ${chalk.bold(nav.name)} - ` +
|
|
357
|
+
`${result.sync.blockerResolutions.length} resolution(s), ` +
|
|
358
|
+
`context: ${chalk.cyan(result.contextPercent.toFixed(1) + "%")}, ` +
|
|
359
|
+
`cost: ${chalk.yellow("$" + result.costUsd.toFixed(4))}`);
|
|
360
|
+
}
|
|
361
|
+
catch (error) {
|
|
362
|
+
const errorMsg = `${nav.name} sync failed: ${error instanceof Error ? error.message : String(error)}`;
|
|
363
|
+
errors.push(errorMsg);
|
|
364
|
+
console.log(` ${chalk.red("x")} ${chalk.bold(nav.name)} - ${chalk.red("FAILED")}`);
|
|
365
|
+
if (verbose) {
|
|
366
|
+
console.log(` ${chalk.dim(errorMsg)}`);
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
// Generate summary
|
|
372
|
+
const summaryPath = path.join(standupDir, "summary.md");
|
|
373
|
+
fs.writeFileSync(summaryPath, formatSummaryMarkdown(reports, syncResponses, totalCostUsd, Date.now() - startTime), "utf-8");
|
|
374
|
+
const durationMs = Date.now() - startTime;
|
|
375
|
+
return {
|
|
376
|
+
success: errors.length === 0,
|
|
377
|
+
standupDir,
|
|
378
|
+
reports,
|
|
379
|
+
syncResponses,
|
|
380
|
+
durationMs,
|
|
381
|
+
totalCostUsd,
|
|
382
|
+
contextUtilization,
|
|
383
|
+
errors: errors.length > 0 ? errors : undefined,
|
|
384
|
+
};
|
|
385
|
+
}
|
|
386
|
+
// === Markdown Formatters ===
|
|
387
|
+
/**
|
|
388
|
+
* Format a status report as a markdown file
|
|
389
|
+
*/
|
|
390
|
+
function formatReportMarkdown(report) {
|
|
391
|
+
const blockersList = report.blockers.length > 0
|
|
392
|
+
? report.blockers
|
|
393
|
+
.map((b) => `- **[${b.severity}]** ${b.description}${b.needsFrom ? ` _(needs: ${b.needsFrom})_` : ""}`)
|
|
394
|
+
.join("\n")
|
|
395
|
+
: "_No blockers_";
|
|
396
|
+
const canHelpList = report.canHelpWith.length > 0
|
|
397
|
+
? report.canHelpWith.map((h) => `- ${h}`).join("\n")
|
|
398
|
+
: "_Nothing specific_";
|
|
399
|
+
const gapsSection = report.knowledgeGaps && report.knowledgeGaps.length > 0
|
|
400
|
+
? `\n## Knowledge Gaps\n\n${report.knowledgeGaps.map((g) => `- ${g}`).join("\n")}\n`
|
|
401
|
+
: "";
|
|
402
|
+
return `# Status Report: ${report.navigatorName}
|
|
403
|
+
|
|
404
|
+
## Current Focus
|
|
405
|
+
|
|
406
|
+
${report.currentFocus}
|
|
407
|
+
|
|
408
|
+
## Recent Progress
|
|
409
|
+
|
|
410
|
+
${report.recentProgress.map((p) => `- ${p}`).join("\n")}
|
|
411
|
+
|
|
412
|
+
## Blockers
|
|
413
|
+
|
|
414
|
+
${blockersList}
|
|
415
|
+
|
|
416
|
+
## Can Help With
|
|
417
|
+
|
|
418
|
+
${canHelpList}
|
|
419
|
+
${gapsSection}`;
|
|
420
|
+
}
|
|
421
|
+
/**
|
|
422
|
+
* Format a sync response as a markdown file
|
|
423
|
+
*/
|
|
424
|
+
function formatSyncMarkdown(sync) {
|
|
425
|
+
const resolutions = sync.blockerResolutions.length > 0
|
|
426
|
+
? sync.blockerResolutions
|
|
427
|
+
.map((r) => `### For ${r.navigatorName}\n\n` +
|
|
428
|
+
`**Blocker:** ${r.blockerDescription}\n\n` +
|
|
429
|
+
`**Resolution:** ${r.resolution}\n\n` +
|
|
430
|
+
`**Confidence:** ${r.confidence}` +
|
|
431
|
+
(r.artifactPath ? `\n\n**Artifact:** ${r.artifactPath}` : ""))
|
|
432
|
+
.join("\n\n---\n\n")
|
|
433
|
+
: "_No blocker resolutions provided_";
|
|
434
|
+
const insights = sync.newInsights && sync.newInsights.length > 0
|
|
435
|
+
? `\n## New Insights\n\n${sync.newInsights.map((i) => `- ${i}`).join("\n")}\n`
|
|
436
|
+
: "";
|
|
437
|
+
return `# Sync Response: ${sync.navigatorName}
|
|
438
|
+
|
|
439
|
+
## Summary
|
|
440
|
+
|
|
441
|
+
${sync.summary}
|
|
442
|
+
|
|
443
|
+
## Blocker Resolutions
|
|
444
|
+
|
|
445
|
+
${resolutions}
|
|
446
|
+
${insights}
|
|
447
|
+
## Follow-up Needed
|
|
448
|
+
|
|
449
|
+
${sync.followUpNeeded ? "Yes - further coordination recommended" : "No - all addressed"}
|
|
450
|
+
`;
|
|
451
|
+
}
|
|
452
|
+
/**
|
|
453
|
+
* Format the summary markdown combining all reports and sync responses
|
|
454
|
+
*/
|
|
455
|
+
function formatSummaryMarkdown(reports, syncResponses, totalCostUsd, durationMs) {
|
|
456
|
+
const participants = reports.map((r) => r.navigatorName).join(", ");
|
|
457
|
+
// Count blockers and resolutions
|
|
458
|
+
const totalBlockers = reports.reduce((sum, r) => sum + r.blockers.length, 0);
|
|
459
|
+
const totalResolutions = syncResponses.reduce((sum, s) => sum + s.blockerResolutions.length, 0);
|
|
460
|
+
const followUpNeeded = syncResponses.some((s) => s.followUpNeeded);
|
|
461
|
+
// Format duration
|
|
462
|
+
const durationStr = durationMs < 60000
|
|
463
|
+
? `${(durationMs / 1000).toFixed(1)}s`
|
|
464
|
+
: `${Math.floor(durationMs / 60000)}m ${Math.floor((durationMs % 60000) / 1000)}s`;
|
|
465
|
+
// Build blocker summary
|
|
466
|
+
let blockerSummary = "";
|
|
467
|
+
if (totalBlockers > 0) {
|
|
468
|
+
blockerSummary = "\n## Blockers\n\n";
|
|
469
|
+
for (const report of reports) {
|
|
470
|
+
for (const blocker of report.blockers) {
|
|
471
|
+
// Check if resolved
|
|
472
|
+
const resolution = syncResponses
|
|
473
|
+
.flatMap((s) => s.blockerResolutions)
|
|
474
|
+
.find((r) => r.navigatorName === report.navigatorName &&
|
|
475
|
+
r.blockerDescription === blocker.description);
|
|
476
|
+
const status = resolution
|
|
477
|
+
? `RESOLVED [${resolution.confidence}]`
|
|
478
|
+
: "UNRESOLVED";
|
|
479
|
+
blockerSummary +=
|
|
480
|
+
`- **${report.navigatorName}**: ${blocker.description} [${blocker.severity}] - **${status}**\n`;
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
return `# Standup Summary
|
|
485
|
+
|
|
486
|
+
**Date:** ${new Date().toISOString().split("T")[0]}
|
|
487
|
+
**Participants:** ${participants}
|
|
488
|
+
**Duration:** ${durationStr}
|
|
489
|
+
**Total Cost:** $${totalCostUsd.toFixed(4)}
|
|
490
|
+
|
|
491
|
+
## Overview
|
|
492
|
+
|
|
493
|
+
- **Reports:** ${reports.length}
|
|
494
|
+
- **Blockers reported:** ${totalBlockers}
|
|
495
|
+
- **Resolutions provided:** ${totalResolutions}
|
|
496
|
+
- **Follow-up needed:** ${followUpNeeded ? "Yes" : "No"}
|
|
497
|
+
${blockerSummary}
|
|
498
|
+
## Reports
|
|
499
|
+
|
|
500
|
+
${reports.map((r) => `### ${r.navigatorName}\n\n**Focus:** ${r.currentFocus}\n\n**Progress:**\n${r.recentProgress.map((p) => `- ${p}`).join("\n")}`).join("\n\n")}
|
|
501
|
+
|
|
502
|
+
${syncResponses.length > 0 ? `## Sync Contributions\n\n${syncResponses.map((s) => `### ${s.navigatorName}\n\n${s.summary}`).join("\n\n")}` : ""}
|
|
503
|
+
|
|
504
|
+
---
|
|
505
|
+
_Generated by autonav standup_
|
|
506
|
+
`;
|
|
507
|
+
}
|
|
508
|
+
//# sourceMappingURL=loop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/standup/loop.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EACL,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,GAEhB,MAAM,cAAc,CAAC;AAEtB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC;AAE7E,SAAS,KAAK,CAAC,GAAG,IAAe;IAC/B,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAmBD;;GAEG;AACH,SAAS,cAAc,CAAC,OAAe,EAAE,OAAe;IACtD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,kCAAkC,SAAS,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,kCAAkC,YAAY,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAE5D,gCAAgC;IAChC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACvD,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC1D,IAAI,kBAAkB,GAAa,EAAE,CAAC;IACtC,IAAI,cAAc,GAAG,IAAI,CAAC,CAAC,sCAAsC;IACjE,IAAI,eAAqC,CAAC;IAE1C,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;YAChE,IAAI,MAAM,CAAC,IAAI;gBAAE,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACpC,IAAI,MAAM,CAAC,WAAW;gBAAE,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;YACzD,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC7B,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;YACxE,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC7C,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAC/D,cAAc,CAAC,CAAC,EAAE,SAAS,CAAC,CAC7B,CAAC;YACJ,CAAC;YACD,mEAAmE;YACnE,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;gBAC/C,cAAc,GAAG,KAAK,CAAC;YACzB,CAAC;YACD,qCAAqC;YACrC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;gBAChD,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;YAChD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,8BAA8B;QAChC,CAAC;IACH,CAAC;IAED,OAAO;QACL,SAAS;QACT,IAAI;QACJ,WAAW;QACX,YAAY;QACZ,iBAAiB;QACjB,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;QAC/B,kBAAkB;QAClB,cAAc;QACd,eAAe;KAChB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,cAAc,CAC3B,GAAc,EACd,aAAuB,EACvB,UAAkB,EAClB,OAAuB,EACvB,OAAgB;IAEhB,MAAM,EACJ,KAAK,GAAG,mBAAmB,EAC3B,QAAQ,GAAG,EAAE,EACb,YAAY,EACZ,OAAO,GAAG,KAAK,GAChB,GAAG,OAAO,CAAC;IAEZ,MAAM,QAAQ,GAAG,yBAAyB,EAAE,CAAC;IAC7C,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtF,MAAM,YAAY,GAAG,uBAAuB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,iBAAiB,CAC9B;QACE,YAAY,EAAE,GAAG,CAAC,SAAS;QAC3B,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;QACxC,eAAe,EAAE,aAAa;KAC/B,EACD,GAAG,CAAC,QAAQ,CACb,CAAC;IAEF,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,WAAW,GAAG;QAClB,KAAK;QACL,QAAQ;QACR,YAAY;QACZ,GAAG,EAAE,GAAG,CAAC,SAAS;QAClB,qBAAqB,EAAE,CAAC,GAAG,GAAG,CAAC,kBAAkB,EAAE,UAAU,CAAC;QAC9D,cAAc,EAAE,aAAsB;QACtC,YAAY,EAAE;YACZ,GAAG,IAAI,GAAG,CAAC;gBACT,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;gBAC9B,mDAAmD;gBACnD,GAAG,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;aAC/B,CAAC;SACH;QACD,UAAU,EAAE;YACV,wBAAwB,EAAE,MAAM;SACjC;QACD,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,6CAA6C;QAC7C,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;YACvB,OAAO,EAAE;gBACP,SAAS,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,iBAAiB,EAAE,GAAG,GAAG,CAAC,kBAAkB,CAAC;aAC7E;SACF,CAAC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC;QACzD,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,GAAG,EAAE,WAAW,CAAC,GAAG;QACpB,qBAAqB,EAAE,WAAW,CAAC,qBAAqB;QACxD,cAAc,EAAE,WAAW,CAAC,cAAc;QAC1C,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;QAC/C,YAAY,EAAE,WAAW,CAAC,YAAY;KACvC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAEb,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAEjD,IAAI,WAA0D,CAAC;IAE/D,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC;YACjE,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,IAAI,WAAW,aAAa,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,qBAAqB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACjC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,sBAAsB,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACpF,CAAC;iBAAM,IAAI,KAAK,EAAE,CAAC;gBACjB,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,WAAW,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,8BAA8B,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,qBAAqB,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACrE,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,YAAY,WAAW,CAAC,QAAQ,YAAY,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxG,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,sBAAsB,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAE9F,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACzB,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,CAAC,CAAC;IACzC,iFAAiF;IACjF,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK;QACtC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,GAAG;QACjD,CAAC,CAAC,CAAC,CAAC;IAEN,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,mBAAmB,WAAW,CAAC,IAAI,IAAI,eAAe,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,CAAC,IAAI,oFAAoF,CAChG,CAAC;IACJ,CAAC;IAED,uBAAuB;IACvB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC;IACtE,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,oBAAoB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IAEpE,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CACT,WAAW,GAAG,CAAC,IAAI,gBAAgB,MAAM,CAAC,QAAQ,CAAC,MAAM,yBAAyB,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAC/G,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,YAAY,CACzB,GAAc,EACd,UAA0B,EAC1B,qBAAqC,EACrC,UAAkB,EAClB,aAAuB,EACvB,OAAuB,EACvB,OAAgB;IAEhB,MAAM,EACJ,KAAK,GAAG,mBAAmB,EAC3B,QAAQ,GAAG,EAAE,EACb,YAAY,EACZ,OAAO,GAAG,KAAK,GAChB,GAAG,OAAO,CAAC;IAEZ,MAAM,QAAQ,GAAG,uBAAuB,EAAE,CAAC;IAC3C,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpF,MAAM,YAAY,GAAG,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,eAAe,CAC5B;QACE,YAAY,EAAE,GAAG,CAAC,SAAS;QAC3B,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;QACxC,UAAU;QACV,UAAU;QACV,qBAAqB;QACrB,eAAe,EAAE,aAAa;KAC/B,EACD,GAAG,CAAC,QAAQ,CACb,CAAC;IAEF,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,WAAW,GAAG;QAClB,KAAK;QACL,QAAQ;QACR,YAAY;QACZ,GAAG,EAAE,GAAG,CAAC,SAAS;QAClB,qBAAqB,EAAE,CAAC,GAAG,GAAG,CAAC,kBAAkB,EAAE,UAAU,CAAC;QAC9D,cAAc,EAAE,aAAsB;QACtC,YAAY,EAAE;YACZ,GAAG,IAAI,GAAG,CAAC;gBACT,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;gBAC/C,iDAAiD;gBACjD,GAAG,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;aAC/B,CAAC;SACH;QACD,UAAU,EAAE;YACV,sBAAsB,EAAE,MAAM;SAC/B;QACD,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,iDAAiD;QACjD,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;YACvB,OAAO,EAAE;gBACP,UAAU,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,iBAAiB,EAAE,UAAU,CAAC;gBAC9D,SAAS,EAAE,CAAC,GAAG,GAAG,CAAC,kBAAkB,CAAC;aACvC;SACF,CAAC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,KAAK,CAAC,SAAS,GAAG,CAAC,IAAI,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC;QACvD,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,GAAG,EAAE,WAAW,CAAC,GAAG;QACpB,qBAAqB,EAAE,WAAW,CAAC,qBAAqB;QACxD,cAAc,EAAE,WAAW,CAAC,cAAc;QAC1C,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;QAC/C,YAAY,EAAE,WAAW,CAAC,YAAY;KACvC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAEb,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAEjD,IAAI,WAA0D,CAAC;IAE/D,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC;YACjE,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,IAAI,WAAW,aAAa,EAAE,CAAC,CAAC;YAC3D,CAAC;YACD,KAAK,CAAC,SAAS,GAAG,CAAC,IAAI,qBAAqB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,WAAW,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,0CAA0C,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,SAAS,GAAG,CAAC,IAAI,qBAAqB,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACnE,KAAK,CAAC,SAAS,GAAG,CAAC,IAAI,YAAY,WAAW,CAAC,QAAQ,YAAY,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtG,KAAK,CAAC,SAAS,GAAG,CAAC,IAAI,oBAAoB,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAExF,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACzB,KAAK,CAAC,SAAS,GAAG,CAAC,IAAI,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,CAAC,CAAC;IACzC,iFAAiF;IACjF,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK;QACtC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,GAAG;QACjD,CAAC,CAAC,CAAC,CAAC;IAEN,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,iBAAiB,WAAW,CAAC,IAAI,IAAI,eAAe,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC;IACxC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,CAAC,IAAI,oFAAoF,CAChG,CAAC;IACJ,CAAC;IAED,8BAA8B;IAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC;IACtE,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IAE9D,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CACT,SAAS,GAAG,CAAC,IAAI,gBAAgB,IAAI,CAAC,kBAAkB,CAAC,MAAM,4BAA4B,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CACxH,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAiB,EACjB,UAA0B,EAAE,EAC5B,OAAgB;IAEhB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,EAAE,OAAO,GAAG,KAAK,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAExD,8CAA8C;IAC9C,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAE/C,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,sBAAsB;IACtB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,MAAM,kBAAkB,GAA2B,EAAE,CAAC;IAEtD,mCAAmC;IACnC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qCAAqC,CAAC,CACvD,CAAC;IAEF,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,UAAU,CAC5C,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1D,OAAO,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,OAAO,GAAmB,EAAE,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAE,CAAC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QAErB,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,YAAY,IAAI,OAAO,CAAC;YACxB,kBAAkB,CAAC,GAAG,GAAG,CAAC,IAAI,WAAW,CAAC,GAAG,cAAc,CAAC;YAE5D,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK;gBAChD,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,eAAe;gBACxC,YAAY,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI;gBAC3D,SAAS,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CACpD,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC7B,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,IAAI,mBAAmB,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3G,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACpF,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAE7E,mCAAmC;IACnC,MAAM,aAAa,GAAmB,EAAE,CAAC;IAEzC,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC,CAAC;IACrE,CAAC;SAAM,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC,CAAC;IAC5E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,aAAa,+BAA+B,CAAC,CACtF,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;YAE1D,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAC/B,GAAG,EACH,OAAO,EACP,aAAa,EAAE,8CAA8C;gBAC7D,UAAU,EACV,UAAU,EACV,OAAO,EACP,OAAO,CACR,CAAC;gBAEF,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAChC,YAAY,IAAI,MAAM,CAAC,OAAO,CAAC;gBAC/B,kBAAkB,CAAC,GAAG,GAAG,CAAC,IAAI,SAAS,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC;gBAEjE,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK;oBAChD,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,kBAAkB;oBAC1D,YAAY,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI;oBAClE,SAAS,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAC3D,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,IAAI,iBAAiB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACpF,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACxD,EAAE,CAAC,aAAa,CACd,WAAW,EACX,qBAAqB,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,EACnF,OAAO,CACR,CAAC;IAEF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IAE1C,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC5B,UAAU;QACV,OAAO;QACP,aAAa;QACb,UAAU;QACV,YAAY;QACZ,kBAAkB;QAClB,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;KAC/C,CAAC;AACJ,CAAC;AAED,8BAA8B;AAE9B;;GAEG;AACH,SAAS,oBAAoB,CAAC,MAAoB;IAChD,MAAM,YAAY,GAChB,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QACxB,CAAC,CAAC,MAAM,CAAC,QAAQ;aACZ,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,QAAQ,CAAC,CAAC,QAAQ,OAAO,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7F;aACA,IAAI,CAAC,IAAI,CAAC;QACf,CAAC,CAAC,eAAe,CAAC;IAEtB,MAAM,WAAW,GACf,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QAC3B,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACpD,CAAC,CAAC,oBAAoB,CAAC;IAE3B,MAAM,WAAW,GACf,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;QACrD,CAAC,CAAC,0BAA0B,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QACpF,CAAC,CAAC,EAAE,CAAC;IAET,OAAO,oBAAoB,MAAM,CAAC,aAAa;;;;EAI/C,MAAM,CAAC,YAAY;;;;EAInB,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;EAIrD,YAAY;;;;EAIZ,WAAW;EACX,WAAW,EAAE,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,IAAkB;IAC5C,MAAM,WAAW,GACf,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC;QAChC,CAAC,CAAC,IAAI,CAAC,kBAAkB;aACpB,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,WAAW,CAAC,CAAC,aAAa,MAAM;YAChC,gBAAgB,CAAC,CAAC,kBAAkB,MAAM;YAC1C,mBAAmB,CAAC,CAAC,UAAU,MAAM;YACrC,mBAAmB,CAAC,CAAC,UAAU,EAAE;YACjC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAChE;aACA,IAAI,CAAC,aAAa,CAAC;QACxB,CAAC,CAAC,mCAAmC,CAAC;IAE1C,MAAM,QAAQ,GACZ,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QAC7C,CAAC,CAAC,wBAAwB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QAC9E,CAAC,CAAC,EAAE,CAAC;IAET,OAAO,oBAAoB,IAAI,CAAC,aAAa;;;;EAI7C,IAAI,CAAC,OAAO;;;;EAIZ,WAAW;EACX,QAAQ;;;EAGR,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,oBAAoB;CACtF,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAC5B,OAAuB,EACvB,aAA6B,EAC7B,YAAoB,EACpB,UAAkB;IAElB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEpE,iCAAiC;IACjC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC7E,MAAM,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAC3C,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAC7C,CAAC,CACF,CAAC;IACF,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAEnE,kBAAkB;IAClB,MAAM,WAAW,GACf,UAAU,GAAG,KAAK;QAChB,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;QACtC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;IAEvF,wBAAwB;IACxB,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACtB,cAAc,GAAG,mBAAmB,CAAC;QACrC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACtC,oBAAoB;gBACpB,MAAM,UAAU,GAAG,aAAa;qBAC7B,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;qBACpC,IAAI,CACH,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,aAAa,KAAK,MAAM,CAAC,aAAa;oBACxC,CAAC,CAAC,kBAAkB,KAAK,OAAO,CAAC,WAAW,CAC/C,CAAC;gBAEJ,MAAM,MAAM,GAAG,UAAU;oBACvB,CAAC,CAAC,aAAa,UAAU,CAAC,UAAU,GAAG;oBACvC,CAAC,CAAC,YAAY,CAAC;gBAEjB,cAAc;oBACZ,OAAO,MAAM,CAAC,aAAa,OAAO,OAAO,CAAC,WAAW,KAAK,OAAO,CAAC,QAAQ,SAAS,MAAM,MAAM,CAAC;YACpG,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;;YAEG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC9B,YAAY;gBAChB,WAAW;mBACR,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;;;;iBAIzB,OAAO,CAAC,MAAM;2BACJ,aAAa;8BACV,gBAAgB;0BACpB,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;EACrD,cAAc;;;EAGd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,aAAa,kBAAkB,CAAC,CAAC,YAAY,sBAAsB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;;EAE/J,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,4BAA4B,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,aAAa,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;;;;CAI9I,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prompts for Standup Mode
|
|
3
|
+
*
|
|
4
|
+
* System prompts and user prompts for the report and sync phases.
|
|
5
|
+
* Uses shared Agent Identity Protocol from communication-layer.
|
|
6
|
+
*
|
|
7
|
+
* Prompt engineering principles applied:
|
|
8
|
+
* - XML tags separate data from instructions (Anthropic best practice)
|
|
9
|
+
* - System prompts define role/constraints; user prompts define task/data (no duplication)
|
|
10
|
+
* - Guided chain-of-thought before tool submission
|
|
11
|
+
* - Explicit context: what output is used for, who reads it, where it fits in workflow
|
|
12
|
+
* - Minimize noise: no redundant instructions between system and user prompts
|
|
13
|
+
*/
|
|
14
|
+
import { type NavigatorIdentity } from "@autonav/communication-layer";
|
|
15
|
+
import type { StatusReport, SyncResponse } from "./types.js";
|
|
16
|
+
export type { NavigatorIdentity };
|
|
17
|
+
/**
|
|
18
|
+
* Context passed to report phase prompts
|
|
19
|
+
*/
|
|
20
|
+
interface ReportPromptContext {
|
|
21
|
+
navDirectory: string;
|
|
22
|
+
knowledgeBasePath: string;
|
|
23
|
+
otherNavigators: string[];
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Context passed to sync phase prompts
|
|
27
|
+
*/
|
|
28
|
+
interface SyncPromptContext {
|
|
29
|
+
navDirectory: string;
|
|
30
|
+
knowledgeBasePath: string;
|
|
31
|
+
standupDir: string;
|
|
32
|
+
allReports: StatusReport[];
|
|
33
|
+
previousSyncResponses: SyncResponse[];
|
|
34
|
+
otherNavigators: string[];
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Build the system prompt for a navigator in the report phase.
|
|
38
|
+
*
|
|
39
|
+
* Role definition + behavioral constraints only.
|
|
40
|
+
* Task-specific instructions live in the user prompt to avoid duplication.
|
|
41
|
+
*/
|
|
42
|
+
export declare function buildReportSystemPrompt(navSystemPrompt: string): string;
|
|
43
|
+
/**
|
|
44
|
+
* Build the user prompt for the report phase.
|
|
45
|
+
*
|
|
46
|
+
* Provides task context, data via XML tags, and guided chain-of-thought.
|
|
47
|
+
*/
|
|
48
|
+
export declare function buildReportPrompt(context: ReportPromptContext, identity: NavigatorIdentity | null): string;
|
|
49
|
+
/**
|
|
50
|
+
* Build the system prompt for a navigator in the sync phase.
|
|
51
|
+
*
|
|
52
|
+
* Role definition + behavioral constraints only.
|
|
53
|
+
*/
|
|
54
|
+
export declare function buildSyncSystemPrompt(navSystemPrompt: string): string;
|
|
55
|
+
/**
|
|
56
|
+
* Build the user prompt for the sync phase.
|
|
57
|
+
*
|
|
58
|
+
* Data sections use XML tags for clean separation.
|
|
59
|
+
* Includes guided chain-of-thought for blocker prioritization.
|
|
60
|
+
*/
|
|
61
|
+
export declare function buildSyncPrompt(context: SyncPromptContext, identity: NavigatorIdentity | null): string;
|
|
62
|
+
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/standup/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG7D,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAElC;;GAEG;AACH,UAAU,mBAAmB;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,UAAU,iBAAiB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,qBAAqB,EAAE,YAAY,EAAE,CAAC;IACtC,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAiBvE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,iBAAiB,GAAG,IAAI,GACjC,MAAM,CAuCR;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAkBrE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,iBAAiB,GAAG,IAAI,GACjC,MAAM,CAsDR"}
|