@agntn/harnesses 0.1.1 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/README.md +152 -117
  2. package/dist/_chunks/agents.mjs +2 -30
  3. package/dist/_chunks/agents.mjs.map +1 -1
  4. package/dist/_chunks/libs/typebox.mjs +535 -608
  5. package/dist/_chunks/libs/typebox.mjs.map +1 -1
  6. package/dist/_chunks/mcp-servers.mjs +5 -34
  7. package/dist/_chunks/mcp-servers.mjs.map +1 -1
  8. package/dist/_chunks/mcp.mjs +13 -163
  9. package/dist/_chunks/mcp.mjs.map +1 -1
  10. package/dist/_chunks/output.mjs +28 -0
  11. package/dist/_chunks/output.mjs.map +1 -0
  12. package/dist/_chunks/{agents-sync.d.mts → prompt-sync.d.mts} +91 -44
  13. package/dist/_chunks/prompt-sync.d.mts.map +1 -0
  14. package/dist/_chunks/{agents-sync.mjs → prompt-sync.mjs} +565 -26
  15. package/dist/_chunks/prompt-sync.mjs.map +1 -0
  16. package/dist/_chunks/prompts.mjs +28 -0
  17. package/dist/_chunks/prompts.mjs.map +1 -0
  18. package/dist/_chunks/tool-operations.mjs +43 -10
  19. package/dist/_chunks/tool-operations.mjs.map +1 -1
  20. package/dist/_chunks/tool-schemas.d.mts +17 -13
  21. package/dist/_chunks/tool-schemas.d.mts.map +1 -1
  22. package/dist/_chunks/tool-schemas.mjs +4 -0
  23. package/dist/_chunks/tool-schemas.mjs.map +1 -1
  24. package/dist/_chunks/types.mjs +1 -1
  25. package/dist/_chunks/types.mjs.map +1 -1
  26. package/dist/cli.mjs +6 -2
  27. package/dist/cli.mjs.map +1 -1
  28. package/dist/index.d.mts +26 -12
  29. package/dist/index.d.mts.map +1 -1
  30. package/dist/index.mjs +2 -2
  31. package/dist/index.mjs.map +1 -1
  32. package/dist/mcp.d.mts +1 -2
  33. package/dist/mcp.d.mts.map +1 -1
  34. package/dist/mcp.mjs +176 -1
  35. package/dist/mcp.mjs.map +1 -0
  36. package/dist/tool-operations.d.mts +42 -32
  37. package/dist/tool-operations.d.mts.map +1 -1
  38. package/dist/tool-operations.mjs +2 -2
  39. package/dist/tool-schemas.d.mts +2 -2
  40. package/package.json +24 -21
  41. package/packages/omp/extensions/harnesses.ts +19 -1
  42. package/packages/pi/extensions/harnesses.ts +26 -2
  43. package/packages/shared/tui.ts +22 -1
  44. package/dist/_chunks/agents-sync.d.mts.map +0 -1
  45. package/dist/_chunks/agents-sync.mjs.map +0 -1
  46. package/dist/_chunks/mcp2.mjs +0 -17
  47. package/dist/_chunks/mcp2.mjs.map +0 -1
package/dist/index.d.mts CHANGED
@@ -1,16 +1,16 @@
1
- import { AgentsCompanionTargetResult, AgentsConfig, AgentsSyncAction, AgentsSyncReport, AgentsTargetResult, AvailableModel, EvidenceLevel, Harness, HarnessCapabilities, HarnessConstructor, HarnessDetection, HarnessId, HarnessInvocation, HarnessInvocationModes, HarnessModelListing, InvokeOptions, InvokeResult, ListModelsOptions, ListModelsResult, McpConfigFile, McpConfigListing, McpEnvError, McpServerConfig, PathCandidate, Platform, ResolveOptions, ResolvedPaths, StorageDescriptor, SyncReport, SyncTargetResult, addMcpServer, listMcpServers, masterMcpPath, parseJsonc, readAgentsConfig, readMasterMcpServers, removeMcpServer, syncAgentsFiles, syncMcpServers, version } from "./_chunks/agents-sync.mjs";
2
- declare function registerHarness(HarnessClass: HarnessConstructor): Harness;
3
- declare function getHarness(id: HarnessId): Harness;
4
- declare function listHarnesses(): HarnessId[];
5
- declare function isHarnessId(id: string): id is HarnessId;
6
- declare function getAllHarnesses(): Harness[];
1
+ import { AgentsCompanionTargetResult, AgentsConfig, AgentsSyncAction, AgentsSyncReport, AgentsTargetResult, AvailableModel, EvidenceLevel, Harness, HarnessCapabilities, HarnessConstructor, HarnessDetection, HarnessId, HarnessInvocation, HarnessInvocationModes, HarnessModelListing, InvokeOptions, InvokeResult, ListModelsOptions, ListModelsResult, McpConfigFile, McpConfigListing, McpEnvError, McpServerConfig, PathCandidate, Platform, PromptSyncAction, PromptSyncReport, PromptSyncTargetResult, PromptTemplateSyncTarget, PromptTemplateTargetResult, ResolveOptions, ResolvedPaths, StorageDescriptor, SyncReport, SyncTargetResult, addMcpServer, listMcpServers, masterMcpPath, parseJsonc, readAgentsConfig, readMasterMcpServers, removeMcpServer, syncAgentsFiles, syncMcpServers, syncPromptTemplates, version } from "./_chunks/prompt-sync.mjs";
2
+ export declare function registerHarness(HarnessClass: HarnessConstructor): Harness;
3
+ export declare function getHarness(id: HarnessId): Harness;
4
+ export declare function listHarnesses(): HarnessId[];
5
+ export declare function isHarnessId(id: string): id is HarnessId;
6
+ export declare function getAllHarnesses(): Harness[];
7
7
  /**
8
8
  * Detect the active agent from environment variables.
9
9
  * Returns the first match since env detection is unambiguous.
10
10
  *
11
11
  * @returns {Harness | null} The detected harness, or null when none matches.
12
12
  */
13
- declare function detectHarnessFromEnv(): Harness | null;
13
+ export declare function detectHarnessFromEnv(): Harness | null;
14
14
  /**
15
15
  * Detect which agents have project-level markers in the given directory.
16
16
  * Returns all matches (multiple agents can be configured in the same project).
@@ -18,7 +18,7 @@ declare function detectHarnessFromEnv(): Harness | null;
18
18
  * @param cwd - Directory to inspect; defaults to the current working directory.
19
19
  * @returns {Harness[]} Every harness whose project markers match.
20
20
  */
21
- declare function detectProjectHarnesses(cwd?: string): Harness[];
21
+ export declare function detectProjectHarnesses(cwd?: string): Harness[];
22
22
  /**
23
23
  * Detect the most likely active agent. Priority:
24
24
  * 1. Env vars (running inside agent = unambiguous)
@@ -28,8 +28,22 @@ declare function detectProjectHarnesses(cwd?: string): Harness[];
28
28
  * @param cwd - Directory to inspect for project markers.
29
29
  * @returns {Harness | null} The unambiguous active harness, or null.
30
30
  */
