@downcity/services 0.1.59 → 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.
- package/LICENSE +183 -0
- package/bin/balance/amount.d.ts +51 -0
- package/bin/balance/amount.d.ts.map +1 -0
- package/bin/balance/amount.js +101 -0
- package/bin/balance/amount.js.map +1 -0
- package/bin/balance/index.d.ts +2 -0
- package/bin/balance/index.d.ts.map +1 -1
- package/bin/balance/index.js +1 -0
- package/bin/balance/index.js.map +1 -1
- package/bin/balance/routes.d.ts.map +1 -1
- package/bin/balance/routes.js +1 -0
- package/bin/balance/routes.js.map +1 -1
- package/bin/balance/service.d.ts +13 -1
- package/bin/balance/service.d.ts.map +1 -1
- package/bin/balance/service.js +54 -25
- package/bin/balance/service.js.map +1 -1
- package/bin/balance/types.d.ts +44 -9
- package/bin/balance/types.d.ts.map +1 -1
- package/bin/balance/types.js +2 -1
- package/bin/balance/types.js.map +1 -1
- package/bin/balance/utils.d.ts.map +1 -1
- package/bin/balance/utils.js +17 -5
- package/bin/balance/utils.js.map +1 -1
- package/bin/billing/index.d.ts +7 -0
- package/bin/billing/index.d.ts.map +1 -0
- package/bin/billing/index.js +6 -0
- package/bin/billing/index.js.map +1 -0
- package/bin/billing/routes.d.ts +14 -0
- package/bin/billing/routes.d.ts.map +1 -0
- package/bin/billing/routes.js +61 -0
- package/bin/billing/routes.js.map +1 -0
- package/bin/billing/schema.d.ts +582 -0
- package/bin/billing/schema.d.ts.map +1 -0
- package/bin/billing/schema.js +81 -0
- package/bin/billing/schema.js.map +1 -0
- package/bin/billing/service.d.ts +619 -0
- package/bin/billing/service.d.ts.map +1 -0
- package/bin/billing/service.js +457 -0
- package/bin/billing/service.js.map +1 -0
- package/bin/billing/types.d.ts +205 -0
- package/bin/billing/types.d.ts.map +1 -0
- package/bin/billing/types.js +10 -0
- package/bin/billing/types.js.map +1 -0
- package/bin/index.d.ts +5 -1
- package/bin/index.d.ts.map +1 -1
- package/bin/index.js +3 -1
- package/bin/index.js.map +1 -1
- package/bin/payment/types.d.ts +5 -1
- package/bin/payment/types.d.ts.map +1 -1
- package/bin/payment-creem/creem.d.ts.map +1 -1
- package/bin/payment-creem/creem.js +15 -0
- package/bin/payment-creem/creem.js.map +1 -1
- package/bin/payment-dodo/dodo.d.ts.map +1 -1
- package/bin/payment-dodo/dodo.js +16 -1
- package/bin/payment-dodo/dodo.js.map +1 -1
- package/bin/payment-stripe/stripe.d.ts.map +1 -1
- package/bin/payment-stripe/stripe.js +14 -1
- package/bin/payment-stripe/stripe.js.map +1 -1
- package/bin/payment-waffo/waffo.d.ts.map +1 -1
- package/bin/payment-waffo/waffo.js +15 -0
- package/bin/payment-waffo/waffo.js.map +1 -1
- package/bin/types/Amount.d.ts +25 -0
- package/bin/types/Amount.d.ts.map +1 -0
- package/bin/types/Amount.js +17 -0
- package/bin/types/Amount.js.map +1 -0
- 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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"}
|