claude-triggers 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.
@@ -0,0 +1,184 @@
1
+ /**
2
+ * Type definitions for Claude Code trigger/schedule API.
3
+ * Reverse-engineered from claude-code v2.1.81.
4
+ */
5
+ export interface ClaudeCredentials {
6
+ accessToken: string;
7
+ refreshToken: string;
8
+ expiresAt: number;
9
+ scopes?: string[];
10
+ }
11
+ export interface OAuthTokenResponse {
12
+ access_token: string;
13
+ refresh_token: string;
14
+ expires_in: number;
15
+ scope?: string;
16
+ account?: {
17
+ uuid: string;
18
+ email_address: string;
19
+ };
20
+ organization?: {
21
+ uuid: string;
22
+ };
23
+ }
24
+ export interface OrgProfile {
25
+ account: {
26
+ uuid: string;
27
+ full_name?: string;
28
+ display_name?: string;
29
+ email?: string;
30
+ has_claude_max?: boolean;
31
+ has_claude_pro?: boolean;
32
+ created_at?: string;
33
+ };
34
+ organization: {
35
+ uuid: string;
36
+ name?: string;
37
+ organization_type: string;
38
+ billing_type?: string;
39
+ rate_limit_tier?: string;
40
+ has_extra_usage_enabled?: boolean;
41
+ subscription_status?: string;
42
+ subscription_created_at?: string;
43
+ };
44
+ application?: {
45
+ uuid: string;
46
+ name: string;
47
+ slug: string;
48
+ };
49
+ }
50
+ export interface Environment {
51
+ kind: string;
52
+ environment_id: string;
53
+ name: string;
54
+ created_at?: string;
55
+ state?: string;
56
+ config?: unknown;
57
+ bridge_info?: unknown;
58
+ }
59
+ export interface CreateEnvironmentConfig {
60
+ environment_type: string;
61
+ cwd: string;
62
+ init_script: string | null;
63
+ environment: Record<string, string>;
64
+ languages: Array<{
65
+ name: string;
66
+ version: string;
67
+ }>;
68
+ network_config: {
69
+ allowed_hosts: string[];
70
+ allow_default_hosts: boolean;
71
+ };
72
+ }
73
+ export interface TriggerEvent {
74
+ data: {
75
+ uuid: string;
76
+ session_id: string;
77
+ type: "user";
78
+ parent_tool_use_id: null;
79
+ message: {
80
+ content: string;
81
+ role: "user";
82
+ };
83
+ };
84
+ }
85
+ export interface SessionContext {
86
+ model: string;
87
+ sources?: Array<{
88
+ git_repository: {
89
+ url: string;
90
+ };
91
+ }>;
92
+ allowed_tools: string[];
93
+ }
94
+ export interface TriggerJobConfig {
95
+ ccr: {
96
+ environment_id: string;
97
+ session_context: SessionContext;
98
+ events: TriggerEvent[];
99
+ };
100
+ }
101
+ export interface McpConnection {
102
+ connector_uuid: string;
103
+ name: string;
104
+ url: string;
105
+ }
106
+ export interface Trigger {
107
+ id: string;
108
+ name: string;
109
+ cron_expression: string;
110
+ enabled: boolean;
111
+ job_config: TriggerJobConfig;
112
+ mcp_connections: McpConnection[];
113
+ persist_session: boolean;
114
+ creator?: {
115
+ account_uuid: string;
116
+ display_name: string;
117
+ };
118
+ created_at?: string;
119
+ updated_at?: string;
120
+ next_run_at?: string;
121
+ }
122
+ export interface CreateTriggerBody {
123
+ name: string;
124
+ cron_expression: string;
125
+ enabled?: boolean;
126
+ job_config: TriggerJobConfig;
127
+ mcp_connections?: McpConnection[];
128
+ }
129
+ export interface UpdateTriggerBody {
130
+ name?: string;
131
+ cron_expression?: string;
132
+ enabled?: boolean;
133
+ job_config?: TriggerJobConfig;
134
+ mcp_connections?: McpConnection[];
135
+ clear_mcp_connections?: boolean;
136
+ }
137
+ export interface TriggerListResponse {
138
+ data: Trigger[];
139
+ has_more: boolean;
140
+ }
141
+ export interface TriggerResponse {
142
+ trigger: Trigger;
143
+ }
144
+ export interface TriggerRunResponse {
145
+ session_id?: string;
146
+ [key: string]: unknown;
147
+ }
148
+ export interface Session {
149
+ id: string;
150
+ status?: string;
151
+ session_context: SessionContext;
152
+ created_at?: string;
153
+ [key: string]: unknown;
154
+ }
155
+ export interface SessionListResponse {
156
+ data: Session[];
157
+ has_more: boolean;
158
+ }
159
+ export interface ApiResponse<T = unknown> {
160
+ status: number;
161
+ data: T;
162
+ headers?: Record<string, string>;
163
+ }
164
+ export interface ClientOptions {
165
+ /** OAuth access token. If not provided, reads from Claude Code credential store. */
166
+ accessToken?: string;
167
+ /** Organization UUID. If not provided, fetched via profile API. */
168
+ orgUUID?: string;
169
+ /** Base API URL. Defaults to https://api.anthropic.com */
170
+ baseUrl?: string;
171
+ /** Request timeout in ms. Defaults to 20000. */
172
+ timeout?: number;
173
+ /** Max retries on 429/529. Defaults to 3. */
174
+ maxRetries?: number;
175
+ }
176
+ export declare class TriggerApiError extends Error {
177
+ readonly status: number;
178
+ readonly body?: unknown | undefined;
179
+ constructor(message: string, status: number, body?: unknown | undefined);
180
+ }
181
+ export declare class AuthError extends Error {
182
+ constructor(message: string);
183
+ }
184
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Type definitions for Claude Code trigger/schedule API.
3
+ * Reverse-engineered from claude-code v2.1.81.
4
+ */
5
+ // ─── Errors ───
6
+ export class TriggerApiError extends Error {
7
+ status;
8
+ body;
9
+ constructor(message, status, body) {
10
+ super(message);
11
+ this.status = status;
12
+ this.body = body;
13
+ this.name = "TriggerApiError";
14
+ }
15
+ }
16
+ export class AuthError extends Error {
17
+ constructor(message) {
18
+ super(message);
19
+ this.name = "AuthError";
20
+ }
21
+ }
22
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAqMH,iBAAiB;AAEjB,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAGtB;IACA;IAHlB,YACE,OAAe,EACC,MAAc,EACd,IAAc;QAE9B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAU;QAG9B,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF"}
package/package.json ADDED
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "claude-triggers",
3
+ "version": "0.1.0",
4
+ "description": "Manage Claude Code scheduled agents from any harness — create, list, update, and run remote triggers using your Claude Code credentials",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "bin": {
9
+ "claude-triggers": "dist/cli.js"
10
+ },
11
+ "exports": {
12
+ ".": {
13
+ "types": "./dist/index.d.ts",
14
+ "import": "./dist/index.js"
15
+ }
16
+ },
17
+ "files": [
18
+ "dist",
19
+ "SKILL.md",
20
+ "README.md",
21
+ "LICENSE"
22
+ ],
23
+ "scripts": {
24
+ "build": "tsc",
25
+ "dev": "tsx src/cli.ts",
26
+ "test": "node --test --import tsx 'src/**/*.test.ts'",
27
+ "test:e2e": "tsx src/e2e.ts",
28
+ "lint": "tsc --noEmit",
29
+ "prepublishOnly": "pnpm build"
30
+ },
31
+ "keywords": [
32
+ "claude",
33
+ "claude-code",
34
+ "anthropic",
35
+ "triggers",
36
+ "schedule",
37
+ "cron",
38
+ "agents",
39
+ "ccr",
40
+ "remote-agents",
41
+ "pi",
42
+ "opencode"
43
+ ],
44
+ "author": "minzique <hello@minzique.net>",
45
+ "license": "MIT",
46
+ "repository": {
47
+ "type": "git",
48
+ "url": "https://github.com/minzique/claude-triggers.git"
49
+ },
50
+ "engines": {
51
+ "node": ">=20"
52
+ },
53
+ "devDependencies": {
54
+ "@types/node": "^22.0.0",
55
+ "tsx": "^4.19.0",
56
+ "typescript": "^5.7.0"
57
+ }
58
+ }