31
- declare function detectHarness(cwd?: string): Harness | null;
32
- declare function resolvePathTemplate(template: string, options?: ResolveOptions): string;
31
+ export declare function detectHarness(cwd?: string): Harness | null;
32
+ export declare function resolvePathTemplate(template: string, options?: ResolveOptions): string;
33
+ /**
34
+ * The agntn config directory: $XDG_CONFIG_HOME/agntn or ~/.config/agntn.
35
+ *
36
+ * @param options - Path-resolution overrides.
37
+ * @returns {string} The resolved agntn configuration directory.
38
+ */
39
+ export declare function agntnConfigDir(options?: ResolveOptions): string;
40
+ /**
41
+ * The agntn data directory: $XDG_DATA_HOME/agntn or ~/.local/share/agntn.
42
+ *
43
+ * @param options - Path-resolution overrides.
44
+ * @returns {string} The resolved agntn data directory.
45
+ */
46
+ export declare function agntnDataDir(options?: ResolveOptions): string;
33
47
  interface ClaudeTextBlock {
34
48
  type: "text";
35
49
  text: string;
@@ -295,6 +309,6 @@ interface OpenCodeProject {
295
309
  vcs: string | null;
296
310
  name: string | null;
297
311
  }
298
- declare const harnessIds: readonly HarnessId[];
299
- export { type AgentsCompanionTargetResult, type AgentsConfig, type AgentsSyncAction, type AgentsSyncReport, type AgentsTargetResult, type AvailableModel, type ClaudeAssistantEntry, type ClaudeBaseEntry, type ClaudeContentBlock, type ClaudeHistoryEntry, type ClaudeSessionEntry, type ClaudeSummaryEntry, type ClaudeTextBlock, type ClaudeThinkingBlock, type ClaudeToolResultBlock, type ClaudeToolUseBlock, type ClaudeUsage, type ClaudeUserEntry, type CodexHistoryEntry, type CodexLogEntry, type CodexThread, type EvidenceLevel, type GeminiConversationRecord, type GeminiMessageRecord, type GeminiThought, type GeminiTokensSummary, type GeminiToolCallRecord, Harness, type HarnessCapabilities, type HarnessConstructor, type HarnessDetection, type HarnessId, type HarnessInvocation, type HarnessInvocationModes, type HarnessModelListing, type InvokeOptions, type InvokeResult, type ListModelsOptions, type ListModelsResult, type McpConfigFile, type McpConfigListing, McpEnvError, type McpServerConfig, type OpenCodeAgentPart, type OpenCodeCompactionPart, type OpenCodeFilePart, type OpenCodeMessage, type OpenCodePart, type OpenCodePatchPart, type OpenCodeProject, type OpenCodeReasoningPart, type OpenCodeRetryPart, type OpenCodeSession, type OpenCodeSnapshotPart, type OpenCodeStepFinishPart, type OpenCodeStepStartPart, type OpenCodeSubtaskPart, type OpenCodeTextPart, type OpenCodeTodo, type OpenCodeToolPart, type PathCandidate, type Platform, type ResolveOptions, type ResolvedPaths, type StorageDescriptor, type SyncReport, type SyncTargetResult, addMcpServer, detectHarness, detectHarnessFromEnv, detectProjectHarnesses, getAllHarnesses, getHarness, harnessIds, isHarnessId, listHarnesses, listMcpServers, masterMcpPath, parseJsonc, readAgentsConfig, readMasterMcpServers, registerHarness, removeMcpServer, resolvePathTemplate, syncAgentsFiles, syncMcpServers, version };
312
+ export declare const harnessIds: readonly HarnessId[];
313
+ export { type AgentsCompanionTargetResult, type AgentsConfig, type AgentsSyncAction, type AgentsSyncReport, type AgentsTargetResult, type AvailableModel, type ClaudeAssistantEntry, type ClaudeBaseEntry, type ClaudeContentBlock, type ClaudeHistoryEntry, type ClaudeSessionEntry, type ClaudeSummaryEntry, type ClaudeTextBlock, type ClaudeThinkingBlock, type ClaudeToolResultBlock, type ClaudeToolUseBlock, type ClaudeUsage, type ClaudeUserEntry, type CodexHistoryEntry, type CodexLogEntry, type CodexThread, type EvidenceLevel, type GeminiConversationRecord, type GeminiMessageRecord, type GeminiThought, type GeminiTokensSummary, type GeminiToolCallRecord, Harness, type HarnessCapabilities, type HarnessConstructor, type HarnessDetection, type HarnessId, type HarnessInvocation, type HarnessInvocationModes, type HarnessModelListing, type InvokeOptions, type InvokeResult, type ListModelsOptions, type ListModelsResult, type McpConfigFile, type McpConfigListing, McpEnvError, type McpServerConfig, type OpenCodeAgentPart, type OpenCodeCompactionPart, type OpenCodeFilePart, type OpenCodeMessage, type OpenCodePart, type OpenCodePatchPart, type OpenCodeProject, type OpenCodeReasoningPart, type OpenCodeRetryPart, type OpenCodeSession, type OpenCodeSnapshotPart, type OpenCodeStepFinishPart, type OpenCodeStepStartPart, type OpenCodeSubtaskPart, type OpenCodeTextPart, type OpenCodeTodo, type OpenCodeToolPart, type PathCandidate, type Platform, type PromptSyncAction, type PromptSyncReport, type PromptSyncTargetResult, type PromptTemplateSyncTarget, type PromptTemplateTargetResult, type ResolveOptions, type ResolvedPaths, type StorageDescriptor, type SyncReport, type SyncTargetResult, addMcpServer, listMcpServers, masterMcpPath, parseJsonc, readAgentsConfig, readMasterMcpServers, removeMcpServer, syncAgentsFiles, syncMcpServers, syncPromptTemplates, version };
300
314
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/registry.ts","../src/resolve.ts","../src/schemas/claude.ts","../src/schemas/gemini.ts","../src/schemas/codex.ts","../src/schemas/opencode.ts","../src/index.ts"],"mappings":";iBAiBgB,gBAAgB,cAAc,qBAAqB;iBAMnD,WAAW,IAAI,YAAY;iBAM3B,iBAAiB;iBAIjB,YAAY,aAAa,MAAM;iBAI/B,mBAAmB;;;;;;;iBAUnB,wBAAwB;;;;;;;;iBAcxB,uBAAuB,eAAe;;;;;;;;;;iBAatC,cAAc,eAAe;iBChE7B,oBAAoB,kBAAkB,UAAS;UCV9C;EACf;EACA;;UAGe;EACf;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;;KAGU,qBACR,kBACA,sBACA,qBACA;UAEa;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe,wBAAwB;EACvC;EACA;IACE;IACA,kBAAkB;;EAEpB;EACA;IACE;IACA;IACA;IACA;;;UAIa,6BAA6B;EAC5C;EACA;EACA;IACE;IACA;IACA;IACA;IACA,SAAS;IACT;IACA;IACA,OAAO;;;UAIM;EACf;EACA;EACA;;KAGU,qBAAqB,kBAAkB,uBAAuB;UAEzD;EACf;EACA;EACA;EACA;EACA,gBAAgB;IAGZ;IACA;IACA;;;UClGW;EACf;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA,MAAM;EACN;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA,SAAS;EACT,WAAW;EACX,YAAY;;UAGG;EACf;EACA;EACA;EACA;EACA,UAAU;EACV;EACA;EACA;;UC9Ce;EACf;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;;UC7Be;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;;UAGe;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;;UAGe;EACf;EACA;EACA;;UAGe;EACf;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;;KAGU,eACR,mBACA,wBACA,mBACA,mBACA,sBACA,wBACA,yBACA,uBACA,oBACA,oBACA,oBACA;UAEa;EACf;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;;cCnCW,qBAAqB"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/registry.ts","../src/resolve.ts","../src/schemas/claude.ts","../src/schemas/gemini.ts","../src/schemas/codex.ts","../src/schemas/opencode.ts","../src/index.ts"],"mappings":";wBAiBgB,gBAAgB,cAAc,qBAAqB;wBAMnD,WAAW,IAAI,YAAY;wBAM3B,iBAAiB;wBAIjB,YAAY,aAAa,MAAM;wBAI/B,mBAAmB;;;;;;;wBAUnB,wBAAwB;;;;;;;;wBAcxB,uBAAuB,eAAe;;;;;;;;;;wBAatC,cAAc,eAAe;wBChE7B,oBAAoB,kBAAkB,UAAS;;;;;;;wBAiB/C,eAAe,UAAS;;;;;;;wBAcxB,aAAa,UAAS;UCzCrB;EACf;EACA;;UAGe;EACf;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;;KAGU,qBACR,kBACA,sBACA,qBACA;UAEa;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe,wBAAwB;EACvC;EACA;IACE;IACA,kBAAkB;;EAEpB;EACA;IACE;IACA;IACA;IACA;;;UAIa,6BAA6B;EAC5C;EACA;EACA;IACE;IACA;IACA;IACA;IACA,SAAS;IACT;IACA;IACA,OAAO;;;UAIM;EACf;EACA;EACA;;KAGU,qBAAqB,kBAAkB,uBAAuB;UAEzD;EACf;EACA;EACA;EACA;EACA,gBAAgB;IAGZ;IACA;IACA;;;UClGW;EACf;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA,MAAM;EACN;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA,SAAS;EACT,WAAW;EACX,YAAY;;UAGG;EACf;EACA;EACA;EACA;EACA,UAAU;EACV;EACA;EACA;;UC9Ce;EACf;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;;UC7Be;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;;UAGe;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;;UAGe;EACf;EACA;EACA;;UAGe;EACf;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;;KAGU,eACR,mBACA,wBACA,mBACA,mBACA,sBACA,wBACA,yBACA,uBACA,oBACA,oBACA,oBACA;UAEa;EACf;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;;qBC3BW,qBAAqB"}
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { version } from "./_chunks/types.mjs";
2
- import { Harness, McpEnvError, addMcpServer, detectHarness, detectHarnessFromEnv, detectProjectHarnesses, getAllHarnesses, getHarness, isHarnessId, listHarnesses, listMcpServers, masterMcpPath, parseJsonc, readAgentsConfig, readMasterMcpServers, registerHarness, removeMcpServer, resolvePathTemplate, syncAgentsFiles, syncMcpServers } from "./_chunks/agents-sync.mjs";
2
+ import { Harness, McpEnvError, addMcpServer, agntnConfigDir, agntnDataDir, detectHarness, detectHarnessFromEnv, detectProjectHarnesses, getAllHarnesses, getHarness, isHarnessId, listHarnesses, listMcpServers, masterMcpPath, parseJsonc, readAgentsConfig, readMasterMcpServers, registerHarness, removeMcpServer, resolvePathTemplate, syncAgentsFiles, syncMcpServers, syncPromptTemplates } from "./_chunks/prompt-sync.mjs";
3
3
  const harnessIds = Object.freeze(listHarnesses());
