@zlooks.cn/images-server 1.0.3 → 1.0.4

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 (83) hide show
  1. package/dist/assets/read-image-asset.d.ts.map +1 -1
  2. package/dist/assets/read-image-asset.js +7 -2
  3. package/dist/assets/read-image-asset.js.map +1 -1
  4. package/dist/assets/response-policy.d.ts.map +1 -1
  5. package/dist/assets/response-policy.js +10 -4
  6. package/dist/assets/response-policy.js.map +1 -1
  7. package/dist/domain/image-error.d.ts +5 -2
  8. package/dist/domain/image-error.d.ts.map +1 -1
  9. package/dist/domain/image-error.js.map +1 -1
  10. package/dist/domain/output-schema.d.ts +1 -62
  11. package/dist/domain/output-schema.d.ts.map +1 -1
  12. package/dist/domain/output-schema.js +1 -24
  13. package/dist/domain/output-schema.js.map +1 -1
  14. package/dist/domain/schema.d.ts +1 -68
  15. package/dist/domain/schema.d.ts.map +1 -1
  16. package/dist/domain/schema.js +1 -43
  17. package/dist/domain/schema.js.map +1 -1
  18. package/dist/identity.d.ts +1 -1
  19. package/dist/identity.d.ts.map +1 -1
  20. package/dist/identity.js +1 -1
  21. package/dist/identity.js.map +1 -1
  22. package/dist/mcp/provider.d.ts +2 -1
  23. package/dist/mcp/provider.d.ts.map +1 -1
  24. package/dist/mcp/provider.js +100 -44
  25. package/dist/mcp/provider.js.map +1 -1
  26. package/dist/messages/images/delete.msg.d.ts +3 -0
  27. package/dist/messages/images/delete.msg.d.ts.map +1 -0
  28. package/dist/messages/images/delete.msg.js +9 -0
  29. package/dist/messages/images/delete.msg.js.map +1 -0
  30. package/dist/messages/images/events.msg.d.ts +3 -0
  31. package/dist/messages/images/events.msg.d.ts.map +1 -0
  32. package/dist/messages/images/events.msg.js +9 -0
  33. package/dist/messages/images/events.msg.js.map +1 -0
  34. package/dist/messages/images/list.msg.d.ts +3 -0
  35. package/dist/messages/images/list.msg.d.ts.map +1 -0
  36. package/dist/messages/images/list.msg.js +9 -0
  37. package/dist/messages/images/list.msg.js.map +1 -0
  38. package/dist/messages/images/read.msg.d.ts +3 -0
  39. package/dist/messages/images/read.msg.d.ts.map +1 -0
  40. package/dist/messages/images/read.msg.js +9 -0
  41. package/dist/messages/images/read.msg.js.map +1 -0
  42. package/dist/messages/images/upload.msg.d.ts +3 -0
  43. package/dist/messages/images/upload.msg.d.ts.map +1 -0
  44. package/dist/messages/images/upload.msg.js +9 -0
  45. package/dist/messages/images/upload.msg.js.map +1 -0
  46. package/dist/messages/model-message.d.ts +8 -0
  47. package/dist/messages/model-message.d.ts.map +1 -0
  48. package/dist/messages/model-message.js +18 -0
  49. package/dist/messages/model-message.js.map +1 -0
  50. package/dist/migrations/index.d.ts +2 -0
  51. package/dist/migrations/index.d.ts.map +1 -1
  52. package/dist/migrations/index.js +6 -0
  53. package/dist/migrations/index.js.map +1 -1
  54. package/dist/models/delete-image.model.js +14 -7
  55. package/dist/models/delete-image.model.js.map +1 -1
  56. package/dist/models/list-image.model.js +6 -3
  57. package/dist/models/list-image.model.js.map +1 -1
  58. package/dist/models/read-image-event-catalog.model.d.ts +3 -0
  59. package/dist/models/read-image-event-catalog.model.d.ts.map +1 -0
  60. package/dist/models/read-image-event-catalog.model.js +7 -0
  61. package/dist/models/read-image-event-catalog.model.js.map +1 -0
  62. package/dist/models/read-image.model.js +2 -2
  63. package/dist/models/read-image.model.js.map +1 -1
  64. package/dist/models/upload-image.model.d.ts +6 -2
  65. package/dist/models/upload-image.model.d.ts.map +1 -1
  66. package/dist/models/upload-image.model.js +8 -7
  67. package/dist/models/upload-image.model.js.map +1 -1
  68. package/dist/persistence/entities.d.ts.map +1 -1
  69. package/dist/persistence/entities.js +85 -12
  70. package/dist/persistence/entities.js.map +1 -1
  71. package/dist/services/config.service.js.map +1 -1
  72. package/dist/services/database.service.js +9 -1
  73. package/dist/services/database.service.js.map +1 -1
  74. package/dist/services/images-runtime.service.js +4 -1
  75. package/dist/services/images-runtime.service.js.map +1 -1
  76. package/dist/services/mcp-provider.service.js +2 -1
  77. package/dist/services/mcp-provider.service.js.map +1 -1
  78. package/dist/services/redis.service.js +12 -4
  79. package/dist/services/redis.service.js.map +1 -1
  80. package/dist/storage/local-storage.d.ts.map +1 -1
  81. package/dist/storage/local-storage.js +13 -5
  82. package/dist/storage/local-storage.js.map +1 -1
  83. package/package.json +21 -21
