paseo-acp-agy 1.2.9 → 1.2.10
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/paseo-patcher.js +34 -20
- package/dist/protocol.js +18 -5
- package/dist/slash-commands.js +10 -5
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/dist/paseo-patcher.js
CHANGED
|
@@ -444,7 +444,7 @@ export class AntigravityQuotaProvider {
|
|
|
444
444
|
let remainingPct = null;
|
|
445
445
|
let resetsAt = null;
|
|
446
446
|
|
|
447
|
-
const m = trimmed.match(/^(.*?)\\s{2,}(.*?
|
|
447
|
+
const m = trimmed.match(/^(.*?)\\s{2,}(.*?)\\s+(\\d+)%(?:\\s+(.*))?$/i);
|
|
448
448
|
if (m) {
|
|
449
449
|
scope = m[1].trim();
|
|
450
450
|
limitType = m[2].trim();
|
|
@@ -477,13 +477,18 @@ export class AntigravityQuotaProvider {
|
|
|
477
477
|
|
|
478
478
|
if (remainingPct !== null && !isNaN(remainingPct)) {
|
|
479
479
|
const usedPct = Math.max(0, Math.min(100, 100 - remainingPct));
|
|
480
|
-
const isFiveHour = /five\\s*hour/i.test(limitType);
|
|
481
|
-
const isWeekly = /
|
|
482
|
-
const
|
|
480
|
+
const isFiveHour = /session|five\\s*hour|5-?hour|5h/i.test(limitType);
|
|
481
|
+
const isWeekly = /week|7-?day/i.test(limitType);
|
|
482
|
+
const isArgon = /argon/i.test(scope) || /argon/i.test(limitType);
|
|
483
|
+
const isClaude = /claude|gpt/i.test(scope);
|
|
484
|
+
const isGemini = (/gemini/i.test(scope) || !isClaude) && !isArgon;
|
|
483
485
|
|
|
484
486
|
let id = isFiveHour ? "session" : isWeekly ? "weekly" : "quota";
|
|
485
487
|
let label = isFiveHour ? "Session" : isWeekly ? "Weekly" : limitType.replace(/\\s+Remaining$/i, "");
|
|
486
|
-
if (
|
|
488
|
+
if (isArgon) {
|
|
489
|
+
id = \`argon_\${id}\`;
|
|
490
|
+
label = \`Gemini 4 Argon \${isFiveHour ? "Session" : isWeekly ? "Weekly" : limitType.replace(/\\s+Remaining$/i, "").replace(/^Gemini 4 Argon\\s+/i, "")}\`;
|
|
491
|
+
} else if (!isGemini) {
|
|
487
492
|
id = \`claude_\${id}\`;
|
|
488
493
|
label = \`Claude \${label}\`;
|
|
489
494
|
}
|
|
@@ -496,16 +501,18 @@ export class AntigravityQuotaProvider {
|
|
|
496
501
|
tone: toneFromUsedPct(usedPct),
|
|
497
502
|
isFiveHour,
|
|
498
503
|
isGemini,
|
|
504
|
+
isArgon,
|
|
499
505
|
});
|
|
500
506
|
}
|
|
501
507
|
}
|
|
502
508
|
|
|
503
509
|
rawWindows.sort((a, b) => {
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
510
|
+
const score = (w) => {
|
|
511
|
+
if (w.isGemini && !w.isArgon) return w.isFiveHour ? 1 : 2;
|
|
512
|
+
if (w.isArgon) return w.isFiveHour ? 3 : 4;
|
|
513
|
+
return w.isFiveHour ? 5 : 6;
|
|
514
|
+
};
|
|
515
|
+
return score(a) - score(b);
|
|
509
516
|
});
|
|
510
517
|
|
|
511
518
|
const windows = rawWindows.map(w => windowFromUsedPct(w));
|
|
@@ -724,7 +731,7 @@ export async function fetchAntigravityUsage() {
|
|
|
724
731
|
let resetsAt = null;
|
|
725
732
|
|
|
726
733
|
// Format 1: Table format e.g. "Gemini Models Weekly Limit Remaining 56% 2026-10-14 04:37 UTC"
|
|
727
|
-
const m = line.match(/^(.*?)\\s{2,}(.*?
|
|
734
|
+
const m = line.match(/^(.*?)\\s{2,}(.*?)\\s+(\\d+)%(?:\\s+(.*))?$/i);
|
|
728
735
|
if (m) {
|
|
729
736
|
scope = m[1].trim();
|
|
730
737
|
limitType = m[2].trim();
|
|
@@ -738,7 +745,7 @@ export async function fetchAntigravityUsage() {
|
|
|
738
745
|
} else {
|
|
739
746
|
// Format 2: Tab / multi-space separated
|
|
740
747
|
const parts = line.split(/\\t+|\\s{2,}/).map(p => p.trim());
|
|
741
|
-
if (parts.length >= 3
|
|
748
|
+
if (parts.length >= 3) {
|
|
742
749
|
scope = parts[0];
|
|
743
750
|
limitType = parts[1];
|
|
744
751
|
const remMatch = parts[2].match(/(\\d+)%/);
|
|
@@ -779,11 +786,16 @@ export async function fetchAntigravityUsage() {
|
|
|
779
786
|
const usedPct = Math.max(0, Math.min(100, 100 - remainingPct));
|
|
780
787
|
const isFiveHour = /session|five\\s*hour|5-?hour|5h/i.test(limitType);
|
|
781
788
|
const isWeekly = /week|7-?day/i.test(limitType);
|
|
782
|
-
const
|
|
789
|
+
const isArgon = /argon/i.test(scope) || /argon/i.test(limitType);
|
|
790
|
+
const isClaude = /claude|gpt/i.test(scope);
|
|
791
|
+
const isGemini = (/gemini/i.test(scope) || !isClaude) && !isArgon;
|
|
783
792
|
|
|
784
793
|
let id = isFiveHour ? "session" : isWeekly ? "weekly" : "quota";
|
|
785
794
|
let label = isFiveHour ? "Session" : isWeekly ? "Weekly" : limitType.replace(/\\s+Remaining$/i, "");
|
|
786
|
-
if (
|
|
795
|
+
if (isArgon) {
|
|
796
|
+
id = \`argon_\${id}\`;
|
|
797
|
+
label = \`Gemini 4 Argon \${isFiveHour ? "Session" : isWeekly ? "Weekly" : limitType.replace(/\\s+Remaining$/i, "").replace(/^Gemini 4 Argon\\s+/i, "")}\`;
|
|
798
|
+
} else if (!isGemini) {
|
|
787
799
|
id = \`claude_\${id}\`;
|
|
788
800
|
label = \`Claude \${label}\`;
|
|
789
801
|
}
|
|
@@ -791,7 +803,7 @@ export async function fetchAntigravityUsage() {
|
|
|
791
803
|
rawWindows.push({
|
|
792
804
|
id,
|
|
793
805
|
label,
|
|
794
|
-
shortLabel: isFiveHour ? "5h" : isWeekly ? "wk" : "",
|
|
806
|
+
shortLabel: isFiveHour ? "5h" : isWeekly ? "wk" : isArgon ? "Argon" : "",
|
|
795
807
|
summary: true,
|
|
796
808
|
usedPct,
|
|
797
809
|
remainingPct,
|
|
@@ -799,16 +811,18 @@ export async function fetchAntigravityUsage() {
|
|
|
799
811
|
tone: toneFromUsedPct(usedPct),
|
|
800
812
|
isFiveHour,
|
|
801
813
|
isGemini,
|
|
814
|
+
isArgon,
|
|
802
815
|
});
|
|
803
816
|
}
|
|
804
817
|
}
|
|
805
818
|
|
|
806
819
|
rawWindows.sort((a, b) => {
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
820
|
+
const score = (w) => {
|
|
821
|
+
if (w.isGemini && !w.isArgon) return w.isFiveHour ? 1 : 2;
|
|
822
|
+
if (w.isArgon) return w.isFiveHour ? 3 : 4;
|
|
823
|
+
return w.isFiveHour ? 5 : 6;
|
|
824
|
+
};
|
|
825
|
+
return score(a) - score(b);
|
|
812
826
|
});
|
|
813
827
|
|
|
814
828
|
const windows = rawWindows.map(w => ({
|
package/dist/protocol.js
CHANGED
|
@@ -137,6 +137,7 @@ export function extractPromptText(promptInput) {
|
|
|
137
137
|
return "Please continue.";
|
|
138
138
|
}
|
|
139
139
|
export const MODEL_PRICING = {
|
|
140
|
+
"gemini-4-argon": { inputCostPerM: 1.25, outputCostPerM: 5.00, cachedInputCostPerM: 0.3125 },
|
|
140
141
|
"gemini-3.8-flash": { inputCostPerM: 0.10, outputCostPerM: 0.40, cachedInputCostPerM: 0.025 },
|
|
141
142
|
"gemini-3.7-flash": { inputCostPerM: 0.10, outputCostPerM: 0.40, cachedInputCostPerM: 0.025 },
|
|
142
143
|
"gemini-3.6-flash": { inputCostPerM: 0.10, outputCostPerM: 0.40, cachedInputCostPerM: 0.025 },
|
|
@@ -148,6 +149,7 @@ export const MODEL_PRICING = {
|
|
|
148
149
|
"gpt-oss-120b": { inputCostPerM: 0.15, outputCostPerM: 0.60, cachedInputCostPerM: 0.0375 },
|
|
149
150
|
};
|
|
150
151
|
export const MODEL_CONTEXT_WINDOWS = {
|
|
152
|
+
"gemini-4-argon": 1_048_576,
|
|
151
153
|
"gemini-3.8-flash": 1_048_576,
|
|
152
154
|
"gemini-3.7-flash": 1_048_576,
|
|
153
155
|
"gemini-3.6-flash": 1_048_576,
|
|
@@ -164,6 +166,8 @@ export function getModelContextWindow(modelId) {
|
|
|
164
166
|
if (MODEL_CONTEXT_WINDOWS[modelId])
|
|
165
167
|
return MODEL_CONTEXT_WINDOWS[modelId];
|
|
166
168
|
const lower = modelId.toLowerCase();
|
|
169
|
+
if (lower.includes("argon"))
|
|
170
|
+
return 1_048_576;
|
|
167
171
|
if (lower.includes("pro"))
|
|
168
172
|
return 2_097_152;
|
|
169
173
|
if (lower.includes("claude"))
|
|
@@ -180,6 +184,8 @@ export function getModelPricing(modelId) {
|
|
|
180
184
|
if (MODEL_PRICING[modelId])
|
|
181
185
|
return MODEL_PRICING[modelId];
|
|
182
186
|
const lower = modelId.toLowerCase();
|
|
187
|
+
if (lower.includes("argon"))
|
|
188
|
+
return MODEL_PRICING["gemini-4-argon"];
|
|
183
189
|
if (lower.includes("opus"))
|
|
184
190
|
return MODEL_PRICING["claude-opus-4-6-thinking"];
|
|
185
191
|
if (lower.includes("claude") || lower.includes("sonnet"))
|
|
@@ -225,7 +231,7 @@ export function parseAgyQuotaOutput(raw) {
|
|
|
225
231
|
let limitType = "";
|
|
226
232
|
let remainingMatch = null;
|
|
227
233
|
let resetsAt = null;
|
|
228
|
-
const m = trimmed.match(/^(.*?)\s{2,}(.*?
|
|
234
|
+
const m = trimmed.match(/^(.*?)\s{2,}(.*?)\s+(\d+%)(?:\s+(.*))?$/i);
|
|
229
235
|
if (m) {
|
|
230
236
|
scope = m[1].trim();
|
|
231
237
|
limitType = m[2].trim();
|
|
@@ -244,12 +250,18 @@ export function parseAgyQuotaOutput(raw) {
|
|
|
244
250
|
if (remainingMatch) {
|
|
245
251
|
const remainingPct = parseInt(remainingMatch[1], 10);
|
|
246
252
|
const usedPct = Math.max(0, Math.min(100, 100 - remainingPct));
|
|
247
|
-
const isFiveHour = /five\s*hour/i.test(limitType);
|
|
248
|
-
const isWeekly = /
|
|
249
|
-
const
|
|
253
|
+
const isFiveHour = /session|five\s*hour|5-?hour|5h/i.test(limitType);
|
|
254
|
+
const isWeekly = /week|7-?day/i.test(limitType);
|
|
255
|
+
const isArgon = /argon/i.test(scope) || /argon/i.test(limitType);
|
|
256
|
+
const isClaude = /claude|gpt/i.test(scope);
|
|
257
|
+
const isGemini = (/gemini/i.test(scope) || !isClaude) && !isArgon;
|
|
250
258
|
let id = isFiveHour ? "session" : isWeekly ? "weekly" : "quota";
|
|
251
259
|
let label = isFiveHour ? "Session (5h)" : isWeekly ? "Weekly" : limitType;
|
|
252
|
-
if (
|
|
260
|
+
if (isArgon) {
|
|
261
|
+
id = `argon_${id}`;
|
|
262
|
+
label = `Gemini 4 Argon ${isFiveHour ? "Session (5h)" : isWeekly ? "Weekly" : limitType.replace(/^Gemini 4 Argon\s+/i, "")}`;
|
|
263
|
+
}
|
|
264
|
+
else if (!isGemini) {
|
|
253
265
|
id = `claude_${id}`;
|
|
254
266
|
label = `Claude ${label}`;
|
|
255
267
|
}
|
|
@@ -394,6 +406,7 @@ export const ALL_THINKING_LEVELS = {
|
|
|
394
406
|
high: { name: "High", description: "Deep reasoning effort for complex tasks" },
|
|
395
407
|
};
|
|
396
408
|
export const FALLBACK_MODELS = [
|
|
409
|
+
{ modelId: "gemini-4-argon", name: "Gemini 4 Argon", description: "Google Gemini 4 Argon", supportedEfforts: ["high", "medium", "low"], contextWindowMaxTokens: 1_048_576 },
|
|
397
410
|
{ modelId: "gemini-3.8-flash", name: "Gemini 3.8 Flash", description: "Google Gemini 3.8 Flash", supportedEfforts: ["high", "medium", "low"], contextWindowMaxTokens: 1_048_576 },
|
|
398
411
|
{ modelId: "gemini-3.7-flash", name: "Gemini 3.7 Flash", description: "Google Gemini 3.7 Flash", supportedEfforts: ["high", "medium", "low"], contextWindowMaxTokens: 1_048_576 },
|
|
399
412
|
{ modelId: "gemini-3.6-flash", name: "Gemini 3.6 Flash", description: "Google Gemini 3.6 Flash", supportedEfforts: ["high", "medium", "low"], contextWindowMaxTokens: 1_048_576 },
|
package/dist/slash-commands.js
CHANGED
|
@@ -281,7 +281,7 @@ export function formatUsageOutput(rawText) {
|
|
|
281
281
|
let rawWindow = "";
|
|
282
282
|
let pctStr = "";
|
|
283
283
|
let reset = "";
|
|
284
|
-
const m = trimmedLine.match(/^(.*?)\s{2,}(.*?
|
|
284
|
+
const m = trimmedLine.match(/^(.*?)\s{2,}(.*?)\s+(\d+%)(?:\s+(.*))?$/i);
|
|
285
285
|
if (m) {
|
|
286
286
|
fam = m[1].trim();
|
|
287
287
|
rawWindow = m[2].trim();
|
|
@@ -298,20 +298,25 @@ export function formatUsageOutput(rawText) {
|
|
|
298
298
|
reset = parts[3]?.trim() || "";
|
|
299
299
|
}
|
|
300
300
|
let icon = "🤖";
|
|
301
|
-
|
|
301
|
+
const isArgon = fam.toLowerCase().includes("argon") || rawWindow.toLowerCase().includes("argon");
|
|
302
|
+
if (isArgon) {
|
|
303
|
+
fam = "Gemini 4 Argon";
|
|
304
|
+
icon = "⚡";
|
|
305
|
+
}
|
|
306
|
+
else if (fam.toLowerCase().includes("gemini")) {
|
|
302
307
|
fam = "Google Gemini";
|
|
303
308
|
icon = "🔷";
|
|
304
309
|
}
|
|
305
|
-
else if (fam.toLowerCase().includes("claude")) {
|
|
310
|
+
else if (fam.toLowerCase().includes("claude") || fam.toLowerCase().includes("gpt")) {
|
|
306
311
|
fam = "Claude & GPT";
|
|
307
312
|
icon = "🔶";
|
|
308
313
|
}
|
|
309
|
-
rawWindow = rawWindow.replace(/\s+Remaining$/i, "").trim();
|
|
314
|
+
rawWindow = rawWindow.replace(/\s+Remaining$/i, "").replace(/^Gemini 4 Argon\s+/i, "").trim();
|
|
310
315
|
const lowerWindow = rawWindow.toLowerCase();
|
|
311
316
|
const isFiveHour = lowerWindow.includes("five hour") || /\b5\s*hour/.test(lowerWindow);
|
|
312
317
|
const win = isFiveHour
|
|
313
318
|
? "Janela de 5 Horas"
|
|
314
|
-
: lowerWindow.includes("weekly")
|
|
319
|
+
: lowerWindow.includes("weekly") || lowerWindow.includes("week")
|
|
315
320
|
? "Cota Semanal"
|
|
316
321
|
: rawWindow;
|
|
317
322
|
const parsedPct = Number.parseInt(pctStr.replace("%", ""), 10);
|
package/dist/version.js
CHANGED
|
@@ -122,7 +122,7 @@ export function formatDiagnosticVersion() {
|
|
|
122
122
|
` • CLI Backend: ${meta.agyBinaryPath} (v${meta.agyVersion})`,
|
|
123
123
|
` • Runtime: Node.js ${meta.nodeVersion} (${meta.platform} ${meta.arch})`,
|
|
124
124
|
` • Features: Token Tracking, Context Meter, Quota Windows, Model Pricing, Slash Commands (/help, /resume, /usage)`,
|
|
125
|
-
` • Supported Models:
|
|
125
|
+
` • Supported Models: 8 (gemini-4-argon, gemini-3.8-flash, gemini-3.7-flash, gemini-3.6-flash, gemini-3.1-pro, claude-sonnet-4-6, claude-opus-4-6-thinking, gpt-oss-120b)`,
|
|
126
126
|
` • Session Isolation: persistent agy subprocess per Paseo session`,
|
|
127
127
|
];
|
|
128
128
|
return lines.join("\n ");
|