@executioncontrolprotocol/claude 0.10.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.
@@ -0,0 +1,6 @@
1
+ import { type Registry } from "@executioncontrolprotocol/core";
2
+ /** Claude model provider. @category Extensions */
3
+ export declare const claudeExtension: import("@executioncontrolprotocol/core").ExtensionDefinition;
4
+ /** Register Claude extension. @category Extensions */
5
+ export declare function registerClaudeExtension(registry?: Registry): Promise<void>;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,QAAQ,EACd,MAAM,gCAAgC,CAAA;AA+BvC,kDAAkD;AAClD,eAAO,MAAM,eAAe,8DAqBlB,CAAA;AAIV,sDAAsD;AACtD,wBAAsB,uBAAuB,CAAC,QAAQ,GAAE,QAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAIhG"}
package/dist/index.js ADDED
@@ -0,0 +1,54 @@
1
+ import { catalogExtension, capabilityFor, defineExtension, globalRegistry, } from "@executioncontrolprotocol/core";
2
+ import { modelGenerateInputSchema, modelGenerateOutputSchema } from "@executioncontrolprotocol/types";
3
+ import { z } from "zod";
4
+ async function claudeComplete(apiKey, model, prompt, system) {
5
+ const res = await fetch("https://api.anthropic.com/v1/messages", {
6
+ method: "POST",
7
+ headers: {
8
+ "x-api-key": apiKey,
9
+ "anthropic-version": "2023-06-01",
10
+ "content-type": "application/json",
11
+ },
12
+ body: JSON.stringify({
13
+ model,
14
+ max_tokens: 4096,
15
+ system,
16
+ messages: [{ role: "user", content: prompt }],
17
+ }),
18
+ });
19
+ if (!res.ok)
20
+ throw new Error(`Claude API error: ${res.status}`);
21
+ const data = (await res.json());
22
+ return data.content.find((c) => c.type === "text")?.text ?? "";
23
+ }
24
+ /** Claude model provider. @category Extensions */
25
+ export const claudeExtension = defineExtension("@executioncontrolprotocol", "claude")
26
+ .withConfig({
27
+ apiKey: z.string().optional(),
28
+ defaultModel: z.string().optional(),
29
+ })
30
+ .withCapabilities([
31
+ capabilityFor("@executioncontrolprotocol/claude", "generate")
32
+ .withInput(modelGenerateInputSchema)
33
+ .withOutput(modelGenerateOutputSchema)
34
+ .withHandler(async (raw, ctx) => {
35
+ const input = modelGenerateInputSchema.parse(raw);
36
+ const cfg = ctx.extensionConfig ?? {};
37
+ const apiKey = cfg.apiKey ?? "";
38
+ if (!apiKey)
39
+ throw new Error("Claude API key required");
40
+ const model = input.model ?? cfg.defaultModel ?? "claude-3-5-haiku-latest";
41
+ ctx.usage.increment({ modelCalls: 1 });
42
+ const text = await claudeComplete(apiKey, model, input.prompt, input.system);
43
+ return { text };
44
+ }),
45
+ ])
46
+ .build();
47
+ catalogExtension(claudeExtension);
48
+ /** Register Claude extension. @category Extensions */
49
+ export async function registerClaudeExtension(registry = globalRegistry) {
50
+ if (!registry.getExtension("@executioncontrolprotocol/claude")) {
51
+ await registry.registerExtension(claudeExtension);
52
+ }
53
+ }
54
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,cAAc,GAEf,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAA;AACrG,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,KAAK,UAAU,cAAc,CAC3B,MAAc,EACd,KAAa,EACb,MAAc,EACd,MAAe;IAEf,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,uCAAuC,EAAE;QAC/D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,WAAW,EAAE,MAAM;YACnB,mBAAmB,EAAE,YAAY;YACjC,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,KAAK;YACL,UAAU,EAAE,IAAI;YAChB,MAAM;YACN,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;SAC9C,CAAC;KACH,CAAC,CAAA;IACF,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;IAC/D,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAE7B,CAAA;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,IAAI,IAAI,EAAE,CAAA;AAChE,CAAC;AAED,kDAAkD;AAClD,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC,2BAA2B,EAAE,QAAQ,CAAC;KAClF,UAAU,CAAC;IACV,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC;KACD,gBAAgB,CAAC;IAChB,aAAa,CAAC,kCAAkC,EAAE,UAAU,CAAC;SAC1D,SAAS,CAAC,wBAAwB,CAAC;SACnC,UAAU,CAAC,yBAAyB,CAAC;SACrC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC9B,MAAM,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACjD,MAAM,GAAG,GAAI,GAAqD,CAAC,eAAe,IAAI,EAAE,CAAA;QACxF,MAAM,MAAM,GAAI,GAAG,CAAC,MAAiB,IAAI,EAAE,CAAA;QAC3C,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;QACvD,MAAM,KAAK,GACT,KAAK,CAAC,KAAK,IAAK,GAAG,CAAC,YAAuB,IAAI,yBAAyB,CAAA;QAC1E,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAA;QACtC,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QAC5E,OAAO,EAAE,IAAI,EAAE,CAAA;IACjB,CAAC,CAAC;CACL,CAAC;KACD,KAAK,EAAE,CAAA;AAEV,gBAAgB,CAAC,eAAe,CAAC,CAAA;AAEjC,sDAAsD;AACtD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,WAAqB,cAAc;IAC/E,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,kCAAkC,CAAC,EAAE,CAAC;QAC/D,MAAM,QAAQ,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAA;IACnD,CAAC;AACH,CAAC"}
package/package.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "@executioncontrolprotocol/claude",
3
+ "version": "0.10.0",
4
+ "description": "Anthropic Claude provider for ECP",
5
+ "license": "Apache-2.0",
6
+ "type": "module",
7
+ "main": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist",
17
+ "README.md"
18
+ ],
19
+ "scripts": {
20
+ "build": "tsc -b"
21
+ },
22
+ "peerDependencies": {
23
+ "@executioncontrolprotocol/core": "^0.10.0",
24
+ "@executioncontrolprotocol/types": "^0.10.0",
25
+ "zod": "^3.24.0"
26
+ },
27
+ "devDependencies": {
28
+ "@executioncontrolprotocol/core": "0.10.0",
29
+ "@executioncontrolprotocol/types": "0.10.0",
30
+ "typescript": "^5.7.0",
31
+ "zod": "^3.24.0"
32
+ }
33
+ }