cyrus-simple-agent-runner 0.0.2

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 @@
1
+ {"version":3,"file":"SimpleClaudeRunner.js","sourceRoot":"","sources":["../src/SimpleClaudeRunner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ import type { SDKMessage } from "@anthropic-ai/claude-agent-sdk";
2
+ /**
3
+ * Error codes for SimpleAgentRunner operations
4
+ */
5
+ export declare enum SimpleAgentErrorCode {
6
+ /** Agent returned a response not in the valid set */
7
+ INVALID_RESPONSE = "INVALID_RESPONSE",
8
+ /** Agent execution timed out */
9
+ TIMEOUT = "TIMEOUT",
10
+ /** Agent failed to produce any response */
11
+ NO_RESPONSE = "NO_RESPONSE",
12
+ /** Agent session encountered an error */
13
+ SESSION_ERROR = "SESSION_ERROR",
14
+ /** Configuration is invalid */
15
+ INVALID_CONFIG = "INVALID_CONFIG",
16
+ /** Agent was aborted */
17
+ ABORTED = "ABORTED",
18
+ /** Agent exceeded maximum turns without response */
19
+ MAX_TURNS_EXCEEDED = "MAX_TURNS_EXCEEDED"
20
+ }
21
+ /**
22
+ * Base error class for SimpleAgentRunner errors
23
+ */
24
+ export declare class SimpleAgentError extends Error {
25
+ readonly code: SimpleAgentErrorCode;
26
+ readonly details?: Record<string, unknown> | undefined;
27
+ constructor(code: SimpleAgentErrorCode, message: string, details?: Record<string, unknown> | undefined);
28
+ /**
29
+ * Create a formatted error message with details
30
+ */
31
+ toDetailedString(): string;
32
+ }
33
+ /**
34
+ * Error thrown when agent returns an invalid response
35
+ */
36
+ export declare class InvalidResponseError extends SimpleAgentError {
37
+ readonly receivedResponse: string;
38
+ readonly validResponses: readonly string[];
39
+ constructor(receivedResponse: string, validResponses: readonly string[]);
40
+ }
41
+ /**
42
+ * Error thrown when agent execution times out
43
+ */
44
+ export declare class TimeoutError extends SimpleAgentError {
45
+ readonly timeoutMs: number;
46
+ readonly partialMessages?: SDKMessage[] | undefined;
47
+ constructor(timeoutMs: number, partialMessages?: SDKMessage[] | undefined);
48
+ }
49
+ /**
50
+ * Error thrown when agent produces no response
51
+ */
52
+ export declare class NoResponseError extends SimpleAgentError {
53
+ readonly messages: SDKMessage[];
54
+ constructor(messages: SDKMessage[]);
55
+ }
56
+ /**
57
+ * Error thrown when max turns exceeded
58
+ */
59
+ export declare class MaxTurnsExceededError extends SimpleAgentError {
60
+ readonly maxTurns: number;
61
+ readonly messages: SDKMessage[];
62
+ constructor(maxTurns: number, messages: SDKMessage[]);
63
+ }
64
+ /**
65
+ * Error thrown when session encounters an error
66
+ */
67
+ export declare class SessionError extends SimpleAgentError {
68
+ readonly cause: Error;
69
+ readonly messages?: SDKMessage[] | undefined;
70
+ constructor(cause: Error, messages?: SDKMessage[] | undefined);
71
+ }
72
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAEjE;;GAEG;AACH,oBAAY,oBAAoB;IAC/B,qDAAqD;IACrD,gBAAgB,qBAAqB;IAErC,gCAAgC;IAChC,OAAO,YAAY;IAEnB,2CAA2C;IAC3C,WAAW,gBAAgB;IAE3B,yCAAyC;IACzC,aAAa,kBAAkB;IAE/B,+BAA+B;IAC/B,cAAc,mBAAmB;IAEjC,wBAAwB;IACxB,OAAO,YAAY;IAEnB,oDAAoD;IACpD,kBAAkB,uBAAuB;CACzC;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;aAEzB,IAAI,EAAE,oBAAoB;aAE1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjC,IAAI,EAAE,oBAAoB,EAC1C,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;IAWlD;;OAEG;IACH,gBAAgB,IAAI,MAAM;CAO1B;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,gBAAgB;aAExC,gBAAgB,EAAE,MAAM;aACxB,cAAc,EAAE,SAAS,MAAM,EAAE;gBADjC,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,SAAS,MAAM,EAAE;CASlD;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,gBAAgB;aAEhC,SAAS,EAAE,MAAM;aACjB,eAAe,CAAC,EAAE,UAAU,EAAE;gBAD9B,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,UAAU,EAAE,YAAA;CAS/C;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,gBAAgB;aACxB,QAAQ,EAAE,UAAU,EAAE;gBAAtB,QAAQ,EAAE,UAAU,EAAE;CAQlD;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,gBAAgB;aAEzC,QAAQ,EAAE,MAAM;aAChB,QAAQ,EAAE,UAAU,EAAE;gBADtB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,UAAU,EAAE;CASvC;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,gBAAgB;aAEhC,KAAK,EAAE,KAAK;aACZ,QAAQ,CAAC,EAAE,UAAU,EAAE;gBADvB,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,UAAU,EAAE,YAAA;CASxC"}
package/dist/errors.js ADDED
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Error codes for SimpleAgentRunner operations
3
+ */
4
+ export var SimpleAgentErrorCode;
5
+ (function (SimpleAgentErrorCode) {
6
+ /** Agent returned a response not in the valid set */
7
+ SimpleAgentErrorCode["INVALID_RESPONSE"] = "INVALID_RESPONSE";
8
+ /** Agent execution timed out */
9
+ SimpleAgentErrorCode["TIMEOUT"] = "TIMEOUT";
10
+ /** Agent failed to produce any response */
11
+ SimpleAgentErrorCode["NO_RESPONSE"] = "NO_RESPONSE";
12
+ /** Agent session encountered an error */
13
+ SimpleAgentErrorCode["SESSION_ERROR"] = "SESSION_ERROR";
14
+ /** Configuration is invalid */
15
+ SimpleAgentErrorCode["INVALID_CONFIG"] = "INVALID_CONFIG";
16
+ /** Agent was aborted */
17
+ SimpleAgentErrorCode["ABORTED"] = "ABORTED";
18
+ /** Agent exceeded maximum turns without response */
19
+ SimpleAgentErrorCode["MAX_TURNS_EXCEEDED"] = "MAX_TURNS_EXCEEDED";
20
+ })(SimpleAgentErrorCode || (SimpleAgentErrorCode = {}));
21
+ /**
22
+ * Base error class for SimpleAgentRunner errors
23
+ */
24
+ export class SimpleAgentError extends Error {
25
+ code;
26
+ details;
27
+ constructor(code, message, details) {
28
+ super(message);
29
+ this.code = code;
30
+ this.details = details;
31
+ this.name = "SimpleAgentError";
32
+ // Maintain proper stack trace in V8
33
+ if (Error.captureStackTrace) {
34
+ Error.captureStackTrace(this, SimpleAgentError);
35
+ }
36
+ }
37
+ /**
38
+ * Create a formatted error message with details
39
+ */
40
+ toDetailedString() {
41
+ let msg = `${this.name} [${this.code}]: ${this.message}`;
42
+ if (this.details && Object.keys(this.details).length > 0) {
43
+ msg += `\nDetails: ${JSON.stringify(this.details, null, 2)}`;
44
+ }
45
+ return msg;
46
+ }
47
+ }
48
+ /**
49
+ * Error thrown when agent returns an invalid response
50
+ */
51
+ export class InvalidResponseError extends SimpleAgentError {
52
+ receivedResponse;
53
+ validResponses;
54
+ constructor(receivedResponse, validResponses) {
55
+ super(SimpleAgentErrorCode.INVALID_RESPONSE, `Agent returned invalid response: "${receivedResponse}". Valid responses: [${validResponses.join(", ")}]`, { receivedResponse, validResponses });
56
+ this.receivedResponse = receivedResponse;
57
+ this.validResponses = validResponses;
58
+ this.name = "InvalidResponseError";
59
+ }
60
+ }
61
+ /**
62
+ * Error thrown when agent execution times out
63
+ */
64
+ export class TimeoutError extends SimpleAgentError {
65
+ timeoutMs;
66
+ partialMessages;
67
+ constructor(timeoutMs, partialMessages) {
68
+ super(SimpleAgentErrorCode.TIMEOUT, `Agent execution timed out after ${timeoutMs}ms`, { timeoutMs, messageCount: partialMessages?.length });
69
+ this.timeoutMs = timeoutMs;
70
+ this.partialMessages = partialMessages;
71
+ this.name = "TimeoutError";
72
+ }
73
+ }
74
+ /**
75
+ * Error thrown when agent produces no response
76
+ */
77
+ export class NoResponseError extends SimpleAgentError {
78
+ messages;
79
+ constructor(messages) {
80
+ super(SimpleAgentErrorCode.NO_RESPONSE, "Agent completed without producing a valid response", { messageCount: messages.length });
81
+ this.messages = messages;
82
+ this.name = "NoResponseError";
83
+ }
84
+ }
85
+ /**
86
+ * Error thrown when max turns exceeded
87
+ */
88
+ export class MaxTurnsExceededError extends SimpleAgentError {
89
+ maxTurns;
90
+ messages;
91
+ constructor(maxTurns, messages) {
92
+ super(SimpleAgentErrorCode.MAX_TURNS_EXCEEDED, `Agent exceeded maximum turns (${maxTurns}) without valid response`, { maxTurns, messageCount: messages.length });
93
+ this.maxTurns = maxTurns;
94
+ this.messages = messages;
95
+ this.name = "MaxTurnsExceededError";
96
+ }
97
+ }
98
+ /**
99
+ * Error thrown when session encounters an error
100
+ */
101
+ export class SessionError extends SimpleAgentError {
102
+ cause;
103
+ messages;
104
+ constructor(cause, messages) {
105
+ super(SimpleAgentErrorCode.SESSION_ERROR, `Agent session error: ${cause.message}`, { cause: cause.message, stack: cause.stack });
106
+ this.cause = cause;
107
+ this.messages = messages;
108
+ this.name = "SessionError";
109
+ }
110
+ }
111
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export { InvalidResponseError, MaxTurnsExceededError, NoResponseError, SessionError, SimpleAgentError, SimpleAgentErrorCode, TimeoutError, } from "./errors.js";
2
+ export { SimpleAgentRunner } from "./SimpleAgentRunner.js";
3
+ export { SimpleClaudeRunner } from "./SimpleClaudeRunner.js";
4
+ export type { AgentProgressEvent, SimpleAgentQueryOptions, SimpleAgentResult, SimpleAgentRunnerConfig, } from "./types.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACN,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,YAAY,EACX,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,uBAAuB,GACvB,MAAM,YAAY,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ // Core classes
2
+ // Errors
3
+ export { InvalidResponseError, MaxTurnsExceededError, NoResponseError, SessionError, SimpleAgentError, SimpleAgentErrorCode, TimeoutError, } from "./errors.js";
4
+ export { SimpleAgentRunner } from "./SimpleAgentRunner.js";
5
+ export { SimpleClaudeRunner } from "./SimpleClaudeRunner.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AAEf,SAAS;AACT,OAAO,EACN,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,71 @@
1
+ import type { SDKMessage } from "@anthropic-ai/claude-agent-sdk";
2
+ /**
3
+ * Configuration for SimpleAgentRunner
4
+ */
5
+ export interface SimpleAgentRunnerConfig<T extends string> {
6
+ /** Valid response options that the agent must choose from */
7
+ validResponses: readonly T[];
8
+ /** System prompt to guide the agent's behavior */
9
+ systemPrompt?: string;
10
+ /** Maximum number of turns before timeout */
11
+ maxTurns?: number;
12
+ /** Timeout in milliseconds for the entire operation */
13
+ timeoutMs?: number;
14
+ /** Model to use (e.g., "sonnet", "haiku") */
15
+ model?: string;
16
+ /** Fallback model if primary is unavailable */
17
+ fallbackModel?: string;
18
+ /** Working directory for agent execution */
19
+ workingDirectory?: string;
20
+ /** Cyrus home directory */
21
+ cyrusHome: string;
22
+ /** Optional callback for progress events */
23
+ onProgress?: (event: AgentProgressEvent) => void;
24
+ }
25
+ /**
26
+ * Result returned from a successful agent execution
27
+ */
28
+ export interface SimpleAgentResult<T extends string> {
29
+ /** The validated response from the agent */
30
+ response: T;
31
+ /** All SDK messages from the session */
32
+ messages: SDKMessage[];
33
+ /** Session ID for debugging/logging */
34
+ sessionId: string | null;
35
+ /** Duration of execution in milliseconds */
36
+ durationMs: number;
37
+ /** Cost in USD (if available) */
38
+ costUSD?: number;
39
+ }
40
+ /**
41
+ * Progress events emitted during execution
42
+ */
43
+ export type AgentProgressEvent = {
44
+ type: "started";
45
+ sessionId: string | null;
46
+ } | {
47
+ type: "thinking";
48
+ text: string;
49
+ } | {
50
+ type: "tool-use";
51
+ toolName: string;
52
+ input: unknown;
53
+ } | {
54
+ type: "response-detected";
55
+ candidateResponse: string;
56
+ } | {
57
+ type: "validating";
58
+ response: string;
59
+ };
60
+ /**
61
+ * Options for the query method
62
+ */
63
+ export interface SimpleAgentQueryOptions {
64
+ /** Additional context to provide to the agent */
65
+ context?: string;
66
+ /** Allow the agent to use file reading tools */
67
+ allowFileReading?: boolean;
68
+ /** Allowed directories for file operations */
69
+ allowedDirectories?: string[];
70
+ }
71
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,MAAM;IACxD,6DAA6D;IAC7D,cAAc,EAAE,SAAS,CAAC,EAAE,CAAC;IAE7B,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,4CAA4C;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAElB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACjD;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM;IAClD,4CAA4C;IAC5C,QAAQ,EAAE,CAAC,CAAC;IAEZ,wCAAwC;IACxC,QAAQ,EAAE,UAAU,EAAE,CAAC;IAEvB,uCAAuC;IACvC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;IAEnB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC3B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,gDAAgD;IAChD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "cyrus-simple-agent-runner",
3
+ "version": "0.0.2",
4
+ "description": "Simple agent runner for enumerated responses",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "dependencies": {
12
+ "@anthropic-ai/claude-agent-sdk": "^0.1.11",
13
+ "cyrus-claude-runner": "0.0.31"
14
+ },
15
+ "devDependencies": {
16
+ "@types/node": "^20.0.0",
17
+ "typescript": "^5.3.3",
18
+ "vitest": "^1.1.0"
19
+ },
20
+ "publishConfig": {
21
+ "access": "public"
22
+ },
23
+ "scripts": {
24
+ "build": "tsc",
25
+ "dev": "tsc --watch",
26
+ "test": "vitest",
27
+ "test:run": "vitest run --passWithNoTests",
28
+ "typecheck": "tsc --noEmit"
29
+ }
30
+ }