poly-weaver 0.12.4 → 0.12.5
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/dist/agents/runner.d.ts +2 -0
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +10 -0
- package/dist/agents/runner.js.map +1 -1
- package/dist/agents/session-resume.d.ts +3 -2
- package/dist/agents/session-resume.d.ts.map +1 -1
- package/dist/agents/session-resume.js +10 -3
- package/dist/agents/session-resume.js.map +1 -1
- package/dist/agents/simplifiers/index.d.ts.map +1 -1
- package/dist/agents/simplifiers/index.js +1 -5
- package/dist/agents/simplifiers/index.js.map +1 -1
- package/dist/auto-update/check-agent-updates.d.ts +1 -0
- package/dist/auto-update/check-agent-updates.d.ts.map +1 -1
- package/dist/auto-update/check-agent-updates.js +80 -8
- package/dist/auto-update/check-agent-updates.js.map +1 -1
- package/dist/auto-update/detect-agents.d.ts +1 -0
- package/dist/auto-update/detect-agents.d.ts.map +1 -1
- package/dist/auto-update/detect-agents.js +1 -1
- package/dist/auto-update/detect-agents.js.map +1 -1
- package/dist/auto-update/install-agents.js +4 -1
- package/dist/auto-update/install-agents.js.map +1 -1
- package/dist/offscreen/controller.d.ts.map +1 -1
- package/dist/offscreen/controller.js +8 -5
- package/dist/offscreen/controller.js.map +1 -1
- package/dist/offscreen/fork-busy.d.ts +3 -20
- package/dist/offscreen/fork-busy.d.ts.map +1 -1
- package/dist/offscreen/fork-busy.js +7 -76
- package/dist/offscreen/fork-busy.js.map +1 -1
- package/dist/offscreen/fork-launch.d.ts +3 -34
- package/dist/offscreen/fork-launch.d.ts.map +1 -1
- package/dist/offscreen/fork-launch.js +4 -102
- package/dist/offscreen/fork-launch.js.map +1 -1
- package/dist/providers/claude/strategy.d.ts +10 -1
- package/dist/providers/claude/strategy.d.ts.map +1 -1
- package/dist/providers/claude/strategy.js +128 -2
- package/dist/providers/claude/strategy.js.map +1 -1
- package/dist/providers/claude/trust.d.ts +2 -0
- package/dist/providers/claude/trust.d.ts.map +1 -0
- package/dist/providers/claude/trust.js +22 -0
- package/dist/providers/claude/trust.js.map +1 -0
- package/dist/providers/codex/config.js +1 -1
- package/dist/providers/codex/config.js.map +1 -1
- package/dist/providers/codex/strategy.d.ts +7 -1
- package/dist/providers/codex/strategy.d.ts.map +1 -1
- package/dist/providers/codex/strategy.js +83 -2
- package/dist/providers/codex/strategy.js.map +1 -1
- package/dist/providers/codex/trust.d.ts +2 -0
- package/dist/providers/codex/trust.d.ts.map +1 -0
- package/dist/providers/codex/trust.js +92 -0
- package/dist/providers/codex/trust.js.map +1 -0
- package/dist/providers/copilot/completion.d.ts +5 -3
- package/dist/providers/copilot/completion.d.ts.map +1 -1
- package/dist/providers/copilot/completion.js +188 -16
- package/dist/providers/copilot/completion.js.map +1 -1
- package/dist/providers/copilot/strategy.d.ts +9 -1
- package/dist/providers/copilot/strategy.d.ts.map +1 -1
- package/dist/providers/copilot/strategy.js +138 -2
- package/dist/providers/copilot/strategy.js.map +1 -1
- package/dist/providers/copilot/trust.d.ts +2 -0
- package/dist/providers/copilot/trust.d.ts.map +1 -0
- package/dist/providers/copilot/trust.js +45 -0
- package/dist/providers/copilot/trust.js.map +1 -0
- package/dist/providers/fork.d.ts +64 -0
- package/dist/providers/fork.d.ts.map +1 -0
- package/dist/providers/fork.js +2 -0
- package/dist/providers/fork.js.map +1 -0
- package/dist/providers/index.d.ts +2 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/option-catalog.d.ts.map +1 -1
- package/dist/providers/option-catalog.js +14 -129
- package/dist/providers/option-catalog.js.map +1 -1
- package/dist/providers/trust-utils.d.ts +7 -0
- package/dist/providers/trust-utils.d.ts.map +1 -0
- package/dist/providers/trust-utils.js +49 -0
- package/dist/providers/trust-utils.js.map +1 -0
- package/dist/providers/trust.d.ts +1 -4
- package/dist/providers/trust.d.ts.map +1 -1
- package/dist/providers/trust.js +3 -204
- package/dist/providers/trust.js.map +1 -1
- package/dist/providers/types.d.ts +25 -0
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js.map +1 -1
- package/package.json +1 -1
- package/dist/agents/simplifiers/prompts.d.ts +0 -11
- package/dist/agents/simplifiers/prompts.d.ts.map +0 -1
- package/dist/agents/simplifiers/prompts.js +0 -24
- package/dist/agents/simplifiers/prompts.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"option-catalog.d.ts","sourceRoot":"","sources":["../../src/providers/option-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"option-catalog.d.ts","sourceRoot":"","sources":["../../src/providers/option-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAInD,wBAAgB,cAAc,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,MAAM,EAAE,CAE/D;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAElD;AAED,wBAAgB,eAAe,CAC7B,CAAC,EAAE,UAAU,EACb,KAAK,CAAC,EAAE,MAAM,GACb,SAAS,MAAM,EAAE,CAEnB;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAEnD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,wBAAgB,aAAa,CAC3B,CAAC,EAAE,UAAU,EACb,CAAC,EAAE,MAAM,EACT,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAET"}
|
|
@@ -1,143 +1,28 @@
|
|
|
1
1
|
import { resolveProvider } from "./registry.js";
|
|
2
|
-
import { versionGte } from "./version.js";
|
|
3
|
-
const CLAUDE_OPUS_4_8_MIN_CLI_VERSION = "2.1.152";
|
|
4
|
-
const CLAUDE_SONNET_5_MIN_CLI_VERSION = "2.1.197";
|
|
5
|
-
const COPILOT_OPUS_4_8_MIN_CLI_VERSION = "1.0.55";
|
|
6
|
-
const COPILOT_SONNET_5_MIN_CLI_VERSION = "1.0.68";
|
|
7
|
-
const COPILOT_MAX_EFFORT_MIN_CLI_VERSION = "1.0.60";
|
|
8
|
-
const CLAUDE_MODELS_LEGACY = [
|
|
9
|
-
"claude-opus-4-7",
|
|
10
|
-
"claude-opus-4-7[1m]",
|
|
11
|
-
];
|
|
12
|
-
const CLAUDE_MODELS_OPUS_4_8 = [
|
|
13
|
-
"claude-opus-4-8",
|
|
14
|
-
"claude-opus-4-8[1m]",
|
|
15
|
-
"claude-opus-4-7",
|
|
16
|
-
"claude-opus-4-7[1m]",
|
|
17
|
-
];
|
|
18
|
-
const CLAUDE_MODELS_SONNET_5 = [
|
|
19
|
-
"claude-sonnet-5",
|
|
20
|
-
"claude-sonnet-5[1m]",
|
|
21
|
-
...CLAUDE_MODELS_OPUS_4_8,
|
|
22
|
-
];
|
|
23
|
-
const CLAUDE_DEFAULT_MODEL_LEGACY = "claude-opus-4-7[1m]";
|
|
24
|
-
const CLAUDE_DEFAULT_MODEL_OPUS_4_8 = "claude-opus-4-8[1m]";
|
|
25
|
-
const COPILOT_MODELS_LEGACY = [
|
|
26
|
-
"gpt-5.5",
|
|
27
|
-
"claude-opus-4.7-1m-internal",
|
|
28
|
-
];
|
|
29
|
-
const COPILOT_MODELS_OPUS_4_8 = [
|
|
30
|
-
"gpt-5.5",
|
|
31
|
-
"claude-opus-4.8",
|
|
32
|
-
"claude-opus-4.7",
|
|
33
|
-
];
|
|
34
|
-
const COPILOT_MODELS_SONNET_5 = [
|
|
35
|
-
"gpt-5.5",
|
|
36
|
-
"claude-sonnet-5",
|
|
37
|
-
"claude-opus-4.8",
|
|
38
|
-
"claude-opus-4.7",
|
|
39
|
-
];
|
|
40
|
-
const CATALOG = {
|
|
41
|
-
claude: {
|
|
42
|
-
// Claude models are derived dynamically from the detected CLI version.
|
|
43
|
-
models: [],
|
|
44
|
-
efforts: ["medium", "high", "xhigh", "max"],
|
|
45
|
-
defaultEffort: "high",
|
|
46
|
-
},
|
|
47
|
-
codex: {
|
|
48
|
-
models: ["gpt-5.5"],
|
|
49
|
-
efforts: ["medium", "high", "xhigh"],
|
|
50
|
-
defaultEffort: "high",
|
|
51
|
-
},
|
|
52
|
-
copilot: {
|
|
53
|
-
// Copilot models are derived dynamically from the detected CLI version.
|
|
54
|
-
models: COPILOT_MODELS_LEGACY,
|
|
55
|
-
efforts: ["medium", "high", "xhigh"],
|
|
56
|
-
defaultEffort: "high",
|
|
57
|
-
},
|
|
58
|
-
};
|
|
59
|
-
function claudeCliVersion() {
|
|
60
|
-
try {
|
|
61
|
-
return resolveProvider("claude").version;
|
|
62
|
-
}
|
|
63
|
-
catch {
|
|
64
|
-
return undefined;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
function claudeSupportsOpus48() {
|
|
68
|
-
return versionGte(claudeCliVersion(), CLAUDE_OPUS_4_8_MIN_CLI_VERSION);
|
|
69
|
-
}
|
|
70
|
-
function claudeSupportsSonnet5() {
|
|
71
|
-
return versionGte(claudeCliVersion(), CLAUDE_SONNET_5_MIN_CLI_VERSION);
|
|
72
|
-
}
|
|
73
|
-
function claudeModels() {
|
|
74
|
-
if (claudeSupportsSonnet5())
|
|
75
|
-
return CLAUDE_MODELS_SONNET_5;
|
|
76
|
-
return claudeSupportsOpus48()
|
|
77
|
-
? CLAUDE_MODELS_OPUS_4_8
|
|
78
|
-
: CLAUDE_MODELS_LEGACY;
|
|
79
|
-
}
|
|
80
|
-
function copilotCliVersion() {
|
|
81
|
-
try {
|
|
82
|
-
return resolveProvider("copilot").version;
|
|
83
|
-
}
|
|
84
|
-
catch {
|
|
85
|
-
return undefined;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
function copilotSupportsOpus48() {
|
|
89
|
-
return versionGte(copilotCliVersion(), COPILOT_OPUS_4_8_MIN_CLI_VERSION);
|
|
90
|
-
}
|
|
91
|
-
function copilotSupportsSonnet5() {
|
|
92
|
-
return versionGte(copilotCliVersion(), COPILOT_SONNET_5_MIN_CLI_VERSION);
|
|
93
|
-
}
|
|
94
|
-
function copilotModels() {
|
|
95
|
-
if (copilotSupportsSonnet5())
|
|
96
|
-
return COPILOT_MODELS_SONNET_5;
|
|
97
|
-
return copilotSupportsOpus48()
|
|
98
|
-
? COPILOT_MODELS_OPUS_4_8
|
|
99
|
-
: COPILOT_MODELS_LEGACY;
|
|
100
|
-
}
|
|
101
|
-
function copilotSupportsMaxEffort() {
|
|
102
|
-
return versionGte(copilotCliVersion(), COPILOT_MAX_EFFORT_MIN_CLI_VERSION);
|
|
103
|
-
}
|
|
104
|
-
function isClaudeFamilyModel(model) {
|
|
105
|
-
return model?.startsWith("claude-") ?? false;
|
|
106
|
-
}
|
|
107
2
|
export function providerModels(p) {
|
|
108
|
-
|
|
109
|
-
return claudeModels();
|
|
110
|
-
if (p === "copilot")
|
|
111
|
-
return copilotModels();
|
|
112
|
-
return CATALOG[p]?.models ?? [];
|
|
3
|
+
return resolveOptions(p)?.models() ?? [];
|
|
113
4
|
}
|
|
114
5
|
export function defaultModel(p) {
|
|
115
|
-
|
|
116
|
-
return claudeSupportsOpus48()
|
|
117
|
-
? CLAUDE_DEFAULT_MODEL_OPUS_4_8
|
|
118
|
-
: CLAUDE_DEFAULT_MODEL_LEGACY;
|
|
119
|
-
}
|
|
120
|
-
return CATALOG[p]?.models[0] ?? "";
|
|
6
|
+
return resolveOptions(p)?.defaultModel() ?? "";
|
|
121
7
|
}
|
|
122
8
|
export function providerEfforts(p, model) {
|
|
123
|
-
|
|
124
|
-
const modelAllowsMax = isClaudeFamilyModel(model);
|
|
125
|
-
if (p === "copilot" && modelAllowsMax && copilotSupportsMaxEffort()) {
|
|
126
|
-
return base.includes("max") ? base : [...base, "max"];
|
|
127
|
-
}
|
|
128
|
-
return modelAllowsMax ? base : base.filter((effort) => effort !== "max");
|
|
9
|
+
return resolveOptions(p)?.efforts(model) ?? [];
|
|
129
10
|
}
|
|
130
11
|
export function defaultEffort(p) {
|
|
131
|
-
return
|
|
12
|
+
return resolveOptions(p)?.defaultEffort() ?? "";
|
|
132
13
|
}
|
|
133
14
|
export function isKnownModel(p, m) {
|
|
134
|
-
|
|
135
|
-
return claudeModels().includes(m);
|
|
136
|
-
if (p === "copilot")
|
|
137
|
-
return copilotModels().includes(m);
|
|
138
|
-
return CATALOG[p]?.models.includes(m) ?? false;
|
|
15
|
+
return resolveOptions(p)?.isKnownModel(m) ?? false;
|
|
139
16
|
}
|
|
140
17
|
export function isKnownEffort(p, e, model) {
|
|
141
|
-
return
|
|
18
|
+
return resolveOptions(p)?.isKnownEffort(e, model) ?? false;
|
|
19
|
+
}
|
|
20
|
+
function resolveOptions(p) {
|
|
21
|
+
try {
|
|
22
|
+
return resolveProvider(p).options;
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
142
27
|
}
|
|
143
28
|
//# sourceMappingURL=option-catalog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"option-catalog.js","sourceRoot":"","sources":["../../src/providers/option-catalog.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"option-catalog.js","sourceRoot":"","sources":["../../src/providers/option-catalog.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,UAAU,cAAc,CAAC,CAAa;IAC1C,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAa;IACxC,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,CAAa,EACb,KAAc;IAEd,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAa;IACzC,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAa,EAAE,CAAS;IACnD,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,CAAa,EACb,CAAS,EACT,KAAc;IAEd,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC;AAC7D,CAAC;AAED,SAAS,cAAc,CAAC,CAAa;IACnC,IAAI,CAAC;QACH,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare function normalizeCopilotTrustPath(value: string): string;
|
|
2
|
+
export declare function compareCopilotPaths(a: string, b: string): boolean;
|
|
3
|
+
export declare function readTextIfExists(path: string): Promise<string | undefined>;
|
|
4
|
+
export declare function parseJsonObject(content: string, path: string): Record<string, unknown>;
|
|
5
|
+
export declare function tomlBasicString(value: string): string;
|
|
6
|
+
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
7
|
+
//# sourceMappingURL=trust-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trust-utils.d.ts","sourceRoot":"","sources":["../../src/providers/trust-utils.ts"],"names":[],"mappings":"AAGA,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAMjE;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAOhF;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMtF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOrD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
import { parse as parsePath, resolve } from "node:path";
|
|
3
|
+
export function normalizeCopilotTrustPath(value) {
|
|
4
|
+
return trimTrailingSeparators(resolve(value));
|
|
5
|
+
}
|
|
6
|
+
export function compareCopilotPaths(a, b) {
|
|
7
|
+
const left = normalizeCopilotTrustPath(a);
|
|
8
|
+
const right = normalizeCopilotTrustPath(b);
|
|
9
|
+
return process.platform === "win32"
|
|
10
|
+
? left.toLowerCase() === right.toLowerCase()
|
|
11
|
+
: left === right;
|
|
12
|
+
}
|
|
13
|
+
export async function readTextIfExists(path) {
|
|
14
|
+
try {
|
|
15
|
+
return await readFile(path, "utf8");
|
|
16
|
+
}
|
|
17
|
+
catch (err) {
|
|
18
|
+
if (err.code === "ENOENT")
|
|
19
|
+
return undefined;
|
|
20
|
+
throw err;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export function parseJsonObject(content, path) {
|
|
24
|
+
const parsed = JSON.parse(content);
|
|
25
|
+
if (!isRecord(parsed)) {
|
|
26
|
+
throw new Error(`${path} must contain a JSON object`);
|
|
27
|
+
}
|
|
28
|
+
return parsed;
|
|
29
|
+
}
|
|
30
|
+
export function tomlBasicString(value) {
|
|
31
|
+
return `"${value
|
|
32
|
+
.replace(/\\/g, "\\\\")
|
|
33
|
+
.replace(/"/g, '\\"')
|
|
34
|
+
.replace(/\r/g, "\\r")
|
|
35
|
+
.replace(/\n/g, "\\n")
|
|
36
|
+
.replace(/\t/g, "\\t")}"`;
|
|
37
|
+
}
|
|
38
|
+
export function isRecord(value) {
|
|
39
|
+
return !!value && typeof value === "object" && !Array.isArray(value);
|
|
40
|
+
}
|
|
41
|
+
function trimTrailingSeparators(path) {
|
|
42
|
+
const root = parsePath(path).root;
|
|
43
|
+
let result = path;
|
|
44
|
+
while (result.length > root.length && /[\\/]/.test(result[result.length - 1])) {
|
|
45
|
+
result = result.slice(0, -1);
|
|
46
|
+
}
|
|
47
|
+
return result;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=trust-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trust-utils.js","sourceRoot":"","sources":["../../src/providers/trust-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,UAAU,yBAAyB,CAAC,KAAa;IACrD,OAAO,sBAAsB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,CAAS,EAAE,CAAS;IACtD,MAAM,IAAI,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC;IAC3C,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO;QACjC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE;QAC5C,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAY;IACjD,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACvE,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,IAAY;IAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAC;IAC9C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,6BAA6B,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,IAAI,KAAK;SACb,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY;IAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;IAClC,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,OAAO,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { DriverName } from "../flow/types.js";
|
|
2
2
|
import type { OrchestrationOutput } from "../terminal/output.js";
|
|
3
|
+
export { compareCopilotPaths, isRecord, normalizeCopilotTrustPath, tomlBasicString, } from "./trust-utils.js";
|
|
3
4
|
export interface ProviderTrustResult {
|
|
4
5
|
allSucceeded: boolean;
|
|
5
6
|
failed: DriverName[];
|
|
@@ -7,8 +8,4 @@ export interface ProviderTrustResult {
|
|
|
7
8
|
export declare function ensureProviderTrust(providers: Set<DriverName>, workdir: string, opts: {
|
|
8
9
|
output: OrchestrationOutput;
|
|
9
10
|
}): Promise<ProviderTrustResult>;
|
|
10
|
-
export declare function normalizeCopilotTrustPath(value: string): string;
|
|
11
|
-
export declare function compareCopilotPaths(a: string, b: string): boolean;
|
|
12
|
-
export declare function tomlBasicString(value: string): string;
|
|
13
|
-
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
14
11
|
//# sourceMappingURL=trust.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trust.d.ts","sourceRoot":"","sources":["../../src/providers/trust.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"trust.d.ts","sourceRoot":"","sources":["../../src/providers/trust.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EACL,mBAAmB,EACnB,QAAQ,EACR,yBAAyB,EACzB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,EAC1B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;IAAE,MAAM,EAAE,mBAAmB,CAAA;CAAE,GACpC,OAAO,CAAC,mBAAmB,CAAC,CAe9B"}
|
package/dist/providers/trust.js
CHANGED
|
@@ -1,22 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import { dirname, join, parse as parsePath, resolve } from "node:path";
|
|
4
|
-
import { parse as parseToml } from "smol-toml";
|
|
1
|
+
import { resolveProvider } from "./registry.js";
|
|
2
|
+
export { compareCopilotPaths, isRecord, normalizeCopilotTrustPath, tomlBasicString, } from "./trust-utils.js";
|
|
5
3
|
export async function ensureProviderTrust(providers, workdir, opts) {
|
|
6
4
|
const failed = [];
|
|
7
5
|
for (const provider of providers) {
|
|
8
6
|
try {
|
|
9
|
-
|
|
10
|
-
case "claude":
|
|
11
|
-
await ensureClaudeTrust(workdir);
|
|
12
|
-
break;
|
|
13
|
-
case "codex":
|
|
14
|
-
await ensureCodexTrust(workdir);
|
|
15
|
-
break;
|
|
16
|
-
case "copilot":
|
|
17
|
-
await ensureCopilotTrust(workdir);
|
|
18
|
-
break;
|
|
19
|
-
}
|
|
7
|
+
await resolveProvider(provider).ensureTrust(workdir);
|
|
20
8
|
}
|
|
21
9
|
catch (err) {
|
|
22
10
|
failed.push(provider);
|
|
@@ -25,195 +13,6 @@ export async function ensureProviderTrust(providers, workdir, opts) {
|
|
|
25
13
|
}
|
|
26
14
|
return { allSucceeded: failed.length === 0, failed };
|
|
27
15
|
}
|
|
28
|
-
export function normalizeCopilotTrustPath(value) {
|
|
29
|
-
return trimTrailingSeparators(resolve(value));
|
|
30
|
-
}
|
|
31
|
-
export function compareCopilotPaths(a, b) {
|
|
32
|
-
const left = normalizeCopilotTrustPath(a);
|
|
33
|
-
const right = normalizeCopilotTrustPath(b);
|
|
34
|
-
return process.platform === "win32"
|
|
35
|
-
? left.toLowerCase() === right.toLowerCase()
|
|
36
|
-
: left === right;
|
|
37
|
-
}
|
|
38
|
-
async function ensureClaudeTrust(workdir) {
|
|
39
|
-
const configPath = join(homedir(), ".claude.json");
|
|
40
|
-
const key = workdir.replace(/\\/g, "/");
|
|
41
|
-
const content = await readTextIfExists(configPath);
|
|
42
|
-
const config = content === undefined
|
|
43
|
-
? {}
|
|
44
|
-
: parseJsonObject(content, configPath);
|
|
45
|
-
const projects = isRecord(config.projects) ? config.projects : {};
|
|
46
|
-
config.projects = projects;
|
|
47
|
-
const project = isRecord(projects[key]) ? projects[key] : {};
|
|
48
|
-
if (project.hasTrustDialogAccepted === true)
|
|
49
|
-
return;
|
|
50
|
-
project.hasTrustDialogAccepted = true;
|
|
51
|
-
projects[key] = project;
|
|
52
|
-
await mkdir(dirname(configPath), { recursive: true });
|
|
53
|
-
await writeFile(configPath, `${JSON.stringify(config, null, 2)}\n`, "utf8");
|
|
54
|
-
}
|
|
55
|
-
async function ensureCodexTrust(workdir) {
|
|
56
|
-
const configDir = join(homedir(), ".codex");
|
|
57
|
-
const configPath = join(configDir, "config.toml");
|
|
58
|
-
const projectPath = normalizeCodexProjectPath(workdir);
|
|
59
|
-
await mkdir(configDir, { recursive: true });
|
|
60
|
-
const content = await readTextIfExists(configPath) ?? "";
|
|
61
|
-
if (content.length > 0) {
|
|
62
|
-
const parsed = parseToml(content);
|
|
63
|
-
if (codexProjectIsTrusted(parsed, projectPath))
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
const updated = updateCodexTrust(content, projectPath);
|
|
67
|
-
const updatedParsed = parseToml(updated);
|
|
68
|
-
if (!codexProjectIsTrusted(updatedParsed, projectPath)) {
|
|
69
|
-
throw new Error(`Codex trust entry was not written for ${projectPath}`);
|
|
70
|
-
}
|
|
71
|
-
if (updated !== content) {
|
|
72
|
-
await writeFile(configPath, updated, "utf8");
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
async function ensureCopilotTrust(workdir) {
|
|
76
|
-
const configDir = join(homedir(), ".copilot");
|
|
77
|
-
const configPath = join(configDir, "config.json");
|
|
78
|
-
const normalizedWorkdir = normalizeCopilotTrustPath(workdir);
|
|
79
|
-
await mkdir(configDir, { recursive: true });
|
|
80
|
-
const content = await readTextIfExists(configPath) ?? "";
|
|
81
|
-
const { prefix, body, eol } = splitLeadingJsonComments(content);
|
|
82
|
-
const config = body.trim() === ""
|
|
83
|
-
? {}
|
|
84
|
-
: parseJsonObject(body, configPath);
|
|
85
|
-
const trustedFolders = Array.isArray(config.trustedFolders)
|
|
86
|
-
? [...config.trustedFolders]
|
|
87
|
-
: [];
|
|
88
|
-
const alreadyTrusted = trustedFolders.some((value) => typeof value === "string" && compareCopilotPaths(value, normalizedWorkdir));
|
|
89
|
-
if (alreadyTrusted)
|
|
90
|
-
return;
|
|
91
|
-
trustedFolders.push(normalizedWorkdir);
|
|
92
|
-
config.trustedFolders = trustedFolders;
|
|
93
|
-
const json = JSON.stringify(config, null, 2).replace(/\n/g, eol);
|
|
94
|
-
await writeFile(configPath, `${prefix}${json}${eol}`, "utf8");
|
|
95
|
-
}
|
|
96
|
-
function updateCodexTrust(content, projectPath) {
|
|
97
|
-
const eol = content.includes("\r\n") ? "\r\n" : "\n";
|
|
98
|
-
const lines = content === "" ? [] : content.split(/\r?\n/);
|
|
99
|
-
const start = lines.findIndex((line) => isTargetCodexProjectHeader(line, projectPath));
|
|
100
|
-
if (start === -1) {
|
|
101
|
-
const header = codexProjectHeaders(projectPath)[0];
|
|
102
|
-
const prefix = content === "" ? "" : content.endsWith("\n") ? content : `${content}${eol}`;
|
|
103
|
-
const separator = prefix === "" || prefix.endsWith(`${eol}${eol}`) ? "" : eol;
|
|
104
|
-
return `${prefix}${separator}${header}${eol}trust_level = "trusted"${eol}`;
|
|
105
|
-
}
|
|
106
|
-
let end = lines.length;
|
|
107
|
-
for (let index = start + 1; index < lines.length; index++) {
|
|
108
|
-
if (/^\s*\[[^\]]+\]\s*(?:#.*)?$/.test(lines[index])) {
|
|
109
|
-
end = index;
|
|
110
|
-
break;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
for (let index = start + 1; index < end; index++) {
|
|
114
|
-
if (/^\s*trust_level\s*=/.test(lines[index])) {
|
|
115
|
-
if (lines[index].trim() === 'trust_level = "trusted"')
|
|
116
|
-
return content;
|
|
117
|
-
lines[index] = 'trust_level = "trusted"';
|
|
118
|
-
return lines.join(eol);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
lines.splice(start + 1, 0, 'trust_level = "trusted"');
|
|
122
|
-
return lines.join(eol);
|
|
123
|
-
}
|
|
124
|
-
function isTargetCodexProjectHeader(line, projectPath) {
|
|
125
|
-
if (!/^\s*\[/.test(line))
|
|
126
|
-
return false;
|
|
127
|
-
try {
|
|
128
|
-
const parsed = parseToml(`${line}\n__poly_weaver_marker = true\n`);
|
|
129
|
-
const projects = isRecord(parsed.projects) ? parsed.projects : undefined;
|
|
130
|
-
const project = projects && isRecord(projects[projectPath])
|
|
131
|
-
? projects[projectPath]
|
|
132
|
-
: undefined;
|
|
133
|
-
return project?.__poly_weaver_marker === true;
|
|
134
|
-
}
|
|
135
|
-
catch {
|
|
136
|
-
return false;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
function codexProjectHeaders(projectPath) {
|
|
140
|
-
const literal = tomlLiteralString(projectPath);
|
|
141
|
-
const headers = literal ? [`[projects.${literal}]`] : [];
|
|
142
|
-
headers.push(`[projects.${tomlBasicString(projectPath)}]`);
|
|
143
|
-
return headers;
|
|
144
|
-
}
|
|
145
|
-
function tomlLiteralString(value) {
|
|
146
|
-
if (value.includes("'") || /[\u0000-\u001f\u007f]/.test(value))
|
|
147
|
-
return undefined;
|
|
148
|
-
return `'${value}'`;
|
|
149
|
-
}
|
|
150
|
-
export function tomlBasicString(value) {
|
|
151
|
-
return `"${value
|
|
152
|
-
.replace(/\\/g, "\\\\")
|
|
153
|
-
.replace(/"/g, '\\"')
|
|
154
|
-
.replace(/\r/g, "\\r")
|
|
155
|
-
.replace(/\n/g, "\\n")
|
|
156
|
-
.replace(/\t/g, "\\t")}"`;
|
|
157
|
-
}
|
|
158
|
-
function normalizeCodexProjectPath(value) {
|
|
159
|
-
return value.replace(/\//g, "\\").replace(/\\+$/g, "").toLowerCase();
|
|
160
|
-
}
|
|
161
|
-
function codexProjectIsTrusted(parsed, projectPath) {
|
|
162
|
-
if (!isRecord(parsed))
|
|
163
|
-
return false;
|
|
164
|
-
const projects = parsed.projects;
|
|
165
|
-
if (!isRecord(projects))
|
|
166
|
-
return false;
|
|
167
|
-
const project = projects[projectPath];
|
|
168
|
-
return isRecord(project) && project.trust_level === "trusted";
|
|
169
|
-
}
|
|
170
|
-
function splitLeadingJsonComments(content) {
|
|
171
|
-
const eol = content.includes("\r\n") ? "\r\n" : "\n";
|
|
172
|
-
const lines = content === "" ? [] : content.split(/\r?\n/);
|
|
173
|
-
let index = 0;
|
|
174
|
-
while (index < lines.length) {
|
|
175
|
-
const trimmed = lines[index].trim();
|
|
176
|
-
if (trimmed === "" || trimmed.startsWith("//")) {
|
|
177
|
-
index++;
|
|
178
|
-
continue;
|
|
179
|
-
}
|
|
180
|
-
break;
|
|
181
|
-
}
|
|
182
|
-
const prefixLines = lines.slice(0, index);
|
|
183
|
-
return {
|
|
184
|
-
prefix: prefixLines.length === 0 ? "" : `${prefixLines.join(eol)}${eol}`,
|
|
185
|
-
body: lines.slice(index).join(eol),
|
|
186
|
-
eol,
|
|
187
|
-
};
|
|
188
|
-
}
|
|
189
|
-
async function readTextIfExists(path) {
|
|
190
|
-
try {
|
|
191
|
-
return await readFile(path, "utf8");
|
|
192
|
-
}
|
|
193
|
-
catch (err) {
|
|
194
|
-
if (err.code === "ENOENT")
|
|
195
|
-
return undefined;
|
|
196
|
-
throw err;
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
function parseJsonObject(content, path) {
|
|
200
|
-
const parsed = JSON.parse(content);
|
|
201
|
-
if (!isRecord(parsed)) {
|
|
202
|
-
throw new Error(`${path} must contain a JSON object`);
|
|
203
|
-
}
|
|
204
|
-
return parsed;
|
|
205
|
-
}
|
|
206
|
-
function trimTrailingSeparators(path) {
|
|
207
|
-
const root = parsePath(path).root;
|
|
208
|
-
let result = path;
|
|
209
|
-
while (result.length > root.length && /[\\/]/.test(result[result.length - 1])) {
|
|
210
|
-
result = result.slice(0, -1);
|
|
211
|
-
}
|
|
212
|
-
return result;
|
|
213
|
-
}
|
|
214
|
-
export function isRecord(value) {
|
|
215
|
-
return !!value && typeof value === "object" && !Array.isArray(value);
|
|
216
|
-
}
|
|
217
16
|
function errorMessage(err) {
|
|
218
17
|
return err instanceof Error ? err.message : String(err);
|
|
219
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trust.js","sourceRoot":"","sources":["../../src/providers/trust.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"trust.js","sourceRoot":"","sources":["../../src/providers/trust.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,QAAQ,EACR,yBAAyB,EACzB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAO1B,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,SAA0B,EAC1B,OAAe,EACf,IAAqC;IAErC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAEhC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,wBAAwB,QAAQ,aAAa,OAAO,MAAM,YAAY,CAAC,GAAG,CAAC,EAAE,CAC9E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,YAAY,CAAC,GAAY;IAChC,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { UserClarification } from "../agents/planners/types.js";
|
|
2
2
|
import type { OrchestrationOutput } from "../terminal/output.js";
|
|
3
3
|
import type { PtyHandle } from "../pty/types.js";
|
|
4
|
+
import type { ForkHandler } from "./fork.js";
|
|
4
5
|
/**
|
|
5
6
|
* Provider-specific plan mode configuration.
|
|
6
7
|
* The PlannerAdapter reads this to apply plan mode correctly per provider.
|
|
@@ -54,6 +55,20 @@ export interface CompletionDetectorOptions {
|
|
|
54
55
|
completionMarkerFile?: string;
|
|
55
56
|
onActivation?: () => void;
|
|
56
57
|
}
|
|
58
|
+
export interface OptionCatalog {
|
|
59
|
+
models(): readonly string[];
|
|
60
|
+
defaultModel(): string;
|
|
61
|
+
efforts(model?: string): readonly string[];
|
|
62
|
+
defaultEffort(): string;
|
|
63
|
+
isKnownModel(model: string): boolean;
|
|
64
|
+
isKnownEffort(effort: string, model?: string): boolean;
|
|
65
|
+
}
|
|
66
|
+
export type ForkSubmitFloorPolicy = {
|
|
67
|
+
from: "source";
|
|
68
|
+
} | {
|
|
69
|
+
from: "fork-file";
|
|
70
|
+
offset: number;
|
|
71
|
+
};
|
|
57
72
|
/**
|
|
58
73
|
* Post-spawn plan-mode entry mechanism for providers whose CLI has no
|
|
59
74
|
* equivalent flag or slash-command for entering plan mode.
|
|
@@ -206,6 +221,12 @@ export interface ProviderStrategy {
|
|
|
206
221
|
readonly childEnv?: Record<string, string>;
|
|
207
222
|
/** Session handler for file discovery and extraction. */
|
|
208
223
|
readonly session: SessionHandler;
|
|
224
|
+
/** Offscreen fork handler for provider-owned launch, lineage, and turn accounting. */
|
|
225
|
+
readonly fork: ForkHandler;
|
|
226
|
+
/** Provider-owned model/effort catalog. */
|
|
227
|
+
readonly options: OptionCatalog;
|
|
228
|
+
/** Submit floor policy for fork turn tracking. */
|
|
229
|
+
readonly forkSubmitFloor: ForkSubmitFloorPolicy;
|
|
209
230
|
/**
|
|
210
231
|
* Build CLI args from prompt text and options.
|
|
211
232
|
*
|
|
@@ -214,6 +235,10 @@ export interface ProviderStrategy {
|
|
|
214
235
|
* positional or `-i` argument.
|
|
215
236
|
*/
|
|
216
237
|
buildArgs(prompt: string, opts: BuildArgsOpts): Promise<string[]>;
|
|
238
|
+
/** Ensure the provider trusts this workdir, if the provider has a trust store. */
|
|
239
|
+
ensureTrust(workdir: string): Promise<void>;
|
|
240
|
+
/** Build the provider-owned simplifier prompt. */
|
|
241
|
+
simplifierPrompt(outputPlanFile: string): string;
|
|
217
242
|
/** Create a new CompletionDetector for this provider. */
|
|
218
243
|
createDetector(opts?: CompletionDetectorOptions): CompletionDetector;
|
|
219
244
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"AAiIA,mEAAmE;AACnE,MAAM,UAAU,MAAM,CAAC,SAA8B,EAAE,IAAY;IACjE,OAAO,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Claude: invoke built-in /simplify skill.
|
|
3
|
-
* /simplify = "Review changed code for reuse, quality, and efficiency, then fix any issues found."
|
|
4
|
-
*/
|
|
5
|
-
export declare function claudeSimplifierPrompt(outputPlanFile: string): string;
|
|
6
|
-
/**
|
|
7
|
-
* Codex & Copilot: explicit textual equivalent of Claude's /simplify skill.
|
|
8
|
-
* These providers have no built-in simplify command, so we spell out the task.
|
|
9
|
-
*/
|
|
10
|
-
export declare function defaultSimplifierPrompt(outputPlanFile: string): string;
|
|
11
|
-
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/agents/simplifiers/prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAMrE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAOtE"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Claude: invoke built-in /simplify skill.
|
|
3
|
-
* /simplify = "Review changed code for reuse, quality, and efficiency, then fix any issues found."
|
|
4
|
-
*/
|
|
5
|
-
export function claudeSimplifierPrompt(outputPlanFile) {
|
|
6
|
-
return [
|
|
7
|
-
"/simplify",
|
|
8
|
-
"",
|
|
9
|
-
`Write the simplification plan as markdown to: ${outputPlanFile}`,
|
|
10
|
-
].join("\n");
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Codex & Copilot: explicit textual equivalent of Claude's /simplify skill.
|
|
14
|
-
* These providers have no built-in simplify command, so we spell out the task.
|
|
15
|
-
*/
|
|
16
|
-
export function defaultSimplifierPrompt(outputPlanFile) {
|
|
17
|
-
return [
|
|
18
|
-
"Review the changed code for reuse, quality, and efficiency.",
|
|
19
|
-
"Identify issues and propose fixes.",
|
|
20
|
-
"",
|
|
21
|
-
`Write the simplification plan as markdown to: ${outputPlanFile}`,
|
|
22
|
-
].join("\n");
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=prompts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/agents/simplifiers/prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,cAAsB;IAC3D,OAAO;QACL,WAAW;QACX,EAAE;QACF,iDAAiD,cAAc,EAAE;KAClE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,cAAsB;IAC5D,OAAO;QACL,6DAA6D;QAC7D,oCAAoC;QACpC,EAAE;QACF,iDAAiD,cAAc,EAAE;KAClE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|