@downcity/services 0.1.60 → 0.1.62

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 (66) hide show
  1. package/LICENSE +183 -0
  2. package/bin/balance/amount.d.ts +51 -0
  3. package/bin/balance/amount.d.ts.map +1 -0
  4. package/bin/balance/amount.js +101 -0
  5. package/bin/balance/amount.js.map +1 -0
  6. package/bin/balance/index.d.ts +2 -0
  7. package/bin/balance/index.d.ts.map +1 -1
  8. package/bin/balance/index.js +1 -0
  9. package/bin/balance/index.js.map +1 -1
  10. package/bin/balance/routes.d.ts.map +1 -1
  11. package/bin/balance/routes.js +1 -0
  12. package/bin/balance/routes.js.map +1 -1
  13. package/bin/balance/service.d.ts +13 -1
  14. package/bin/balance/service.d.ts.map +1 -1
  15. package/bin/balance/service.js +54 -25
  16. package/bin/balance/service.js.map +1 -1
  17. package/bin/balance/types.d.ts +44 -9
  18. package/bin/balance/types.d.ts.map +1 -1
  19. package/bin/balance/types.js +2 -1
  20. package/bin/balance/types.js.map +1 -1
  21. package/bin/balance/utils.d.ts.map +1 -1
  22. package/bin/balance/utils.js +17 -5
  23. package/bin/balance/utils.js.map +1 -1
  24. package/bin/billing/index.d.ts +7 -0
  25. package/bin/billing/index.d.ts.map +1 -0
  26. package/bin/billing/index.js +6 -0
  27. package/bin/billing/index.js.map +1 -0
  28. package/bin/billing/routes.d.ts +14 -0
  29. package/bin/billing/routes.d.ts.map +1 -0
  30. package/bin/billing/routes.js +61 -0
  31. package/bin/billing/routes.js.map +1 -0
  32. package/bin/billing/schema.d.ts +582 -0
  33. package/bin/billing/schema.d.ts.map +1 -0
  34. package/bin/billing/schema.js +81 -0
  35. package/bin/billing/schema.js.map +1 -0
  36. package/bin/billing/service.d.ts +619 -0
  37. package/bin/billing/service.d.ts.map +1 -0
  38. package/bin/billing/service.js +457 -0
  39. package/bin/billing/service.js.map +1 -0
  40. package/bin/billing/types.d.ts +205 -0
  41. package/bin/billing/types.d.ts.map +1 -0
  42. package/bin/billing/types.js +10 -0
  43. package/bin/billing/types.js.map +1 -0
  44. package/bin/index.d.ts +5 -1
  45. package/bin/index.d.ts.map +1 -1
  46. package/bin/index.js +3 -1
  47. package/bin/index.js.map +1 -1
  48. package/bin/payment/types.d.ts +5 -1
  49. package/bin/payment/types.d.ts.map +1 -1
  50. package/bin/payment-creem/creem.d.ts.map +1 -1
  51. package/bin/payment-creem/creem.js +15 -0
  52. package/bin/payment-creem/creem.js.map +1 -1
  53. package/bin/payment-dodo/dodo.d.ts.map +1 -1
  54. package/bin/payment-dodo/dodo.js +16 -1
  55. package/bin/payment-dodo/dodo.js.map +1 -1
  56. package/bin/payment-stripe/stripe.d.ts.map +1 -1
  57. package/bin/payment-stripe/stripe.js +14 -1
  58. package/bin/payment-stripe/stripe.js.map +1 -1
  59. package/bin/payment-waffo/waffo.d.ts.map +1 -1
  60. package/bin/payment-waffo/waffo.js +15 -0
  61. package/bin/payment-waffo/waffo.js.map +1 -1
  62. package/bin/types/Amount.d.ts +25 -0
  63. package/bin/types/Amount.d.ts.map +1 -0
  64. package/bin/types/Amount.js +17 -0
  65. package/bin/types/Amount.js.map +1 -0
  66. package/package.json +2 -2
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Billing 服务表结构定义。
3
+ *
4
+ * 关键说明(中文)
5
+ * - pricing_rules 负责把 usage 事实转换成 microcredits
6
+ * - charges 记录每次已经结算的扣费结果
7
+ */
8
+ import { integer, sqliteTable, text } from "drizzle-orm/sqlite-core";
9
+ export const PRICING_RULE_TABLE = "service_billing_pricing_rules";
10
+ export const CHARGE_TABLE = "service_billing_charges";
11
+ /**
12
+ * SQLite pricing rule 表。
13
+ */
14
+ export const billingPricingRules = sqliteTable(PRICING_RULE_TABLE, {
15
+ /** 规则 ID。 */
16
+ rule_id: text("rule_id").primaryKey(),
17
+ /** 服务 ID,例如 ai。 */
18
+ service_id: text("service_id").notNull(),
19
+ /** action ID,例如 chat/completions。 */
20
+ action_id: text("action_id").notNull(),
21
+ /** 模型 ID,空字符串表示 fallback。 */
22
+ model_id: text("model_id").notNull(),
23
+ /** provider ID,空字符串表示 fallback。 */
24
+ provider_id: text("provider_id").notNull(),
25
+ /** 每次请求固定扣费。 */
26
+ request_microcredits: integer("request_microcredits").notNull(),
27
+ /** 每个 input token 扣费。 */
28
+ input_token_microcredits: integer("input_token_microcredits").notNull(),
29
+ /** 每 1,000,000 个 input token 扣费。 */
30
+ input_mtoken_microcredits: integer("input_mtoken_microcredits").notNull(),
31
+ /** 每个 output token 扣费。 */
32
+ output_token_microcredits: integer("output_token_microcredits").notNull(),
33
+ /** 每 1,000,000 个 output token 扣费。 */
34
+ output_mtoken_microcredits: integer("output_mtoken_microcredits").notNull(),
35
+ /** 每个 cached input token 扣费。 */
36
+ cached_token_microcredits: integer("cached_token_microcredits").notNull(),
37
+ /** 每 1,000,000 个 cached input token 扣费。 */
38
+ cached_mtoken_microcredits: integer("cached_mtoken_microcredits").notNull(),
39
+ /** 每张图片扣费。 */
40
+ image_microcredits: integer("image_microcredits").notNull(),
41
+ /** 规则状态。 */
42
+ status: text("status").notNull(),
43
+ /** 说明文本。 */
44
+ note: text("note").notNull(),
45
+ /** 创建时间。 */
46
+ created_at: text("created_at").notNull(),
47
+ /** 更新时间。 */
48
+ updated_at: text("updated_at").notNull(),
49
+ });
50
+ /**
51
+ * SQLite charge 表。
52
+ */
53
+ export const billingCharges = sqliteTable(CHARGE_TABLE, {
54
+ /** 扣费记录 ID。 */
55
+ charge_id: text("charge_id").primaryKey(),
56
+ /** 用户 ID。 */
57
+ user_id: text("user_id").notNull(),
58
+ /** Town ID。 */
59
+ town_id: text("town_id").notNull(),
60
+ /** 服务 ID。 */
61
+ service_id: text("service_id").notNull(),
62
+ /** action ID。 */
63
+ action_id: text("action_id").notNull(),
64
+ /** 模型 ID。 */
65
+ model_id: text("model_id").notNull(),
66
+ /** provider ID。 */
67
+ provider_id: text("provider_id").notNull(),
68
+ /** 命中的 pricing rule ID。 */
69
+ rule_id: text("rule_id").notNull(),
70
+ /** 扣费金额,单位为 microcredits。 */
71
+ amount_microcredits: integer("amount_microcredits").notNull(),
72
+ /** 状态。 */
73
+ status: text("status").notNull(),
74
+ /** 说明文本。 */
75
+ note: text("note").notNull(),
76
+ /** 扩展字段 JSON。 */
77
+ metadata_json: text("metadata_json").notNull(),
78
+ /** 创建时间。 */
79
+ created_at: text("created_at").notNull(),
80
+ });
81
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/billing/schema.ts"],"names":[],"mappings":"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"}