@@ -1,65 +1,96 @@
1
- import { createInvocationContext } from '@hile/context';
2
- import { defineMcpProvider, defineMcpResource, defineMcpTool } from '@hile/mcp';
3
- import { loadModel } from '@hile/model';
1
+ import { defineMcpProvider, defineMcpResource, defineMcpTool, } from '@hile/mcp';
4
2
  import { z } from 'zod';
5
- import { IMAGES_EVENT_CATALOG } from '@zlooks.cn/images-shared';
3
+ import { IMAGES_EVENT_CATALOG, ImagesOperationError, } from '@zlooks.cn/images-shared';
6
4
  import { IMAGES_ID } from '../identity.js';
7
5
  import { ImageError } from '../domain/image-error.js';
8
- import { deleteImageSchema, listImageSchema, readImageSchema, uploadImageSchema } from '../domain/schema.js';
6
+ import { deleteImageSchema, listImageSchema, readImageSchema, uploadImageSchema, } from '../domain/schema.js';
9
7
  import { imageMetadataSchema, imagePageSchema } from '../domain/output-schema.js';
10
- import uploadImageModel from '../models/upload-image.model.js';
11
- import readImageModel from '../models/read-image.model.js';
12
- import listImageModel from '../models/list-image.model.js';
13
- import deleteImageModel from '../models/delete-image.model.js';
14
8
  const readAccess = { scopes: ['images:read'] };
15
9
  const writeAccess = { scopes: ['images:write'] };
