codebuff 1.0.231 → 1.0.233
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/cli-handlers/inititalization-flow.d.ts +1 -0
- package/dist/cli-handlers/inititalization-flow.js +24 -0
- package/dist/cli-handlers/inititalization-flow.js.map +1 -0
- package/dist/cli.js +9 -6
- package/dist/cli.js.map +1 -1
- package/dist/client.d.ts +6 -6
- package/dist/client.js +40 -38
- package/dist/client.js.map +1 -1
- package/dist/code-map/tsconfig.tsbuildinfo +1 -1
- package/dist/common/actions.d.ts +54 -54
- package/dist/common/bigquery/client.js +5 -4
- package/dist/common/bigquery/client.js.map +1 -1
- package/dist/common/bigquery/schema.d.ts +1 -0
- package/dist/common/bigquery/schema.js.map +1 -1
- package/dist/common/billing/balance-calculator.d.ts +2 -2
- package/dist/common/billing/quota-manager.d.ts +29 -0
- package/dist/common/billing/quota-manager.js +251 -0
- package/dist/common/billing/quota-manager.js.map +1 -0
- package/dist/common/constants.d.ts +7 -5
- package/dist/common/constants.js +14 -9
- package/dist/common/constants.js.map +1 -1
- package/dist/common/json-config/__tests__/stringify-schema.test.js +7 -7
- package/dist/common/json-config/__tests__/stringify-schema.test.js.map +1 -1
- package/dist/common/json-config/constants.d.ts +5 -0
- package/dist/common/json-config/constants.js +11 -5
- package/dist/common/json-config/constants.js.map +1 -1
- package/dist/common/json-config/parser.d.ts +1 -1
- package/dist/common/json-config/parser.js +16 -9
- package/dist/common/json-config/parser.js.map +1 -1
- package/dist/common/json-config/stringify-schema.d.ts +1 -1
- package/dist/common/json-config/stringify-schema.js +51 -36
- package/dist/common/json-config/stringify-schema.js.map +1 -1
- package/dist/common/logger.d.ts +1 -0
- package/dist/common/logger.js +7 -0
- package/dist/common/logger.js.map +1 -0
- package/dist/common/types/usage.d.ts +4 -4
- package/dist/common/util/constants.d.ts +1 -0
- package/dist/common/util/constants.js +7 -0
- package/dist/common/util/constants.js.map +1 -0
- package/dist/common/util/helpers.d.ts +1 -0
- package/dist/common/util/helpers.js +6 -0
- package/dist/common/util/helpers.js.map +1 -0
- package/dist/common/util/token-counter.d.ts +3 -0
- package/dist/common/util/token-counter.js +27 -0
- package/dist/common/util/token-counter.js.map +1 -0
- package/dist/common/util/tools.d.ts +2 -0
- package/dist/common/util/tools.js +13 -0
- package/dist/common/util/tools.js.map +1 -0
- package/dist/common/websockets/websocket-schema.d.ts +104 -104
- package/dist/dev-process-manager.d.ts +1 -1
- package/dist/dev-process-manager.js +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/menu.js +12 -11
- package/dist/menu.js.map +1 -1
- package/dist/tool-handlers.js +16 -2
- package/dist/tool-handlers.js.map +1 -1
- package/package.json +2 -1
|
@@ -143,9 +143,9 @@ async function getTracesWithoutRelabels(model, limit = 100, userId = undefined,
|
|
|
143
143
|
async function getTracesWithRelabels(model, limit = 100, dataset = DATASET) {
|
|
144
144
|
// Get traces that DO have matching relabels for the specified model
|
|
145
145
|
const query = `
|
|
146
|
-
SELECT
|
|
147
|
-
t as trace,
|
|
148
|
-
r as relabel
|
|
146
|
+
SELECT
|
|
147
|
+
ANY_VALUE(t) as trace,
|
|
148
|
+
ARRAY_AGG(r ORDER BY r.created_at DESC LIMIT 1)[OFFSET(0)] as relabel
|
|
149
149
|
FROM \`${dataset}.${TRACES_TABLE}\` t
|
|
150
150
|
INNER JOIN (
|
|
151
151
|
SELECT *
|
|
@@ -158,7 +158,8 @@ async function getTracesWithRelabels(model, limit = 100, dataset = DATASET) {
|
|
|
158
158
|
WHERE t.type = 'get-relevant-files'
|
|
159
159
|
AND JSON_EXTRACT_SCALAR(t.payload, '$.output') IS NOT NULL
|
|
160
160
|
AND JSON_EXTRACT_SCALAR(r.payload, '$.output') IS NOT NULL
|
|
161
|
-
|
|
161
|
+
GROUP BY t.agent_step_id
|
|
162
|
+
ORDER BY MAX(t.created_at) DESC
|
|
162
163
|
LIMIT ${limit}
|
|
163
164
|
`;
|
|
164
165
|
const [rows] = await client.query(query);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/bigquery/client.ts"],"names":[],"mappings":";;AAsBA,sCAgCC;AAED,kCAyBC;AAED,sCAyBC;AAED,0CAgBC;AAED,8CAgBC;AAED,4DAiCC;AAED,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/bigquery/client.ts"],"names":[],"mappings":";;AAsBA,sCAgCC;AAED,kCAyBC;AAED,sCAyBC;AAED,0CAgBC;AAED,8CAgBC;AAED,4DAiCC;AAED,sDAuDC;AAED,kEAkEC;AAhTD,qDAAiD;AAEjD,2CAAuC;AACvC,qCAMiB;AAEjB,MAAM,OAAO,GACX,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,YAAY;IACrD,CAAC,CAAC,eAAe;IACjB,CAAC,CAAC,mBAAmB,CAAA;AAEzB,MAAM,YAAY,GAAG,QAAQ,CAAA;AAC7B,MAAM,cAAc,GAAG,UAAU,CAAA;AAEjC,uEAAuE;AACvE,MAAM,MAAM,GAAG,IAAI,mBAAQ,EAAE,CAAA;AAEtB,KAAK,UAAU,aAAa,CAAC,UAAkB,OAAO;IAC3D,IAAI,CAAC;QACH,wBAAwB;QACxB,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;QAEpE,sBAAsB;QACtB,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC;YAC/B,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,sBAAa;YACrB,gBAAgB,EAAE;gBAChB,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,YAAY;aACpB;YACD,UAAU,EAAE;gBACV,MAAM,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC;aACrC;SACF,CAAC,CAAA;QACF,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC;YACjC,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,wBAAe;YACvB,gBAAgB,EAAE;gBAChB,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,YAAY;aACpB;YACD,UAAU,EAAE;gBACV,MAAM,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC;aACrC;SACF,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QACnE,eAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,+BAA+B,CAAC,CAAA;IAC1D,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,KAAY,EAAE,UAAkB,OAAO;IACvE,IAAI,CAAC;QACH,6DAA6D;QAC7D,MAAM,aAAa,GAAG;YACpB,GAAG,KAAK;YACR,OAAO,EACL,KAAK,CAAC,OAAO,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;gBAChD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;gBAC/B,CAAC,CAAC,KAAK,CAAC,OAAO;SACpB,CAAA;QAED,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QAEvE,eAAM,CAAC,KAAK,CACV,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EACvC,8BAA8B,CAC/B,CAAA;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CACV,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,EAC5B,sCAAsC,CACvC,CAAA;QACD,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,aAAa,CACjC,OAAgB,EAChB,UAAkB,OAAO;IAEzB,IAAI,CAAC;QACH,8BAA8B;QAC9B,MAAM,eAAe,GAAG;YACtB,GAAG,OAAO;YACV,OAAO,EACL,OAAO,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;gBACpD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;gBACjC,CAAC,CAAC,OAAO,CAAC,OAAO;SACtB,CAAA;QAED,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;QAE3E,eAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,gCAAgC,CAAC,CAAA;QACzE,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CACV,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,EAChC,wCAAwC,CACzC,CAAA;QACD,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,eAAe,CACnC,QAAgB,EAAE,EAClB,UAAkB,OAAO;IAEzB,MAAM,KAAK,GAAG;oBACI,OAAO,IAAI,YAAY;;YAE/B,KAAK;GACd,CAAA;IACD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACxC,6CAA6C;IAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxB,GAAG,GAAG;QACN,OAAO,EACL,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO;KAC1E,CAAC,CAAY,CAAA;AAChB,CAAC;AAEM,KAAK,UAAU,iBAAiB,CACrC,QAAgB,EAAE,EAClB,UAAkB,OAAO;IAEzB,MAAM,KAAK,GAAG;oBACI,OAAO,IAAI,cAAc;;YAEjC,KAAK;GACd,CAAA;IACD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACxC,6CAA6C;IAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxB,GAAG,GAAG;QACN,OAAO,EACL,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO;KAC1E,CAAC,CAAc,CAAA;AAClB,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAC5C,KAAa,EACb,QAAgB,GAAG,EACnB,SAA6B,SAAS,EACtC,UAAkB,OAAO;IAEzB,kEAAkE;IAClE,MAAM,KAAK,GAAG;;aAEH,OAAO,IAAI,YAAY;;;eAGrB,OAAO,IAAI,cAAc;yBACf,KAAK;QACtB,MAAM,CAAC,CAAC,CAAC,oBAAoB,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE;;;;;;;QAO3C,MAAM,CAAC,CAAC,CAAC,oBAAoB,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE;;YAEvC,KAAK;GACd,CAAA;IAED,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACxC,6CAA6C;IAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxB,GAAG,GAAG;QACN,OAAO,EACL,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO;KAC1E,CAAC,CAA4B,CAAA;AAChC,CAAC;AAEM,KAAK,UAAU,qBAAqB,CACzC,KAAa,EACb,QAAgB,GAAG,EACnB,UAAkB,OAAO;IAEzB,oEAAoE;IACpE,MAAM,KAAK,GAAG;;;;WAIL,OAAO,IAAI,YAAY;;;aAGrB,OAAO,IAAI,cAAc;uBACf,KAAK;;;;;;;;;;UAUlB,KAAK;GACZ,CAAA;IAED,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAExC,uEAAuE;IACvE,MAAM,GAAG,GAAG,IAAI;SACb,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC;SACzC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACb,KAAK,EAAE,GAAG,CAAC,KAA8B;QACzC,OAAO,EAAE,GAAG,CAAC,OAAkB;KAChC,CAAC,CAAC,CAAA;IAEL,6CAA6C;IAC7C,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACvB,GAAG,GAAG;QACN,KAAK,EAAE;YACL,GAAG,GAAG,CAAC,KAAK;YACZ,OAAO,EACL,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ;gBACnC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;gBAC/B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO;SACxB;QACD,OAAO,EAAE;YACP,GAAG,GAAG,CAAC,OAAO;YACd,OAAO,EACL,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,QAAQ;gBACrC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;gBACjC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO;SAC1B;KACF,CAAC,CAAyD,CAAA;AAC7D,CAAC;AAEM,KAAK,UAAU,2BAA2B,CAC/C,MAAc,EACd,QAAgB,EAAE,EAClB,UAAkB,OAAO;IAEzB,6DAA6D;IAC7D,MAAM,KAAK,GAAG;;;;;;;;;aASH,OAAO,IAAI,YAAY;uBACb,MAAM;;YAEjB,KAAK;;;;;;;;;;;gBAWD,OAAO,IAAI,cAAc;;;;;;GAMtC,CAAA;IAED,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAExC,gCAAgC;IAChC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtB,6CAA6C;QAC7C,MAAM,KAAK,GAAG;YACZ,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EACL,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO;SACjD,CAAA;QAE1B,wCAAwC;QACxC,MAAM,QAAQ,GACZ,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YACrC,CAAC,CAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE,CAAC,CAAC;gBACnC,GAAG,OAAO;gBACV,OAAO,EACL,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;oBACjC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;oBAC7B,CAAC,CAAC,OAAO,CAAC,OAAO;aACtB,CAAC,CAAe;YACnB,CAAC,CAAC,EAAE,CAAA;QAER,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;IAC5B,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/bigquery/schema.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/bigquery/schema.ts"],"names":[],"mappings":";;;AA4Da,QAAA,aAAa,GAAgB;IACxC,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,OAAO;QACzD,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,0DAA0D;QACvH,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,UAAU;QACjE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE;QAC3D,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE;QAClD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE;KACpD;CACF,CAAA;AAYY,QAAA,eAAe,GAAgB;IAC1C,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,OAAO;QACzD,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,0DAA0D;QACvH,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,UAAU;QACjE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE;QAC3D,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE;QACnD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE;KACpD;CACF,CAAA"}
|
|
@@ -21,15 +21,15 @@ type DbConn = Pick<typeof db, 'select' | 'update'>;
|
|
|
21
21
|
* Added optional `conn` param so callers inside a transaction can supply their TX object.
|
|
22
22
|
*/
|
|
23
23
|
export declare function getOrderedActiveGrants(userId: string, now: Date, conn?: DbConn): Promise<{
|
|
24
|
+
created_at: Date;
|
|
24
25
|
type: import("../types/grant").GrantType;
|
|
26
|
+
expires_at: Date | null;
|
|
25
27
|
operation_id: string;
|
|
26
28
|
user_id: string;
|
|
27
|
-
created_at: Date;
|
|
28
29
|
principal: number;
|
|
29
30
|
balance: number;
|
|
30
31
|
description: string | null;
|
|
31
32
|
priority: number;
|
|
32
|
-
expires_at: Date | null;
|
|
33
33
|
}[]>;
|
|
34
34
|
/**
|
|
35
35
|
* Calculates both the current balance and usage in this cycle in a single query.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
type CheckQuotaResult = Promise<{
|
|
2
|
+
creditsUsed: number;
|
|
3
|
+
quota: number;
|
|
4
|
+
endDate: Date;
|
|
5
|
+
subscription_active: boolean;
|
|
6
|
+
session_credits_used?: number;
|
|
7
|
+
}>;
|
|
8
|
+
export interface IQuotaManager {
|
|
9
|
+
checkQuota(id: string, sessionId?: string): CheckQuotaResult;
|
|
10
|
+
setNextQuota(id: string, quota_exceeded: boolean, next_quota_reset: Date): Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
export declare class AnonymousQuotaManager implements IQuotaManager {
|
|
13
|
+
checkQuota(fingerprintId: string, sessionId?: string): CheckQuotaResult;
|
|
14
|
+
setNextQuota(fingerprintId: string, quota_exceeded: boolean, next_quota_reset: Date): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
export declare class AuthenticatedQuotaManager implements IQuotaManager {
|
|
17
|
+
getStripeSubscriptionQuota(userId: string): Promise<{
|
|
18
|
+
quota: number;
|
|
19
|
+
overageRate: number | null;
|
|
20
|
+
}>;
|
|
21
|
+
checkQuota(userId: string, sessionId?: string): CheckQuotaResult;
|
|
22
|
+
setNextQuota(userId: string, quota_exceeded: boolean, next_quota_reset: Date): Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
export type AuthType = 'anonymous' | 'authenticated';
|
|
25
|
+
export declare const getQuotaManager: (authType: AuthType, id: string) => {
|
|
26
|
+
checkQuota: (sessionId?: string) => CheckQuotaResult;
|
|
27
|
+
setNextQuota: (quota_exceeded: boolean, next_quota_reset: Date) => Promise<void>;
|
|
28
|
+
};
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.getQuotaManager = exports.AuthenticatedQuotaManager = exports.AnonymousQuotaManager = void 0;
|
|
30
|
+
const stripe_1 = require("../util/stripe");
|
|
31
|
+
const constants_1 = require("../constants");
|
|
32
|
+
const db_1 = __importDefault(require("../db"));
|
|
33
|
+
const schema = __importStar(require("../db/schema"));
|
|
34
|
+
const drizzle_orm_1 = require("drizzle-orm");
|
|
35
|
+
const ts_pattern_1 = require("ts-pattern");
|
|
36
|
+
class AnonymousQuotaManager {
|
|
37
|
+
async checkQuota(fingerprintId, sessionId) {
|
|
38
|
+
const quota = constants_1.CREDITS_USAGE_LIMITS.ANON;
|
|
39
|
+
const startDate = (0, drizzle_orm_1.sql) `COALESCE(${schema.fingerprint.next_quota_reset}, now()) - INTERVAL '1 month'`;
|
|
40
|
+
const endDate = (0, drizzle_orm_1.sql) `COALESCE(${schema.fingerprint.next_quota_reset}, now())`;
|
|
41
|
+
let session_credits_used = undefined;
|
|
42
|
+
const result = await db_1.default
|
|
43
|
+
.select({
|
|
44
|
+
creditsUsed: (0, drizzle_orm_1.sql) `SUM(COALESCE(${schema.message.credits}, 0))`,
|
|
45
|
+
endDate,
|
|
46
|
+
})
|
|
47
|
+
.from(schema.fingerprint)
|
|
48
|
+
.leftJoin(schema.message, (0, drizzle_orm_1.and)((0, drizzle_orm_1.eq)(schema.message.fingerprint_id, fingerprintId), (0, drizzle_orm_1.between)(schema.message.finished_at, startDate, endDate)))
|
|
49
|
+
.where((0, drizzle_orm_1.eq)(schema.fingerprint.id, fingerprintId))
|
|
50
|
+
.groupBy(schema.fingerprint.next_quota_reset)
|
|
51
|
+
.then((rows) => {
|
|
52
|
+
if (rows.length > 0)
|
|
53
|
+
return rows[0];
|
|
54
|
+
return {
|
|
55
|
+
creditsUsed: '0',
|
|
56
|
+
endDate: new Date().toDateString(),
|
|
57
|
+
};
|
|
58
|
+
});
|
|
59
|
+
if (sessionId) {
|
|
60
|
+
session_credits_used = await db_1.default
|
|
61
|
+
.select({
|
|
62
|
+
client_id: schema.message.client_id,
|
|
63
|
+
fingerprint_id: schema.message.fingerprint_id,
|
|
64
|
+
sessionCreditsUsed: (0, drizzle_orm_1.sql) `SUM(COALESCE(${schema.message.credits}, 0))`,
|
|
65
|
+
})
|
|
66
|
+
.from(schema.message)
|
|
67
|
+
.where((0, drizzle_orm_1.and)((0, drizzle_orm_1.eq)(schema.message.client_id, sessionId), (0, drizzle_orm_1.eq)(schema.message.fingerprint_id, fingerprintId)))
|
|
68
|
+
.groupBy(schema.message.client_id, schema.message.fingerprint_id)
|
|
69
|
+
.then((rows) => {
|
|
70
|
+
if (rows.length > 0) {
|
|
71
|
+
return parseInt(rows[0].sessionCreditsUsed);
|
|
72
|
+
}
|
|
73
|
+
return 0;
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
creditsUsed: parseInt(result.creditsUsed),
|
|
78
|
+
quota,
|
|
79
|
+
endDate: new Date(result.endDate),
|
|
80
|
+
subscription_active: false,
|
|
81
|
+
session_credits_used,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
async setNextQuota(fingerprintId, quota_exceeded, next_quota_reset) {
|
|
85
|
+
await db_1.default
|
|
86
|
+
.update(schema.fingerprint)
|
|
87
|
+
.set({
|
|
88
|
+
quota_exceeded,
|
|
89
|
+
next_quota_reset,
|
|
90
|
+
})
|
|
91
|
+
.where((0, drizzle_orm_1.eq)(schema.fingerprint.id, fingerprintId));
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
exports.AnonymousQuotaManager = AnonymousQuotaManager;
|
|
95
|
+
class AuthenticatedQuotaManager {
|
|
96
|
+
async getStripeSubscriptionQuota(userId) {
|
|
97
|
+
// Get user's subscription from Stripe
|
|
98
|
+
const user = await db_1.default.query.user.findFirst({
|
|
99
|
+
where: (0, drizzle_orm_1.eq)(schema.user.id, userId),
|
|
100
|
+
columns: {
|
|
101
|
+
stripe_customer_id: true,
|
|
102
|
+
stripe_price_id: true,
|
|
103
|
+
},
|
|
104
|
+
});
|
|
105
|
+
let overageRate = null;
|
|
106
|
+
let quota = constants_1.CREDITS_USAGE_LIMITS.PRO;
|
|
107
|
+
if (user?.stripe_customer_id && user?.stripe_price_id) {
|
|
108
|
+
const subscriptions = await stripe_1.stripeServer.subscriptions.list({
|
|
109
|
+
customer: user.stripe_customer_id,
|
|
110
|
+
status: 'active',
|
|
111
|
+
limit: 1,
|
|
112
|
+
});
|
|
113
|
+
if (subscriptions.data[0]?.id) {
|
|
114
|
+
const subscription = await stripe_1.stripeServer.subscriptions.retrieve(subscriptions.data[0].id, {
|
|
115
|
+
expand: ['items.data.price.tiers'],
|
|
116
|
+
});
|
|
117
|
+
// Get the metered price item which contains our overage rate
|
|
118
|
+
const meteredPrice = subscription.items.data.find((item) => item.price.recurring?.usage_type === 'metered');
|
|
119
|
+
if (meteredPrice?.price.tiers) {
|
|
120
|
+
for (const tier of meteredPrice.price.tiers) {
|
|
121
|
+
if (tier.up_to) {
|
|
122
|
+
quota = Math.max(quota, tier.up_to);
|
|
123
|
+
}
|
|
124
|
+
if (tier.up_to === null && tier.unit_amount_decimal) {
|
|
125
|
+
overageRate = parseFloat(tier.unit_amount_decimal);
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return { quota, overageRate };
|
|
133
|
+
}
|
|
134
|
+
async checkQuota(userId, sessionId) {
|
|
135
|
+
const userResult = await db_1.default.query.user.findFirst({
|
|
136
|
+
where: (0, drizzle_orm_1.eq)(schema.user.id, userId),
|
|
137
|
+
columns: {
|
|
138
|
+
id: true,
|
|
139
|
+
quota: true,
|
|
140
|
+
stripe_customer_id: true,
|
|
141
|
+
stripe_price_id: true,
|
|
142
|
+
subscription_active: true,
|
|
143
|
+
next_quota_reset: true,
|
|
144
|
+
},
|
|
145
|
+
});
|
|
146
|
+
if (!userResult) {
|
|
147
|
+
return {
|
|
148
|
+
creditsUsed: 0,
|
|
149
|
+
quota: constants_1.CREDITS_USAGE_LIMITS.FREE,
|
|
150
|
+
endDate: new Date(),
|
|
151
|
+
subscription_active: false,
|
|
152
|
+
session_credits_used: 0,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
let startDate;
|
|
156
|
+
let endDate;
|
|
157
|
+
let subscription_active = userResult.subscription_active;
|
|
158
|
+
if (subscription_active && userResult.stripe_customer_id) {
|
|
159
|
+
try {
|
|
160
|
+
const subscription = await (0, stripe_1.getCurrentSubscription)(userResult.stripe_customer_id);
|
|
161
|
+
if (subscription && subscription.status === 'active') {
|
|
162
|
+
startDate = new Date(subscription.current_period_start * 1000);
|
|
163
|
+
endDate = new Date(subscription.current_period_end * 1000);
|
|
164
|
+
subscription_active = true;
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
console.warn(`Subscription discrepancy for user ${userId}. DB says active, Stripe says ${subscription?.status}. Falling back to next_quota_reset.`);
|
|
168
|
+
subscription_active = false;
|
|
169
|
+
const fallbackEndDate = userResult.next_quota_reset ?? new Date();
|
|
170
|
+
endDate = new Date(fallbackEndDate);
|
|
171
|
+
startDate = new Date(endDate);
|
|
172
|
+
startDate.setMonth(startDate.getMonth() - 1);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
catch (error) {
|
|
176
|
+
console.error(`Error fetching Stripe subscription for user ${userId}:`, error);
|
|
177
|
+
subscription_active = false;
|
|
178
|
+
const fallbackEndDate = userResult.next_quota_reset ?? new Date();
|
|
179
|
+
endDate = new Date(fallbackEndDate);
|
|
180
|
+
startDate = new Date(endDate);
|
|
181
|
+
startDate.setMonth(startDate.getMonth() - 1);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
const fallbackEndDate = userResult.next_quota_reset ?? new Date();
|
|
186
|
+
endDate = new Date(fallbackEndDate);
|
|
187
|
+
startDate = new Date(endDate);
|
|
188
|
+
startDate.setMonth(startDate.getMonth() - 1);
|
|
189
|
+
if (subscription_active) {
|
|
190
|
+
subscription_active = false;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
let session_credits_used = undefined;
|
|
194
|
+
const creditsUsed = await db_1.default
|
|
195
|
+
.select({
|
|
196
|
+
creditsUsed: (0, drizzle_orm_1.sql) `SUM(COALESCE(${schema.message.credits}, 0))`,
|
|
197
|
+
})
|
|
198
|
+
.from(schema.message)
|
|
199
|
+
.where((0, drizzle_orm_1.and)((0, drizzle_orm_1.eq)(schema.message.user_id, userId), (0, drizzle_orm_1.between)(schema.message.finished_at, startDate, endDate)))
|
|
200
|
+
.then((rows) => parseInt(rows[0].creditsUsed ?? '0'));
|
|
201
|
+
if (sessionId) {
|
|
202
|
+
session_credits_used = await db_1.default
|
|
203
|
+
.select({
|
|
204
|
+
client_id: schema.message.client_id,
|
|
205
|
+
user_id: schema.message.user_id,
|
|
206
|
+
sessionCreditsUsed: (0, drizzle_orm_1.sql) `SUM(COALESCE(${schema.message.credits}, 0))`,
|
|
207
|
+
})
|
|
208
|
+
.from(schema.message)
|
|
209
|
+
.where((0, drizzle_orm_1.and)((0, drizzle_orm_1.eq)(schema.message.client_id, sessionId), (0, drizzle_orm_1.eq)(schema.message.user_id, userId)))
|
|
210
|
+
.groupBy(schema.message.client_id, schema.message.user_id)
|
|
211
|
+
.then((rows) => {
|
|
212
|
+
if (rows.length > 0) {
|
|
213
|
+
return parseInt(rows[0].sessionCreditsUsed);
|
|
214
|
+
}
|
|
215
|
+
return 0;
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
const quota = !userResult.stripe_customer_id && !userResult.stripe_price_id
|
|
219
|
+
? constants_1.CREDITS_USAGE_LIMITS.FREE
|
|
220
|
+
: userResult.quota ?? constants_1.CREDITS_USAGE_LIMITS.FREE;
|
|
221
|
+
return {
|
|
222
|
+
creditsUsed,
|
|
223
|
+
quota,
|
|
224
|
+
endDate,
|
|
225
|
+
subscription_active,
|
|
226
|
+
session_credits_used,
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
async setNextQuota(userId, quota_exceeded, next_quota_reset) {
|
|
230
|
+
await db_1.default
|
|
231
|
+
.update(schema.user)
|
|
232
|
+
.set({
|
|
233
|
+
quota_exceeded,
|
|
234
|
+
next_quota_reset,
|
|
235
|
+
})
|
|
236
|
+
.where((0, drizzle_orm_1.eq)(schema.user.id, userId));
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
exports.AuthenticatedQuotaManager = AuthenticatedQuotaManager;
|
|
240
|
+
const getQuotaManager = (authType, id) => {
|
|
241
|
+
const manager = (0, ts_pattern_1.match)(authType)
|
|
242
|
+
.with('anonymous', () => new AnonymousQuotaManager())
|
|
243
|
+
.with('authenticated', () => new AuthenticatedQuotaManager())
|
|
244
|
+
.exhaustive();
|
|
245
|
+
return {
|
|
246
|
+
checkQuota: (sessionId) => manager.checkQuota(id, sessionId),
|
|
247
|
+
setNextQuota: (quota_exceeded, next_quota_reset) => manager.setNextQuota(id, quota_exceeded, next_quota_reset),
|
|
248
|
+
};
|
|
249
|
+
};
|
|
250
|
+
exports.getQuotaManager = getQuotaManager;
|
|
251
|
+
//# sourceMappingURL=quota-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quota-manager.js","sourceRoot":"","sources":["../../src/billing/quota-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,10 @@ export declare const STOP_MARKER: string;
|
|
|
2
2
|
export declare const FIND_FILES_MARKER: string;
|
|
3
3
|
export declare const EXISTING_CODE_MARKER = "[[**REPLACE_WITH_EXISTING_CODE**]]";
|
|
4
4
|
export declare const DEFAULT_IGNORED_FILES: string[];
|
|
5
|
-
export declare const
|
|
6
|
-
export declare const
|
|
7
|
-
export declare const
|
|
8
|
-
export declare const
|
|
5
|
+
export declare const ASKED_CONFIG = "asked_config";
|
|
6
|
+
export declare const SHOULD_ASK_CONFIG = "should_ask_config";
|
|
7
|
+
export declare const ONE_TIME_TAGS: readonly [];
|
|
8
|
+
export declare const ONE_TIME_LABELS: readonly ["asked_config", "should_ask_config"];
|
|
9
9
|
export declare const FILE_READ_STATUS: {
|
|
10
10
|
readonly DOES_NOT_EXIST: "[FILE_DOES_NOT_EXIST]";
|
|
11
11
|
readonly IGNORED: "[FILE_IGNORED_BY_GITIGNORE_OR_CODEBUFF_IGNORE]";
|
|
@@ -42,7 +42,7 @@ export declare const PLAN_CONFIGS: Record<UsageLimits, PlanConfig>;
|
|
|
42
42
|
export declare const CREDITS_USAGE_LIMITS: Record<UsageLimits, number>;
|
|
43
43
|
export declare const costModes: readonly ["lite", "normal", "max", "experimental"];
|
|
44
44
|
export type CostMode = (typeof costModes)[number];
|
|
45
|
-
export declare const getModelForMode: (costMode: CostMode, operation: "agent" | "file-requests" | "check-new-files") => "claude-3-5-sonnet-20241022" | "claude-3-5-haiku-20241022" | "gpt-4o-2024-11-20" | "gpt-4o-mini-2024-07-18" | "gemini-2.5-flash-preview-04-17:thinking";
|
|
45
|
+
export declare const getModelForMode: (costMode: CostMode, operation: "agent" | "file-requests" | "check-new-files") => "claude-3-5-sonnet-20241022" | "claude-3-5-haiku-20241022" | "gpt-4.1-2025-04-14" | "gpt-4o-2024-11-20" | "gpt-4o-mini-2024-07-18" | "gemini-2.5-flash-preview-04-17:thinking";
|
|
46
46
|
export declare const claudeModels: {
|
|
47
47
|
readonly sonnet: "claude-3-5-sonnet-20241022";
|
|
48
48
|
readonly sonnet3_7: "claude-3-7-sonnet-20250219";
|
|
@@ -81,10 +81,12 @@ export declare const deepseekModels: {
|
|
|
81
81
|
export type DeepseekModel = (typeof deepseekModels)[keyof typeof deepseekModels];
|
|
82
82
|
export declare const finetunedVertexModels: {
|
|
83
83
|
readonly ft_filepicker_003: "196166068534771712";
|
|
84
|
+
readonly ft_filepicker_005: "8493203957034778624";
|
|
84
85
|
};
|
|
85
86
|
export type FinetunedVertexModel = (typeof finetunedVertexModels)[keyof typeof finetunedVertexModels];
|
|
86
87
|
export declare const models: {
|
|
87
88
|
readonly ft_filepicker_003: "196166068534771712";
|
|
89
|
+
readonly ft_filepicker_005: "8493203957034778624";
|
|
88
90
|
readonly openrouter_gemini2_5_pro_exp: "google/gemini-2.5-pro-exp-03-25:free";
|
|
89
91
|
readonly openrouter_gemini2_5_pro_preview: "google/gemini-2.5-pro-preview-03-25";
|
|
90
92
|
readonly openrouter_gemini2_5_flash: "google/gemini-2.5-flash-preview";
|
package/dist/common/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UserState = exports.AuthState = exports.TEST_USER_ID = exports.providerModelNames = exports.shortModelNames = exports.models = exports.finetunedVertexModels = exports.deepseekModels = exports.openrouterModels = exports.geminiModels = exports.openaiModels = exports.claudeModels = exports.getModelForMode = exports.costModes = exports.CREDITS_USAGE_LIMITS = exports.PLAN_CONFIGS = exports.UsageLimits = exports.getUsageLimitFromPlanName = exports.getPlanDisplayName = exports.AFFILIATE_USER_REFFERAL_LIMIT = exports.CREDITS_REFERRAL_BONUS = exports.OVERAGE_RATE_MOAR_PRO = exports.OVERAGE_RATE_PRO = exports.BILLING_PERIOD_DAYS = exports.MAX_DATE = exports.REQUEST_CREDIT_SHOW_THRESHOLD = exports.HIDDEN_FILE_READ_STATUS = exports.FILE_READ_STATUS = exports.
|
|
3
|
+
exports.UserState = exports.AuthState = exports.TEST_USER_ID = exports.providerModelNames = exports.shortModelNames = exports.models = exports.finetunedVertexModels = exports.deepseekModels = exports.openrouterModels = exports.geminiModels = exports.openaiModels = exports.claudeModels = exports.getModelForMode = exports.costModes = exports.CREDITS_USAGE_LIMITS = exports.PLAN_CONFIGS = exports.UsageLimits = exports.getUsageLimitFromPlanName = exports.getPlanDisplayName = exports.AFFILIATE_USER_REFFERAL_LIMIT = exports.CREDITS_REFERRAL_BONUS = exports.OVERAGE_RATE_MOAR_PRO = exports.OVERAGE_RATE_PRO = exports.BILLING_PERIOD_DAYS = exports.MAX_DATE = exports.REQUEST_CREDIT_SHOW_THRESHOLD = exports.HIDDEN_FILE_READ_STATUS = exports.FILE_READ_STATUS = exports.ONE_TIME_LABELS = exports.ONE_TIME_TAGS = exports.SHOULD_ASK_CONFIG = exports.ASKED_CONFIG = exports.DEFAULT_IGNORED_FILES = exports.EXISTING_CODE_MARKER = exports.FIND_FILES_MARKER = exports.STOP_MARKER = void 0;
|
|
4
4
|
exports.toOptionalFile = toOptionalFile;
|
|
5
5
|
exports.getUserState = getUserState;
|
|
6
6
|
exports.STOP_MARKER = '[' + 'END]';
|
|
@@ -30,13 +30,13 @@ exports.DEFAULT_IGNORED_FILES = [
|
|
|
30
30
|
'bun.lockb',
|
|
31
31
|
];
|
|
32
32
|
// Special message content tags indicating specific server states
|
|
33
|
-
exports.
|
|
34
|
-
exports.
|
|
35
|
-
exports.
|
|
36
|
-
exports.
|
|
37
|
-
exports.
|
|
38
|
-
exports.
|
|
39
|
-
exports.
|
|
33
|
+
exports.ASKED_CONFIG = 'asked_config';
|
|
34
|
+
exports.SHOULD_ASK_CONFIG = 'should_ask_config';
|
|
35
|
+
exports.ONE_TIME_TAGS = [];
|
|
36
|
+
exports.ONE_TIME_LABELS = [
|
|
37
|
+
...exports.ONE_TIME_TAGS,
|
|
38
|
+
exports.ASKED_CONFIG,
|
|
39
|
+
exports.SHOULD_ASK_CONFIG,
|
|
40
40
|
];
|
|
41
41
|
exports.FILE_READ_STATUS = {
|
|
42
42
|
DOES_NOT_EXIST: '[FILE_DOES_NOT_EXIST]',
|
|
@@ -118,7 +118,11 @@ exports.CREDITS_USAGE_LIMITS = Object.fromEntries(Object.entries(exports.PLAN_CO
|
|
|
118
118
|
exports.costModes = ['lite', 'normal', 'max', 'experimental'];
|
|
119
119
|
const getModelForMode = (costMode, operation) => {
|
|
120
120
|
if (operation === 'agent') {
|
|
121
|
-
return costMode === '
|
|
121
|
+
return costMode === 'experimental'
|
|
122
|
+
? exports.models.gpt4_1
|
|
123
|
+
: costMode === 'lite'
|
|
124
|
+
? exports.models.gemini2_5_flash_thinking
|
|
125
|
+
: exports.claudeModels.sonnet;
|
|
122
126
|
}
|
|
123
127
|
if (operation === 'file-requests') {
|
|
124
128
|
return costMode === 'max' ? exports.claudeModels.sonnet : exports.claudeModels.haiku;
|
|
@@ -163,6 +167,7 @@ exports.deepseekModels = {
|
|
|
163
167
|
// Vertex uses "endpoint IDs" for finetuned models, which are just integers
|
|
164
168
|
exports.finetunedVertexModels = {
|
|
165
169
|
ft_filepicker_003: '196166068534771712',
|
|
170
|
+
ft_filepicker_005: '8493203957034778624',
|
|
166
171
|
};
|
|
167
172
|
exports.models = {
|
|
168
173
|
...exports.claudeModels,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAsDA,wCAKC;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,13 +5,13 @@ const bun_test_1 = require("bun:test");
|
|
|
5
5
|
const zod_1 = require("zod");
|
|
6
6
|
const constants_1 = require("../constants");
|
|
7
7
|
const stringify_schema_1 = require("../stringify-schema");
|
|
8
|
-
(0, bun_test_1.describe)('
|
|
8
|
+
(0, bun_test_1.describe)('stringifySchema', () => {
|
|
9
9
|
(0, bun_test_1.it)('should correctly stringify StartupProcessSchema', () => {
|
|
10
|
-
const result = (0, stringify_schema_1.
|
|
10
|
+
const result = (0, stringify_schema_1.stringifySchema)(constants_1.StartupProcessSchema, 'StartupProcessSchema');
|
|
11
11
|
(0, bun_test_1.expect)(result).toMatchSnapshot();
|
|
12
12
|
});
|
|
13
13
|
(0, bun_test_1.it)('should correctly stringify CodebuffConfigSchema', () => {
|
|
14
|
-
const result = (0, stringify_schema_1.
|
|
14
|
+
const result = (0, stringify_schema_1.stringifySchema)(constants_1.CodebuffConfigSchema, 'CodebuffConfigSchema');
|
|
15
15
|
(0, bun_test_1.expect)(result).toMatchSnapshot();
|
|
16
16
|
});
|
|
17
17
|
(0, bun_test_1.it)('should handle a more complex schema', () => {
|
|
@@ -33,12 +33,12 @@ const stringify_schema_1 = require("../stringify-schema");
|
|
|
33
33
|
.describe('A nested object structure'),
|
|
34
34
|
})
|
|
35
35
|
.describe('A complex test schema');
|
|
36
|
-
const result = (0, stringify_schema_1.
|
|
36
|
+
const result = (0, stringify_schema_1.stringifySchema)(ComplexSchema, 'ComplexSchema');
|
|
37
37
|
(0, bun_test_1.expect)(result).toMatchSnapshot();
|
|
38
38
|
});
|
|
39
39
|
(0, bun_test_1.it)('should handle an empty object schema', () => {
|
|
40
40
|
const EmptySchema = zod_1.z.object({}).describe('An empty schema');
|
|
41
|
-
const result = (0, stringify_schema_1.
|
|
41
|
+
const result = (0, stringify_schema_1.stringifySchema)(EmptySchema, 'EmptySchema');
|
|
42
42
|
(0, bun_test_1.expect)(result).toMatchSnapshot();
|
|
43
43
|
});
|
|
44
44
|
(0, bun_test_1.it)('should handle schema with only optional fields', () => {
|
|
@@ -48,7 +48,7 @@ const stringify_schema_1 = require("../stringify-schema");
|
|
|
48
48
|
field2: zod_1.z.number().optional().describe('Optional field 2'),
|
|
49
49
|
})
|
|
50
50
|
.describe('Schema with only optional fields');
|
|
51
|
-
const result = (0, stringify_schema_1.
|
|
51
|
+
const result = (0, stringify_schema_1.stringifySchema)(OptionalOnlySchema, 'OptionalOnlySchema');
|
|
52
52
|
(0, bun_test_1.expect)(result).toMatchSnapshot();
|
|
53
53
|
});
|
|
54
54
|
(0, bun_test_1.it)('should handle schema with default values', () => {
|
|
@@ -59,7 +59,7 @@ const stringify_schema_1 = require("../stringify-schema");
|
|
|
59
59
|
enabled: zod_1.z.boolean().default(false).describe('Enabled with default'),
|
|
60
60
|
})
|
|
61
61
|
.describe('Schema demonstrating default values');
|
|
62
|
-
const result = (0, stringify_schema_1.
|
|
62
|
+
const result = (0, stringify_schema_1.stringifySchema)(DefaultSchema, 'DefaultSchema');
|
|
63
63
|
(0, bun_test_1.expect)(result).toMatchSnapshot();
|
|
64
64
|
});
|
|
65
65
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringify-schema.test.js","sourceRoot":"","sources":["../../../src/json-config/__tests__/stringify-schema.test.ts"],"names":[],"mappings":";;AAAA,aAAa;AACb,uCAA+C;AAC/C,6BAAuB;AAEvB,4CAAyE;AACzE,
|
|
1
|
+
{"version":3,"file":"stringify-schema.test.js","sourceRoot":"","sources":["../../../src/json-config/__tests__/stringify-schema.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
export declare const codebuffConfigFile = "codebuff.json";
|
|
3
|
+
export declare const codebuffConfigFileBackup = "codebuff.jsonc";
|
|
2
4
|
export declare const StartupProcessSchema: z.ZodObject<{
|
|
3
5
|
name: z.ZodString;
|
|
4
6
|
command: z.ZodString;
|
|
@@ -22,6 +24,7 @@ export declare const StartupProcessSchema: z.ZodObject<{
|
|
|
22
24
|
stderrFile?: string | undefined;
|
|
23
25
|
}>;
|
|
24
26
|
export declare const CodebuffConfigSchema: z.ZodObject<{
|
|
27
|
+
description: z.ZodOptional<z.ZodAny>;
|
|
25
28
|
startupProcesses: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
26
29
|
name: z.ZodString;
|
|
27
30
|
command: z.ZodString;
|
|
@@ -45,6 +48,7 @@ export declare const CodebuffConfigSchema: z.ZodObject<{
|
|
|
45
48
|
stderrFile?: string | undefined;
|
|
46
49
|
}>, "many">>;
|
|
47
50
|
}, "strip", z.ZodTypeAny, {
|
|
51
|
+
description?: any;
|
|
48
52
|
startupProcesses?: {
|
|
49
53
|
name: string;
|
|
50
54
|
command: string;
|
|
@@ -54,6 +58,7 @@ export declare const CodebuffConfigSchema: z.ZodObject<{
|
|
|
54
58
|
stderrFile?: string | undefined;
|
|
55
59
|
}[] | undefined;
|
|
56
60
|
}, {
|
|
61
|
+
description?: any;
|
|
57
62
|
startupProcesses?: {
|
|
58
63
|
name: string;
|
|
59
64
|
command: string;
|