4
- export { Harness, McpEnvError, addMcpServer, detectHarness, detectHarnessFromEnv, detectProjectHarnesses, getAllHarnesses, getHarness, harnessIds, isHarnessId, listHarnesses, listMcpServers, masterMcpPath, parseJsonc, readAgentsConfig, readMasterMcpServers, registerHarness, removeMcpServer, resolvePathTemplate, syncAgentsFiles, syncMcpServers, version };
4
+ export { Harness, McpEnvError, addMcpServer, agntnConfigDir, agntnDataDir, detectHarness, detectHarnessFromEnv, detectProjectHarnesses, getAllHarnesses, getHarness, harnessIds, isHarnessId, listHarnesses, listMcpServers, masterMcpPath, parseJsonc, readAgentsConfig, readMasterMcpServers, registerHarness, removeMcpServer, resolvePathTemplate, syncAgentsFiles, syncMcpServers, syncPromptTemplates, version };
5
5
 
6
6
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../src/index.ts"],"sourcesContent":["export { version } from \"./types.ts\";\nexport type {\n HarnessId,\n EvidenceLevel,\n Platform,\n PathCandidate,\n StorageDescriptor,\n HarnessCapabilities,\n HarnessDetection,\n HarnessInvocation,\n HarnessInvocationModes,\n HarnessModelListing,\n AvailableModel,\n ListModelsOptions,\n ListModelsResult,\n InvokeOptions,\n InvokeResult,\n McpServerConfig,\n McpConfigFile,\n ResolveOptions,\n ResolvedPaths,\n} from \"./types.ts\";\n\nexport { Harness } from \"./harness.ts\";\nexport type { HarnessConstructor } from \"./harness.ts\";\nexport {\n registerHarness,\n getHarness,\n isHarnessId,\n listHarnesses,\n getAllHarnesses,\n detectHarness,\n detectHarnessFromEnv,\n detectProjectHarnesses,\n} from \"./registry.ts\";\nexport { resolvePathTemplate } from \"./resolve.ts\";\nexport {\n listMcpServers,\n addMcpServer,\n removeMcpServer,\n syncMcpServers,\n readMasterMcpServers,\n masterMcpPath,\n parseJsonc,\n McpEnvError,\n} from \"./mcp-servers.ts\";\nexport type { McpConfigListing, SyncReport, SyncTargetResult } from \"./mcp-servers.ts\";\nexport { syncAgentsFiles, readAgentsConfig } from \"./agents-sync.ts\";\nexport type {\n AgentsConfig,\n AgentsSyncAction,\n AgentsCompanionTargetResult,\n AgentsSyncReport,\n AgentsTargetResult,\n} from \"./agents-sync.ts\";\n\nexport type {\n ClaudeContentBlock,\n ClaudeTextBlock,\n ClaudeThinkingBlock,\n ClaudeToolUseBlock,\n ClaudeToolResultBlock,\n ClaudeUsage,\n ClaudeBaseEntry,\n ClaudeUserEntry,\n ClaudeAssistantEntry,\n ClaudeSummaryEntry,\n ClaudeSessionEntry,\n ClaudeHistoryEntry,\n GeminiTokensSummary,\n GeminiToolCallRecord,\n GeminiThought,\n GeminiMessageRecord,\n GeminiConversationRecord,\n CodexHistoryEntry,\n CodexThread,\n CodexLogEntry,\n OpenCodeSession,\n OpenCodeMessage,\n OpenCodeTextPart,\n OpenCodeReasoningPart,\n OpenCodeToolPart,\n OpenCodeFilePart,\n OpenCodeSubtaskPart,\n OpenCodeStepStartPart,\n OpenCodeStepFinishPart,\n OpenCodeSnapshotPart,\n OpenCodePatchPart,\n OpenCodeAgentPart,\n OpenCodeRetryPart,\n OpenCodeCompactionPart,\n OpenCodePart,\n OpenCodeTodo,\n OpenCodeProject,\n} from \"./schemas/index.ts\";\n\nimport type { HarnessId } from \"./types.ts\";\nimport { listHarnesses } from \"./registry.ts\";\n\nexport const harnessIds: readonly HarnessId[] = Object.freeze(listHarnesses());\n"],"mappings":";;AAmGA,MAAa,aAAmC,OAAO,OAAO,cAAc,CAAC"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../src/index.ts"],"sourcesContent":["export { version } from \"./types.ts\";\nexport type {\n HarnessId,\n EvidenceLevel,\n Platform,\n PathCandidate,\n PromptTemplateSyncTarget,\n StorageDescriptor,\n HarnessCapabilities,\n HarnessDetection,\n HarnessInvocation,\n HarnessInvocationModes,\n HarnessModelListing,\n AvailableModel,\n ListModelsOptions,\n ListModelsResult,\n InvokeOptions,\n InvokeResult,\n McpServerConfig,\n McpConfigFile,\n ResolveOptions,\n ResolvedPaths,\n} from \"./types.ts\";\n\nexport { Harness } from \"./harness.ts\";\nexport type { HarnessConstructor } from \"./harness.ts\";\nexport {\n registerHarness,\n getHarness,\n isHarnessId,\n listHarnesses,\n getAllHarnesses,\n detectHarness,\n detectHarnessFromEnv,\n detectProjectHarnesses,\n} from \"./registry.ts\";\nexport { agntnDataDir, agntnConfigDir, resolvePathTemplate } from \"./resolve.ts\";\nexport {\n listMcpServers,\n addMcpServer,\n removeMcpServer,\n syncMcpServers,\n readMasterMcpServers,\n masterMcpPath,\n parseJsonc,\n McpEnvError,\n} from \"./mcp-servers.ts\";\nexport type { McpConfigListing, SyncReport, SyncTargetResult } from \"./mcp-servers.ts\";\nexport { syncAgentsFiles, readAgentsConfig } from \"./agents-sync.ts\";\nexport type {\n AgentsConfig,\n AgentsSyncAction,\n AgentsCompanionTargetResult,\n AgentsSyncReport,\n AgentsTargetResult,\n} from \"./agents-sync.ts\";\nexport { syncPromptTemplates } from \"./prompt-sync.ts\";\nexport type {\n PromptSyncAction,\n PromptSyncReport,\n PromptSyncTargetResult,\n PromptTemplateTargetResult,\n} from \"./prompt-sync.ts\";\n\nexport type {\n ClaudeContentBlock,\n ClaudeTextBlock,\n ClaudeThinkingBlock,\n ClaudeToolUseBlock,\n ClaudeToolResultBlock,\n ClaudeUsage,\n ClaudeBaseEntry,\n ClaudeUserEntry,\n ClaudeAssistantEntry,\n ClaudeSummaryEntry,\n ClaudeSessionEntry,\n ClaudeHistoryEntry,\n GeminiTokensSummary,\n GeminiToolCallRecord,\n GeminiThought,\n GeminiMessageRecord,\n GeminiConversationRecord,\n CodexHistoryEntry,\n CodexThread,\n CodexLogEntry,\n OpenCodeSession,\n OpenCodeMessage,\n OpenCodeTextPart,\n OpenCodeReasoningPart,\n OpenCodeToolPart,\n OpenCodeFilePart,\n OpenCodeSubtaskPart,\n OpenCodeStepStartPart,\n OpenCodeStepFinishPart,\n OpenCodeSnapshotPart,\n OpenCodePatchPart,\n OpenCodeAgentPart,\n OpenCodeRetryPart,\n OpenCodeCompactionPart,\n OpenCodePart,\n OpenCodeTodo,\n OpenCodeProject,\n} from \"./schemas/index.ts\";\n\nimport type { HarnessId } from \"./types.ts\";\nimport { listHarnesses } from \"./registry.ts\";\n\nexport const harnessIds: readonly HarnessId[] = Object.freeze(listHarnesses());\n"],"mappings":";;AA2GA,MAAa,aAAmC,OAAO,OAAO,cAAc,CAAC"}
package/dist/mcp.d.mts CHANGED
@@ -10,6 +10,5 @@ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
10
10
  *
11
11
  * @returns {Server} An unconnected MCP server.
12
12
  */
13
- declare function createMcpServer(): Server;
14
- export { createMcpServer };
13
+ export declare function createMcpServer(): Server;
15
14
  //# sourceMappingURL=mcp.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.mts","names":[],"sources":["../src/mcp.ts"],"mappings":";;;;;;;;;;;;iBAwOgB,mBAAmB"}
