@scottwalker/claude-connector 0.1.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/LICENSE +21 -0
- package/README.md +444 -0
- package/dist/builder/args-builder.d.ts +64 -0
- package/dist/builder/args-builder.d.ts.map +1 -0
- package/dist/builder/args-builder.js +134 -0
- package/dist/builder/args-builder.js.map +1 -0
- package/dist/builder/index.d.ts +2 -0
- package/dist/builder/index.d.ts.map +1 -0
- package/dist/builder/index.js +2 -0
- package/dist/builder/index.js.map +1 -0
- package/dist/client/claude.d.ts +120 -0
- package/dist/client/claude.d.ts.map +1 -0
- package/dist/client/claude.js +182 -0
- package/dist/client/claude.js.map +1 -0
- package/dist/client/session.d.ts +64 -0
- package/dist/client/session.d.ts.map +1 -0
- package/dist/client/session.js +128 -0
- package/dist/client/session.js.map +1 -0
- package/dist/errors/errors.d.ts +52 -0
- package/dist/errors/errors.d.ts.map +1 -0
- package/dist/errors/errors.js +78 -0
- package/dist/errors/errors.js.map +1 -0
- package/dist/errors/index.d.ts +2 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +2 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/executor/cli-executor.d.ts +35 -0
- package/dist/executor/cli-executor.d.ts.map +1 -0
- package/dist/executor/cli-executor.js +223 -0
- package/dist/executor/cli-executor.js.map +1 -0
- package/dist/executor/index.d.ts +4 -0
- package/dist/executor/index.d.ts.map +1 -0
- package/dist/executor/index.js +3 -0
- package/dist/executor/index.js.map +1 -0
- package/dist/executor/interface.d.ts +65 -0
- package/dist/executor/interface.d.ts.map +1 -0
- package/dist/executor/interface.js +2 -0
- package/dist/executor/interface.js.map +1 -0
- package/dist/executor/sdk-executor.d.ts +102 -0
- package/dist/executor/sdk-executor.d.ts.map +1 -0
- package/dist/executor/sdk-executor.js +256 -0
- package/dist/executor/sdk-executor.js.map +1 -0
- package/dist/index.d.ts +49 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +49 -0
- package/dist/index.js.map +1 -0
- package/dist/parser/index.d.ts +3 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/index.js +3 -0
- package/dist/parser/index.js.map +1 -0
- package/dist/parser/json-parser.d.ts +22 -0
- package/dist/parser/json-parser.d.ts.map +1 -0
- package/dist/parser/json-parser.js +87 -0
- package/dist/parser/json-parser.js.map +1 -0
- package/dist/parser/stream-parser.d.ts +21 -0
- package/dist/parser/stream-parser.d.ts.map +1 -0
- package/dist/parser/stream-parser.js +84 -0
- package/dist/parser/stream-parser.js.map +1 -0
- package/dist/scheduler/index.d.ts +2 -0
- package/dist/scheduler/index.d.ts.map +1 -0
- package/dist/scheduler/index.js +2 -0
- package/dist/scheduler/index.js.map +1 -0
- package/dist/scheduler/scheduler.d.ts +65 -0
- package/dist/scheduler/scheduler.d.ts.map +1 -0
- package/dist/scheduler/scheduler.js +134 -0
- package/dist/scheduler/scheduler.js.map +1 -0
- package/dist/types/client.d.ts +184 -0
- package/dist/types/client.d.ts.map +1 -0
- package/dist/types/client.js +2 -0
- package/dist/types/client.js.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/result.d.ts +94 -0
- package/dist/types/result.d.ts.map +1 -0
- package/dist/types/result.js +2 -0
- package/dist/types/result.js.map +1 -0
- package/dist/types/session.d.ts +37 -0
- package/dist/types/session.d.ts.map +1 -0
- package/dist/types/session.js +2 -0
- package/dist/types/session.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/validation.d.ts +15 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +45 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +62 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ValidationError } from '../errors/errors.js';
|
|
2
|
+
/**
|
|
3
|
+
* Validates client options at construction time.
|
|
4
|
+
* Fails fast with descriptive error messages.
|
|
5
|
+
*/
|
|
6
|
+
export function validateClientOptions(options) {
|
|
7
|
+
if (options.maxTurns !== undefined && (options.maxTurns < 1 || !Number.isInteger(options.maxTurns))) {
|
|
8
|
+
throw new ValidationError('maxTurns', 'must be a positive integer');
|
|
9
|
+
}
|
|
10
|
+
if (options.maxBudget !== undefined && options.maxBudget <= 0) {
|
|
11
|
+
throw new ValidationError('maxBudget', 'must be a positive number');
|
|
12
|
+
}
|
|
13
|
+
if (options.permissionMode !== undefined) {
|
|
14
|
+
const valid = ['default', 'acceptEdits', 'plan', 'dontAsk', 'bypassPermissions'];
|
|
15
|
+
if (!valid.includes(options.permissionMode)) {
|
|
16
|
+
throw new ValidationError('permissionMode', `must be one of: ${valid.join(', ')}`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
if (options.effortLevel !== undefined) {
|
|
20
|
+
const valid = ['low', 'medium', 'high'];
|
|
21
|
+
if (!valid.includes(options.effortLevel)) {
|
|
22
|
+
throw new ValidationError('effortLevel', `must be one of: ${valid.join(', ')}`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Validates per-query options.
|
|
28
|
+
*/
|
|
29
|
+
export function validateQueryOptions(options) {
|
|
30
|
+
if (options.maxTurns !== undefined && (options.maxTurns < 1 || !Number.isInteger(options.maxTurns))) {
|
|
31
|
+
throw new ValidationError('maxTurns', 'must be a positive integer');
|
|
32
|
+
}
|
|
33
|
+
if (options.maxBudget !== undefined && options.maxBudget <= 0) {
|
|
34
|
+
throw new ValidationError('maxBudget', 'must be a positive number');
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Validates that a prompt is non-empty.
|
|
39
|
+
*/
|
|
40
|
+
export function validatePrompt(prompt) {
|
|
41
|
+
if (!prompt || !prompt.trim()) {
|
|
42
|
+
throw new ValidationError('prompt', 'must be a non-empty string');
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAsB;IAC1D,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QACpG,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,4BAA4B,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,eAAe,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;QACjF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,eAAe,CAAC,gBAAgB,EAAE,mBAAmB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,eAAe,CAAC,aAAa,EAAE,mBAAmB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAqB;IACxD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QACpG,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,4BAA4B,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,eAAe,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAC9B,MAAM,IAAI,eAAe,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;IACpE,CAAC;AACH,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@scottwalker/claude-connector",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Programmatic Node.js interface for Claude Code CLI",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist",
|
|
16
|
+
"README.md",
|
|
17
|
+
"LICENSE"
|
|
18
|
+
],
|
|
19
|
+
"scripts": {
|
|
20
|
+
"build": "tsc",
|
|
21
|
+
"dev": "tsc --watch",
|
|
22
|
+
"test": "vitest run",
|
|
23
|
+
"test:watch": "vitest",
|
|
24
|
+
"test:coverage": "vitest run --coverage",
|
|
25
|
+
"lint": "eslint src/",
|
|
26
|
+
"typecheck": "tsc --noEmit",
|
|
27
|
+
"test:integration": "npm run build && cd examples/integration-test && npm install && npx tsx src/index.ts",
|
|
28
|
+
"prepublishOnly": "npm run build"
|
|
29
|
+
},
|
|
30
|
+
"keywords": [
|
|
31
|
+
"claude",
|
|
32
|
+
"claude-code",
|
|
33
|
+
"ai",
|
|
34
|
+
"cli",
|
|
35
|
+
"anthropic",
|
|
36
|
+
"agent"
|
|
37
|
+
],
|
|
38
|
+
"author": "Scott Walker",
|
|
39
|
+
"license": "MIT",
|
|
40
|
+
"repository": {
|
|
41
|
+
"type": "git",
|
|
42
|
+
"url": "git+https://github.com/scott-walker/claude-connector.git"
|
|
43
|
+
},
|
|
44
|
+
"homepage": "https://github.com/scott-walker/claude-connector#readme",
|
|
45
|
+
"bugs": {
|
|
46
|
+
"url": "https://github.com/scott-walker/claude-connector/issues"
|
|
47
|
+
},
|
|
48
|
+
"engines": {
|
|
49
|
+
"node": ">=18.0.0"
|
|
50
|
+
},
|
|
51
|
+
"publishConfig": {
|
|
52
|
+
"access": "public"
|
|
53
|
+
},
|
|
54
|
+
"dependencies": {
|
|
55
|
+
"@anthropic-ai/claude-agent-sdk": "^0.2.72"
|
|
56
|
+
},
|
|
57
|
+
"devDependencies": {
|
|
58
|
+
"@types/node": "^22.0.0",
|
|
59
|
+
"typescript": "^5.7.0",
|
|
60
|
+
"vitest": "^3.0.0"
|
|
61
|
+
}
|
|
62
|
+
}
|