@downcity/services 0.1.67 → 0.1.71

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 (79) hide show
  1. package/bin/accounts/index.d.ts +1 -5
  2. package/bin/accounts/index.d.ts.map +1 -1
  3. package/bin/accounts/index.js +1 -4
  4. package/bin/accounts/index.js.map +1 -1
  5. package/bin/balance/index.d.ts +3 -3
  6. package/bin/balance/index.d.ts.map +1 -1
  7. package/bin/balance/index.js +2 -2
  8. package/bin/balance/index.js.map +1 -1
  9. package/bin/balance/routes.d.ts.map +1 -1
  10. package/bin/balance/routes.js +36 -0
  11. package/bin/balance/routes.js.map +1 -1
  12. package/bin/balance/schema.d.ts +161 -0
  13. package/bin/balance/schema.d.ts.map +1 -1
  14. package/bin/balance/schema.js +38 -0
  15. package/bin/balance/schema.js.map +1 -1
  16. package/bin/balance/service.d.ts +171 -5
  17. package/bin/balance/service.d.ts.map +1 -1
  18. package/bin/balance/service.js +77 -11
  19. package/bin/balance/service.js.map +1 -1
  20. package/bin/balance/types.d.ts +81 -1
  21. package/bin/balance/types.d.ts.map +1 -1
  22. package/bin/balance/utils.d.ts +5 -1
  23. package/bin/balance/utils.d.ts.map +1 -1
  24. package/bin/balance/utils.js +17 -0
  25. package/bin/balance/utils.js.map +1 -1
  26. package/bin/index.d.ts +8 -10
  27. package/bin/index.d.ts.map +1 -1
  28. package/bin/index.js +6 -7
  29. package/bin/index.js.map +1 -1
  30. package/bin/payment/helpers.d.ts +68 -0
  31. package/bin/payment/helpers.d.ts.map +1 -0
  32. package/bin/payment/helpers.js +148 -0
  33. package/bin/payment/helpers.js.map +1 -0
  34. package/bin/payment/index.d.ts +10 -28
  35. package/bin/payment/index.d.ts.map +1 -1
  36. package/bin/payment/index.js +9 -890
  37. package/bin/payment/index.js.map +1 -1
  38. package/bin/payment/providers.d.ts +25 -0
  39. package/bin/payment/providers.d.ts.map +1 -0
  40. package/bin/payment/providers.js +415 -0
  41. package/bin/payment/providers.js.map +1 -0
  42. package/bin/payment/routes.d.ts +29 -0
  43. package/bin/payment/routes.d.ts.map +1 -0
  44. package/bin/payment/routes.js +394 -0
  45. package/bin/payment/routes.js.map +1 -0
  46. package/bin/{billing → payment}/service.d.ts +99 -278
  47. package/bin/payment/service.d.ts.map +1 -0
  48. package/bin/payment/service.js +72 -0
  49. package/bin/payment/service.js.map +1 -0
  50. package/bin/payment/types.d.ts +11 -18
  51. package/bin/payment/types.d.ts.map +1 -1
  52. package/bin/usage/index.d.ts +3 -174
  53. package/bin/usage/index.d.ts.map +1 -1
  54. package/bin/usage/index.js +2 -117
  55. package/bin/usage/index.js.map +1 -1
  56. package/bin/usage/service.d.ts +353 -0
  57. package/bin/usage/service.d.ts.map +1 -0
  58. package/bin/usage/service.js +140 -0
  59. package/bin/usage/service.js.map +1 -0
  60. package/package.json +2 -2
  61. package/bin/billing/index.d.ts +0 -7
  62. package/bin/billing/index.d.ts.map +0 -1
  63. package/bin/billing/index.js +0 -6
  64. package/bin/billing/index.js.map +0 -1
  65. package/bin/billing/routes.d.ts +0 -14
  66. package/bin/billing/routes.d.ts.map +0 -1
  67. package/bin/billing/routes.js +0 -61
  68. package/bin/billing/routes.js.map +0 -1
  69. package/bin/billing/schema.d.ts +0 -582
  70. package/bin/billing/schema.d.ts.map +0 -1
  71. package/bin/billing/schema.js +0 -81
  72. package/bin/billing/schema.js.map +0 -1
  73. package/bin/billing/service.d.ts.map +0 -1
  74. package/bin/billing/service.js +0 -492
  75. package/bin/billing/service.js.map +0 -1
  76. package/bin/billing/types.d.ts +0 -226
  77. package/bin/billing/types.d.ts.map +0 -1
  78. package/bin/billing/types.js +0 -10
  79. package/bin/billing/types.js.map +0 -1