1
+ {"version":3,"file":"mcp.d.mts","names":[],"sources":["../src/mcp.ts"],"mappings":";;;;;;;;;;;;wBAwOgB,mBAAmB"}
package/dist/mcp.mjs CHANGED
@@ -1,2 +1,177 @@
1
- import { createMcpServer } from "./_chunks/mcp.mjs";
1
+ import { Check, Errors, typebox_exports } from "./_chunks/libs/typebox.mjs";
2
+ import { version } from "./_chunks/types.mjs";
3
+ import { harnessToolSchemas } from "./_chunks/tool-schemas.mjs";
4
+ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
5
+ import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
6
+ const READ_ONLY = {
7
+ readOnlyHint: true,
8
+ destructiveHint: false,
9
+ idempotentHint: true,
10
+ openWorldHint: false
11
+ };
12
+ const EXEC_READ = {
13
+ readOnlyHint: false,
14
+ destructiveHint: false,
15
+ idempotentHint: false,
16
+ openWorldHint: true
17
+ };
18
+ const CONFIG_WRITE = {
19
+ readOnlyHint: false,
20
+ destructiveHint: true,
21
+ idempotentHint: true,
22
+ openWorldHint: false
23
+ };
24
+ const schemas = harnessToolSchemas(typebox_exports);
25
+ let operationsPromise;
26
+ const tools = [
27
+ {
28
+ name: "harnesses_detect",
29
+ title: "Harnesses Detect",
30
+ description: "List every known AI coding harness with its install state and version.",
31
+ inputSchema: schemas.detect,
32
+ annotations: READ_ONLY,
33
+ execute: ({ detectHarnesses }) => detectHarnesses()
34
+ },
35
+ {
36
+ name: "harnesses_info",
37
+ title: "Harnesses Info",
38
+ description: "Full metadata for one or more AI coding harnesses, including supported invocation and model operations, configuration, sessions, instructions, skills, commands, prompt templates, hooks, and resolved paths.",
39
+ inputSchema: schemas.info,
40
+ annotations: READ_ONLY,
41
+ execute: ({ harnessInfo }, args) => harnessInfo(args.id)
42
+ },
43
+ {
44
+ name: "harnesses_models",
45
+ title: "Harnesses Models",
46
+ description: "List the models currently available to one AI coding harness through its native CLI, normalized across providers. An optional search filter is passed to harnesses that support it. The command may load project configuration and extensions.",
47
+ inputSchema: schemas.models,
48
+ annotations: EXEC_READ,
49
+ execute: ({ listHarnessModels }, args, signal) => listHarnessModels(args.id, {
50
+ search: args.search,
51
+ cwd: args.cwd,
52
+ timeoutSeconds: args.timeoutSeconds,
53
+ signal
54
+ })
55
+ },
56
+ {
57
+ name: "harnesses_run",
58
+ title: "Harnesses Run",
59
+ description: "Run one prompt through an AI coding harness's normalized non-interactive invocation and return its output. Pass tools=true whenever the task needs harness tools, including Grok native X search. Add readOnly=true to require native read-only tool enforcement. Pass tools=false only for an advisor without tools. Unsupported modes never widen access.",
60
+ inputSchema: schemas.run,
61
+ annotations: {
62
+ readOnlyHint: false,
63
+ destructiveHint: true,
64
+ idempotentHint: false,
65
+ openWorldHint: true
66
+ },
67
+ execute: ({ runHarness }, args, signal) => runHarness(args.id, args.prompt, {
68
+ cwd: args.cwd,
69
+ model: args.model,
70
+ timeoutSeconds: args.timeoutSeconds,
71
+ signal,
72
+ structured: args.structured,
73
+ tools: args.tools,
74
+ readOnly: args.readOnly
75
+ })
76
+ },
77
+ {
78
+ name: "harnesses_mcp_list",
79
+ title: "Harnesses MCP List",
80
+ description: "List the MCP servers configured in each harness's config files, normalized across dialects. Omit id to scan every harness.",
81
+ inputSchema: schemas.mcpList,
82
+ annotations: READ_ONLY,
83
+ execute: ({ mcpList }, args) => mcpList(args.id)
84
+ },
85
+ {
86
+ name: "harnesses_mcp_add",
87
+ title: "Harnesses MCP Add",
88
+ description: "Add or replace one MCP server in a harness config. JSON configs are rewritten; TOML configs get a surgical, comment-preserving edit.",
89
+ inputSchema: schemas.mcpAdd,
90
+ annotations: CONFIG_WRITE,
91
+ execute: ({ mcpAdd }, args) => mcpAdd(args.id, args, args.scope ?? "user")
92
+ },
93
+ {
94
+ name: "harnesses_mcp_sync",
95
+ title: "Harnesses MCP Sync",
96
+ description: "Reset every harness's user-scope MCP config to exactly the master list from ~/.config/agntn/mcp.jsonc: servers are added, replaced, and extras removed. Excluded harnesses keep their own servers, but master-listed names are withdrawn from them.",
97
+ inputSchema: schemas.mcpSync,
98
+ annotations: CONFIG_WRITE,
99
+ execute: ({ mcpSync }, args) => mcpSync(args.id)
100
+ },
101
+ {
102
+ name: "harnesses_agents_sync",
103
+ title: "Harnesses Agents Sync",
104
+ description: "Link every harness's global instructions file and declared companions to the master bundle, so edits made through any harness land in one place. Diverged copies are backed up and relinked. Pass check to only report.",
105
+ inputSchema: schemas.agentsSync,
106
+ annotations: CONFIG_WRITE,
107
+ execute: ({ agentsSync }, args) => agentsSync(args.id, args.check === true)
108
+ },
109
+ {
110
+ name: "harnesses_prompts_sync",
111
+ title: "Harnesses Prompts Sync",
112
+ description: "Sync canonical Markdown prompt templates from the agntn XDG data directory into every supported harness. Markdown targets use links; Gemini receives generated TOML. Diverged files are backed up. Pass check to only report.",
113
+ inputSchema: schemas.promptsSync,
114
+ annotations: CONFIG_WRITE,
115
+ execute: ({ promptsSync }, args) => promptsSync(args.id, args.check === true)
116
+ },
117
+ {
118
+ name: "harnesses_mcp_remove",
119
+ title: "Harnesses MCP Remove",
120
+ description: "Remove one MCP server from a harness config. JSON configs are rewritten; TOML configs get a surgical, comment-preserving edit.",
121
+ inputSchema: schemas.mcpRemove,
122
+ annotations: CONFIG_WRITE,
123
+ execute: ({ mcpRemove }, args) => mcpRemove(args.id, args.name, args.scope ?? "user")
124
+ }
125
+ ];
126
+ function validationError(schema, value) {
127
+ const first = Errors(schema, value)[0];
128
+ if (!first) return "Invalid arguments";
129
+ return `Invalid arguments at ${first.instancePath || "/"}: ${first.message}`;
130
+ }
131
+ function errorResult(text) {
132
+ return {
133
+ content: [{
134
+ type: "text",
135
+ text: text.replaceAll(/\p{Cc}/gu, " ")
136
+ }],
137
+ isError: true
138
+ };
139
+ }
140
+ function toCallToolResult(result) {
141
+ return {
142
+ content: result.content,
143
+ ...result.isError === void 0 ? {} : { isError: result.isError }
144
+ };
145
+ }
146
+ function createMcpServer() {
147
+ const toolsByName = new Map(tools.map((tool) => [tool.name, tool]));
148
+ const server = new Server({
149
+ name: "harnesses",
150
+ version
151
+ }, { capabilities: { tools: {} } });
152
+ server.setRequestHandler(ListToolsRequestSchema, () => ({ tools: tools.map((tool) => ({
153
+ name: tool.name,
154
+ title: tool.title,
155
+ description: tool.description,
156
+ inputSchema: tool.inputSchema,
157
+ annotations: tool.annotations
158
+ })) }));
159
+ server.setRequestHandler(CallToolRequestSchema, async (request, extra) => {
160
+ const tool = toolsByName.get(request.params.name);
161
+ if (!tool) return errorResult(`Unknown harnesses tool: ${JSON.stringify(request.params.name)}`);
162
+ const args = request.params.arguments ?? {};
163
+ if (!Check(tool.inputSchema, args)) return errorResult(validationError(tool.inputSchema, args));
164
+ try {
165
+ operationsPromise ??= import("./tool-operations.mjs");
166
+ const operations = await operationsPromise;
167
+ extra.signal.throwIfAborted();
168
+ return toCallToolResult(await tool.execute(operations, args, extra.signal));
169
+ } catch (error) {
170
+ return errorResult(`${tool.name} failed: ${error instanceof Error ? error.message : String(error)}`);
171
+ }
172
+ });
173
+ return server;
174
+ }
2
175
  export { createMcpServer };
