@ai-billing/polar 0.0.4 → 0.0.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.
package/dist/index.cjs CHANGED
@@ -34,28 +34,40 @@ function createPolarDestination(options) {
34
34
  });
35
35
  return (0, import_core.createDestination)("polar", async (event) => {
36
36
  const tags = event.tags ?? {};
37
- const internalId = tags[options.customerIdKey] ?? tags.customerId;
38
- const externalId = tags[options.externalCustomerIdKey] ?? tags.userId;
37
+ const internalId = options.customerIdKey ? tags[options.customerIdKey] : tags.customerId ?? tags.polarCustomerId ?? tags.customer_id;
38
+ const externalId = options.externalCustomerIdKey ? tags[options.externalCustomerIdKey] : tags.userId ?? tags.externalId ?? tags.user_id;
39
39
  if (!internalId && !externalId) {
40
40
  console.warn(
41
41
  "[ai-billing] Polar: No identity found in tags. Skipping event."
42
42
  );
43
43
  }
44
- const meterName = typeof options.meterName === "function" ? options.meterName(event) : options.meterName;
45
- const metadata = options.mapMetadata ? options.mapMetadata(event) : (0, import_core.buildMeterMetadata)(event);
46
- await polar.events.ingest({
47
- events: [
48
- {
49
- name: meterName,
50
- ...internalId ? { customerId: String(internalId) } : { externalCustomerId: String(externalId) },
51
- ...event.cost ? {
52
- cost_nanos: (0, import_core.costToNumber)(event.cost, "nanos"),
53
- cost_currency: event.cost.currency
54
- } : {},
55
- metadata
56
- }
57
- ]
58
- });
44
+ const eventName = typeof options.eventName === "function" ? options.eventName(event) : options.eventName;
45
+ let metadata;
46
+ if (options.mapMetadata) {
47
+ metadata = options.mapMetadata(event);
48
+ } else {
49
+ metadata = {
50
+ ...(0, import_core.buildMeterMetadata)(event),
51
+ ...event.cost ? {
52
+ cost_nanos: (0, import_core.costToNumber)(event.cost, "nanos"),
53
+ cost_currency: event.cost.currency
54
+ } : {}
55
+ };
56
+ }
57
+ try {
58
+ await polar.events.ingest({
59
+ events: [
60
+ {
61
+ name: eventName,
62
+ customerId: String(internalId),
63
+ ...externalId ? { externalId: String(externalId) } : {},
64
+ metadata
65
+ }
66
+ ]
67
+ });
68
+ } catch (error) {
69
+ console.error("[ai-billing] Failed to ingest event to Polar:", error);
70
+ }
59
71
  });
60
72
  }