16
- const readonlyHints = { readOnlyHint: true, idempotentHint: true, destructiveHint: false };
17
- export function createImagesProvider() {
10
+ const readonlyHints = {
11
+ readOnlyHint: true,
12
+ idempotentHint: true,
13
+ destructiveHint: false,
14
+ };
15
+ export function createImagesProvider(images) {
18
16
  return defineMcpProvider({
19
17
  id: IMAGES_ID,
20
18
  displayName: '图片存储',
21
19
  tools: {
22
20
  'upload-image': defineMcpTool({
23
- name: 'upload-image', title: '上传图片', inputSchema: uploadImageSchema, outputSchema: imageMetadataSchema,
21
+ name: 'upload-image',
22
+ title: '上传图片',
23
+ inputSchema: uploadImageSchema,
24
+ outputSchema: imageMetadataSchema,
24
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 不会复活。文件名仅用于搜索,不能指定存储路径。',
25
26
  access: writeAccess,
26
- annotations: { readOnlyHint: false, idempotentHint: true, destructiveHint: false },
27
+ annotations: {
28
+ readOnlyHint: false,
29
+ idempotentHint: true,
30
+ destructiveHint: false,
31
+ },
27
32
  execution: { timeoutMs: 60_000, retry: 'never' },
28
- }, (input, context) => toolResult(context, 'images:write', async (invocation) => {
29
- const actor = z.string().min(1).max(128).parse(context.principal?.clientId ?? context.principal?.subject);
30
- return loadModel(uploadImageModel, { actor, request: uploadImageSchema.parse(input) }, invocation);
33
+ }, (input, context) => toolResult(context, 'images:write', async () => {
34
+ const identity = context.principal?.clientId ?? context.principal?.subject;
35
+ const actor = z.string().min(1).max(128).parse(identity);
36
+ return images.upload({ actor, upload: uploadImageSchema.parse(input) }, microOptions(context));
31
37
  })),
32
38
  'list-image': defineMcpTool({
33
- name: 'list-image', title: '查询图片', inputSchema: listImageSchema, outputSchema: imagePageSchema,
39
+ name: 'list-image',
40
+ title: '查询图片',
41
+ inputSchema: listImageSchema,
42
+ outputSchema: imagePageSchema,
34
43
  description: '按创建时间、格式、文件名、字节数、宽高、状态、上传者及 SHA-256 组合查询;不同条件 AND,集合内部 OR。时间范围左闭右开,默认创建时间倒序;每页默认 20、最多 100 条。将返回的 nextCursor 作为 cursor 查询下一页,保持筛选条件及排序;hasMore=false 时停止。默认不返回 deleted,不提供 total;空结果不是错误。分页不是跨请求快照,INVALID_CURSOR 时检查条件,变更条件需从第一页重新查询。',
35
- access: readAccess, annotations: readonlyHints,
44
+ access: readAccess,
45
+ annotations: readonlyHints,
36
46
  execution: { timeoutMs: 10_000, retry: 'idempotent-failover' },
37
- }, (input, context) => toolResult(context, 'images:read', (invocation) => loadModel(listImageModel, listImageSchema.parse(input), invocation))),
47
+ }, (input, context) => toolResult(context, 'images:read', () => (images.list(listImageSchema.parse(input), microOptions(context))))),
38
48
  'read-image': defineMcpTool({
39
- name: 'read-image', title: '读取图片元数据', inputSchema: readImageSchema, outputSchema: imageMetadataSchema,
49
+ name: 'read-image',
50
+ title: '读取图片元数据',
51
+ inputSchema: readImageSchema,
52
+ outputSchema: imageMetadataSchema,
40
53
  description: '按图片 ID 读取元数据、当前状态和公开原图地址。不会返回图片二进制或本地路径;只有 ready 状态有公开 URL。可用于检查上传结果,或在删除前确认 SHA-256 与目标图片。',
41
- access: readAccess, annotations: readonlyHints,
54
+ access: readAccess,
55
+ annotations: readonlyHints,
42
56
  execution: { timeoutMs: 10_000, retry: 'idempotent-failover' },
43
- }, (input, context) => toolResult(context, 'images:read', (invocation) => loadModel(readImageModel, readImageSchema.parse(input), invocation))),
57
+ }, (input, context) => toolResult(context, 'images:read', () => (images.read(readImageSchema.parse(input), microOptions(context))))),
44
58
  'delete-image': defineMcpTool({
45
- name: 'delete-image', title: '删除图片', inputSchema: deleteImageSchema, outputSchema: imageMetadataSchema,
59
+ name: 'delete-image',
60
+ title: '删除图片',
61
+ inputSchema: deleteImageSchema,
62
+ outputSchema: imageMetadataSchema,
46
63
  description: '永久删除本地原图并禁用新的源站读取。先用 images.read-image 读取目标并向用户确认,再提交 id 和 expectedSha256,无需删除幂等键。只允许 ready、deleting 或已 deleted 的记录;HASH_CONFLICT 或 STATE_CONFLICT 时重新读取,不能猜测摘要重试。清理失败或响应丢失后用原 ID 与摘要重试;并发和重复删除安全,成功返回 deleted 元数据且保留首次 deletedAt。此操作不能撤销,也无法清除浏览器或第三方已缓存的副本。',
47
64
  access: writeAccess,
48
- annotations: { readOnlyHint: false, idempotentHint: true, destructiveHint: true },
65
+ annotations: {
66
+ readOnlyHint: false,
67
+ idempotentHint: true,
68
+ destructiveHint: true,
69
+ },
49
70
  execution: { timeoutMs: 15_000, retry: 'never' },
50
- }, (input, context) => toolResult(context, 'images:write', (invocation) => loadModel(deleteImageModel, deleteImageSchema.parse(input), invocation))),
71
+ }, (input, context) => toolResult(context, 'images:write', () => (images.delete(deleteImageSchema.parse(input), microOptions(context))))),
51
72
  },
