@vibesdotdev/account 1.0.0-rc.4 → 1.0.0-rc.5

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 (36) hide show
  1. package/dist/billing/internal/quota-client.d.ts +59 -0
  2. package/dist/billing/internal/quota-client.d.ts.map +1 -1
  3. package/dist/billing/internal/quota-client.js +102 -1
  4. package/dist/billing/internal/quota-client.js.map +1 -1
  5. package/dist/billing/overage/overage-policy.config.descriptor.d.ts +114 -0
  6. package/dist/billing/overage/overage-policy.config.descriptor.d.ts.map +1 -0
  7. package/dist/billing/overage/overage-policy.config.descriptor.js +52 -0
  8. package/dist/billing/overage/overage-policy.config.descriptor.js.map +1 -0
  9. package/dist/billing/overage/overage-policy.d.ts +159 -0
  10. package/dist/billing/overage/overage-policy.d.ts.map +1 -0
  11. package/dist/billing/overage/overage-policy.js +93 -0
  12. package/dist/billing/overage/overage-policy.js.map +1 -0
  13. package/dist/billing/usage/delivery.d.ts +96 -1
  14. package/dist/billing/usage/delivery.d.ts.map +1 -1
  15. package/dist/billing/usage/delivery.js +55 -0
  16. package/dist/billing/usage/delivery.js.map +1 -1
  17. package/dist/billing/usage/record-code-session-usage.d.ts +9 -2
  18. package/dist/billing/usage/record-code-session-usage.d.ts.map +1 -1
  19. package/dist/billing/usage/record-code-session-usage.js +4 -1
  20. package/dist/billing/usage/record-code-session-usage.js.map +1 -1
  21. package/dist/billing/usage/record-platform-resource.d.ts +14 -2
  22. package/dist/billing/usage/record-platform-resource.d.ts.map +1 -1
  23. package/dist/billing/usage/record-platform-resource.js +25 -6
  24. package/dist/billing/usage/record-platform-resource.js.map +1 -1
  25. package/dist/billing/usage/record-sandbox-uptime.d.ts +16 -3
  26. package/dist/billing/usage/record-sandbox-uptime.d.ts.map +1 -1
  27. package/dist/billing/usage/record-sandbox-uptime.js +24 -5
  28. package/dist/billing/usage/record-sandbox-uptime.js.map +1 -1
  29. package/dist/plugin/billing-overage.d.ts +9 -0
  30. package/dist/plugin/billing-overage.d.ts.map +1 -0
  31. package/dist/plugin/billing-overage.js +17 -0
  32. package/dist/plugin/billing-overage.js.map +1 -0
  33. package/dist/plugin/index.d.ts.map +1 -1
  34. package/dist/plugin/index.js +2 -0
  35. package/dist/plugin/index.js.map +1 -1
  36. package/package.json +14 -8
@@ -18,11 +18,15 @@
18
18
  * Design constraints (same as record-generation-usage.ts)
19
19
  * - MUST NOT fail the heartbeat path. Always returns void; swallows
20
20
  * errors with structured log.
21
- * - MUST be time-bounded. 500ms hard cap via AbortController.
21
+ * - MUST be time-bounded. 500ms hard cap via AbortController, body
22
+ * read included.
23
+ * - A delivered record that could not be paid for is NOT success: the
24
+ * caller's `onOutcome` receives `shortfall` with the uncollected
25
+ * cost-basis USD.
22
26
  */
23
27
  import { getLogger } from '@vibesdotdev/logging';
24
28
  import { settle } from '@vibesdotdev/kernel';
25
- import { deliveryFailure, deliveryFailureMessage, notifyJournal } from "./delivery.js";
29
+ import { deliveryFailureMessage, notifyJournal, readUsageRecordDelivery, usageRecordSettlement } from "./delivery.js";
26
30
  function log(runtime) {
27
31
  return getLogger('account', runtime).child({ context: 'record-sandbox-uptime' });
28
32
  }
