@zlooks.cn/images-server 1.0.4 → 1.0.5

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 (48) hide show
  1. package/dist/command/index.js +2 -5
  2. package/dist/command/index.js.map +1 -1
  3. package/dist/events/image-domain-events.d.ts +9 -8
  4. package/dist/events/image-domain-events.d.ts.map +1 -1
  5. package/dist/events/image-domain-events.js +2 -2
  6. package/dist/events/image-domain-events.js.map +1 -1
  7. package/dist/mcp/provider.d.ts.map +1 -1
  8. package/dist/mcp/provider.js +7 -19
  9. package/dist/mcp/provider.js.map +1 -1
  10. package/dist/messages/images/delete.msg.d.ts +50 -1
  11. package/dist/messages/images/delete.msg.js +2 -5
  12. package/dist/messages/images/delete.msg.js.map +1 -1
  13. package/dist/messages/images/events.msg.d.ts +20 -1
  14. package/dist/messages/images/events.msg.js +2 -5
  15. package/dist/messages/images/events.msg.js.map +1 -1
  16. package/dist/messages/images/list.msg.d.ts +83 -1
  17. package/dist/messages/images/list.msg.js +2 -5
  18. package/dist/messages/images/list.msg.js.map +1 -1
  19. package/dist/messages/images/read.msg.d.ts +49 -1
  20. package/dist/messages/images/read.msg.js +2 -5
  21. package/dist/messages/images/read.msg.js.map +1 -1
  22. package/dist/messages/images/upload.msg.d.ts +55 -1
  23. package/dist/messages/images/upload.msg.js +2 -5
  24. package/dist/messages/images/upload.msg.js.map +1 -1
  25. package/dist/models/delete-image.model.d.ts +1 -1
  26. package/dist/models/read-image.model.d.ts +1 -1
  27. package/dist/models/upload-image.model.d.ts +1 -1
  28. package/dist/persistence/entities.d.ts +2 -1
  29. package/dist/persistence/entities.d.ts.map +1 -1
  30. package/dist/persistence/entities.js.map +1 -1
  31. package/dist/presentation/image-projection.d.ts +3 -17
  32. package/dist/presentation/image-projection.d.ts.map +1 -1
  33. package/dist/presentation/image-projection.js.map +1 -1
  34. package/dist/services/application.service.d.ts +6 -2
  35. package/dist/services/application.service.d.ts.map +1 -1
  36. package/dist/services/application.service.js +11 -4
  37. package/dist/services/application.service.js.map +1 -1
  38. package/dist/services/config.service.js +1 -1
  39. package/dist/services/config.service.js.map +1 -1
  40. package/dist/services/images-runtime.service.js +2 -1
  41. package/dist/services/images-runtime.service.js.map +1 -1
  42. package/dist/services/images.boot.js +3 -0
  43. package/dist/services/images.boot.js.map +1 -1
  44. package/dist/services/mcp-provider.service.js +3 -3
  45. package/dist/services/mcp-provider.service.js.map +1 -1
  46. package/dist/services/public-assets.service.js +5 -1
  47. package/dist/services/public-assets.service.js.map +1 -1
  48. package/package.json +11 -11
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { fileURLToPath } from 'node:url';
3
3
  import { createRegistryDatabaseDataSource, registerDatabaseCommands } from '@zlooks.cn/database-command';
4
- import { runServiceCommand } from '@zlooks.cn/service-command';
4
+ import { reportServiceCommandFailure, runServiceCommand } from '@zlooks.cn/service-command';
5
5
  import { imagesMigrations } from '../migrations/index.js';
6
6
  import { imageEntities } from '../persistence/entities.js';
7
7
  import { IMAGES_NAMESPACE } from '../identity.js';
@@ -16,8 +16,5 @@ await runServiceCommand({
16
16
  migrations: imagesMigrations,
17
17
  });
18
18
  },
19
- }).catch((error) => {
20
- process.stderr.write(`${error instanceof Error ? error.message : String(error)}\n`);
21
- process.exitCode = 1;
22
- });
19
+ }).catch(reportServiceCommandFailure);
23
20
  //# sourceMappingURL=index.js.map
@@ -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,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"}
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,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC5F,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,2BAA2B,CAAC,CAAC"}
@@ -1,7 +1,8 @@
1
+ import { EVENT_PROTOCOL, EVENT_PROTOCOL_VERSION } from '@zlooks.cn/event-bus';
1
2
  import type { ImageRow } from '../persistence/entities.js';
2
3
  export declare function buildImageLifecycleEvent(image: ImageRow, publicOrigin: string, occurredAt: Date): Readonly<{
3
- protocol: 'zlooks.event';
4
- protocolVersion: 1;
4
+ protocol: typeof EVENT_PROTOCOL;
5
+ protocolVersion: typeof EVENT_PROTOCOL_VERSION;
5
6
  eventId: string;
6
7
  type: "cn.zlooks.images.deleted.v1";
7
8
  producer: string;
@@ -31,8 +32,8 @@ export declare function buildImageLifecycleEvent(image: ImageRow, publicOrigin:
31
32
  }>;
32
33
  }>;
33
34
  }> | Readonly<{
34
- protocol: 'zlooks.event';
35
- protocolVersion: 1;
35
+ protocol: typeof EVENT_PROTOCOL;
36
+ protocolVersion: typeof EVENT_PROTOCOL_VERSION;
36
37
  eventId: string;
37
38
  type: "cn.zlooks.images.ready.v1";
38
39
  producer: string;
@@ -62,8 +63,8 @@ export declare function buildImageLifecycleEvent(image: ImageRow, publicOrigin:
62
63
  }>;
63
64
  }>;
64
65
  }> | Readonly<{
65
- protocol: 'zlooks.event';
66
- protocolVersion: 1;
66
+ protocol: typeof EVENT_PROTOCOL;
67
+ protocolVersion: typeof EVENT_PROTOCOL_VERSION;
67
68
  eventId: string;
68
69
  type: "cn.zlooks.images.unavailable.v1";
69
70
  producer: string;
@@ -93,8 +94,8 @@ export declare function buildImageLifecycleEvent(image: ImageRow, publicOrigin:
93
94
  }>;
94
95
  }>;