52
73
  resources: {
53
74
  image: defineMcpResource({
54
- kind: 'template', name: 'image', uriTemplate: 'images://image/{id}',
55
- title: '图片元数据', mimeType: 'application/json', access: readAccess,
75
+ kind: 'template',
76
+ name: 'image',
77
+ uriTemplate: 'images://image/{id}',
78
+ title: '图片元数据',
79
+ mimeType: 'application/json',
80
+ access: readAccess,
56
81
  description: '由应用按图片 UUID 读取的 JSON 元数据,与 images.read-image 返回字段一致。包含状态、原始文件名、媒体属性、SHA-256、创建者和时间;只有 ready 返回公开 URL。不返回图片二进制、Base64、本地路径或上传幂等键,也不触发上传、删除或恢复。图片展示使用返回的公开 URL;需要 images:read 权限。',
57
82
  }, async (variables, context) => {
58
83
  assertAccess(context, 'images:read');
59
84
  try {
60
- const request = readImageSchema.parse({ id: variables.id });
61
- const result = await loadModel(readImageModel, request, createInvocationContext(context.executionContext, context.signal));
62
- return { contents: [{ uri: `images://image/${request.id}`, mimeType: 'application/json', text: JSON.stringify(result) }] };
85
+ const query = readImageSchema.parse({ id: variables.id });
86
+ const result = await images.read(query, microOptions(context));
87
+ return {
88
+ contents: [{
89
+ uri: `images://image/${query.id}`,
90
+ mimeType: 'application/json',
91
+ text: JSON.stringify(result),
92
+ }],
93
+ };
63
94
  }
64
95
  catch (error) {
65
96
  context.signal.throwIfAborted();
@@ -67,18 +98,29 @@ export function createImagesProvider() {
67
98
  }
68
99
  }),
69
100
  'event-catalog': defineMcpResource({
70
- kind: 'static', name: 'event-catalog', uri: 'hile://images/events',
71
- title: '图片领域事件目录', mimeType: 'application/json', access: readAccess,
101
+ kind: 'static',
102
+ name: 'event-catalog',
103
+ uri: 'hile://images/events',
104
+ title: '图片领域事件目录',
105
+ mimeType: 'application/json',
106
+ access: readAccess,
72
107
  description: `当前图片服务实例提供 ${IMAGES_EVENT_CATALOG.count} 个领域事件契约;创建或修改消费服务前读取此目录。`,
73
108
  }, async (uri, context) => {
74
109
  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
- };
110
+ try {
111
+ const catalog = await images.readEventCatalog(microOptions(context));
112
+ return {
113
+ contents: [{
114
+ uri: uri.toString(),
115
+ mimeType: 'application/json',
116
+ text: JSON.stringify(catalog),
117
+ }],
118
+ };
119
+ }
120
+ catch (error) {
121
+ context.signal.throwIfAborted();
122
+ throw safeError(error);
123
+ }
82
124
  }),
83
125
  },
84
126
  });