@@ -41,6 +45,7 @@ export function recordSandboxUptime(runtime, input) {
41
45
  // observe it. If the env stays bad, this dead-letters after
42
46
  // MAX_ATTEMPTS rather than sitting at `pending` indefinitely.
43
47
  void notifyJournal(log(runtime), 'recordSandboxUptime', () => input.journal?.onFailure?.({ reason: 'skip', message }));
48
+ void notifyJournal(log(runtime), 'recordSandboxUptime', () => input.onOutcome?.({ delivery: 'skipped', message }));
44
49
  return;
45
50
  }
46
51
  if (!input.accountOrigin) {
@@ -50,6 +55,7 @@ export function recordSandboxUptime(runtime, input) {
50
55
  reason: input.reason
51
56
  });
52
57
  void notifyJournal(log(runtime), 'recordSandboxUptime', () => input.journal?.onFailure?.({ reason: 'skip', message }));
58
+ void notifyJournal(log(runtime), 'recordSandboxUptime', () => input.onOutcome?.({ delivery: 'skipped', message }));
53
59
  return;
54
60
  }
55
61
  const accountOrigin = input.accountOrigin;
@@ -60,6 +66,7 @@ export function recordSandboxUptime(runtime, input) {
60
66
  reason: input.reason
61
67
  });
62
68
  void notifyJournal(log(runtime), 'recordSandboxUptime', () => input.journal?.onFailure?.({ reason: 'skip', message }));
69
+ void notifyJournal(log(runtime), 'recordSandboxUptime', () => input.onOutcome?.({ delivery: 'skipped', message }));
63
70
  return;
64
71
  }
65
72
  const serviceHeaders = {
@@ -100,12 +107,23 @@ export function recordSandboxUptime(runtime, input) {
100
107
  headers,
101
108
  body: JSON.stringify(fetchBody),
102
109
  signal
103
- }), { timeoutMs: USAGE_RECORD_TIMEOUT_MS, reason: 'account sandbox uptime usage record' })).then(async (delivered) => {
104
- const failure = deliveryFailure(delivered);
105
- if (!failure) {
110
+ }).then(readUsageRecordDelivery), { timeoutMs: USAGE_RECORD_TIMEOUT_MS, reason: 'account sandbox uptime usage record' })).then(async (settled) => {
111
+ const settlement = usageRecordSettlement(settled);
112
+ if (settlement.delivered) {
113
+ // Delivered, so the journal row is done even when the charge was
114
+ // not collected: re-sending would write the usage row twice.
106
115
  await notifyJournal(log(runtime), 'recordSandboxUptime', input.journal?.onSuccess);
116
+ const { outcome } = settlement;
117
+ if (outcome.status !== 'charged') {
118
+ log(runtime).warn('recordSandboxUptime: usage delivered but not charged in full', {
119
+ hostId: input.hostId,
120
+ outcome
121
+ });
122
+ }
123
+ await notifyJournal(log(runtime), 'recordSandboxUptime', () => input.onOutcome?.({ delivery: 'delivered', outcome }));
107
124
  return;
108
125
  }
126
+ const { failure } = settlement;
109
127
  if (failure.reason === 'http') {
110
128
  log(runtime).warn('recordSandboxUptime: non-2xx from account', { hostId: input.hostId, status: failure.status });
111
129
  }
@@ -117,6 +135,7 @@ export function recordSandboxUptime(runtime, input) {
117
135
  }
118
136
  const message = deliveryFailureMessage(failure, USAGE_RECORD_TIMEOUT_MS);
119
137
  await notifyJournal(log(runtime), 'recordSandboxUptime', () => input.journal?.onFailure?.({ reason: failure.reason, message }));
138
+ await notifyJournal(log(runtime), 'recordSandboxUptime', () => input.onOutcome?.({ delivery: 'failed', failure }));
120
139
  });
121
140
  }