95
96
  }> | Readonly<{
96
- protocol: 'zlooks.event';
97
- protocolVersion: 1;
97
+ protocol: typeof EVENT_PROTOCOL;
98
+ protocolVersion: typeof EVENT_PROTOCOL_VERSION;
98
99
  eventId: string;
99
100
  type: "cn.zlooks.images.upload-failed.v1";
100
101
  producer: string;
@@ -1 +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"}
1
+ {"version":3,"file":"image-domain-events.d.ts","sourceRoot":"","sources":["../../src/events/image-domain-events.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,sBAAsB,EAEvB,MAAM,sBAAsB,CAAC;AAK9B,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"}
@@ -1,4 +1,4 @@
1
- import { createDomainEventId } from '@zlooks.cn/event-bus';
1
+ import { createDomainEventId, EVENT_PROTOCOL, EVENT_PROTOCOL_VERSION, } from '@zlooks.cn/event-bus';
2
2
  import { IMAGES_SERVICE_NAMESPACE, imageDeletedEvent, imageReadyEvent, imageUnavailableEvent, imageUploadFailedEvent, } from '@zlooks.cn/images-shared';
3
3
  export function buildImageLifecycleEvent(image, publicOrigin, occurredAt) {
4
4
  switch (image.status) {
@@ -11,7 +11,7 @@ export function buildImageLifecycleEvent(image, publicOrigin, occurredAt) {
11
11
  }
12
12
  function build(definition, image, publicOrigin, occurredAt) {
13
13
  return definition.parse({
14
- protocol: 'zlooks.event', protocolVersion: 1,
14
+ protocol: EVENT_PROTOCOL, protocolVersion: EVENT_PROTOCOL_VERSION,
15
15
  eventId: createDomainEventId(definition.type, image.id, image.version),
16
16
  type: definition.type, producer: IMAGES_SERVICE_NAMESPACE,
17
17
  aggregate: { type: 'image', id: image.id }, occurredAt: occurredAt.toISOString(),
@@ -1 +1 @@
1
- {"version":3,"file":"image-domain-events.js","sourceRoot":"","sources":["../../src/events/image-domain-events.ts"],"names":[],"mappings":"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"}
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":"AAOA,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,0BAA0B,CAAC;AAmBlC,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,6CAuH7D"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/mcp/provider.ts"],"names":[],"mappings":"AAOA,OAAO,EAWL,KAAK,iBAAiB,EACvB,MAAM,0BAA0B,CAAC;AAYlC,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,6CA2G7D"}
@@ -1,10 +1,8 @@
1
1
  import { defineMcpProvider, defineMcpResource, defineMcpTool, } from '@hile/mcp';
2
2
  import { z } from 'zod';
3
- import { IMAGES_EVENT_CATALOG, ImagesOperationError, } from '@zlooks.cn/images-shared';
3
+ import { deleteImageSchema, IMAGES_EVENT_CATALOG, imageMetadataSchema, imagePageSchema, ImagesOperationError, listImageSchema, readImageSchema, uploadImageSchema, } from '@zlooks.cn/images-shared';
4
4
  import { IMAGES_ID } from '../identity.js';
5
5
  import { ImageError } from '../domain/image-error.js';
6
- import { deleteImageSchema, listImageSchema, readImageSchema, uploadImageSchema, } from '../domain/schema.js';
7
- import { imageMetadataSchema, imagePageSchema } from '../domain/output-schema.js';
8
6
  const readAccess = { scopes: ['images:read'] };
9
7
  const writeAccess = { scopes: ['images:write'] };
10
8
  const readonlyHints = {
@@ -22,7 +20,7 @@ export function createImagesProvider(images) {
22
20
  title: '上传图片',
23
21
  inputSchema: uploadImageSchema,
24
22
  outputSchema: imageMetadataSchema,
25
- description: '通过 Base64(解码后至多 6 MiB)上传调用方持有的 JPEG、PNG、WebP、GIF 或 AVIF 原图;不接受 URL 导入或本地路径,不下载远程图片。对完整文件字节进行标准 Base64 编码,提交前按 base64 参数说明检查字符、填充、长度和大小,不要提交截断内容。总像素最多 40 MP(动画按全部帧计),不接受 SVG、不转换原始内容。只有持久化并提交 ready 后成功返回元数据与公开 URL。响应丢失时,同一调用方用原幂等键和完全相同输入重试,不会重复创建;IDEMPOTENCY_CONFLICT 表示同键输入不同。UPLOAD_NOT_READY 时先通过 images.read-image images.list-image 确认状态:uploading 不另建重复上传,确认 failed 后新上传使用新幂等键,deleted 不会复活。文件名仅用于搜索,不能指定存储路径。',
23
+ description: '通过 Base64(解码后至多 6 MiB)上传调用方持有的 JPEG、PNG、WebP、GIF 或 AVIF 原图;不接受 URL 导入或本地路径,不下载远程图片。对完整文件字节进行标准 Base64 编码,提交前按 base64 参数说明检查字符、填充、长度和大小,不要提交截断内容。总像素最多 40 MP(动画按全部帧计),不接受 SVG、不转换原始内容。只有持久化并提交 ready 后成功返回元数据与公开 URL。响应丢失时,同一调用方用原幂等键和完全相同输入重试,不会重复创建;IDEMPOTENCY_CONFLICT 表示同键输入不同。UPLOAD_NOT_READY 时先读取 images://image/{id} Resource 或调用 images.list-image 确认状态:uploading 不另建重复上传,确认 failed 后新上传使用新幂等键,deleted 不会复活。文件名仅用于搜索,不能指定存储路径。',
26
24
  access: writeAccess,
27
25
  annotations: {
28
26
  readOnlyHint: false,
@@ -33,7 +31,7 @@ export function createImagesProvider(images) {
33
31
  }, (input, context) => toolResult(context, 'images:write', async () => {
34
32
  const identity = context.principal?.clientId ?? context.principal?.subject;
35
33
  const actor = z.string().min(1).max(128).parse(identity);
36
- return images.upload({ actor, upload: uploadImageSchema.parse(input) }, microOptions(context));
34
+ return images.upload({ actor, upload: input }, microOptions(context));
37
35
  })),
38
36
  'list-image': defineMcpTool({
39
37
  name: 'list-image',
@@ -44,23 +42,13 @@ export function createImagesProvider(images) {
44
42
  access: readAccess,
45
43
  annotations: readonlyHints,
46
44
  execution: { timeoutMs: 10_000, retry: 'idempotent-failover' },
47
- }, (input, context) => toolResult(context, 'images:read', () => (images.list(listImageSchema.parse(input), microOptions(context))))),
48
- 'read-image': defineMcpTool({
49
- name: 'read-image',
50
- title: '读取图片元数据',
51
- inputSchema: readImageSchema,
52
- outputSchema: imageMetadataSchema,
53
- description: '按图片 ID 读取元数据、当前状态和公开原图地址。不会返回图片二进制或本地路径;只有 ready 状态有公开 URL。可用于检查上传结果,或在删除前确认 SHA-256 与目标图片。',
54
- access: readAccess,
55
- annotations: readonlyHints,
56
- execution: { timeoutMs: 10_000, retry: 'idempotent-failover' },
57
- }, (input, context) => toolResult(context, 'images:read', () => (images.read(readImageSchema.parse(input), microOptions(context))))),
45
+ }, (input, context) => toolResult(context, 'images:read', () => (images.list(input, microOptions(context))))),
58
46
  'delete-image': defineMcpTool({
59
47
  name: 'delete-image',
60
48
  title: '删除图片',
61
49
  inputSchema: deleteImageSchema,
62
50
  outputSchema: imageMetadataSchema,
63
- description: '永久删除本地原图并禁用新的源站读取。先用 images.read-image 读取目标并向用户确认,再提交 id 和 expectedSha256,无需删除幂等键。只允许 ready、deleting 或已 deleted 的记录;HASH_CONFLICT 或 STATE_CONFLICT 时重新读取,不能猜测摘要重试。清理失败或响应丢失后用原 ID 与摘要重试;并发和重复删除安全,成功返回 deleted 元数据且保留首次 deletedAt。此操作不能撤销,也无法清除浏览器或第三方已缓存的副本。',
51
+ description: '永久删除本地原图并禁用新的源站读取。先读取 images://image/{id} Resource 核对目标并向用户确认,再提交 id 和 expectedSha256,无需删除幂等键。只允许 ready、deleting 或已 deleted 的记录;HASH_CONFLICT 或 STATE_CONFLICT 时重新读取,不能猜测摘要重试。清理失败或响应丢失后用原 ID 与摘要重试;并发和重复删除安全,成功返回 deleted 元数据且保留首次 deletedAt。此操作不能撤销,也无法清除浏览器或第三方已缓存的副本。',
64
52
  access: writeAccess,
65
53
  annotations: {
66
54
  readOnlyHint: false,
@@ -68,7 +56,7 @@ export function createImagesProvider(images) {
68
56
  destructiveHint: true,
69
57
  },
70
58
  execution: { timeoutMs: 15_000, retry: 'never' },
71
- }, (input, context) => toolResult(context, 'images:write', () => (images.delete(deleteImageSchema.parse(input), microOptions(context))))),
59
+ }, (input, context) => toolResult(context, 'images:write', () => (images.delete(input, microOptions(context))))),
72
60
  },
73
61
  resources: {
74
62
  image: defineMcpResource({
@@ -78,7 +66,7 @@ export function createImagesProvider(images) {
78
66
  title: '图片元数据',
79
67
  mimeType: 'application/json',
80
68
  access: readAccess,
81
- description: '由应用按图片 UUID 读取的 JSON 元数据,与 images.read-image 返回字段一致。包含状态、原始文件名、媒体属性、SHA-256、创建者和时间;只有 ready 返回公开 URL。不返回图片二进制、Base64、本地路径或上传幂等键,也不触发上传、删除或恢复。图片展示使用返回的公开 URL;需要 images:read 权限。',
69
+ description: '由应用按图片 UUID 读取 JSON 元数据。包含状态、原始文件名、媒体属性、SHA-256、创建者和时间;只有 ready 返回公开 URL。不返回图片二进制、Base64、本地路径或上传幂等键,也不触发上传、删除或恢复。图片展示使用返回的公开 URL;需要 images:read 权限。',
82
70
  }, async (variables, context) => {
83
71
  assertAccess(context, 'images:read');
84
72
  try {
@@ -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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"}
@@ -1,3 +1,52 @@
1
- declare const _default: import("@hile/message-loader").MessageRegisterProps<unknown, import("@hile/micro").MicroMessageHandlerExtras>;
1
+ declare const _default: import("@hile/micro").MicroContractMessage<{
2
+ readonly path: "/images/delete";
3
+ readonly input: import("zod").ZodObject<{
4
+ id: import("zod").ZodUUID;
5
+ expectedSha256: import("zod").ZodString;
6
+ }, import("zod/v4/core").$strict>;
7
+ readonly output: import("zod").ZodUnion<readonly [import("zod").ZodObject<{
8
+ id: import("zod").ZodUUID;
9
+ originalFilename: import("zod").ZodNullable<import("zod").ZodString>;
10
+ status: import("zod").ZodEnum<{
11
+ deleted: "deleted";
12
+ deleting: "deleting";
13
+ failed: "failed";
14
+ ready: "ready";
15
+ uploading: "uploading";
16
+ }>;
17
+ url: import("zod").ZodNullable<import("zod").ZodURL>;
18
+ mediaType: import("zod").ZodNullable<import("zod").ZodEnum<{
19
+ "image/avif": "image/avif";
20
+ "image/gif": "image/gif";
21
+ "image/jpeg": "image/jpeg";
22
+ "image/png": "image/png";
23
+ "image/webp": "image/webp";
24
+ }>>;
25
+ byteSize: import("zod").ZodNullable<import("zod").ZodNumber>;
26
+ width: import("zod").ZodNullable<import("zod").ZodNumber>;
27
+ height: import("zod").ZodNullable<import("zod").ZodNumber>;
28
+ sha256: import("zod").ZodNullable<import("zod").ZodString>;
29
+ createdBy: import("zod").ZodString;
30
+ createdAt: import("zod").ZodISODateTime;
31
+ readyAt: import("zod").ZodNullable<import("zod").ZodISODateTime>;
32
+ deletedAt: import("zod").ZodNullable<import("zod").ZodISODateTime>;
33
+ failureCode: import("zod").ZodNullable<import("zod").ZodString>;
34
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
35
+ outcome: import("zod").ZodLiteral<"error">;
36
+ code: import("zod").ZodEnum<{
37
+ HASH_CONFLICT: "HASH_CONFLICT";
38
+ IDEMPOTENCY_CONFLICT: "IDEMPOTENCY_CONFLICT";
39
+ IMAGE_TOO_LARGE: "IMAGE_TOO_LARGE";
40
+ INVALID_BASE64: "INVALID_BASE64";
41
+ INVALID_CURSOR: "INVALID_CURSOR";
42
+ INVALID_IMAGE: "INVALID_IMAGE";
43
+ INVALID_PATH: "INVALID_PATH";
44
+ NOT_FOUND: "NOT_FOUND";
45
+ STATE_CONFLICT: "STATE_CONFLICT";
46
+ UPLOAD_NOT_READY: "UPLOAD_NOT_READY";
47
+ }>;
48
+ message: import("zod").ZodString;
49
+ }, import("zod/v4/core").$strict>]>;
50
+ }>;
2
51
  export default _default;
3
52
  //# sourceMappingURL=delete.msg.d.ts.map
@@ -1,9 +1,6 @@
1
1
  import { defineMicroMessage } from '@hile/micro';
2
- import { deleteImageSchema } from '@zlooks.cn/images-shared';
2
+ import { imagesMicroContract } from '@zlooks.cn/images-shared';
3
3
  import deleteImageModel from '../../models/delete-image.model.js';
4
4
  import { loadImageModel } from '../model-message.js';
5
- export default defineMicroMessage(async ({ data, invocation }) => {
6
- const command = deleteImageSchema.parse(data);
7
- return loadImageModel(deleteImageModel, command, invocation);
8
- });
5
+ export default defineMicroMessage(imagesMicroContract.operations.delete, ({ data, invocation }) => loadImageModel(deleteImageModel, data, invocation));
9
6
  //# sourceMappingURL=delete.msg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delete.msg.js","sourceRoot":"","sources":["../../../src/messages/images/delete.msg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,gBAAgB,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,eAAe,kBAAkB,CAAU,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;IACxE,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9C,OAAO,cAAc,CAAC,gBAAgB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"delete.msg.js","sourceRoot":"","sources":["../../../src/messages/images/delete.msg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,gBAAgB,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,eAAe,kBAAkB,CAC/B,mBAAmB,CAAC,UAAU,CAAC,MAAM,EACrC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,EAAE,UAAU,CAAC,CAC7E,CAAC"}
@@ -1,3 +1,22 @@
1
- declare const _default: import("@hile/message-loader").MessageRegisterProps<unknown, import("@hile/micro").MicroMessageHandlerExtras>;
1
+ declare const _default: import("@hile/micro").MicroContractMessage<{
2
+ readonly path: "/images/events";
3
+ readonly input: import("zod").ZodObject<{}, import("zod/v4/core").$strict>;
4
+ readonly output: import("zod").ZodUnion<readonly [import("zod").ZodCustom<import("@zlooks.cn/event-bus").EventCatalog, import("@zlooks.cn/event-bus").EventCatalog>, import("zod").ZodObject<{
5
+ outcome: import("zod").ZodLiteral<"error">;
6
+ code: import("zod").ZodEnum<{
7
+ HASH_CONFLICT: "HASH_CONFLICT";
8
+ IDEMPOTENCY_CONFLICT: "IDEMPOTENCY_CONFLICT";
9
+ IMAGE_TOO_LARGE: "IMAGE_TOO_LARGE";
10
+ INVALID_BASE64: "INVALID_BASE64";
11
+ INVALID_CURSOR: "INVALID_CURSOR";
12
+ INVALID_IMAGE: "INVALID_IMAGE";
13
+ INVALID_PATH: "INVALID_PATH";
14
+ NOT_FOUND: "NOT_FOUND";
15
+ STATE_CONFLICT: "STATE_CONFLICT";
16
+ UPLOAD_NOT_READY: "UPLOAD_NOT_READY";
17
+ }>;
18
+ message: import("zod").ZodString;
19
+ }, import("zod/v4/core").$strict>]>;
20
+ }>;
2
21
  export default _default;
3
22
  //# sourceMappingURL=events.msg.d.ts.map
@@ -1,9 +1,6 @@
1
1
  import { defineMicroMessage } from '@hile/micro';
2
- import { imageEmptyRequestSchema } from '@zlooks.cn/images-shared';
2
+ import { imagesMicroContract } from '@zlooks.cn/images-shared';
3
3
  import readImageEventCatalogModel from '../../models/read-image-event-catalog.model.js';
4
4
  import { loadImageModel } from '../model-message.js';
5
- export default defineMicroMessage(async ({ data, invocation }) => {
6
- const query = imageEmptyRequestSchema.parse(data);
7
- return loadImageModel(readImageEventCatalogModel, query, invocation);
8
- });
5
+ export default defineMicroMessage(imagesMicroContract.operations.readEventCatalog, ({ data, invocation }) => loadImageModel(readImageEventCatalogModel, data, invocation));
9
6
  //# sourceMappingURL=events.msg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.msg.js","sourceRoot":"","sources":["../../../src/messages/images/events.msg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,0BAA0B,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,eAAe,kBAAkB,CAAU,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;IACxE,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClD,OAAO,cAAc,CAAC,0BAA0B,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;AACvE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"events.msg.js","sourceRoot":"","sources":["../../../src/messages/images/events.msg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,0BAA0B,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,eAAe,kBAAkB,CAC/B,mBAAmB,CAAC,UAAU,CAAC,gBAAgB,EAC/C,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,0BAA0B,EAAE,IAAI,EAAE,UAAU,CAAC,CACvF,CAAC"}
@@ -1,3 +1,85 @@
1
- declare const _default: import("@hile/message-loader").MessageRegisterProps<unknown, import("@hile/micro").MicroMessageHandlerExtras>;
1
+ declare const _default: import("@hile/micro").MicroContractMessage<{
2
+ readonly path: "/images/list";
3
+ readonly input: import("zod").ZodObject<{
4
+ createdFrom: import("zod").ZodOptional<import("zod").ZodPipe<import("zod").ZodISODateTime, import("zod").ZodTransform<string, string>>>;
5
+ createdTo: import("zod").ZodOptional<import("zod").ZodPipe<import("zod").ZodISODateTime, import("zod").ZodTransform<string, string>>>;
6
+ mediaTypes: import("zod").ZodOptional<import("zod").ZodPipe<import("zod").ZodArray<import("zod").ZodEnum<{
7
+ "image/avif": "image/avif";
8
+ "image/gif": "image/gif";
9
+ "image/jpeg": "image/jpeg";
10
+ "image/png": "image/png";
11
+ "image/webp": "image/webp";
12
+ }>>, import("zod").ZodTransform<("image/avif" | "image/gif" | "image/jpeg" | "image/png" | "image/webp")[], ("image/avif" | "image/gif" | "image/jpeg" | "image/png" | "image/webp")[]>>>;
13
+ filenameContains: import("zod").ZodOptional<import("zod").ZodString>;
14
+ minBytes: import("zod").ZodOptional<import("zod").ZodNumber>;
15
+ maxBytes: import("zod").ZodOptional<import("zod").ZodNumber>;
16
+ minWidth: import("zod").ZodOptional<import("zod").ZodNumber>;
17
+ maxWidth: import("zod").ZodOptional<import("zod").ZodNumber>;
18
+ minHeight: import("zod").ZodOptional<import("zod").ZodNumber>;
19
+ maxHeight: import("zod").ZodOptional<import("zod").ZodNumber>;
20
+ statuses: import("zod").ZodPipe<import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodEnum<{
21
+ deleted: "deleted";
22
+ deleting: "deleting";
23
+ failed: "failed";
24
+ ready: "ready";
25
+ uploading: "uploading";
26
+ }>>>, import("zod").ZodTransform<("deleted" | "deleting" | "failed" | "ready" | "uploading")[], ("deleted" | "deleting" | "failed" | "ready" | "uploading")[]>>;
27
+ createdBy: import("zod").ZodOptional<import("zod").ZodString>;
28
+ sha256: import("zod").ZodOptional<import("zod").ZodString>;
29
+ order: import("zod").ZodDefault<import("zod").ZodEnum<{
30
+ asc: "asc";
31
+ desc: "desc";
32
+ }>>;
33
+ limit: import("zod").ZodDefault<import("zod").ZodNumber>;
34
+ cursor: import("zod").ZodOptional<import("zod").ZodString>;
35
+ }, import("zod/v4/core").$strict>;
36
+ readonly output: import("zod").ZodUnion<readonly [import("zod").ZodObject<{
37
+ items: import("zod").ZodArray<import("zod").ZodObject<{
38
+ id: import("zod").ZodUUID;
39
+ originalFilename: import("zod").ZodNullable<import("zod").ZodString>;
40
+ status: import("zod").ZodEnum<{
41
+ deleted: "deleted";
42
+ deleting: "deleting";
43
+ failed: "failed";
44
+ ready: "ready";
45
+ uploading: "uploading";
46
+ }>;
47
+ url: import("zod").ZodNullable<import("zod").ZodURL>;
48
+ mediaType: import("zod").ZodNullable<import("zod").ZodEnum<{
49
+ "image/avif": "image/avif";
50
+ "image/gif": "image/gif";
51
+ "image/jpeg": "image/jpeg";
52
+ "image/png": "image/png";
53
+ "image/webp": "image/webp";
54
+ }>>;
55
+ byteSize: import("zod").ZodNullable<import("zod").ZodNumber>;
56
+ width: import("zod").ZodNullable<import("zod").ZodNumber>;
57
+ height: import("zod").ZodNullable<import("zod").ZodNumber>;
58
+ sha256: import("zod").ZodNullable<import("zod").ZodString>;
59
+ createdBy: import("zod").ZodString;
60
+ createdAt: import("zod").ZodISODateTime;
61
+ readyAt: import("zod").ZodNullable<import("zod").ZodISODateTime>;
62
+ deletedAt: import("zod").ZodNullable<import("zod").ZodISODateTime>;
63
+ failureCode: import("zod").ZodNullable<import("zod").ZodString>;
64
+ }, import("zod/v4/core").$strict>>;
65
+ hasMore: import("zod").ZodBoolean;
66
+ nextCursor: import("zod").ZodNullable<import("zod").ZodString>;
67
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
68
+ outcome: import("zod").ZodLiteral<"error">;
69
+ code: import("zod").ZodEnum<{
70
+ HASH_CONFLICT: "HASH_CONFLICT";
71
+ IDEMPOTENCY_CONFLICT: "IDEMPOTENCY_CONFLICT";
72
+ IMAGE_TOO_LARGE: "IMAGE_TOO_LARGE";
73
+ INVALID_BASE64: "INVALID_BASE64";
74
+ INVALID_CURSOR: "INVALID_CURSOR";
75
+ INVALID_IMAGE: "INVALID_IMAGE";
76
+ INVALID_PATH: "INVALID_PATH";
77
+ NOT_FOUND: "NOT_FOUND";
78
+ STATE_CONFLICT: "STATE_CONFLICT";
79
+ UPLOAD_NOT_READY: "UPLOAD_NOT_READY";
80
+ }>;
81
+ message: import("zod").ZodString;
82
+ }, import("zod/v4/core").$strict>]>;
83
+ }>;
2
84
  export default _default;
3
85
  //# sourceMappingURL=list.msg.d.ts.map
@@ -1,9 +1,6 @@
1
1
  import { defineMicroMessage } from '@hile/micro';
2
- import { listImageSchema } from '@zlooks.cn/images-shared';
2
+ import { imagesMicroContract } from '@zlooks.cn/images-shared';
3
3
  import listImageModel from '../../models/list-image.model.js';
4
4
  import { loadImageModel } from '../model-message.js';
5
- export default defineMicroMessage(async ({ data, invocation }) => {
6
- const query = listImageSchema.parse(data);
7
- return loadImageModel(listImageModel, query, invocation);
8
- });
5
+ export default defineMicroMessage(imagesMicroContract.operations.list, ({ data, invocation }) => loadImageModel(listImageModel, data, invocation));
9
6
  //# sourceMappingURL=list.msg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.msg.js","sourceRoot":"","sources":["../../../src/messages/images/list.msg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,eAAe,kBAAkB,CAAU,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;IACxE,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,cAAc,CAAC,cAAc,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"list.msg.js","sourceRoot":"","sources":["../../../src/messages/images/list.msg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,eAAe,kBAAkB,CAC/B,mBAAmB,CAAC,UAAU,CAAC,IAAI,EACnC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,EAAE,UAAU,CAAC,CAC3E,CAAC"}
@@ -1,3 +1,51 @@
1
- declare const _default: import("@hile/message-loader").MessageRegisterProps<unknown, import("@hile/micro").MicroMessageHandlerExtras>;
1
+ declare const _default: import("@hile/micro").MicroContractMessage<{
2
+ readonly path: "/images/read";
3
+ readonly input: import("zod").ZodObject<{
4
+ id: import("zod").ZodUUID;
5
+ }, import("zod/v4/core").$strict>;
6
+ readonly output: import("zod").ZodUnion<readonly [import("zod").ZodObject<{
7
+ id: import("zod").ZodUUID;
8
+ originalFilename: import("zod").ZodNullable<import("zod").ZodString>;
9
+ status: import("zod").ZodEnum<{
10
+ deleted: "deleted";
11
+ deleting: "deleting";
12
+ failed: "failed";
13
+ ready: "ready";
14
+ uploading: "uploading";
15
+ }>;
16
+ url: import("zod").ZodNullable<import("zod").ZodURL>;
17
+ mediaType: import("zod").ZodNullable<import("zod").ZodEnum<{
18
+ "image/avif": "image/avif";
19
+ "image/gif": "image/gif";
20
+ "image/jpeg": "image/jpeg";
21
+ "image/png": "image/png";
22
+ "image/webp": "image/webp";
23
+ }>>;
24
+ byteSize: import("zod").ZodNullable<import("zod").ZodNumber>;
25
+ width: import("zod").ZodNullable<import("zod").ZodNumber>;
26
+ height: import("zod").ZodNullable<import("zod").ZodNumber>;
27
+ sha256: import("zod").ZodNullable<import("zod").ZodString>;
28
+ createdBy: import("zod").ZodString;
29
+ createdAt: import("zod").ZodISODateTime;
30
+ readyAt: import("zod").ZodNullable<import("zod").ZodISODateTime>;
31
+ deletedAt: import("zod").ZodNullable<import("zod").ZodISODateTime>;
32
+ failureCode: import("zod").ZodNullable<import("zod").ZodString>;
33
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
34
+ outcome: import("zod").ZodLiteral<"error">;
35
+ code: import("zod").ZodEnum<{
36
+ HASH_CONFLICT: "HASH_CONFLICT";
37
+ IDEMPOTENCY_CONFLICT: "IDEMPOTENCY_CONFLICT";
38
+ IMAGE_TOO_LARGE: "IMAGE_TOO_LARGE";
39
+ INVALID_BASE64: "INVALID_BASE64";
40
+ INVALID_CURSOR: "INVALID_CURSOR";
41
+ INVALID_IMAGE: "INVALID_IMAGE";
42
+ INVALID_PATH: "INVALID_PATH";
43
+ NOT_FOUND: "NOT_FOUND";
44
+ STATE_CONFLICT: "STATE_CONFLICT";
45
+ UPLOAD_NOT_READY: "UPLOAD_NOT_READY";
46
+ }>;
47
+ message: import("zod").ZodString;
48
+ }, import("zod/v4/core").$strict>]>;
49
+ }>;
2
50
  export default _default;
3
51
  //# sourceMappingURL=read.msg.d.ts.map
@@ -1,9 +1,6 @@
1
1
  import { defineMicroMessage } from '@hile/micro';
2
- import { readImageSchema } from '@zlooks.cn/images-shared';
2
+ import { imagesMicroContract } from '@zlooks.cn/images-shared';
3
3
  import readImageModel from '../../models/read-image.model.js';
4
4
  import { loadImageModel } from '../model-message.js';
5
- export default defineMicroMessage(async ({ data, invocation }) => {
6
- const query = readImageSchema.parse(data);
7
- return loadImageModel(readImageModel, query, invocation);
8
- });
5
+ export default defineMicroMessage(imagesMicroContract.operations.read, ({ data, invocation }) => loadImageModel(readImageModel, data, invocation));
9
6
  //# sourceMappingURL=read.msg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"read.msg.js","sourceRoot":"","sources":["../../../src/messages/images/read.msg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,eAAe,kBAAkB,CAAU,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;IACxE,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,cAAc,CAAC,cAAc,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"read.msg.js","sourceRoot":"","sources":["../../../src/messages/images/read.msg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,eAAe,kBAAkB,CAC/B,mBAAmB,CAAC,UAAU,CAAC,IAAI,EACnC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,EAAE,UAAU,CAAC,CAC3E,CAAC"}
@@ -1,3 +1,57 @@
1
- declare const _default: import("@hile/message-loader").MessageRegisterProps<unknown, import("@hile/micro").MicroMessageHandlerExtras>;
1
+ declare const _default: import("@hile/micro").MicroContractMessage<{
2
+ readonly path: "/images/upload";
3
+ readonly input: import("zod").ZodObject<{
4
+ actor: import("zod").ZodString;
5
+ upload: import("zod").ZodObject<{
6
+ idempotencyKey: import("zod").ZodString;
7
+ filename: import("zod").ZodOptional<import("zod").ZodString>;
8
+ source: import("zod").ZodLiteral<"base64">;
9
+ base64: import("zod").ZodString;
10
+ }, import("zod/v4/core").$strict>;
11
+ }, import("zod/v4/core").$strict>;
12
+ readonly output: import("zod").ZodUnion<readonly [import("zod").ZodObject<{
13
+ id: import("zod").ZodUUID;
14
+ originalFilename: import("zod").ZodNullable<import("zod").ZodString>;
15
+ status: import("zod").ZodEnum<{
16
+ deleted: "deleted";
17
+ deleting: "deleting";
18
+ failed: "failed";
19
+ ready: "ready";
20
+ uploading: "uploading";
21
+ }>;
22
+ url: import("zod").ZodNullable<import("zod").ZodURL>;
23
+ mediaType: import("zod").ZodNullable<import("zod").ZodEnum<{
24
+ "image/avif": "image/avif";
25
+ "image/gif": "image/gif";
26
+ "image/jpeg": "image/jpeg";
27
+ "image/png": "image/png";
28
+ "image/webp": "image/webp";
29
+ }>>;
30
+ byteSize: import("zod").ZodNullable<import("zod").ZodNumber>;
31
+ width: import("zod").ZodNullable<import("zod").ZodNumber>;
32
+ height: import("zod").ZodNullable<import("zod").ZodNumber>;
33
+ sha256: import("zod").ZodNullable<import("zod").ZodString>;
34
+ createdBy: import("zod").ZodString;
35
+ createdAt: import("zod").ZodISODateTime;
36
+ readyAt: import("zod").ZodNullable<import("zod").ZodISODateTime>;
37
+ deletedAt: import("zod").ZodNullable<import("zod").ZodISODateTime>;
38
+ failureCode: import("zod").ZodNullable<import("zod").ZodString>;
39
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
40
+ outcome: import("zod").ZodLiteral<"error">;
41
+ code: import("zod").ZodEnum<{
42
+ HASH_CONFLICT: "HASH_CONFLICT";
43
+ IDEMPOTENCY_CONFLICT: "IDEMPOTENCY_CONFLICT";
44
+ IMAGE_TOO_LARGE: "IMAGE_TOO_LARGE";
45
+ INVALID_BASE64: "INVALID_BASE64";
46
+ INVALID_CURSOR: "INVALID_CURSOR";
47
+ INVALID_IMAGE: "INVALID_IMAGE";
48
+ INVALID_PATH: "INVALID_PATH";
49
+ NOT_FOUND: "NOT_FOUND";
50
+ STATE_CONFLICT: "STATE_CONFLICT";
51
+ UPLOAD_NOT_READY: "UPLOAD_NOT_READY";
52
+ }>;
53
+ message: import("zod").ZodString;
54
+ }, import("zod/v4/core").$strict>]>;
55
+ }>;
2
56
  export default _default;
3
57
  //# sourceMappingURL=upload.msg.d.ts.map
@@ -1,9 +1,6 @@
1
1
  import { defineMicroMessage } from '@hile/micro';
2
- import { imageUploadCommandSchema } from '@zlooks.cn/images-shared';
2
+ import { imagesMicroContract } from '@zlooks.cn/images-shared';
3
3
  import uploadImageModel from '../../models/upload-image.model.js';
4
4
  import { loadImageModel } from '../model-message.js';
5
- export default defineMicroMessage(async ({ data, invocation }) => {
6
- const command = imageUploadCommandSchema.parse(data);
7
- return loadImageModel(uploadImageModel, command, invocation);
8
- });
5
+ export default defineMicroMessage(imagesMicroContract.operations.upload, ({ data, invocation }) => loadImageModel(uploadImageModel, data, invocation));
9
6
  //# sourceMappingURL=upload.msg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"upload.msg.js","sourceRoot":"","sources":["../../../src/messages/images/upload.msg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,gBAAgB,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,eAAe,kBAAkB,CAAU,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE;IACxE,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrD,OAAO,cAAc,CAAC,gBAAgB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"upload.msg.js","sourceRoot":"","sources":["../../../src/messages/images/upload.msg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,gBAAgB,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,eAAe,kBAAkB,CAC/B,mBAAmB,CAAC,UAAU,CAAC,MAAM,EACrC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,EAAE,UAAU,CAAC,CAC7E,CAAC"}
@@ -6,7 +6,7 @@ declare const _default: import("@hile/model").ModelDefinition<{
6
6
  originalFilename: string | null;
7
7
  status: "deleted" | "deleting" | "failed" | "ready" | "uploading";
8
8
  url: string | null;
9
- mediaType: string | null;
9
+ mediaType: "image/avif" | "image/gif" | "image/jpeg" | "image/png" | "image/webp" | null;
10
10
  byteSize: number | null;
11
11
  width: number | null;
12
12
  height: number | null;
@@ -5,7 +5,7 @@ declare const _default: import("@hile/model").ModelDefinition<{
5
5
  originalFilename: string | null;
6
6
  status: "deleted" | "deleting" | "failed" | "ready" | "uploading";
7
7
  url: string | null;
8
- mediaType: string | null;
8
+ mediaType: "image/avif" | "image/gif" | "image/jpeg" | "image/png" | "image/webp" | null;
9
9
  byteSize: number | null;
10
10
  width: number | null;
11
11
  height: number | null;
@@ -11,7 +11,7 @@ declare const _default: import("@hile/model").ModelDefinition<{
11
11
  originalFilename: string | null;
12
12
  status: "deleted" | "deleting" | "failed" | "ready" | "uploading";
13
13
  url: string | null;
14
- mediaType: string | null;
14
+ mediaType: "image/avif" | "image/gif" | "image/jpeg" | "image/png" | "image/webp" | null;
15
15
  byteSize: number | null;
16
16
  width: number | null;
17
17
  height: number | null;
@@ -1,4 +1,5 @@
1
1
  import { EntitySchema } from 'typeorm';
2
+ import type { ImageMetadata } from '@zlooks.cn/images-shared';
2
3
  export interface ImageRow {
3
4
  id: string;
4
5
  createdBy: string;
@@ -6,7 +7,7 @@ export interface ImageRow {
6
7
  uploadRequestFingerprint: string;
7
8
  status: 'uploading' | 'ready' | 'failed' | 'deleting' | 'deleted';
8
9
  originalFilename: string | null;
9
- mediaType: string | null;
10
+ mediaType: ImageMetadata['mediaType'];
10
11
  extension: string | null;
11
12
  byteSize: number | null;
12
13
  width: number | null;
@@ -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;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wBAAwB,EAAE,MAAM,CAAC;IACjC,MAAM,EAAE,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAClE,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,WAAW,wBA4FtB,CAAC;AAEH,eAAO,MAAM,aAAa,mCAAyB,CAAC"}
1
+ {"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../src/persistence/entities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wBAAwB,EAAE,MAAM,CAAC;IACjC,MAAM,EAAE,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAClE,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACtC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,WAAW,wBA4FtB,CAAC;AAEH,eAAO,MAAM,aAAa,mCAAyB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"entities.js","sourceRoot":"","sources":["../../src/persistence/entities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entities.js","sourceRoot":"","sources":["../../src/persistence/entities.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,10 @@
1
+ import type { ImageMetadata } from '@zlooks.cn/images-shared';
1
2
  import type { ImageRow } from '../persistence/entities.js';
2
- export type ImageMetadata = ReturnType<typeof imageProjection>;
3
+ export type { ImageMetadata };
3
4
  export interface ImagePage {
4
5
  items: ImageMetadata[];
5
6
  hasMore: boolean;
6
7
  nextCursor: string | null;
7
8
  }
8
- export declare function imageProjection(row: ImageRow, origin: string): {
9
- id: string;
10
- originalFilename: string | null;
11
- status: "deleted" | "deleting" | "failed" | "ready" | "uploading";
12
- url: string | null;
13
- mediaType: string | null;
14
- byteSize: number | null;
15
- width: number | null;
16
- height: number | null;
17
- sha256: string | null;
18
- createdBy: string;
19
- createdAt: string;
20
- readyAt: string | null;
21
- deletedAt: string | null;
22
- failureCode: string | null;
23
- };
9
+ export declare function imageProjection(row: ImageRow, origin: string): ImageMetadata;
24
10
  //# sourceMappingURL=image-projection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-projection.d.ts","sourceRoot":"","sources":["../../src/presentation/image-projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAE3D,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAC/D,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;IAEzD,EAAE;IACF,gBAAgB;IAChB,MAAM;IACN,GAAG;IACH,SAAS;IACT,QAAQ;IACR,KAAK;IACL,MAAM;IACN,MAAM;IACN,SAAS;IACT,SAAS;IACT,OAAO;IACP,SAAS;IACT,WAAW;EAEd"}
1
+ {"version":3,"file":"image-projection.d.ts","sourceRoot":"","sources":["../../src/presentation/image-projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAE3D,YAAY,EAAE,aAAa,EAAE,CAAC;AAC9B,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAiB5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"image-projection.js","sourceRoot":"","sources":["../../src/presentation/image-projection.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,eAAe,CAAC,GAAa,EAAE,MAAc;IAC3D,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;QACtC,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,GAAG,EAAE,GAAG,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,iBAAiB,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;QACrG,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE;QACtC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI;QAC3C,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,IAAI;QAC/C,WAAW,EAAE,GAAG,CAAC,WAAW;KAC7B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"image-projection.js","sourceRoot":"","sources":["../../src/presentation/image-projection.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,eAAe,CAAC,GAAa,EAAE,MAAc;IAC3D,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;QACtC,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,GAAG,EAAE,GAAG,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,iBAAiB,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;QACrG,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE;QACtC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI;QAC3C,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,IAAI;QAC/C,WAAW,EAAE,GAAG,CAAC,WAAW;KAC7B,CAAC;AACJ,CAAC"}
@@ -1,4 +1,8 @@
1
- import { Application } from '@hile/micro';
2
- declare const _default: import("@hile/core").ServiceRegisterProps<Application>;
1
+ import { Application, type MicroBinding } from '@hile/micro';
2
+ import { imagesMicroContract } from '@zlooks.cn/images-shared';
3
+ declare const _default: import("@hile/core").ServiceRegisterProps<Readonly<{
4
+ application: Application;
5
+ contractBinding: MicroBinding<typeof imagesMicroContract>;
6
+ }>>;
3
7
  export default _default;
4
8
  //# sourceMappingURL=application.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"application.service.d.ts","sourceRoot":"","sources":["../../src/services/application.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"application.service.d.ts","sourceRoot":"","sources":["../../src/services/application.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAqB,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;;iBAMhD,WAAW;qBACP,YAAY,CAAC,OAAO,mBAAmB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { fileURLToPath } from 'node:url';
2
2
  import { defineService } from '@hile/core';
3
- import { Application } from '@hile/micro';
3
+ import { Application, loadMicroContract } from '@hile/micro';
4
+ import { imagesMicroContract } from '@zlooks.cn/images-shared';
4
5
  import { parseAdvertiseHost, parseRegistryBootstrap } from '@zlooks.cn/registry-config';
5
6
  import { detect } from 'detect-port';
6
7
  import { IMAGES_NAMESPACE } from '../identity.js';
@@ -15,8 +16,14 @@ export default defineService('zlooks.images.application', async (shutdown) => {
15
16
  registry,
16
17
  ...(advertiseHost ? { advertiseHost } : {}),
17
18
  });
18
- await application.load(fileURLToPath(new URL('../messages', import.meta.url)));
19
- shutdown(await application.listen(await detect()));
20
- return application;
19
+ const contractBinding = await loadMicroContract(application, imagesMicroContract, fileURLToPath(new URL('../messages', import.meta.url)));
20
+ try {
21
+ shutdown(await application.listen(await detect()));
22
+ return { application, contractBinding };
23
+ }
24
+ catch (error) {
25
+ await contractBinding.close();
26
+ throw error;
27
+ }
21
28
  });
22
29
  //# sourceMappingURL=application.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"application.service.js","sourceRoot":"","sources":["../../src/services/application.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,eAAe,aAAa,CAAC,2BAA2B,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;IAC3E,MAAM,QAAQ,GAAG,sBAAsB,CAAC;QACtC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;QACxC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;KACzC,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC1E,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;QAClC,SAAS,EAAE,gBAAgB;QAC3B,QAAQ;QACR,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5C,CAAC,CAAC;IACH,MAAM,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/E,QAAQ,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC;IACnD,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"application.service.js","sourceRoot":"","sources":["../../src/services/application.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAqB,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAOlD,eAAe,aAAa,CAC1B,2BAA2B,EAC3B,KAAK,EAAE,QAAQ,EAAE,EAAE;IACjB,MAAM,QAAQ,GAAG,sBAAsB,CAAC;QACtC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;QACxC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;KACzC,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC1E,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;QAClC,SAAS,EAAE,gBAAgB;QAC3B,QAAQ;QACR,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5C,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAC7C,WAAW,EACX,mBAAmB,EACnB,aAAa,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CACvD,CAAC;IACF,IAAI,CAAC;QACH,QAAQ,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC;QACnD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CACF,CAAC"}
@@ -4,7 +4,7 @@ import { parsePublicHostConfig, PUBLIC_HOST_CONFIG_TOPIC_KEY } from '@zlooks.cn/
4
4
  import { registryConfigTopic, subscribeRegistryConfig } from '@zlooks.cn/registry-config';
5
5
  import applicationService from './application.service.js';
6
6
  export default defineService('zlooks.images.config', async (shutdown) => {
7
- const application = await loadService(applicationService);
7
+ const { application } = await loadService(applicationService);
8
8
  const subscriber = await subscribeRegistryConfig(application, {
9
9
  sources: {
10
10
  redis: { topic: registryConfigTopic('redis'), parse: parseRedisConfig },
@@ -1 +1 @@
1
- {"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../src/services/config.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAE1D,eAAe,aAAa,CAAC,sBAAsB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;IACtE,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC,WAAW,EAAE;QAC5D,OAAO,EAAE;YACP,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE;YACvE,QAAQ,EAAE,EAAE,KAAK,EAAE,mBAAmB,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE;YAChF,UAAU,EAAE,EAAE,KAAK,EAAE,mBAAmB,CAAC,4BAA4B,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE;SACvG;QACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CACnB,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;KACtG,CAAC,CAAC;IACH,QAAQ,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;IACnC,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../src/services/config.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAE1D,eAAe,aAAa,CAAC,sBAAsB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;IACtE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC,WAAW,EAAE;QAC5D,OAAO,EAAE;YACP,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE;YACvE,QAAQ,EAAE,EAAE,KAAK,EAAE,mBAAmB,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE;YAChF,UAAU,EAAE,EAAE,KAAK,EAAE,mBAAmB,CAAC,4BAA4B,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE;SACvG;QACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CACnB,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;KACtG,CAAC,CAAC;IACH,QAAQ,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;IACnC,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC,CAAC"}
@@ -9,12 +9,13 @@ import redisService from './redis.service.js';
9
9
  import databaseService from './database.service.js';
10
10
  import applicationService from './application.service.js';
11
11
  export default defineService('zlooks.images.runtime', async () => {
12
- const [database, configs, redis, application] = await Promise.all([
12
+ const [database, configs, redis, applicationRuntime] = await Promise.all([
13
13
  loadService(databaseService),
14
14
  loadService(configService),
15
15
  loadService(redisService),
16
16
  loadService(applicationService),
17
17
  ]);
18
+ const { application } = applicationRuntime;
18
19
  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' })));
19
20
  const storage = new LocalImageStorage();
20
21
  await storage.initialize();
@@ -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,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;QAC5B,WAAW,CAAC,aAAa,CAAC;QAC1B,WAAW,CAAC,YAAY,CAAC;QACzB,WAAW,CAAC,kBAAkB,CAAC;KAChC,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,CAC9D,sBAAsB,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CACvD,CACF,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
+ {"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,kBAAkB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvE,WAAW,CAAC,eAAe,CAAC;QAC5B,WAAW,CAAC,aAAa,CAAC;QAC1B,WAAW,CAAC,YAAY,CAAC;QACzB,WAAW,CAAC,kBAAkB,CAAC;KAChC,CAAC,CAAC;IACH,MAAM,EAAE,WAAW,EAAE,GAAG,kBAAkB,CAAC;IAC3C,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,CAC9D,sBAAsB,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CACvD,CACF,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,9 +1,12 @@
1
1
  import { defineService, loadService } from '@hile/core';
2
+ import applicationService from './application.service.js';
2
3
  import publicAssetsService from './public-assets.service.js';
3
4
  import mcpProviderService from './mcp-provider.service.js';
4
5
  import imagesRuntimeService from './images-runtime.service.js';
5
6
  export default defineService('zlooks.images.boot', async () => {
6
7
  await loadService(imagesRuntimeService);
8
+ const { contractBinding } = await loadService(applicationService);
9
+ contractBinding.activate();
7
10
  await Promise.all([
8
11
  loadService(publicAssetsService),
9
12
  loadService(mcpProviderService),
@@ -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;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"}
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,kBAAkB,MAAM,0BAA0B,CAAC;AAC1D,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,EAAE,eAAe,EAAE,GAAG,MAAM,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAClE,eAAe,CAAC,QAAQ,EAAE,CAAC;IAC3B,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,WAAW,CAAC,mBAAmB,CAAC;QAChC,WAAW,CAAC,kBAAkB,CAAC;KAChC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,13 +1,13 @@
1
1
  import { defineService, loadService } from '@hile/core';
2
2
  import { attachMcpProvider } from '@hile/mcp/micro';
3
- import { createImagesMicroClient } from '@zlooks.cn/images-shared';
3
+ import { createImagesClient } from '@zlooks.cn/images-shared';
4
4
  import { createImagesProvider } from '../mcp/provider.js';
5
5
  import applicationService from './application.service.js';
6
6
  import imagesRuntimeService from './images-runtime.service.js';
7
7
  export default defineService('zlooks.images.mcp-provider', async (shutdown) => {
8
8
  await loadService(imagesRuntimeService);
9
- const application = await loadService(applicationService);
10
- const attachment = await attachMcpProvider(application, createImagesProvider(createImagesMicroClient(application)), {
9
+ const { application, contractBinding } = await loadService(applicationService);
10
+ const attachment = await attachMcpProvider(application, createImagesProvider(createImagesClient(contractBinding.local)), {
11
11
  invocationSecurity: { mode: 'trusted-internal' },
12
12
  });
13
13
  shutdown(() => attachment.close());
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-provider.service.js","sourceRoot":"","sources":["../../src/services/mcp-provider.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAC1D,OAAO,oBAAoB,MAAM,6BAA6B,CAAC;AAE/D,eAAe,aAAa,CAAC,4BAA4B,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;IAC5E,MAAM,WAAW,CAAC,oBAAoB,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,MAAM,iBAAiB,CACxC,WAAW,EACX,oBAAoB,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,EAC1D;QACA,kBAAkB,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE;KAC/C,CACF,CAAC;IACF,QAAQ,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;IACnC,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"mcp-provider.service.js","sourceRoot":"","sources":["../../src/services/mcp-provider.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAC1D,OAAO,oBAAoB,MAAM,6BAA6B,CAAC;AAE/D,eAAe,aAAa,CAAC,4BAA4B,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;IAC5E,MAAM,WAAW,CAAC,oBAAoB,CAAC,CAAC;IACxC,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,MAAM,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAC/E,MAAM,UAAU,GAAG,MAAM,iBAAiB,CACxC,WAAW,EACX,oBAAoB,CAAC,kBAAkB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAC/D;QACE,kBAAkB,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE;KACjD,CACF,CAAC;IACF,QAAQ,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;IACnC,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC,CAAC"}
@@ -6,7 +6,11 @@ import imagesRuntimeService from './images-runtime.service.js';
6
6
  import loggerService from './logger.service.js';
7
7
  export default defineService('zlooks.images.public-assets', async (shutdown) => {
8
8
  await loadService(imagesRuntimeService);
9
- const [application, logger] = await Promise.all([loadService(applicationService), loadService(loggerService)]);
9
+ const [applicationRuntime, logger] = await Promise.all([
10
+ loadService(applicationService),
11
+ loadService(loggerService),
12
+ ]);
13
+ const { application } = applicationRuntime;
10
14
  const publisher = new PublicAssetPublisher(application, imageAssetProvider, (error) => logger.error({ err: error, event: 'images.publication.failed' }, 'Image read publication failed'));
11
15
  shutdown(() => publisher.close());
12
16
  await publisher.start();
@@ -1 +1 @@
1
- {"version":3,"file":"public-assets.service.js","sourceRoot":"","sources":["../../src/services/public-assets.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAC1D,OAAO,oBAAoB,MAAM,6BAA6B,CAAC;AAC/D,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAEhD,eAAe,aAAa,CAAC,6BAA6B,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;IAC7E,MAAM,WAAW,CAAC,oBAAoB,CAAC,CAAC;IACxC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC/G,MAAM,SAAS,GAAG,IAAI,oBAAoB,CAAC,WAAW,EAAE,kBAAkB,EACxE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE,EAAE,+BAA+B,CAAC,CAAC,CAAC;IAChH,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;IAClC,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;IACxB,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"public-assets.service.js","sourceRoot":"","sources":["../../src/services/public-assets.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAC1D,OAAO,oBAAoB,MAAM,6BAA6B,CAAC;AAC/D,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAEhD,eAAe,aAAa,CAAC,6BAA6B,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;IAC7E,MAAM,WAAW,CAAC,oBAAoB,CAAC,CAAC;IACxC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACrD,WAAW,CAAC,kBAAkB,CAAC;QAC/B,WAAW,CAAC,aAAa,CAAC;KAC3B,CAAC,CAAC;IACH,MAAM,EAAE,WAAW,EAAE,GAAG,kBAAkB,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,oBAAoB,CAAC,WAAW,EAAE,kBAAkB,EACxE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE,EAAE,+BAA+B,CAAC,CAAC,CAAC;IAChH,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;IAClC,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;IACxB,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zlooks.cn/images-server",
3
- "version": "1.0.4",
3
+ "version": "1.0.5",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "engines": {
@@ -31,20 +31,20 @@
31
31
  "@hile/ioredis": "4.0.2",
32
32
  "@hile/logger": "4.0.2",
33
33
  "@hile/mcp": "1.0.6",
34
- "@hile/message-loader": "4.0.6",
35
- "@hile/micro": "4.0.6",
34
+ "@hile/message-loader": "4.0.7",
35
+ "@hile/micro": "4.0.7",
36
36
  "@hile/model": "4.0.4",
37
37
  "@hile/redis-lock": "4.0.2",
38
38
  "@hile/typeorm": "4.0.2",
39
- "@zlooks.cn/database-command": "1.0.3",
40
- "@zlooks.cn/event-bus": "1.0.2",
41
- "@zlooks.cn/event-client": "1.0.2",
42
- "@zlooks.cn/images-shared": "1.0.2",
39
+ "@zlooks.cn/database-command": "1.0.4",
40
+ "@zlooks.cn/event-bus": "1.0.3",
41
+ "@zlooks.cn/event-client": "1.0.3",
42
+ "@zlooks.cn/images-shared": "1.0.3",
43
43
  "@zlooks.cn/infrastructure": "1.0.0",
44
- "@zlooks.cn/public-asset": "1.0.2",
44
+ "@zlooks.cn/public-asset": "1.0.3",
45
45
  "@zlooks.cn/public-host-contract": "1.0.0",
46
46
  "@zlooks.cn/registry-config": "1.0.1",
47
- "@zlooks.cn/service-command": "1.0.1",
47
+ "@zlooks.cn/service-command": "1.0.2",
48
48
  "@zlooks.cn/utils": "1.0.0",
49
49
  "detect-port": "2.1.0",
50
50
  "ioredis": "5.11.1",
@@ -63,7 +63,7 @@
63
63
  "start": "hile start --env-file ~/.zlooks.cn/.env"
64
64
  },
65
65
  "devDependencies": {
66
- "@hile/cli": "4.0.7",
66
+ "@hile/cli": "4.0.8",
67
67
  "@types/node": "26.2.0",
68
68
  "@types/range-parser": "1.2.7",
69
69
  "fix-esm-import-path": "1.10.3",
@@ -71,5 +71,5 @@
71
71
  "typescript": "7.0.2",
72
72
  "vitest": "4.1.11"
73
73
  },
74
- "gitHead": "3c7e3ec494a3702626a2b150991b136b89550e35"
74
+ "gitHead": "93c1087350b97ab47fd9596c1e39da4ade741a49"
75
75
  }