@@ -86,26 +128,40 @@ export function createImagesProvider() {
86
128
  function assertAccess(context, scope) {
87
129
  context.signal.throwIfAborted();
88
130
  const scopes = context.principal?.scopes ?? [];
89
- if (!scopes.includes('*') && !scopes.includes(scope))
131
+ if (!scopes.includes('*') && !scopes.includes(scope)) {
90
132
  throw new ImageError('FORBIDDEN', '没有图片操作权限');
133
+ }
91
134
  }
92
135
  async function toolResult(context, scope, run) {
93
136
  assertAccess(context, scope);
94
137
  try {
95
- const result = await run(createInvocationContext(context.executionContext, context.signal));
96
- return { content: [{ type: 'text', text: JSON.stringify(result) }], structuredContent: result };
138
+ const result = await run();
139
+ return {
140
+ content: [{ type: 'text', text: JSON.stringify(result) }],
141
+ structuredContent: result,
142
+ };
97
143
  }
98
144
  catch (error) {
99
145
  context.signal.throwIfAborted();
100
146
  const safe = safeError(error);
101
- return { isError: true, content: [{ type: 'text', text: `${safe.code}: ${safe.message}` }] };
147
+ return {
148
+ isError: true,
149
+ content: [{ type: 'text', text: `${safe.code}: ${safe.message}` }],
150
+ };
102
151
  }
103
152
  }
153
+ function microOptions(context) {
154
+ return { context: context.executionContext, signal: context.signal };
155
+ }
104
156
  function safeError(error) {
105
157
  if (error instanceof ImageError)
106
158
  return error;
107
- if (error instanceof z.ZodError)
159
+ if (error instanceof ImagesOperationError) {
160
+ return new ImageError(error.code, error.message);
161
+ }
162
+ if (error instanceof z.ZodError) {
108
163
  return new ImageError('INVALID_INPUT', '图片请求参数无效');
164
+ }
109
165
  return new ImageError('UNAVAILABLE', '图片服务暂时不可用,请读取状态后重试');
110
166
  }
111
167
  //# sourceMappingURL=provider.js.map
@@ -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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"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("@hile/message-loader").MessageRegisterProps<unknown, import("@hile/micro").MicroMessageHandlerExtras>;
2
+ export default _default;
3
+ //# sourceMappingURL=delete.msg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.msg.d.ts","sourceRoot":"","sources":["../../../src/messages/images/delete.msg.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { defineMicroMessage } from '@hile/micro';
2
+ import { deleteImageSchema } from '@zlooks.cn/images-shared';
3
+ import deleteImageModel from '../../models/delete-image.model.js';
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
+ });
9
+ //# sourceMappingURL=delete.msg.js.map
@@ -0,0 +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"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("@hile/message-loader").MessageRegisterProps<unknown, import("@hile/micro").MicroMessageHandlerExtras>;
2
+ export default _default;
3
+ //# sourceMappingURL=events.msg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.msg.d.ts","sourceRoot":"","sources":["../../../src/messages/images/events.msg.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { defineMicroMessage } from '@hile/micro';
2
+ import { imageEmptyRequestSchema } from '@zlooks.cn/images-shared';
3
+ import readImageEventCatalogModel from '../../models/read-image-event-catalog.model.js';
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
+ });
9
+ //# sourceMappingURL=events.msg.js.map
@@ -0,0 +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"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("@hile/message-loader").MessageRegisterProps<unknown, import("@hile/micro").MicroMessageHandlerExtras>;
2
+ export default _default;
3
+ //# sourceMappingURL=list.msg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.msg.d.ts","sourceRoot":"","sources":["../../../src/messages/images/list.msg.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { defineMicroMessage } from '@hile/micro';
2
+ import { listImageSchema } from '@zlooks.cn/images-shared';
3
+ import listImageModel from '../../models/list-image.model.js';
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
+ });
9
+ //# sourceMappingURL=list.msg.js.map
@@ -0,0 +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"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("@hile/message-loader").MessageRegisterProps<unknown, import("@hile/micro").MicroMessageHandlerExtras>;
2
+ export default _default;
3
+ //# sourceMappingURL=read.msg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read.msg.d.ts","sourceRoot":"","sources":["../../../src/messages/images/read.msg.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { defineMicroMessage } from '@hile/micro';
2
+ import { readImageSchema } from '@zlooks.cn/images-shared';
3
+ import readImageModel from '../../models/read-image.model.js';
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
+ });
9
+ //# sourceMappingURL=read.msg.js.map
@@ -0,0 +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"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("@hile/message-loader").MessageRegisterProps<unknown, import("@hile/micro").MicroMessageHandlerExtras>;
2
+ export default _default;
3
+ //# sourceMappingURL=upload.msg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload.msg.d.ts","sourceRoot":"","sources":["../../../src/messages/images/upload.msg.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { defineMicroMessage } from '@hile/micro';
2
+ import { imageUploadCommandSchema } from '@zlooks.cn/images-shared';
3
+ import uploadImageModel from '../../models/upload-image.model.js';
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
+ });
9
+ //# sourceMappingURL=upload.msg.js.map
@@ -0,0 +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"}
@@ -0,0 +1,8 @@
1
+ import type { InvocationContext } from '@hile/context';
2
+ import { type ModelDefinition } from '@hile/model';
3
+ export declare function loadImageModel<TInput extends object, TOutput>(model: ModelDefinition<TInput, TOutput>, input: TInput, invocation: InvocationContext): Promise<TOutput | {
4
+ outcome: "error";
5
+ code: "HASH_CONFLICT" | "IDEMPOTENCY_CONFLICT" | "IMAGE_TOO_LARGE" | "INVALID_BASE64" | "INVALID_CURSOR" | "INVALID_IMAGE" | "INVALID_PATH" | "NOT_FOUND" | "STATE_CONFLICT" | "UPLOAD_NOT_READY";
6
+ message: string;
7
+ }>;
8
+ //# sourceMappingURL=model-message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-message.d.ts","sourceRoot":"","sources":["../../src/messages/model-message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAI9D,wBAAsB,cAAc,CAAC,MAAM,SAAS,MAAM,EAAE,OAAO,EACjE,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,iBAAiB;;;;GAY9B"}
@@ -0,0 +1,18 @@
1
+ import { loadModel } from '@hile/model';
2
+ import { imageOperationFailureSchema } from '@zlooks.cn/images-shared';
3
+ import { ImageError } from '../domain/image-error.js';
4
+ export async function loadImageModel(model, input, invocation) {
5
+ try {
6
+ return await loadModel(model, input, invocation);
7
+ }
8
+ catch (error) {
9
+ if (!(error instanceof ImageError))
10
+ throw error;
11
+ return imageOperationFailureSchema.parse({
12
+ outcome: 'error',
13
+ code: error.code,
14
+ message: error.message,
15
+ });
16
+ }
17
+ }
18
+ //# sourceMappingURL=model-message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-message.js","sourceRoot":"","sources":["../../src/messages/model-message.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAwB,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAuC,EACvC,KAAa,EACb,UAA6B;IAE7B,IAAI,CAAC;QACH,OAAO,MAAM,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC;YAAE,MAAM,KAAK,CAAC;QAChD,OAAO,2BAA2B,CAAC,KAAK,CAAC;YACvC,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -1,3 +1,5 @@
1
1
  import type { DatabaseMigration } from '@zlooks.cn/database-command';
