usage-sdk-test 0.1.2 → 0.1.3

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/index.d.ts CHANGED
@@ -4,5 +4,4 @@ export { createUsageSdk } from "./sdk/createUsageSdk";
4
4
  export type { PersistenceProvider, PersistenceInit, PersistenceStores } from "./persistence/PersistenceProvider";
5
5
  export { MemoryPersistenceProvider } from "./persistence/MemoryPersistenceProvider";
6
6
  export type { PlanResolver, PlanResolverInput } from "./plans/PlanResolver";
7
- export { StaticPlanResolver } from "./plans/StaticPlanResolver";
8
7
  export { MemoryPlanResolver } from "./plans/MemoryPlanResolver";
package/dist/index.js CHANGED
@@ -14,15 +14,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.MemoryPlanResolver = exports.StaticPlanResolver = exports.MemoryPersistenceProvider = exports.createUsageSdk = void 0;
17
+ exports.MemoryPlanResolver = exports.MemoryPersistenceProvider = exports.createUsageSdk = void 0;
18
18
  __exportStar(require("./types"), exports);
19
19
  __exportStar(require("./errors"), exports);
20
20
  var createUsageSdk_1 = require("./sdk/createUsageSdk");
21
21
  Object.defineProperty(exports, "createUsageSdk", { enumerable: true, get: function () { return createUsageSdk_1.createUsageSdk; } });
22
22
  var MemoryPersistenceProvider_1 = require("./persistence/MemoryPersistenceProvider");
23
23
  Object.defineProperty(exports, "MemoryPersistenceProvider", { enumerable: true, get: function () { return MemoryPersistenceProvider_1.MemoryPersistenceProvider; } });
24
- var StaticPlanResolver_1 = require("./plans/StaticPlanResolver");
25
- Object.defineProperty(exports, "StaticPlanResolver", { enumerable: true, get: function () { return StaticPlanResolver_1.StaticPlanResolver; } });
26
24
  var MemoryPlanResolver_1 = require("./plans/MemoryPlanResolver");
27
25
  Object.defineProperty(exports, "MemoryPlanResolver", { enumerable: true, get: function () { return MemoryPlanResolver_1.MemoryPlanResolver; } });
28
26
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,2CAAyB;AACzB,uDAAsD;AAA7C,gHAAA,cAAc,OAAA;AAEvB,qFAAoF;AAA3E,sIAAA,yBAAyB,OAAA;AAElC,iEAAgE;AAAvD,wHAAA,kBAAkB,OAAA;AAC3B,iEAAgE;AAAvD,wHAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,2CAAyB;AACzB,uDAAsD;AAA7C,gHAAA,cAAc,OAAA;AAEvB,qFAAoF;AAA3E,sIAAA,yBAAyB,OAAA;AAElC,iEAAgE;AAAvD,wHAAA,kBAAkB,OAAA"}
@@ -1,4 +1,15 @@
1
1
  import type { PersistenceInit, PersistenceProvider, PersistenceStores } from "./PersistenceProvider";
2
2
  export declare class MemoryPersistenceProvider implements PersistenceProvider {
3
+ private readonly defaultPlanId?;
4
+ private readonly initialPlans?;
5
+ private planResolver;
6
+ constructor(input?: {
7
+ defaultPlanId?: string;
8
+ initialPlans?: Array<{
9
+ accountId: string;
10
+ planId: string;
11
+ }>;
12
+ });
3
13
  create(init: PersistenceInit): PersistenceStores;
14
+ setPlanId(accountId: string, planId: string): void;
4
15
  }
@@ -5,15 +5,36 @@ const MemoryPlanStore_1 = require("../providers/memory/MemoryPlanStore");
5
5
  const MemoryLedgerStore_1 = require("../providers/memory/MemoryLedgerStore");
6
6
  const MemoryLimitStore_1 = require("../providers/memory/MemoryLimitStore");
7
7
  const MemoryUsageStore_1 = require("../providers/memory/MemoryUsageStore");
8
+ const MemoryPlanResolver_1 = require("../plans/MemoryPlanResolver");
8
9
  class MemoryPersistenceProvider {
10
+ defaultPlanId;
11
+ initialPlans;
12
+ planResolver = null;
13
+ constructor(input) {
14
+ this.defaultPlanId = input?.defaultPlanId;
15
+ this.initialPlans = input?.initialPlans;
16
+ }
9
17
  create(init) {
18
+ if (!this.planResolver) {
19
+ this.planResolver = new MemoryPlanResolver_1.MemoryPlanResolver({
20
+ defaultPlanId: this.defaultPlanId ?? init.plans[0]?.planId ?? "default",
21
+ initial: this.initialPlans ?? [],
22
+ });
23
+ }
10
24
  return {
11
25
  planStore: new MemoryPlanStore_1.MemoryPlanStore(init.plans),
12
26
  ledgerStore: new MemoryLedgerStore_1.MemoryLedgerStore(init.initialBalances),
13
27
  limitStore: new MemoryLimitStore_1.MemoryLimitStore(),
14
28
  usageStore: new MemoryUsageStore_1.MemoryUsageStore(),
29
+ planResolver: this.planResolver,
15
30
  };
16
31
  }
32
+ setPlanId(accountId, planId) {
33
+ if (!this.planResolver) {
34
+ throw new Error("MemoryPersistenceProvider.create() must be called before setPlanId()");
35
+ }
36
+ this.planResolver.setPlanId(accountId, planId);
37
+ }
17
38
  }