61
73
  // Annotate the CommonJS export names for ESM import in node:
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/destination/polar-destination.ts"],"sourcesContent":["export * from './destination/index.js';\n","import { Polar } from '@polar-sh/sdk';\nimport {\n createDestination,\n costToNumber,\n buildMeterMetadata,\n} from '@ai-billing/core';\nimport type { BillingEvent, DefaultTags, Destination } from '@ai-billing/core';\n\nexport interface PolarDestinationOptions<\n TTags extends DefaultTags = DefaultTags,\n> {\n client?: Polar;\n accessToken?: string;\n server?: 'sandbox' | 'production';\n meterName: string | ((event: BillingEvent<TTags>) => string);\n\n /** * Custom key to look for in tags for Polar's internal customer ID (cus_...).\n * Defaults to: 'customerId' | 'polarCustomerId'\n */\n customerIdKey?: keyof TTags;\n\n /** * Custom key to look for in tags for your system's ID.\n * Defaults to: 'userId' | 'externalId'\n */\n externalCustomerIdKey?: keyof TTags;\n\n mapMetadata?: (\n event: BillingEvent<TTags>,\n ) => Record<string, string | number | boolean>;\n}\n\nexport function createPolarDestination<TTags extends DefaultTags = DefaultTags>(\n options: PolarDestinationOptions<TTags>,\n): Destination<TTags> {\n const polar =\n options.client ??\n new Polar({\n accessToken: options.accessToken,\n server: options.server,\n });\n\n return createDestination<TTags>('polar', async event => {\n const tags = (event.tags ?? {}) as Record<\n string,\n string | number | boolean\n >;\n\n const internalId = tags[options.customerIdKey as string] ?? tags.customerId;\n const externalId =\n tags[options.externalCustomerIdKey as string] ?? tags.userId;\n\n if (!internalId && !externalId) {\n console.warn(\n '[ai-billing] Polar: No identity found in tags. Skipping event.',\n );\n }\n\n const meterName =\n typeof options.meterName === 'function'\n ? options.meterName(event)\n : options.meterName;\n\n const metadata = options.mapMetadata\n ? options.mapMetadata(event)\n : (buildMeterMetadata(event) as Record<\n string,\n string | number | boolean\n >);\n\n await polar.events.ingest({\n events: [\n {\n name: meterName,\n ...(internalId\n ? { customerId: String(internalId) }\n : { externalCustomerId: String(externalId) }),\n ...(event.cost\n ? {\n cost_nanos: costToNumber(event.cost, 'nanos'),\n cost_currency: event.cost.currency,\n }\n : {}),\n metadata,\n },\n ],\n });\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,iBAAsB;AACtB,kBAIO;AA0BA,SAAS,uBACd,SACoB;AACpB,QAAM,QACJ,QAAQ,UACR,IAAI,iBAAM;AAAA,IACR,aAAa,QAAQ;AAAA,IACrB,QAAQ,QAAQ;AAAA,EAClB,CAAC;AAEH,aAAO,+BAAyB,SAAS,OAAM,UAAS;AACtD,UAAM,OAAQ,MAAM,QAAQ,CAAC;AAK7B,UAAM,aAAa,KAAK,QAAQ,aAAuB,KAAK,KAAK;AACjE,UAAM,aACJ,KAAK,QAAQ,qBAA+B,KAAK,KAAK;AAExD,QAAI,CAAC,cAAc,CAAC,YAAY;AAC9B,cAAQ;AAAA,QACN;AAAA,MACF;AAAA,IACF;AAEA,UAAM,YACJ,OAAO,QAAQ,cAAc,aACzB,QAAQ,UAAU,KAAK,IACvB,QAAQ;AAEd,UAAM,WAAW,QAAQ,cACrB,QAAQ,YAAY,KAAK,QACxB,gCAAmB,KAAK;AAK7B,UAAM,MAAM,OAAO,OAAO;AAAA,MACxB,QAAQ;AAAA,QACN;AAAA,UACE,MAAM;AAAA,UACN,GAAI,aACA,EAAE,YAAY,OAAO,UAAU,EAAE,IACjC,EAAE,oBAAoB,OAAO,UAAU,EAAE;AAAA,UAC7C,GAAI,MAAM,OACN;AAAA,YACE,gBAAY,0BAAa,MAAM,MAAM,OAAO;AAAA,YAC5C,eAAe,MAAM,KAAK;AAAA,UAC5B,IACA,CAAC;AAAA,UACL;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts","../src/destination/polar-destination.ts"],"sourcesContent":["export * from './destination/index.js';\n","import { Polar } from '@polar-sh/sdk';\nimport {\n createDestination,\n costToNumber,\n buildMeterMetadata,\n} from '@ai-billing/core';\nimport type { BillingEvent, DefaultTags, Destination } from '@ai-billing/core';\nimport { EventMetadataInput } from '@polar-sh/sdk/models/components/eventmetadatainput.js';\n\nexport interface PolarDestinationOptions<\n TTags extends DefaultTags = DefaultTags,\n> {\n client?: Polar;\n accessToken?: string;\n server?: 'sandbox' | 'production';\n eventName: string | ((event: BillingEvent<TTags>) => string);\n customerIdKey?: keyof TTags;\n externalCustomerIdKey?: keyof TTags;\n\n mapMetadata?: (\n event: BillingEvent<TTags>,\n ) => Record<string, string | number | boolean>;\n}\n\nexport function createPolarDestination<TTags extends DefaultTags = DefaultTags>(\n options: PolarDestinationOptions<TTags>,\n): Destination<TTags> {\n const polar =\n options.client ??\n new Polar({\n accessToken: options.accessToken,\n server: options.server,\n });\n\n return createDestination<TTags>('polar', async event => {\n const tags = (event.tags ?? {}) as Record<\n string,\n string | number | boolean\n >;\n\n const internalId = options.customerIdKey\n ? tags[options.customerIdKey as string]\n : (tags.customerId ?? tags.polarCustomerId ?? tags.customer_id);\n\n const externalId = options.externalCustomerIdKey\n ? tags[options.externalCustomerIdKey as string]\n : (tags.userId ?? tags.externalId ?? tags.user_id);\n\n if (!internalId && !externalId) {\n console.warn(\n '[ai-billing] Polar: No identity found in tags. Skipping event.',\n );\n }\n\n const eventName =\n typeof options.eventName === 'function'\n ? options.eventName(event)\n : options.eventName;\n\n let metadata: Record<string, EventMetadataInput>;\n\n if (options.mapMetadata) {\n metadata = options.mapMetadata(event);\n } else {\n metadata = {\n ...(buildMeterMetadata(event) as Record<\n string,\n string | number | boolean\n >),\n ...(event.cost\n ? {\n cost_nanos: costToNumber(event.cost, 'nanos'),\n cost_currency: event.cost.currency,\n }\n : {}),\n };\n }\n\n try {\n await polar.events.ingest({\n events: [\n {\n name: eventName,\n customerId: String(internalId),\n ...(externalId ? { externalId: String(externalId) } : {}),\n metadata,\n },\n ],\n });\n } catch (error) {\n console.error('[ai-billing] Failed to ingest event to Polar:', error);\n }\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,iBAAsB;AACtB,kBAIO;AAmBA,SAAS,uBACd,SACoB;AACpB,QAAM,QACJ,QAAQ,UACR,IAAI,iBAAM;AAAA,IACR,aAAa,QAAQ;AAAA,IACrB,QAAQ,QAAQ;AAAA,EAClB,CAAC;AAEH,aAAO,+BAAyB,SAAS,OAAM,UAAS;AACtD,UAAM,OAAQ,MAAM,QAAQ,CAAC;AAK7B,UAAM,aAAa,QAAQ,gBACvB,KAAK,QAAQ,aAAuB,IACnC,KAAK,cAAc,KAAK,mBAAmB,KAAK;AAErD,UAAM,aAAa,QAAQ,wBACvB,KAAK,QAAQ,qBAA+B,IAC3C,KAAK,UAAU,KAAK,cAAc,KAAK;AAE5C,QAAI,CAAC,cAAc,CAAC,YAAY;AAC9B,cAAQ;AAAA,QACN;AAAA,MACF;AAAA,IACF;AAEA,UAAM,YACJ,OAAO,QAAQ,cAAc,aACzB,QAAQ,UAAU,KAAK,IACvB,QAAQ;AAEd,QAAI;AAEJ,QAAI,QAAQ,aAAa;AACvB,iBAAW,QAAQ,YAAY,KAAK;AAAA,IACtC,OAAO;AACL,iBAAW;AAAA,QACT,OAAI,gCAAmB,KAAK;AAAA,QAI5B,GAAI,MAAM,OACN;AAAA,UACE,gBAAY,0BAAa,MAAM,MAAM,OAAO;AAAA,UAC5C,eAAe,MAAM,KAAK;AAAA,QAC5B,IACA,CAAC;AAAA,MACP;AAAA,IACF;AAEA,QAAI;AACF,YAAM,MAAM,OAAO,OAAO;AAAA,QACxB,QAAQ;AAAA,UACN;AAAA,YACE,MAAM;AAAA,YACN,YAAY,OAAO,UAAU;AAAA,YAC7B,GAAI,aAAa,EAAE,YAAY,OAAO,UAAU,EAAE,IAAI,CAAC;AAAA,YACvD;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH,SAAS,OAAO;AACd,cAAQ,MAAM,iDAAiD,KAAK;AAAA,IACtE;AAAA,EACF,CAAC;AACH;","names":[]}
package/dist/index.d.cts CHANGED
@@ -5,14 +5,8 @@ interface PolarDestinationOptions<TTags extends DefaultTags = DefaultTags> {
5
5
  client?: Polar;
6
6
  accessToken?: string;
7
7
  server?: 'sandbox' | 'production';
8
- meterName: string | ((event: BillingEvent<TTags>) => string);
9
- /** * Custom key to look for in tags for Polar's internal customer ID (cus_...).
10
- * Defaults to: 'customerId' | 'polarCustomerId'
11
- */
8
+ eventName: string | ((event: BillingEvent<TTags>) => string);
12
9
  customerIdKey?: keyof TTags;
13
- /** * Custom key to look for in tags for your system's ID.
14
- * Defaults to: 'userId' | 'externalId'
15
- */
16
10
  externalCustomerIdKey?: keyof TTags;
17
11
  mapMetadata?: (event: BillingEvent<TTags>) => Record<string, string | number | boolean>;
18
12
  }
package/dist/index.d.ts CHANGED
@@ -5,14 +5,8 @@ interface PolarDestinationOptions<TTags extends DefaultTags = DefaultTags> {
5
5
  client?: Polar;
6
6
  accessToken?: string;
7
7
  server?: 'sandbox' | 'production';
8
- meterName: string | ((event: BillingEvent<TTags>) => string);
9
- /** * Custom key to look for in tags for Polar's internal customer ID (cus_...).
10
- * Defaults to: 'customerId' | 'polarCustomerId'
11
- */
8
+ eventName: string | ((event: BillingEvent<TTags>) => string);
12
9
  customerIdKey?: keyof TTags;
13
- /** * Custom key to look for in tags for your system's ID.
14
- * Defaults to: 'userId' | 'externalId'
15
- */
16
10
  externalCustomerIdKey?: keyof TTags;
17
11
  mapMetadata?: (event: BillingEvent<TTags>) => Record<string, string | number | boolean>;
18
12
  }
package/dist/index.js CHANGED
@@ -12,28 +12,40 @@ function createPolarDestination(options) {
12
12
  });
13
13
  return createDestination("polar", async (event) => {
14
14
  const tags = event.tags ?? {};
15
- const internalId = tags[options.customerIdKey] ?? tags.customerId;
16
- const externalId = tags[options.externalCustomerIdKey] ?? tags.userId;
15
+ const internalId = options.customerIdKey ? tags[options.customerIdKey] : tags.customerId ?? tags.polarCustomerId ?? tags.customer_id;
16
+ const externalId = options.externalCustomerIdKey ? tags[options.externalCustomerIdKey] : tags.userId ?? tags.externalId ?? tags.user_id;
17
17
  if (!internalId && !externalId) {
18
18
  console.warn(
19
19
  "[ai-billing] Polar: No identity found in tags. Skipping event."
20
20
  );
21
21
  }
22
- const meterName = typeof options.meterName === "function" ? options.meterName(event) : options.meterName;
23
- const metadata = options.mapMetadata ? options.mapMetadata(event) : buildMeterMetadata(event);
24
- await polar.events.ingest({
25
- events: [
26
- {
27
- name: meterName,
28
- ...internalId ? { customerId: String(internalId) } : { externalCustomerId: String(externalId) },
29
- ...event.cost ? {
30
- cost_nanos: costToNumber(event.cost, "nanos"),
31
- cost_currency: event.cost.currency
32
- } : {},
33
- metadata
34
- }
35
- ]
36
- });
22
+ const eventName = typeof options.eventName === "function" ? options.eventName(event) : options.eventName;
23
+ let metadata;
24
+ if (options.mapMetadata) {
25
+ metadata = options.mapMetadata(event);
26
+ } else {
27
+ metadata = {
28
+ ...buildMeterMetadata(event),
29
+ ...event.cost ? {
30
+ cost_nanos: costToNumber(event.cost, "nanos"),
31
+ cost_currency: event.cost.currency
32
+ } : {}
33
+ };
34
+ }
35
+ try {
36
+ await polar.events.ingest({
37
+ events: [
38
+ {
39
+ name: eventName,
40
+ customerId: String(internalId),
41
+ ...externalId ? { externalId: String(externalId) } : {},
42
+ metadata
43
+ }
44
+ ]
45
+ });
46
+ } catch (error) {
47
+ console.error("[ai-billing] Failed to ingest event to Polar:", error);
48
+ }
37
49
  });
38
50
  }
39
51
  export {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/destination/polar-destination.ts"],"sourcesContent":["import { Polar } from '@polar-sh/sdk';\nimport {\n createDestination,\n costToNumber,\n buildMeterMetadata,\n} from '@ai-billing/core';\nimport type { BillingEvent, DefaultTags, Destination } from '@ai-billing/core';\n\nexport interface PolarDestinationOptions<\n TTags extends DefaultTags = DefaultTags,\n> {\n client?: Polar;\n accessToken?: string;\n server?: 'sandbox' | 'production';\n meterName: string | ((event: BillingEvent<TTags>) => string);\n\n /** * Custom key to look for in tags for Polar's internal customer ID (cus_...).\n * Defaults to: 'customerId' | 'polarCustomerId'\n */\n customerIdKey?: keyof TTags;\n\n /** * Custom key to look for in tags for your system's ID.\n * Defaults to: 'userId' | 'externalId'\n */\n externalCustomerIdKey?: keyof TTags;\n\n mapMetadata?: (\n event: BillingEvent<TTags>,\n ) => Record<string, string | number | boolean>;\n}\n\nexport function createPolarDestination<TTags extends DefaultTags = DefaultTags>(\n options: PolarDestinationOptions<TTags>,\n): Destination<TTags> {\n const polar =\n options.client ??\n new Polar({\n accessToken: options.accessToken,\n server: options.server,\n });\n\n return createDestination<TTags>('polar', async event => {\n const tags = (event.tags ?? {}) as Record<\n string,\n string | number | boolean\n >;\n\n const internalId = tags[options.customerIdKey as string] ?? tags.customerId;\n const externalId =\n tags[options.externalCustomerIdKey as string] ?? tags.userId;\n\n if (!internalId && !externalId) {\n console.warn(\n '[ai-billing] Polar: No identity found in tags. Skipping event.',\n );\n }\n\n const meterName =\n typeof options.meterName === 'function'\n ? options.meterName(event)\n : options.meterName;\n\n const metadata = options.mapMetadata\n ? options.mapMetadata(event)\n : (buildMeterMetadata(event) as Record<\n string,\n string | number | boolean\n >);\n\n await polar.events.ingest({\n events: [\n {\n name: meterName,\n ...(internalId\n ? { customerId: String(internalId) }\n : { externalCustomerId: String(externalId) }),\n ...(event.cost\n ? {\n cost_nanos: costToNumber(event.cost, 'nanos'),\n cost_currency: event.cost.currency,\n }\n : {}),\n metadata,\n },\n ],\n });\n });\n}\n"],"mappings":";AAAA,SAAS,aAAa;AACtB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AA0BA,SAAS,uBACd,SACoB;AACpB,QAAM,QACJ,QAAQ,UACR,IAAI,MAAM;AAAA,IACR,aAAa,QAAQ;AAAA,IACrB,QAAQ,QAAQ;AAAA,EAClB,CAAC;AAEH,SAAO,kBAAyB,SAAS,OAAM,UAAS;AACtD,UAAM,OAAQ,MAAM,QAAQ,CAAC;AAK7B,UAAM,aAAa,KAAK,QAAQ,aAAuB,KAAK,KAAK;AACjE,UAAM,aACJ,KAAK,QAAQ,qBAA+B,KAAK,KAAK;AAExD,QAAI,CAAC,cAAc,CAAC,YAAY;AAC9B,cAAQ;AAAA,QACN;AAAA,MACF;AAAA,IACF;AAEA,UAAM,YACJ,OAAO,QAAQ,cAAc,aACzB,QAAQ,UAAU,KAAK,IACvB,QAAQ;AAEd,UAAM,WAAW,QAAQ,cACrB,QAAQ,YAAY,KAAK,IACxB,mBAAmB,KAAK;AAK7B,UAAM,MAAM,OAAO,OAAO;AAAA,MACxB,QAAQ;AAAA,QACN;AAAA,UACE,MAAM;AAAA,UACN,GAAI,aACA,EAAE,YAAY,OAAO,UAAU,EAAE,IACjC,EAAE,oBAAoB,OAAO,UAAU,EAAE;AAAA,UAC7C,GAAI,MAAM,OACN;AAAA,YACE,YAAY,aAAa,MAAM,MAAM,OAAO;AAAA,YAC5C,eAAe,MAAM,KAAK;AAAA,UAC5B,IACA,CAAC;AAAA,UACL;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../src/destination/polar-destination.ts"],"sourcesContent":["import { Polar } from '@polar-sh/sdk';\nimport {\n createDestination,\n costToNumber,\n buildMeterMetadata,\n} from '@ai-billing/core';\nimport type { BillingEvent, DefaultTags, Destination } from '@ai-billing/core';\nimport { EventMetadataInput } from '@polar-sh/sdk/models/components/eventmetadatainput.js';\n\nexport interface PolarDestinationOptions<\n TTags extends DefaultTags = DefaultTags,\n> {\n client?: Polar;\n accessToken?: string;\n server?: 'sandbox' | 'production';\n eventName: string | ((event: BillingEvent<TTags>) => string);\n customerIdKey?: keyof TTags;\n externalCustomerIdKey?: keyof TTags;\n\n mapMetadata?: (\n event: BillingEvent<TTags>,\n ) => Record<string, string | number | boolean>;\n}\n\nexport function createPolarDestination<TTags extends DefaultTags = DefaultTags>(\n options: PolarDestinationOptions<TTags>,\n): Destination<TTags> {\n const polar =\n options.client ??\n new Polar({\n accessToken: options.accessToken,\n server: options.server,\n });\n\n return createDestination<TTags>('polar', async event => {\n const tags = (event.tags ?? {}) as Record<\n string,\n string | number | boolean\n >;\n\n const internalId = options.customerIdKey\n ? tags[options.customerIdKey as string]\n : (tags.customerId ?? tags.polarCustomerId ?? tags.customer_id);\n\n const externalId = options.externalCustomerIdKey\n ? tags[options.externalCustomerIdKey as string]\n : (tags.userId ?? tags.externalId ?? tags.user_id);\n\n if (!internalId && !externalId) {\n console.warn(\n '[ai-billing] Polar: No identity found in tags. Skipping event.',\n );\n }\n\n const eventName =\n typeof options.eventName === 'function'\n ? options.eventName(event)\n : options.eventName;\n\n let metadata: Record<string, EventMetadataInput>;\n\n if (options.mapMetadata) {\n metadata = options.mapMetadata(event);\n } else {\n metadata = {\n ...(buildMeterMetadata(event) as Record<\n string,\n string | number | boolean\n >),\n ...(event.cost\n ? {\n cost_nanos: costToNumber(event.cost, 'nanos'),\n cost_currency: event.cost.currency,\n }\n : {}),\n };\n }\n\n try {\n await polar.events.ingest({\n events: [\n {\n name: eventName,\n customerId: String(internalId),\n ...(externalId ? { externalId: String(externalId) } : {}),\n metadata,\n },\n ],\n });\n } catch (error) {\n console.error('[ai-billing] Failed to ingest event to Polar:', error);\n }\n });\n}\n"],"mappings":";AAAA,SAAS,aAAa;AACtB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAmBA,SAAS,uBACd,SACoB;AACpB,QAAM,QACJ,QAAQ,UACR,IAAI,MAAM;AAAA,IACR,aAAa,QAAQ;AAAA,IACrB,QAAQ,QAAQ;AAAA,EAClB,CAAC;AAEH,SAAO,kBAAyB,SAAS,OAAM,UAAS;AACtD,UAAM,OAAQ,MAAM,QAAQ,CAAC;AAK7B,UAAM,aAAa,QAAQ,gBACvB,KAAK,QAAQ,aAAuB,IACnC,KAAK,cAAc,KAAK,mBAAmB,KAAK;AAErD,UAAM,aAAa,QAAQ,wBACvB,KAAK,QAAQ,qBAA+B,IAC3C,KAAK,UAAU,KAAK,cAAc,KAAK;AAE5C,QAAI,CAAC,cAAc,CAAC,YAAY;AAC9B,cAAQ;AAAA,QACN;AAAA,MACF;AAAA,IACF;AAEA,UAAM,YACJ,OAAO,QAAQ,cAAc,aACzB,QAAQ,UAAU,KAAK,IACvB,QAAQ;AAEd,QAAI;AAEJ,QAAI,QAAQ,aAAa;AACvB,iBAAW,QAAQ,YAAY,KAAK;AAAA,IACtC,OAAO;AACL,iBAAW;AAAA,QACT,GAAI,mBAAmB,KAAK;AAAA,QAI5B,GAAI,MAAM,OACN;AAAA,UACE,YAAY,aAAa,MAAM,MAAM,OAAO;AAAA,UAC5C,eAAe,MAAM,KAAK;AAAA,QAC5B,IACA,CAAC;AAAA,MACP;AAAA,IACF;AAEA,QAAI;AACF,YAAM,MAAM,OAAO,OAAO;AAAA,QACxB,QAAQ;AAAA,UACN;AAAA,YACE,MAAM;AAAA,YACN,YAAY,OAAO,UAAU;AAAA,YAC7B,GAAI,aAAa,EAAE,YAAY,OAAO,UAAU,EAAE,IAAI,CAAC;AAAA,YACvD;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH,SAAS,OAAO;AACd,cAAQ,MAAM,iDAAiD,KAAK;AAAA,IACtE;AAAA,EACF,CAAC;AACH;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-billing/polar",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "repository": {