@downcity/city 0.2.100 → 0.2.101

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.
@@ -57,9 +57,29 @@ export declare class AIService extends Service {
57
57
  *
58
58
  * 关键点(中文)
59
59
  * - 这个方法供后台 worker / queue / cron 调用,不是前端轮询 API。
60
- * - Provider 负责把结果写入自己的存储;AIService 只在 succeeded 后执行 model.bill。
60
+ * - AIService 使用内置 async_jobs 持久化任务,Provider 只负责把上游结果转成固定返回协议。
61
61
  */
62
62
  persistImageJob(ctx: Context): Promise<AIImageProviderPersistResult>;
63
+ /**
64
+ * 写入图片任务。
65
+ */
66
+ private insertImageJob;
67
+ /**
68
+ * 读取图片任务。
69
+ */
70
+ private requireImageJob;
71
+ /**
72
+ * 把 async_jobs 记录注入 Provider 可读取的上下文。
73
+ */
74
+ private attachImageJobContext;
75
+ /**
76
+ * 将图片任务记录转成默认 result 返回。
77
+ */
78
+ private imageJobToResult;
79
+ /**
80
+ * 按 persist 输出更新图片任务。
81
+ */
82
+ private updateImageJobFromPersist;
63
83
  private handleChatCompletions;
64
84
  /**
65
85
  * 将解析出的模型写回原始 Context,供 hook / usage / charge 读取。
@@ -1 +1 @@
1
- {"version":3,"file":"ai-service.d.ts","sourceRoot":"","sources":["../../../src/service/ai/ai-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,KAAK,EACV,gBAAgB,EAEhB,WAAW,EAEX,WAAW,EACZ,MAAM,YAAY,CAAC;AAOpB,OAAO,KAAK,EAEV,4BAA4B,EAI7B,MAAM,gBAAgB,CAAC;AAUxB,KAAK,SAAS,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;AAmJrD,qBAAa,SAAU,SAAQ,OAAO;IACpC,YAAY;IACZ,OAAO,CAAC,QAAQ,CAAkC;IAElD,0CAA0C;IAC1C,OAAO,CAAC,eAAe,CAA+B;IAEtD,iBAAiB;IACjB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAkB;gBAE/B,OAAO,GAAE,gBAAqB;IAsC1C,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,WAAW,GAAG,WAAW,EAAE,CAAC,EAAE,GAAG,IAAI;IAarD,UAAU,IAAI,WAAW,EAAE;IAI3B,SAAS,IAAI,OAAO;IAMpB,OAAO,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,CAAC,EAAE,SAAS,GAAG;QAAE,KAAK,CAAC,EAAE,WAAW,CAAC;QAAC,MAAM,EAAE,QAAQ,CAAA;KAAE;IA2B7G,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,2BAA2B;IAmCnC,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,uBAAuB;IAc/B,OAAO,CAAC,aAAa;YAQP,cAAc;YAuBd,cAAc;YAcd,YAAY;IAc1B;;;;;;OAMG;IACG,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,4BAA4B,CAAC;YAsB5D,qBAAqB;IAwBnC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;OAEG;YACW,YAAY;IAkC1B,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE;QAC/C,GAAG,EAAE,SAAS,CAAC;QACf,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;KACtC,GAAG,WAAW,EAAE;IAYjB,OAAO,CAAC,aAAa;CAgBtB"}
1
+ {"version":3,"file":"ai-service.d.ts","sourceRoot":"","sources":["../../../src/service/ai/ai-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAI7C,OAAO,KAAK,EACV,gBAAgB,EAEhB,WAAW,EAEX,WAAW,EACZ,MAAM,YAAY,CAAC;AAOpB,OAAO,KAAK,EAGV,4BAA4B,EAI7B,MAAM,gBAAgB,CAAC;AAYxB,KAAK,SAAS,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;AAgNrD,qBAAa,SAAU,SAAQ,OAAO;IACpC,YAAY;IACZ,OAAO,CAAC,QAAQ,CAAkC;IAElD,0CAA0C;IAC1C,OAAO,CAAC,eAAe,CAA+B;IAEtD,iBAAiB;IACjB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAkB;gBAE/B,OAAO,GAAE,gBAAqB;IAsC1C,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,WAAW,GAAG,WAAW,EAAE,CAAC,EAAE,GAAG,IAAI;IAarD,UAAU,IAAI,WAAW,EAAE;IAI3B,SAAS,IAAI,OAAO;IAMpB,OAAO,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,CAAC,EAAE,SAAS,GAAG;QAAE,KAAK,CAAC,EAAE,WAAW,CAAC;QAAC,MAAM,EAAE,QAAQ,CAAA;KAAE;IA2B7G,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,2BAA2B;IAmCnC,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,uBAAuB;IAc/B,OAAO,CAAC,aAAa;YAQP,cAAc;YAuBd,cAAc;YAed,YAAY;IA2B1B;;;;;;OAMG;IACG,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,4BAA4B,CAAC;IA4B1E;;OAEG;YACW,cAAc;IAsB5B;;OAEG;YACW,eAAe;IAW7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAc7B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;OAEG;YACW,yBAAyB;YAkBzB,qBAAqB;IAwBnC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;OAEG;YACW,YAAY;IAkC1B,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE;QAC/C,GAAG,EAAE,SAAS,CAAC;QACf,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;KACtC,GAAG,WAAW,EAAE;IAYjB,OAAO,CAAC,aAAa;CAgBtB"}
@@ -18,13 +18,16 @@
18
18
  */
19
19
  import { Service } from "../service.js";
20
20
  import { httpError } from "../../utils/helpers.js";
21
+ import { sqliteAsyncJobs } from "../async-job/schema.js";
21
22
  import { normalizeAIUsage } from "./helpers.js";
22
23
  /** AIService 直接暴露的 SDK 通路模态列表。图片只通过 image/create + image/result 暴露。 */
23
24
  const MODALITIES = ["text", "stream", "video", "tts", "asr"];
24
25
  /** 用户侧默认以 text 模态排序模型 */
25
26
  const DEFAULT_MODEL_MODE = "text";
26
27
  /** 图片任务的内部 action 列表。 */
27
- const IMAGE_ACTION_MODES = ["image_create", "image_persist", "image_result"];
28
+ const IMAGE_ACTION_MODES = ["image_create", "image_persist"];
29
+ /** 图片生成任务在通用 async_jobs 表中的类型。 */
30
+ const IMAGE_GENERATE_JOB_TYPE = "ai.image.generate";
28
31
  /**
29
32
  * 判断一个值是否为 HTTP Response。
30
33
  */
@@ -61,6 +64,64 @@ function isPromiseLike(value) {
61
64
  function readOptionalString(value) {
62
65
  return typeof value === "string" && value.trim() ? value.trim() : undefined;
63
66
  }
67
+ /**
68
+ * 读取可空字符串字段。
69
+ */
70
+ function readNullableString(value) {
71
+ return typeof value === "string" ? value : null;
72
+ }
73
+ /**
74
+ * 读取任务状态。
75
+ */
76
+ function readJobStatus(value) {
77
+ return value === "queued" || value === "running" || value === "succeeded" || value === "failed"
78
+ ? value
79
+ : "failed";
80
+ }
81
+ /**
82
+ * 安全解析 JSON 对象。
83
+ */
84
+ function parseRecordJson(value) {
85
+ if (typeof value !== "string" || !value.trim())
86
+ return {};
87
+ try {
88
+ const parsed = JSON.parse(value);
89
+ return isRecord(parsed) ? parsed : {};
90
+ }
91
+ catch {
92
+ return {};
93
+ }
94
+ }
95
+ /**
96
+ * 安全解析 UIMessage。
97
+ */
98
+ function parseImageMessage(value) {
99
+ const record = parseRecordJson(value);
100
+ return record.role === "assistant" && Array.isArray(record.parts)
101
+ ? record
102
+ : undefined;
103
+ }
104
+ /**
105
+ * 把 TableApi 普通行转成图片任务记录。
106
+ */
107
+ function rowToAsyncJobRecord(row) {
108
+ return {
109
+ job_id: String(row.job_id ?? ""),
110
+ job_type: String(row.job_type ?? ""),
111
+ status: readJobStatus(row.status),
112
+ input_json: String(row.input_json ?? "{}"),
113
+ state_json: readNullableString(row.state_json),
114
+ result_json: readNullableString(row.result_json),
115
+ error: readNullableString(row.error),
116
+ message: readNullableString(row.message),
117
+ city_id: readNullableString(row.city_id),
118
+ user_id: readNullableString(row.user_id),
119
+ service_id: readNullableString(row.service_id),
120
+ model_id: readNullableString(row.model_id),
121
+ created_at: String(row.created_at ?? ""),
122
+ updated_at: String(row.updated_at ?? ""),
123
+ };
124
+ }
64
125
  /**
65
126
  * 保留已知 HTTP 错误状态,其它异常统一包装成上游错误。
66
127
  */
@@ -170,7 +231,7 @@ export class AIService extends Service {
170
231
  /** AI 专用余额桥接。 */
171
232
  balance;
172
233
  constructor(options = {}) {
173
- super({ id: "ai", name: "AI" });
234
+ super({ id: "ai", name: "AI", tables: { async_jobs: sqliteAsyncJobs } });
174
235
  this.balance = options.balance;
175
236
  // 为每个 modality 注册 routing action
176
237
  for (const modality of MODALITIES) {
@@ -251,13 +312,16 @@ export class AIService extends Service {
251
312
  }
252
313
  getAction(model, mode) {
253
314
  if (mode === "image" || IMAGE_ACTION_MODES.includes(mode)) {
254
- const has_image_actions = Boolean(model.actions.image_create && model.actions.image_persist && model.actions.image_result);
315
+ const has_image_actions = Boolean(model.actions.image_create && model.actions.image_persist);
255
316
  if (!has_image_actions)
256
317
  return undefined;
257
318
  return mode === "image"
258
319
  ? model.actions.image_create
259
320
  : model.actions[mode];
260
321
  }
322
+ if (mode === "image_result") {
323
+ return model.actions.image_result;
324
+ }
261
325
  return model.actions[(mode ?? "text")];
262
326
  }
263
327
  resolveOpenAIAction(model) {
@@ -333,7 +397,7 @@ export class AIService extends Service {
333
397
  }
334
398
  getModelModalities(model) {
335
399
  const modalities = Object.keys(model.actions).filter((key) => model.actions[key] !== undefined);
336
- if (modalities.includes("image_create") && modalities.includes("image_persist") && modalities.includes("image_result")) {
400
+ if (modalities.includes("image_create") && modalities.includes("image_persist")) {
337
401
  modalities.push("image");
338
402
  }
339
403
  if (!modalities.includes("openai") && this.resolveOpenAIAction(model))
@@ -388,6 +452,7 @@ export class AIService extends Service {
388
452
  if (!isImageProviderCreateResult(created)) {
389
453
  throw httpError(500, "image_create action returned invalid result");
390
454
  }
455
+ await this.insertImageJob(ctx, created);
391
456
  return created;
392
457
  }
393
458
  catch (error) {
@@ -395,10 +460,23 @@ export class AIService extends Service {
395
460
  }
396
461
  }
397
462
  async readImageJob(ctx) {
398
- const resolved = this.resolve({ model: ctx.input.model, mode: "image_result" }, ctx.env);
399
- this.attachResolvedModel(ctx, resolved.model, "image/result");
463
+ const job = await this.requireImageJob(ctx);
400
464
  try {
401
- const output = await resolved.action(ctx);
465
+ const model_id = readOptionalString(ctx.input.model);
466
+ const model = model_id ? this.modelMap.get(model_id) : undefined;
467
+ if (model?.actions.image_result) {
468
+ this.attachResolvedModel(ctx, model, "image/result");
469
+ this.attachImageJobContext(ctx, job);
470
+ const output = await model.actions.image_result(ctx);
471
+ if (!isImageProviderResult(output)) {
472
+ throw httpError(500, "image_result action returned invalid result");
473
+ }
474
+ return output;
475
+ }
476
+ if (job.model_id && this.modelMap.has(job.model_id)) {
477
+ this.attachResolvedModel(ctx, this.modelMap.get(job.model_id), "image/result");
478
+ }
479
+ const output = this.imageJobToResult(job);
402
480
  if (!isImageProviderResult(output)) {
403
481
  throw httpError(500, "image_result action returned invalid result");
404
482
  }
@@ -413,11 +491,16 @@ export class AIService extends Service {
413
491
  *
414
492
  * 关键点(中文)
415
493
  * - 这个方法供后台 worker / queue / cron 调用,不是前端轮询 API。
416
- * - Provider 负责把结果写入自己的存储;AIService 只在 succeeded 后执行 model.bill。
494
+ * - AIService 使用内置 async_jobs 持久化任务,Provider 只负责把上游结果转成固定返回协议。
417
495
  */
418
496
  async persistImageJob(ctx) {
497
+ const job = await this.requireImageJob(ctx);
498
+ if (!ctx.input.model && job.model_id) {
499
+ ctx.input = { ...ctx.input, model: job.model_id };
500
+ }
419
501
  const resolved = this.resolve({ model: ctx.input.model, mode: "image_persist" }, ctx.env);
420
502
  this.attachResolvedModel(ctx, resolved.model, "image/persist");
503
+ this.attachImageJobContext(ctx, job);
421
504
  const started_at = Date.now();
422
505
  try {
423
506
  const output = await resolved.action(ctx);
@@ -426,15 +509,109 @@ export class AIService extends Service {
426
509
  }
427
510
  if (output.status === "succeeded") {
428
511
  this.attachOutputMetering(ctx, output.result, "image", started_at);
512
+ await this.updateImageJobFromPersist(ctx, job, output);
429
513
  const charge = resolved.model?.bill?.(ctx, output);
430
514
  await this.handleCharge(ctx, charge, isPromiseLike(charge));
431
515
  }
516
+ else {
517
+ await this.updateImageJobFromPersist(ctx, job, output);
518
+ }
432
519
  return output;
433
520
  }
434
521
  catch (error) {
435
522
  throw imageActionError(error, "image_persist action failed");
436
523
  }
437
524
  }
525
+ /**
526
+ * 写入图片任务。
527
+ */
528
+ async insertImageJob(ctx, created) {
529
+ const table = ctx.db.async_jobs;
530
+ if (!table)
531
+ throw httpError(500, "AI async_jobs table is not initialized");
532
+ const now = new Date().toISOString();
533
+ await table.insert({
534
+ job_id: created.job_id,
535
+ job_type: IMAGE_GENERATE_JOB_TYPE,
536
+ status: created.status,
537
+ input_json: JSON.stringify(ctx.input ?? {}),
538
+ state_json: JSON.stringify(created.metadata ?? {}),
539
+ result_json: null,
540
+ error: created.error ?? null,
541
+ message: created.message ?? null,
542
+ city_id: ctx.city?.city_id ?? null,
543
+ user_id: ctx.user?.user_id ?? null,
544
+ service_id: "ai",
545
+ model_id: ctx.metering?.model_id ?? null,
546
+ created_at: now,
547
+ updated_at: now,
548
+ });
549
+ }
550
+ /**
551
+ * 读取图片任务。
552
+ */
553
+ async requireImageJob(ctx) {
554
+ const table = ctx.db.async_jobs;
555
+ if (!table)
556
+ throw httpError(500, "AI async_jobs table is not initialized");
557
+ const job_id = readOptionalString(ctx.input.job_id);
558
+ if (!job_id)
559
+ throw httpError(422, "job_id is required");
560
+ const rows = await table.select({ job_id, job_type: IMAGE_GENERATE_JOB_TYPE });
561
+ const row = rows[0];
562
+ if (!row)
563
+ throw httpError(404, `Image job not found: ${job_id}`);
564
+ return rowToAsyncJobRecord(row);
565
+ }
566
+ /**
567
+ * 把 async_jobs 记录注入 Provider 可读取的上下文。
568
+ */
569
+ attachImageJobContext(ctx, job) {
570
+ const image_job = {
571
+ record: job,
572
+ input: parseRecordJson(job.input_json),
573
+ state: parseRecordJson(job.state_json),
574
+ };
575
+ ctx.locals.ai_image_job = image_job;
576
+ ctx.input = {
577
+ ...parseRecordJson(job.input_json),
578
+ ...ctx.input,
579
+ job_id: job.job_id,
580
+ };
581
+ }
582
+ /**
583
+ * 将图片任务记录转成默认 result 返回。
584
+ */
585
+ imageJobToResult(job) {
586
+ return {
587
+ job_id: job.job_id,
588
+ status: job.status,
589
+ result: job.status === "succeeded" ? parseImageMessage(job.result_json) : undefined,
590
+ error: job.error ?? undefined,
591
+ message: job.message ?? undefined,
592
+ poll_after_ms: job.status === "running" || job.status === "queued" ? 2_000 : undefined,
593
+ metadata: parseRecordJson(job.state_json),
594
+ };
595
+ }
596
+ /**
597
+ * 按 persist 输出更新图片任务。
598
+ */
599
+ async updateImageJobFromPersist(ctx, job, output) {
600
+ const table = ctx.db.async_jobs;
601
+ if (!table)
602
+ throw httpError(500, "AI async_jobs table is not initialized");
603
+ await table.update({
604
+ where: { job_id: job.job_id, job_type: IMAGE_GENERATE_JOB_TYPE },
605
+ values: {
606
+ status: output.status,
607
+ state_json: JSON.stringify(output.metadata ?? parseRecordJson(job.state_json)),
608
+ result_json: output.result ? JSON.stringify(output.result) : job.result_json ?? null,
609
+ error: output.error ?? null,
610
+ message: output.message ?? null,
611
+ updated_at: new Date().toISOString(),
612
+ },
613
+ });
614
+ }
438
615
  // ========== OpenAI 兼容通路 ==========
439
616
  async handleChatCompletions(ctx) {
440
617
  const body = ctx.input;
@@ -1 +1 @@
1
- {"version":3,"file":"ai-service.js","sourceRoot":"","sources":["../../../src/service/ai/ai-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-service.js","sourceRoot":"","sources":["../../../src/service/ai/ai-service.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,11 @@
2
2
  * AI 图片任务协议类型。
3
3
  *
4
4
  * 关键点(中文)
5
- * - AIService 只固定 image_create / image_persist / image_result 的返回协议。
6
- * - 图片任务如何存储、如何后台执行、图片 URL 如何表达,全部由具体 Provider 实现决定。
5
+ * - AIService 固定 image_create / image_persist / image_result 的返回协议。
6
+ * - AIService 默认使用内置 async_jobs 表保存图片任务,Provider 只负责创建和持久化上游结果。
7
7
  */
8
8
  import type { UIMessage } from "ai";
9
+ import type { AsyncJobRecord } from "../../types/AsyncJob.js";
9
10
  /** 图片任务状态。 */
10
11
  export type AIImageJobStatus = "queued" | "running" | "succeeded" | "failed";
11
12
  /** 图片任务扩展元数据。 */
@@ -40,6 +41,8 @@ export interface AIImageProviderPersistResult {
40
41
  error?: string;
41
42
  /** 当前任务状态说明,便于后台排障。 */
42
43
  message?: string;
44
+ /** 建议后台下一次 persist 的间隔毫秒数。 */
45
+ poll_after_ms?: number;
43
46
  /** 稳定计费引用,用于幂等扣费。 */
44
47
  billing_ref?: string;
45
48
  /** 具体 Provider 返回的扩展元数据,例如 usage。 */
@@ -71,4 +74,13 @@ export interface UserImageJobResultInput {
71
74
  /** 图片任务 ID,由 image_create 返回。 */
72
75
  job_id: string;
73
76
  }
77
+ /** Provider 在 image_persist 中可读取的图片任务上下文。 */
78
+ export interface AIImageJobContext {
79
+ /** async_jobs 中保存的完整任务记录。 */
80
+ record: AsyncJobRecord;
81
+ /** image_create 时的原始输入。 */
82
+ input: Record<string, unknown>;
83
+ /** image_create / image_persist 返回的 provider 状态。 */
84
+ state?: AIImageJobMetadata;
85
+ }
74
86
  //# sourceMappingURL=job-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"job-types.d.ts","sourceRoot":"","sources":["../../../src/service/ai/job-types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEpC,cAAc;AACd,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE7E,iBAAiB;AACjB,MAAM,WAAW,kBAAkB;IACjC,8BAA8B;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,+CAA+C;AAC/C,MAAM,WAAW,2BAA2B;IAC1C,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB;IAChB,MAAM,EAAE,gBAAgB,CAAC;IACzB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED,gDAAgD;AAChD,MAAM,WAAW,4BAA4B;IAC3C,eAAe;IACf,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,MAAM,EAAE,gBAAgB,CAAC;IACzB,kCAAkC;IAClC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED,+CAA+C;AAC/C,MAAM,WAAW,qBAAqB;IACpC,eAAe;IACf,MAAM,EAAE,MAAM,CAAC;IACf,cAAc;IACd,MAAM,EAAE,gBAAgB,CAAC;IACzB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED,8BAA8B;AAC9B,MAAM,MAAM,wBAAwB,GAAG,2BAA2B,CAAC;AAEnE,8BAA8B;AAC9B,MAAM,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;AAEvD,0BAA0B;AAC1B,MAAM,WAAW,uBAAuB;IACtC,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"job-types.d.ts","sourceRoot":"","sources":["../../../src/service/ai/job-types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,cAAc;AACd,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE7E,iBAAiB;AACjB,MAAM,WAAW,kBAAkB;IACjC,8BAA8B;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,+CAA+C;AAC/C,MAAM,WAAW,2BAA2B;IAC1C,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB;IAChB,MAAM,EAAE,gBAAgB,CAAC;IACzB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED,gDAAgD;AAChD,MAAM,WAAW,4BAA4B;IAC3C,eAAe;IACf,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,MAAM,EAAE,gBAAgB,CAAC;IACzB,kCAAkC;IAClC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED,+CAA+C;AAC/C,MAAM,WAAW,qBAAqB;IACpC,eAAe;IACf,MAAM,EAAE,MAAM,CAAC;IACf,cAAc;IACd,MAAM,EAAE,gBAAgB,CAAC;IACzB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED,8BAA8B;AAC9B,MAAM,MAAM,wBAAwB,GAAG,2BAA2B,CAAC;AAEnE,8BAA8B;AAC9B,MAAM,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;AAEvD,0BAA0B;AAC1B,MAAM,WAAW,uBAAuB;IACtC,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,6CAA6C;AAC7C,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,MAAM,EAAE,cAAc,CAAC;IACvB,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,oDAAoD;IACpD,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B"}
@@ -2,8 +2,8 @@
2
2
  * AI 图片任务协议类型。
3
3
  *
4
4
  * 关键点(中文)
5
- * - AIService 只固定 image_create / image_persist / image_result 的返回协议。
6
- * - 图片任务如何存储、如何后台执行、图片 URL 如何表达,全部由具体 Provider 实现决定。
5
+ * - AIService 固定 image_create / image_persist / image_result 的返回协议。
6
+ * - AIService 默认使用内置 async_jobs 表保存图片任务,Provider 只负责创建和持久化上游结果。
7
7
  */
8
8
  export {};
9
9
  //# sourceMappingURL=job-types.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@downcity/city",
3
- "version": "0.2.100",
3
+ "version": "0.2.101",
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",