@zlooks.cn/images-server 1.0.3 → 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.
- package/dist/assets/read-image-asset.d.ts.map +1 -1
- package/dist/assets/read-image-asset.js +7 -2
- package/dist/assets/read-image-asset.js.map +1 -1
- package/dist/assets/response-policy.d.ts.map +1 -1
- package/dist/assets/response-policy.js +10 -4
- package/dist/assets/response-policy.js.map +1 -1
- package/dist/command/index.js +2 -5
- package/dist/command/index.js.map +1 -1
- package/dist/domain/image-error.d.ts +5 -2
- package/dist/domain/image-error.d.ts.map +1 -1
- package/dist/domain/image-error.js.map +1 -1
- package/dist/domain/output-schema.d.ts +1 -62
- package/dist/domain/output-schema.d.ts.map +1 -1
- package/dist/domain/output-schema.js +1 -24
- package/dist/domain/output-schema.js.map +1 -1
- package/dist/domain/schema.d.ts +1 -68
- package/dist/domain/schema.d.ts.map +1 -1
- package/dist/domain/schema.js +1 -43
- package/dist/domain/schema.js.map +1 -1
- package/dist/events/image-domain-events.d.ts +9 -8
- package/dist/events/image-domain-events.d.ts.map +1 -1
- package/dist/events/image-domain-events.js +2 -2
- package/dist/events/image-domain-events.js.map +1 -1
- package/dist/identity.d.ts +1 -1
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js +1 -1
- package/dist/identity.js.map +1 -1
- package/dist/mcp/provider.d.ts +2 -1
- package/dist/mcp/provider.d.ts.map +1 -1
- package/dist/mcp/provider.js +95 -51
- package/dist/mcp/provider.js.map +1 -1
- package/dist/messages/images/delete.msg.d.ts +52 -0
- package/dist/messages/images/delete.msg.d.ts.map +1 -0
- package/dist/messages/images/delete.msg.js +6 -0
- package/dist/messages/images/delete.msg.js.map +1 -0
- package/dist/messages/images/events.msg.d.ts +22 -0
- package/dist/messages/images/events.msg.d.ts.map +1 -0
- package/dist/messages/images/events.msg.js +6 -0
- package/dist/messages/images/events.msg.js.map +1 -0
- package/dist/messages/images/list.msg.d.ts +85 -0
- package/dist/messages/images/list.msg.d.ts.map +1 -0
- package/dist/messages/images/list.msg.js +6 -0
- package/dist/messages/images/list.msg.js.map +1 -0
- package/dist/messages/images/read.msg.d.ts +51 -0
- package/dist/messages/images/read.msg.d.ts.map +1 -0
- package/dist/messages/images/read.msg.js +6 -0
- package/dist/messages/images/read.msg.js.map +1 -0
- package/dist/messages/images/upload.msg.d.ts +57 -0
- package/dist/messages/images/upload.msg.d.ts.map +1 -0
- package/dist/messages/images/upload.msg.js +6 -0
- package/dist/messages/images/upload.msg.js.map +1 -0
- package/dist/messages/model-message.d.ts +8 -0
- package/dist/messages/model-message.d.ts.map +1 -0
- package/dist/messages/model-message.js +18 -0
- package/dist/messages/model-message.js.map +1 -0
- package/dist/migrations/index.d.ts +2 -0
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/migrations/index.js +6 -0
- package/dist/migrations/index.js.map +1 -1
- package/dist/models/delete-image.model.d.ts +1 -1
- package/dist/models/delete-image.model.js +14 -7
- package/dist/models/delete-image.model.js.map +1 -1
- package/dist/models/list-image.model.js +6 -3
- package/dist/models/list-image.model.js.map +1 -1
- package/dist/models/read-image-event-catalog.model.d.ts +3 -0
- package/dist/models/read-image-event-catalog.model.d.ts.map +1 -0
- package/dist/models/read-image-event-catalog.model.js +7 -0
- package/dist/models/read-image-event-catalog.model.js.map +1 -0
- package/dist/models/read-image.model.d.ts +1 -1
- package/dist/models/read-image.model.js +2 -2
- package/dist/models/read-image.model.js.map +1 -1
- package/dist/models/upload-image.model.d.ts +7 -3
- package/dist/models/upload-image.model.d.ts.map +1 -1
- package/dist/models/upload-image.model.js +8 -7
- package/dist/models/upload-image.model.js.map +1 -1
- package/dist/persistence/entities.d.ts +2 -1
- package/dist/persistence/entities.d.ts.map +1 -1
- package/dist/persistence/entities.js +85 -12
- package/dist/persistence/entities.js.map +1 -1
- package/dist/presentation/image-projection.d.ts +3 -17
- package/dist/presentation/image-projection.d.ts.map +1 -1
- package/dist/presentation/image-projection.js.map +1 -1
- package/dist/services/application.service.d.ts +6 -2
- package/dist/services/application.service.d.ts.map +1 -1
- package/dist/services/application.service.js +11 -4
- package/dist/services/application.service.js.map +1 -1
- package/dist/services/config.service.js +1 -1
- package/dist/services/config.service.js.map +1 -1
- package/dist/services/database.service.js +9 -1
- package/dist/services/database.service.js.map +1 -1
- package/dist/services/images-runtime.service.js +6 -2
- package/dist/services/images-runtime.service.js.map +1 -1
- package/dist/services/images.boot.js +3 -0
- package/dist/services/images.boot.js.map +1 -1
- package/dist/services/mcp-provider.service.js +3 -2
- package/dist/services/mcp-provider.service.js.map +1 -1
- package/dist/services/public-assets.service.js +5 -1
- package/dist/services/public-assets.service.js.map +1 -1
- package/dist/services/redis.service.js +12 -4
- package/dist/services/redis.service.js.map +1 -1
- package/dist/storage/local-storage.d.ts.map +1 -1
- package/dist/storage/local-storage.js +13 -5
- package/dist/storage/local-storage.js.map +1 -1
- package/package.json +21 -21
package/dist/mcp/provider.js
CHANGED
|
@@ -1,65 +1,84 @@
|
|
|
1
|
-
import {
|
|
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 { deleteImageSchema, IMAGES_EVENT_CATALOG, imageMetadataSchema, imagePageSchema, ImagesOperationError, listImageSchema, readImageSchema, uploadImageSchema, } 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';
|
|
9
|
-
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
6
|
const readAccess = { scopes: ['images:read'] };
|
|
15
7
|
const writeAccess = { scopes: ['images:write'] };
|
|
16
|
-
const readonlyHints = {
|
|
17
|
-
|
|
8
|
+
const readonlyHints = {
|
|
9
|
+
readOnlyHint: true,
|
|
10
|
+
idempotentHint: true,
|
|
11
|
+
destructiveHint: false,
|
|
12
|
+
};
|
|
13
|
+
export function createImagesProvider(images) {
|
|
18
14
|
return defineMcpProvider({
|
|
19
15
|
id: IMAGES_ID,
|
|
20
16
|
displayName: '图片存储',
|
|
21
17
|
tools: {
|
|
22
18
|
'upload-image': defineMcpTool({
|
|
23
|
-
name: 'upload-image',
|
|
24
|
-
|
|
19
|
+
name: 'upload-image',
|
|
20
|
+
title: '上传图片',
|
|
21
|
+
inputSchema: uploadImageSchema,
|
|
22
|
+
outputSchema: imageMetadataSchema,
|
|
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 不会复活。文件名仅用于搜索,不能指定存储路径。',
|
|
25
24
|
access: writeAccess,
|
|
26
|
-
annotations: {
|
|
25
|
+
annotations: {
|
|
26
|
+
readOnlyHint: false,
|
|
27
|
+
idempotentHint: true,
|
|
28
|
+
destructiveHint: false,
|
|
29
|
+
},
|
|
27
30
|
execution: { timeoutMs: 60_000, retry: 'never' },
|
|
28
|
-
}, (input, context) => toolResult(context, 'images:write', async (
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
+
}, (input, context) => toolResult(context, 'images:write', async () => {
|
|
32
|
+
const identity = context.principal?.clientId ?? context.principal?.subject;
|
|
33
|
+
const actor = z.string().min(1).max(128).parse(identity);
|
|
34
|
+
return images.upload({ actor, upload: input }, microOptions(context));
|
|
31
35
|
})),
|
|
32
36
|
'list-image': defineMcpTool({
|
|
33
|
-
name: 'list-image',
|
|
37
|
+
name: 'list-image',
|
|
38
|
+
title: '查询图片',
|
|
39
|
+
inputSchema: listImageSchema,
|
|
40
|
+
outputSchema: imagePageSchema,
|
|
34
41
|
description: '按创建时间、格式、文件名、字节数、宽高、状态、上传者及 SHA-256 组合查询;不同条件 AND,集合内部 OR。时间范围左闭右开,默认创建时间倒序;每页默认 20、最多 100 条。将返回的 nextCursor 作为 cursor 查询下一页,保持筛选条件及排序;hasMore=false 时停止。默认不返回 deleted,不提供 total;空结果不是错误。分页不是跨请求快照,INVALID_CURSOR 时检查条件,变更条件需从第一页重新查询。',
|
|
35
|
-
access: readAccess,
|
|
42
|
+
access: readAccess,
|
|
43
|
+
annotations: readonlyHints,
|
|
36
44
|
execution: { timeoutMs: 10_000, retry: 'idempotent-failover' },
|
|
37
|
-
}, (input, context) => toolResult(context, 'images:read', (
|
|
38
|
-
'read-image': defineMcpTool({
|
|
39
|
-
name: 'read-image', title: '读取图片元数据', inputSchema: readImageSchema, outputSchema: imageMetadataSchema,
|
|
40
|
-
description: '按图片 ID 读取元数据、当前状态和公开原图地址。不会返回图片二进制或本地路径;只有 ready 状态有公开 URL。可用于检查上传结果,或在删除前确认 SHA-256 与目标图片。',
|
|
41
|
-
access: readAccess, annotations: readonlyHints,
|
|
42
|
-
execution: { timeoutMs: 10_000, retry: 'idempotent-failover' },
|
|
43
|
-
}, (input, context) => toolResult(context, 'images:read', (invocation) => loadModel(readImageModel, readImageSchema.parse(input), invocation))),
|
|
45
|
+
}, (input, context) => toolResult(context, 'images:read', () => (images.list(input, microOptions(context))))),
|
|
44
46
|
'delete-image': defineMcpTool({
|
|
45
|
-
name: 'delete-image',
|
|
46
|
-
|
|
47
|
+
name: 'delete-image',
|
|
48
|
+
title: '删除图片',
|
|
49
|
+
inputSchema: deleteImageSchema,
|
|
50
|
+
outputSchema: imageMetadataSchema,
|
|
51
|
+
description: '永久删除本地原图并禁用新的源站读取。先读取 images://image/{id} Resource 核对目标并向用户确认,再提交 id 和 expectedSha256,无需删除幂等键。只允许 ready、deleting 或已 deleted 的记录;HASH_CONFLICT 或 STATE_CONFLICT 时重新读取,不能猜测摘要重试。清理失败或响应丢失后用原 ID 与摘要重试;并发和重复删除安全,成功返回 deleted 元数据且保留首次 deletedAt。此操作不能撤销,也无法清除浏览器或第三方已缓存的副本。',
|
|
47
52
|
access: writeAccess,
|
|
48
|
-
annotations: {
|
|
53
|
+
annotations: {
|
|
54
|
+
readOnlyHint: false,
|
|
55
|
+
idempotentHint: true,
|
|
56
|
+
destructiveHint: true,
|
|
57
|
+
},
|
|
49
58
|
execution: { timeoutMs: 15_000, retry: 'never' },
|
|
50
|
-
}, (input, context) => toolResult(context, 'images:write', (
|
|
59
|
+
}, (input, context) => toolResult(context, 'images:write', () => (images.delete(input, microOptions(context))))),
|
|
51
60
|
},
|
|
52
61
|
resources: {
|
|
53
62
|
image: defineMcpResource({
|
|
54
|
-
kind: 'template',
|
|
55
|
-
|
|
56
|
-
|
|
63
|
+
kind: 'template',
|
|
64
|
+
name: 'image',
|
|
65
|
+
uriTemplate: 'images://image/{id}',
|
|
66
|
+
title: '图片元数据',
|
|
67
|
+
mimeType: 'application/json',
|
|
68
|
+
access: readAccess,
|
|
69
|
+
description: '由应用按图片 UUID 读取 JSON 元数据。包含状态、原始文件名、媒体属性、SHA-256、创建者和时间;只有 ready 返回公开 URL。不返回图片二进制、Base64、本地路径或上传幂等键,也不触发上传、删除或恢复。图片展示使用返回的公开 URL;需要 images:read 权限。',
|
|
57
70
|
}, async (variables, context) => {
|
|
58
71
|
assertAccess(context, 'images:read');
|
|
59
72
|
try {
|
|
60
|
-
const
|
|
61
|
-
const result = await
|
|
62
|
-
return {
|
|
73
|
+
const query = readImageSchema.parse({ id: variables.id });
|
|
74
|
+
const result = await images.read(query, microOptions(context));
|
|
75
|
+
return {
|
|
76
|
+
contents: [{
|
|
77
|
+
uri: `images://image/${query.id}`,
|
|
78
|
+
mimeType: 'application/json',
|
|
79
|
+
text: JSON.stringify(result),
|
|
80
|
+
}],
|
|
81
|
+
};
|
|
63
82
|
}
|
|
64
83
|
catch (error) {
|
|
65
84
|
context.signal.throwIfAborted();
|
|
@@ -67,18 +86,29 @@ export function createImagesProvider() {
|
|
|
67
86
|
}
|
|
68
87
|
}),
|
|
69
88
|
'event-catalog': defineMcpResource({
|
|
70
|
-
kind: 'static',
|
|
71
|
-
|
|
89
|
+
kind: 'static',
|
|
90
|
+
name: 'event-catalog',
|
|
91
|
+
uri: 'hile://images/events',
|
|
92
|
+
title: '图片领域事件目录',
|
|
93
|
+
mimeType: 'application/json',
|
|
94
|
+
access: readAccess,
|
|
72
95
|
description: `当前图片服务实例提供 ${IMAGES_EVENT_CATALOG.count} 个领域事件契约;创建或修改消费服务前读取此目录。`,
|
|
73
96
|
}, async (uri, context) => {
|
|
74
97
|
assertAccess(context, 'images:read');
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
98
|
+
try {
|
|
99
|
+
const catalog = await images.readEventCatalog(microOptions(context));
|
|
100
|
+
return {
|
|
101
|
+
contents: [{
|
|
102
|
+
uri: uri.toString(),
|
|
103
|
+
mimeType: 'application/json',
|
|
104
|
+
text: JSON.stringify(catalog),
|
|
105
|
+
}],
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
context.signal.throwIfAborted();
|
|
110
|
+
throw safeError(error);
|
|
111
|
+
}
|
|
82
112
|
}),
|
|
83
113
|
},
|
|
84
114
|
});
|
|
@@ -86,26 +116,40 @@ export function createImagesProvider() {
|
|
|
86
116
|
function assertAccess(context, scope) {
|
|
87
117
|
context.signal.throwIfAborted();
|
|
88
118
|
const scopes = context.principal?.scopes ?? [];
|
|
89
|
-
if (!scopes.includes('*') && !scopes.includes(scope))
|
|
119
|
+
if (!scopes.includes('*') && !scopes.includes(scope)) {
|
|
90
120
|
throw new ImageError('FORBIDDEN', '没有图片操作权限');
|
|
121
|
+
}
|
|
91
122
|
}
|
|
92
123
|
async function toolResult(context, scope, run) {
|
|
93
124
|
assertAccess(context, scope);
|
|
94
125
|
try {
|
|
95
|
-
const result = await run(
|
|
96
|
-
return {
|
|
126
|
+
const result = await run();
|
|
127
|
+
return {
|
|
128
|
+
content: [{ type: 'text', text: JSON.stringify(result) }],
|
|
129
|
+
structuredContent: result,
|
|
130
|
+
};
|
|
97
131
|
}
|
|
98
132
|
catch (error) {
|
|
99
133
|
context.signal.throwIfAborted();
|
|
100
134
|
const safe = safeError(error);
|
|
101
|
-
return {
|
|
135
|
+
return {
|
|
136
|
+
isError: true,
|
|
137
|
+
content: [{ type: 'text', text: `${safe.code}: ${safe.message}` }],
|
|
138
|
+
};
|
|
102
139
|
}
|
|
103
140
|
}
|
|
141
|
+
function microOptions(context) {
|
|
142
|
+
return { context: context.executionContext, signal: context.signal };
|
|
143
|
+
}
|
|
104
144
|
function safeError(error) {
|
|
105
145
|
if (error instanceof ImageError)
|
|
106
146
|
return error;
|
|
107
|
-
if (error instanceof
|
|
147
|
+
if (error instanceof ImagesOperationError) {
|
|
148
|
+
return new ImageError(error.code, error.message);
|
|
149
|
+
}
|
|
150
|
+
if (error instanceof z.ZodError) {
|
|
108
151
|
return new ImageError('INVALID_INPUT', '图片请求参数无效');
|
|
152
|
+
}
|
|
109
153
|
return new ImageError('UNAVAILABLE', '图片服务暂时不可用,请读取状态后重试');
|
|
110
154
|
}
|
|
111
155
|
//# sourceMappingURL=provider.js.map
|
package/dist/mcp/provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/mcp/provider.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/mcp/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
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
|
+
}>;
|
|
51
|
+
export default _default;
|
|
52
|
+
//# 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,6 @@
|
|
|
1
|
+
import { defineMicroMessage } from '@hile/micro';
|
|
2
|
+
import { imagesMicroContract } 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(imagesMicroContract.operations.delete, ({ data, invocation }) => loadImageModel(deleteImageModel, data, invocation));
|
|
6
|
+
//# 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,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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
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
|
+
}>;
|
|
21
|
+
export default _default;
|
|
22
|
+
//# 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,6 @@
|
|
|
1
|
+
import { defineMicroMessage } from '@hile/micro';
|
|
2
|
+
import { imagesMicroContract } 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(imagesMicroContract.operations.readEventCatalog, ({ data, invocation }) => loadImageModel(readImageEventCatalogModel, data, invocation));
|
|
6
|
+
//# 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,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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
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
|
+
}>;
|
|
84
|
+
export default _default;
|
|
85
|
+
//# 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,6 @@
|
|
|
1
|
+
import { defineMicroMessage } from '@hile/micro';
|
|
2
|
+
import { imagesMicroContract } 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(imagesMicroContract.operations.list, ({ data, invocation }) => loadImageModel(listImageModel, data, invocation));
|
|
6
|
+
//# 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,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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
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
|
+
}>;
|
|
50
|
+
export default _default;
|
|
51
|
+
//# 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,6 @@
|
|
|
1
|
+
import { defineMicroMessage } from '@hile/micro';
|
|
2
|
+
import { imagesMicroContract } 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(imagesMicroContract.operations.read, ({ data, invocation }) => loadImageModel(readImageModel, data, invocation));
|
|
6
|
+
//# 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,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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
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
|
+
}>;
|
|
56
|
+
export default _default;
|
|
57
|
+
//# 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,6 @@
|
|
|
1
|
+
import { defineMicroMessage } from '@hile/micro';
|
|
2
|
+
import { imagesMicroContract } 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(imagesMicroContract.operations.upload, ({ data, invocation }) => loadImageModel(uploadImageModel, data, invocation));
|
|
6
|
+
//# 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,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"}
|
|
@@ -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"}
|