122
141
  //# sourceMappingURL=record-sandbox-uptime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"record-sandbox-uptime.js","sourceRoot":"","sources":["../../../src/billing/usage/record-sandbox-uptime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record-sandbox-uptime.js","sourceRoot":"","sources":["../../../src/billing/usage/record-sandbox-uptime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAmB,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACN,sBAAsB,EACtB,aAAa,EACb,uBAAuB,EACvB,qBAAqB,EAIrB,MAAM,eAAe,CAAC;AAUvB,SAAS,GAAG,CAAC,OAAmB;IAC/B,OAAO,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,uBAAuB,GAAG,GAAG,CAAC;AACpC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAsE9B,MAAM,UAAU,mBAAmB,CAAC,OAAmB,EAAE,KAA+B;IACvF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC;QAAE,OAAO;IAClE,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QACnD,MAAM,OAAO,GAAG,2CAA2C,CAAC;QAC5D,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,iCAAiC,GAAG,OAAO,GAAG,GAAG,EAAE;YACrE,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,6DAA6D;QAC7D,4DAA4D;QAC5D,8DAA8D;QAC9D,KAAK,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAC5D,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CACvD,CAAC;QACF,KAAK,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAC5D,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CACnD,CAAC;QACF,OAAO;IACR,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,8BAA8B,CAAC;QAC/C,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,iCAAiC,GAAG,OAAO,GAAG,GAAG,EAAE;YACrE,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,KAAK,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAC5D,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CACvD,CAAC;QACF,KAAK,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAC5D,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CACnD,CAAC;QACF,OAAO;IACR,CAAC;IACD,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;IAC1C,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,qCAAqC,CAAC;QACtD,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,iCAAiC,GAAG,OAAO,GAAG,GAAG,EAAE;YACrE,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,KAAK,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAC5D,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CACvD,CAAC;QACF,KAAK,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAC5D,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CACnD,CAAC;QACF,OAAO;IACR,CAAC;IAED,MAAM,cAAc,GAAG;QACtB,cAAc,EAAE,kBAAkB;QAClC,MAAM,EAAE,kBAAkB;QAC1B,aAAa,EAAE,UAAU,KAAK,CAAC,oBAAoB,EAAE;KACpB,CAAC;IACnC,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa;QAClC,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,iBAAiB,EAAE,KAAK,CAAC,aAAa,EAAE;QAC/D,CAAC,CAAC,cAAc,CAAC;IAElB,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,GAAG,kBAAkB,CAAC;IAC1D,MAAM,iBAAiB,GAAiB,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC;IAClE,MAAM,SAAS,GAAG;QACjB,WAAW,EAAE,wBAAwB;QACrC,8DAA8D;QAC9D,gEAAgE;QAChE,2DAA2D;QAC3D,6DAA6D;QAC7D,gEAAgE;QAChE,gEAAgE;QAChE,0BAA0B;QAC1B,aAAa,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE;QACjD,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,QAAQ,EAAE,iBAAiB;QAC3B,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,IAAI;QAC5C,QAAQ,EAAE;YACT,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,IAAI,IAAI;YAClD,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,EAAE,kBAAkB;YAC3B,UAAU,EAAE,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,MAAM;YACnD,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,GAAG,KAAK,CAAC,QAAQ;SACjB;KACD,CAAC;IAEF,KAAK,MAAM,CAAC,GAAG,EAAE,CAChB,OAAO,CAAC,SAAS,CAAC,IAAI,CACrB,CAAC,MAAM,EAAE,EAAE,CACV,KAAK,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,oCAAoC,EAAE;QAC9E,MAAM,EAAE,MAAM;QACd,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;QAC/B,MAAM;KACN,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,EACjC,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,EAAE,qCAAqC,EAAE,CACrF,CACD,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;YAC1B,iEAAiE;YACjE,6DAA6D;YAC7D,MAAM,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,qBAAqB,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACnF,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;YAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAClC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,8DAA8D,EAAE;oBACjF,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,OAAO;iBACP,CAAC,CAAC;YACJ,CAAC;YACD,MAAM,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAC7D,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CACrD,CAAC;YACF,OAAO;QACR,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;QAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC/B,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,2CAA2C,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAClH,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACzC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC,CAAC;QACnH,CAAC;aAAM,CAAC;YACP,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,mCAAmC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACxG,CAAC;QACD,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;QACzE,MAAM,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAC7D,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAC/D,CAAC;QACF,MAAM,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAC7D,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAClD,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Billing overage policy subplugin — registers the `billing.overage`