18
39
  exports.MemoryPersistenceProvider = MemoryPersistenceProvider;
19
40
  //# sourceMappingURL=MemoryPersistenceProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryPersistenceProvider.js","sourceRoot":"","sources":["../../src/persistence/MemoryPersistenceProvider.ts"],"names":[],"mappings":";;;AACA,yEAAsE;AACtE,6EAA0E;AAC1E,2EAAwE;AACxE,2EAAwE;AAExE,MAAa,yBAAyB;IACpC,MAAM,CAAC,IAAqB;QAC1B,OAAO;YACL,SAAS,EAAE,IAAI,iCAAe,CAAC,IAAI,CAAC,KAAK,CAAC;YAC1C,WAAW,EAAE,IAAI,qCAAiB,CAAC,IAAI,CAAC,eAAe,CAAC;YACxD,UAAU,EAAE,IAAI,mCAAgB,EAAE;YAClC,UAAU,EAAE,IAAI,mCAAgB,EAAE;SACnC,CAAC;IACJ,CAAC;CACF;AATD,8DASC"}
1
+ {"version":3,"file":"MemoryPersistenceProvider.js","sourceRoot":"","sources":["../../src/persistence/MemoryPersistenceProvider.ts"],"names":[],"mappings":";;;AACA,yEAAsE;AACtE,6EAA0E;AAC1E,2EAAwE;AACxE,2EAAwE;AACxE,oEAAiE;AAEjE,MAAa,yBAAyB;IACnB,aAAa,CAAU;IACvB,YAAY,CAAgD;IACrE,YAAY,GAA8B,IAAI,CAAC;IAEvD,YAAY,KAA+F;QACzG,IAAI,CAAC,aAAa,GAAG,KAAK,EAAE,aAAa,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,KAAK,EAAE,YAAY,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,IAAqB;QAC1B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,IAAI,uCAAkB,CAAC;gBACzC,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,SAAS;gBACvE,OAAO,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE;aACjC,CAAC,CAAC;QACL,CAAC;QACD,OAAO;YACL,SAAS,EAAE,IAAI,iCAAe,CAAC,IAAI,CAAC,KAAK,CAAC;YAC1C,WAAW,EAAE,IAAI,qCAAiB,CAAC,IAAI,CAAC,eAAe,CAAC;YACxD,UAAU,EAAE,IAAI,mCAAgB,EAAE;YAClC,UAAU,EAAE,IAAI,mCAAgB,EAAE;YAClC,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,SAAiB,EAAE,MAAc;QACzC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;CACF;AAhCD,8DAgCC"}
@@ -4,6 +4,7 @@ import type { LedgerStore } from "../stores/LedgerStore";
4
4
  import type { LimitStore } from "../stores/LimitStore";
5
5
  import type { UsageStore } from "../stores/UsageStore";
6
6
  import type { Money } from "../types";
7
+ import type { PlanResolver } from "../plans/PlanResolver";
7
8
  export type PersistenceInit = {
8
9
  plans: PricePlan[];
9
10
  initialBalances?: Array<{
@@ -16,6 +17,7 @@ export type PersistenceStores = {
16
17
  ledgerStore: LedgerStore;
17
18
  limitStore: LimitStore;
18
19
  usageStore: UsageStore;
20
+ planResolver: PlanResolver;
19
21
  };
20
22
  export interface PersistenceProvider {
21
23
  create(init: PersistenceInit): PersistenceStores;
@@ -36,5 +36,10 @@ export declare class UsageSdk {
36
36
  fromMs?: number;
37
37
  toMs?: number;
38
38
  }): Promise<Money>;
39
+ getUsageRecords(input: {
40
+ accountId: string;
41
+ fromMs?: number;
42
+ toMs?: number;
43
+ }): Promise<import("../types").UsageRecord[]>;
39
44
  enforce(input: EnforceInput): Promise<EnforceResult>;
40
45
  }
@@ -68,6 +68,9 @@ class UsageSdk {
68
68
  }
69
69
  return { currency: input.currency, amountMinor: sum };
70
70
  }
