@chucky.cloud/cli 0.2.8 → 0.2.9
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/dist/commands/apply.d.ts +7 -0
- package/dist/commands/apply.d.ts.map +1 -0
- package/dist/commands/apply.js +104 -0
- package/dist/commands/apply.js.map +1 -0
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +5 -1
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/delete.js +3 -3
- package/dist/commands/delete.js.map +1 -1
- package/dist/commands/deploy.d.ts +6 -2
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +177 -33
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/diff.d.ts +6 -0
- package/dist/commands/diff.d.ts.map +1 -0
- package/dist/commands/diff.js +101 -0
- package/dist/commands/diff.js.map +1 -0
- package/dist/commands/discard.d.ts +6 -0
- package/dist/commands/discard.d.ts.map +1 -0
- package/dist/commands/discard.js +36 -0
- package/dist/commands/discard.js.map +1 -0
- package/dist/commands/fetch.d.ts +6 -0
- package/dist/commands/fetch.d.ts.map +1 -0
- package/dist/commands/fetch.js +147 -0
- package/dist/commands/fetch.js.map +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +199 -57
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/jobs.d.ts +3 -0
- package/dist/commands/jobs.d.ts.map +1 -0
- package/dist/commands/jobs.js +415 -0
- package/dist/commands/jobs.js.map +1 -0
- package/dist/commands/keys.d.ts.map +1 -1
- package/dist/commands/keys.js +6 -1
- package/dist/commands/keys.js.map +1 -1
- package/dist/commands/log.d.ts +5 -0
- package/dist/commands/log.d.ts.map +1 -0
- package/dist/commands/log.js +69 -0
- package/dist/commands/log.js.map +1 -0
- package/dist/commands/prompt.d.ts +1 -0
- package/dist/commands/prompt.d.ts.map +1 -1
- package/dist/commands/prompt.js +173 -1
- package/dist/commands/prompt.js.map +1 -1
- package/dist/commands/pull.d.ts +7 -0
- package/dist/commands/pull.d.ts.map +1 -0
- package/dist/commands/pull.js +19 -0
- package/dist/commands/pull.js.map +1 -0
- package/dist/commands/sessions.d.ts +7 -0
- package/dist/commands/sessions.d.ts.map +1 -0
- package/dist/commands/sessions.js +57 -0
- package/dist/commands/sessions.js.map +1 -0
- package/dist/commands/wait.d.ts +7 -0
- package/dist/commands/wait.d.ts.map +1 -0
- package/dist/commands/wait.js +91 -0
- package/dist/commands/wait.js.map +1 -0
- package/dist/index.js +79 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/api.d.ts +130 -0
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +99 -0
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/archive.d.ts +5 -1
- package/dist/lib/archive.d.ts.map +1 -1
- package/dist/lib/archive.js +10 -15
- package/dist/lib/archive.js.map +1 -1
- package/dist/lib/config.d.ts +80 -5
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +86 -9
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/git.d.ts +70 -0
- package/dist/lib/git.d.ts.map +1 -0
- package/dist/lib/git.js +232 -0
- package/dist/lib/git.js.map +1 -0
- package/dist/lib/output.d.ts +42 -0
- package/dist/lib/output.d.ts.map +1 -0
- package/dist/lib/output.js +123 -0
- package/dist/lib/output.js.map +1 -0
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/api.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type CronDefinition } from "./config.js";
|
|
1
2
|
export interface Project {
|
|
2
3
|
id: string;
|
|
3
4
|
name: string;
|
|
@@ -18,10 +19,76 @@ export interface UploadUrlInfo {
|
|
|
18
19
|
export interface ValidationResult {
|
|
19
20
|
valid: boolean;
|
|
20
21
|
customer_id?: string;
|
|
22
|
+
clerkId?: string;
|
|
21
23
|
email?: string;
|
|
22
24
|
credit_balance_usd?: number;
|
|
23
25
|
error?: string;
|
|
24
26
|
}
|
|
27
|
+
export interface CronJob {
|
|
28
|
+
_id: string;
|
|
29
|
+
projectId: string;
|
|
30
|
+
cron: string;
|
|
31
|
+
timezone: string;
|
|
32
|
+
enabled: boolean;
|
|
33
|
+
message: string;
|
|
34
|
+
triggerScheduleId?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface SyncCronsResult {
|
|
37
|
+
created: number;
|
|
38
|
+
deleted: number;
|
|
39
|
+
scheduleIds: string[];
|
|
40
|
+
}
|
|
41
|
+
export interface Job {
|
|
42
|
+
id: string;
|
|
43
|
+
status: string;
|
|
44
|
+
taskIdentifier: string;
|
|
45
|
+
createdAt: string;
|
|
46
|
+
updatedAt: string;
|
|
47
|
+
startedAt?: string;
|
|
48
|
+
finishedAt?: string;
|
|
49
|
+
isCompleted: boolean;
|
|
50
|
+
isSuccess: boolean;
|
|
51
|
+
isFailed: boolean;
|
|
52
|
+
output?: unknown;
|
|
53
|
+
error?: {
|
|
54
|
+
message: string;
|
|
55
|
+
name?: string;
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
export interface ListJobsResult {
|
|
59
|
+
jobs: Job[];
|
|
60
|
+
nextCursor?: string;
|
|
61
|
+
hasMore: boolean;
|
|
62
|
+
}
|
|
63
|
+
export interface Session {
|
|
64
|
+
id: string;
|
|
65
|
+
issuer_id: string;
|
|
66
|
+
user_id: string;
|
|
67
|
+
job_id: string | null;
|
|
68
|
+
status: string;
|
|
69
|
+
started_at: string;
|
|
70
|
+
completed_at: string | null;
|
|
71
|
+
duration_ms: number | null;
|
|
72
|
+
total_cost_usd: number | null;
|
|
73
|
+
input_tokens: number | null;
|
|
74
|
+
output_tokens: number | null;
|
|
75
|
+
has_bundle: boolean;
|
|
76
|
+
bundle_has_changes: boolean;
|
|
77
|
+
}
|
|
78
|
+
export interface ListSessionsResult {
|
|
79
|
+
sessions: Session[];
|
|
80
|
+
pagination: {
|
|
81
|
+
limit: number;
|
|
82
|
+
offset: number;
|
|
83
|
+
hasMore: boolean;
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
export interface SessionBundleResult {
|
|
87
|
+
session_id: string;
|
|
88
|
+
download_url: string;
|
|
89
|
+
has_changes: boolean;
|
|
90
|
+
expires_in: number;
|
|
91
|
+
}
|
|
25
92
|
/**
|
|
26
93
|
* API client for the Chucky portal
|
|
27
94
|
*/
|
|
@@ -72,5 +139,68 @@ export declare class ChuckyApi {
|
|
|
72
139
|
hasWorkspace: boolean;
|
|
73
140
|
projectId: string;
|
|
74
141
|
}>;
|
|
142
|
+
/**
|
|
143
|
+
* List cron jobs for a project
|
|
144
|
+
*/
|
|
145
|
+
listCronJobs(projectId: string): Promise<CronJob[]>;
|
|
146
|
+
/**
|
|
147
|
+
* Sync cron jobs for a project (delete all + recreate)
|
|
148
|
+
*/
|
|
149
|
+
syncCrons(projectId: string, crons: CronDefinition[]): Promise<SyncCronsResult>;
|
|
150
|
+
/**
|
|
151
|
+
* List jobs (Trigger.dev runs)
|
|
152
|
+
*/
|
|
153
|
+
listJobs(options?: {
|
|
154
|
+
status?: string;
|
|
155
|
+
size?: number;
|
|
156
|
+
cursor?: string;
|
|
157
|
+
}): Promise<ListJobsResult>;
|
|
158
|
+
/**
|
|
159
|
+
* Get a specific job
|
|
160
|
+
*/
|
|
161
|
+
getJob(jobId: string): Promise<{
|
|
162
|
+
job: Job;
|
|
163
|
+
}>;
|
|
164
|
+
/**
|
|
165
|
+
* Cancel a job
|
|
166
|
+
*/
|
|
167
|
+
cancelJob(jobId: string): Promise<{
|
|
168
|
+
success: boolean;
|
|
169
|
+
}>;
|
|
170
|
+
/**
|
|
171
|
+
* Get bundle download URL for a job
|
|
172
|
+
*/
|
|
173
|
+
getJobBundle(jobId: string): Promise<{
|
|
174
|
+
downloadUrl: string;
|
|
175
|
+
hasChanges: boolean;
|
|
176
|
+
}>;
|
|
177
|
+
/**
|
|
178
|
+
* List sessions
|
|
179
|
+
*/
|
|
180
|
+
listSessions(options?: {
|
|
181
|
+
limit?: number;
|
|
182
|
+
offset?: number;
|
|
183
|
+
withBundle?: boolean;
|
|
184
|
+
userId?: string;
|
|
185
|
+
jobId?: string;
|
|
186
|
+
projectId?: string;
|
|
187
|
+
}): Promise<ListSessionsResult>;
|
|
188
|
+
/**
|
|
189
|
+
* Get a specific session
|
|
190
|
+
*/
|
|
191
|
+
getSession(sessionId: string): Promise<Session>;
|
|
192
|
+
/**
|
|
193
|
+
* Get bundle download URL for a session
|
|
194
|
+
*/
|
|
195
|
+
getSessionBundle(sessionId: string): Promise<SessionBundleResult>;
|
|
196
|
+
/**
|
|
197
|
+
* Resolve a partial session ID to the full UUID
|
|
198
|
+
* Supports prefix matching like git commit hashes
|
|
199
|
+
*/
|
|
200
|
+
resolveSessionId(partialId: string, projectId?: string): Promise<string>;
|
|
75
201
|
}
|
|
202
|
+
/**
|
|
203
|
+
* Detect if an ID is a job ID (prefixed with run_) or a session ID
|
|
204
|
+
*/
|
|
205
|
+
export declare function isJobId(id: string): boolean;
|
|
76
206
|
//# sourceMappingURL=api.d.ts.map
|
package/dist/lib/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/api.js
CHANGED
|
@@ -91,5 +91,104 @@ export class ChuckyApi {
|
|
|
91
91
|
async markWorkspaceUploaded(projectId) {
|
|
92
92
|
return this.request("POST", "/api/projects/workspace-uploaded", { projectId });
|
|
93
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* List cron jobs for a project
|
|
96
|
+
*/
|
|
97
|
+
async listCronJobs(projectId) {
|
|
98
|
+
const result = await this.request("POST", "/api/crons/list", { projectId });
|
|
99
|
+
return result.cronJobs;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Sync cron jobs for a project (delete all + recreate)
|
|
103
|
+
*/
|
|
104
|
+
async syncCrons(projectId, crons) {
|
|
105
|
+
return this.request("POST", "/api/crons/sync", {
|
|
106
|
+
projectId,
|
|
107
|
+
crons,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* List jobs (Trigger.dev runs)
|
|
112
|
+
*/
|
|
113
|
+
async listJobs(options) {
|
|
114
|
+
return this.request("POST", "/api/jobs/list", {
|
|
115
|
+
status: options?.status,
|
|
116
|
+
size: options?.size,
|
|
117
|
+
cursor: options?.cursor,
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Get a specific job
|
|
122
|
+
*/
|
|
123
|
+
async getJob(jobId) {
|
|
124
|
+
return this.request("POST", "/api/jobs/get", { jobId });
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Cancel a job
|
|
128
|
+
*/
|
|
129
|
+
async cancelJob(jobId) {
|
|
130
|
+
return this.request("POST", "/api/jobs/cancel", { jobId });
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Get bundle download URL for a job
|
|
134
|
+
*/
|
|
135
|
+
async getJobBundle(jobId) {
|
|
136
|
+
return this.request("POST", "/api/jobs/bundle", { jobId });
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* List sessions
|
|
140
|
+
*/
|
|
141
|
+
async listSessions(options) {
|
|
142
|
+
return this.request("POST", "/api/sessions/list", {
|
|
143
|
+
limit: options?.limit,
|
|
144
|
+
offset: options?.offset,
|
|
145
|
+
with_bundle: options?.withBundle,
|
|
146
|
+
user_id: options?.userId,
|
|
147
|
+
job_id: options?.jobId,
|
|
148
|
+
project_id: options?.projectId,
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Get a specific session
|
|
153
|
+
*/
|
|
154
|
+
async getSession(sessionId) {
|
|
155
|
+
return this.request("POST", "/api/sessions/get", {
|
|
156
|
+
session_id: sessionId,
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Get bundle download URL for a session
|
|
161
|
+
*/
|
|
162
|
+
async getSessionBundle(sessionId) {
|
|
163
|
+
return this.request("POST", "/api/sessions/bundle", {
|
|
164
|
+
session_id: sessionId,
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Resolve a partial session ID to the full UUID
|
|
169
|
+
* Supports prefix matching like git commit hashes
|
|
170
|
+
*/
|
|
171
|
+
async resolveSessionId(partialId, projectId) {
|
|
172
|
+
// If it looks like a full UUID, return as-is
|
|
173
|
+
if (partialId.length >= 36) {
|
|
174
|
+
return partialId;
|
|
175
|
+
}
|
|
176
|
+
// Fetch recent sessions and find matching prefix
|
|
177
|
+
const result = await this.listSessions({ limit: 100, projectId });
|
|
178
|
+
const matches = result.sessions.filter(s => s.id.startsWith(partialId));
|
|
179
|
+
if (matches.length === 0) {
|
|
180
|
+
throw new Error(`No session found matching '${partialId}'`);
|
|
181
|
+
}
|
|
182
|
+
if (matches.length > 1) {
|
|
183
|
+
throw new Error(`Ambiguous session ID '${partialId}' - matches ${matches.length} sessions. Use more characters.`);
|
|
184
|
+
}
|
|
185
|
+
return matches[0].id;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Detect if an ID is a job ID (prefixed with run_) or a session ID
|
|
190
|
+
*/
|
|
191
|
+
export function isJobId(id) {
|
|
192
|
+
return id.startsWith("run_");
|
|
94
193
|
}
|
|
95
194
|
//# sourceMappingURL=api.js.map
|
package/dist/lib/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/archive.d.ts
CHANGED
|
@@ -3,10 +3,14 @@ export interface ArchiveResult {
|
|
|
3
3
|
size: number;
|
|
4
4
|
fileCount: number;
|
|
5
5
|
}
|
|
6
|
+
export interface ArchiveOptions {
|
|
7
|
+
ignorePatterns?: string[];
|
|
8
|
+
includeGit?: boolean;
|
|
9
|
+
}
|
|
6
10
|
/**
|
|
7
11
|
* Create a tar.gz archive of a directory
|
|
8
12
|
*/
|
|
9
|
-
export declare function createArchive(sourceDir: string,
|
|
13
|
+
export declare function createArchive(sourceDir: string, options?: ArchiveOptions): Promise<ArchiveResult>;
|
|
10
14
|
/**
|
|
11
15
|
* Format bytes to human-readable string
|
|
12
16
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../src/lib/archive.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../src/lib/archive.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CA+CxB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMjD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,2BAEnD"}
|
package/dist/lib/archive.js
CHANGED
|
@@ -2,29 +2,24 @@ import { createWriteStream, createReadStream, statSync } from "node:fs";
|
|
|
2
2
|
import { tmpdir } from "node:os";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import archiver from "archiver";
|
|
5
|
-
//
|
|
5
|
+
// Minimal patterns to ignore (only temp/system files)
|
|
6
6
|
const DEFAULT_IGNORE_PATTERNS = [
|
|
7
|
-
"node_modules/**",
|
|
8
|
-
".git/**",
|
|
9
|
-
".env",
|
|
10
|
-
".env.*",
|
|
11
|
-
"*.log",
|
|
12
7
|
".DS_Store",
|
|
13
8
|
"Thumbs.db",
|
|
14
|
-
".chucky.json",
|
|
15
|
-
"dist/**",
|
|
16
|
-
"build/**",
|
|
17
|
-
".next/**",
|
|
18
|
-
".nuxt/**",
|
|
19
|
-
"coverage/**",
|
|
20
|
-
".cache/**",
|
|
21
9
|
"*.tgz",
|
|
22
10
|
"*.tar.gz",
|
|
23
11
|
];
|
|
12
|
+
// Patterns to ignore when not including git
|
|
13
|
+
const GIT_IGNORE_PATTERNS = [".git/**"];
|
|
24
14
|
/**
|
|
25
15
|
* Create a tar.gz archive of a directory
|
|
26
16
|
*/
|
|
27
|
-
export async function createArchive(sourceDir,
|
|
17
|
+
export async function createArchive(sourceDir, options = {}) {
|
|
18
|
+
const { ignorePatterns = DEFAULT_IGNORE_PATTERNS, includeGit = false } = options;
|
|
19
|
+
// Build final ignore patterns
|
|
20
|
+
const finalIgnorePatterns = includeGit
|
|
21
|
+
? ignorePatterns
|
|
22
|
+
: [...ignorePatterns, ...GIT_IGNORE_PATTERNS];
|
|
28
23
|
const archiveName = `workspace-${Date.now()}.tgz`;
|
|
29
24
|
const archivePath = join(tmpdir(), archiveName);
|
|
30
25
|
return new Promise((resolve, reject) => {
|
|
@@ -52,7 +47,7 @@ export async function createArchive(sourceDir, ignorePatterns = DEFAULT_IGNORE_P
|
|
|
52
47
|
// Add directory contents, respecting ignore patterns
|
|
53
48
|
archive.glob("**/*", {
|
|
54
49
|
cwd: sourceDir,
|
|
55
|
-
ignore:
|
|
50
|
+
ignore: finalIgnorePatterns,
|
|
56
51
|
dot: true, // Include dotfiles
|
|
57
52
|
});
|
|
58
53
|
archive.finalize();
|
package/dist/lib/archive.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archive.js","sourceRoot":"","sources":["../../src/lib/archive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAY,MAAM,WAAW,CAAC;AAC3C,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,
|
|
1
|
+
{"version":3,"file":"archive.js","sourceRoot":"","sources":["../../src/lib/archive.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/config.d.ts
CHANGED
|
@@ -3,11 +3,56 @@ export interface GlobalConfig {
|
|
|
3
3
|
email?: string;
|
|
4
4
|
portalUrl: string;
|
|
5
5
|
}
|
|
6
|
-
export interface
|
|
6
|
+
export interface CronCallback {
|
|
7
|
+
url: string;
|
|
8
|
+
headers?: Record<string, string>;
|
|
9
|
+
secret?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface CronDefinition {
|
|
12
|
+
cron: string;
|
|
13
|
+
message: string;
|
|
14
|
+
timezone?: string;
|
|
15
|
+
enabled?: boolean;
|
|
16
|
+
callback?: CronCallback;
|
|
17
|
+
model?: string;
|
|
18
|
+
fallbackModel?: string;
|
|
19
|
+
maxTurns?: number;
|
|
20
|
+
maxBudgetUsd?: number;
|
|
21
|
+
maxThinkingTokens?: number;
|
|
22
|
+
systemPrompt?: string | {
|
|
23
|
+
type: "preset";
|
|
24
|
+
preset: string;
|
|
25
|
+
append?: string;
|
|
26
|
+
};
|
|
27
|
+
tools?: string[] | "claude_code";
|
|
28
|
+
allowedTools?: string[];
|
|
29
|
+
disallowedTools?: string[];
|
|
30
|
+
mcpServers?: unknown[];
|
|
31
|
+
agents?: Record<string, unknown>;
|
|
32
|
+
betas?: string[];
|
|
33
|
+
permissionMode?: "default" | "plan" | "bypassPermissions";
|
|
34
|
+
allowDangerouslySkipPermissions?: boolean;
|
|
35
|
+
env?: Record<string, string>;
|
|
36
|
+
outputFormat?: {
|
|
37
|
+
type: "json_schema";
|
|
38
|
+
schema: object;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export interface ChuckyConfig {
|
|
42
|
+
name: string;
|
|
43
|
+
description?: string;
|
|
44
|
+
folder?: string;
|
|
45
|
+
crons?: CronDefinition[];
|
|
46
|
+
}
|
|
47
|
+
export interface ProjectBinding {
|
|
7
48
|
projectId: string;
|
|
8
|
-
|
|
49
|
+
}
|
|
50
|
+
export interface ProjectConfig {
|
|
51
|
+
name: string;
|
|
52
|
+
description?: string;
|
|
9
53
|
folder: string;
|
|
10
|
-
|
|
54
|
+
crons?: CronDefinition[];
|
|
55
|
+
projectId?: string;
|
|
11
56
|
}
|
|
12
57
|
/**
|
|
13
58
|
* Load global config
|
|
@@ -18,11 +63,28 @@ export declare function loadGlobalConfig(): GlobalConfig | null;
|
|
|
18
63
|
*/
|
|
19
64
|
export declare function saveGlobalConfig(config: GlobalConfig): void;
|
|
20
65
|
/**
|
|
21
|
-
* Load
|
|
66
|
+
* Load chucky.json config (committed file)
|
|
67
|
+
*/
|
|
68
|
+
export declare function loadChuckyConfig(cwd?: string): ChuckyConfig | null;
|
|
69
|
+
/**
|
|
70
|
+
* Save chucky.json config (committed file)
|
|
71
|
+
*/
|
|
72
|
+
export declare function saveChuckyConfig(config: ChuckyConfig, cwd?: string): void;
|
|
73
|
+
/**
|
|
74
|
+
* Load .chucky project binding (gitignored file)
|
|
75
|
+
*/
|
|
76
|
+
export declare function loadProjectBinding(cwd?: string): ProjectBinding | null;
|
|
77
|
+
/**
|
|
78
|
+
* Save .chucky project binding (gitignored file)
|
|
79
|
+
*/
|
|
80
|
+
export declare function saveProjectBinding(binding: ProjectBinding, cwd?: string): void;
|
|
81
|
+
/**
|
|
82
|
+
* Load combined project config (chucky.json + .chucky)
|
|
22
83
|
*/
|
|
23
84
|
export declare function loadProjectConfig(cwd?: string): ProjectConfig | null;
|
|
24
85
|
/**
|
|
25
|
-
* Save project config
|
|
86
|
+
* Legacy: Save project config (for backwards compatibility during migration)
|
|
87
|
+
* @deprecated Use saveChuckyConfig and saveProjectBinding separately
|
|
26
88
|
*/
|
|
27
89
|
export declare function saveProjectConfig(config: ProjectConfig, cwd?: string): void;
|
|
28
90
|
/**
|
|
@@ -37,12 +99,25 @@ export declare function requireApiKey(): string;
|
|
|
37
99
|
* Get portal URL
|
|
38
100
|
*/
|
|
39
101
|
export declare function getPortalUrl(): string;
|
|
102
|
+
/**
|
|
103
|
+
* Get worker URL (ChuckyBox)
|
|
104
|
+
*/
|
|
105
|
+
export declare function getWorkerUrl(): string;
|
|
40
106
|
/**
|
|
41
107
|
* Get project config or throw if not initialized
|
|
42
108
|
*/
|
|
43
109
|
export declare function requireProjectConfig(): ProjectConfig;
|
|
110
|
+
/**
|
|
111
|
+
* Check if chucky.json exists in current directory
|
|
112
|
+
*/
|
|
113
|
+
export declare function hasChuckyConfig(): boolean;
|
|
114
|
+
/**
|
|
115
|
+
* Check if project is bound (has .chucky with projectId)
|
|
116
|
+
*/
|
|
117
|
+
export declare function isProjectBound(): boolean;
|
|
44
118
|
/**
|
|
45
119
|
* Check if project is initialized in current directory
|
|
120
|
+
* @deprecated Use hasChuckyConfig() and isProjectBound() separately
|
|
46
121
|
*/
|
|
47
122
|
export declare function isProjectInitialized(): boolean;
|
|
48
123
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/lib/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,aAAa;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/config.js
CHANGED
|
@@ -3,7 +3,8 @@ import { homedir } from "node:os";
|
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
const CONFIG_DIR = join(homedir(), ".chucky");
|
|
5
5
|
const GLOBAL_CONFIG_PATH = join(CONFIG_DIR, "config.json");
|
|
6
|
-
const
|
|
6
|
+
const CHUCKY_CONFIG_FILE = "chucky.json"; // Committed
|
|
7
|
+
const PROJECT_BINDING_FILE = ".chucky"; // Gitignored
|
|
7
8
|
// Default portal URL (production)
|
|
8
9
|
const DEFAULT_PORTAL_URL = "https://doting-hornet-490.convex.site";
|
|
9
10
|
/**
|
|
@@ -37,11 +38,11 @@ export function saveGlobalConfig(config) {
|
|
|
37
38
|
writeFileSync(GLOBAL_CONFIG_PATH, JSON.stringify(config, null, 2));
|
|
38
39
|
}
|
|
39
40
|
/**
|
|
40
|
-
* Load
|
|
41
|
+
* Load chucky.json config (committed file)
|
|
41
42
|
*/
|
|
42
|
-
export function
|
|
43
|
+
export function loadChuckyConfig(cwd = process.cwd()) {
|
|
43
44
|
try {
|
|
44
|
-
const configPath = join(cwd,
|
|
45
|
+
const configPath = join(cwd, CHUCKY_CONFIG_FILE);
|
|
45
46
|
if (!existsSync(configPath)) {
|
|
46
47
|
return null;
|
|
47
48
|
}
|
|
@@ -53,12 +54,69 @@ export function loadProjectConfig(cwd = process.cwd()) {
|
|
|
53
54
|
}
|
|
54
55
|
}
|
|
55
56
|
/**
|
|
56
|
-
* Save
|
|
57
|
+
* Save chucky.json config (committed file)
|
|
57
58
|
*/
|
|
58
|
-
export function
|
|
59
|
-
const configPath = join(cwd,
|
|
59
|
+
export function saveChuckyConfig(config, cwd = process.cwd()) {
|
|
60
|
+
const configPath = join(cwd, CHUCKY_CONFIG_FILE);
|
|
60
61
|
writeFileSync(configPath, JSON.stringify(config, null, 2));
|
|
61
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Load .chucky project binding (gitignored file)
|
|
65
|
+
*/
|
|
66
|
+
export function loadProjectBinding(cwd = process.cwd()) {
|
|
67
|
+
try {
|
|
68
|
+
const bindingPath = join(cwd, PROJECT_BINDING_FILE);
|
|
69
|
+
if (!existsSync(bindingPath)) {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
const content = readFileSync(bindingPath, "utf-8");
|
|
73
|
+
return JSON.parse(content);
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Save .chucky project binding (gitignored file)
|
|
81
|
+
*/
|
|
82
|
+
export function saveProjectBinding(binding, cwd = process.cwd()) {
|
|
83
|
+
const bindingPath = join(cwd, PROJECT_BINDING_FILE);
|
|
84
|
+
writeFileSync(bindingPath, JSON.stringify(binding, null, 2));
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Load combined project config (chucky.json + .chucky)
|
|
88
|
+
*/
|
|
89
|
+
export function loadProjectConfig(cwd = process.cwd()) {
|
|
90
|
+
const chuckyConfig = loadChuckyConfig(cwd);
|
|
91
|
+
if (!chuckyConfig) {
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
const binding = loadProjectBinding(cwd);
|
|
95
|
+
return {
|
|
96
|
+
name: chuckyConfig.name,
|
|
97
|
+
description: chuckyConfig.description,
|
|
98
|
+
folder: chuckyConfig.folder || ".",
|
|
99
|
+
crons: chuckyConfig.crons,
|
|
100
|
+
projectId: binding?.projectId,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Legacy: Save project config (for backwards compatibility during migration)
|
|
105
|
+
* @deprecated Use saveChuckyConfig and saveProjectBinding separately
|
|
106
|
+
*/
|
|
107
|
+
export function saveProjectConfig(config, cwd = process.cwd()) {
|
|
108
|
+
// Save chucky.json (committed)
|
|
109
|
+
saveChuckyConfig({
|
|
110
|
+
name: config.name,
|
|
111
|
+
description: config.description,
|
|
112
|
+
folder: config.folder,
|
|
113
|
+
crons: config.crons,
|
|
114
|
+
}, cwd);
|
|
115
|
+
// Save .chucky (gitignored) if projectId exists
|
|
116
|
+
if (config.projectId) {
|
|
117
|
+
saveProjectBinding({ projectId: config.projectId }, cwd);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
62
120
|
/**
|
|
63
121
|
* Check if user is logged in
|
|
64
122
|
*/
|
|
@@ -88,20 +146,39 @@ export function getPortalUrl() {
|
|
|
88
146
|
const config = loadGlobalConfig();
|
|
89
147
|
return config?.portalUrl || DEFAULT_PORTAL_URL;
|
|
90
148
|
}
|
|
149
|
+
/**
|
|
150
|
+
* Get worker URL (ChuckyBox)
|
|
151
|
+
*/
|
|
152
|
+
export function getWorkerUrl() {
|
|
153
|
+
return process.env.CHUCKY_WORKER_URL || "https://conjure.chucky.cloud";
|
|
154
|
+
}
|
|
91
155
|
/**
|
|
92
156
|
* Get project config or throw if not initialized
|
|
93
157
|
*/
|
|
94
158
|
export function requireProjectConfig() {
|
|
95
159
|
const config = loadProjectConfig();
|
|
96
160
|
if (!config) {
|
|
97
|
-
throw new Error("
|
|
161
|
+
throw new Error("No chucky.json found. Run 'chucky init' first.");
|
|
98
162
|
}
|
|
99
163
|
return config;
|
|
100
164
|
}
|
|
165
|
+
/**
|
|
166
|
+
* Check if chucky.json exists in current directory
|
|
167
|
+
*/
|
|
168
|
+
export function hasChuckyConfig() {
|
|
169
|
+
return loadChuckyConfig() !== null;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Check if project is bound (has .chucky with projectId)
|
|
173
|
+
*/
|
|
174
|
+
export function isProjectBound() {
|
|
175
|
+
return loadProjectBinding() !== null;
|
|
176
|
+
}
|
|
101
177
|
/**
|
|
102
178
|
* Check if project is initialized in current directory
|
|
179
|
+
* @deprecated Use hasChuckyConfig() and isProjectBound() separately
|
|
103
180
|
*/
|
|
104
181
|
export function isProjectInitialized() {
|
|
105
|
-
return
|
|
182
|
+
return hasChuckyConfig();
|
|
106
183
|
}
|
|
107
184
|
//# sourceMappingURL=config.js.map
|