@downcity/city 0.2.92 → 0.2.94
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/bin/federation/federation-router.d.ts.map +1 -1
- package/bin/federation/federation-router.js +41 -24
- package/bin/federation/federation-router.js.map +1 -1
- package/bin/index.d.ts +2 -0
- package/bin/index.d.ts.map +1 -1
- package/bin/index.js +1 -0
- package/bin/index.js.map +1 -1
- package/bin/service/ai/ai-service.d.ts +1 -1
- package/bin/service/ai/ai-service.d.ts.map +1 -1
- package/bin/service/ai/ai-service.js +31 -12
- package/bin/service/ai/ai-service.js.map +1 -1
- package/bin/service/ai/job-types.d.ts +4 -28
- package/bin/service/ai/job-types.d.ts.map +1 -1
- package/bin/service/ai/job-types.js +2 -2
- package/bin/service/{ai → async-job}/schema.d.ts +139 -31
- package/bin/service/async-job/schema.d.ts.map +1 -0
- package/bin/service/{ai → async-job}/schema.js +26 -14
- package/bin/service/async-job/schema.js.map +1 -0
- package/bin/service/installable-service.d.ts +39 -8
- package/bin/service/installable-service.d.ts.map +1 -1
- package/bin/service/installable-service.js +19 -2
- package/bin/service/installable-service.js.map +1 -1
- package/bin/service/service.d.ts +36 -0
- package/bin/service/service.d.ts.map +1 -1
- package/bin/service/service.js +30 -0
- package/bin/service/service.js.map +1 -1
- package/bin/types/AsyncJob.d.ts +42 -0
- package/bin/types/AsyncJob.d.ts.map +1 -0
- package/bin/types/AsyncJob.js +8 -0
- package/bin/types/AsyncJob.js.map +1 -0
- package/package.json +2 -2
- package/bin/service/ai/schema.d.ts.map +0 -1
- package/bin/service/ai/schema.js.map +0 -1
package/bin/service/service.js
CHANGED
|
@@ -34,6 +34,8 @@ export class Service {
|
|
|
34
34
|
instruction;
|
|
35
35
|
/** Action 注册表 */
|
|
36
36
|
actionMap = new Map();
|
|
37
|
+
/** 原生 HTTP route 注册表 */
|
|
38
|
+
nativeRouteMap = new Map();
|
|
37
39
|
// ========== City 注入 ==========
|
|
38
40
|
_db;
|
|
39
41
|
_client;
|
|
@@ -80,6 +82,27 @@ export class Service {
|
|
|
80
82
|
_listActionDefs() {
|
|
81
83
|
return [...this.actionMap.values()];
|
|
82
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* 注册原生 HTTP route(Federation 内部使用)。
|
|
87
|
+
*/
|
|
88
|
+
_registerNativeRoute(definition) {
|
|
89
|
+
const path = normalizeNativeRoutePath(definition.path);
|
|
90
|
+
const method = definition.method;
|
|
91
|
+
const key = `${method} ${path}`;
|
|
92
|
+
if (this.nativeRouteMap.has(key)) {
|
|
93
|
+
throw new Error(`Duplicate native route: ${this.id}.${method} ${path}`);
|
|
94
|
+
}
|
|
95
|
+
this.nativeRouteMap.set(key, {
|
|
96
|
+
method,
|
|
97
|
+
path,
|
|
98
|
+
auth: normalizeRouteAuth(definition.auth),
|
|
99
|
+
handler: definition.handler,
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
/** 列出原生 HTTP route 及其元数据(Federation 内部使用)。 */
|
|
103
|
+
_listNativeRouteDefs() {
|
|
104
|
+
return [...this.nativeRouteMap.values()];
|
|
105
|
+
}
|
|
83
106
|
/**
|
|
84
107
|
* 返回 instruction 聚合时使用的动作定义。
|
|
85
108
|
*/
|
|
@@ -91,4 +114,11 @@ export class Service {
|
|
|
91
114
|
}));
|
|
92
115
|
}
|
|
93
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* 归一化 Service namespace 内的原生 route 路径。
|
|
119
|
+
*/
|
|
120
|
+
function normalizeNativeRoutePath(path) {
|
|
121
|
+
const normalized = `/${path.replace(/^\/+/, "")}`;
|
|
122
|
+
return normalized === "/" ? "" : normalized;
|
|
123
|
+
}
|
|
94
124
|
//# sourceMappingURL=service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/service/service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAiB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/service/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 通用异步任务类型模块。
|
|
3
|
+
*
|
|
4
|
+
* City 内部所有需要跨请求恢复、轮询或后台执行的任务都使用这组结构。
|
|
5
|
+
* 具体业务能力通过 job_type 区分,例如图片生成使用 `ai.image.generate`。
|
|
6
|
+
*/
|
|
7
|
+
/** 通用异步任务状态。 */
|
|
8
|
+
export type AsyncJobStatus = "queued" | "running" | "succeeded" | "failed";
|
|
9
|
+
/**
|
|
10
|
+
* 通用异步任务表行。
|
|
11
|
+
*/
|
|
12
|
+
export interface AsyncJobRecord {
|
|
13
|
+
/** City 内部生成的异步任务 ID。 */
|
|
14
|
+
job_id: string;
|
|
15
|
+
/** 任务类型,例如 `ai.image.generate`。 */
|
|
16
|
+
job_type: string;
|
|
17
|
+
/** 当前任务状态。 */
|
|
18
|
+
status: AsyncJobStatus;
|
|
19
|
+
/** 创建任务时的原始输入,JSON 字符串。 */
|
|
20
|
+
input_json: string;
|
|
21
|
+
/** 任务推进时需要保留的中间状态,JSON 字符串。 */
|
|
22
|
+
state_json?: string | null;
|
|
23
|
+
/** 成功后的业务结果,JSON 字符串。 */
|
|
24
|
+
result_json?: string | null;
|
|
25
|
+
/** 失败时给客户端展示的错误消息。 */
|
|
26
|
+
error?: string | null;
|
|
27
|
+
/** 当前任务状态说明,便于客户端展示或排障。 */
|
|
28
|
+
message?: string | null;
|
|
29
|
+
/** 当前 user_token 绑定的 City ID。 */
|
|
30
|
+
city_id?: string | null;
|
|
31
|
+
/** 当前终端用户 ID。 */
|
|
32
|
+
user_id?: string | null;
|
|
33
|
+
/** 创建该任务的 Service ID。 */
|
|
34
|
+
service_id?: string | null;
|
|
35
|
+
/** 本次任务解析到的模型 ID。 */
|
|
36
|
+
model_id?: string | null;
|
|
37
|
+
/** 创建时间。 */
|
|
38
|
+
created_at: string;
|
|
39
|
+
/** 更新时间。 */
|
|
40
|
+
updated_at: string;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=AsyncJob.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AsyncJob.d.ts","sourceRoot":"","sources":["../../src/types/AsyncJob.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,gBAAgB;AAChB,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc;IACd,MAAM,EAAE,cAAc,CAAC;IACvB,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,sBAAsB;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,iBAAiB;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY;IACZ,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AsyncJob.js","sourceRoot":"","sources":["../../src/types/AsyncJob.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@downcity/city",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.94",
|
|
4
4
|
"description": "Downcity City runtime and City access SDK for services, actions, auth, env, and cities.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./bin/index.js",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"typescript": "^6.0.3"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@downcity/type": "0.1.
|
|
44
|
+
"@downcity/type": "0.1.64",
|
|
45
45
|
"ai": "^6.0.193",
|
|
46
46
|
"drizzle-orm": "^0.45.2",
|
|
47
47
|
"hono": "^4.12.23"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/service/ai/schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuB5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBxB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/service/ai/schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1E,MAAM,wBAAwB,GAAG,eAAe,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC,wBAAwB,EAAE;IACrE,+BAA+B;IAC/B,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE;IACzC,kDAAkD;IAClD,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;IACtC,yBAAyB;IACzB,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;IAC9C,kCAAkC;IAClC,WAAW,EAAE,UAAU,CAAC,aAAa,CAAC;IACtC,sBAAsB;IACtB,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC;IAC1B,2BAA2B;IAC3B,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC;IAC9B,iCAAiC;IACjC,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC;IAC9B,iBAAiB;IACjB,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC;IAC9B,qBAAqB;IACrB,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC;IAChC,YAAY;IACZ,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;IAC9C,YAAY;IACZ,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;CAC/C,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,wBAAwB,EAAE;IAC7D,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE;IACrC,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;IAClC,yBAAyB;IACzB,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;IAC1C,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC;IAClC,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;IACtB,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC;IAC1B,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC;IAC1B,iBAAiB;IACjB,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC;IAC1B,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC;IAC5B,YAAY;IACZ,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;IAC1C,YAAY;IACZ,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;CAC3C,CAAC,CAAC"}
|