@agntn/harnesses 0.3.0 → 0.3.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.
- package/README.md +34 -4
- package/dist/_chunks/agents.mjs +5 -3
- package/dist/_chunks/agents.mjs.map +1 -1
- package/dist/_chunks/mcp-servers.mjs +5 -3
- package/dist/_chunks/mcp-servers.mjs.map +1 -1
- package/dist/_chunks/mcp.mjs +10 -1
- package/dist/_chunks/mcp.mjs.map +1 -1
- package/dist/_chunks/output.mjs +7 -1
- package/dist/_chunks/output.mjs.map +1 -1
- package/dist/_chunks/prompts.mjs +4 -2
- package/dist/_chunks/prompts.mjs.map +1 -1
- package/dist/_chunks/{prompt-sync.d.mts → skills-sync.d.mts} +103 -50
- package/dist/_chunks/skills-sync.d.mts.map +1 -0
- package/dist/_chunks/{prompt-sync.mjs → skills-sync.mjs} +298 -98
- package/dist/_chunks/skills-sync.mjs.map +1 -0
- package/dist/_chunks/skills.mjs +30 -0
- package/dist/_chunks/skills.mjs.map +1 -0
- package/dist/_chunks/tool-operations.mjs +22 -2
- package/dist/_chunks/tool-operations.mjs.map +1 -1
- package/dist/_chunks/tool-schemas.d.mts +21 -13
- package/dist/_chunks/tool-schemas.d.mts.map +1 -1
- package/dist/_chunks/tool-schemas.mjs +7 -1
- package/dist/_chunks/tool-schemas.mjs.map +1 -1
- package/dist/_chunks/types.mjs +5 -2
- package/dist/_chunks/types.mjs.map +1 -1
- package/dist/cli.mjs +9 -3
- package/dist/cli.mjs.map +1 -1
- package/dist/index.d.mts +16 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +5 -3
- package/dist/index.mjs.map +1 -1
- package/dist/mcp.d.mts +2 -0
- package/dist/mcp.d.mts.map +1 -1
- package/dist/mcp.mjs +6256 -3
- package/dist/mcp.mjs.map +1 -1
- package/dist/tool-operations.d.mts +14 -3
- package/dist/tool-operations.d.mts.map +1 -1
- package/dist/tool-operations.mjs +3 -3
- package/dist/tool-schemas.d.mts +2 -2
- package/dist/tool-schemas.mjs +1 -1
- package/dist/typebox.LICENSE +23 -0
- package/package.json +18 -18
- package/packages/omp/extensions/harnesses.ts +18 -0
- package/packages/pi/extensions/harnesses.ts +26 -45
- package/packages/shared/tui.ts +13 -0
- package/dist/THIRD-PARTY-LICENSES.md +0 -36
- package/dist/_chunks/libs/typebox.mjs +0 -5439
- package/dist/_chunks/libs/typebox.mjs.map +0 -1
- package/dist/_chunks/prompt-sync.d.mts.map +0 -1
- package/dist/_chunks/prompt-sync.mjs.map +0 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
//#region src/types.d.ts
|
|
2
|
+
declare const version: string;
|
|
3
|
+
type HarnessId = "antigravity" | "codex" | "gemini" | "grok" | "claude" | "opencode" | "cursor" | "freebuff" | "github-copilot" | "mastracode" | "omp" | "pi" | "prime-agent";
|
|
4
|
+
type EvidenceLevel = "official" | "community" | "inferred";
|
|
5
|
+
type Platform = "linux" | "darwin" | "win32";
|
|
6
|
+
interface PathCandidate {
|
|
6
7
|
path: string;
|
|
7
8
|
scope: "user" | "project" | "system" | "data";
|
|
8
9
|
level: EvidenceLevel;
|
|
@@ -10,27 +11,31 @@ export interface PathCandidate {
|
|
|
10
11
|
note?: string;
|
|
11
12
|
}
|
|
12
13
|
/** The path lists of a harness descriptor, as named in {@link ResolvedPaths}. */
|
|
13
|
-
|
|
14
|
+
type PathCategory = "config" | "sessions" | "instructions" | "skills" | "commands" | "promptTemplates" | "hooks" | "temp";
|
|
14
15
|
/**
|
|
15
16
|
* An environment variable the harness reads to move one of its roots. `path`
|
|
16
17
|
* is the default root, used while the variable is unset or empty.
|
|
17
18
|
*/
|
|
18
|
-
|
|
19
|
+
interface EnvOverride extends PathCandidate {
|
|
19
20
|
variable: string;
|
|
20
21
|
/** Categories with entries under this root, which move with it. */
|
|
21
22
|
relocates: PathCategory[];
|
|
22
23
|
}
|
|
24
|
+
/** The user-scope skills directory that skill synchronization links to the source. */
|
|
25
|
+
interface SkillsSyncTarget extends PathCandidate {
|
|
26
|
+
scope: "user";
|
|
27
|
+
}
|
|
23
28
|
/** One stable user-scope destination used by prompt template synchronization. */
|
|
24
|
-
|
|
29
|
+
interface PromptTemplateSyncTarget extends PathCandidate {
|
|
25
30
|
scope: "user";
|
|
26
31
|
format: "markdown" | "gemini-toml";
|
|
27
32
|
}
|
|
28
|
-
|
|
33
|
+
interface StorageDescriptor {
|
|
29
34
|
format: string;
|
|
30
35
|
level: EvidenceLevel;
|
|
31
36
|
note?: string;
|
|
32
37
|
}
|
|
33
|
-
|
|
38
|
+
interface HarnessCapabilities {
|
|
34
39
|
mcp: boolean;
|
|
35
40
|
vision: boolean;
|
|
36
41
|
/** Audio reaches the model without conversion or MCP. */
|
|
@@ -41,7 +46,7 @@ export interface HarnessCapabilities {
|
|
|
41
46
|
streaming: boolean;
|
|
42
47
|
}
|
|
43
48
|
/** How to run one prompt through the harness non-interactively. */
|
|
44
|
-
|
|
49
|
+
interface HarnessInvocation {
|
|
45
50
|
/** Binary to spawn; defaults to the harness's first `binaries` entry. */
|
|
46
51
|
binary?: string;
|
|
47
52
|
/** Full agent argument template; every "{prompt}" is replaced with the prompt text. */
|
|
@@ -70,7 +75,7 @@ export interface HarnessInvocation {
|
|
|
70
75
|
note?: string;
|
|
71
76
|
}
|
|
72
77
|
/** Invocation modes a harness supports without fallback or prompt-only restrictions. */
|
|
73
|
-
|
|
78
|
+
interface HarnessInvocationModes {
|
|
74
79
|
advisor: boolean;
|
|
75
80
|
advisorStructured: boolean;
|
|
76
81
|
readOnly: boolean;
|
|
@@ -79,7 +84,7 @@ export interface HarnessInvocationModes {
|
|
|
79
84
|
agentStructured: boolean;
|
|
80
85
|
}
|
|
81
86
|
/** How to ask one harness CLI for the models currently available to it. */
|
|
82
|
-
|
|
87
|
+
interface HarnessModelListing {
|
|
83
88
|
/** Arguments used when no search filter is supplied. */
|
|
84
89
|
args: string[];
|
|
85
90
|
/**
|
|
@@ -91,7 +96,7 @@ export interface HarnessModelListing {
|
|
|
91
96
|
note?: string;
|
|
92
97
|
}
|
|
93
98
|
/** One model normalized from a harness's native model-listing output. */
|
|
94
|
-
|
|
99
|
+
interface AvailableModel {
|
|
95
100
|
provider: string;
|
|
96
101
|
id: string;
|
|
97
102
|
/** Absent when the native listing prints only ids, like Grok's. */
|
|
@@ -103,7 +108,7 @@ export interface AvailableModel {
|
|
|
103
108
|
default?: boolean;
|
|
104
109
|
}
|
|
105
110
|
/** Options for querying the models available to one harness. */
|
|
106
|
-
|
|
111
|
+
interface ListModelsOptions {
|
|
107
112
|
search?: string;
|
|
108
113
|
cwd?: string;
|
|
109
114
|
env?: Record<string, string>;
|
|
@@ -112,7 +117,7 @@ export interface ListModelsOptions {
|
|
|
112
117
|
/** Cancel with the same process cleanup as a timeout. */
|
|
113
118
|
signal?: AbortSignal;
|
|
114
119
|
}
|
|
115
|
-
|
|
120
|
+
interface InvokeOptions {
|
|
116
121
|
cwd?: string;
|
|
117
122
|
env?: Record<string, string>;
|
|
118
123
|
/** Harness-native model id or selector. */
|
|
@@ -128,7 +133,7 @@ export interface InvokeOptions {
|
|
|
128
133
|
/** Use the harness's structured (JSON) output mode instead of plain text. */
|
|
129
134
|
structured?: boolean;
|
|
130
135
|
}
|
|
131
|
-
|
|
136
|
+
interface InvokeResult {
|
|
132
137
|
command: string;
|
|
133
138
|
args: string[];
|
|
134
139
|
stdout: string;
|
|
@@ -142,12 +147,12 @@ export interface InvokeResult {
|
|
|
142
147
|
idleMs?: number;
|
|
143
148
|
}
|
|
144
149
|
/** Result of one native model-listing command. */
|
|
145
|
-
|
|
150
|
+
interface ListModelsResult extends InvokeResult {
|
|
146
151
|
/** Empty on a successful no-match response or when the command itself failed. */
|
|
147
152
|
models: AvailableModel[];
|
|
148
153
|
}
|
|
149
154
|
/** Normalized MCP server entry, shared across every harness dialect. */
|
|
150
|
-
|
|
155
|
+
interface McpServerConfig {
|
|
151
156
|
name: string;
|
|
152
157
|
transport: "stdio" | "http" | "sse";
|
|
153
158
|
command?: string;
|
|
@@ -164,7 +169,7 @@ export interface McpServerConfig {
|
|
|
164
169
|
enabled?: boolean;
|
|
165
170
|
}
|
|
166
171
|
/** How one harness config file stores its MCP servers. */
|
|
167
|
-
|
|
172
|
+
interface McpConfigFile extends PathCandidate {
|
|
168
173
|
format: "json" | "toml";
|
|
169
174
|
/** Object path to the server map inside the file, e.g. ["mcpServers"]. */
|
|
170
175
|
key: string[];
|
|
@@ -175,24 +180,25 @@ export interface McpConfigFile extends PathCandidate {
|
|
|
175
180
|
*/
|
|
176
181
|
dialect: "standard" | "antigravity" | "mastracode" | "opencode" | "prime" | "vscode";
|
|
177
182
|
}
|
|
178
|
-
|
|
183
|
+
interface HarnessDetection {
|
|
179
184
|
/** Environment variables that indicate running inside this agent. */
|
|
180
185
|
envVars: string[];
|
|
181
186
|
/** Project-level files or directories whose presence indicates this agent. */
|
|
182
187
|
projectMarkers: string[];
|
|
183
188
|
}
|
|
184
|
-
|
|
189
|
+
interface ResolveOptions {
|
|
185
190
|
homeDir?: string;
|
|
186
191
|
projectRoot?: string;
|
|
187
192
|
platform?: Platform;
|
|
188
193
|
/** Replaces `os.tmpdir()` as the value of `${TMPDIR}`. */
|
|
189
194
|
tempDir?: string;
|
|
190
195
|
}
|
|
191
|
-
|
|
196
|
+
interface ResolvedPaths {
|
|
192
197
|
config: PathCandidate[];
|
|
193
198
|
sessions: PathCandidate[];
|
|
194
199
|
instructions: PathCandidate[];
|
|
195
200
|
skills: PathCandidate[];
|
|
201
|
+
skillsSyncTarget: SkillsSyncTarget | null;
|
|
196
202
|
commands: PathCandidate[];
|
|
197
203
|
promptTemplates: PathCandidate[];
|
|
198
204
|
promptTemplateSyncTarget: PromptTemplateSyncTarget | null;
|
|
@@ -200,13 +206,15 @@ export interface ResolvedPaths {
|
|
|
200
206
|
/** Temp roots, moved by a set `temp` override from {@link EnvOverride}. */
|
|
201
207
|
temp: PathCandidate[];
|
|
202
208
|
}
|
|
209
|
+
//#endregion
|
|
210
|
+
//#region src/harness.d.ts
|
|
203
211
|
type InvocationOptions = Readonly<{
|
|
204
212
|
model?: string;
|
|
205
213
|
structured?: boolean;
|
|
206
214
|
tools?: boolean;
|
|
207
215
|
readOnly?: boolean;
|
|
208
216
|
}>;
|
|
209
|
-
|
|
217
|
+
declare abstract class Harness {
|
|
210
218
|
abstract readonly id: HarnessId;
|
|
211
219
|
abstract readonly name: string;
|
|
212
220
|
abstract readonly binaries: string[];
|
|
@@ -215,6 +223,8 @@ export declare abstract class Harness {
|
|
|
215
223
|
abstract readonly persistence: StorageDescriptor[];
|
|
216
224
|
abstract readonly instructions: PathCandidate[];
|
|
217
225
|
abstract readonly skills: PathCandidate[];
|
|
226
|
+
/** User-scope skills directory that skill synchronization links; null when none is verified. */
|
|
227
|
+
readonly skillsSyncTarget: SkillsSyncTarget | null;
|
|
218
228
|
abstract readonly commands: PathCandidate[];
|
|
219
229
|
/** Reusable prompt files; empty when no CLI template location is verified. */
|
|
220
230
|
readonly promptTemplates: PathCandidate[];
|
|
@@ -272,7 +282,7 @@ export declare abstract class Harness {
|
|
|
272
282
|
/**
|
|
273
283
|
* Runs one prompt through the harness non-interactively and collects the
|
|
274
284
|
* output. stdin is closed so a harness that falls back to interactive mode
|
|
275
|
-
* exits instead of waiting forever.
|
|
285
|
+
* exits instead of waiting forever. Inside a harness that `invoke` started, it rejects.
|
|
276
286
|
*
|
|
277
287
|
* @param prompt - Prompt sent to the harness.
|
|
278
288
|
* @param options - Invocation, environment, timeout, and cancellation options.
|
|
@@ -350,9 +360,11 @@ export declare abstract class Harness {
|
|
|
350
360
|
*/
|
|
351
361
|
private resolveTemp;
|
|
352
362
|
}
|
|
353
|
-
|
|
363
|
+
type HarnessConstructor = new () => Harness;
|
|
364
|
+
//#endregion
|
|
365
|
+
//#region src/mcp-servers.d.ts
|
|
354
366
|
/** One resolved config file together with the servers it declares. */
|
|
355
|
-
|
|
367
|
+
interface McpConfigListing {
|
|
356
368
|
path: string;
|
|
357
369
|
scope: McpConfigFile["scope"];
|
|
358
370
|
format: McpConfigFile["format"];
|
|
@@ -364,7 +376,7 @@ export interface McpConfigListing {
|
|
|
364
376
|
error?: string;
|
|
365
377
|
}
|
|
366
378
|
/** Thrown when a server's env cannot be written the way the target dialect requires. */
|
|
367
|
-
|
|
379
|
+
declare class McpEnvError extends Error {
|
|
368
380
|
readonly name = "McpEnvError";
|
|
369
381
|
}
|
|
370
382
|
/**
|
|
@@ -375,7 +387,7 @@ export declare class McpEnvError extends Error {
|
|
|
375
387
|
* @param options - Platform and path-resolution overrides.
|
|
376
388
|
* @returns {McpConfigListing[]} One listing per declared config file.
|
|
377
389
|
*/
|
|
378
|
-
|
|
390
|
+
declare function listMcpServers(harness: Harness, options?: ResolveOptions): McpConfigListing[];
|
|
379
391
|
/**
|
|
380
392
|
* Adds (or replaces) one MCP server in a harness's config. The rest of the
|
|
381
393
|
* file is preserved: JSON through a parse/serialize round trip (formatting
|
|
@@ -387,7 +399,7 @@ export declare function listMcpServers(harness: Harness, options?: ResolveOption
|
|
|
387
399
|
* @param options - Platform and path-resolution overrides.
|
|
388
400
|
* @returns {{ path: string, replaced: boolean }} The written path and replacement status.
|
|
389
401
|
*/
|
|
390
|
-
|
|
402
|
+
declare function addMcpServer(harness: Harness, server: McpServerConfig, scope?: "user" | "project", options?: ResolveOptions): {
|
|
391
403
|
path: string;
|
|
392
404
|
replaced: boolean;
|
|
393
405
|
};
|
|
@@ -400,7 +412,7 @@ export declare function addMcpServer(harness: Harness, server: McpServerConfig,
|
|
|
400
412
|
* @param options - Platform and path-resolution overrides.
|
|
401
413
|
* @returns {{ path: string, removed: boolean }} The targeted path and removal status.
|
|
402
414
|
*/
|
|
403
|
-
|
|
415
|
+
declare function removeMcpServer(harness: Harness, name: string, scope?: "user" | "project", options?: ResolveOptions): {
|
|
404
416
|
path: string;
|
|
405
417
|
removed: boolean;
|
|
406
418
|
};
|
|
@@ -411,16 +423,16 @@ export declare function removeMcpServer(harness: Harness, name: string, scope?:
|
|
|
411
423
|
* @param text - JSONC source text.
|
|
412
424
|
* @returns {unknown} The parsed JSON value.
|
|
413
425
|
*/
|
|
414
|
-
|
|
426
|
+
declare function parseJsonc(text: string): unknown;
|
|
415
427
|
/**
|
|
416
428
|
* Resolves the master sync file path: $XDG_CONFIG_HOME or ~/.config.
|
|
417
429
|
*
|
|
418
430
|
* @param options - Path-resolution overrides.
|
|
419
431
|
* @returns {string} The resolved master MCP config path.
|
|
420
432
|
*/
|
|
421
|
-
|
|
433
|
+
declare function masterMcpPath(options?: ResolveOptions): string;
|
|
422
434
|
/** One harness's outcome of a sync run. */
|
|
423
|
-
|
|
435
|
+
interface SyncTargetResult {
|
|
424
436
|
id: string;
|
|
425
437
|
path?: string;
|
|
426
438
|
/** Reason this harness could not be targeted; `results` is empty then. */
|
|
@@ -435,7 +447,7 @@ export interface SyncTargetResult {
|
|
|
435
447
|
}>;
|
|
436
448
|
}
|
|
437
449
|
/** Outcome of resetting the harness configs to the master list. */
|
|
438
|
-
|
|
450
|
+
interface SyncReport {
|
|
439
451
|
source: string;
|
|
440
452
|
servers: string[];
|
|
441
453
|
targets: SyncTargetResult[];
|
|
@@ -446,7 +458,7 @@ export interface SyncReport {
|
|
|
446
458
|
* @param options - Path-resolution overrides.
|
|
447
459
|
* @returns {{ path: string, servers: McpServerConfig[], excludes: string[] }} The master list.
|
|
448
460
|
*/
|
|
449
|
-
|
|
461
|
+
declare function readMasterMcpServers(options?: ResolveOptions): {
|
|
450
462
|
path: string;
|
|
451
463
|
servers: McpServerConfig[];
|
|
452
464
|
/** Harness ids the master list opts out of syncing. */
|
|
@@ -461,9 +473,11 @@ export declare function readMasterMcpServers(options?: ResolveOptions): {
|
|
|
461
473
|
* @param options - Platform and path-resolution overrides.
|
|
462
474
|
* @returns {SyncReport} Per-harness synchronization outcomes.
|
|
463
475
|
*/
|
|
464
|
-
|
|
476
|
+
declare function syncMcpServers(harnesses: readonly Harness[], options?: ResolveOptions): SyncReport;
|
|
477
|
+
//#endregion
|
|
478
|
+
//#region src/agents-sync.d.ts
|
|
465
479
|
/** Configuration read from agents.jsonc. */
|
|
466
|
-
|
|
480
|
+
interface AgentsConfig {
|
|
467
481
|
/** The master instructions file every harness links to. */
|
|
468
482
|
source: string;
|
|
469
483
|
/** Relative files to link beside every harness instructions target. */
|
|
@@ -473,9 +487,9 @@ export interface AgentsConfig {
|
|
|
473
487
|
/** Path the config was read from; absent when defaults were used. */
|
|
474
488
|
configPath?: string;
|
|
475
489
|
}
|
|
476
|
-
|
|
490
|
+
type AgentsSyncAction = "linked" | "relinked" | "adopted" | "unchanged" | "skipped";
|
|
477
491
|
/** One companion file's outcome for a harness target. */
|
|
478
|
-
|
|
492
|
+
interface AgentsCompanionTargetResult {
|
|
479
493
|
readonly source: string;
|
|
480
494
|
readonly path: string;
|
|
481
495
|
readonly action: Exclude<AgentsSyncAction, "skipped">;
|
|
@@ -483,7 +497,7 @@ export interface AgentsCompanionTargetResult {
|
|
|
483
497
|
readonly detail?: string;
|
|
484
498
|
}
|
|
485
499
|
/** One harness's outcome of an agents sync run. */
|
|
486
|
-
|
|
500
|
+
interface AgentsTargetResult {
|
|
487
501
|
id: string;
|
|
488
502
|
path?: string;
|
|
489
503
|
action: AgentsSyncAction;
|
|
@@ -493,7 +507,7 @@ export interface AgentsTargetResult {
|
|
|
493
507
|
companions?: readonly AgentsCompanionTargetResult[];
|
|
494
508
|
}
|
|
495
509
|
/** Outcome of one agents sync/doctor run. */
|
|
496
|
-
|
|
510
|
+
interface AgentsSyncReport {
|
|
497
511
|
source: string;
|
|
498
512
|
check: boolean;
|
|
499
513
|
targets: AgentsTargetResult[];
|
|
@@ -504,7 +518,7 @@ export interface AgentsSyncReport {
|
|
|
504
518
|
* @param options - Path-resolution overrides.
|
|
505
519
|
* @returns {AgentsConfig} The normalized sync configuration.
|
|
506
520
|
*/
|
|
507
|
-
|
|
521
|
+
declare function readAgentsConfig(options?: ResolveOptions): AgentsConfig;
|
|
508
522
|
/**
|
|
509
523
|
* Links every harness's user-scope instructions file to the master. In check
|
|
510
524
|
* mode nothing is written; the report shows what a real run would do.
|
|
@@ -514,10 +528,12 @@ export declare function readAgentsConfig(options?: ResolveOptions): AgentsConfig
|
|
|
514
528
|
* @param options - Path-resolution overrides.
|
|
515
529
|
* @returns {AgentsSyncReport} Per-harness synchronization outcomes.
|
|
516
530
|
*/
|
|
517
|
-
|
|
518
|
-
|
|
531
|
+
declare function syncAgentsFiles(harnesses: readonly Harness[], check?: boolean, options?: ResolveOptions): AgentsSyncReport;
|
|
532
|
+
//#endregion
|
|
533
|
+
//#region src/prompt-sync.d.ts
|
|
534
|
+
type PromptSyncAction = "linked" | "generated" | "relinked" | "replaced" | "adopted" | "removed" | "unchanged" | "skipped";
|
|
519
535
|
/** One prompt template's outcome at a harness destination. */
|
|
520
|
-
|
|
536
|
+
interface PromptTemplateTargetResult {
|
|
521
537
|
readonly name: string;
|
|
522
538
|
readonly source?: string;
|
|
523
539
|
readonly path: string;
|
|
@@ -526,7 +542,7 @@ export interface PromptTemplateTargetResult {
|
|
|
526
542
|
readonly detail?: string;
|
|
527
543
|
}
|
|
528
544
|
/** One harness's outcome of a prompt template sync run. */
|
|
529
|
-
|
|
545
|
+
interface PromptSyncTargetResult {
|
|
530
546
|
readonly id: string;
|
|
531
547
|
readonly path?: string;
|
|
532
548
|
readonly format?: PromptTemplateSyncTarget["format"];
|
|
@@ -537,7 +553,7 @@ export interface PromptSyncTargetResult {
|
|
|
537
553
|
readonly templates: readonly PromptTemplateTargetResult[];
|
|
538
554
|
}
|
|
539
555
|
/** Outcome of one prompt template sync run. */
|
|
540
|
-
|
|
556
|
+
interface PromptSyncReport {
|
|
541
557
|
readonly source: string;
|
|
542
558
|
readonly check: boolean;
|
|
543
559
|
readonly templates: readonly string[];
|
|
@@ -555,5 +571,42 @@ export interface PromptSyncReport {
|
|
|
555
571
|
* @param options - Path-resolution overrides.
|
|
556
572
|
* @returns {PromptSyncReport} Per-harness synchronization outcomes.
|
|
557
573
|
*/
|
|
558
|
-
|
|
559
|
-
//#
|
|
574
|
+
declare function syncPromptTemplates(harnesses: readonly Harness[], check?: boolean, options?: ResolveOptions): PromptSyncReport;
|
|
575
|
+
//#endregion
|
|
576
|
+
//#region src/directory-link.d.ts
|
|
577
|
+
type DirectoryLinkAction = "linked" | "relinked" | "adopted" | "unchanged" | "skipped";
|
|
578
|
+
//#endregion
|
|
579
|
+
//#region src/skills-sync.d.ts
|
|
580
|
+
type SkillsSyncAction = DirectoryLinkAction;
|
|
581
|
+
/** One harness's outcome of a skill sync run. */
|
|
582
|
+
interface SkillsSyncTargetResult {
|
|
583
|
+
readonly id: string;
|
|
584
|
+
readonly path?: string;
|
|
585
|
+
readonly action: SkillsSyncAction;
|
|
586
|
+
/** Backup path, skip reason, or a check-mode note. */
|
|
587
|
+
readonly detail?: string;
|
|
588
|
+
}
|
|
589
|
+
/** Outcome of one skill sync run. */
|
|
590
|
+
interface SkillsSyncReport {
|
|
591
|
+
readonly source: string;
|
|
592
|
+
readonly check: boolean;
|
|
593
|
+
/** Source subdirectories that hold a SKILL.md. */
|
|
594
|
+
readonly skills: readonly string[];
|
|
595
|
+
readonly targets: readonly SkillsSyncTargetResult[];
|
|
596
|
+
}
|
|
597
|
+
/**
|
|
598
|
+
* Links each harness's user-scope skills directory to the canonical skills
|
|
599
|
+
* directory under the agntn XDG data directory, so a skill added or edited
|
|
600
|
+
* through any harness lands in one place. Per-skill links into the source are
|
|
601
|
+
* replaced; any other content is backed up first. In check mode nothing is
|
|
602
|
+
* written.
|
|
603
|
+
*
|
|
604
|
+
* @param harnesses - Harnesses to inspect or update.
|
|
605
|
+
* @param check - Report intended changes without writing them.
|
|
606
|
+
* @param options - Path-resolution overrides.
|
|
607
|
+
* @returns {SkillsSyncReport} Per-harness synchronization outcomes.
|
|
608
|
+
*/
|
|
609
|
+
declare function syncSkills(harnesses: readonly Harness[], check?: boolean, options?: ResolveOptions): SkillsSyncReport;
|
|
610
|
+
//#endregion
|
|
611
|
+
export { version as $, AvailableModel as A, InvokeResult as B, masterMcpPath as C, syncMcpServers as D, removeMcpServer as E, HarnessId as F, PathCandidate as G, ListModelsResult as H, HarnessInvocation as I, PromptTemplateSyncTarget as J, PathCategory as K, HarnessInvocationModes as L, EvidenceLevel as M, HarnessCapabilities as N, Harness as O, HarnessDetection as P, StorageDescriptor as Q, HarnessModelListing as R, listMcpServers as S, readMasterMcpServers as T, McpConfigFile as U, ListModelsOptions as V, McpServerConfig as W, ResolvedPaths as X, ResolveOptions as Y, SkillsSyncTarget as Z, McpConfigListing as _, PromptSyncAction as a, SyncTargetResult as b, PromptTemplateTargetResult as c, AgentsConfig as d, AgentsSyncAction as f, syncAgentsFiles as g, readAgentsConfig as h, syncSkills as i, EnvOverride as j, HarnessConstructor as k, syncPromptTemplates as l, AgentsTargetResult as m, SkillsSyncReport as n, PromptSyncReport as o, AgentsSyncReport as p, Platform as q, SkillsSyncTargetResult as r, PromptSyncTargetResult as s, SkillsSyncAction as t, AgentsCompanionTargetResult as u, McpEnvError as v, parseJsonc as w, addMcpServer as x, SyncReport as y, InvokeOptions as z };
|
|
612
|
+
//# sourceMappingURL=skills-sync.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skills-sync.d.mts","names":[],"sources":["../../src/types.ts","../../src/harness.ts","../../src/mcp-servers.ts","../../src/agents-sync.ts","../../src/prompt-sync.ts","../../src/directory-link.ts","../../src/skills-sync.ts"],"mappings":"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"}
|