@@ -40,22 +40,6 @@ export interface PaymentTopupRecord extends Record<string, unknown> {
40
40
  /** 充值说明。 */
41
41
  note: string;
42
42
  }
43
- /**
44
- * Payment 服务所需的 balance 最小桥接接口。
45
- */
46
- export interface PaymentServiceBalanceBridge {
47
- /** 读取充值单。 */
48
- readTopup(topup_id: string): Promise<PaymentTopupRecord>;
49
- /** 完成充值单并真正入账。 */
50
- finishTopup(topup_id: string, extra?: {
51
- /** 说明文本。 */
52
- note?: string;
53
- /** 外部引用 ID。 */
54
- ref?: string;
55
- /** 结构化扩展字段。 */
56
- meta?: Record<string, unknown>;
57
- }): Promise<PaymentTopupRecord>;
58
- }
59
43
  /**
60
44
  * 单个支付方式返回项。
61
45
  */
@@ -177,8 +161,17 @@ export interface PaymentProvider {
177
161
  * Payment 服务配置。
178
162
  */
179
163
  export interface PaymentServiceOptions {
180
- /** 已挂载到 City 的 balance 服务实例。 */
181
- balance: PaymentServiceBalanceBridge;
164
+ /** 读取充值单。 */
165
+ readTopup(topup_id: string): Promise<PaymentTopupRecord>;
166
+ /** 完成充值单并真正入账。 */
167
+ finishTopup(topup_id: string, extra?: {
168
+ /** 说明文本。 */
169
+ note?: string;
170
+ /** 外部引用 ID。 */
171
+ ref?: string;
172
+ /** 结构化扩展字段。 */
173
+ meta?: Record<string, unknown>;
174
+ }): Promise<PaymentTopupRecord>;
182
175
  /** 当前 City 启用的支付 provider。 */
183
176
  providers: PaymentProvider[];
184
177
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/payment/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/payment/types.ts"],"names":[],"mappings":"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"}
@@ -1,177 +1,6 @@
1
1
  /**
2
- * Downcity 官方 Usage 服务。
3
- *
4
- * 通过全局 hook 记录 service 调用事件。
5
- * 兼容 Node.js 和 Cloudflare Workers(使用 Web Crypto API)。
2
+ * Usage 服务子模块公共入口。
6
3
  */
7
- import type { ServiceDefinition } from "@downcity/city";
8
- export interface UsageServiceOptions {
9
- /**
10
- * 是否记录失败的用户侧 service 调用。
11
- *
12
- * 默认只记录成功调用;开启后会通过 error hook 记录失败事件。
13
- */
14
- record_errors?: boolean;
15
- }
16
- /** Usage 事件表 */
17
- export declare const usageEvents: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
18
- name: "service_usage_events";
19
- schema: undefined;
20
- columns: {
21
- event_id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
22
- name: "event_id";
23
- tableName: "service_usage_events";
24
- dataType: "string";
25
- columnType: "SQLiteText";
26
- data: string;
27
- driverParam: string;
28
- notNull: true;
29
- hasDefault: false;
30
- isPrimaryKey: true;
31
- isAutoincrement: false;
32
- hasRuntimeDefault: false;
33
- enumValues: [string, ...string[]];
34
- baseColumn: never;
35
- identity: undefined;
36
- generated: undefined;
37
- }, {}, {
38
- length: number | undefined;
39
- }>;
40
- town_id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
41
- name: "town_id";
42
- tableName: "service_usage_events";
43
- dataType: "string";
44
- columnType: "SQLiteText";
45
- data: string;
46
- driverParam: string;
47
- notNull: true;
48
- hasDefault: false;
49
- isPrimaryKey: false;
50
- isAutoincrement: false;
51
- hasRuntimeDefault: false;
52
- enumValues: [string, ...string[]];
53
- baseColumn: never;
54
- identity: undefined;
55
- generated: undefined;
56
- }, {}, {
57
- length: number | undefined;
58
- }>;
59
- user_id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
60
- name: "user_id";
61
- tableName: "service_usage_events";
62
- dataType: "string";
63
- columnType: "SQLiteText";
64
- data: string;
65
- driverParam: string;
66
- notNull: true;
67
- hasDefault: false;
68
- isPrimaryKey: false;
69
- isAutoincrement: false;
70
- hasRuntimeDefault: false;
71
- enumValues: [string, ...string[]];
72
- baseColumn: never;
73
- identity: undefined;
74
- generated: undefined;
75
- }, {}, {
76
- length: number | undefined;
77
- }>;
78
- service: import("drizzle-orm/sqlite-core").SQLiteColumn<{
79
- name: "service";
80
- tableName: "service_usage_events";
81
- dataType: "string";
82
- columnType: "SQLiteText";
83
- data: string;
84
- driverParam: string;
85
- notNull: true;
86
- hasDefault: false;
87
- isPrimaryKey: false;
88
- isAutoincrement: false;
89
- hasRuntimeDefault: false;
90
- enumValues: [string, ...string[]];
91
- baseColumn: never;
92
- identity: undefined;
93
- generated: undefined;
94
- }, {}, {
95
- length: number | undefined;
96
- }>;
97
- model_id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
98
- name: "model_id";
99
- tableName: "service_usage_events";
100
- dataType: "string";
101
- columnType: "SQLiteText";
102
- data: string;
103
- driverParam: string;
104
- notNull: true;
105
- hasDefault: false;
106
- isPrimaryKey: false;
107
- isAutoincrement: false;
108
- hasRuntimeDefault: false;
109
- enumValues: [string, ...string[]];
110
- baseColumn: never;
111
- identity: undefined;
112
- generated: undefined;
113
- }, {}, {
114
- length: number | undefined;
115
- }>;
116
- status: import("drizzle-orm/sqlite-core").SQLiteColumn<{
117
- name: "status";
118
- tableName: "service_usage_events";
119
- dataType: "string";
120
- columnType: "SQLiteText";
121
- data: string;
122
- driverParam: string;
123
- notNull: true;
124
- hasDefault: false;
125
- isPrimaryKey: false;
126
- isAutoincrement: false;
127
- hasRuntimeDefault: false;
128
- enumValues: [string, ...string[]];
129
- baseColumn: never;
130
- identity: undefined;
131
- generated: undefined;
132
- }, {}, {
133
- length: number | undefined;
134
- }>;
135
- metadata_json: import("drizzle-orm/sqlite-core").SQLiteColumn<{
136
- name: "metadata_json";
137
- tableName: "service_usage_events";
138
- dataType: "string";
139
- columnType: "SQLiteText";
140
- data: string;
141
- driverParam: string;
142
- notNull: true;
143
- hasDefault: false;
144
- isPrimaryKey: false;
145
- isAutoincrement: false;
146
- hasRuntimeDefault: false;
147
- enumValues: [string, ...string[]];
148
- baseColumn: never;
149
- identity: undefined;
150
- generated: undefined;
151
- }, {}, {
152
- length: number | undefined;
153
- }>;
154
- created_at: import("drizzle-orm/sqlite-core").SQLiteColumn<{
155
- name: "created_at";
156
- tableName: "service_usage_events";
157
- dataType: "string";
158
- columnType: "SQLiteText";
159
- data: string;
160
- driverParam: string;
161
- notNull: true;
162
- hasDefault: false;
163
- isPrimaryKey: false;
164
- isAutoincrement: false;
165
- hasRuntimeDefault: false;
166
- enumValues: [string, ...string[]];
167
- baseColumn: never;
168
- identity: undefined;
169
- generated: undefined;
170
- }, {}, {
171
- length: number | undefined;
172
- }>;
173
- };
174
- dialect: "sqlite";
175
- }>;
176
- export declare function usageService(options?: UsageServiceOptions): ServiceDefinition;
4
+ export { UsageService, usageEvents } from "./service.js";
5
+ export type { UsageServiceOptions } from "./service.js";
177
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/usage/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAW,MAAM,gBAAgB,CAAC;AAEjE,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,gBAAgB;AAChB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAStB,CAAC;AAEH,wBAAgB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,iBAAiB,CA6DjF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/usage/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACzD,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC"}
@@ -1,120 +1,5 @@
1
1
  /**
2
- * Downcity 官方 Usage 服务。
3
- *
4
- * 通过全局 hook 记录 service 调用事件。
5
- * 兼容 Node.js 和 Cloudflare Workers(使用 Web Crypto API)。
2
+ * Usage 服务子模块公共入口。
6
3
  */
