@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,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standup Types
|
|
3
|
+
*
|
|
4
|
+
* Core type definitions for the multi-navigator stand-up mode
|
|
5
|
+
* that orchestrates parallel status reports and sequential blocker sync.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
/**
|
|
9
|
+
* Schema for a blocker reported by a navigator
|
|
10
|
+
*/
|
|
11
|
+
export const BlockerSchema = z.object({
|
|
12
|
+
description: z.string().describe("What is blocking progress"),
|
|
13
|
+
needsFrom: z
|
|
14
|
+
.string()
|
|
15
|
+
.optional()
|
|
16
|
+
.describe("Navigator name that can help, or 'any' if anyone could help"),
|
|
17
|
+
severity: z.enum(["critical", "moderate", "minor"]).describe("How severely this blocks progress"),
|
|
18
|
+
});
|
|
19
|
+
/**
|
|
20
|
+
* Schema for a status report submitted by a navigator during the report phase
|
|
21
|
+
*/
|
|
22
|
+
export const StatusReportSchema = z.object({
|
|
23
|
+
navigatorName: z.string().describe("Name of the reporting navigator"),
|
|
24
|
+
currentFocus: z.string().describe("What the navigator is currently working on"),
|
|
25
|
+
recentProgress: z.array(z.string()).describe("Recent accomplishments or progress items"),
|
|
26
|
+
blockers: z.array(BlockerSchema).describe("Current blockers"),
|
|
27
|
+
canHelpWith: z.array(z.string()).describe("Areas where this navigator could help others"),
|
|
28
|
+
knowledgeGaps: z
|
|
29
|
+
.array(z.string())
|
|
30
|
+
.optional()
|
|
31
|
+
.describe("Areas where the navigator lacks knowledge"),
|
|
32
|
+
});
|
|
33
|
+
/**
|
|
34
|
+
* Schema for a blocker resolution provided during the sync phase
|
|
35
|
+
*/
|
|
36
|
+
export const BlockerResolutionSchema = z.object({
|
|
37
|
+
navigatorName: z
|
|
38
|
+
.string()
|
|
39
|
+
.describe("Name of the navigator whose blocker is being resolved"),
|
|
40
|
+
blockerDescription: z.string().describe("The blocker being addressed"),
|
|
41
|
+
resolution: z.string().describe("How the blocker was resolved or advice given"),
|
|
42
|
+
artifactPath: z
|
|
43
|
+
.string()
|
|
44
|
+
.optional()
|
|
45
|
+
.describe("Path to any artifact created to help resolve the blocker"),
|
|
46
|
+
confidence: z
|
|
47
|
+
.enum(["high", "medium", "low"])
|
|
48
|
+
.describe("Confidence in the resolution"),
|
|
49
|
+
});
|
|
50
|
+
/**
|
|
51
|
+
* Schema for a sync response submitted by a navigator during the sync phase
|
|
52
|
+
*/
|
|
53
|
+
export const SyncResponseSchema = z.object({
|
|
54
|
+
navigatorName: z.string().describe("Name of the responding navigator"),
|
|
55
|
+
summary: z.string().describe("Summary of sync contributions"),
|
|
56
|
+
blockerResolutions: z
|
|
57
|
+
.array(BlockerResolutionSchema)
|
|
58
|
+
.describe("Resolutions for other navigators' blockers"),
|
|
59
|
+
newInsights: z
|
|
60
|
+
.array(z.string())
|
|
61
|
+
.optional()
|
|
62
|
+
.describe("New insights discovered while reviewing reports"),
|
|
63
|
+
followUpNeeded: z
|
|
64
|
+
.boolean()
|
|
65
|
+
.describe("Whether further follow-up is needed after this standup"),
|
|
66
|
+
});
|
|
67
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/standup/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IAC7D,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,6DAA6D,CAAC;IAC1E,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;CAClG,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACrE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IAC/E,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IACxF,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAC7D,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IACzF,aAAa,EAAE,CAAC;SACb,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,2CAA2C,CAAC;CACzD,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,QAAQ,CAAC,uDAAuD,CAAC;IACpE,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACtE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IAC/E,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0DAA0D,CAAC;IACvE,UAAU,EAAE,CAAC;SACV,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;SAC/B,QAAQ,CAAC,8BAA8B,CAAC;CAC5C,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACtE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC7D,kBAAkB,EAAE,CAAC;SAClB,KAAK,CAAC,uBAAuB,CAAC;SAC9B,QAAQ,CAAC,4CAA4C,CAAC;IACzD,WAAW,EAAE,CAAC;SACX,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,iDAAiD,CAAC;IAC9D,cAAc,EAAE,CAAC;SACd,OAAO,EAAE;SACT,QAAQ,CAAC,wDAAwD,CAAC;CACtE,CAAC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-Navigator Query Tool
|
|
3
|
+
*
|
|
4
|
+
* MCP tool that enables agents to query other navigators on-demand.
|
|
5
|
+
* Replaces fragile skill-based patterns (ask-<nav> skills that run
|
|
6
|
+
* `autonav query` via bash) with a direct MCP tool call.
|
|
7
|
+
*
|
|
8
|
+
* Cycle detection: Tracks query depth via a closure counter.
|
|
9
|
+
* Rejects queries beyond MAX_DEPTH (3) to prevent infinite loops.
|
|
10
|
+
*/
|
|
11
|
+
import { type Harness } from "../harness/index.js";
|
|
12
|
+
/**
|
|
13
|
+
* Create an MCP server with the query_navigator tool.
|
|
14
|
+
*
|
|
15
|
+
* Each session gets its own server instance. The harness is used
|
|
16
|
+
* to execute queries against target navigators.
|
|
17
|
+
*/
|
|
18
|
+
export declare function createCrossNavMcpServer(harness: Harness, currentDepth?: number): {
|
|
19
|
+
server: unknown;
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=cross-nav.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cross-nav.d.ts","sourceRoot":"","sources":["../../src/tools/cross-nav.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,KAAK,OAAO,EAA2B,MAAM,qBAAqB,CAAC;AAI5E;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,OAAO,EAChB,YAAY,GAAE,MAAU;;EAwFzB"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-Navigator Query Tool
|
|
3
|
+
*
|
|
4
|
+
* MCP tool that enables agents to query other navigators on-demand.
|
|
5
|
+
* Replaces fragile skill-based patterns (ask-<nav> skills that run
|
|
6
|
+
* `autonav query` via bash) with a direct MCP tool call.
|
|
7
|
+
*
|
|
8
|
+
* Cycle detection: Tracks query depth via a closure counter.
|
|
9
|
+
* Rejects queries beyond MAX_DEPTH (3) to prevent infinite loops.
|
|
10
|
+
*/
|
|
11
|
+
import { z } from "zod";
|
|
12
|
+
import { loadNavigator } from "../query-engine/navigator-loader.js";
|
|
13
|
+
import { collectText, defineTool } from "../harness/index.js";
|
|
14
|
+
const MAX_QUERY_DEPTH = 3;
|
|
15
|
+
/**
|
|
16
|
+
* Create an MCP server with the query_navigator tool.
|
|
17
|
+
*
|
|
18
|
+
* Each session gets its own server instance. The harness is used
|
|
19
|
+
* to execute queries against target navigators.
|
|
20
|
+
*/
|
|
21
|
+
export function createCrossNavMcpServer(harness, currentDepth = 0) {
|
|
22
|
+
const queryNavigatorTool = defineTool("query_navigator", `Ask another navigator a question. Use this when you need information from a different navigator's knowledge base.
|
|
23
|
+
|
|
24
|
+
The target navigator will receive your question, search its knowledge base, and return an answer. This is useful for cross-domain questions that fall outside your own expertise.
|
|
25
|
+
|
|
26
|
+
Specify the navigator by its directory path (relative or absolute).`, {
|
|
27
|
+
navigator: z
|
|
28
|
+
.string()
|
|
29
|
+
.describe("Path to the target navigator directory (relative to cwd or absolute)"),
|
|
30
|
+
question: z
|
|
31
|
+
.string()
|
|
32
|
+
.min(5)
|
|
33
|
+
.describe("The question to ask the target navigator"),
|
|
34
|
+
}, async (args) => {
|
|
35
|
+
// Cycle detection
|
|
36
|
+
if (currentDepth >= MAX_QUERY_DEPTH) {
|
|
37
|
+
return {
|
|
38
|
+
content: [
|
|
39
|
+
{
|
|
40
|
+
type: "text",
|
|
41
|
+
text: JSON.stringify({
|
|
42
|
+
success: false,
|
|
43
|
+
error: `Query depth limit reached (max ${MAX_QUERY_DEPTH}). Cannot query another navigator from this depth.`,
|
|
44
|
+
}),
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
isError: true,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
try {
|
|
51
|
+
// Load target navigator
|
|
52
|
+
const nav = loadNavigator(args.navigator);
|
|
53
|
+
// Run query via harness
|
|
54
|
+
const session = harness.run({
|
|
55
|
+
model: "claude-haiku-4-5",
|
|
56
|
+
maxTurns: 10,
|
|
57
|
+
systemPrompt: nav.systemPrompt,
|
|
58
|
+
cwd: nav.navigatorPath,
|
|
59
|
+
}, args.question);
|
|
60
|
+
const responseText = await collectText(session);
|
|
61
|
+
return {
|
|
62
|
+
content: [
|
|
63
|
+
{
|
|
64
|
+
type: "text",
|
|
65
|
+
text: JSON.stringify({
|
|
66
|
+
success: true,
|
|
67
|
+
navigator: nav.config.name,
|
|
68
|
+
response: responseText,
|
|
69
|
+
}),
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
isError: false,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
77
|
+
return {
|
|
78
|
+
content: [
|
|
79
|
+
{
|
|
80
|
+
type: "text",
|
|
81
|
+
text: JSON.stringify({
|
|
82
|
+
success: false,
|
|
83
|
+
error: `Failed to query navigator: ${errorMsg}`,
|
|
84
|
+
}),
|
|
85
|
+
},
|
|
86
|
+
],
|
|
87
|
+
isError: true,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
return harness.createToolServer("autonav-cross-nav", [queryNavigatorTool]);
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=cross-nav.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cross-nav.js","sourceRoot":"","sources":["../../src/tools/cross-nav.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAgB,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE5E,MAAM,eAAe,GAAG,CAAC,CAAC;AAE1B;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAAgB,EAChB,eAAuB,CAAC;IAExB,MAAM,kBAAkB,GAAG,UAAU,CACnC,iBAAiB,EACjB;;;;oEAIgE,EAChE;QACE,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,QAAQ,CACP,sEAAsE,CACvE;QACH,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CAAC,0CAA0C,CAAC;KACxD,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,kBAAkB;QAClB,IAAI,YAAY,IAAI,eAAe,EAAE,CAAC;YACpC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,kCAAkC,eAAe,oDAAoD;yBAC7G,CAAC;qBACH;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,wBAAwB;YACxB,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE1C,wBAAwB;YACxB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CACzB;gBACE,KAAK,EAAE,kBAAkB;gBACzB,QAAQ,EAAE,EAAE;gBACZ,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,GAAG,EAAE,GAAG,CAAC,aAAa;aACvB,EACD,IAAI,CAAC,QAAQ,CACd,CAAC;YAEF,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;YAEhD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,IAAI;4BACb,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI;4BAC1B,QAAQ,EAAE,YAAY;yBACvB,CAAC;qBACH;iBACF;gBACD,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GACZ,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAEzD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,8BAA8B,QAAQ,EAAE;yBAChD,CAAC;qBACH;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,OAAO,OAAO,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC7E,CAAC"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -7,4 +7,5 @@
|
|
|
7
7
|
export { createSelfConfigMcpServer, CONFIGURABLE_PLUGINS, type ConfigurablePlugin, type UpdatePluginConfigInput, type GetPluginConfigInput, type SelfConfigResult, } from "./self-config.js";
|
|
8
8
|
export { handleUpdatePluginConfig, handleGetPluginConfig, processToolCall, } from "./handler.js";
|
|
9
9
|
export { createResponseMcpServer, SUBMIT_ANSWER_TOOL, type SubmitAnswerResult, } from "./response.js";
|
|
10
|
+
export { createCrossNavMcpServer, } from "./cross-nav.js";
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,uBAAuB,GACxB,MAAM,gBAAgB,CAAC"}
|
package/dist/tools/index.js
CHANGED
|
@@ -7,4 +7,5 @@
|
|
|
7
7
|
export { createSelfConfigMcpServer, CONFIGURABLE_PLUGINS, } from "./self-config.js";
|
|
8
8
|
export { handleUpdatePluginConfig, handleGetPluginConfig, processToolCall, } from "./handler.js";
|
|
9
9
|
export { createResponseMcpServer, SUBMIT_ANSWER_TOOL, } from "./response.js";
|
|
10
|
+
export { createCrossNavMcpServer, } from "./cross-nav.js";
|
|
10
11
|
//# sourceMappingURL=index.js.map
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,yBAAyB,EACzB,oBAAoB,GAKrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,uBAAuB,EACvB,kBAAkB,GAEnB,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,yBAAyB,EACzB,oBAAoB,GAKrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,uBAAuB,EACvB,kBAAkB,GAEnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,uBAAuB,GACxB,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Self-Configuration Tools for Related Navigators
|
|
3
|
+
*
|
|
4
|
+
* Allows navigators to add/remove related navigators in their own config.json.
|
|
5
|
+
* Changes are written to disk but cannot update tools in the running session —
|
|
6
|
+
* the user is warned to restart.
|
|
7
|
+
*/
|
|
8
|
+
import { type Harness } from "../harness/index.js";
|
|
9
|
+
/**
|
|
10
|
+
* Create self-config tools for managing related navigators.
|
|
11
|
+
*/
|
|
12
|
+
export declare function createRelatedNavsConfigServer(navigatorPath: string, harness: Harness): {
|
|
13
|
+
server: unknown;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=related-navs-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"related-navs-config.d.ts","sourceRoot":"","sources":["../../src/tools/related-navs-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AA8B/D;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,OAAO,GACf;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,CAiHrB"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Self-Configuration Tools for Related Navigators
|
|
3
|
+
*
|
|
4
|
+
* Allows navigators to add/remove related navigators in their own config.json.
|
|
5
|
+
* Changes are written to disk but cannot update tools in the running session —
|
|
6
|
+
* the user is warned to restart.
|
|
7
|
+
*/
|
|
8
|
+
import * as fs from "node:fs";
|
|
9
|
+
import * as path from "node:path";
|
|
10
|
+
import { z } from "zod";
|
|
11
|
+
import { defineTool } from "../harness/index.js";
|
|
12
|
+
/**
|
|
13
|
+
* Read relatedNavigators from a config.json file.
|
|
14
|
+
*/
|
|
15
|
+
function readRelatedNavs(configPath) {
|
|
16
|
+
try {
|
|
17
|
+
const content = fs.readFileSync(configPath, "utf-8");
|
|
18
|
+
const config = JSON.parse(content);
|
|
19
|
+
return Array.isArray(config.relatedNavigators) ? config.relatedNavigators : [];
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return [];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Write relatedNavigators to a config.json file (preserving other fields).
|
|
27
|
+
*/
|
|
28
|
+
function writeRelatedNavs(configPath, navs) {
|
|
29
|
+
const content = fs.readFileSync(configPath, "utf-8");
|
|
30
|
+
const config = JSON.parse(content);
|
|
31
|
+
config.relatedNavigators = navs;
|
|
32
|
+
fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + "\n");
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Create self-config tools for managing related navigators.
|
|
36
|
+
*/
|
|
37
|
+
export function createRelatedNavsConfigServer(navigatorPath, harness) {
|
|
38
|
+
const configPath = path.join(navigatorPath, "config.json");
|
|
39
|
+
const getRelatedNavigators = defineTool("get_related_navigators", "List all related navigators configured for this navigator.", {}, async () => {
|
|
40
|
+
const navs = readRelatedNavs(configPath);
|
|
41
|
+
return {
|
|
42
|
+
content: [
|
|
43
|
+
{
|
|
44
|
+
type: "text",
|
|
45
|
+
text: JSON.stringify({ success: true, relatedNavigators: navs }),
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
isError: false,
|
|
49
|
+
};
|
|
50
|
+
});
|
|
51
|
+
const updateRelatedNavigators = defineTool("update_related_navigators", `Add or remove related navigators. Changes are saved to config.json.
|
|
52
|
+
|
|
53
|
+
IMPORTANT: New tools (ask_<name>) will only appear after restarting the session. Inform the user they need to restart for changes to take effect.`, {
|
|
54
|
+
action: z.enum(["add", "remove"]).describe("Whether to add or remove a related navigator"),
|
|
55
|
+
name: z.string().min(1).describe("Navigator name (used to generate ask_<name> tool)"),
|
|
56
|
+
description: z.string().optional().describe("What this navigator knows about (required for add)"),
|
|
57
|
+
}, async (args) => {
|
|
58
|
+
const navs = readRelatedNavs(configPath);
|
|
59
|
+
if (args.action === "add") {
|
|
60
|
+
// Check for duplicates
|
|
61
|
+
if (navs.some((n) => n.name === args.name)) {
|
|
62
|
+
return {
|
|
63
|
+
content: [
|
|
64
|
+
{
|
|
65
|
+
type: "text",
|
|
66
|
+
text: JSON.stringify({
|
|
67
|
+
success: false,
|
|
68
|
+
error: `Navigator "${args.name}" is already a related navigator.`,
|
|
69
|
+
}),
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
isError: true,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
const entry = { name: args.name };
|
|
76
|
+
if (args.description) {
|
|
77
|
+
entry.description = args.description;
|
|
78
|
+
}
|
|
79
|
+
navs.push(entry);
|
|
80
|
+
writeRelatedNavs(configPath, navs);
|
|
81
|
+
return {
|
|
82
|
+
content: [
|
|
83
|
+
{
|
|
84
|
+
type: "text",
|
|
85
|
+
text: JSON.stringify({
|
|
86
|
+
success: true,
|
|
87
|
+
message: `Added "${args.name}" as a related navigator. The ask_${args.name.replace(/-/g, "_")} tool will be available after restarting the session.`,
|
|
88
|
+
relatedNavigators: navs,
|
|
89
|
+
}),
|
|
90
|
+
},
|
|
91
|
+
],
|
|
92
|
+
isError: false,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
// Remove
|
|
96
|
+
const idx = navs.findIndex((n) => n.name === args.name);
|
|
97
|
+
if (idx === -1) {
|
|
98
|
+
return {
|
|
99
|
+
content: [
|
|
100
|
+
{
|
|
101
|
+
type: "text",
|
|
102
|
+
text: JSON.stringify({
|
|
103
|
+
success: false,
|
|
104
|
+
error: `Navigator "${args.name}" is not in the related navigators list.`,
|
|
105
|
+
}),
|
|
106
|
+
},
|
|
107
|
+
],
|
|
108
|
+
isError: true,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
navs.splice(idx, 1);
|
|
112
|
+
writeRelatedNavs(configPath, navs);
|
|
113
|
+
return {
|
|
114
|
+
content: [
|
|
115
|
+
{
|
|
116
|
+
type: "text",
|
|
117
|
+
text: JSON.stringify({
|
|
118
|
+
success: true,
|
|
119
|
+
message: `Removed "${args.name}" from related navigators. Changes take effect after restarting the session.`,
|
|
120
|
+
relatedNavigators: navs,
|
|
121
|
+
}),
|
|
122
|
+
},
|
|
123
|
+
],
|
|
124
|
+
isError: false,
|
|
125
|
+
};
|
|
126
|
+
});
|
|
127
|
+
return harness.createToolServer("autonav-related-navs-config", [
|
|
128
|
+
getRelatedNavigators,
|
|
129
|
+
updateRelatedNavigators,
|
|
130
|
+
]);
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=related-navs-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"related-navs-config.js","sourceRoot":"","sources":["../../src/tools/related-navs-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-Navigator Query Tools
|
|
3
|
+
*
|
|
4
|
+
* Generates one ask_<name> tool per related navigator listed in config.json.
|
|
5
|
+
* Each tool's handler runs in the autonav orchestrator process (outside any
|
|
6
|
+
* sandbox), resolves the target navigator's path from the global registry
|
|
7
|
+
* or env vars, spawns a new sandboxed session, and returns the response.
|
|
8
|
+
*/
|
|
9
|
+
import { type Harness } from "../harness/index.js";
|
|
10
|
+
interface RelatedNavigator {
|
|
11
|
+
name: string;
|
|
12
|
+
description?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Create an MCP/tool server with one ask_<name> tool per related navigator.
|
|
16
|
+
*
|
|
17
|
+
* Returns null if there are no related navigators configured.
|
|
18
|
+
*/
|
|
19
|
+
export declare function createRelatedNavsMcpServer(harness: Harness, relatedNavigators: RelatedNavigator[], currentDepth?: number): {
|
|
20
|
+
server: unknown;
|
|
21
|
+
} | null;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=related-navs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"related-navs.d.ts","sourceRoot":"","sources":["../../src/tools/related-navs.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,KAAK,OAAO,EAAgD,MAAM,qBAAqB,CAAC;AAIjG,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,YAAY,GAAE,MAAU,GACvB;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAyG5B"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-Navigator Query Tools
|
|
3
|
+
*
|
|
4
|
+
* Generates one ask_<name> tool per related navigator listed in config.json.
|
|
5
|
+
* Each tool's handler runs in the autonav orchestrator process (outside any
|
|
6
|
+
* sandbox), resolves the target navigator's path from the global registry
|
|
7
|
+
* or env vars, spawns a new sandboxed session, and returns the response.
|
|
8
|
+
*/
|
|
9
|
+
import { z } from "zod";
|
|
10
|
+
import { loadNavigator } from "../query-engine/navigator-loader.js";
|
|
11
|
+
import { resolveNavigatorPath } from "../registry.js";
|
|
12
|
+
import { collectText, defineTool } from "../harness/index.js";
|
|
13
|
+
const MAX_QUERY_DEPTH = 3;
|
|
14
|
+
/**
|
|
15
|
+
* Create an MCP/tool server with one ask_<name> tool per related navigator.
|
|
16
|
+
*
|
|
17
|
+
* Returns null if there are no related navigators configured.
|
|
18
|
+
*/
|
|
19
|
+
export function createRelatedNavsMcpServer(harness, relatedNavigators, currentDepth = 0) {
|
|
20
|
+
if (relatedNavigators.length === 0) {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
const tools = relatedNavigators.map((nav) => {
|
|
24
|
+
const toolName = `ask_${nav.name.replace(/-/g, "_")}`;
|
|
25
|
+
const desc = nav.description
|
|
26
|
+
? `Ask ${nav.name} a question. ${nav.name} is: ${nav.description}. Use this when you need information from ${nav.name}'s knowledge base.`
|
|
27
|
+
: `Ask ${nav.name} a question. Use this when you need information from ${nav.name}'s knowledge base.`;
|
|
28
|
+
return defineTool(toolName, desc, {
|
|
29
|
+
question: z
|
|
30
|
+
.string()
|
|
31
|
+
.min(5)
|
|
32
|
+
.describe(`The question to ask ${nav.name}`),
|
|
33
|
+
}, async (args) => {
|
|
34
|
+
// Cycle detection
|
|
35
|
+
if (currentDepth >= MAX_QUERY_DEPTH) {
|
|
36
|
+
return {
|
|
37
|
+
content: [
|
|
38
|
+
{
|
|
39
|
+
type: "text",
|
|
40
|
+
text: JSON.stringify({
|
|
41
|
+
success: false,
|
|
42
|
+
error: `Query depth limit reached (max ${MAX_QUERY_DEPTH}). Cannot query another navigator from this depth.`,
|
|
43
|
+
}),
|
|
44
|
+
},
|
|
45
|
+
],
|
|
46
|
+
isError: true,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
// Resolve navigator path
|
|
50
|
+
const navPath = resolveNavigatorPath(nav.name);
|
|
51
|
+
if (!navPath) {
|
|
52
|
+
return {
|
|
53
|
+
content: [
|
|
54
|
+
{
|
|
55
|
+
type: "text",
|
|
56
|
+
text: JSON.stringify({
|
|
57
|
+
success: false,
|
|
58
|
+
error: `Navigator "${nav.name}" not found. Register it with \`autonav init\` or set AUTONAV_NAV_PATH_${nav.name.toUpperCase().replace(/-/g, "_")} env var.`,
|
|
59
|
+
}),
|
|
60
|
+
},
|
|
61
|
+
],
|
|
62
|
+
isError: true,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
try {
|
|
66
|
+
const target = loadNavigator(navPath);
|
|
67
|
+
const session = harness.run({
|
|
68
|
+
model: "claude-haiku-4-5",
|
|
69
|
+
maxTurns: 10,
|
|
70
|
+
systemPrompt: target.systemPrompt,
|
|
71
|
+
cwd: target.navigatorPath,
|
|
72
|
+
}, args.question);
|
|
73
|
+
const responseText = await collectText(session);
|
|
74
|
+
return {
|
|
75
|
+
content: [
|
|
76
|
+
{
|
|
77
|
+
type: "text",
|
|
78
|
+
text: JSON.stringify({
|
|
79
|
+
success: true,
|
|
80
|
+
navigator: target.config.name,
|
|
81
|
+
response: responseText,
|
|
82
|
+
}),
|
|
83
|
+
},
|
|
84
|
+
],
|
|
85
|
+
isError: false,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
90
|
+
return {
|
|
91
|
+
content: [
|
|
92
|
+
{
|
|
93
|
+
type: "text",
|
|
94
|
+
text: JSON.stringify({
|
|
95
|
+
success: false,
|
|
96
|
+
error: `Failed to query ${nav.name}: ${errorMsg}`,
|
|
97
|
+
}),
|
|
98
|
+
},
|
|
99
|
+
],
|
|
100
|
+
isError: true,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
return harness.createToolServer("autonav-related-navs", tools);
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=related-navs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"related-navs.js","sourceRoot":"","sources":["../../src/tools/related-navs.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/response.d.ts
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Uses MCP format for integration with Claude Agent SDK.
|
|
9
9
|
*/
|
|
10
|
+
import { type Harness } from "../harness/index.js";
|
|
10
11
|
/**
|
|
11
12
|
* Result type returned when submit_answer tool is called
|
|
12
13
|
*/
|
|
@@ -22,9 +23,9 @@ export interface SubmitAnswerResult {
|
|
|
22
23
|
* This achieves the same result as Claude's Structured Outputs
|
|
23
24
|
* but works within the Claude Agent SDK's tool use flow.
|
|
24
25
|
*/
|
|
25
|
-
export declare function createResponseMcpServer():
|
|
26
|
+
export declare function createResponseMcpServer(harness: Harness): unknown;
|
|
26
27
|
/**
|
|
27
|
-
* Tool name constant for detection in
|
|
28
|
+
* Tool name constant for detection in NavigatorAdapter
|
|
28
29
|
*/
|
|
29
30
|
export declare const SUBMIT_ANSWER_TOOL = "submit_answer";
|
|
30
31
|
//# sourceMappingURL=response.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/tools/response.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/tools/response.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,WA4DvD;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,kBAAkB,CAAC"}
|
package/dist/tools/response.js
CHANGED
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* Uses MCP format for integration with Claude Agent SDK.
|
|
9
9
|
*/
|
|
10
10
|
import { z } from "zod";
|
|
11
|
-
import { tool, createSdkMcpServer } from "@anthropic-ai/claude-agent-sdk";
|
|
12
11
|
import { NavigatorResponseSchema, PROTOCOL_VERSION, } from "@autonav/communication-layer";
|
|
12
|
+
import { defineTool } from "../harness/index.js";
|
|
13
13
|
/**
|
|
14
14
|
* Create an MCP server with response tools
|
|
15
15
|
*
|
|
@@ -18,8 +18,8 @@ import { NavigatorResponseSchema, PROTOCOL_VERSION, } from "@autonav/communicati
|
|
|
18
18
|
* This achieves the same result as Claude's Structured Outputs
|
|
19
19
|
* but works within the Claude Agent SDK's tool use flow.
|
|
20
20
|
*/
|
|
21
|
-
export function createResponseMcpServer() {
|
|
22
|
-
const submitAnswerTool =
|
|
21
|
+
export function createResponseMcpServer(harness) {
|
|
22
|
+
const submitAnswerTool = defineTool("submit_answer", `Submit your final answer to the user's question. You MUST use this tool to provide your response.
|
|
23
23
|
|
|
24
24
|
This ensures your answer follows the required structure with proper source citations.
|
|
25
25
|
Do NOT respond with plain text - always use this tool to submit your answer.`, {
|
|
@@ -36,14 +36,14 @@ Do NOT respond with plain text - always use this tool to submit your answer.`, {
|
|
|
36
36
|
// Validate against the full schema (adds protocolVersion, timestamp, etc.)
|
|
37
37
|
const response = NavigatorResponseSchema.parse({
|
|
38
38
|
protocolVersion: PROTOCOL_VERSION,
|
|
39
|
-
query: "", // Will be populated by
|
|
39
|
+
query: "", // Will be populated by NavigatorAdapter
|
|
40
40
|
answer: args.answer,
|
|
41
41
|
sources: args.sources,
|
|
42
42
|
confidence: args.confidence,
|
|
43
43
|
confidenceReason: args.confidenceReason,
|
|
44
44
|
outOfDomain: args.outOfDomain,
|
|
45
45
|
});
|
|
46
|
-
// Return success - the
|
|
46
|
+
// Return success - the NavigatorAdapter will extract the response
|
|
47
47
|
return {
|
|
48
48
|
content: [
|
|
49
49
|
{
|
|
@@ -58,14 +58,10 @@ Do NOT respond with plain text - always use this tool to submit your answer.`, {
|
|
|
58
58
|
isError: false,
|
|
59
59
|
};
|
|
60
60
|
});
|
|
61
|
-
return
|
|
62
|
-
name: "autonav-response",
|
|
63
|
-
version: "1.0.0",
|
|
64
|
-
tools: [submitAnswerTool],
|
|
65
|
-
});
|
|
61
|
+
return harness.createToolServer("autonav-response", [submitAnswerTool]).server;
|
|
66
62
|
}
|
|
67
63
|
/**
|
|
68
|
-
* Tool name constant for detection in
|
|
64
|
+
* Tool name constant for detection in NavigatorAdapter
|
|
69
65
|
*/
|
|
70
66
|
export const SUBMIT_ANSWER_TOOL = "submit_answer";
|
|
71
67
|
//# sourceMappingURL=response.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/tools/response.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/tools/response.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAgB,MAAM,qBAAqB,CAAC;AAU/D;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,gBAAgB,GAAG,UAAU,CACjC,eAAe,EACf;;;6EAGyE,EACzE;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAChC,uIAAuI,CACxI;QACD,OAAO,EAAE,CAAC,CAAC,KAAK,CACd,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,8CAA8C,CAAC;YAChF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC;YAC9E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0DAA0D,CAAC;SAClG,CAAC,CACH,CAAC,QAAQ,CACR,iIAAiI,CAClI;QACD,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CACpD,4IAA4I,CAC7I;QACD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC3C,iHAAiH,CAClH;QACD,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAC/B,mIAAmI,CACpI;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,2EAA2E;QAC3E,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,CAAC;YAC7C,eAAe,EAAE,gBAAgB;YACjC,KAAK,EAAE,EAAE,EAAE,wCAAwC;YACnD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;QAEH,kEAAkE;QAClE,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,+BAA+B;wBACxC,QAAQ;qBACT,CAAC;iBACH;aACF;YACD,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,OAAO,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC;AACjF,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAC"}
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
* Nav: [Uses update_plugin_config tool to schedule check-in]
|
|
12
12
|
*/
|
|
13
13
|
import type { PluginManager } from "../plugins/index.js";
|
|
14
|
+
import { type Harness } from "../harness/index.js";
|
|
14
15
|
/**
|
|
15
16
|
* Available plugins that can be configured
|
|
16
17
|
*/
|
|
@@ -50,5 +51,5 @@ export interface SelfConfigResult {
|
|
|
50
51
|
* @param pluginManager - Optional plugin manager for runtime updates
|
|
51
52
|
* @param pluginsConfigPath - Path to the plugins.json configuration file
|
|
52
53
|
*/
|
|
53
|
-
export declare function createSelfConfigMcpServer(pluginManager: PluginManager | undefined, pluginsConfigPath: string):
|
|
54
|
+
export declare function createSelfConfigMcpServer(pluginManager: PluginManager | undefined, pluginsConfigPath: string, harness: Harness): unknown;
|
|
54
55
|
//# sourceMappingURL=self-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"self-config.d.ts","sourceRoot":"","sources":["../../src/tools/self-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"self-config.d.ts","sourceRoot":"","sources":["../../src/tools/self-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKzD,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,oBAAoB,iDAAkD,CAAC;AACpF,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,kBAAkB,GAAG,KAAK,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,aAAa,GAAG,SAAS,EACxC,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,OAAO,WA+EjB"}
|