2
+ import { type DataSource } from 'typeorm';
2
3
  export declare const imagesMigrations: readonly DatabaseMigration[];
4
+ export declare function prepareImagesSchema(dataSource: DataSource): Promise<void>;
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AA2CrE,eAAO,MAAM,gBAAgB,EAAE,SAAS,iBAAiB,EAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AA0C/D,eAAO,MAAM,gBAAgB,EAAE,SAAS,iBAAiB,EAA4B,CAAC;AAEtF,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAK/E"}
@@ -42,4 +42,10 @@ const backfillEventVersions = {
42
42
  },
43
43
  };
44
44
  export const imagesMigrations = [backfillEventVersions];
45
+ export async function prepareImagesSchema(dataSource) {
46
+ for (const migration of imagesMigrations) {
47
+ await migration.run(dataSource);
48
+ }
49
+ await dataSource.synchronize();
50
+ }
45
51
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAmB,MAAM,SAAS,CAAC;AAE/D,MAAM,qBAAqB,GAAsB;IAC/C,IAAI,EAAE,wCAAwC;IAC9C,KAAK,CAAC,GAAG,CAAC,UAAsB;QAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,iBAAiB,EAAE,CAAC;QAC9C,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBACjC,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAI,aAAa,GAAG,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACtD,IAAI,aAAa,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;gBAC/C,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBACjC,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,aAAa,GAAG,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxF,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAClD,CAAC;YACD,MAAM,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE;iBACtC,MAAM,CAAC,QAAQ,CAAC;iBAChB,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;iBACnB,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;iBAC5B,OAAO,EAAE,CAAC;YACb,MAAM,qBAAqB,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC;YACpD,qBAAqB,CAAC,UAAU,GAAG,KAAK,CAAC;YACzC,MAAM,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;YACtE,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAC;YACjC,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,MAAM,CAAC,mBAAmB;gBAAE,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;YACnE,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAiC,CAAC,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAmB,MAAM,SAAS,CAAC;AAE/D,MAAM,qBAAqB,GAAsB;IAC/C,IAAI,EAAE,wCAAwC;IAC9C,KAAK,CAAC,GAAG,CAAC,UAAsB;QAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,iBAAiB,EAAE,CAAC;QAC9C,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBACjC,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAI,aAAa,GAAG,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACtD,IAAI,aAAa,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;gBAC/C,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBACjC,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,aAAa,GAAG,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxF,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAClD,CAAC;YACD,MAAM,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE;iBACtC,MAAM,CAAC,QAAQ,CAAC;iBAChB,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;iBACnB,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;iBAC5B,OAAO,EAAE,CAAC;YACb,MAAM,qBAAqB,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC;YACpD,qBAAqB,CAAC,UAAU,GAAG,KAAK,CAAC;YACzC,MAAM,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;YACtE,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAC;YACjC,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,MAAM,CAAC,mBAAmB;gBAAE,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;YACnE,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAiC,CAAC,qBAAqB,CAAC,CAAC;AAEtF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,UAAsB;IAC9D,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;QACzC,MAAM,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC;AACjC,CAAC"}
@@ -6,31 +6,38 @@ import { imageProjection } from '../presentation/image-projection.js';
6
6
  import imagesRuntimeService from '../services/images-runtime.service.js';