3
+ * config/manifest, the declared defaults every overage resolution reads.
4
+ * The manifest waits for `config/manifest` to be registered, so a host
5
+ * without the config plugin composes this without failing.
6
+ */
7
+ declare const defaultExport: import("@vibesdotdev/kernel").RuntimePlugin;
8
+ export default defaultExport;
9
+ //# sourceMappingURL=billing-overage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"billing-overage.d.ts","sourceRoot":"","sources":["../../src/plugin/billing-overage.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AAEH,QAAA,MAAM,aAAa,6CAKjB,CAAC;AAEH,eAAe,aAAa,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { createRuntimePlugin } from '@vibesdotdev/kernel';
2
+ import overagePolicyManifest from "../billing/overage/overage-policy.config.descriptor.js";
3
+ /**
4
+ * Billing overage policy subplugin — registers the `billing.overage`
5
+ * config/manifest, the declared defaults every overage resolution reads.
6
+ * The manifest waits for `config/manifest` to be registered, so a host
7
+ * without the config plugin composes this without failing.
8
+ */
9
+ // Hoisted const: tsc rewriteRelativeImportExtensions does not rewrite `.ts` specifiers inside `export default <expr>` (TS 6.0.3).
10
+ const defaultExport = createRuntimePlugin({
11
+ id: 'account-billing-overage',
12
+ name: 'Account Billing Overage Policy',
13
+ description: 'Declares the billing.overage policy defaults.',
14
+ descriptors: [overagePolicyManifest]
15
+ });
16
+ export default defaultExport;
17
+ //# sourceMappingURL=billing-overage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"billing-overage.js","sourceRoot":"","sources":["../../src/plugin/billing-overage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,qBAAqB,MAAM,wDAAwD,CAAC;AAE3F;;;;;GAKG;AACH,kIAAkI;AAClI,MAAM,aAAa,GAAG,mBAAmB,CAAC;IACzC,EAAE,EAAE,yBAAyB;IAC7B,IAAI,EAAE,gCAAgC;IACtC,WAAW,EAAE,+CAA+C;IAC5D,WAAW,EAAE,CAAC,qBAAqB,CAAC;CACpC,CAAC,CAAC;AAEH,eAAe,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,cAAc,+CAO1B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,cAAc,+CAQ1B,CAAC"}
@@ -2,6 +2,7 @@ import accountSupportPlugin from "./support.js";
2
2
  import accountClientPlugin from "./client.js";
3
3
  import accountApiClientPlugin from "./api-client.js";
4
4
  import accountBillingHooksPlugin from "./billing-hooks.js";
5
+ import accountBillingOveragePlugin from "./billing-overage.js";
5
6
  import accountWorkersUsagePlugin from "./workers-usage.js";
6
7
  import accountSettingsStoragePlugin from "./settings-storage.js";
