@zlooks.cn/images-server 1.0.1 → 1.0.2

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.
@@ -3,7 +3,7 @@ import { fileURLToPath } from 'node:url';
3
3
  import { createRegistryDatabaseDataSource, registerDatabaseCommands } from '@zlooks.cn/database-command';
4
4
  import { runServiceCommand } from '@zlooks.cn/service-command';
5
5
  import { imagesMigrations } from '../migrations/index.js';
6
- import { ImageEntity } from '../persistence/entities.js';
6
+ import { imageEntities } from '../persistence/entities.js';
7
7
  import { IMAGES_NAMESPACE } from '../identity.js';
8
8
  await runServiceCommand({
9
9
  packageRoot: fileURLToPath(new URL('../../', import.meta.url)),
@@ -11,7 +11,7 @@ await runServiceCommand({
11
11
  configure(program) {
12
12
  registerDatabaseCommands(program, {
13
13
  createDataSource: (envFile) => createRegistryDatabaseDataSource(envFile, {
14
- commandNamespace: `${IMAGES_NAMESPACE}.db.command`, entities: [ImageEntity],
14
+ commandNamespace: `${IMAGES_NAMESPACE}.db.command`, entities: [...imageEntities],
15
15
  }),
16
16
  migrations: imagesMigrations,
17
17
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/command/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,gCAAgC,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACzG,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,iBAAiB,CAAC;IACtB,WAAW,EAAE,aAAa,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9D,mBAAmB,EAAE,KAAK;IAC1B,SAAS,CAAC,OAAO;QACf,wBAAwB,CAAC,OAAO,EAAE;YAChC,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,gCAAgC,CAAC,OAAO,EAAE;gBACvE,gBAAgB,EAAE,GAAG,gBAAgB,aAAa,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC;aAC5E,CAAC;YACF,UAAU,EAAE,gBAAgB;SAC7B,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/command/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,gCAAgC,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACzG,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,iBAAiB,CAAC;IACtB,WAAW,EAAE,aAAa,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9D,mBAAmB,EAAE,KAAK;IAC1B,SAAS,CAAC,OAAO;QACf,wBAAwB,CAAC,OAAO,EAAE;YAChC,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,gCAAgC,CAAC,OAAO,EAAE;gBACvE,gBAAgB,EAAE,GAAG,gBAAgB,aAAa,EAAE,QAAQ,EAAE,CAAC,GAAG,aAAa,CAAC;aACjF,CAAC;YACF,UAAU,EAAE,gBAAgB;SAC7B,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,127 @@
1
+ import type { ImageRow } from '../persistence/entities.js';
2
+ export declare function buildImageLifecycleEvent(image: ImageRow, publicOrigin: string, occurredAt: Date): Readonly<{
3
+ protocol: 'zlooks.event';
4
+ protocolVersion: 1;
5
+ eventId: string;
6
+ type: "cn.zlooks.images.deleted.v1";
7
+ producer: string;
8
+ aggregate: Readonly<{
9
+ type: string;
10
+ id: string;
11
+ }>;
12
+ occurredAt: string;
13
+ data: Readonly<{
14
+ image: Readonly<{
15
+ id: string;
16
+ originalFilename: string | null;
17
+ createdBy: string;
18
+ createdAt: string;
19
+ version: number;
20
+ mediaType: string;
21
+ extension: string;
22
+ byteSize: number;
23
+ width: number;
24
+ height: number;
25
+ sha256: string;
26
+ status: "deleted";
27
+ publicUrl: string;
28
+ readyAt: string;
29
+ deletedAt: string;
30
+ failureCode: null;
31
+ }>;
32
+ }>;
33
+ }> | Readonly<{
34
+ protocol: 'zlooks.event';
35
+ protocolVersion: 1;
36
+ eventId: string;
37
+ type: "cn.zlooks.images.ready.v1";
38
+ producer: string;
39
+ aggregate: Readonly<{
40
+ type: string;
41
+ id: string;
42
+ }>;
43
+ occurredAt: string;
44
+ data: Readonly<{
45
+ image: Readonly<{
46
+ id: string;
47
+ originalFilename: string | null;
48
+ createdBy: string;
49
+ createdAt: string;
50
+ version: number;
51
+ mediaType: string;
52
+ extension: string;
53
+ byteSize: number;
54
+ width: number;
55
+ height: number;
56
+ sha256: string;
57
+ status: "ready";
58
+ publicUrl: string;
59
+ readyAt: string;
60
+ deletedAt: null;
61
+ failureCode: null;
62
+ }>;
63
+ }>;
64
+ }> | Readonly<{
65
+ protocol: 'zlooks.event';
66
+ protocolVersion: 1;
67
+ eventId: string;
68
+ type: "cn.zlooks.images.unavailable.v1";
69
+ producer: string;
70
+ aggregate: Readonly<{
71
+ type: string;
72
+ id: string;
73
+ }>;
74
+ occurredAt: string;
75
+ data: Readonly<{
76
+ image: Readonly<{
77
+ id: string;
78
+ originalFilename: string | null;
79
+ createdBy: string;
80
+ createdAt: string;
81
+ version: number;
82
+ mediaType: string;
83
+ extension: string;
84
+ byteSize: number;
85
+ width: number;
86
+ height: number;
87
+ sha256: string;
88
+ status: "deleting";
89
+ publicUrl: string;
90
+ readyAt: string;
91
+ deletedAt: null;
92
+ failureCode: null;
93
+ }>;
94
+ }>;
95
+ }> | Readonly<{
96
+ protocol: 'zlooks.event';
97
+ protocolVersion: 1;
98
+ eventId: string;
99
+ type: "cn.zlooks.images.upload-failed.v1";
100
+ producer: string;
101
+ aggregate: Readonly<{
102
+ type: string;
103
+ id: string;
104
+ }>;
105
+ occurredAt: string;
106
+ data: Readonly<{
107
+ image: Readonly<{
108
+ id: string;
109
+ originalFilename: string | null;
110
+ createdBy: string;
111
+ createdAt: string;
112
+ version: number;
113
+ mediaType: string | null;
114
+ extension: string | null;
115
+ byteSize: number | null;
116
+ width: number | null;
117
+ height: number | null;
118
+ sha256: string | null;
119
+ status: "failed";
120
+ publicUrl: null;
121
+ readyAt: null;
122
+ deletedAt: null;
123
+ failureCode: string;
124
+ }>;
125
+ }>;
126
+ }> | undefined;
127
+ //# sourceMappingURL=image-domain-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-domain-events.d.ts","sourceRoot":"","sources":["../../src/events/image-domain-events.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAE3D,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAQ/F"}
@@ -0,0 +1,38 @@
1
+ import { createDomainEventId } from '@zlooks.cn/event-bus';
2
+ import { IMAGES_SERVICE_NAMESPACE, imageDeletedEvent, imageReadyEvent, imageUnavailableEvent, imageUploadFailedEvent, } from '@zlooks.cn/images-shared';
3
+ export function buildImageLifecycleEvent(image, publicOrigin, occurredAt) {
4
+ switch (image.status) {
5
+ case 'ready': return build(imageReadyEvent, image, publicOrigin, occurredAt);
6
+ case 'deleting': return build(imageUnavailableEvent, image, publicOrigin, occurredAt);
7
+ case 'deleted': return build(imageDeletedEvent, image, publicOrigin, occurredAt);
8
+ case 'failed': return build(imageUploadFailedEvent, image, publicOrigin, occurredAt);
9
+ default: return undefined;
10
+ }
11
+ }
12
+ function build(definition, image, publicOrigin, occurredAt) {
13
+ return definition.parse({
14
+ protocol: 'zlooks.event', protocolVersion: 1,
15
+ eventId: createDomainEventId(definition.type, image.id, image.version),
16
+ type: definition.type, producer: IMAGES_SERVICE_NAMESPACE,
17
+ aggregate: { type: 'image', id: image.id }, occurredAt: occurredAt.toISOString(),
18
+ data: { image: toSnapshot(image, publicOrigin) },
19
+ });
20
+ }
21
+ function toSnapshot(image, publicOrigin) {
22
+ const publicUrl = image.status === 'failed'
23
+ ? null
24
+ : new URL(`/media/images/${image.id}.${required(image.extension, 'extension')}`, publicOrigin).href;
25
+ return {
26
+ id: image.id, originalFilename: image.originalFilename, status: image.status, publicUrl,
27
+ mediaType: image.mediaType, extension: image.extension, byteSize: image.byteSize,
28
+ width: image.width, height: image.height, sha256: image.sha256, createdBy: image.createdBy,
29
+ createdAt: image.createdAt.toISOString(), readyAt: image.readyAt?.toISOString() ?? null,
30
+ deletedAt: image.deletedAt?.toISOString() ?? null, failureCode: image.failureCode, version: image.version,
31
+ };
32
+ }
33
+ function required(value, name) {
34
+ if (value === null)
35
+ throw new TypeError(`Image event requires ${name}`);
36
+ return value;
37
+ }
38
+ //# sourceMappingURL=image-domain-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-domain-events.js","sourceRoot":"","sources":["../../src/events/image-domain-events.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/mcp/provider.ts"],"names":[],"mappings":"AAmBA,wBAAgB,oBAAoB,8CAqDnC"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/mcp/provider.ts"],"names":[],"mappings":"AAoBA,wBAAgB,oBAAoB,8CAmEnC"}
@@ -2,6 +2,7 @@ import { createInvocationContext } from '@hile/context';
2
2
  import { defineMcpProvider, defineMcpResource, defineMcpTool } from '@hile/mcp';
3
3
  import { loadModel } from '@hile/model';
4
4
  import { z } from 'zod';
5
+ import { IMAGES_EVENT_CATALOG } from '@zlooks.cn/images-shared';
5
6
  import { IMAGES_ID } from '../identity.js';
6
7
  import { ImageError } from '../domain/image-error.js';
7
8
  import { deleteImageSchema, listImageSchema, readImageSchema, uploadImageSchema } from '../domain/schema.js';
@@ -65,6 +66,20 @@ export function createImagesProvider() {
65
66
  throw safeError(error);
66
67
  }
67
68
  }),
69
+ 'event-catalog': defineMcpResource({
70
+ kind: 'static', name: 'event-catalog', uri: 'hile://images/events',
71
+ title: '图片领域事件目录', mimeType: 'application/json', access: readAccess,
72
+ description: `当前图片服务实例提供 ${IMAGES_EVENT_CATALOG.count} 个领域事件契约;创建或修改消费服务前读取此目录。`,
73
+ }, async (uri, context) => {
74
+ assertAccess(context, 'images:read');
75
+ return {
76
+ contents: [{
77
+ uri: uri.toString(),
78
+ mimeType: 'application/json',
79
+ text: JSON.stringify(IMAGES_EVENT_CATALOG),
80
+ }],
81
+ };
82
+ }),
68
83
  },
69
84
  });
70
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/mcp/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/mcp/provider.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,8 @@ export interface ImageRow {
17
17
  createdAt: Date;
18
18
  readyAt: Date | null;
19
19
  deletedAt: Date | null;
20
+ version: number;
20
21
  }
21
22
  export declare const ImageEntity: EntitySchema<ImageRow>;
23
+ export declare const imageEntities: readonly [EntitySchema<ImageRow>];
22
24
  //# sourceMappingURL=entities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../src/persistence/entities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAC;IAAC,wBAAwB,EAAE,MAAM,CAAC;IAC9F,MAAM,EAAE,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAClE,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACpF,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5F,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACxD,SAAS,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;CAC/D;AACD,eAAO,MAAM,WAAW,wBAiBtB,CAAC"}
1
+ {"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../src/persistence/entities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAC;IAAC,wBAAwB,EAAE,MAAM,CAAC;IAC9F,MAAM,EAAE,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAClE,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACpF,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5F,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACxD,SAAS,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IAC9D,OAAO,EAAE,MAAM,CAAC;CACjB;AACD,eAAO,MAAM,WAAW,wBAmBtB,CAAC;AAEH,eAAO,MAAM,aAAa,mCAAyB,CAAC"}
@@ -13,8 +13,11 @@ export const ImageEntity = new EntitySchema({
13
13
  createdAt: { name: 'created_at', type: 'timestamptz', precision: 3, createDate: true },
14
14
  readyAt: { name: 'ready_at', type: 'timestamptz', precision: 3, nullable: true },
15
15
  deletedAt: { name: 'deleted_at', type: 'timestamptz', precision: 3, nullable: true },
16
+ version: { type: 'integer', version: true },
16
17
  },
17
18
  uniques: [{ name: 'images_upload_actor_key', columns: ['createdBy', 'uploadIdempotencyKey'] }],
19
+ checks: [{ name: 'chk_images_version', expression: `"version" > 0` }],
18
20
  indices: [{ columns: ['createdAt', 'id'] }, { columns: ['status', 'createdAt', 'id'] }, { columns: ['createdBy', 'createdAt', 'id'] }, { columns: ['sha256'] }],
19
21
  });
22
+ export const imageEntities = [ImageEntity];
20
23
  //# sourceMappingURL=entities.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entities.js","sourceRoot":"","sources":["../../src/persistence/entities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAUvC,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,YAAY,CAAW;IACpD,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ;IAClC,OAAO,EAAE;QACP,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE;QACpG,oBAAoB,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE;QACtF,wBAAwB,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE;QAC7F,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE;QACtI,SAAS,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;QACzI,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QACzJ,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC9I,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;QAClF,SAAS,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE;QACtF,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;QAChF,SAAS,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrF;IACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,CAAC,WAAW,EAAE,sBAAsB,CAAC,EAAE,CAAC;IAC9F,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;CAChK,CAAC,CAAC"}
1
+ {"version":3,"file":"entities.js","sourceRoot":"","sources":["../../src/persistence/entities.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  import type { Redis } from 'ioredis';
2
+ import type { DomainEventPublisher } from '@zlooks.cn/event-client';
2
3
  import { type DataSource } from 'typeorm';
3
4
  import type { ListImageInput } from '../domain/schema.js';
4
5
  import { type ImageRow } from './entities.js';
5
6
  export declare class ImageStore {
6
7
  #private;
7
- constructor(database: DataSource, redis: Redis, cachePrefix: string);
8
+ private readonly publicOrigin;
9
+ private readonly events;
10
+ constructor(database: DataSource, redis: Redis, cachePrefix: string, publicOrigin: () => string, events: DomainEventPublisher);
8
11
  reserve(createdBy: string, key: string, hash: string, filename: string | null): Promise<{
9
12
  row: ImageRow;
10
13
  created: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"image-store.d.ts","sourceRoot":"","sources":["../../src/persistence/image-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAgB,KAAK,UAAU,EAAmB,MAAM,SAAS,CAAC;AAGzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG3D,qBAAa,UAAU;;IAIrB,YAAY,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAGlE;IACK,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;;;OAWlF;IACK,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAIxC;IACD,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;;;;;;;mBAExC;IACK,IAAI,CAAC,KAAK,EAAE,cAAc;;;;OAK/B;IAEK,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1H;IAEK,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAKhI;IAEK,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CASvD;CACF"}
1
+ {"version":3,"file":"image-store.d.ts","sourceRoot":"","sources":["../../src/persistence/image-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,OAAO,EAAgB,KAAK,UAAU,EAAmB,MAAM,SAAS,CAAC;AAGzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAe,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAI3D,qBAAa,UAAU;;IASnB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,YACE,QAAQ,EAAE,UAAU,EACpB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EACF,YAAY,EAAE,MAAM,MAAM,EAC1B,MAAM,EAAE,oBAAoB,EAK9C;IACK,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;;;OAWlF;IACK,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAIxC;IACD,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW;;;;;;;mBAExC;IACK,IAAI,CAAC,KAAK,EAAE,cAAc;;;;OAK/B;IAEK,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1H;IAEK,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAchI;IAEK,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CASvD;CACF"}
@@ -5,10 +5,17 @@ import { encodeCursor } from '../domain/list-cursor.js';
5
5
  import { ImageError } from '../domain/image-error.js';
6
6
  import { ImageEntity } from './entities.js';
7
7
  import { imageQueryOptions } from './image-query.js';
8
+ import { buildImageLifecycleEvent } from '../events/image-domain-events.js';
8
9
  export class ImageStore {
10
+ publicOrigin;
11
+ events;
12
+ #database;
9
13
  #rows;
10
14
  #publicImages;
11
- constructor(database, redis, cachePrefix) {
15
+ constructor(database, redis, cachePrefix, publicOrigin, events) {
16
+ this.publicOrigin = publicOrigin;
17
+ this.events = events;
18
+ this.#database = database;
12
19
  this.#rows = database.getRepository(ImageEntity);
13
20
  this.#publicImages = new PublicImageCache(redis, cachePrefix, (id) => this.read(id));
14
21
  }
@@ -45,8 +52,19 @@ export class ImageStore {
45
52
  }
46
53
  async compareAndSet(id, expected, changes, signal) {
47
54
  return this.#publicImages.change(id, async () => {
48
- const result = await this.#rows.update({ id, status: expected }, changes);
49
- return result.affected === 1;
55
+ const result = await this.#database.transaction(async (manager) => {
56
+ const result = await manager.getRepository(ImageEntity).update({ id, status: expected }, changes);
57
+ if (result.affected !== 1)
58
+ return { changed: false };
59
+ const updated = await manager.getRepository(ImageEntity).findOneByOrFail({ id });
60
+ const event = updated.status !== expected
61
+ ? buildImageLifecycleEvent(updated, this.publicOrigin(), changes.readyAt ?? changes.deletedAt ?? new Date())
62
+ : undefined;
63
+ return { changed: true, event };
64
+ });
65
+ if (result.event)
66
+ await this.events.publish(result.event);
67
+ return result.changed;
50
68
  }, signal);
51
69
  }
52
70
  async interrupted(afterId) {
@@ -1 +1 @@
1
- {"version":3,"file":"image-store.js","sourceRoot":"","sources":["../../src/persistence/image-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image-store.js","sourceRoot":"","sources":["../../src/persistence/image-store.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { defineService, loadService } from '@hile/core';
2
2
  import { createDataSource } from '@hile/typeorm';
3
- import { ImageEntity } from '../persistence/entities.js';
3
+ import { imageEntities } from '../persistence/entities.js';
4
4
  import configService from './config.service.js';
5
5
  export default defineService('zlooks.images.database', async (shutdown) => {
6
6
  const config = (await loadService(configService)).snapshot().postgres;
@@ -15,7 +15,7 @@ export default defineService('zlooks.images.database', async (shutdown) => {
15
15
  poolSize: config.poolSize,
16
16
  synchronize: true,
17
17
  migrationsRun: false,
18
- entities: [ImageEntity],
18
+ entities: [...imageEntities],
19
19
  });
20
20
  shutdown(() => database.destroy());
21
21
  return database;
@@ -1 +1 @@
1
- {"version":3,"file":"database.service.js","sourceRoot":"","sources":["../../src/services/database.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAEhD,eAAe,aAAa,CAAC,wBAAwB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;IACxE,MAAM,MAAM,GAAG,CAAC,MAAM,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;IACtE,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC;QACtC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB,CAAC,CAAC;IACH,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACnC,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"database.service.js","sourceRoot":"","sources":["../../src/services/database.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAEhD,eAAe,aAAa,CAAC,wBAAwB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;IACxE,MAAM,MAAM,GAAG,CAAC,MAAM,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;IACtE,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC;QACtC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,CAAC,GAAG,aAAa,CAAC;KAC7B,CAAC,CAAC;IACH,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACnC,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"images-runtime.service.d.ts","sourceRoot":"","sources":["../../src/services/images-runtime.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"images-runtime.service.d.ts","sourceRoot":"","sources":["../../src/services/images-runtime.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -1,13 +1,18 @@
1
1
  import { defineService, loadService } from '@hile/core';
2
+ import { createExecutionContext } from '@hile/context';
3
+ import { ContextualEventPublisher, EventClient } from '@zlooks.cn/event-client';
2
4
  import { ImageStore } from '../persistence/image-store.js';
3
5
  import { recoverImages } from '../runtime/recover-images.js';
4
6
  import { LocalImageStorage } from '../storage/local-storage.js';
5
7
  import configService from './config.service.js';
6
8
  import redisService from './redis.service.js';
7
9
  import databaseService from './database.service.js';
10
+ import applicationService from './application.service.js';
8
11
  export default defineService('zlooks.images.runtime', async () => {
9
- const [database, configs, redis] = await Promise.all([loadService(databaseService), loadService(configService), loadService(redisService)]);
10
- const store = new ImageStore(database, redis, `${configs.snapshot().redis.keyPrefix}images:public:v1:`);
12
+ const [database, configs, redis, application] = await Promise.all([
13
+ loadService(databaseService), loadService(configService), loadService(redisService), loadService(applicationService),
14
+ ]);
15
+ const store = new ImageStore(database, redis, `${configs.snapshot().redis.keyPrefix}images:public:v1:`, () => configs.snapshot().publicHost.origin, new ContextualEventPublisher(new EventClient(application), () => createExecutionContext({ source: 'cn.zlooks.images' })));
11
16
  const storage = new LocalImageStorage();
12
17
  await storage.initialize();
13
18
  await recoverImages(store, storage);
@@ -1 +1 @@
1
- {"version":3,"file":"images-runtime.service.js","sourceRoot":"","sources":["../../src/services/images-runtime.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,eAAe,MAAM,uBAAuB,CAAC;AAEpD,eAAe,aAAa,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;IAC/D,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC5I,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,SAAS,mBAAmB,CAAC,CAAC;IACxG,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAC;IACxC,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;IAC3B,MAAM,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;AAChF,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"images-runtime.service.js","sourceRoot":"","sources":["../../src/services/images-runtime.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,eAAe,MAAM,uBAAuB,CAAC;AACpD,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAE1D,eAAe,aAAa,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;IAC/D,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAChE,WAAW,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC;KACrH,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,IAAI,UAAU,CAC1B,QAAQ,EACR,KAAK,EACL,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,SAAS,mBAAmB,EACxD,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,MAAM,EAC1C,IAAI,wBAAwB,CAAC,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC,CACzH,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAC;IACxC,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;IAC3B,MAAM,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;AAChF,CAAC,CAAC,CAAC"}
@@ -1,8 +1,12 @@
1
1
  import { defineService, loadService } from '@hile/core';
2
2
  import publicAssetsService from './public-assets.service.js';
3
3
  import mcpProviderService from './mcp-provider.service.js';
4
+ import imagesRuntimeService from './images-runtime.service.js';
4
5
  export default defineService('zlooks.images.boot', async () => {
5
- await loadService(publicAssetsService);
6
- await loadService(mcpProviderService);
6
+ await loadService(imagesRuntimeService);
7
+ await Promise.all([
8
+ loadService(publicAssetsService),
9
+ loadService(mcpProviderService),
10
+ ]);
7
11
  });
8
12
  //# sourceMappingURL=images.boot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"images.boot.js","sourceRoot":"","sources":["../../src/services/images.boot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,mBAAmB,MAAM,4BAA4B,CAAC;AAC7D,OAAO,kBAAkB,MAAM,2BAA2B,CAAC;AAE3D,eAAe,aAAa,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;IAC5D,MAAM,WAAW,CAAC,mBAAmB,CAAC,CAAC;IACvC,MAAM,WAAW,CAAC,kBAAkB,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"images.boot.js","sourceRoot":"","sources":["../../src/services/images.boot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,mBAAmB,MAAM,4BAA4B,CAAC;AAC7D,OAAO,kBAAkB,MAAM,2BAA2B,CAAC;AAC3D,OAAO,oBAAoB,MAAM,6BAA6B,CAAC;AAE/D,eAAe,aAAa,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;IAC5D,MAAM,WAAW,CAAC,oBAAoB,CAAC,CAAC;IACxC,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,WAAW,CAAC,mBAAmB,CAAC;QAChC,WAAW,CAAC,kBAAkB,CAAC;KAChC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zlooks.cn/images-server",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "engines": {
@@ -15,7 +15,9 @@
15
15
  "zlooks": {
16
16
  "kind": "service",
17
17
  "description": "独立 MCP 图床服务",
18
- "dependsOn": [],
18
+ "dependsOn": [
19
+ "@zlooks.cn/event-server"
20
+ ],
19
21
  "commands": {
20
22
  "db": [
21
23
  "migrate"
@@ -35,11 +37,15 @@
35
37
  "@hile/redis-lock": "4.0.1",
36
38
  "@hile/typeorm": "4.0.1",
37
39
  "@zlooks.cn/database-command": "1.0.2",
40
+ "@zlooks.cn/event-bus": "1.0.1",
41
+ "@zlooks.cn/event-client": "1.0.1",
42
+ "@zlooks.cn/images-shared": "1.0.1",
38
43
  "@zlooks.cn/infrastructure": "1.0.0",
39
44
  "@zlooks.cn/public-asset": "1.0.1",
40
45
  "@zlooks.cn/public-host-contract": "1.0.0",
41
46
  "@zlooks.cn/registry-config": "1.0.0",
42
47
  "@zlooks.cn/service-command": "1.0.0",
48
+ "@zlooks.cn/utils": "1.0.0",
43
49
  "detect-port": "2.1.0",
44
50
  "ioredis": "5.11.1",
45
51
  "pg": "8.23.0",
@@ -65,5 +71,5 @@
65
71
  "typescript": "7.0.2",
66
72
  "vitest": "4.1.11"
67
73
  },
68
- "gitHead": "0aaee21087cc402608c0f13836a0fa204e6a402a"
74
+ "gitHead": "b118899f7646d3cb4e82563f0d32f68238bb38d0"
69
75
  }