176
+
177
+ //# sourceMappingURL=mcp.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.mjs","names":["Type","Value.Errors","Value.Check"],"sources":["../src/mcp.ts"],"sourcesContent":["import { Server } from \"@modelcontextprotocol/sdk/server/index.js\";\nimport {\n CallToolRequestSchema,\n ListToolsRequestSchema,\n type CallToolResult,\n type Tool,\n} from \"@modelcontextprotocol/sdk/types.js\";\nimport { Type, type TSchema } from \"typebox\";\nimport { Value } from \"typebox/value\";\nimport type { McpServerParams, ToolResult } from \"./tool-operations.ts\";\nimport { harnessToolSchemas } from \"./tool-schemas.ts\";\nimport { version } from \"./types.ts\";\n\ninterface ToolDefinition {\n name: string;\n title: string;\n description: string;\n inputSchema: TSchema;\n annotations: Tool[\"annotations\"];\n execute(\n operations: Readonly<typeof import(\"./tool-operations.ts\")>,\n args: Readonly<Record<string, unknown>>,\n signal: AbortSignal,\n ): ToolResult<unknown> | Promise<ToolResult<unknown>>;\n}\n\nconst READ_ONLY: Tool[\"annotations\"] = {\n readOnlyHint: true,\n destructiveHint: false,\n idempotentHint: true,\n openWorldHint: false,\n};\n\nconst EXEC_READ: Tool[\"annotations\"] = {\n readOnlyHint: false,\n destructiveHint: false,\n idempotentHint: false,\n openWorldHint: true,\n};\n\nconst CONFIG_WRITE: Tool[\"annotations\"] = {\n readOnlyHint: false,\n destructiveHint: true,\n idempotentHint: true,\n openWorldHint: false,\n};\n\nconst schemas = harnessToolSchemas<TSchema, TSchema>(Type);\nlet operationsPromise: Promise<typeof import(\"./tool-operations.ts\")> | undefined;\n\nconst tools: ToolDefinition[] = [\n {\n name: \"harnesses_detect\",\n title: \"Harnesses Detect\",\n description: \"List every known AI coding harness with its install state and version.\",\n inputSchema: schemas.detect,\n annotations: READ_ONLY,\n execute: ({ detectHarnesses }) => detectHarnesses(),\n },\n {\n name: \"harnesses_info\",\n title: \"Harnesses Info\",\n description:\n \"Full metadata for one or more AI coding harnesses, including supported invocation and model operations, configuration, sessions, instructions, skills, commands, prompt templates, hooks, and resolved paths.\",\n inputSchema: schemas.info,\n annotations: READ_ONLY,\n execute: ({ harnessInfo }, args) => harnessInfo(args.id as string | string[]),\n },\n {\n name: \"harnesses_models\",\n title: \"Harnesses Models\",\n description:\n \"List the models currently available to one AI coding harness through its native CLI, normalized across providers. An optional search filter is passed to harnesses that support it. The command may load project configuration and extensions.\",\n inputSchema: schemas.models,\n annotations: EXEC_READ,\n execute: ({ listHarnessModels }, args, signal) =>\n listHarnessModels(args.id as string, {\n search: args.search as string | undefined,\n cwd: args.cwd as string | undefined,\n timeoutSeconds: args.timeoutSeconds as number | undefined,\n signal,\n }),\n },\n {\n name: \"harnesses_run\",\n title: \"Harnesses Run\",\n description:\n \"Run one prompt through an AI coding harness's normalized non-interactive invocation and return its output. Pass tools=true whenever the task needs harness tools, including Grok native X search. Add readOnly=true to require native read-only tool enforcement. Pass tools=false only for an advisor without tools. Unsupported modes never widen access.\",\n inputSchema: schemas.run,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n idempotentHint: false,\n openWorldHint: true,\n },\n execute: ({ runHarness }, args, signal) =>\n runHarness(args.id as string, args.prompt as string, {\n cwd: args.cwd as string | undefined,\n model: args.model as string | undefined,\n timeoutSeconds: args.timeoutSeconds as number | undefined,\n signal,\n structured: args.structured as boolean | undefined,\n tools: args.tools as boolean | undefined,\n readOnly: args.readOnly as boolean | undefined,\n }),\n },\n {\n name: \"harnesses_mcp_list\",\n title: \"Harnesses MCP List\",\n description:\n \"List the MCP servers configured in each harness's config files, normalized across dialects. Omit id to scan every harness.\",\n inputSchema: schemas.mcpList,\n annotations: READ_ONLY,\n execute: ({ mcpList }, args) => mcpList(args.id as string | undefined),\n },\n {\n name: \"harnesses_mcp_add\",\n title: \"Harnesses MCP Add\",\n description:\n \"Add or replace one MCP server in a harness config. JSON configs are rewritten; TOML configs get a surgical, comment-preserving edit.\",\n inputSchema: schemas.mcpAdd,\n annotations: CONFIG_WRITE,\n execute: ({ mcpAdd }, args) =>\n mcpAdd(\n args.id as string,\n args as unknown as McpServerParams,\n (args.scope as \"user\" | \"project\") ?? \"user\",\n ),\n },\n {\n name: \"harnesses_mcp_sync\",\n title: \"Harnesses MCP Sync\",\n description:\n \"Reset every harness's user-scope MCP config to exactly the master list from ~/.config/agntn/mcp.jsonc: servers are added, replaced, and extras removed. Excluded harnesses keep their own servers, but master-listed names are withdrawn from them.\",\n inputSchema: schemas.mcpSync,\n annotations: CONFIG_WRITE,\n execute: ({ mcpSync }, args) => mcpSync(args.id as string | undefined),\n },\n {\n name: \"harnesses_agents_sync\",\n title: \"Harnesses Agents Sync\",\n description:\n \"Link every harness's global instructions file and declared companions to the master bundle, so edits made through any harness land in one place. Diverged copies are backed up and relinked. Pass check to only report.\",\n inputSchema: schemas.agentsSync,\n annotations: CONFIG_WRITE,\n execute: ({ agentsSync }, args) =>\n agentsSync(args.id as string | undefined, args.check === true),\n },\n {\n name: \"harnesses_prompts_sync\",\n title: \"Harnesses Prompts Sync\",\n description:\n \"Sync canonical Markdown prompt templates from the agntn XDG data directory into every supported harness. Markdown targets use links; Gemini receives generated TOML. Diverged files are backed up. Pass check to only report.\",\n inputSchema: schemas.promptsSync,\n annotations: CONFIG_WRITE,\n execute: ({ promptsSync }, args) =>\n promptsSync(args.id as string | undefined, args.check === true),\n },\n {\n name: \"harnesses_mcp_remove\",\n title: \"Harnesses MCP Remove\",\n description:\n \"Remove one MCP server from a harness config. JSON configs are rewritten; TOML configs get a surgical, comment-preserving edit.\",\n inputSchema: schemas.mcpRemove,\n annotations: CONFIG_WRITE,\n execute: ({ mcpRemove }, args) =>\n mcpRemove(\n args.id as string,\n args.name as string,\n (args.scope as \"user\" | \"project\") ?? \"user\",\n ),\n },\n];\n\n/**\n * Formats the first TypeBox validation failure for an MCP client.\n *\n * @param schema - Schema that rejected the value.\n * @param value - Rejected input value.\n * @returns {string} A client-facing validation message.\n */\nfunction validationError(schema: TSchema, value: unknown): string {\n const first = Value.Errors(schema, value)[0];\n if (!first) return \"Invalid arguments\";\n return `Invalid arguments at ${first.instancePath || \"/\"}: ${first.message}`;\n}\n\n/**\n * Wraps error text for the MCP client, replacing control bytes with spaces.\n *\n * Every error branch goes through here because parts of these messages echo\n * client-controlled values (a tool name, an argument) or downstream error\n * messages: one raw newline or escape byte would forge extra lines that read\n * as the server's own answer.\n *\n * @param text - Untrusted error text.\n * @returns {CallToolResult} A sanitized MCP error result.\n */\nfunction errorResult(text: string): CallToolResult {\n return {\n content: [{ type: \"text\", text: text.replaceAll(/\\p{Cc}/gu, \" \") }],\n isError: true,\n };\n}\n\n/**\n * Converts a shared tool result to the MCP text-result contract.\n *\n * `details` is dropped and `structuredContent` is never set: clients that see\n * structured output prefer it over `content` and would hide the readable answer.\n *\n * @param result - Shared tool result to adapt.\n * @returns {CallToolResult} The MCP text-result envelope.\n */\nfunction toCallToolResult(result: ToolResult<unknown>): CallToolResult {\n return {\n content: result.content,\n ...(result.isError === undefined ? {} : { isError: result.isError }),\n };\n}\n\n/**\n * Creates an unconnected MCP server exposing the harness registry tools.\n *\n * Built on the low-level `Server` even though the SDK marks it `@deprecated`,\n * because `McpServer.registerTool` accepts Standard Schema (Zod) only. TypeBox 1.x\n * does not implement Standard Schema, and this package's tool schemas are TypeBox,\n * shared with the Pi and OMP extensions. The high-level API would force a second\n * definition of every parameter.\n *\n * @returns {Server} An unconnected MCP server.\n */\nexport function createMcpServer(): Server {\n const toolsByName = new Map(tools.map((tool) => [tool.name, tool]));\n const server = new Server({ name: \"harnesses\", version }, { capabilities: { tools: {} } });\n\n server.setRequestHandler(ListToolsRequestSchema, () => ({\n tools: tools.map((tool): Tool => ({\n name: tool.name,\n title: tool.title,\n description: tool.description,\n inputSchema: tool.inputSchema as Tool[\"inputSchema\"],\n annotations: tool.annotations,\n })),\n }));\n\n server.setRequestHandler(CallToolRequestSchema, async (request, extra) => {\n const tool = toolsByName.get(request.params.name);\n if (!tool) {\n return errorResult(`Unknown harnesses tool: ${JSON.stringify(request.params.name)}`);\n }\n\n const args = request.params.arguments ?? {};\n if (!Value.Check(tool.inputSchema, args)) {\n return errorResult(validationError(tool.inputSchema, args));\n }\n\n try {\n operationsPromise ??= import(\"./tool-operations.ts\");\n const operations = await operationsPromise;\n extra.signal.throwIfAborted();\n return toCallToolResult(await tool.execute(operations, args, extra.signal));\n } catch (error) {\n return errorResult(\n `${tool.name} failed: ${error instanceof Error ? error.message : String(error)}`,\n );\n }\n });\n\n return server;\n}\n"],"mappings":";;;;;AA0BA,MAAM,YAAiC;CACrC,cAAc;CACd,iBAAiB;CACjB,gBAAgB;CAChB,eAAe;AACjB;AAEA,MAAM,YAAiC;CACrC,cAAc;CACd,iBAAiB;CACjB,gBAAgB;CAChB,eAAe;AACjB;AAEA,MAAM,eAAoC;CACxC,cAAc;CACd,iBAAiB;CACjB,gBAAgB;CAChB,eAAe;AACjB;AAEA,MAAM,UAAU,mBAAqCA,eAAI;AACzD,IAAI;AAEJ,MAAM,QAA0B;CAC9B;EACE,MAAM;EACN,OAAO;EACP,aAAa;EACb,aAAa,QAAQ;EACrB,aAAa;EACb,UAAU,EAAE,sBAAsB,gBAAgB;CACpD;CACA;EACE,MAAM;EACN,OAAO;EACP,aACE;EACF,aAAa,QAAQ;EACrB,aAAa;EACb,UAAU,EAAE,eAAe,SAAS,YAAY,KAAK,EAAuB;CAC9E;CACA;EACE,MAAM;EACN,OAAO;EACP,aACE;EACF,aAAa,QAAQ;EACrB,aAAa;EACb,UAAU,EAAE,qBAAqB,MAAM,WACrC,kBAAkB,KAAK,IAAc;GACnC,QAAQ,KAAK;GACb,KAAK,KAAK;GACV,gBAAgB,KAAK;GACrB;EACF,CAAC;CACL;CACA;EACE,MAAM;EACN,OAAO;EACP,aACE;EACF,aAAa,QAAQ;EACrB,aAAa;GACX,cAAc;GACd,iBAAiB;GACjB,gBAAgB;GAChB,eAAe;EACjB;EACA,UAAU,EAAE,cAAc,MAAM,WAC9B,WAAW,KAAK,IAAc,KAAK,QAAkB;GACnD,KAAK,KAAK;GACV,OAAO,KAAK;GACZ,gBAAgB,KAAK;GACrB;GACA,YAAY,KAAK;GACjB,OAAO,KAAK;GACZ,UAAU,KAAK;EACjB,CAAC;CACL;CACA;EACE,MAAM;EACN,OAAO;EACP,aACE;EACF,aAAa,QAAQ;EACrB,aAAa;EACb,UAAU,EAAE,WAAW,SAAS,QAAQ,KAAK,EAAwB;CACvE;CACA;EACE,MAAM;EACN,OAAO;EACP,aACE;EACF,aAAa,QAAQ;EACrB,aAAa;EACb,UAAU,EAAE,UAAU,SACpB,OACE,KAAK,IACL,MACC,KAAK,SAAgC,MACxC;CACJ;CACA;EACE,MAAM;EACN,OAAO;EACP,aACE;EACF,aAAa,QAAQ;EACrB,aAAa;EACb,UAAU,EAAE,WAAW,SAAS,QAAQ,KAAK,EAAwB;CACvE;CACA;EACE,MAAM;EACN,OAAO;EACP,aACE;EACF,aAAa,QAAQ;EACrB,aAAa;EACb,UAAU,EAAE,cAAc,SACxB,WAAW,KAAK,IAA0B,KAAK,UAAU,IAAI;CACjE;CACA;EACE,MAAM;EACN,OAAO;EACP,aACE;EACF,aAAa,QAAQ;EACrB,aAAa;EACb,UAAU,EAAE,eAAe,SACzB,YAAY,KAAK,IAA0B,KAAK,UAAU,IAAI;CAClE;CACA;EACE,MAAM;EACN,OAAO;EACP,aACE;EACF,aAAa,QAAQ;EACrB,aAAa;EACb,UAAU,EAAE,aAAa,SACvB,UACE,KAAK,IACL,KAAK,MACJ,KAAK,SAAgC,MACxC;CACJ;AACF;;;;;;AASA,SAAS,YAAA,MAAgB;CACvB,OAAM;EACN,SAAK,CAAA;GACL,MAAO;GACT,MAAA,KAAA,WAAA,YAAA,GAAA;;;;;;;;;;;AAcE,SAAO,kBAAA;CACL,MAAA,cAAU,IAAA,IAAA,MAAA,KAAA,SAAA,CAAA,KAAA,MAAA,IAAA,CAAA,CAAA;CAAE,MAAA,SAAM,IAAA,OAAA;EAAQ,MAAA;EAAuC;CACjE,GAAA,EAAA,cAAS,EAAA,OAAA,CAAA,EAAA,EAAA,CAAA;CACX,OAAA,kBAAA,+BAAA,EAAA,OAAA,MAAA,KAAA,UAAA;EACF,MAAA,KAAA;;;;;;;;;;EAWA,IAAA,CAAA,MAAS,KAAA,aAAiB,IAA6C,GAAA,OAAA,YAAA,gBAAA,KAAA,aAAA,IAAA,CAAA;EACrE,IAAA;GACE,sBAAgB,OAAA;GAChB,MAAI,aAAO,MAAY;GACzB,MAAA,OAAA,eAAA;GACF,OAAA,iBAAA,MAAA,KAAA,QAAA,YAAA,MAAA,MAAA,MAAA,CAAA"}
@@ -1,7 +1,7 @@
1
- import { AgentsSyncReport, AvailableModel, HarnessCapabilities, HarnessDetection, HarnessId, HarnessInvocationModes, McpConfigListing, McpServerConfig, PathCandidate, ResolvedPaths, StorageDescriptor, SyncReport } from "./_chunks/agents-sync.mjs";
1
+ import { AgentsSyncReport, AvailableModel, HarnessCapabilities, HarnessDetection, HarnessId, HarnessInvocationModes, McpConfigListing, McpServerConfig, PathCandidate, PromptSyncReport, PromptTemplateSyncTarget, ResolvedPaths, StorageDescriptor, SyncReport } from "./_chunks/prompt-sync.mjs";
2
2
  import { HARNESS_INFO_MAX_ITEMS } from "./_chunks/tool-schemas.mjs";