7
8
  export const accountPlugins = [
@@ -9,6 +10,7 @@ export const accountPlugins = [
9
10
  accountClientPlugin,
10
11
  accountApiClientPlugin,
11
12
  accountBillingHooksPlugin,
13
+ accountBillingOveragePlugin,
12
14
  accountWorkersUsagePlugin,
13
15
  accountSettingsStoragePlugin
14
16
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,cAAc,CAAC;AAChD,OAAO,mBAAmB,MAAM,aAAa,CAAC;AAC9C,OAAO,sBAAsB,MAAM,iBAAiB,CAAC;AACrD,OAAO,yBAAyB,MAAM,oBAAoB,CAAC;AAC3D,OAAO,yBAAyB,MAAM,oBAAoB,CAAC;AAC3D,OAAO,4BAA4B,MAAM,uBAAuB,CAAC;AAEjE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC7B,oBAAoB;IACpB,mBAAmB;IACnB,sBAAsB;IACtB,yBAAyB;IACzB,yBAAyB;IACzB,4BAA4B;CAC5B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,cAAc,CAAC;AAChD,OAAO,mBAAmB,MAAM,aAAa,CAAC;AAC9C,OAAO,sBAAsB,MAAM,iBAAiB,CAAC;AACrD,OAAO,yBAAyB,MAAM,oBAAoB,CAAC;AAC3D,OAAO,2BAA2B,MAAM,sBAAsB,CAAC;AAC/D,OAAO,yBAAyB,MAAM,oBAAoB,CAAC;AAC3D,OAAO,4BAA4B,MAAM,uBAAuB,CAAC;AAEjE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC7B,oBAAoB;IACpB,mBAAmB;IACnB,sBAAsB;IACtB,yBAAyB;IACzB,2BAA2B;IAC3B,yBAAyB;IACzB,4BAA4B;CAC5B,CAAC"}
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@vibesdotdev/account",
3
- "version": "1.0.0-rc.4",
3
+ "version": "1.0.0-rc.5",
4
4
  "dependencies": {
5
5
  "@vibesdotdev/client": "^1.0.0-rc.3",
6
6
  "@vibesdotdev/config": "^1.0.0-rc.5",
7
- "@vibesdotdev/infra-core": "^1.0.0-rc.5",
8
- "@vibesdotdev/logging": "^1.0.0-rc.5",
9
- "@vibesdotdev/kernel": "^1.0.0-rc.8",
7
+ "@vibesdotdev/infra-core": "^1.0.0-rc.6",
8
+ "@vibesdotdev/logging": "^1.0.0-rc.6",
9
+ "@vibesdotdev/kernel": "^1.0.0-rc.9",
10
10
  "@vibesdotdev/security": "^1.0.0-rc.5",
11
- "@vibesdotdev/storage": "^1.0.0-rc.5",
11
+ "@vibesdotdev/storage": "^1.0.0-rc.6",
12
12
  "@vibesdotdev/command-palette": "^1.0.0-rc.4",
13
13
  "zod": "^4.6.7"
14
14
  },
@@ -289,6 +289,12 @@
289
289
  "import": "./dist/billing/internal/quota-client.js",
290
290
  "default": "./dist/billing/internal/quota-client.js"
291
291
  },
292
+ "./billing/overage": {
293
+ "bun": "./dist/billing/overage/overage-policy.js",
294
+ "types": "./dist/billing/overage/overage-policy.d.ts",
295
+ "import": "./dist/billing/overage/overage-policy.js",
296
+ "default": "./dist/billing/overage/overage-policy.js"
297
+ },
292
298
  "./billing/org-member-billing": {
293
299
  "bun": "./dist/billing/org-member-billing.js",
294
300
  "types": "./dist/billing/org-member-billing.d.ts",
@@ -1467,10 +1473,10 @@
1467
1473
  "bugs": {
1468
1474
  "url": "https://docs.vibes.dev/account#support"
1469
1475
  },
1470
- "gitHead": "f1ff526c235b10c970497738beb16b0651c428c8",
1476
+ "gitHead": "a7ca2f3e372f5d1a64516c4cf6cf59ef5b23cc57",
1471
1477
  "_vibes_source": {
1472
1478
  "repo": "ssh://git@git.vibes.dev/vibesdotdev/framework.git",
1473
- "sha": "f1ff526c235b10c970497738beb16b0651c428c8",
1474
- "workspaceDigest": "sha256:d8db26d8a300ff5518e4257a9fa9e815e1f4239b99a6d16819dbdf135d132982"
1479
+ "sha": "a7ca2f3e372f5d1a64516c4cf6cf59ef5b23cc57",
1480
+ "workspaceDigest": "sha256:e819dca37a20f26d6cc7e1f7d4f425eb619c87e50af10ac3823d0b5098ccb499"
1475
1481
  }
1476
1482
  }