pi-harness-runtime 1.1.83 → 1.1.84
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/harness/e2e/chatgpt-quota-scraper.ts +56 -7
- package/package.json +1 -1
- package/packages/a2a-adapter/package.json +1 -1
- package/packages/architecture-generator/package.json +1 -1
- package/packages/auth/package.json +1 -1
- package/packages/autonomous-refactor/package.json +1 -1
- package/packages/autonomous-runtime/package.json +1 -1
- package/packages/cache-strategy/package.json +1 -1
- package/packages/capability-registry/package.json +1 -1
- package/packages/checkpoint/package.json +1 -1
- package/packages/cli-plugin-sdk/package.json +1 -1
- package/packages/clipboard/package.json +1 -1
- package/packages/clipboard-plugin/package.json +1 -1
- package/packages/code-generation/package.json +1 -1
- package/packages/code-review/package.json +1 -1
- package/packages/codex-adapter/package.json +1 -1
- package/packages/config-capture/package.json +1 -1
- package/packages/context-compiler/package.json +1 -1
- package/packages/context-discovery/package.json +1 -1
- package/packages/context-manager/package.json +1 -1
- package/packages/cookie-sanitizer/package.json +1 -1
- package/packages/cost-optimizer/package.json +1 -1
- package/packages/dependency-analyzer/package.json +1 -1
- package/packages/django-plugin/package.json +1 -1
- package/packages/doc-generator/package.json +1 -1
- package/packages/evaluation-engine/package.json +1 -1
- package/packages/evaluation-runner/package.json +1 -1
- package/packages/event-bus/package.json +1 -1
- package/packages/event-store/package.json +1 -1
- package/packages/experience-replay/package.json +1 -1
- package/packages/feedback-collector/package.json +1 -1
- package/packages/file-copy-helper/package.json +1 -1
- package/packages/framework-detector/package.json +1 -1
- package/packages/framework-plugin-sdk/package.json +1 -1
- package/packages/frappe-plugin/package.json +1 -1
- package/packages/generic-web-plugin/package.json +1 -1
- package/packages/health-monitor/package.json +1 -1
- package/packages/intent-analyzer/package.json +1 -1
- package/packages/jev-judge/package.json +1 -1
- package/packages/knowledge-graph/package.json +1 -1
- package/packages/knowledge-retrieval/package.json +1 -1
- package/packages/laravel-plugin/package.json +1 -1
- package/packages/learning-engine/package.json +1 -1
- package/packages/mcp-adapter/package.json +1 -1
- package/packages/memory-engine/package.json +1 -1
- package/packages/milestone-manager/package.json +1 -1
- package/packages/model-registry/package.json +1 -1
- package/packages/nextjs-plugin/package.json +1 -1
- package/packages/notification/package.json +1 -1
- package/packages/observability/package.json +1 -1
- package/packages/okf-indexer/package.json +1 -1
- package/packages/performance-optimizer/package.json +1 -1
- package/packages/privilege-broker/package.json +1 -1
- package/packages/project-analyzer/package.json +1 -1
- package/packages/project-bootstrap/package.json +1 -1
- package/packages/projection-engine/package.json +1 -1
- package/packages/prompt-compiler/package.json +1 -1
- package/packages/prompt-versioning/package.json +1 -1
- package/packages/provider-adapter-sdk/package.json +1 -1
- package/packages/provider-router/package.json +1 -1
- package/packages/provider-selector/package.json +1 -1
- package/packages/providers/package.json +1 -1
- package/packages/quota-manager/package.json +1 -1
- package/packages/rate-limiter/package.json +1 -1
- package/packages/react-vite-plugin/package.json +1 -1
- package/packages/release-manager/package.json +1 -1
- package/packages/requirement-compiler/package.json +1 -1
- package/packages/runtime/package.json +1 -1
- package/packages/scheduler/package.json +1 -1
- package/packages/scheduler-adapter/package.json +1 -1
- package/packages/session/package.json +1 -1
- package/packages/session-api/package.json +1 -1
- package/packages/session-export/package.json +1 -1
- package/packages/shared-context/package.json +1 -1
- package/packages/skill-mcp-client/package.json +1 -1
- package/packages/skill-registry/package.json +1 -1
- package/packages/sprint-planner/package.json +1 -1
- package/packages/subscription-engine/package.json +1 -1
- package/packages/task-compiler/package.json +1 -1
- package/packages/tencentdb-memory/package.json +1 -1
- package/packages/tencentdb-sync/package.json +1 -1
- package/packages/test-data-generator/package.json +1 -1
- package/packages/test-generator/package.json +1 -1
- package/packages/todo-bd-sync/package.json +1 -1
- package/packages/token-estimation/package.json +1 -1
- package/packages/token-optimizer/package.json +1 -1
- package/packages/trajectory/package.json +1 -1
- package/packages/tui/package.json +1 -1
- package/packages/types/package.json +1 -1
- package/packages/workflow-events/package.json +1 -1
- package/packages/workspace-scanner/package.json +1 -1
- package/packages/worktree/package.json +1 -1
- package/packages/write-review/package.json +1 -1
|
@@ -29,6 +29,12 @@ import { homedir } from "node:os";
|
|
|
29
29
|
|
|
30
30
|
export interface ChatGPTQuotaData {
|
|
31
31
|
provider: "openai" | "openai-codex";
|
|
32
|
+
/** 5h used percentage (0-100) */
|
|
33
|
+
h5UsedPct: number;
|
|
34
|
+
/** When the 5h window resets (e.g., "4h 30m") */
|
|
35
|
+
h5ResetsAt: string;
|
|
36
|
+
/** Epoch ms when the 5h window resets */
|
|
37
|
+
h5ResetsAtEpoch?: number;
|
|
32
38
|
/** Weekly used percentage (0-100) */
|
|
33
39
|
weeklyUsedPct: number;
|
|
34
40
|
/** When the weekly window resets (e.g., "5d 16h") */
|
|
@@ -394,6 +400,12 @@ export class ChatGPTQuotaScraper {
|
|
|
394
400
|
reset_after_seconds?: number;
|
|
395
401
|
reset_at?: number;
|
|
396
402
|
};
|
|
403
|
+
secondary_window?: {
|
|
404
|
+
used_percent?: number;
|
|
405
|
+
limit_window_seconds?: number;
|
|
406
|
+
reset_after_seconds?: number;
|
|
407
|
+
reset_at?: number;
|
|
408
|
+
};
|
|
397
409
|
};
|
|
398
410
|
credits?: {
|
|
399
411
|
has_credits?: boolean;
|
|
@@ -402,23 +414,60 @@ export class ChatGPTQuotaScraper {
|
|
|
402
414
|
plan_type?: string;
|
|
403
415
|
};
|
|
404
416
|
|
|
417
|
+
// primary_window = 5h, secondary_window = weekly
|
|
405
418
|
const primaryWindow = data?.rate_limit?.primary_window;
|
|
406
|
-
const
|
|
407
|
-
|
|
408
|
-
|
|
419
|
+
const secondaryWindow = data?.rate_limit?.secondary_window;
|
|
420
|
+
|
|
421
|
+
// Determine which is 5h (smaller window) and which is weekly
|
|
422
|
+
const FIVE_HOURS_SEC = 5 * 60 * 60; // 18000 seconds
|
|
423
|
+
let h5UsedPct = 0;
|
|
424
|
+
let h5ResetAfter = 0;
|
|
425
|
+
let h5ResetAt: number | undefined;
|
|
426
|
+
let weeklyUsedPct = 0;
|
|
427
|
+
let weeklyResetAfter = 0;
|
|
428
|
+
let weeklyResetAt: number | undefined;
|
|
429
|
+
|
|
430
|
+
// Classify windows by duration
|
|
431
|
+
if (primaryWindow) {
|
|
432
|
+
const duration = primaryWindow.limit_window_seconds ?? 0;
|
|
433
|
+
if (duration <= FIVE_HOURS_SEC) {
|
|
434
|
+
h5UsedPct = primaryWindow.used_percent ?? 0;
|
|
435
|
+
h5ResetAfter = primaryWindow.reset_after_seconds ?? 0;
|
|
436
|
+
h5ResetAt = primaryWindow.reset_at;
|
|
437
|
+
} else {
|
|
438
|
+
weeklyUsedPct = primaryWindow.used_percent ?? 0;
|
|
439
|
+
weeklyResetAfter = primaryWindow.reset_after_seconds ?? 0;
|
|
440
|
+
weeklyResetAt = primaryWindow.reset_at;
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
if (secondaryWindow) {
|
|
444
|
+
const duration = secondaryWindow.limit_window_seconds ?? 0;
|
|
445
|
+
if (duration <= FIVE_HOURS_SEC) {
|
|
446
|
+
h5UsedPct = secondaryWindow.used_percent ?? 0;
|
|
447
|
+
h5ResetAfter = secondaryWindow.reset_after_seconds ?? 0;
|
|
448
|
+
h5ResetAt = secondaryWindow.reset_at;
|
|
449
|
+
} else {
|
|
450
|
+
weeklyUsedPct = secondaryWindow.used_percent ?? 0;
|
|
451
|
+
weeklyResetAfter = secondaryWindow.reset_after_seconds ?? 0;
|
|
452
|
+
weeklyResetAt = secondaryWindow.reset_at;
|
|
453
|
+
}
|
|
454
|
+
}
|
|
409
455
|
|
|
410
456
|
if (!this.config.quiet) {
|
|
411
457
|
console.log(
|
|
412
|
-
`[DEBUG ChatGPTQuotaScraper]
|
|
458
|
+
`[DEBUG ChatGPTQuotaScraper] 5h: ${h5UsedPct}%, Weekly: ${weeklyUsedPct}%`,
|
|
413
459
|
);
|
|
414
460
|
}
|
|
415
461
|
|
|
416
462
|
return {
|
|
417
463
|
provider: "openai",
|
|
464
|
+
h5UsedPct,
|
|
465
|
+
h5ResetsAt: formatRemainsSeconds(h5ResetAfter),
|
|
466
|
+
h5ResetsAtEpoch: h5ResetAt ? h5ResetAt * 1000 : undefined,
|
|
418
467
|
weeklyUsedPct,
|
|
419
|
-
weeklyResetsAt: formatRemainsSeconds(
|
|
420
|
-
weeklyResetsAtEpoch:
|
|
421
|
-
resetAfterSeconds,
|
|
468
|
+
weeklyResetsAt: formatRemainsSeconds(weeklyResetAfter),
|
|
469
|
+
weeklyResetsAtEpoch: weeklyResetAt ? weeklyResetAt * 1000 : undefined,
|
|
470
|
+
resetAfterSeconds: weeklyResetAfter,
|
|
422
471
|
creditBalance: data.credits?.has_credits ? data.credits.balance : undefined,
|
|
423
472
|
planType: data.plan_type,
|
|
424
473
|
apiEndpoint: USAGE_API,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-harness/capability-registry",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.84",
|
|
4
4
|
"description": "Capability Registry for pi-harness-runtime — tracks model capabilities and enables capability-based routing",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pi-harness/provider-router",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.84",
|
|
4
4
|
"description": "Enhanced Provider Router for pi-harness-runtime — intelligent routing with capabilities, costs, and quotas",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/provider-router.js",
|