7
7
  export default defineModel(async (input, invocation) => {
8
8
  invocation.signal.throwIfAborted();
9
- const request = deleteImageSchema.parse(input);
9
+ const command = deleteImageSchema.parse(input);
10
10
  const { store, storage, origin } = await loadService(imagesRuntimeService);
11
11
  invocation.signal.throwIfAborted();
12
- const row = await store.read(request.id);
13
- if (row.sha256 !== request.expectedSha256)
12
+ const row = await store.read(command.id);
13
+ if (row.sha256 !== command.expectedSha256) {
14
14
  throw new ImageError('HASH_CONFLICT', '图片摘要不匹配,删除未执行');
15
+ }
15
16
  if (row.status === 'deleted')
16
17
  return imageProjection(row, origin());
17
- if (row.status !== 'ready' && row.status !== 'deleting')
18
+ if (row.status !== 'ready' && row.status !== 'deleting') {
18
19
  throw new ImageError('STATE_CONFLICT', '当前图片不可删除');
20
+ }
19
21
  invocation.signal.throwIfAborted();
20
- if (row.status === 'ready' && !await store.compareAndSet(row.id, 'ready', { status: 'deleting' }, invocation.signal)) {
22
+ const acquiredDeletion = row.status === 'ready'
23
+ ? await store.compareAndSet(row.id, 'ready', { status: 'deleting' }, invocation.signal)
24
+ : true;
25
+ if (!acquiredDeletion) {
21
26
  const current = await store.read(row.id);
22
27
  if (current.status === 'deleted')
23
28
  return imageProjection(current, origin());
24
- if (current.status !== 'deleting')
29
+ if (current.status !== 'deleting') {
25
30
  throw new ImageError('STATE_CONFLICT', '图片状态已改变,请重新读取');
31
+ }
26
32
  }
27
33
  // Once origin reads are disabled, finish cleanup even if the caller disconnects.
28
34
  if (row.relativePath)
29
35
  await storage.remove(row.relativePath);
30
36
  await store.compareAndSet(row.id, 'deleting', { status: 'deleted', deletedAt: new Date() });
31
37
  const deleted = await store.read(row.id);
32
- if (deleted.status !== 'deleted')
38
+ if (deleted.status !== 'deleted') {
33
39
  throw new ImageError('STATE_CONFLICT', '图片状态已改变,请重新读取');
40
+ }
34
41
  return imageProjection(deleted, origin());
35
42
  });
36
43
  //# sourceMappingURL=delete-image.model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delete-image.model.js","sourceRoot":"","sources":["../../src/models/delete-image.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAyB,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAsB,MAAM,qCAAqC,CAAC;AAC1F,OAAO,oBAAoB,MAAM,uCAAuC,CAAC;AAEzE,eAAe,WAAW,CAAkC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;IACtF,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAC3E,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACzC,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,CAAC,cAAc;QAAE,MAAM,IAAI,UAAU,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAClG,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IACpE,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU;QAAE,MAAM,IAAI,UAAU,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IAC5G,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACrH,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5E,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU;YAAE,MAAM,IAAI,UAAU,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IAC7F,CAAC;IACD,iFAAiF;IACjF,IAAI,GAAG,CAAC,YAAY;QAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC7D,MAAM,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;IAC5F,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACzC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,MAAM,IAAI,UAAU,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IAC1F,OAAO,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"delete-image.model.js","sourceRoot":"","sources":["../../src/models/delete-image.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAyB,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAsB,MAAM,qCAAqC,CAAC;AAC1F,OAAO,oBAAoB,MAAM,uCAAuC,CAAC;AAEzE,eAAe,WAAW,CACxB,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;IAC1B,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAC3E,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACzC,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC;QAC1C,MAAM,IAAI,UAAU,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IACpE,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACxD,MAAM,IAAI,UAAU,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IACrD,CAAC;IACD,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,KAAK,OAAO;QAC7C,CAAC,CAAC,MAAM,KAAK,CAAC,aAAa,CACzB,GAAG,CAAC,EAAE,EACN,OAAO,EACP,EAAE,MAAM,EAAE,UAAU,EAAE,EACtB,UAAU,CAAC,MAAM,CAClB;QACD,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5E,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAClC,MAAM,IAAI,UAAU,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,iFAAiF;IACjF,IAAI,GAAG,CAAC,YAAY;QAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC7D,MAAM,KAAK,CAAC,aAAa,CACvB,GAAG,CAAC,EAAE,EACN,UAAU,EACV,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAC7C,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACzC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,UAAU,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;AAC5C,CAAC,CACF,CAAC"}
@@ -5,11 +5,14 @@ import { imageProjection } from '../presentation/image-projection.js';
5
5
  import imagesRuntimeService from '../services/images-runtime.service.js';
6
6
  export default defineModel(async (input, invocation) => {
7
7
  invocation.signal.throwIfAborted();
8
- const request = listImageSchema.parse(input);
8
+ const query = listImageSchema.parse(input);
9
9
  const { store, origin } = await loadService(imagesRuntimeService);
10
10
  invocation.signal.throwIfAborted();
11
- const result = await store.list(request);
11
+ const result = await store.list(query);
12
12
  invocation.signal.throwIfAborted();
13
- return { ...result, items: result.items.map((row) => imageProjection(row, origin())) };
13
+ return {
14
+ ...result,
15
+ items: result.items.map((row) => imageProjection(row, origin())),
16
+ };
14
17
  });
15
18
  //# sourceMappingURL=list-image.model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-image.model.js","sourceRoot":"","sources":["../../src/models/list-image.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAyB,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAkB,MAAM,qCAAqC,CAAC;AACtF,OAAO,oBAAoB,MAAM,uCAAuC,CAAC;AAEzE,eAAe,WAAW,CAA8B,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;IAClF,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAClE,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;AACzF,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"list-image.model.js","sourceRoot":"","sources":["../../src/models/list-image.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAuB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAkB,MAAM,qCAAqC,CAAC;AACtF,OAAO,oBAAoB,MAAM,uCAAuC,CAAC;AAEzE,eAAe,WAAW,CACxB,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;IAC1B,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAClE,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,OAAO;QACL,GAAG,MAAM;QACT,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;KACjE,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("@hile/model").ModelDefinition<Record<string, never>, import("@zlooks.cn/event-bus").EventCatalog>;
2
+ export default _default;
3
+ //# sourceMappingURL=read-image-event-catalog.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-image-event-catalog.model.d.ts","sourceRoot":"","sources":["../../src/models/read-image-event-catalog.model.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { defineModel } from '@hile/model';
2
+ import { IMAGES_EVENT_CATALOG } from '@zlooks.cn/images-shared';
3
+ export default defineModel(async (_input, invocation) => {
4
+ invocation.signal.throwIfAborted();
5
+ return IMAGES_EVENT_CATALOG;
6
+ });
7
+ //# sourceMappingURL=read-image-event-catalog.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-image-event-catalog.model.js","sourceRoot":"","sources":["../../src/models/read-image-event-catalog.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,eAAe,WAAW,CACxB,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE;IAC3B,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,OAAO,oBAAoB,CAAC;AAC9B,CAAC,CACF,CAAC"}
@@ -5,10 +5,10 @@ import { imageProjection } from '../presentation/image-projection.js';
5
5
  import imagesRuntimeService from '../services/images-runtime.service.js';
6
6
  export default defineModel(async (input, invocation) => {
7
7
  invocation.signal.throwIfAborted();
8
- const request = readImageSchema.parse(input);
8
+ const query = readImageSchema.parse(input);
9
9
  const { store, origin } = await loadService(imagesRuntimeService);
10
10
  invocation.signal.throwIfAborted();
11
- const row = await store.read(request.id);
11
+ const row = await store.read(query.id);
12
12
  invocation.signal.throwIfAborted();
13
13
  return imageProjection(row, origin());
14
14
  });
@@ -1 +1 @@
1
- {"version":3,"file":"read-image.model.js","sourceRoot":"","sources":["../../src/models/read-image.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAuB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAsB,MAAM,qCAAqC,CAAC;AAC1F,OAAO,oBAAoB,MAAM,uCAAuC,CAAC;AAEzE,eAAe,WAAW,CAAgC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;IACpF,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAClE,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACzC,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,OAAO,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"read-image.model.js","sourceRoot":"","sources":["../../src/models/read-image.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAuB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAsB,MAAM,qCAAqC,CAAC;AAC1F,OAAO,oBAAoB,MAAM,uCAAuC,CAAC;AAEzE,eAAe,WAAW,CACxB,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;IAC1B,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAClE,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvC,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACnC,OAAO,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;AACxC,CAAC,CACF,CAAC"}
@@ -1,7 +1,11 @@
1
- import { type UploadImageInput } from '../domain/schema.js';
2
1
  declare const _default: import("@hile/model").ModelDefinition<{
3
2
  actor: string;
4
- request: UploadImageInput;
3
+ upload: {
4
+ idempotencyKey: string;
5
+ filename?: string | undefined;
6
+ source: "base64";
7
+ base64: string;
8
+ };
5
9
  }, {
6
10
  id: string;
7
11
  originalFilename: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"upload-image.model.d.ts","sourceRoot":"","sources":["../../src/models/upload-image.model.ts"],"names":[],"mappings":"AAIA,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;;WAO3C,MAAM;aAAW,gBAAgB"}
1
+ {"version":3,"file":"upload-image.model.d.ts","sourceRoot":"","sources":["../../src/models/upload-image.model.ts"],"names":[],"mappings":""}