@crewx/sdk 0.9.0-rc.3 → 0.9.0-rc.31
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/config/canonicalize-agent-options.d.ts +16 -0
- package/dist/config/models.generated.d.ts +22 -0
- package/dist/config/models.remote.d.ts +4 -0
- package/dist/config/overdrive.d.ts +24 -0
- package/dist/config/pricing.d.ts +8 -8
- package/dist/config/pricing.generated.d.ts +2 -0
- package/dist/config/pricing.remote.d.ts +4 -0
- package/dist/config/pricing.types.d.ts +5 -0
- package/dist/config/timeout.config.d.ts +3 -0
- package/dist/esm/index.js +123 -81
- package/dist/esm/plugins/index.js +119 -72
- package/dist/esm/repository/index.js +107 -60
- package/dist/esm/testing/index.js +1 -1
- package/dist/facade/Crewx.d.ts +5 -0
- package/dist/index.browser.d.ts +1 -1
- package/dist/index.browser.js +2 -2
- package/dist/index.d.ts +11 -4
- package/dist/index.js +124 -82
- package/dist/migrations/0008_careful_black_bird.sql +17 -0
- package/dist/migrations/0009_hot_dark_phoenix.sql +1 -0
- package/dist/migrations/0010_analyze_stats.sql +6 -0
- package/dist/migrations/0011_far_black_tarantula.sql +1 -0
- package/dist/migrations/0012_blue_turbo.sql +23 -0
- package/dist/migrations/meta/0008_snapshot.json +1327 -0
- package/dist/migrations/meta/0009_snapshot.json +1335 -0
- package/dist/migrations/meta/0010_snapshot.json +1335 -0
- package/dist/migrations/meta/0011_snapshot.json +1342 -0
- package/dist/migrations/meta/0012_snapshot.json +1494 -0
- package/dist/migrations/meta/_journal.json +35 -0
- package/dist/plugins/index.js +119 -72
- package/dist/provider/acp/adapters/claude.d.ts +0 -4
- package/dist/provider/acp/connection.d.ts +4 -0
- package/dist/provider/acp/meta.d.ts +4 -0
- package/dist/provider/bridge.d.ts +13 -1
- package/dist/provider/cli/adapter.types.d.ts +1 -0
- package/dist/provider/cli/adapters/claude.d.ts +0 -1
- package/dist/provider/cli/adapters/cli-knob.util.d.ts +2 -0
- package/dist/provider/cli/meta.d.ts +10 -2
- package/dist/provider/idle-watchdog.d.ts +19 -0
- package/dist/provider/models.d.ts +23 -0
- package/dist/provider/order.d.ts +1 -0
- package/dist/repository/index.d.ts +5 -1
- package/dist/repository/index.js +107 -60
- package/dist/repository/notification.repository.d.ts +58 -0
- package/dist/repository/task.repository.d.ts +34 -0
- package/dist/repository/thread.repository.d.ts +16 -2
- package/dist/repository/usage-report.repository.d.ts +27 -0
- package/dist/schema/index.d.ts +2 -0
- package/dist/schema/notifications.d.ts +303 -0
- package/dist/schema/usage-reports.d.ts +252 -0
- package/dist/testing/index.d.ts +2 -0
- package/dist/testing/index.js +1 -1
- package/dist/types/index.d.ts +7 -0
- package/dist/utils/id.d.ts +1 -1
- package/package.json +3 -2
- package/templates/agents/default.yaml +34 -0
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
export declare const usage_reports: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
2
|
+
name: "usage_reports";
|
|
3
|
+
schema: undefined;
|
|
4
|
+
columns: {
|
|
5
|
+
id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
6
|
+
name: "id";
|
|
7
|
+
tableName: "usage_reports";
|
|
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: "usage_reports";
|
|
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
|
+
month: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
44
|
+
name: "month";
|
|
45
|
+
tableName: "usage_reports";
|
|
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
|
+
generated_at: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
63
|
+
name: "generated_at";
|
|
64
|
+
tableName: "usage_reports";
|
|
65
|
+
dataType: "string";
|
|
66
|
+
columnType: "SQLiteText";
|
|
67
|
+
data: string;
|
|
68
|
+
driverParam: string;
|
|
69
|
+
notNull: true;
|
|
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
|
+
source_range: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
82
|
+
name: "source_range";
|
|
83
|
+
tableName: "usage_reports";
|
|
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
|
+
tier: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
101
|
+
name: "tier";
|
|
102
|
+
tableName: "usage_reports";
|
|
103
|
+
dataType: "string";
|
|
104
|
+
columnType: "SQLiteText";
|
|
105
|
+
data: string;
|
|
106
|
+
driverParam: string;
|
|
107
|
+
notNull: true;
|
|
108
|
+
hasDefault: false;
|
|
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
|
+
total_tokens: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
120
|
+
name: "total_tokens";
|
|
121
|
+
tableName: "usage_reports";
|
|
122
|
+
dataType: "number";
|
|
123
|
+
columnType: "SQLiteInteger";
|
|
124
|
+
data: number;
|
|
125
|
+
driverParam: number;
|
|
126
|
+
notNull: true;
|
|
127
|
+
hasDefault: false;
|
|
128
|
+
isPrimaryKey: false;
|
|
129
|
+
isAutoincrement: false;
|
|
130
|
+
hasRuntimeDefault: false;
|
|
131
|
+
enumValues: undefined;
|
|
132
|
+
baseColumn: never;
|
|
133
|
+
identity: undefined;
|
|
134
|
+
generated: undefined;
|
|
135
|
+
}, {}, {}>;
|
|
136
|
+
total_cost_usd: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
137
|
+
name: "total_cost_usd";
|
|
138
|
+
tableName: "usage_reports";
|
|
139
|
+
dataType: "number";
|
|
140
|
+
columnType: "SQLiteReal";
|
|
141
|
+
data: number;
|
|
142
|
+
driverParam: number;
|
|
143
|
+
notNull: true;
|
|
144
|
+
hasDefault: false;
|
|
145
|
+
isPrimaryKey: false;
|
|
146
|
+
isAutoincrement: false;
|
|
147
|
+
hasRuntimeDefault: false;
|
|
148
|
+
enumValues: undefined;
|
|
149
|
+
baseColumn: never;
|
|
150
|
+
identity: undefined;
|
|
151
|
+
generated: undefined;
|
|
152
|
+
}, {}, {}>;
|
|
153
|
+
payload: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
154
|
+
name: "payload";
|
|
155
|
+
tableName: "usage_reports";
|
|
156
|
+
dataType: "string";
|
|
157
|
+
columnType: "SQLiteText";
|
|
158
|
+
data: string;
|
|
159
|
+
driverParam: string;
|
|
160
|
+
notNull: true;
|
|
161
|
+
hasDefault: false;
|
|
162
|
+
isPrimaryKey: false;
|
|
163
|
+
isAutoincrement: false;
|
|
164
|
+
hasRuntimeDefault: false;
|
|
165
|
+
enumValues: [string, ...string[]];
|
|
166
|
+
baseColumn: never;
|
|
167
|
+
identity: undefined;
|
|
168
|
+
generated: undefined;
|
|
169
|
+
}, {}, {
|
|
170
|
+
length: number | undefined;
|
|
171
|
+
}>;
|
|
172
|
+
payload_hash: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
173
|
+
name: "payload_hash";
|
|
174
|
+
tableName: "usage_reports";
|
|
175
|
+
dataType: "string";
|
|
176
|
+
columnType: "SQLiteText";
|
|
177
|
+
data: string;
|
|
178
|
+
driverParam: string;
|
|
179
|
+
notNull: false;
|
|
180
|
+
hasDefault: false;
|
|
181
|
+
isPrimaryKey: false;
|
|
182
|
+
isAutoincrement: false;
|
|
183
|
+
hasRuntimeDefault: false;
|
|
184
|
+
enumValues: [string, ...string[]];
|
|
185
|
+
baseColumn: never;
|
|
186
|
+
identity: undefined;
|
|
187
|
+
generated: undefined;
|
|
188
|
+
}, {}, {
|
|
189
|
+
length: number | undefined;
|
|
190
|
+
}>;
|
|
191
|
+
signature: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
192
|
+
name: "signature";
|
|
193
|
+
tableName: "usage_reports";
|
|
194
|
+
dataType: "string";
|
|
195
|
+
columnType: "SQLiteText";
|
|
196
|
+
data: string;
|
|
197
|
+
driverParam: string;
|
|
198
|
+
notNull: false;
|
|
199
|
+
hasDefault: false;
|
|
200
|
+
isPrimaryKey: false;
|
|
201
|
+
isAutoincrement: false;
|
|
202
|
+
hasRuntimeDefault: false;
|
|
203
|
+
enumValues: [string, ...string[]];
|
|
204
|
+
baseColumn: never;
|
|
205
|
+
identity: undefined;
|
|
206
|
+
generated: undefined;
|
|
207
|
+
}, {}, {
|
|
208
|
+
length: number | undefined;
|
|
209
|
+
}>;
|
|
210
|
+
signed_at: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
211
|
+
name: "signed_at";
|
|
212
|
+
tableName: "usage_reports";
|
|
213
|
+
dataType: "string";
|
|
214
|
+
columnType: "SQLiteText";
|
|
215
|
+
data: string;
|
|
216
|
+
driverParam: string;
|
|
217
|
+
notNull: false;
|
|
218
|
+
hasDefault: false;
|
|
219
|
+
isPrimaryKey: false;
|
|
220
|
+
isAutoincrement: false;
|
|
221
|
+
hasRuntimeDefault: false;
|
|
222
|
+
enumValues: [string, ...string[]];
|
|
223
|
+
baseColumn: never;
|
|
224
|
+
identity: undefined;
|
|
225
|
+
generated: undefined;
|
|
226
|
+
}, {}, {
|
|
227
|
+
length: number | undefined;
|
|
228
|
+
}>;
|
|
229
|
+
issuer: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
230
|
+
name: "issuer";
|
|
231
|
+
tableName: "usage_reports";
|
|
232
|
+
dataType: "string";
|
|
233
|
+
columnType: "SQLiteText";
|
|
234
|
+
data: string;
|
|
235
|
+
driverParam: string;
|
|
236
|
+
notNull: false;
|
|
237
|
+
hasDefault: false;
|
|
238
|
+
isPrimaryKey: false;
|
|
239
|
+
isAutoincrement: false;
|
|
240
|
+
hasRuntimeDefault: false;
|
|
241
|
+
enumValues: [string, ...string[]];
|
|
242
|
+
baseColumn: never;
|
|
243
|
+
identity: undefined;
|
|
244
|
+
generated: undefined;
|
|
245
|
+
}, {}, {
|
|
246
|
+
length: number | undefined;
|
|
247
|
+
}>;
|
|
248
|
+
};
|
|
249
|
+
dialect: "sqlite";
|
|
250
|
+
}>;
|
|
251
|
+
export type UsageReport = typeof usage_reports.$inferSelect;
|
|
252
|
+
export type NewUsageReport = typeof usage_reports.$inferInsert;
|
package/dist/testing/index.d.ts
CHANGED
|
@@ -9,3 +9,5 @@ export { createMockAudit } from './mock-audit';
|
|
|
9
9
|
export type { MockAudit, AuditEvent } from './mock-audit';
|
|
10
10
|
export { createMockRouter } from './mock-router';
|
|
11
11
|
export type { MockRouter, RegisteredRoute } from './mock-router';
|
|
12
|
+
export { clearPricingOverride as resetPricingOverride } from '../config/pricing.js';
|
|
13
|
+
export { clearModelsOverride as resetModelsOverride } from '../provider/models.js';
|
package/dist/testing/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';function m(){let e=[];return {events:e,async log(t,r){e.push({event:t,payload:r});}}}function
|
|
1
|
+
'use strict';function m(){let e=[];return {events:e,async log(t,r){e.push({event:t,payload:r});}}}function f(){let e={debug:[],info:[],warn:[],error:[]};return {entries:e,debug(t,r){e.debug.push({msg:t,meta:r});},info(t,r){e.info.push({msg:t,meta:r});},warn(t,r){e.warn.push({msg:t,meta:r});},error(t,r){e.error.push({msg:t,meta:r});}}}function w(){let e=200,t,r,n={},o={status(i){return e=i,o},set(i,d){return n[i]=d,o},send(i){return r=i,o},json(i){return t=i,o},end(){return o},getStatusCode:()=>e,getJsonBody:()=>t,getSentBody:()=>r,getHeaders:()=>({...n})};return o}function h(){let e=[];return {routes:e,registerRoute(r,n,o){e.push({path:r,handler:n,opts:o});},async simulate(r,n,o=Buffer.alloc(0),i={},d={},g={}){let c=e.find(l=>l.path===n);if(!c)return {status:404,body:{error:"Not found"},headers:{}};let p={method:r,url:n,headers:i,body:o,params:d,query:g},u=w();return await c.handler(p,u),{status:u.getStatusCode(),body:u.getJsonBody()??u.getSentBody(),headers:u.getHeaders()}}}}function M(e){let t=new Map,r=n=>n.startsWith(`${e}::`)?n:`${e}::${n}`;return {async get(n){let o=t.get(r(n));return o?o.value:void 0},async set(n,o){t.set(r(n),{value:o});},async delete(n){return t.delete(r(n))},async list(n){let o=n?r(n):`${e}::`,i=[];for(let d of t.keys())d.startsWith(o)&&i.push(d.slice(e.length+2));return i}}}function y(e){return M(e)}function x(){let e=new Map;return {blobs:e,async put(t,r,n){return e.set(t,{data:r,contentType:n}),t},async get(t){let r=e.get(t);return r?r.data:void 0},async delete(t){return e.delete(t)}}}function A(e){let t=e.instanceId??"mock-instance",r=m(),n=f(),o=h(),i=y(t),d=x(),g=[],c=[],p=[],u={run:async()=>({output:""}),...e.agentRunner},l=new AbortController,P=async s=>(g.push(s),{accepted:true}),v=async s=>(c.push(s),{accepted:true}),C=async(s,O)=>{p.push({messageId:s,patch:O});},k=async s=>({userId:s,displayName:s}),E=async()=>{},b=async()=>({messageId:"mock-proactive",sentAt:Date.now()});return {instanceId:t,installationId:e.installationId,config:e.config,capabilities:new Set(e.capabilities??[]),log:n,agentRunner:u,db:i,storage:d,audit:r,abortSignal:e.abortSignal??l.signal,httpRouter:o,router:o,inbound:P,emitEvent:v,updateMessage:C,resolveUser:k,respondSync:E,proactive:b,inboundCalls:g,emittedEvents:c,sentMessages:p}}function L(){}var R={claude:{models:[{id:"claude-fable-5",name:"Claude Fable 5"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"claude-opus-4-8[1m]",name:"Claude Opus 4.8 (Extended)"},{id:"claude-opus-4-8",name:"Claude Opus 4.8"},{id:"claude-opus-4-7[1m]",name:"Claude Opus 4.7 (Extended)"},{id:"claude-opus-4-7",name:"Claude Opus 4.7"},{id:"claude-opus-4-6[1m]",name:"Claude Opus 4.6 (Extended)"},{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6[1m]",name:"Claude Sonnet 4.6 (Extended)"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5"}],modes:[{id:"default",name:"Default"},{id:"acceptEdits",name:"Accept Edits"},{id:"plan",name:"Plan"},{id:"auto",name:"Auto"},{id:"dontAsk",name:"Don't Ask"},{id:"bypassPermissions",name:"Bypass Permissions"}],effort:["low","medium","high"],modelOverrides:{"claude-fable-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-sonnet-5":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-8[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-8":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-7[1m]":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-7":{effort:["low","medium","high","xhigh","max"],defaultEffort:"high"},"claude-opus-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-opus-4-6":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-sonnet-4-6[1m]":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-sonnet-4-6":{effort:["low","medium","high","max"],defaultEffort:"high"},"claude-haiku-4-5":{effort:[]}}},codex:{models:[{id:"gpt-5.6-sol",name:"GPT-5.6 Sol"},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra"},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna"},{id:"gpt-5.5",name:"GPT-5.5"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark"}],modes:[{id:"agent",name:"Agent"},{id:"read-only",name:"Read Only"},{id:"plan",name:"Plan"},{id:"agent-full-access",name:"Agent Full Access"},{id:"yolo",name:"YOLO"}],effort:["minimal","low","medium","high"],modelOverrides:{"gpt-5.6-sol":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"xhigh"},"gpt-5.6-terra":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"high"},"gpt-5.6-luna":{effort:["none","low","medium","high","xhigh","max"],defaultEffort:"high"},"gpt-5.5":{effort:["minimal","low","medium","high","xhigh"],defaultEffort:"high"}}},copilot:{models:[{id:"auto",name:"Auto"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"gpt-5.5",name:"GPT-5.5"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"}],modes:[{id:"interactive",name:"Interactive"},{id:"plan",name:"Plan"},{id:"autopilot",name:"Autopilot"}],effort:["none","low","medium","high","xhigh","max"],modelOverrides:{}},antigravity:{models:[{id:"Gemini 3.5 Flash (Medium)",name:"Gemini 3.5 Flash (Medium)"},{id:"Gemini 3.5 Flash (High)",name:"Gemini 3.5 Flash (High)"},{id:"Gemini 3.5 Flash (Low)",name:"Gemini 3.5 Flash (Low)"},{id:"Gemini 3.1 Pro (Low)",name:"Gemini 3.1 Pro (Low)"},{id:"Gemini 3.1 Pro (High)",name:"Gemini 3.1 Pro (High)"},{id:"Claude Sonnet 4.6 (Thinking)",name:"Claude Sonnet 4.6 (Thinking)"},{id:"Claude Opus 4.6 (Thinking)",name:"Claude Opus 4.6 (Thinking)"},{id:"GPT-OSS 120B (Medium)",name:"GPT-OSS 120B (Medium)"}],modes:[],effort:[],modelOverrides:{}}};Object.fromEntries(Object.entries(R).map(([e,t])=>[e,t.models]));function G(){}exports.createMockAudit=m;exports.createMockContext=A;exports.createMockLogger=f;exports.createMockRouter=h;exports.createMockStorage=x;exports.createMockStore=y;exports.resetModelsOverride=G;exports.resetPricingOverride=L;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1299,6 +1299,7 @@ export interface CrewxOptions {
|
|
|
1299
1299
|
};
|
|
1300
1300
|
remoteFactory?: (configPath: string) => Promise<import('../facade/Crewx').Crewx>;
|
|
1301
1301
|
includeBuiltIns?: boolean;
|
|
1302
|
+
additionalArgsProvider?: import('../provider/bridge').AdditionalArgsProvider;
|
|
1302
1303
|
}
|
|
1303
1304
|
export interface QueryOptions {
|
|
1304
1305
|
model?: string;
|
|
@@ -1306,6 +1307,9 @@ export interface QueryOptions {
|
|
|
1306
1307
|
effort?: string;
|
|
1307
1308
|
context?: string;
|
|
1308
1309
|
metadata?: Record<string, unknown>;
|
|
1310
|
+
overdrive?: boolean | {
|
|
1311
|
+
mode?: 'count' | 'latch';
|
|
1312
|
+
};
|
|
1309
1313
|
threadId?: string;
|
|
1310
1314
|
taskId?: string;
|
|
1311
1315
|
platform?: Platform;
|
|
@@ -1343,6 +1347,9 @@ export interface ExecuteOptions {
|
|
|
1343
1347
|
effort?: string;
|
|
1344
1348
|
context?: string;
|
|
1345
1349
|
metadata?: Record<string, unknown>;
|
|
1350
|
+
overdrive?: boolean | {
|
|
1351
|
+
mode?: 'count' | 'latch';
|
|
1352
|
+
};
|
|
1346
1353
|
threadId?: string;
|
|
1347
1354
|
taskId?: string;
|
|
1348
1355
|
platform?: Platform;
|
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';
|
|
1
|
+
export type EntityPrefix = 'tsk' | 'thd' | 'msg' | 'box' | 'prj' | 'mem' | 'spn' | 'cron' | 'wbs' | 'job' | 'tcl' | 'req' | 'ws' | 'wfr' | 'ntf';
|
|
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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crewx/sdk",
|
|
3
|
-
"version": "0.9.0-rc.
|
|
3
|
+
"version": "0.9.0-rc.31",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=20.19.0"
|
|
@@ -117,11 +117,12 @@
|
|
|
117
117
|
"vitest": "3.2.4"
|
|
118
118
|
},
|
|
119
119
|
"scripts": {
|
|
120
|
+
"prebuild": "node scripts/generate-pricing.mjs && node scripts/generate-models.mjs",
|
|
120
121
|
"build:cjs": "tsup --config tsup.cjs.js",
|
|
121
122
|
"build:esm": "tsup --config tsup.esm.js",
|
|
122
123
|
"build:browser": "tsup --config tsup.browser.js",
|
|
123
124
|
"build:dts": "tsc -p tsconfig.dts.json",
|
|
124
|
-
"build": "pnpm run build:cjs && pnpm run build:esm && pnpm run build:browser && pnpm run build:dts && node scripts/copy-migrations.mjs",
|
|
125
|
+
"build": "pnpm run prebuild && pnpm run build:cjs && pnpm run build:esm && pnpm run build:browser && pnpm run build:dts && node scripts/copy-migrations.mjs",
|
|
125
126
|
"db:generate": "cd ../.. && drizzle-kit generate --config drizzle.config.ts && node packages/sdk/scripts/post-generate.mjs",
|
|
126
127
|
"db:check": "cd ../.. && drizzle-kit check --config drizzle.config.ts",
|
|
127
128
|
"test": "vitest run --config ./vitest.config.ts",
|
|
@@ -46,6 +46,13 @@ layouts:
|
|
|
46
46
|
</dispatched_from>
|
|
47
47
|
{{/if}}
|
|
48
48
|
|
|
49
|
+
{{#if vars.crewx_workspace_path}}
|
|
50
|
+
<current_workspace>
|
|
51
|
+
<path>{{{vars.crewx_workspace_path}}}</path>
|
|
52
|
+
<note>This is the absolute path of the workspace you are currently running in.</note>
|
|
53
|
+
</current_workspace>
|
|
54
|
+
{{/if}}
|
|
55
|
+
|
|
49
56
|
{{#if agentMetadata.specialties.length}}
|
|
50
57
|
<specialties>
|
|
51
58
|
{{#each agentMetadata.specialties}}
|
|
@@ -121,6 +128,26 @@ layouts:
|
|
|
121
128
|
</cli_options>
|
|
122
129
|
{{/if}}
|
|
123
130
|
</session>
|
|
131
|
+
|
|
132
|
+
<delegation_lifecycle>
|
|
133
|
+
You are running as a SINGLE-SHOT CLI process (print mode). There is no next turn:
|
|
134
|
+
- The moment you emit your final answer, this process exits and every child
|
|
135
|
+
process it spawned — including backgrounded Bash commands — is killed (SIGTERM).
|
|
136
|
+
- Harness messages like "running in the background" or "you will be notified
|
|
137
|
+
when it completes" are NOT true in this mode. That notification will never
|
|
138
|
+
arrive; trusting it silently kills the delegated work.
|
|
139
|
+
|
|
140
|
+
Rules for delegation and long-running commands:
|
|
141
|
+
- Run delegations (npx crewx q / npx crewx x) in the FOREGROUND and wait for
|
|
142
|
+
the result within the same turn. Never use run_in_background, `&`, or nohup
|
|
143
|
+
for a CrewX delegation.
|
|
144
|
+
- If the harness force-moves a long command to the background (e.g. on
|
|
145
|
+
timeout), do NOT end your turn. Keep checking completion with short
|
|
146
|
+
foreground status checks until it actually finishes.
|
|
147
|
+
- A PID, a "running" status, a partially created file, or a --thread link is
|
|
148
|
+
NOT evidence of completion. Report success only after the command has
|
|
149
|
+
exited and returned its final result.
|
|
150
|
+
</delegation_lifecycle>
|
|
124
151
|
</agent_profile>
|
|
125
152
|
{{/if}}
|
|
126
153
|
|
|
@@ -239,6 +266,13 @@ layouts:
|
|
|
239
266
|
```
|
|
240
267
|
|
|
241
268
|
→ Full usage: `{{env.CREWX_CLI}} workflow --help`
|
|
269
|
+
|
|
270
|
+
### Notify (`{{env.CREWX_CLI}} notify`)
|
|
271
|
+
Send an in-app notification to the user's CrewX dashboard. Use for signals that need the user's attention or judgment after a run (e.g. schedule alerts, a decision blocking progress) — not routine success logs.
|
|
272
|
+
|
|
273
|
+
```bash
|
|
274
|
+
{{env.CREWX_CLI}} notify "<title>" [--level=info|warning|critical] [--body="..."]
|
|
275
|
+
```
|
|
242
276
|
</builtin_tools>
|
|
243
277
|
{{/if}}
|
|
244
278
|
|