7
- import { sqliteTable, text } from "drizzle-orm/sqlite-core";
8
- /** Usage 事件表 */
9
- export const usageEvents = sqliteTable("service_usage_events", {
10
- event_id: text("event_id").primaryKey(),
11
- town_id: text("town_id").notNull(),
12
- user_id: text("user_id").notNull(),
13
- service: text("service").notNull(),
14
- model_id: text("model_id").notNull(),
15
- status: text("status").notNull(),
16
- metadata_json: text("metadata_json").notNull(),
17
- created_at: text("created_at").notNull(),
18
- });
19
- export function usageService(options = {}) {
20
- return {
21
- id: "usage",
22
- name: "Usage",
23
- version: "0.1.0",
24
- schema: { events: usageEvents },
25
- instruction: [
26
- "通过全局 hook 记录真实用户侧 service 调用事件。",
27
- "默认只记录成功调用;record_errors=true 时也会记录失败调用。",
28
- "常用读取方式是管理端查看 events/summary,用户侧查看 me。",
29
- ].join("\n"),
30
- install(ctx) {
31
- const events = ctx.table("events");
32
- ctx.hook.after(async (serviceCtx) => {
33
- if (!shouldRecordUsage(serviceCtx))
34
- return;
35
- await events.insert(createUsageEvent(serviceCtx, "success"));
36
- });
37
- if (options.record_errors) {
38
- ctx.hook.onError(async (serviceCtx) => {
39
- if (!shouldRecordUsage(serviceCtx))
40
- return;
41
- await events.insert(createUsageEvent(serviceCtx, "error"));
42
- });
43
- }
44
- ctx.route({
45
- method: "GET",
46
- path: "/events",
47
- auth: ["admin"],
48
- async handler(requestCtx) {
49
- return requestCtx.jsonResponse({ items: await events.select() });
50
- },
51
- });
52
- ctx.route({
53
- method: "GET",
54
- path: "/summary",
55
- auth: ["admin"],
56
- async handler(requestCtx) {
57
- return requestCtx.jsonResponse({
58
- items: summarizeUsage(await events.select()),
59
- });
60
- },
61
- });
62
- ctx.route({
63
- method: "GET",
64
- path: "/me",
65
- auth: ["user"],
66
- async handler(requestCtx) {
67
- return requestCtx.jsonResponse({
68
- items: await events.select({
69
- user_id: requestCtx.user?.user_id ?? "",
70
- town_id: requestCtx.town?.town_id ?? "",
71
- }),
72
- });
73
- },
74
- });
75
- },
76
- };
77
- }
78
- /**
79
- * 只记录真实用户侧调用。
80
- *
81
- * 管理端操作没有 user/town 上下文,usage 服务自己的查询也不应反过来
82
- * 产生 usage 事件,否则统计接口会污染自身结果。
83
- */
84
- function shouldRecordUsage(ctx) {
85
- return Boolean(ctx.user?.user_id && ctx.town?.town_id && ctx.service?.id !== "usage");
86
- }
87
- function createUsageEvent(ctx, status) {
88
- return {
89
- event_id: `usage_${randomId()}`,
90
- town_id: ctx.town?.town_id ?? "",
91
- user_id: ctx.user?.user_id ?? "",
92
- service: ctx.service?.id ?? "",
93
- model_id: ctx.variant?.id ?? "",
94
- status,
95
- metadata_json: JSON.stringify({
96
- variant: ctx.variant?.id,
97
- started_at: ctx.started_at?.toISOString(),
98
- ended_at: ctx.ended_at?.toISOString(),
99
- error: ctx.error?.message,
100
- }),
101
- created_at: new Date().toISOString(),
102
- };
103
- }
104
- function summarizeUsage(rows) {
105
- const byKey = new Map();
106
- for (const row of rows) {
107
- const key = `${row.town_id}\u0000${row.service}\u0000${row.status}`;
108
- const current = byKey.get(key) ?? { town_id: row.town_id, service: row.service, status: row.status, count: 0 };
109
- current.count += 1;
110
- byKey.set(key, current);
111
- }
112
- return [...byKey.values()].sort((a, b) => `${a.town_id}:${a.service}:${a.status}`.localeCompare(`${b.town_id}:${b.service}:${b.status}`));
113
- }
114
- /** 生成随机 ID(兼容 Node 和 Workers) */
115
- function randomId() {
116
- const buf = new Uint8Array(12);
117
- crypto.getRandomValues(buf);
118
- return btoa(String.fromCharCode(...buf)).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
119
- }
4
+ export { UsageService, usageEvents } from "./service.js";
120
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/usage/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/usage/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}