3
3
  /** Text for the model plus details for the harness, shared by every tool surface. */
4
- interface ToolResult<Details> {
4
+ export interface ToolResult<Details> {
5
5
  content: Array<{
6
6
  type: "text";
7
7
  text: string;
@@ -11,18 +11,18 @@ interface ToolResult<Details> {
11
11
  isError?: boolean;
12
12
  }
13
13
  /** Install state of one harness on this machine. */
14
- interface HarnessStatus {
14
+ export interface HarnessStatus {
15
15
  id: HarnessId;
16
16
  name: string;
17
17
  installed: boolean;
18
18
  version: string | null;
19
19
  }
20
20
  /** Every registered harness with its install state, as scanned by {@link detectHarnesses}. */
21
- interface HarnessListing {
21
+ export interface HarnessListing {
22
22
  harnesses: HarnessStatus[];
23
23
  }
24
24
  /** Full metadata for one harness, including paths resolved for this platform. */
25
- interface HarnessMetadata {
25
+ export interface HarnessMetadata {
26
26
  id: HarnessId;
27
27
  name: string;
28
28
  binaries: string[];
@@ -35,41 +35,43 @@ interface HarnessMetadata {
35
35
  instructions: PathCandidate[];
36
36
  skills: PathCandidate[];
37
37
  commands: PathCandidate[];
38
+ promptTemplates: PathCandidate[];
39
+ promptTemplateSyncTarget: PromptTemplateSyncTarget | null;
38
40
  hooks: PathCandidate[];
39
41
  persistence: StorageDescriptor[];
40
42
  detection: HarnessDetection;
41
43
  resolved: ResolvedPaths;
42
44
  }
43
45
  /** Returned when the requested harness id is not registered. */
44
- interface UnknownHarness {
46
+ export interface UnknownHarness {
45
47
  error: string;
46
48
  known: HarnessId[];
47
49
  }
48
50
  /** Returned when a direct batch call bypasses the tool schema limits. */
49
- interface HarnessInfoInputError {
51
+ export interface HarnessInfoInputError {
50
52
  error: string;
51
53
  }
52
54
  /** One harness lookup result. */
53
- type HarnessInfoResult = HarnessMetadata | UnknownHarness;
55
+ export type HarnessInfoResult = HarnessMetadata | UnknownHarness;
54
56
  /** Scalar, batch, or rejected batch details from {@link harnessInfo}. */
55
- type HarnessInfoDetails = HarnessInfoResult | HarnessInfoResult[] | HarnessInfoInputError;
57
+ export type HarnessInfoDetails = HarnessInfoResult | HarnessInfoResult[] | HarnessInfoInputError;
56
58
  /** Default wall-clock budget for one harness run, in seconds. */
57
- declare const RUN_DEFAULT_TIMEOUT_SECONDS = 600;
59
+ export declare const RUN_DEFAULT_TIMEOUT_SECONDS = 600;
58
60
  /** The run tool's per-stream cap: harness output is unbounded, model context is not. */
59
- declare const RUN_MAX_OUTPUT_CHARS = 8000;
61
+ export declare const RUN_MAX_OUTPUT_CHARS = 8000;
60
62
  /**
61
63
  * Scans every registered harness for its binaries and version.
62
64
  *
63
65
  * @returns {ToolResult<HarnessListing>} The complete installation listing.
64
66
  */
65
- declare function detectHarnesses(): ToolResult<HarnessListing>;
67
+ export declare function detectHarnesses(): ToolResult<HarnessListing>;
66
68
  /** Full metadata for one harness, with paths resolved for the current platform. */
67
- declare function harnessInfo(id: string): ToolResult<HarnessInfoResult>;
69
+ export declare function harnessInfo(id: string): ToolResult<HarnessInfoResult>;
68
70
  /** Full metadata for several harnesses, preserving input order and errors for each item. */
69
- declare function harnessInfo(ids: readonly string[]): ToolResult<HarnessInfoResult[] | HarnessInfoInputError>;
70
- declare function harnessInfo(input: string | readonly string[]): ToolResult<HarnessInfoDetails>;
71
+ export declare function harnessInfo(ids: readonly string[]): ToolResult<HarnessInfoResult[] | HarnessInfoInputError>;
72
+ export declare function harnessInfo(input: string | readonly string[]): ToolResult<HarnessInfoDetails>;
71
73
  /** Options accepted by {@link listHarnessModels}. */
72
- interface ModelsOptions {
74
+ export interface ModelsOptions {
73
75
  search?: string;
74
76
  cwd?: string;
75
77
  /** Wall-clock budget in seconds; defaults to {@link RUN_DEFAULT_TIMEOUT_SECONDS}. */
@@ -78,7 +80,7 @@ interface ModelsOptions {
78
80
  signal?: AbortSignal;
79
81
  }
80
82
  /** One completed native model-listing query. */
81
- interface ModelsOutcome {
83
+ export interface ModelsOutcome {
82
84
  id: HarnessId;
83
85
  command: string;
84
86
  args: string[];
@@ -96,9 +98,9 @@ interface ModelsOutcome {
96
98
  * @param options - Search, working-directory, and timeout options.
97
99
  * @returns {Promise<ToolResult<ModelsOutcome | RunFailure>>} The model listing or failure.
98
100
  */
99
- declare function listHarnessModels(id: string, options?: ModelsOptions): Promise<ToolResult<ModelsOutcome | RunFailure>>;
101
+ export declare function listHarnessModels(id: string, options?: ModelsOptions): Promise<ToolResult<ModelsOutcome | RunFailure>>;
100
102
  /** Options accepted by {@link runHarness}. */
101
- interface RunOptions {
103
+ export interface RunOptions {
102
104
  cwd?: string;
103
105
  /** Harness-native model id or selector. */
104
106
  model?: string;
@@ -114,7 +116,7 @@ interface RunOptions {
114
116
  readOnly?: boolean;
115
117
  }
116
118
  /** One completed (or failed) harness run, with output capped for the model. */
117
- interface RunOutcome {
119
+ export interface RunOutcome {
118
120
  id: HarnessId;
119
121
  command: string;
120
122
  /** Expanded arguments; the model's text keeps "{prompt}" instead, it wrote the prompt itself. */
@@ -130,7 +132,7 @@ interface RunOutcome {
130
132
  stderr: string;
131
133
  }
132
134
  /** Returned when the harness cannot be run at all. */
133
- interface RunFailure {
135
+ export interface RunFailure {
134
136
  error: string;
135
137
  known?: HarnessId[];
136
138
  /** Modes accepted by the selected harness when invocation mode caused the failure. */
@@ -157,22 +159,22 @@ interface RunFailure {
157
159
  * @param options - Model, mode, working-directory, and timeout options.
158
160
  * @returns {Promise<ToolResult<RunOutcome | RunFailure>>} The capped run outcome or failure.
159
161
  */
160
- declare function runHarness(id: string, prompt: string, options?: RunOptions): Promise<ToolResult<RunOutcome | RunFailure>>;
162
+ export declare function runHarness(id: string, prompt: string, options?: RunOptions): Promise<ToolResult<RunOutcome | RunFailure>>;
161
163
  /** MCP server listings for one harness or all of them. */
162
- interface McpListing {
164
+ export interface McpListing {
163
165
  harnesses: Array<{
164
166
  id: HarnessId;
165
167
  configs: McpConfigListing[];
166
168
  }>;
167
169
  }
168
170
  /** Result of one MCP config mutation. */
169
- interface McpMutation {
171
+ export interface McpMutation {
170
172
  id: HarnessId;
171
173
  path: string;
172
174
  action: "added" | "replaced" | "removed" | "noop";
173
175
  }
174
176
  /** Flat tool parameters describing one MCP server, shared by every surface. */
175
- interface McpServerParams {
177
+ export interface McpServerParams {
176
178
  name: string;
177
179
  transport?: McpServerConfig["transport"];
178
180
  command?: string;
@@ -187,14 +189,14 @@ interface McpServerParams {
187
189
  * @param params - Flat MCP server parameters.
188
190
  * @returns {McpServerConfig} The normalized server configuration.
189
191
  */
190
- declare function toMcpServerConfig(params: McpServerParams): McpServerConfig;
192
+ export declare function toMcpServerConfig(params: McpServerParams): McpServerConfig;
191
193
  /**
192
194
  * Lists configured MCP servers, normalized across harness config dialects.
193
195
  *
194
196
  * @param id - Optional harness id; omission lists every harness.
195
197
  * @returns {ToolResult<McpListing | UnknownHarness>} The normalized listing or id error.
196
198
  */
197
- declare function mcpList(id?: string): ToolResult<McpListing | UnknownHarness>;
199
+ export declare function mcpList(id?: string): ToolResult<McpListing | UnknownHarness>;
198
200
  /**
199
201
  * Adds or replaces one MCP server in a harness's config.
200
202
  *
@@ -203,7 +205,7 @@ declare function mcpList(id?: string): ToolResult<McpListing | UnknownHarness>;
203
205
  * @param scope - User or project config scope.
204
206
  * @returns {ToolResult<McpMutation | RunFailure>} The mutation outcome or failure.
205
207
  */
206
- declare function mcpAdd(id: string, params: McpServerParams, scope?: "user" | "project"): ToolResult<McpMutation | RunFailure>;
208
+ export declare function mcpAdd(id: string, params: McpServerParams, scope?: "user" | "project"): ToolResult<McpMutation | RunFailure>;
207
209
  /**
208
210
  * Removes one MCP server from a harness's config.
209
211
  *
@@ -212,14 +214,14 @@ declare function mcpAdd(id: string, params: McpServerParams, scope?: "user" | "p
212
214
  * @param scope - User or project config scope.
213
215
  * @returns {ToolResult<McpMutation | RunFailure>} The mutation outcome or failure.
214
216
  */
215
- declare function mcpRemove(id: string, name: string, scope?: "user" | "project"): ToolResult<McpMutation | RunFailure>;
217
+ export declare function mcpRemove(id: string, name: string, scope?: "user" | "project"): ToolResult<McpMutation | RunFailure>;
216
218
  /**
217
219
  * Pushes the master MCP list from ~/.config/agntn/mcp.jsonc into harness configs.
218
220
  *
219
221
  * @param id - Optional harness id; omission targets every harness.
220
222
  * @returns {ToolResult<SyncReport | RunFailure>} The sync report or failure.
221
223
  */
222
- declare function mcpSync(id?: string): ToolResult<SyncReport | RunFailure>;
224
+ export declare function mcpSync(id?: string): ToolResult<SyncReport | RunFailure>;
223
225
  /**
224
226
  * Links every harness's global instructions file to the master AGENTS.md.
225
227
  *
@@ -227,6 +229,14 @@ declare function mcpSync(id?: string): ToolResult<SyncReport | RunFailure>;
227
229
  * @param check - Report intended changes without writing them.
228
230
  * @returns {ToolResult<AgentsSyncReport | RunFailure>} The sync report or failure.
229
231
  */
230
- declare function agentsSync(id?: string, check?: boolean): ToolResult<AgentsSyncReport | RunFailure>;
231
- export { type AgentsSyncReport, HARNESS_INFO_MAX_ITEMS, HarnessInfoDetails, HarnessInfoInputError, HarnessInfoResult, type HarnessInvocationModes, HarnessListing, HarnessMetadata, HarnessStatus, McpListing, McpMutation, McpServerParams, ModelsOptions, ModelsOutcome, RUN_DEFAULT_TIMEOUT_SECONDS, RUN_MAX_OUTPUT_CHARS, RunFailure, RunOptions, RunOutcome, type SyncReport, ToolResult, UnknownHarness, agentsSync, detectHarnesses, harnessInfo, listHarnessModels, mcpAdd, mcpList, mcpRemove, mcpSync, runHarness, toMcpServerConfig };
232
+ export declare function agentsSync(id?: string, check?: boolean): ToolResult<AgentsSyncReport | RunFailure>;
233
+ /**
234
+ * Synchronizes canonical Markdown prompt templates into harness destinations.
235
+ *
236
+ * @param id - Optional harness id; omission targets every harness.
237
+ * @param check - Report intended changes without writing them.
238
+ * @returns {ToolResult<PromptSyncReport | RunFailure>} The sync report or failure.
239
+ */
240
+ export declare function promptsSync(id?: string, check?: boolean): ToolResult<PromptSyncReport | RunFailure>;
241
+ export { type AgentsSyncReport, HARNESS_INFO_MAX_ITEMS, type HarnessInvocationModes, type PromptSyncReport, type SyncReport };
232
242
  //# sourceMappingURL=tool-operations.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-operations.d.mts","names":[],"sources":["../src/tool-operations.ts"],"mappings":";;;UAsCiB,WAAW;EAC1B,SAAS;IAAQ;IAAc;;EAC/B,SAAS;;EAET;;;UAIe;EACf,IAAI;EACJ;EACA;EACA;;;UAIe;EACf,WAAW;;;UAII;EACf,IAAI;EACJ;EACA;EACA,cAAc;EACd,iBAAiB;EACjB;EACA;EACA,QAAQ;EACR,UAAU;EACV,cAAc;EACd,QAAQ;EACR,UAAU;EACV,OAAO;EACP,aAAa;EACb,WAAW;EACX,UAAU;;;UAIK;EACf;EACA,OAAO;;;UAIQ;EACf;;;KAIU,oBAAoB,kBAAkB;;KAGtC,qBAAqB,oBAAoB,sBAAsB;;cAM9D;;cAGA;;;;;;iBAqIG,mBAAmB,WAAW;;iBAiF9B,YAAY,aAAa,WAAW;;iBAEpC,YACd,yBACC,WAAW,sBAAsB;iBACpB,YAAY,oCAAoC,WAAW;;UA2B1D;EACf;EACA;;EAEA;;EAEA,SAAS;;;UAIM;EACf,IAAI;EACJ;EACA;EACA;EACA,QAAQ;EACR;EACA;EACA;EACA;;;;;;;;;iBAUoB,kBACpB,YACA,UAAS,gBACR,QAAQ,WAAW,gBAAgB;;UA4CrB;EACf;;EAEA;;EAEA;;EAEA,SAAS;;EAET;;EAEA;;EAEA;;;UAIe;EACf,IAAI;EACJ;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;UAIe;EACf;EACA,QAAQ;;EAER,kBAAkB;;EAElB;IAAU;IAAmB;;IAAsB;;;;;;;;;;;;;;;;;iBAyB/B,WACpB,YACA,gBACA,UAAS,aACR,QAAQ,WAAW,aAAa;;UAkClB;EACf,WAAW;IAAQ,IAAI;IAAW,SAAS;;;;UAY5B;EACf,IAAI;EACJ;EACA;;;UAIe;EACf;EACA,YAAY;EACZ;EACA;EACA,MAAM;EACN;EACA,UAAU;;;;;;;;iBASI,kBAAkB,QAAQ,kBAAkB;;;;;;;iBAmB5C,QAAQ,cAAc,WAAW,aAAa;;;;;;;;;iBAgD9C,OACd,YACA,QAAQ,iBACR,6BACC,WAAW,cAAc;;;;;;;;;iBAeZ,UACd,YACA,cACA,6BACC,WAAW,cAAc;;;;;;;iBAaZ,QAAQ,cAAc,WAAW,aAAa;;;;;;;;iBA+B9C,WAAW,aAAa,kBAAgB,WAAW,mBAAmB"}
1
+ {"version":3,"file":"tool-operations.d.mts","names":[],"sources":["../src/tool-operations.ts"],"mappings":";;;iBA4CiB,WAAW;EAC1B,SAAS;IAAQ;IAAc;;EAC/B,SAAS;;EAET;;;iBAIe;EACf,IAAI;EACJ;EACA;EACA;;;iBAIe;EACf,WAAW;;;iBAII;EACf,IAAI;EACJ;EACA;EACA,cAAc;EACd,iBAAiB;EACjB;EACA;EACA,QAAQ;EACR,UAAU;EACV,cAAc;EACd,QAAQ;EACR,UAAU;EACV,iBAAiB;EACjB,0BAA0B;EAC1B,OAAO;EACP,aAAa;EACb,WAAW;EACX,UAAU;;;iBAIK;EACf;EACA,OAAO;;;iBAIQ;EACf;;;YAIU,oBAAoB,kBAAkB;;YAGtC,qBAAqB,oBAAoB,sBAAsB;;qBAM9D;;qBAGA;;;;;;wBA2KG,mBAAmB,WAAW;;wBA6F9B,YAAY,aAAa,WAAW;;wBAEpC,YACd,yBACC,WAAW,sBAAsB;wBACpB,YAAY,oCAAoC,WAAW;;iBA2B1D;EACf;EACA;;EAEA;;EAEA,SAAS;;;iBAIM;EACf,IAAI;EACJ;EACA;EACA;EACA,QAAQ;EACR;EACA;EACA;EACA;;;;;;;;;wBAUoB,kBACpB,YACA,UAAS,gBACR,QAAQ,WAAW,gBAAgB;;iBA4CrB;EACf;;EAEA;;EAEA;;EAEA,SAAS;;EAET;;EAEA;;EAEA;;;iBAIe;EACf,IAAI;EACJ;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;iBAIe;EACf;EACA,QAAQ;;EAER,kBAAkB;;EAElB;IAAU;IAAmB;;IAAsB;;;;;;;;;;;;;;;;;wBAyB/B,WACpB,YACA,gBACA,UAAS,aACR,QAAQ,WAAW,aAAa;;iBAkClB;EACf,WAAW;IAAQ,IAAI;IAAW,SAAS;;;;iBAY5B;EACf,IAAI;EACJ;EACA;;;iBAIe;EACf;EACA,YAAY;EACZ;EACA;EACA,MAAM;EACN;EACA,UAAU;;;;;;;;wBASI,kBAAkB,QAAQ,kBAAkB;;;;;;;wBAmB5C,QAAQ,cAAc,WAAW,aAAa;;;;;;;;;wBAgD9C,OACd,YACA,QAAQ,iBACR,6BACC,WAAW,cAAc;;;;;;;;;wBAeZ,UACd,YACA,cACA,6BACC,WAAW,cAAc;;;;;;;wBAaZ,QAAQ,cAAc,WAAW,aAAa;;;;;;;;wBA+B9C,WAAW,aAAa,kBAAgB,WAAW,mBAAmB;;;;;;;;wBAgCtE,YAAY,aAAa,kBAAgB,WAAW,mBAAmB"}
@@ -1,3 +1,3 @@
1
1
  import { HARNESS_INFO_MAX_ITEMS } from "./_chunks/tool-schemas.mjs";
2
- import { RUN_DEFAULT_TIMEOUT_SECONDS, RUN_MAX_OUTPUT_CHARS, agentsSync, detectHarnesses, harnessInfo, listHarnessModels, mcpAdd, mcpList, mcpRemove, mcpSync, runHarness, toMcpServerConfig } from "./_chunks/tool-operations.mjs";
3
- export { HARNESS_INFO_MAX_ITEMS, RUN_DEFAULT_TIMEOUT_SECONDS, RUN_MAX_OUTPUT_CHARS, agentsSync, detectHarnesses, harnessInfo, listHarnessModels, mcpAdd, mcpList, mcpRemove, mcpSync, runHarness, toMcpServerConfig };
2
+ import { RUN_DEFAULT_TIMEOUT_SECONDS, RUN_MAX_OUTPUT_CHARS, agentsSync, detectHarnesses, harnessInfo, listHarnessModels, mcpAdd, mcpList, mcpRemove, mcpSync, promptsSync, runHarness, toMcpServerConfig } from "./_chunks/tool-operations.mjs";
3
+ export { HARNESS_INFO_MAX_ITEMS, RUN_DEFAULT_TIMEOUT_SECONDS, RUN_MAX_OUTPUT_CHARS, agentsSync, detectHarnesses, harnessInfo, listHarnessModels, mcpAdd, mcpList, mcpRemove, mcpSync, promptsSync, runHarness, toMcpServerConfig };
@@ -1,2 +1,2 @@
1
- import { AgentsSyncParams, HARNESS_INFO_MAX_ITEMS, InfoParams, McpAddParams, McpListParams, McpRemoveParams, McpSchemaBuilder, McpSyncParams, ModelsParams, RUN_TIMEOUT_DEFAULT_SECONDS, RunParams, harnessToolSchemas } from "./_chunks/tool-schemas.mjs";
2
- export { AgentsSyncParams, HARNESS_INFO_MAX_ITEMS, InfoParams, McpAddParams, McpListParams, McpRemoveParams, McpSchemaBuilder, McpSyncParams, ModelsParams, RUN_TIMEOUT_DEFAULT_SECONDS, RunParams, harnessToolSchemas };
1
+ import { AgentsSyncParams, HARNESS_INFO_MAX_ITEMS, InfoParams, McpAddParams, McpListParams, McpRemoveParams, McpSchemaBuilder, McpSyncParams, ModelsParams, PromptsSyncParams, RUN_TIMEOUT_DEFAULT_SECONDS, RunParams, harnessToolSchemas } from "./_chunks/tool-schemas.mjs";
2
+ export { AgentsSyncParams, HARNESS_INFO_MAX_ITEMS, InfoParams, McpAddParams, McpListParams, McpRemoveParams, McpSchemaBuilder, McpSyncParams, ModelsParams, PromptsSyncParams, RUN_TIMEOUT_DEFAULT_SECONDS, RunParams, harnessToolSchemas };