@crewx/sdk 0.9.0-rc.31 → 0.9.0-rc.33
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/esm/index.js +62 -62
- package/dist/esm/plugins/index.js +33 -33
- package/dist/esm/repository/index.js +81 -81
- package/dist/index.browser.js +2 -2
- package/dist/index.js +63 -63
- package/dist/internal/windows-spawn.d.ts +10 -0
- package/dist/migrations/0013_hesitant_adam_destine.sql +15 -0
- package/dist/migrations/meta/0013_snapshot.json +1592 -0
- package/dist/migrations/meta/_journal.json +7 -0
- package/dist/plugin/types.d.ts +1 -0
- package/dist/plugins/index.js +29 -29
- package/dist/provider/provider-selection.d.ts +8 -0
- package/dist/repository/agent-suggestion.repository.d.ts +31 -0
- package/dist/repository/index.d.ts +2 -0
- package/dist/repository/index.js +81 -81
- package/dist/schema/agent-suggestions.d.ts +199 -0
- package/dist/schema/index.d.ts +1 -0
- package/dist/types/index.d.ts +28 -3
- package/dist/utils/id.d.ts +1 -1
- package/package.json +1 -1
- package/templates/agents/default.yaml +42 -1
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
export declare const agent_suggestions: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
2
|
+
name: "agent_suggestions";
|
|
3
|
+
schema: undefined;
|
|
4
|
+
columns: {
|
|
5
|
+
id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
6
|
+
name: "id";
|
|
7
|
+
tableName: "agent_suggestions";
|
|
8
|
+
dataType: "string";
|
|
9
|
+
columnType: "SQLiteText";
|
|
10
|
+
data: string;
|
|
11
|
+
driverParam: string;
|
|
12
|
+
notNull: true;
|
|
13
|
+
hasDefault: false;
|
|
14
|
+
isPrimaryKey: true;
|
|
15
|
+
isAutoincrement: false;
|
|
16
|
+
hasRuntimeDefault: false;
|
|
17
|
+
enumValues: [string, ...string[]];
|
|
18
|
+
baseColumn: never;
|
|
19
|
+
identity: undefined;
|
|
20
|
+
generated: undefined;
|
|
21
|
+
}, {}, {
|
|
22
|
+
length: number | undefined;
|
|
23
|
+
}>;
|
|
24
|
+
workspace_id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
25
|
+
name: "workspace_id";
|
|
26
|
+
tableName: "agent_suggestions";
|
|
27
|
+
dataType: "string";
|
|
28
|
+
columnType: "SQLiteText";
|
|
29
|
+
data: string;
|
|
30
|
+
driverParam: string;
|
|
31
|
+
notNull: true;
|
|
32
|
+
hasDefault: false;
|
|
33
|
+
isPrimaryKey: false;
|
|
34
|
+
isAutoincrement: false;
|
|
35
|
+
hasRuntimeDefault: false;
|
|
36
|
+
enumValues: [string, ...string[]];
|
|
37
|
+
baseColumn: never;
|
|
38
|
+
identity: undefined;
|
|
39
|
+
generated: undefined;
|
|
40
|
+
}, {}, {
|
|
41
|
+
length: number | undefined;
|
|
42
|
+
}>;
|
|
43
|
+
agent_id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
44
|
+
name: "agent_id";
|
|
45
|
+
tableName: "agent_suggestions";
|
|
46
|
+
dataType: "string";
|
|
47
|
+
columnType: "SQLiteText";
|
|
48
|
+
data: string;
|
|
49
|
+
driverParam: string;
|
|
50
|
+
notNull: true;
|
|
51
|
+
hasDefault: false;
|
|
52
|
+
isPrimaryKey: false;
|
|
53
|
+
isAutoincrement: false;
|
|
54
|
+
hasRuntimeDefault: false;
|
|
55
|
+
enumValues: [string, ...string[]];
|
|
56
|
+
baseColumn: never;
|
|
57
|
+
identity: undefined;
|
|
58
|
+
generated: undefined;
|
|
59
|
+
}, {}, {
|
|
60
|
+
length: number | undefined;
|
|
61
|
+
}>;
|
|
62
|
+
task_id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
63
|
+
name: "task_id";
|
|
64
|
+
tableName: "agent_suggestions";
|
|
65
|
+
dataType: "string";
|
|
66
|
+
columnType: "SQLiteText";
|
|
67
|
+
data: string;
|
|
68
|
+
driverParam: string;
|
|
69
|
+
notNull: false;
|
|
70
|
+
hasDefault: false;
|
|
71
|
+
isPrimaryKey: false;
|
|
72
|
+
isAutoincrement: false;
|
|
73
|
+
hasRuntimeDefault: false;
|
|
74
|
+
enumValues: [string, ...string[]];
|
|
75
|
+
baseColumn: never;
|
|
76
|
+
identity: undefined;
|
|
77
|
+
generated: undefined;
|
|
78
|
+
}, {}, {
|
|
79
|
+
length: number | undefined;
|
|
80
|
+
}>;
|
|
81
|
+
type: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
82
|
+
name: "type";
|
|
83
|
+
tableName: "agent_suggestions";
|
|
84
|
+
dataType: "string";
|
|
85
|
+
columnType: "SQLiteText";
|
|
86
|
+
data: string;
|
|
87
|
+
driverParam: string;
|
|
88
|
+
notNull: true;
|
|
89
|
+
hasDefault: false;
|
|
90
|
+
isPrimaryKey: false;
|
|
91
|
+
isAutoincrement: false;
|
|
92
|
+
hasRuntimeDefault: false;
|
|
93
|
+
enumValues: [string, ...string[]];
|
|
94
|
+
baseColumn: never;
|
|
95
|
+
identity: undefined;
|
|
96
|
+
generated: undefined;
|
|
97
|
+
}, {}, {
|
|
98
|
+
length: number | undefined;
|
|
99
|
+
}>;
|
|
100
|
+
status: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
101
|
+
name: "status";
|
|
102
|
+
tableName: "agent_suggestions";
|
|
103
|
+
dataType: "string";
|
|
104
|
+
columnType: "SQLiteText";
|
|
105
|
+
data: string;
|
|
106
|
+
driverParam: string;
|
|
107
|
+
notNull: true;
|
|
108
|
+
hasDefault: true;
|
|
109
|
+
isPrimaryKey: false;
|
|
110
|
+
isAutoincrement: false;
|
|
111
|
+
hasRuntimeDefault: false;
|
|
112
|
+
enumValues: [string, ...string[]];
|
|
113
|
+
baseColumn: never;
|
|
114
|
+
identity: undefined;
|
|
115
|
+
generated: undefined;
|
|
116
|
+
}, {}, {
|
|
117
|
+
length: number | undefined;
|
|
118
|
+
}>;
|
|
119
|
+
payload: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
120
|
+
name: "payload";
|
|
121
|
+
tableName: "agent_suggestions";
|
|
122
|
+
dataType: "string";
|
|
123
|
+
columnType: "SQLiteText";
|
|
124
|
+
data: string;
|
|
125
|
+
driverParam: string;
|
|
126
|
+
notNull: true;
|
|
127
|
+
hasDefault: false;
|
|
128
|
+
isPrimaryKey: false;
|
|
129
|
+
isAutoincrement: false;
|
|
130
|
+
hasRuntimeDefault: false;
|
|
131
|
+
enumValues: [string, ...string[]];
|
|
132
|
+
baseColumn: never;
|
|
133
|
+
identity: undefined;
|
|
134
|
+
generated: undefined;
|
|
135
|
+
}, {}, {
|
|
136
|
+
length: number | undefined;
|
|
137
|
+
}>;
|
|
138
|
+
applied_commit_sha: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
139
|
+
name: "applied_commit_sha";
|
|
140
|
+
tableName: "agent_suggestions";
|
|
141
|
+
dataType: "string";
|
|
142
|
+
columnType: "SQLiteText";
|
|
143
|
+
data: string;
|
|
144
|
+
driverParam: string;
|
|
145
|
+
notNull: false;
|
|
146
|
+
hasDefault: false;
|
|
147
|
+
isPrimaryKey: false;
|
|
148
|
+
isAutoincrement: false;
|
|
149
|
+
hasRuntimeDefault: false;
|
|
150
|
+
enumValues: [string, ...string[]];
|
|
151
|
+
baseColumn: never;
|
|
152
|
+
identity: undefined;
|
|
153
|
+
generated: undefined;
|
|
154
|
+
}, {}, {
|
|
155
|
+
length: number | undefined;
|
|
156
|
+
}>;
|
|
157
|
+
created_at: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
158
|
+
name: "created_at";
|
|
159
|
+
tableName: "agent_suggestions";
|
|
160
|
+
dataType: "string";
|
|
161
|
+
columnType: "SQLiteText";
|
|
162
|
+
data: string;
|
|
163
|
+
driverParam: string;
|
|
164
|
+
notNull: true;
|
|
165
|
+
hasDefault: false;
|
|
166
|
+
isPrimaryKey: false;
|
|
167
|
+
isAutoincrement: false;
|
|
168
|
+
hasRuntimeDefault: false;
|
|
169
|
+
enumValues: [string, ...string[]];
|
|
170
|
+
baseColumn: never;
|
|
171
|
+
identity: undefined;
|
|
172
|
+
generated: undefined;
|
|
173
|
+
}, {}, {
|
|
174
|
+
length: number | undefined;
|
|
175
|
+
}>;
|
|
176
|
+
updated_at: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
177
|
+
name: "updated_at";
|
|
178
|
+
tableName: "agent_suggestions";
|
|
179
|
+
dataType: "string";
|
|
180
|
+
columnType: "SQLiteText";
|
|
181
|
+
data: string;
|
|
182
|
+
driverParam: string;
|
|
183
|
+
notNull: true;
|
|
184
|
+
hasDefault: false;
|
|
185
|
+
isPrimaryKey: false;
|
|
186
|
+
isAutoincrement: false;
|
|
187
|
+
hasRuntimeDefault: false;
|
|
188
|
+
enumValues: [string, ...string[]];
|
|
189
|
+
baseColumn: never;
|
|
190
|
+
identity: undefined;
|
|
191
|
+
generated: undefined;
|
|
192
|
+
}, {}, {
|
|
193
|
+
length: number | undefined;
|
|
194
|
+
}>;
|
|
195
|
+
};
|
|
196
|
+
dialect: "sqlite";
|
|
197
|
+
}>;
|
|
198
|
+
export type AgentSuggestion = typeof agent_suggestions.$inferSelect;
|
|
199
|
+
export type NewAgentSuggestion = typeof agent_suggestions.$inferInsert;
|
package/dist/schema/index.d.ts
CHANGED
package/dist/types/index.d.ts
CHANGED
|
@@ -397,6 +397,13 @@ export interface GuideRule {
|
|
|
397
397
|
say: string;
|
|
398
398
|
once?: boolean;
|
|
399
399
|
}
|
|
400
|
+
export declare const SettingsSchema: z.ZodObject<{
|
|
401
|
+
bin_resolution: z.ZodOptional<z.ZodEnum<["global_first", "local_first"]>>;
|
|
402
|
+
}, "strip", z.ZodUnknown, z.objectOutputType<{
|
|
403
|
+
bin_resolution: z.ZodOptional<z.ZodEnum<["global_first", "local_first"]>>;
|
|
404
|
+
}, z.ZodUnknown, "strip">, z.objectInputType<{
|
|
405
|
+
bin_resolution: z.ZodOptional<z.ZodEnum<["global_first", "local_first"]>>;
|
|
406
|
+
}, z.ZodUnknown, "strip">>;
|
|
400
407
|
export declare const CrewxProjectConfigSchema: z.ZodObject<{
|
|
401
408
|
agents: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
402
409
|
id: z.ZodString;
|
|
@@ -685,7 +692,13 @@ export declare const CrewxProjectConfigSchema: z.ZodObject<{
|
|
|
685
692
|
}>>;
|
|
686
693
|
}, z.ZodUnknown, "strip">>, "many">>;
|
|
687
694
|
hooks: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
|
|
688
|
-
settings: z.ZodOptional<z.
|
|
695
|
+
settings: z.ZodOptional<z.ZodObject<{
|
|
696
|
+
bin_resolution: z.ZodOptional<z.ZodEnum<["global_first", "local_first"]>>;
|
|
697
|
+
}, "strip", z.ZodUnknown, z.objectOutputType<{
|
|
698
|
+
bin_resolution: z.ZodOptional<z.ZodEnum<["global_first", "local_first"]>>;
|
|
699
|
+
}, z.ZodUnknown, "strip">, z.objectInputType<{
|
|
700
|
+
bin_resolution: z.ZodOptional<z.ZodEnum<["global_first", "local_first"]>>;
|
|
701
|
+
}, z.ZodUnknown, "strip">>>;
|
|
689
702
|
skills: z.ZodOptional<z.ZodUnknown>;
|
|
690
703
|
layouts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
691
704
|
documents: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
@@ -977,7 +990,13 @@ export declare const CrewxProjectConfigSchema: z.ZodObject<{
|
|
|
977
990
|
}>>;
|
|
978
991
|
}, z.ZodUnknown, "strip">>, "many">>;
|
|
979
992
|
hooks: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
|
|
980
|
-
settings: z.ZodOptional<z.
|
|
993
|
+
settings: z.ZodOptional<z.ZodObject<{
|
|
994
|
+
bin_resolution: z.ZodOptional<z.ZodEnum<["global_first", "local_first"]>>;
|
|
995
|
+
}, "strip", z.ZodUnknown, z.objectOutputType<{
|
|
996
|
+
bin_resolution: z.ZodOptional<z.ZodEnum<["global_first", "local_first"]>>;
|
|
997
|
+
}, z.ZodUnknown, "strip">, z.objectInputType<{
|
|
998
|
+
bin_resolution: z.ZodOptional<z.ZodEnum<["global_first", "local_first"]>>;
|
|
999
|
+
}, z.ZodUnknown, "strip">>>;
|
|
981
1000
|
skills: z.ZodOptional<z.ZodUnknown>;
|
|
982
1001
|
layouts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
983
1002
|
documents: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
@@ -1269,7 +1288,13 @@ export declare const CrewxProjectConfigSchema: z.ZodObject<{
|
|
|
1269
1288
|
}>>;
|
|
1270
1289
|
}, z.ZodUnknown, "strip">>, "many">>;
|
|
1271
1290
|
hooks: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
|
|
1272
|
-
settings: z.ZodOptional<z.
|
|
1291
|
+
settings: z.ZodOptional<z.ZodObject<{
|
|
1292
|
+
bin_resolution: z.ZodOptional<z.ZodEnum<["global_first", "local_first"]>>;
|
|
1293
|
+
}, "strip", z.ZodUnknown, z.objectOutputType<{
|
|
1294
|
+
bin_resolution: z.ZodOptional<z.ZodEnum<["global_first", "local_first"]>>;
|
|
1295
|
+
}, z.ZodUnknown, "strip">, z.objectInputType<{
|
|
1296
|
+
bin_resolution: z.ZodOptional<z.ZodEnum<["global_first", "local_first"]>>;
|
|
1297
|
+
}, z.ZodUnknown, "strip">>>;
|
|
1273
1298
|
skills: z.ZodOptional<z.ZodUnknown>;
|
|
1274
1299
|
layouts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1275
1300
|
documents: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
package/dist/utils/id.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type EntityPrefix = 'tsk' | 'thd' | 'msg' | 'box' | 'prj' | 'mem' | 'spn' | 'cron' | 'wbs' | 'job' | 'tcl' | 'req' | 'ws' | 'wfr' | 'ntf';
|
|
1
|
+
export type EntityPrefix = 'tsk' | 'thd' | 'msg' | 'box' | 'prj' | 'mem' | 'spn' | 'cron' | 'wbs' | 'job' | 'tcl' | 'req' | 'ws' | 'wfr' | 'ntf' | 'sug';
|
|
2
2
|
export type PrefixedId<P extends EntityPrefix> = `${P}_${string}`;
|
|
3
3
|
export declare function generateId<P extends EntityPrefix>(prefix: P): PrefixedId<P>;
|
|
4
4
|
export declare function generateFingerprint<P extends EntityPrefix>(prefix: P, input: string): PrefixedId<P>;
|
package/package.json
CHANGED
|
@@ -433,7 +433,7 @@ agents:
|
|
|
433
433
|
name: "CrewX Assistant"
|
|
434
434
|
role: "assistant"
|
|
435
435
|
team: "CrewX"
|
|
436
|
-
provider: ["cli/claude", "cli/
|
|
436
|
+
provider: ["cli/codex", "cli/claude", "cli/opencode", "cli/copilot"] # Fallback order: codex → claude → opencode → copilot
|
|
437
437
|
working_directory: "."
|
|
438
438
|
# Note: Uses provider array for automatic fallback when no model is specified
|
|
439
439
|
inline:
|
|
@@ -584,3 +584,44 @@ agents:
|
|
|
584
584
|
options:
|
|
585
585
|
query: ["exec", "--experimental-json"]
|
|
586
586
|
execute: ["exec", "-s", "workspace-write", "--experimental-json"]
|
|
587
|
+
|
|
588
|
+
- id: "self_improve_analyst"
|
|
589
|
+
name: "Self-Improve Analyst"
|
|
590
|
+
role: "Prompt Improvement Analyst"
|
|
591
|
+
team: "CrewX"
|
|
592
|
+
description: "에이전트 프롬프트 개선 제안 분석 에이전트 (개선 제안 H1)"
|
|
593
|
+
provider: ["cli/codex", "cli/claude", "cli/opencode", "cli/copilot"] # Fallback order: codex → claude → opencode → copilot
|
|
594
|
+
working_directory: "."
|
|
595
|
+
env:
|
|
596
|
+
GIT_AUTHOR_NAME: '{{agent.name}}'
|
|
597
|
+
GIT_AUTHOR_EMAIL: crewx+{{agent.id}}@sowonlabs.com
|
|
598
|
+
options:
|
|
599
|
+
query:
|
|
600
|
+
effort: high
|
|
601
|
+
mode: auto
|
|
602
|
+
execute:
|
|
603
|
+
effort: high
|
|
604
|
+
mode: auto
|
|
605
|
+
inline:
|
|
606
|
+
layout: crewx/minimal
|
|
607
|
+
prompt: |-
|
|
608
|
+
You are the Self-Improve Analyst agent for CrewX. Your job is to analyze a
|
|
609
|
+
target agent's usage history and propose concrete improvements to that
|
|
610
|
+
agent's prompt documentation.
|
|
611
|
+
|
|
612
|
+
## Task
|
|
613
|
+
Each request gives you one target agent's memory summary, recent failed
|
|
614
|
+
tasks, and rework rate. Locate and read that agent's actual prompt
|
|
615
|
+
documentation (.md files in this repository) before proposing anything —
|
|
616
|
+
never propose changes to crewx.yaml itself.
|
|
617
|
+
|
|
618
|
+
## Rules
|
|
619
|
+
- Never fabricate evidence. If you find no clear, well-supported
|
|
620
|
+
improvement, return an empty JSON array.
|
|
621
|
+
- You have read access to the repository. Do not modify any files
|
|
622
|
+
yourself — you only propose changes; a separate system applies them
|
|
623
|
+
after review.
|
|
624
|
+
- Output ONLY the JSON specified in the request message — no prose, no
|
|
625
|
+
markdown outside the JSON block.
|
|
626
|
+
skills:
|
|
627
|
+
include: []
|