opencode-quotas 0.0.1 → 0.0.2-beta

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.
Files changed (140) hide show
  1. package/README.md +13 -24
  2. package/dist/cli.d.ts +3 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +42 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/constants.d.ts +9 -0
  7. package/dist/constants.d.ts.map +1 -0
  8. package/dist/constants.js +15 -0
  9. package/dist/constants.js.map +1 -0
  10. package/dist/defaults.d.ts +3 -0
  11. package/dist/defaults.d.ts.map +1 -0
  12. package/dist/defaults.js +55 -0
  13. package/dist/defaults.js.map +1 -0
  14. package/dist/index.d.ts +5 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +476 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/interfaces.d.ts +202 -0
  19. package/dist/interfaces.d.ts.map +1 -0
  20. package/dist/interfaces.js +2 -0
  21. package/dist/interfaces.js.map +1 -0
  22. package/dist/logger.d.ts +15 -0
  23. package/dist/logger.d.ts.map +1 -0
  24. package/dist/logger.js +47 -0
  25. package/dist/logger.js.map +1 -0
  26. package/dist/plugin-state.d.ts +33 -0
  27. package/dist/plugin-state.d.ts.map +1 -0
  28. package/dist/plugin-state.js +90 -0
  29. package/dist/plugin-state.js.map +1 -0
  30. package/dist/providers/antigravity/auth.d.ts +12 -0
  31. package/dist/providers/antigravity/auth.d.ts.map +1 -0
  32. package/dist/providers/antigravity/auth.js +109 -0
  33. package/dist/providers/antigravity/auth.js.map +1 -0
  34. package/dist/providers/antigravity/index.d.ts +2 -0
  35. package/dist/providers/antigravity/index.d.ts.map +1 -0
  36. package/dist/providers/antigravity/index.js +2 -0
  37. package/dist/providers/antigravity/index.js.map +1 -0
  38. package/dist/providers/antigravity/provider.d.ts +34 -0
  39. package/dist/providers/antigravity/provider.d.ts.map +1 -0
  40. package/dist/providers/antigravity/provider.js +216 -0
  41. package/dist/providers/antigravity/provider.js.map +1 -0
  42. package/dist/providers/codex.d.ts +4 -0
  43. package/dist/providers/codex.d.ts.map +1 -0
  44. package/dist/providers/codex.js +233 -0
  45. package/dist/providers/codex.js.map +1 -0
  46. package/dist/providers/github.d.ts +4 -0
  47. package/dist/providers/github.d.ts.map +1 -0
  48. package/dist/providers/github.js +139 -0
  49. package/dist/providers/github.js.map +1 -0
  50. package/dist/quota-cache.d.ts +26 -0
  51. package/dist/quota-cache.d.ts.map +1 -0
  52. package/dist/quota-cache.js +107 -0
  53. package/dist/quota-cache.js.map +1 -0
  54. package/dist/registry.d.ts +3 -0
  55. package/dist/registry.d.ts.map +1 -0
  56. package/dist/registry.js +23 -0
  57. package/dist/registry.js.map +1 -0
  58. package/dist/services/aggregation-service.d.ts +34 -0
  59. package/dist/services/aggregation-service.d.ts.map +1 -0
  60. package/dist/services/aggregation-service.js +89 -0
  61. package/dist/services/aggregation-service.js.map +1 -0
  62. package/dist/services/config-loader.d.ts +25 -0
  63. package/dist/services/config-loader.d.ts.map +1 -0
  64. package/dist/services/config-loader.js +116 -0
  65. package/dist/services/config-loader.js.map +1 -0
  66. package/dist/services/history-service.d.ts +20 -0
  67. package/dist/services/history-service.d.ts.map +1 -0
  68. package/dist/services/history-service.js +151 -0
  69. package/dist/services/history-service.js.map +1 -0
  70. package/dist/services/prediction-engine.d.ts +47 -0
  71. package/dist/services/prediction-engine.d.ts.map +1 -0
  72. package/dist/services/prediction-engine.js +101 -0
  73. package/dist/services/prediction-engine.js.map +1 -0
  74. package/dist/services/quota-service.d.ts +42 -0
  75. package/dist/services/quota-service.d.ts.map +1 -0
  76. package/dist/services/quota-service.js +336 -0
  77. package/dist/services/quota-service.js.map +1 -0
  78. package/dist/src/cli.js +0 -0
  79. package/dist/tools/quotas.d.ts +11 -0
  80. package/dist/tools/quotas.d.ts.map +1 -0
  81. package/{src/tools/quotas.ts → dist/tools/quotas.js} +9 -25
  82. package/dist/tools/quotas.js.map +1 -0
  83. package/dist/ui/progress-bar.d.ts +20 -0
  84. package/dist/ui/progress-bar.d.ts.map +1 -0
  85. package/dist/ui/progress-bar.js +150 -0
  86. package/dist/ui/progress-bar.js.map +1 -0
  87. package/dist/ui/quota-table.d.ts +15 -0
  88. package/dist/ui/quota-table.d.ts.map +1 -0
  89. package/dist/ui/quota-table.js +136 -0
  90. package/dist/ui/quota-table.js.map +1 -0
  91. package/dist/utils/paths.d.ts +7 -0
  92. package/dist/utils/paths.d.ts.map +1 -0
  93. package/dist/utils/paths.js +37 -0
  94. package/dist/utils/paths.js.map +1 -0
  95. package/dist/utils/time.d.ts +3 -0
  96. package/dist/utils/time.d.ts.map +1 -0
  97. package/dist/utils/time.js +38 -0
  98. package/dist/utils/time.js.map +1 -0
  99. package/dist/utils/validation.d.ts +6 -0
  100. package/dist/utils/validation.d.ts.map +1 -0
  101. package/dist/utils/validation.js +66 -0
  102. package/dist/utils/validation.js.map +1 -0
  103. package/package.json +4 -2
  104. package/src/cli.js +41 -0
  105. package/src/constants.js +14 -0
  106. package/src/defaults.js +54 -0
  107. package/src/defaults.ts +5 -2
  108. package/src/index.js +469 -0
  109. package/src/index.ts +379 -87
  110. package/src/interfaces.js +1 -0
  111. package/src/interfaces.ts +5 -0
  112. package/src/logger.js +46 -0
  113. package/src/logger.ts +8 -6
  114. package/src/plugin-state.js +89 -0
  115. package/src/plugin-state.ts +44 -2
  116. package/src/providers/antigravity/auth.js +108 -0
  117. package/src/providers/antigravity/index.js +1 -0
  118. package/src/providers/antigravity/provider.js +215 -0
  119. package/src/providers/codex.js +232 -0
  120. package/src/providers/codex.ts +12 -19
  121. package/src/providers/github.js +138 -0
  122. package/src/quota-cache.js +106 -0
  123. package/src/registry.js +22 -0
  124. package/src/services/aggregation-service.js +88 -0
  125. package/src/services/aggregation-service.ts +5 -5
  126. package/src/services/config-loader.js +115 -0
  127. package/src/services/config-loader.ts +17 -7
  128. package/src/services/history-service.js +150 -0
  129. package/src/services/history-service.ts +56 -2
  130. package/src/services/prediction-engine.js +100 -0
  131. package/src/services/prediction-engine.ts +14 -5
  132. package/src/services/quota-service.js +335 -0
  133. package/src/services/quota-service.ts +103 -23
  134. package/src/ui/progress-bar.js +149 -0
  135. package/src/ui/progress-bar.ts +2 -2
  136. package/src/ui/quota-table.js +135 -0
  137. package/src/utils/paths.js +36 -0
  138. package/src/utils/time.js +37 -0
  139. package/src/utils/validation.js +65 -0
  140. package/src/utils/debug.ts +0 -1