71
+ async getUsageRecords(input) {
72
+ return this.deps.usageStore.list(input);
73
+ }
71
74
  async enforce(input) {
72
75
  try {
73
76
  if (!input.idempotencyKey)
@@ -1 +1 @@
1
- {"version":3,"file":"UsageSdk.js","sourceRoot":"","sources":["../../src/sdk/UsageSdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UsageSdk.js","sourceRoot":"","sources":["../../src/sdk/UsageSdk.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,8 @@
1
1
  import type { Limits, Money, PricePlan } from "../types";
2
2
  import type { PersistenceProvider } from "../persistence/PersistenceProvider";
3
- import type { PlanResolver } from "../plans/PlanResolver";
4
3
  export type CreateUsageSdkInput = {
5
4
  plans: PricePlan[];
6
5
  persistence: PersistenceProvider;
7
- planResolver?: PlanResolver;
8
6
  initialBalances?: Array<{
9
7
  accountId: string;
10
8
  money: Money;
@@ -40,6 +38,11 @@ export declare const createUsageSdk: (input: CreateUsageSdkInput) => {
40
38
  fromMs?: number;
41
39
  toMs?: number;
42
40
  }) => Promise<Money>;
41
+ getUsageRecords: (input: {
42
+ accountId: string;
43
+ fromMs?: number;
44
+ toMs?: number;
45
+ }) => Promise<import("../types").UsageRecord[]>;
43
46
  getPlanId: (input: {
44
47
  accountId: string;
45
48
  }) => Promise<string>;
@@ -2,14 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createUsageSdk = void 0;
4
4
  const UsageSdk_1 = require("./UsageSdk");
5
- const StaticPlanResolver_1 = require("../plans/StaticPlanResolver");
6
5
  const createUsageSdk = (input) => {
7
- const { planStore, ledgerStore, limitStore, usageStore } = input.persistence.create({
6
+ const { planStore, ledgerStore, limitStore, usageStore, planResolver } = input.persistence.create({
8
7
  plans: input.plans,
9
8
  initialBalances: input.initialBalances,
10
9
  });
11
10
  const sdk = new UsageSdk_1.UsageSdk({ planStore, ledgerStore, limitStore, usageStore });
12
- const planResolver = input.planResolver ?? new StaticPlanResolver_1.StaticPlanResolver(input.plans[0]?.planId ?? "default");
13
11
  return {
14
12
  quote: sdk.quote.bind(sdk),
15
13
  enforce: async (enforceInput) => sdk.enforce({
@@ -20,6 +18,7 @@ const createUsageSdk = (input) => {
20
18
  consumeRpm: sdk.consumeRpm.bind(sdk),
21
19
  grant: sdk.grant.bind(sdk),
22
20
  getUsageCostSum: sdk.getUsageCostSum.bind(sdk),
21
+ getUsageRecords: sdk.getUsageRecords.bind(sdk),
23
22
  getPlanId: async (input) => planResolver.resolvePlanId(input),
24
23
  };
25
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"createUsageSdk.js","sourceRoot":"","sources":["../../src/sdk/createUsageSdk.ts"],"names":[],"mappings":";;;AACA,yCAAsC;AAGtC,oEAAiE;AAa1D,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAE,EAAE;IAC3D,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;QAClF,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,eAAe,EAAE,KAAK,CAAC,eAAe;KACvC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,IAAI,mBAAQ,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;IAC7E,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,IAAI,uCAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,CAAC;IAEvG,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QAC1B,OAAO,EAAE,KAAK,EAAE,YAA+C,EAAE,EAAE,CACjE,GAAG,CAAC,OAAO,CAAC;YACV,GAAG,YAAY;YACf,MAAM,EAAE,YAAY,CAAC,MAAM,IAAI,KAAK,CAAC,aAAa;SACnD,CAAC;QACJ,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;QACpC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;QACpC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QAC1B,eAAe,EAAE,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;QAC9C,SAAS,EAAE,KAAK,EAAE,KAA4B,EAAE,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC;KACrF,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,cAAc,kBAsBzB"}
1
+ {"version":3,"file":"createUsageSdk.js","sourceRoot":"","sources":["../../src/sdk/createUsageSdk.ts"],"names":[],"mappings":";;;AACA,yCAAsC;AAa/B,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAE,EAAE;IAC3D,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;QAChG,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,eAAe,EAAE,KAAK,CAAC,eAAe;KACvC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,IAAI,mBAAQ,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;IAE7E,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QAC1B,OAAO,EAAE,KAAK,EAAE,YAA+C,EAAE,EAAE,CACjE,GAAG,CAAC,OAAO,CAAC;YACV,GAAG,YAAY;YACf,MAAM,EAAE,YAAY,CAAC,MAAM,IAAI,KAAK,CAAC,aAAa;SACnD,CAAC;QACJ,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;QACpC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;QACpC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QAC1B,eAAe,EAAE,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;QAC9C,eAAe,EAAE,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;QAC9C,SAAS,EAAE,KAAK,EAAE,KAA4B,EAAE,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC;KACrF,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,cAAc,kBAsBzB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "usage-sdk-test",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "private": false,
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",