@scanton/phase2s 0.15.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.phase2s/skills/audit/SKILL.md +1 -0
- package/.phase2s/skills/careful/SKILL.md +1 -0
- package/.phase2s/skills/checkpoint/SKILL.md +1 -0
- package/.phase2s/skills/debug/SKILL.md +1 -0
- package/.phase2s/skills/deep-specify/SKILL.md +1 -0
- package/.phase2s/skills/diff/SKILL.md +1 -0
- package/.phase2s/skills/docs/SKILL.md +1 -0
- package/.phase2s/skills/explain/SKILL.md +1 -0
- package/.phase2s/skills/freeze/SKILL.md +1 -0
- package/.phase2s/skills/guard/SKILL.md +1 -0
- package/.phase2s/skills/health/SKILL.md +1 -0
- package/.phase2s/skills/investigate/SKILL.md +1 -0
- package/.phase2s/skills/land-and-deploy/SKILL.md +1 -0
- package/.phase2s/skills/plan/SKILL.md +13 -2
- package/.phase2s/skills/plan-review/SKILL.md +1 -0
- package/.phase2s/skills/qa/SKILL.md +1 -0
- package/.phase2s/skills/remember/SKILL.md +1 -0
- package/.phase2s/skills/retro/SKILL.md +1 -0
- package/.phase2s/skills/review/SKILL.md +29 -0
- package/.phase2s/skills/scope-review/SKILL.md +1 -0
- package/.phase2s/skills/ship/SKILL.md +1 -0
- package/.phase2s/skills/skill/SKILL.md +1 -0
- package/.phase2s/skills/slop-clean/SKILL.md +1 -0
- package/.phase2s/skills/tdd/SKILL.md +1 -0
- package/.phase2s/skills/unfreeze/SKILL.md +1 -0
- package/README.md +28 -3
- package/dist/src/cli/index.d.ts +15 -0
- package/dist/src/cli/index.d.ts.map +1 -1
- package/dist/src/cli/index.js +70 -5
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/core/agent.d.ts.map +1 -1
- package/dist/src/core/agent.js +3 -1
- package/dist/src/core/agent.js.map +1 -1
- package/dist/src/core/config.d.ts +30 -3
- package/dist/src/core/config.d.ts.map +1 -1
- package/dist/src/core/config.js +25 -2
- package/dist/src/core/config.js.map +1 -1
- package/dist/src/mcp/server.d.ts +1 -1
- package/dist/src/mcp/server.d.ts.map +1 -1
- package/dist/src/mcp/server.js +43 -9
- package/dist/src/mcp/server.js.map +1 -1
- package/dist/src/providers/anthropic.d.ts +75 -0
- package/dist/src/providers/anthropic.d.ts.map +1 -0
- package/dist/src/providers/anthropic.js +195 -0
- package/dist/src/providers/anthropic.js.map +1 -0
- package/dist/src/providers/index.d.ts.map +1 -1
- package/dist/src/providers/index.js +6 -0
- package/dist/src/providers/index.js.map +1 -1
- package/dist/src/providers/ollama.d.ts +4 -0
- package/dist/src/providers/ollama.d.ts.map +1 -0
- package/dist/src/providers/ollama.js +42 -0
- package/dist/src/providers/ollama.js.map +1 -0
- package/dist/src/skills/loader.d.ts.map +1 -1
- package/dist/src/skills/loader.js +63 -1
- package/dist/src/skills/loader.js.map +1 -1
- package/dist/src/skills/template.d.ts +17 -0
- package/dist/src/skills/template.d.ts.map +1 -0
- package/dist/src/skills/template.js +30 -0
- package/dist/src/skills/template.js.map +1 -0
- package/dist/src/skills/types.d.ts +25 -0
- package/dist/src/skills/types.d.ts.map +1 -1
- package/dist/src/tools/registry.d.ts +12 -0
- package/dist/src/tools/registry.d.ts.map +1 -1
- package/dist/src/tools/registry.js +36 -0
- package/dist/src/tools/registry.js.map +1 -1
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/core/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAiB,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAqB,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEzC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AA8BlC,MAAM,OAAO,KAAK;IACR,QAAQ,CAAW;IACnB,KAAK,CAAe;IACpB,YAAY,CAAe;IAC3B,MAAM,CAAS;IACf,QAAQ,CAAS;IAEzB,YAAY,IAAkB;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/core/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
declare const configSchema: z.ZodObject<{
|
|
3
|
-
provider: z.ZodDefault<z.ZodEnum<["codex-cli", "openai-api"]>>;
|
|
3
|
+
provider: z.ZodDefault<z.ZodEnum<["codex-cli", "openai-api", "anthropic", "ollama"]>>;
|
|
4
4
|
/**
|
|
5
5
|
* Model to use. For codex-cli provider, defaults to whatever is in
|
|
6
6
|
* ~/.codex/config.toml so the user's existing Codex setup is respected.
|
|
7
7
|
* For openai-api, defaults to "gpt-4o".
|
|
8
|
+
* For anthropic, defaults to "claude-3-5-sonnet-20241022".
|
|
9
|
+
* For ollama, defaults to "llama3.1:8b" (user must have it pulled).
|
|
8
10
|
*/
|
|
9
11
|
model: z.ZodOptional<z.ZodString>;
|
|
10
12
|
fast_model: z.ZodOptional<z.ZodString>;
|
|
11
13
|
smart_model: z.ZodOptional<z.ZodString>;
|
|
12
14
|
apiKey: z.ZodOptional<z.ZodString>;
|
|
15
|
+
anthropicApiKey: z.ZodOptional<z.ZodString>;
|
|
16
|
+
/** Anthropic max_tokens (default 8192; raise for models with higher ceilings). */
|
|
17
|
+
anthropicMaxTokens: z.ZodOptional<z.ZodNumber>;
|
|
18
|
+
/** Ollama base URL (default http://localhost:11434/v1). */
|
|
19
|
+
ollamaBaseUrl: z.ZodOptional<z.ZodString>;
|
|
13
20
|
codexPath: z.ZodDefault<z.ZodString>;
|
|
14
21
|
systemPrompt: z.ZodOptional<z.ZodString>;
|
|
15
22
|
maxTurns: z.ZodDefault<z.ZodNumber>;
|
|
@@ -17,8 +24,18 @@ declare const configSchema: z.ZodObject<{
|
|
|
17
24
|
allowDestructive: z.ZodDefault<z.ZodBoolean>;
|
|
18
25
|
verifyCommand: z.ZodDefault<z.ZodString>;
|
|
19
26
|
requireSpecification: z.ZodDefault<z.ZodBoolean>;
|
|
27
|
+
/**
|
|
28
|
+
* Allow-list: only the named tools are available to the agent.
|
|
29
|
+
* When omitted, all tools are available. `deny` takes precedence over `tools`.
|
|
30
|
+
*/
|
|
31
|
+
tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
32
|
+
/**
|
|
33
|
+
* Deny-list: the named tools are blocked even if they appear in `tools`.
|
|
34
|
+
* `deny` always wins — it is a security control, not a preference.
|
|
35
|
+
*/
|
|
36
|
+
deny: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
20
37
|
}, "strip", z.ZodTypeAny, {
|
|
21
|
-
provider: "codex-cli" | "openai-api";
|
|
38
|
+
provider: "codex-cli" | "openai-api" | "anthropic" | "ollama";
|
|
22
39
|
codexPath: string;
|
|
23
40
|
maxTurns: number;
|
|
24
41
|
timeout: number;
|
|
@@ -29,13 +46,21 @@ declare const configSchema: z.ZodObject<{
|
|
|
29
46
|
fast_model?: string | undefined;
|
|
30
47
|
smart_model?: string | undefined;
|
|
31
48
|
apiKey?: string | undefined;
|
|
49
|
+
anthropicApiKey?: string | undefined;
|
|
50
|
+
anthropicMaxTokens?: number | undefined;
|
|
51
|
+
ollamaBaseUrl?: string | undefined;
|
|
32
52
|
systemPrompt?: string | undefined;
|
|
53
|
+
tools?: string[] | undefined;
|
|
54
|
+
deny?: string[] | undefined;
|
|
33
55
|
}, {
|
|
34
|
-
provider?: "codex-cli" | "openai-api" | undefined;
|
|
56
|
+
provider?: "codex-cli" | "openai-api" | "anthropic" | "ollama" | undefined;
|
|
35
57
|
model?: string | undefined;
|
|
36
58
|
fast_model?: string | undefined;
|
|
37
59
|
smart_model?: string | undefined;
|
|
38
60
|
apiKey?: string | undefined;
|
|
61
|
+
anthropicApiKey?: string | undefined;
|
|
62
|
+
anthropicMaxTokens?: number | undefined;
|
|
63
|
+
ollamaBaseUrl?: string | undefined;
|
|
39
64
|
codexPath?: string | undefined;
|
|
40
65
|
systemPrompt?: string | undefined;
|
|
41
66
|
maxTurns?: number | undefined;
|
|
@@ -43,6 +68,8 @@ declare const configSchema: z.ZodObject<{
|
|
|
43
68
|
allowDestructive?: boolean | undefined;
|
|
44
69
|
verifyCommand?: string | undefined;
|
|
45
70
|
requireSpecification?: boolean | undefined;
|
|
71
|
+
tools?: string[] | undefined;
|
|
72
|
+
deny?: string[] | undefined;
|
|
46
73
|
}>;
|
|
47
74
|
export type Config = z.infer<typeof configSchema> & {
|
|
48
75
|
model: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,QAAA,MAAM,YAAY;;IAEhB
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,QAAA,MAAM,YAAY;;IAEhB;;;;;;OAMG;;;;;;IAMH,kFAAkF;;IAElF,2DAA2D;;;;;;;;;IAS3D;;;OAGG;;IAEH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEH,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtE,wBAAsB,UAAU,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAkDnG"}
|
package/dist/src/core/config.js
CHANGED
|
@@ -4,16 +4,23 @@ import { resolve, join } from "node:path";
|
|
|
4
4
|
import { parse as parseYaml } from "yaml";
|
|
5
5
|
import { parse as parseToml } from "@iarna/toml";
|
|
6
6
|
const configSchema = z.object({
|
|
7
|
-
provider: z.enum(["codex-cli", "openai-api"]).default("codex-cli"),
|
|
7
|
+
provider: z.enum(["codex-cli", "openai-api", "anthropic", "ollama"]).default("codex-cli"),
|
|
8
8
|
/**
|
|
9
9
|
* Model to use. For codex-cli provider, defaults to whatever is in
|
|
10
10
|
* ~/.codex/config.toml so the user's existing Codex setup is respected.
|
|
11
11
|
* For openai-api, defaults to "gpt-4o".
|
|
12
|
+
* For anthropic, defaults to "claude-3-5-sonnet-20241022".
|
|
13
|
+
* For ollama, defaults to "llama3.1:8b" (user must have it pulled).
|
|
12
14
|
*/
|
|
13
15
|
model: z.string().optional(),
|
|
14
16
|
fast_model: z.string().optional(),
|
|
15
17
|
smart_model: z.string().optional(),
|
|
16
18
|
apiKey: z.string().optional(),
|
|
19
|
+
anthropicApiKey: z.string().optional(),
|
|
20
|
+
/** Anthropic max_tokens (default 8192; raise for models with higher ceilings). */
|
|
21
|
+
anthropicMaxTokens: z.number().int().min(1).optional(),
|
|
22
|
+
/** Ollama base URL (default http://localhost:11434/v1). */
|
|
23
|
+
ollamaBaseUrl: z.string().optional(),
|
|
17
24
|
codexPath: z.string().default("codex"),
|
|
18
25
|
systemPrompt: z.string().optional(),
|
|
19
26
|
maxTurns: z.number().default(50),
|
|
@@ -21,6 +28,16 @@ const configSchema = z.object({
|
|
|
21
28
|
allowDestructive: z.boolean().default(false),
|
|
22
29
|
verifyCommand: z.string().default("npm test"),
|
|
23
30
|
requireSpecification: z.boolean().default(false),
|
|
31
|
+
/**
|
|
32
|
+
* Allow-list: only the named tools are available to the agent.
|
|
33
|
+
* When omitted, all tools are available. `deny` takes precedence over `tools`.
|
|
34
|
+
*/
|
|
35
|
+
tools: z.array(z.string()).optional(),
|
|
36
|
+
/**
|
|
37
|
+
* Deny-list: the named tools are blocked even if they appear in `tools`.
|
|
38
|
+
* `deny` always wins — it is a security control, not a preference.
|
|
39
|
+
*/
|
|
40
|
+
deny: z.array(z.string()).optional(),
|
|
24
41
|
});
|
|
25
42
|
export async function loadConfig(overrides) {
|
|
26
43
|
let fileConfig = {};
|
|
@@ -54,6 +71,8 @@ export async function loadConfig(overrides) {
|
|
|
54
71
|
const envConfig = {};
|
|
55
72
|
if (process.env.OPENAI_API_KEY)
|
|
56
73
|
envConfig.apiKey = process.env.OPENAI_API_KEY;
|
|
74
|
+
if (process.env.ANTHROPIC_API_KEY)
|
|
75
|
+
envConfig.anthropicApiKey = process.env.ANTHROPIC_API_KEY;
|
|
57
76
|
if (process.env.PHASE2S_PROVIDER)
|
|
58
77
|
envConfig.provider = process.env.PHASE2S_PROVIDER;
|
|
59
78
|
if (process.env.PHASE2S_MODEL)
|
|
@@ -98,6 +117,10 @@ async function resolveDefaultModel(provider) {
|
|
|
98
117
|
}
|
|
99
118
|
return "gpt-4o"; // safe fallback for ChatGPT subscriptions
|
|
100
119
|
}
|
|
101
|
-
|
|
120
|
+
if (provider === "anthropic")
|
|
121
|
+
return "claude-3-5-sonnet-20241022";
|
|
122
|
+
if (provider === "ollama")
|
|
123
|
+
return "llama3.1:8b"; // user must have this model pulled
|
|
124
|
+
return "gpt-4o"; // openai-api default
|
|
102
125
|
}
|
|
103
126
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/core/config.ts"],"names":[],"mappings":"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"}
|
package/dist/src/mcp/server.d.ts
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { Conversation } from "../core/conversation.js";
|
|
15
15
|
import type { Skill } from "../skills/types.js";
|
|
16
|
-
export declare const MCP_SERVER_VERSION = "0.
|
|
16
|
+
export declare const MCP_SERVER_VERSION = "0.18.0";
|
|
17
17
|
interface JSONRPCRequest {
|
|
18
18
|
jsonrpc: "2.0";
|
|
19
19
|
id: number | string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAM3C,UAAU,cAAc;IACtB,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,eAAe;IACvB,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAMD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAqCjD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE5D;AAMD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,eAAe,CAInF;AAMD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,EACnC,MAAM,EAAE,MAAM,IAAI,GACjB,IAAI,CAsBN;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,KAAK,EAAE,EACf,GAAG,EAAE,MAAM,EACX,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAC/C,OAAO,CAAC,eAAe,CAAC,CA2G1B;AAMD;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoF7D"}
|
package/dist/src/mcp/server.js
CHANGED
|
@@ -16,8 +16,9 @@ import { watch } from "node:fs";
|
|
|
16
16
|
import { loadSkillsFromDir } from "../skills/loader.js";
|
|
17
17
|
import { loadConfig } from "../core/config.js";
|
|
18
18
|
import { Agent } from "../core/agent.js";
|
|
19
|
+
import { substituteInputs } from "../skills/template.js";
|
|
19
20
|
import { join } from "node:path";
|
|
20
|
-
export const MCP_SERVER_VERSION = "0.
|
|
21
|
+
export const MCP_SERVER_VERSION = "0.18.0";
|
|
21
22
|
// ---------------------------------------------------------------------------
|
|
22
23
|
// Tool generation
|
|
23
24
|
// ---------------------------------------------------------------------------
|
|
@@ -29,17 +30,37 @@ export const MCP_SERVER_VERSION = "0.15.0";
|
|
|
29
30
|
* "consensus-plan" → "phase2s__consensus_plan"
|
|
30
31
|
*/
|
|
31
32
|
export function skillToTool(skill) {
|
|
33
|
+
const properties = {
|
|
34
|
+
prompt: {
|
|
35
|
+
type: "string",
|
|
36
|
+
description: `Task or content for the ${skill.name} skill. Paste the text you want analyzed or acted on.`,
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
// Add declared inputs as named optional parameters with typed JSON Schema.
|
|
40
|
+
// Claude Code will fill these in before calling the tool.
|
|
41
|
+
if (skill.inputs) {
|
|
42
|
+
for (const [key, input] of Object.entries(skill.inputs)) {
|
|
43
|
+
switch (input.type) {
|
|
44
|
+
case "boolean":
|
|
45
|
+
properties[key] = { type: "boolean", description: input.prompt };
|
|
46
|
+
break;
|
|
47
|
+
case "number":
|
|
48
|
+
properties[key] = { type: "number", description: input.prompt };
|
|
49
|
+
break;
|
|
50
|
+
case "enum":
|
|
51
|
+
properties[key] = { type: "string", enum: input.enum, description: input.prompt };
|
|
52
|
+
break;
|
|
53
|
+
default:
|
|
54
|
+
properties[key] = { type: "string", description: input.prompt };
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
32
58
|
return {
|
|
33
59
|
name: `phase2s__${skill.name.replace(/-/g, "_")}`,
|
|
34
60
|
description: skill.description || `Run the ${skill.name} skill`,
|
|
35
61
|
inputSchema: {
|
|
36
62
|
type: "object",
|
|
37
|
-
properties
|
|
38
|
-
prompt: {
|
|
39
|
-
type: "string",
|
|
40
|
-
description: `Task or content for the ${skill.name} skill. Paste the text you want analyzed or acted on.`,
|
|
41
|
-
},
|
|
42
|
-
},
|
|
63
|
+
properties,
|
|
43
64
|
required: ["prompt"],
|
|
44
65
|
},
|
|
45
66
|
};
|
|
@@ -157,8 +178,21 @@ export async function handleRequest(request, skills, cwd, sessionConversations)
|
|
|
157
178
|
};
|
|
158
179
|
}
|
|
159
180
|
const userPrompt = params?.arguments?.prompt ?? "";
|
|
160
|
-
//
|
|
161
|
-
|
|
181
|
+
// Extract declared input values from tool call arguments and substitute
|
|
182
|
+
// them into the template. Unknown {{tokens}} pass through unchanged.
|
|
183
|
+
const inputValues = {};
|
|
184
|
+
if (skill.inputs) {
|
|
185
|
+
const args = params?.arguments;
|
|
186
|
+
for (const key of Object.keys(skill.inputs)) {
|
|
187
|
+
if (args && args[key] !== undefined && args[key] !== null) {
|
|
188
|
+
// Stringify all input types before substitution — boolean, number, enum all become strings
|
|
189
|
+
inputValues[key] = String(args[key]);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
const substitutedTemplate = substituteInputs(skill.promptTemplate, inputValues, skill.inputs);
|
|
194
|
+
// Prepend the (substituted) skill prompt to the user's content
|
|
195
|
+
const fullPrompt = substitutedTemplate + (userPrompt ? `\n\n## Input\n\n${userPrompt}` : "");
|
|
162
196
|
try {
|
|
163
197
|
const config = await loadConfig();
|
|
164
198
|
// Session persistence: look up an existing Conversation for this skill.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAwC3C,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,KAAY;IACtC,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import Anthropic from "@anthropic-ai/sdk";
|
|
2
|
+
import type { Config } from "../core/config.js";
|
|
3
|
+
import type { Provider, Message, ProviderEvent, ChatStreamOptions } from "./types.js";
|
|
4
|
+
import type { OpenAIFunctionDef } from "../tools/types.js";
|
|
5
|
+
/**
|
|
6
|
+
* Anthropic message format used internally for the API call.
|
|
7
|
+
* Exported for testing translateMessages() directly.
|
|
8
|
+
*/
|
|
9
|
+
export type AnthropicMessage = {
|
|
10
|
+
role: "user";
|
|
11
|
+
content: string | AnthropicContentBlock[];
|
|
12
|
+
} | {
|
|
13
|
+
role: "assistant";
|
|
14
|
+
content: string | AnthropicContentBlock[];
|
|
15
|
+
};
|
|
16
|
+
type AnthropicContentBlock = {
|
|
17
|
+
type: "text";
|
|
18
|
+
text: string;
|
|
19
|
+
} | {
|
|
20
|
+
type: "tool_use";
|
|
21
|
+
id: string;
|
|
22
|
+
name: string;
|
|
23
|
+
input: unknown;
|
|
24
|
+
} | {
|
|
25
|
+
type: "tool_result";
|
|
26
|
+
tool_use_id: string;
|
|
27
|
+
content: string;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Translate Phase2S Message[] into Anthropic's message format.
|
|
31
|
+
*
|
|
32
|
+
* Key differences from OpenAI:
|
|
33
|
+
* - System messages are extracted to a top-level `system` param (not in messages array)
|
|
34
|
+
* - No `tool` role — tool results are `tool_result` content blocks inside a `user` message
|
|
35
|
+
* - Consecutive tool results fold into a single synthetic user message (one turn = one message)
|
|
36
|
+
* - Assistant messages with tool calls become `tool_use` content blocks
|
|
37
|
+
*
|
|
38
|
+
* Message flow:
|
|
39
|
+
*
|
|
40
|
+
* Phase2S role → Anthropic format
|
|
41
|
+
* ─────────────────────────────────────────────────────────────────
|
|
42
|
+
* "system" → (extracted — call getSystemPrompt() separately)
|
|
43
|
+
* "user" → { role: "user", content: string }
|
|
44
|
+
* "assistant" → { role: "assistant", content: string }
|
|
45
|
+
* "assistant" + tc → { role: "assistant", content: [text_block, ...tool_use blocks] }
|
|
46
|
+
* "tool" → fold into { role: "user", content: [tool_result, ...] }
|
|
47
|
+
* consecutive tools → fold into SAME synthetic user message (multi-tool turn)
|
|
48
|
+
*
|
|
49
|
+
* Exported for direct unit testing.
|
|
50
|
+
*/
|
|
51
|
+
export declare function translateMessages(messages: Message[]): AnthropicMessage[];
|
|
52
|
+
/**
|
|
53
|
+
* Anthropic provider — implements Provider using @anthropic-ai/sdk.
|
|
54
|
+
*
|
|
55
|
+
* Streaming event translation (SDK 0.39):
|
|
56
|
+
* content_block_start (tool_use) → begin accumulating tool call by index
|
|
57
|
+
* content_block_delta (text) → yield { type: "text" }
|
|
58
|
+
* content_block_delta (json) → append to tool arguments string
|
|
59
|
+
* content_block_stop → no emission (all tools flushed at message_stop)
|
|
60
|
+
* message_delta (stop_reason) → capture stop reason
|
|
61
|
+
* message_stop → flush all tool calls, yield { type: "done" }
|
|
62
|
+
*
|
|
63
|
+
* Tool calls are flushed at message_stop (not content_block_stop) to avoid partial
|
|
64
|
+
* emission in multi-tool turns where each tool fires its own content_block_stop.
|
|
65
|
+
*/
|
|
66
|
+
export declare class AnthropicProvider implements Provider {
|
|
67
|
+
name: string;
|
|
68
|
+
private client;
|
|
69
|
+
private model;
|
|
70
|
+
private maxTokens;
|
|
71
|
+
constructor(config: Config, client?: Anthropic);
|
|
72
|
+
chatStream(messages: Message[], tools: OpenAIFunctionDef[], options?: ChatStreamOptions): AsyncIterable<ProviderEvent>;
|
|
73
|
+
}
|
|
74
|
+
export {};
|
|
75
|
+
//# sourceMappingURL=anthropic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAY,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAChG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3D;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,EAAE,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,EAAE,CAAA;CAAE,CAAC;AAErE,KAAK,qBAAqB,GACtB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAgEzE;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,iBAAkB,YAAW,QAAQ;IAChD,IAAI,SAAe;IACnB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS;IAavC,UAAU,CACf,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,iBAAiB,EAAE,EAC1B,OAAO,CAAC,EAAE,iBAAiB,GAC1B,aAAa,CAAC,aAAa,CAAC;CA6EhC"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import Anthropic from "@anthropic-ai/sdk";
|
|
2
|
+
import { log } from "../utils/logger.js";
|
|
3
|
+
/**
|
|
4
|
+
* Translate Phase2S Message[] into Anthropic's message format.
|
|
5
|
+
*
|
|
6
|
+
* Key differences from OpenAI:
|
|
7
|
+
* - System messages are extracted to a top-level `system` param (not in messages array)
|
|
8
|
+
* - No `tool` role — tool results are `tool_result` content blocks inside a `user` message
|
|
9
|
+
* - Consecutive tool results fold into a single synthetic user message (one turn = one message)
|
|
10
|
+
* - Assistant messages with tool calls become `tool_use` content blocks
|
|
11
|
+
*
|
|
12
|
+
* Message flow:
|
|
13
|
+
*
|
|
14
|
+
* Phase2S role → Anthropic format
|
|
15
|
+
* ─────────────────────────────────────────────────────────────────
|
|
16
|
+
* "system" → (extracted — call getSystemPrompt() separately)
|
|
17
|
+
* "user" → { role: "user", content: string }
|
|
18
|
+
* "assistant" → { role: "assistant", content: string }
|
|
19
|
+
* "assistant" + tc → { role: "assistant", content: [text_block, ...tool_use blocks] }
|
|
20
|
+
* "tool" → fold into { role: "user", content: [tool_result, ...] }
|
|
21
|
+
* consecutive tools → fold into SAME synthetic user message (multi-tool turn)
|
|
22
|
+
*
|
|
23
|
+
* Exported for direct unit testing.
|
|
24
|
+
*/
|
|
25
|
+
export function translateMessages(messages) {
|
|
26
|
+
const result = [];
|
|
27
|
+
const systemCount = messages.filter((m) => m.role === "system").length;
|
|
28
|
+
if (systemCount > 1) {
|
|
29
|
+
log.warn(`translateMessages: ${systemCount} system messages found — only the first will be used. Anthropic takes a single system param.`);
|
|
30
|
+
}
|
|
31
|
+
for (const msg of messages) {
|
|
32
|
+
if (msg.role === "system") {
|
|
33
|
+
// System messages are handled separately — skip here
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
if (msg.role === "tool") {
|
|
37
|
+
// Fold consecutive tool results into a single synthetic user message.
|
|
38
|
+
// Anthropic requires all results from one assistant tool-call turn to be
|
|
39
|
+
// in the same user message (no interleaved assistant messages between them).
|
|
40
|
+
const toolResult = {
|
|
41
|
+
type: "tool_result",
|
|
42
|
+
tool_use_id: msg.toolCallId ?? "",
|
|
43
|
+
content: msg.content,
|
|
44
|
+
};
|
|
45
|
+
const last = result[result.length - 1];
|
|
46
|
+
if (last && last.role === "user" && Array.isArray(last.content) &&
|
|
47
|
+
last.content.length > 0 && last.content[0].type === "tool_result") {
|
|
48
|
+
// Append to existing synthetic user message
|
|
49
|
+
last.content.push(toolResult);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
// Start a new synthetic user message
|
|
53
|
+
result.push({ role: "user", content: [toolResult] });
|
|
54
|
+
}
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
if (msg.role === "assistant" && msg.toolCalls && msg.toolCalls.length > 0) {
|
|
58
|
+
// Assistant turn that called tools: text block + tool_use blocks
|
|
59
|
+
const content = [];
|
|
60
|
+
if (msg.content) {
|
|
61
|
+
content.push({ type: "text", text: msg.content });
|
|
62
|
+
}
|
|
63
|
+
for (const tc of msg.toolCalls) {
|
|
64
|
+
let input = {};
|
|
65
|
+
try {
|
|
66
|
+
input = JSON.parse(tc.arguments);
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
log.warn(`AnthropicProvider: failed to parse tool arguments for '${tc.name}' — sending empty input. Raw: ${tc.arguments}`);
|
|
70
|
+
input = {};
|
|
71
|
+
}
|
|
72
|
+
content.push({ type: "tool_use", id: tc.id, name: tc.name, input });
|
|
73
|
+
}
|
|
74
|
+
result.push({ role: "assistant", content });
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
// Plain user or assistant message
|
|
78
|
+
result.push({
|
|
79
|
+
role: msg.role,
|
|
80
|
+
content: msg.content,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
return result;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Anthropic provider — implements Provider using @anthropic-ai/sdk.
|
|
87
|
+
*
|
|
88
|
+
* Streaming event translation (SDK 0.39):
|
|
89
|
+
* content_block_start (tool_use) → begin accumulating tool call by index
|
|
90
|
+
* content_block_delta (text) → yield { type: "text" }
|
|
91
|
+
* content_block_delta (json) → append to tool arguments string
|
|
92
|
+
* content_block_stop → no emission (all tools flushed at message_stop)
|
|
93
|
+
* message_delta (stop_reason) → capture stop reason
|
|
94
|
+
* message_stop → flush all tool calls, yield { type: "done" }
|
|
95
|
+
*
|
|
96
|
+
* Tool calls are flushed at message_stop (not content_block_stop) to avoid partial
|
|
97
|
+
* emission in multi-tool turns where each tool fires its own content_block_stop.
|
|
98
|
+
*/
|
|
99
|
+
export class AnthropicProvider {
|
|
100
|
+
name = "anthropic";
|
|
101
|
+
client;
|
|
102
|
+
model;
|
|
103
|
+
maxTokens;
|
|
104
|
+
constructor(config, client) {
|
|
105
|
+
const apiKey = config.anthropicApiKey ?? process.env.ANTHROPIC_API_KEY;
|
|
106
|
+
if (!client && !apiKey) {
|
|
107
|
+
throw new Error("Anthropic API key is required. Set ANTHROPIC_API_KEY env var or anthropicApiKey in .phase2s.yaml");
|
|
108
|
+
}
|
|
109
|
+
this.client = client ?? new Anthropic({ apiKey });
|
|
110
|
+
this.model = config.model ?? "claude-3-5-sonnet-20241022";
|
|
111
|
+
this.maxTokens = config.anthropicMaxTokens ?? 8192;
|
|
112
|
+
log.info(`AnthropicProvider: model=${this.model} maxTokens=${this.maxTokens}`);
|
|
113
|
+
}
|
|
114
|
+
async *chatStream(messages, tools, options) {
|
|
115
|
+
const systemMsg = messages.find((m) => m.role === "system");
|
|
116
|
+
const chatMessages = messages.filter((m) => m.role !== "system");
|
|
117
|
+
const anthropicTools = tools.map((t) => ({
|
|
118
|
+
name: t.function.name,
|
|
119
|
+
description: t.function.description ?? "",
|
|
120
|
+
input_schema: {
|
|
121
|
+
type: "object",
|
|
122
|
+
...t.function.parameters,
|
|
123
|
+
},
|
|
124
|
+
}));
|
|
125
|
+
const model = options?.model ?? this.model;
|
|
126
|
+
const stream = this.client.messages.stream({
|
|
127
|
+
model,
|
|
128
|
+
max_tokens: this.maxTokens,
|
|
129
|
+
...(systemMsg ? { system: systemMsg.content } : {}),
|
|
130
|
+
messages: translateMessages(chatMessages),
|
|
131
|
+
...(anthropicTools.length > 0 ? { tools: anthropicTools } : {}),
|
|
132
|
+
});
|
|
133
|
+
// pendingTools accumulates tool call data by content block index.
|
|
134
|
+
// Flushed at message_stop (not content_block_stop) to handle multi-tool turns correctly.
|
|
135
|
+
const pendingTools = new Map();
|
|
136
|
+
let stopReason = "stop";
|
|
137
|
+
let doneEmitted = false;
|
|
138
|
+
try {
|
|
139
|
+
for await (const event of stream) {
|
|
140
|
+
if (event.type === "content_block_start" && event.content_block.type === "tool_use") {
|
|
141
|
+
pendingTools.set(event.index, {
|
|
142
|
+
id: event.content_block.id,
|
|
143
|
+
name: event.content_block.name,
|
|
144
|
+
arguments: "",
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
else if (event.type === "content_block_delta") {
|
|
148
|
+
if (event.delta.type === "input_json_delta") {
|
|
149
|
+
const tool = pendingTools.get(event.index);
|
|
150
|
+
if (tool)
|
|
151
|
+
tool.arguments += event.delta.partial_json;
|
|
152
|
+
}
|
|
153
|
+
else if (event.delta.type === "text_delta") {
|
|
154
|
+
yield { type: "text", content: event.delta.text };
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
else if (event.type === "message_delta") {
|
|
158
|
+
if (event.delta.stop_reason === "tool_use") {
|
|
159
|
+
stopReason = "tool_calls";
|
|
160
|
+
}
|
|
161
|
+
else if (event.delta.stop_reason === "max_tokens") {
|
|
162
|
+
log.warn("Response truncated (stop_reason: max_tokens). Consider raising anthropicMaxTokens.");
|
|
163
|
+
yield { type: "text", content: "\n\n[Note: response was truncated]" };
|
|
164
|
+
stopReason = "length";
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
else if (event.type === "message_stop") {
|
|
168
|
+
// Emit all accumulated tool calls after the full stream — never emit early.
|
|
169
|
+
if (pendingTools.size > 0) {
|
|
170
|
+
yield { type: "tool_calls", calls: [...pendingTools.values()] };
|
|
171
|
+
}
|
|
172
|
+
yield { type: "done", stopReason };
|
|
173
|
+
doneEmitted = true;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
catch (err) {
|
|
178
|
+
const errMsg = err instanceof Error ? err.message : String(err);
|
|
179
|
+
log.error(`AnthropicProvider: stream error — ${errMsg}`);
|
|
180
|
+
yield { type: "error", error: errMsg };
|
|
181
|
+
yield { type: "done", stopReason: "error" };
|
|
182
|
+
doneEmitted = true;
|
|
183
|
+
}
|
|
184
|
+
finally {
|
|
185
|
+
// Guard against clean EOF without message_stop (SDK version changes, early termination).
|
|
186
|
+
if (!doneEmitted) {
|
|
187
|
+
if (pendingTools.size > 0) {
|
|
188
|
+
yield { type: "tool_calls", calls: [...pendingTools.values()] };
|
|
189
|
+
}
|
|
190
|
+
yield { type: "done", stopReason };
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=anthropic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/providers/anthropic.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAM3C,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAavD;AAED,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC7E,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC"}
|