package/README.md CHANGED
@@ -45,7 +45,7 @@ Add `opencode-quotas` to your OpenCode configuration file (typically `~/.opencod
45
45
 
46
46
  ## Usage
47
47
 
48
- Once installed and registered, a live quota summary is automatically appended to every assistant message footer in OpenCode. No further action is required.
48
+ Once installed and registered, a live quota summary is automatically appended to the final assistant response footer in OpenCode. The plugin waits for the session to go idle before injecting to avoid duplicate footers during multi-step runs.
49
49
 
50
50
  ### CLI Mode (Optional)
51
51
 
@@ -67,9 +67,9 @@ opencode-quotas --provider google --model antigravity-gemini-3-flash
67
67
  | :--- | :--- | :--- | :--- |
68
68
  | **Antigravity** | `ag-raw-*` | `ag-flash`, `ag-pro`, `ag-premium` | Raw model quotas aggregated by pattern into Flash, Pro, and Premium tiers. |
69
69
  | **Codex** | `codex-primary`, `codex-secondary` | `codex-smart` | Rate limits aggregated using most-critical strategy. |
70
- | **GitHub Copilot** | — | — | ⚠️ Not yet implemented. |
70
+ | **GitHub Copilot** | — | — | ⚠️ Experimental (requires `enableExperimentalGithub: true` in config, disabled by default) |
71
71
 
72
- > **Note**: Quota IDs are used in configuration options like `disabled` and `modelMapping`.
72
+ > **Note**: Quota IDs are used in configuration options like `disabled`.
73
73
 
74
74
  ## Column Reference
75
75
 
@@ -91,11 +91,11 @@ All configuration is done via `.opencode/quotas.json` in your project root. Sett
91
91
 
92
92
  ### Model Filtering
93
93
 
94
- By default, `filterByCurrentModel` is enabled, showing only quotas relevant to the active model.
94
+ By default, `filterByCurrentModel` is disabled (false). Enable it to show only quotas relevant to the active model.
95
95
 
96
96
  ```json
97
97
  {
98
- "filterByCurrentModel": true
98
+ "filterByCurrentModel": false
99
99
  }
100
100
  ```
101
101
 
@@ -117,22 +117,6 @@ ST QUOTA NAME USED UTILIZATION RESET ETTL
117
117
  OK Antigravity Flash 20% ████░░░░░░░░░░░░░░░░ 28m 13m
118
118
  ```
119
119
 
120
- ### Explicit Model Mapping
121
-
122
- For precise control, map model IDs directly to quota IDs:
123
-
124
- ```json
125
- {
126
- "modelMapping": {
127
- "google/antigravity-gemini-3-flash": ["ag-flash"],
128
- "google/antigravity-gemini-3-pro": ["ag-pro"],
129
- "github-copilot/gpt-4o": ["codex-smart"]
130
- }
131
- }
132
- ```
133
-
134
- > **Note**: Model IDs must match the format from `opencode models` (e.g., `provider/model-name`).
135
-
136
120
  ### Hide Specific Quotas
137
121
 
138
122
  Permanently hide quotas you don't care about:
@@ -312,16 +296,20 @@ See [schemas/quotas.schema.json](schemas/quotas.schema.json) for the complete JS
312
296
  | Option | Type | Default | Description |
313
297
  | :--- | :--- | :--- | :--- |
314
298
  | `footer` | boolean | `true` | Show quotas in chat footer |
315
- | `filterByCurrentModel` | boolean | `true` | Filter quotas by active model |
316
- | `modelMapping` | object | (see defaults) | Explicit model-to-quota mappings |
299
+ | `showFooterTitle` | boolean | `true` | Show plugin title/header in footer |
300
+ | `filterByCurrentModel` | boolean | `false` | Filter quotas by active model |
317
301
  | `disabled` | string[] | `[]` | Quota IDs to hide |
318
- | `progressBar.color` | boolean | `true` | Enable ANSI colors |
302
+ | `showUnaggregated` | boolean | `true` | Show quotas that don't match any aggregation group |
303
+ | `progressBar.color` | boolean | `false` | Enable ANSI colors (set `true` for colored terminal output) |
319
304
  | `progressBar.width` | number | `20` | Progress bar character width |
320
305
  | `progressBar.show` | string | `"used"` | `"used"` or `"available"` |
321
306
  | `table.columns` | string[] | (auto) | Columns to display |
322
307
  | `table.header` | boolean | `true` | Show column headers |
323
308
  | `aggregatedGroups` | array | (see defaults) | Quota aggregation with patterns or sources |
309
+ | `historyMaxAgeHours` | number | `24` | Max history age in hours |
324
310
  | `pollingInterval` | number | `60000` | Refresh interval in ms |
311
+ | `predictionWindowMinutes` | number | `60` | Time window for regression analysis (minutes) |
312
+ | `predictionShortWindowMinutes` | number | `5` | Short time window for spike detection (minutes) |
325
313
  | `debug` | boolean | `false` | Enable debug logging |
326
314
 
327
315
  ## Security
@@ -335,6 +323,7 @@ Built with **Bun** for speed.
335
323
  ```bash
336
324
  bun install # Install dependencies
337
325
  bun test # Run tests
326
+ OPENCODE_QUOTAS_E2E=1 bun test tests/integration/injection-e2e.test.ts # Run E2E injection test
338
327
  npm run build # Build for production
339
328
  bun run opencode-quotas # Run CLI in dev mode
340
329
  ```
package/dist/cli.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env bun
2
+ export {};
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
package/dist/cli.js ADDED
@@ -0,0 +1,42 @@
1
+ #!/usr/bin/env bun
2
+ import { QuotaService } from "./services/quota-service";
3
+ import { HistoryService } from "./services/history-service";
4
+ import { renderQuotaTable } from "./ui/quota-table";
5
+ async function main() {
6
+ if (process.argv.includes("--no-color")) {
7
+ process.env.OPENCODE_QUOTAS_NO_COLOR = "1";
8
+ }
9
+ const historyService = new HistoryService();
10
+ await historyService.init();
11
+ const quotaService = new QuotaService();
12
+ await quotaService.init(process.cwd(), historyService);
13
+ const config = quotaService.getConfig();
14
+ // Parse arguments for provider and model filtering
15
+ let providerId;
16
+ let modelId;
17
+ const providerIdx = process.argv.indexOf("--provider");
18
+ if (providerIdx !== -1 && providerIdx + 1 < process.argv.length) {
19
+ providerId = process.argv[providerIdx + 1];
20
+ }
21
+ const modelIdx = process.argv.indexOf("--model");
22
+ if (modelIdx !== -1 && modelIdx + 1 < process.argv.length) {
23
+ modelId = process.argv[modelIdx + 1];
24
+ }
25
+ const filteredResults = await quotaService.getQuotas({ providerId, modelId });
26
+ if (filteredResults.length === 0) {
27
+ console.log("No active quotas found.");
28
+ return;
29
+ }
30
+ console.log(""); // Empty line
31
+ console.log("📊 OpenCode Quotas");
32
+ console.log("------------------");
33
+ renderQuotaTable(filteredResults, {
34
+ progressBarConfig: config.progressBar,
35
+ tableConfig: config.table,
36
+ }).forEach((row) => {
37
+ console.log(row.line);
38
+ });
39
+ console.log(""); // Empty line
40
+ }
41
+ main().catch(console.error);
42
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,KAAK,UAAU,IAAI;IACf,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,wBAAwB,GAAG,GAAG,CAAC;IAC/C,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;IAC5C,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;IAE5B,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IACxC,MAAM,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC;IAExC,mDAAmD;IACnD,IAAI,UAA8B,CAAC;IACnC,IAAI,OAA2B,CAAC;IAEhC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACvD,IAAI,WAAW,KAAK,CAAC,CAAC,IAAI,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9D,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjD,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACxD,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;IAE9E,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO;IACX,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa;IAC9B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAElC,gBAAgB,CAAC,eAAe,EAAE;QAC9B,iBAAiB,EAAE,MAAM,CAAC,WAAW;QACrC,WAAW,EAAE,MAAM,CAAC,KAAK;KAC5B,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare const PLUGIN_FOOTER_SIGNATURE = "_Opencode Quotas";
2
+ export declare const REASONING_PATTERNS: RegExp[];
3
+ export declare const DEBUG_LOG_FILENAME = "quotas-debug.log";
4
+ export declare const SKIP_REASONS: {
5
+ REASONING: string;
6
+ SUBAGENT: string;
7
+ FOOTER_PRESENT: string;
8
+ };
9
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,qBAAqB,CAAC;AAG1D,eAAO,MAAM,kBAAkB,UAI9B,CAAC;AAGF,eAAO,MAAM,kBAAkB,qBAAqB,CAAC;AAErD,eAAO,MAAM,YAAY;;;;CAIxB,CAAC"}
@@ -0,0 +1,15 @@
1
+ export const PLUGIN_FOOTER_SIGNATURE = "_Opencode Quotas";
2
+ // Heuristic patterns for detecting reasoning/thinking blocks
3
+ export const REASONING_PATTERNS = [
4
+ /^<thinking>/i,
5
+ /^<antThinking>/i,
6
+ /^(Thinking|Reasoning|Analysis):\s*(\n|$)/i
7
+ ];
8
+ // File paths
9
+ export const DEBUG_LOG_FILENAME = "quotas-debug.log";
10
+ export const SKIP_REASONS = {
11
+ REASONING: "skip:reasoning",
12
+ SUBAGENT: "skip:subagent",
13
+ FOOTER_PRESENT: "skip:footer_present",
14
+ };
15
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG,kBAAkB,CAAC;AAE1D,6DAA6D;AAC7D,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAC9B,cAAc;IACd,iBAAiB;IACjB,2CAA2C;CAC9C,CAAC;AAEF,aAAa;AACb,MAAM,CAAC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC;AAErD,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,SAAS,EAAE,gBAAgB;IAC3B,QAAQ,EAAE,eAAe;IACzB,cAAc,EAAE,qBAAqB;CACxC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type QuotaConfig } from "./interfaces";
2
+ export declare const DEFAULT_CONFIG: QuotaConfig;
3
+ //# sourceMappingURL=defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,eAAO,MAAM,cAAc,EAAE,WAoD5B,CAAC"}
@@ -0,0 +1,55 @@
1
+ // Default configuration for quota rendering and grouping
2
+ export const DEFAULT_CONFIG = {
3
+ displayMode: "simple",
4
+ footer: true,
5
+ showFooterTitle: true,
6
+ debug: false,
7
+ enableExperimentalGithub: false, // Set to true to enable experimental GitHub Copilot support
8
+ progressBar: {
9
+ color: false,
10
+ gradients: [
11
+ { threshold: 0.5, color: "green" },
12
+ { threshold: 0.8, color: "yellow" },
13
+ { threshold: 1.0, color: "red" },
14
+ ],
15
+ },
16
+ table: {
17
+ header: true,
18
+ },
19
+ filterByCurrentModel: false,
20
+ showUnaggregated: false,
21
+ predictionShortWindowMinutes: 5,
22
+ predictionWindowMinutes: 60,
23
+ aggregatedGroups: [
24
+ {
25
+ id: "ag-flash",
26
+ name: "Antigravity Flash",
27
+ patterns: ["flash", "-flash", "gemini-.*-flash"],
28
+ providerId: "antigravity",
29
+ strategy: "most_critical",
30
+ },
31
+ {
32
+ id: "ag-pro",
33
+ name: "Antigravity Pro",
34
+ patterns: ["pro", "gemini.*pro", "gemini-1.5-pro"],
35
+ providerId: "antigravity",
36
+ strategy: "most_critical",
37
+ },
38
+ {
39
+ id: "ag-premium",
40
+ name: "Antigravity Premium",
41
+ patterns: ["claude", "gpt", "o1"],
42
+ providerId: "antigravity",
43
+ strategy: "most_critical",
44
+ },
45
+ {
46
+ id: "codex-smart",
47
+ name: "Codex Usage",
48
+ sources: ["codex-primary", "codex-secondary"],
49
+ strategy: "most_critical",
50
+ },
51
+ ],
52
+ historyMaxAgeHours: 24,
53
+ pollingInterval: 60_000,
54
+ };
55
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAEA,yDAAyD;AACzD,MAAM,CAAC,MAAM,cAAc,GAAgB;IACvC,WAAW,EAAE,QAAQ;IACrB,MAAM,EAAE,IAAI;IACZ,eAAe,EAAE,IAAI;IACrB,KAAK,EAAE,KAAK;IACZ,wBAAwB,EAAE,KAAK,EAAE,4DAA4D;IAC7F,WAAW,EAAE;QACT,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE;YACP,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE;YAClC,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;YACnC,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE;SACnC;KACJ;IACD,KAAK,EAAE;QACH,MAAM,EAAE,IAAI;KACf;IACD,oBAAoB,EAAE,KAAK;IAC3B,gBAAgB,EAAE,KAAK;IACvB,4BAA4B,EAAE,CAAC;IAC/B,uBAAuB,EAAE,EAAE;IAC3B,gBAAgB,EAAE;QACd;YACI,EAAE,EAAE,UAAU;YACd,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,CAAC;YAChD,UAAU,EAAE,aAAa;YACzB,QAAQ,EAAE,eAAe;SAC5B;QACD;YACI,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,iBAAiB;YACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,gBAAgB,CAAC;YAClD,UAAU,EAAE,aAAa;YACzB,QAAQ,EAAE,eAAe;SAC5B;QACD;YACI,EAAE,EAAE,YAAY;YAChB,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC;YACjC,UAAU,EAAE,aAAa;YACzB,QAAQ,EAAE,eAAe;SAC5B;QACD;YACI,EAAE,EAAE,aAAa;YACjB,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,CAAC,eAAe,EAAE,iBAAiB,CAAC;YAC7C,QAAQ,EAAE,eAAe;SAC5B;KACJ;IACD,kBAAkB,EAAE,EAAE;IACtB,eAAe,EAAE,MAAM;CAC1B,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,7 @@
1
- import { QuotaHubPlugin } from "./src/index";
1
+ import { type Plugin } from "@opencode-ai/plugin";
2
+ /**
3
+ * QuotaHub Plugin for OpenCode.ai
4
+ */
5
+ export declare const QuotaHubPlugin: Plugin;
2
6
  export default QuotaHubPlugin;
3
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAc,MAAM,qBAAqB,CAAC;AAgD9D;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAgjB5B,CAAC;AAEF,eAAe,cAAc,CAAC"}