qlogicagent 2.10.50 → 2.11.1
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/cli.js +321 -362
- package/dist/index.js +321 -362
- package/dist/pet-contracts.js +1 -1
- package/dist/protocol.js +1 -1
- package/dist/types/cli/acp-commands.d.ts +32 -0
- package/dist/types/cli/acp-session-handlers.d.ts +36 -25
- package/dist/types/cli/acp-session-host.d.ts +24 -0
- package/dist/types/cli/handlers/memory-handler.d.ts +10 -1
- package/dist/types/cli/handlers/pet-handler.d.ts +5 -11
- package/dist/types/cli/media-runtime-facade.d.ts +9 -1
- package/dist/types/cli/memory-candidate-service.d.ts +10 -1
- package/dist/types/cli/pet-runtime.d.ts +28 -6
- package/dist/types/cli/provider-core-facade.d.ts +3 -0
- package/dist/types/pet-contracts.d.ts +1 -1
- package/dist/types/protocol/methods.d.ts +1 -38
- package/dist/types/protocol/wire/acp-protocol.d.ts +64 -162
- package/dist/types/protocol/wire/agent-events.d.ts +2 -2
- package/dist/types/protocol/wire/agent-methods.d.ts +1 -30
- package/dist/types/protocol/wire/agent-rpc.d.ts +0 -15
- package/dist/types/protocol/wire/chat-types.d.ts +3 -3
- package/dist/types/protocol/wire/gateway-rpc.d.ts +30 -0
- package/dist/types/protocol/wire/index.d.ts +3 -3
- package/dist/types/protocol/wire/notification-payloads.d.ts +39 -5
- package/dist/types/protocol/wire/pet-contracts.d.ts +75 -2
- package/dist/types/protocol/wire/thread-protocol.d.ts +0 -12
- package/dist/types/runtime/infra/acp-detector.d.ts +5 -0
- package/dist/types/runtime/infra/acp-host-handler.d.ts +23 -0
- package/dist/types/runtime/pet/index.d.ts +4 -4
- package/dist/types/runtime/pet/pet-file-loader.d.ts +4 -61
- package/dist/types/runtime/pet/pet-profile-service.d.ts +51 -10
- package/dist/types/runtime/pet/petdex-asset.d.ts +138 -0
- package/dist/types/runtime/pet/petdex-forge-service.d.ts +110 -0
- package/dist/types/runtime/ports/memory-provider.d.ts +35 -0
- package/dist/types/skills/memory/local-memory-provider.d.ts +25 -0
- package/dist/types/skills/memory/local-store.d.ts +48 -0
- package/dist/types/skills/memory/memory-attachment-store.d.ts +62 -0
- package/dist/types/skills/memory/memory-consolidation.d.ts +2 -0
- package/dist/types/skills/memory/memory-db-path.d.ts +6 -0
- package/dist/types/skills/memory/sqlite-memory-schema.d.ts +1 -1
- package/dist/types/skills/tools/petdex-create-tool.d.ts +61 -0
- package/dist/types/transport/acp-server.d.ts +26 -8
- package/package.json +4 -2
- package/dist/types/runtime/pet/pet-consistency.d.ts +0 -79
- package/dist/types/runtime/pet/pet-skeleton.d.ts +0 -70
|
@@ -3,10 +3,11 @@ export declare const ACP_METHODS: {
|
|
|
3
3
|
readonly INITIALIZE: "initialize";
|
|
4
4
|
readonly SESSION_NEW: "session/new";
|
|
5
5
|
readonly SESSION_PROMPT: "session/prompt";
|
|
6
|
-
readonly
|
|
6
|
+
readonly SESSION_CLOSE: "session/close";
|
|
7
7
|
readonly SESSION_SET_CONFIG: "session/set_config_option";
|
|
8
8
|
readonly SESSION_SET_MODEL: "session/set_model";
|
|
9
9
|
readonly SESSION_SET_MODE: "session/set_mode";
|
|
10
|
+
readonly SESSION_LOAD: "session/load";
|
|
10
11
|
readonly SESSION_CANCEL: "session/cancel";
|
|
11
12
|
readonly SESSION_UPDATE: "session/update";
|
|
12
13
|
readonly SESSION_REQUEST_PERMISSION: "session/request_permission";
|
|
@@ -38,25 +39,43 @@ export declare const ACP_EXTENDED_METHODS: {
|
|
|
38
39
|
readonly TEAM_DELEGATE: "x/team.delegate";
|
|
39
40
|
};
|
|
40
41
|
export type AcpExtendedMethod = (typeof ACP_EXTENDED_METHODS)[keyof typeof ACP_EXTENDED_METHODS];
|
|
42
|
+
/** qlogicagent 专属扩展套件的协商开关(host 与 agent 双向声明)。存在即启用扩展。 */
|
|
43
|
+
export interface AcpQlogicagentCapability {
|
|
44
|
+
/** Extension protocol version, fixed at 1 this round. */
|
|
45
|
+
version: number;
|
|
46
|
+
/** x_* session/update extended events (x_session_info / x_relay / x_skill_instruction). */
|
|
47
|
+
events?: boolean;
|
|
48
|
+
/** x/* extended RPC methods (x/solo.* / x/product.* / x/team.* etc). */
|
|
49
|
+
methods?: boolean;
|
|
50
|
+
/** Multi-agent orchestration (solo / product / team). */
|
|
51
|
+
orchestration?: boolean;
|
|
52
|
+
/** Config options (agent side only). */
|
|
53
|
+
configOptions?: AcpConfigOptionDescriptor[];
|
|
54
|
+
}
|
|
55
|
+
/** Host (openclaw / AionUI) capabilities declared at initialize. */
|
|
41
56
|
export interface AcpHostCapabilities {
|
|
42
|
-
/**
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
57
|
+
/** Standard ACP (server does not consume this round; typed to match real hosts). */
|
|
58
|
+
fs?: {
|
|
59
|
+
readTextFile?: boolean;
|
|
60
|
+
writeTextFile?: boolean;
|
|
61
|
+
};
|
|
62
|
+
/** Standard ACP (same as above). */
|
|
63
|
+
terminal?: boolean;
|
|
64
|
+
/** Extension master switch. */
|
|
65
|
+
qlogicagent?: AcpQlogicagentCapability;
|
|
50
66
|
}
|
|
67
|
+
/** Agent capabilities declared in the initialize response. */
|
|
51
68
|
export interface AcpAgentCapabilities {
|
|
52
|
-
/**
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
|
|
69
|
+
/** Standard (agent-process reads it; implemented in subproject 2). */
|
|
70
|
+
loadSession?: boolean;
|
|
71
|
+
/** Standard (used when reading third-party agents like copilot). */
|
|
72
|
+
promptCapabilities?: Record<string, unknown>;
|
|
73
|
+
/** Standard (same as above). */
|
|
74
|
+
mcpCapabilities?: Record<string, unknown>;
|
|
75
|
+
/** Standard (same as above). */
|
|
76
|
+
sessionCapabilities?: Record<string, unknown>;
|
|
77
|
+
/** Extension master switch. */
|
|
78
|
+
qlogicagent?: AcpQlogicagentCapability;
|
|
60
79
|
}
|
|
61
80
|
export interface AcpConfigOptionDescriptor {
|
|
62
81
|
name: string;
|
|
@@ -112,8 +131,26 @@ export interface AcpSessionNewParams {
|
|
|
112
131
|
/** Per-session context supplement (no standard ACP home). Inherited by every session/prompt. */
|
|
113
132
|
_meta?: AcpSessionMeta;
|
|
114
133
|
}
|
|
134
|
+
export interface AcpSessionLoadParams {
|
|
135
|
+
sessionId: string;
|
|
136
|
+
/** Working directory for the resumed session (standard ACP field). */
|
|
137
|
+
cwd?: string;
|
|
138
|
+
}
|
|
139
|
+
/** A selectable permission mode advertised to the host (standard ACP). */
|
|
140
|
+
export interface AcpMode {
|
|
141
|
+
id: string;
|
|
142
|
+
name: string;
|
|
143
|
+
description?: string;
|
|
144
|
+
}
|
|
145
|
+
/** Current mode + the full set the host may switch between (standard ACP). */
|
|
146
|
+
export interface AcpSessionModeState {
|
|
147
|
+
currentModeId: string;
|
|
148
|
+
availableModes: AcpMode[];
|
|
149
|
+
}
|
|
115
150
|
export interface AcpSessionNewResult {
|
|
116
151
|
sessionId: string;
|
|
152
|
+
/** Permission modes the host may switch between (standard ACP). */
|
|
153
|
+
modes?: AcpSessionModeState;
|
|
117
154
|
}
|
|
118
155
|
export interface AcpSessionPromptParams {
|
|
119
156
|
sessionId: string;
|
|
@@ -122,27 +159,13 @@ export interface AcpSessionPromptParams {
|
|
|
122
159
|
/** Per-turn context overrides (assistantId/permissions/reasoning/mcpServers/...), merged over session _meta. */
|
|
123
160
|
_meta?: AcpSessionMeta;
|
|
124
161
|
}
|
|
125
|
-
export interface AcpTurnError {
|
|
126
|
-
message: string;
|
|
127
|
-
code?: string;
|
|
128
|
-
recoverable?: boolean;
|
|
129
|
-
}
|
|
130
162
|
export interface AcpSessionPromptResult {
|
|
131
163
|
/** Stop reason (required by ACP standard). */
|
|
132
164
|
stopReason: AcpStopReason;
|
|
133
|
-
/** Token usage for this turn */
|
|
165
|
+
/** Token usage for this turn. */
|
|
134
166
|
usage?: AcpUsage;
|
|
135
|
-
/** Final assistant content (internal, used for history tracking). */
|
|
136
|
-
content?: string;
|
|
137
|
-
/** Turn error surfaced in-band (turn.error notification is still emitted for streaming UI). */
|
|
138
|
-
error?: AcpTurnError;
|
|
139
|
-
/** Agent-resolved project id for this turn (authoritative; e.g. group-session routing). */
|
|
140
|
-
projectId?: string;
|
|
141
|
-
/** Resolved model/provider that ran the turn. */
|
|
142
|
-
model?: string;
|
|
143
|
-
provider?: string;
|
|
144
167
|
}
|
|
145
|
-
export interface
|
|
168
|
+
export interface AcpSessionCloseParams {
|
|
146
169
|
sessionId: string;
|
|
147
170
|
}
|
|
148
171
|
export interface AcpSessionCancelParams {
|
|
@@ -188,6 +211,7 @@ export interface AcpSessionUpdateNotification {
|
|
|
188
211
|
};
|
|
189
212
|
}
|
|
190
213
|
export declare const ACP_SESSION_UPDATE_TYPES: {
|
|
214
|
+
readonly USER_MESSAGE_CHUNK: "user_message_chunk";
|
|
191
215
|
readonly AGENT_MESSAGE_CHUNK: "agent_message_chunk";
|
|
192
216
|
readonly AGENT_THOUGHT_CHUNK: "agent_thought_chunk";
|
|
193
217
|
readonly TOOL_CALL: "tool_call";
|
|
@@ -197,29 +221,12 @@ export declare const ACP_SESSION_UPDATE_TYPES: {
|
|
|
197
221
|
readonly CONFIG_OPTION_UPDATE: "config_option_update";
|
|
198
222
|
readonly SESSION_INFO_UPDATE: "session_info_update";
|
|
199
223
|
readonly AVAILABLE_COMMANDS_UPDATE: "available_commands_update";
|
|
224
|
+
readonly CURRENT_MODE_UPDATE: "current_mode_update";
|
|
200
225
|
};
|
|
201
226
|
export type AcpStandardSessionUpdateType = (typeof ACP_SESSION_UPDATE_TYPES)[keyof typeof ACP_SESSION_UPDATE_TYPES];
|
|
202
227
|
export declare const ACP_EXTENDED_SESSION_UPDATE_TYPES: {
|
|
203
|
-
readonly X_SUBAGENT_STARTED: "x_subagent_started";
|
|
204
|
-
readonly X_SUBAGENT_DELTA: "x_subagent_delta";
|
|
205
|
-
readonly X_SUBAGENT_ENDED: "x_subagent_ended";
|
|
206
|
-
readonly X_MEDIA_RESULT: "x_media_result";
|
|
207
|
-
readonly X_MEDIA_PROGRESS: "x_media_progress";
|
|
208
228
|
readonly X_SKILL_INSTRUCTION: "x_skill_instruction";
|
|
209
|
-
readonly X_RECOVERY: "x_recovery";
|
|
210
|
-
readonly X_SIDECHAIN_STARTED: "x_sidechain_started";
|
|
211
|
-
readonly X_SIDECHAIN_COMPLETED: "x_sidechain_completed";
|
|
212
|
-
readonly X_SUGGESTIONS: "x_suggestions";
|
|
213
|
-
readonly X_ASK_USER: "x_ask_user";
|
|
214
229
|
readonly X_SESSION_INFO: "x_session_info";
|
|
215
|
-
readonly X_MEMORY_UPDATED: "x_memory_updated";
|
|
216
|
-
readonly X_TEAM_MEMBER_UPDATE: "x_team_member_update";
|
|
217
|
-
readonly X_SOLO_STARTED: "x_solo_started";
|
|
218
|
-
readonly X_SOLO_AGENT_FINISHED: "x_solo_agent_finished";
|
|
219
|
-
readonly X_SOLO_SELECTED: "x_solo_selected";
|
|
220
|
-
readonly X_PRODUCT_TASK_STARTED: "x_product_task_started";
|
|
221
|
-
readonly X_PRODUCT_TASK_COMPLETED: "x_product_task_completed";
|
|
222
|
-
readonly X_PRODUCT_CHECKPOINT: "x_product_checkpoint";
|
|
223
230
|
/** Generic passthrough for turn-scoped events with no specific ACP mapping (lossless relay). */
|
|
224
231
|
readonly X_RELAY: "x_relay";
|
|
225
232
|
};
|
|
@@ -265,71 +272,10 @@ export interface AcpEndTurnPayload {
|
|
|
265
272
|
stopReason: AcpStopReason;
|
|
266
273
|
usage?: AcpUsage;
|
|
267
274
|
}
|
|
268
|
-
export interface AcpAvailableCommandsUpdatePayload {
|
|
269
|
-
commands: Array<{
|
|
270
|
-
name: string;
|
|
271
|
-
description?: string;
|
|
272
|
-
}>;
|
|
273
|
-
}
|
|
274
|
-
export interface AcpXSubagentStartedPayload {
|
|
275
|
-
agentId: string;
|
|
276
|
-
agentName: string;
|
|
277
|
-
task?: string;
|
|
278
|
-
}
|
|
279
|
-
export interface AcpXSubagentDeltaPayload {
|
|
280
|
-
agentId: string;
|
|
281
|
-
text?: string;
|
|
282
|
-
toolCall?: {
|
|
283
|
-
callId: string;
|
|
284
|
-
toolName: string;
|
|
285
|
-
arguments: string;
|
|
286
|
-
};
|
|
287
|
-
toolResult?: {
|
|
288
|
-
callId: string;
|
|
289
|
-
result: string;
|
|
290
|
-
status: "completed" | "failed";
|
|
291
|
-
};
|
|
292
|
-
}
|
|
293
|
-
export interface AcpXSubagentEndedPayload {
|
|
294
|
-
agentId: string;
|
|
295
|
-
result?: string;
|
|
296
|
-
usage?: AcpUsage;
|
|
297
|
-
}
|
|
298
|
-
export interface AcpXMediaResultPayload {
|
|
299
|
-
mediaId: string;
|
|
300
|
-
type: "image" | "video" | "audio";
|
|
301
|
-
url: string;
|
|
302
|
-
metadata?: Record<string, unknown>;
|
|
303
|
-
}
|
|
304
|
-
export interface AcpXMediaProgressPayload {
|
|
305
|
-
mediaId: string;
|
|
306
|
-
progress: number;
|
|
307
|
-
stage?: string;
|
|
308
|
-
}
|
|
309
275
|
export interface AcpXSkillInstructionPayload {
|
|
310
276
|
skillId: string;
|
|
311
277
|
instruction: string;
|
|
312
278
|
}
|
|
313
|
-
export interface AcpXRecoveryPayload {
|
|
314
|
-
errorType: string;
|
|
315
|
-
message: string;
|
|
316
|
-
action: "retry" | "skip" | "fallback";
|
|
317
|
-
}
|
|
318
|
-
export interface AcpXSidechainStartedPayload {
|
|
319
|
-
chainId: string;
|
|
320
|
-
purpose: string;
|
|
321
|
-
}
|
|
322
|
-
export interface AcpXSidechainCompletedPayload {
|
|
323
|
-
chainId: string;
|
|
324
|
-
result?: string;
|
|
325
|
-
}
|
|
326
|
-
export interface AcpXSuggestionsPayload {
|
|
327
|
-
suggestions: string[];
|
|
328
|
-
}
|
|
329
|
-
export interface AcpXAskUserPayload {
|
|
330
|
-
question: string;
|
|
331
|
-
options?: string[];
|
|
332
|
-
}
|
|
333
279
|
export interface AcpXSessionInfoPayload {
|
|
334
280
|
sessionId: string;
|
|
335
281
|
projectId?: string;
|
|
@@ -337,65 +283,21 @@ export interface AcpXSessionInfoPayload {
|
|
|
337
283
|
model?: string;
|
|
338
284
|
metadata?: Record<string, unknown>;
|
|
339
285
|
}
|
|
340
|
-
export interface AcpXMemoryUpdatedPayload {
|
|
341
|
-
memoryId: string;
|
|
342
|
-
action: "created" | "updated" | "deleted";
|
|
343
|
-
summary?: string;
|
|
344
|
-
}
|
|
345
|
-
export interface AcpXTeamMemberUpdatePayload {
|
|
346
|
-
memberId: string;
|
|
347
|
-
/** The original ACP session/update from the external agent */
|
|
348
|
-
type: AcpSessionUpdateType;
|
|
349
|
-
payload: Record<string, unknown>;
|
|
350
|
-
}
|
|
351
|
-
export interface AcpXSoloStartedPayload {
|
|
352
|
-
evaluationId: string;
|
|
353
|
-
agents: string[];
|
|
354
|
-
task: string;
|
|
355
|
-
}
|
|
356
|
-
export interface AcpXSoloAgentFinishedPayload {
|
|
357
|
-
evaluationId: string;
|
|
358
|
-
agentId: string;
|
|
359
|
-
result?: string;
|
|
360
|
-
usage?: AcpUsage;
|
|
361
|
-
}
|
|
362
|
-
export interface AcpXSoloSelectedPayload {
|
|
363
|
-
evaluationId: string;
|
|
364
|
-
winnerId: string;
|
|
365
|
-
reason?: string;
|
|
366
|
-
}
|
|
367
|
-
export interface AcpXProductTaskStartedPayload {
|
|
368
|
-
workflowId: string;
|
|
369
|
-
taskId: string;
|
|
370
|
-
agentId: string;
|
|
371
|
-
description?: string;
|
|
372
|
-
}
|
|
373
|
-
export interface AcpXProductTaskCompletedPayload {
|
|
374
|
-
workflowId: string;
|
|
375
|
-
taskId: string;
|
|
376
|
-
agentId: string;
|
|
377
|
-
result?: string;
|
|
378
|
-
status: "completed" | "failed";
|
|
379
|
-
}
|
|
380
|
-
export interface AcpXProductCheckpointPayload {
|
|
381
|
-
workflowId: string;
|
|
382
|
-
checkpointId: string;
|
|
383
|
-
completedTasks: string[];
|
|
384
|
-
}
|
|
385
286
|
export interface AcpPermissionRequestParams {
|
|
386
287
|
sessionId: string;
|
|
387
288
|
permissionId: string;
|
|
388
289
|
toolCall: {
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
290
|
+
toolCallId: string;
|
|
291
|
+
title: string;
|
|
292
|
+
rawInput: Record<string, unknown>;
|
|
392
293
|
};
|
|
393
294
|
message?: string;
|
|
394
295
|
options: AcpPermissionOption[];
|
|
395
296
|
}
|
|
396
297
|
export interface AcpPermissionOption {
|
|
397
|
-
|
|
398
|
-
|
|
298
|
+
optionId: string;
|
|
299
|
+
name: string;
|
|
300
|
+
kind: "allow_once" | "allow_always" | "reject_once" | "reject_always";
|
|
399
301
|
}
|
|
400
302
|
export interface AcpPermissionRequestResult {
|
|
401
303
|
optionId: string;
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* Turn-lifecycle events relayed to the Control UI WebSocket.
|
|
14
14
|
* These are the "chat session" events that every UI client needs.
|
|
15
15
|
*/
|
|
16
|
-
export declare const AGENT_WS_EVENT_NAMES: readonly ["turn.start", "turn.delta", "turn.end", "turn.error", "turn.recovery", "turn.tool_call", "turn.tool_result", "turn.tool_blocked", "turn.reasoning_delta", "turn.approval_request", "turn.skill_instruction", "turn.ask_user", "turn.media_result", "turn.media_progress", "turn.plan_update", "turn.suggestions", "turn.sidechain_started", "turn.subagent_delta", "turn.sidechain_completed", "turn.task_updated", "turn.todos_updated", "turn.exec_progress", "turn.usage_update", "team.member.notification", "session.info", "memory.updated", "skills.updated", "pet.soul_ready", "pet.reaction", "pet.growth", "pet.state", "pet.confirm", "pet.
|
|
16
|
+
export declare const AGENT_WS_EVENT_NAMES: readonly ["turn.start", "turn.delta", "turn.end", "turn.error", "turn.recovery", "turn.tool_call", "turn.tool_result", "turn.tool_blocked", "turn.reasoning_delta", "turn.approval_request", "turn.skill_instruction", "turn.ask_user", "turn.media_result", "turn.media_progress", "turn.media_usage", "turn.plan_update", "turn.suggestions", "turn.sidechain_started", "turn.subagent_delta", "turn.sidechain_completed", "turn.task_updated", "turn.todos_updated", "turn.exec_progress", "turn.usage_update", "team.member.notification", "session.info", "memory.updated", "skills.updated", "pet.soul_ready", "pet.reaction", "pet.growth", "pet.state", "pet.confirm", "pet.asset.updated", "system.activity", "workflow.created", "workflow.updated", "workflow.deleted", "workflow.runStarted", "workflow.runCompleted", "workflow.runFailed"];
|
|
17
17
|
/**
|
|
18
18
|
* Agent Team events (Solo Mode, Product Mode, Plan lifecycle).
|
|
19
19
|
* Relayed to the UI's team/orchestration panel.
|
|
@@ -23,7 +23,7 @@ export declare const AGENT_TEAM_WS_EVENT_NAMES: readonly ["solo.progress", "solo
|
|
|
23
23
|
* All agent notifications that Gateway should relay to WS clients.
|
|
24
24
|
* Union of session events + team events.
|
|
25
25
|
*/
|
|
26
|
-
export declare const ALL_AGENT_WS_EVENT_NAMES: readonly ["turn.start", "turn.delta", "turn.end", "turn.error", "turn.recovery", "turn.tool_call", "turn.tool_result", "turn.tool_blocked", "turn.reasoning_delta", "turn.approval_request", "turn.skill_instruction", "turn.ask_user", "turn.media_result", "turn.media_progress", "turn.plan_update", "turn.suggestions", "turn.sidechain_started", "turn.subagent_delta", "turn.sidechain_completed", "turn.task_updated", "turn.todos_updated", "turn.exec_progress", "turn.usage_update", "team.member.notification", "session.info", "memory.updated", "skills.updated", "pet.soul_ready", "pet.reaction", "pet.growth", "pet.state", "pet.confirm", "pet.
|
|
26
|
+
export declare const ALL_AGENT_WS_EVENT_NAMES: readonly ["turn.start", "turn.delta", "turn.end", "turn.error", "turn.recovery", "turn.tool_call", "turn.tool_result", "turn.tool_blocked", "turn.reasoning_delta", "turn.approval_request", "turn.skill_instruction", "turn.ask_user", "turn.media_result", "turn.media_progress", "turn.media_usage", "turn.plan_update", "turn.suggestions", "turn.sidechain_started", "turn.subagent_delta", "turn.sidechain_completed", "turn.task_updated", "turn.todos_updated", "turn.exec_progress", "turn.usage_update", "team.member.notification", "session.info", "memory.updated", "skills.updated", "pet.soul_ready", "pet.reaction", "pet.growth", "pet.state", "pet.confirm", "pet.asset.updated", "system.activity", "workflow.created", "workflow.updated", "workflow.deleted", "workflow.runStarted", "workflow.runCompleted", "workflow.runFailed", "solo.progress", "solo.agentDelta", "solo.agentUsage", "solo.agentDiff", "solo.evaluation", "product.taskStarted", "product.taskOutput", "product.taskCompleted", "product.taskFailed", "product.budgetUpdate", "product.checkpointed", "product.dagTopology", "plan.interrupted"];
|
|
27
27
|
/** Type-level event name for session events. */
|
|
28
28
|
export type AgentWsEventName = (typeof AGENT_WS_EVENT_NAMES)[number];
|
|
29
29
|
/** Type-level event name for team events. */
|
|
@@ -8,10 +8,9 @@
|
|
|
8
8
|
* import type { AgentRpcMethodMap } from "qlogicagent/protocol";
|
|
9
9
|
* async function call<M extends keyof AgentRpcMethodMap>(method: M, params: AgentRpcMethodMap[M]["params"]): Promise<AgentRpcMethodMap[M]["result"]> { ... }
|
|
10
10
|
*/
|
|
11
|
-
import type { ChatMessage, LocalizedToolText, ToolCapabilityCategory
|
|
11
|
+
import type { ChatMessage, LocalizedToolText, ToolCapabilityCategory } from "./chat-types.js";
|
|
12
12
|
import type { GatewayRpcMethodMap } from "./gateway-rpc.js";
|
|
13
13
|
import type { WireTokenUsage } from "./notification-payloads.js";
|
|
14
|
-
import type { ToolApprovalResponseParams } from "./agent-rpc.js";
|
|
15
14
|
export type AgentCategory = "sub-agent" | "teammate";
|
|
16
15
|
export type AgentProtocol = "internal" | "acp";
|
|
17
16
|
export type AgentStatus = "available" | "unavailable" | "handshake_failed" | "not_installed";
|
|
@@ -202,19 +201,6 @@ export interface AgentRpcMethodMap extends GatewayRpcMethodMap {
|
|
|
202
201
|
}>;
|
|
203
202
|
};
|
|
204
203
|
};
|
|
205
|
-
"thread.turn": {
|
|
206
|
-
params: {
|
|
207
|
-
turnId?: string;
|
|
208
|
-
sessionId: string;
|
|
209
|
-
messages?: ChatMessage[];
|
|
210
|
-
tools?: ToolDefinition[];
|
|
211
|
-
config?: Record<string, unknown>;
|
|
212
|
-
};
|
|
213
|
-
result: {
|
|
214
|
-
accepted: boolean;
|
|
215
|
-
turnId: string;
|
|
216
|
-
};
|
|
217
|
-
};
|
|
218
204
|
"session.resume": {
|
|
219
205
|
params: {
|
|
220
206
|
sessionId: string;
|
|
@@ -436,21 +422,6 @@ export interface AgentRpcMethodMap extends GatewayRpcMethodMap {
|
|
|
436
422
|
usage?: WireTokenUsage;
|
|
437
423
|
};
|
|
438
424
|
};
|
|
439
|
-
"agent.abort": {
|
|
440
|
-
params: {
|
|
441
|
-
turnId?: string;
|
|
442
|
-
reason?: string;
|
|
443
|
-
};
|
|
444
|
-
result: {
|
|
445
|
-
aborted: boolean;
|
|
446
|
-
};
|
|
447
|
-
};
|
|
448
|
-
"tool.approval.response": {
|
|
449
|
-
params: ToolApprovalResponseParams;
|
|
450
|
-
result: {
|
|
451
|
-
received: boolean;
|
|
452
|
-
};
|
|
453
|
-
};
|
|
454
425
|
"agents.scan": {
|
|
455
426
|
params: {
|
|
456
427
|
force?: boolean;
|
|
@@ -90,24 +90,9 @@ export interface ToolApprovalRequestParams {
|
|
|
90
90
|
/** Suggested allow/ask/deny policy updates the user can apply with the decision. */
|
|
91
91
|
suggestions?: string[];
|
|
92
92
|
}
|
|
93
|
-
/**
|
|
94
|
-
* Host → Agent notification: host relays the user's approval decision.
|
|
95
|
-
* Method name: `tool.approval.response`
|
|
96
|
-
*/
|
|
97
|
-
export interface ToolApprovalResponseParams {
|
|
98
|
-
/** Must match the `approvalId` from the request. */
|
|
99
|
-
approvalId: string;
|
|
100
|
-
/** User's decision. */
|
|
101
|
-
decision: "allow" | "deny";
|
|
102
|
-
/** Optional tool name for host display or audit context. */
|
|
103
|
-
toolName?: string;
|
|
104
|
-
/** Optional corrected tool input after user review. */
|
|
105
|
-
updatedInput?: Record<string, unknown>;
|
|
106
|
-
}
|
|
107
93
|
/** Well-known method names for the approval protocol. */
|
|
108
94
|
export declare const AGENT_RPC_APPROVAL_METHODS: {
|
|
109
95
|
readonly REQUEST: "tool.approval.request";
|
|
110
|
-
readonly RESPONSE: "tool.approval.response";
|
|
111
96
|
};
|
|
112
97
|
export declare function isAgentRpcRequest(msg: unknown): msg is AgentRpcRequest;
|
|
113
98
|
export declare function isAgentRpcResponse(msg: unknown): msg is AgentRpcResponse;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Chat Wire Types — fundamental data types that cross the JSON-RPC boundary.
|
|
3
3
|
*
|
|
4
|
-
* These types appear in RPC method params/results (
|
|
4
|
+
* These types appear in RPC method params/results (session/prompt, session.resume, etc.)
|
|
5
5
|
* and are needed by every consumer that interacts with the agent.
|
|
6
6
|
*/
|
|
7
7
|
import type { ToolRiskLevel } from "./web-capability.js";
|
|
@@ -24,7 +24,7 @@ export interface ToolCallMessage {
|
|
|
24
24
|
/**
|
|
25
25
|
* Chat message — the fundamental unit of conversation over JSON-RPC.
|
|
26
26
|
*
|
|
27
|
-
* Used in `
|
|
27
|
+
* Used in `session/prompt` params (user sends messages to agent)
|
|
28
28
|
* and `session.resume` result (agent returns conversation history).
|
|
29
29
|
*/
|
|
30
30
|
export interface ChatMessage {
|
|
@@ -71,7 +71,7 @@ export interface LocalizedToolText {
|
|
|
71
71
|
/**
|
|
72
72
|
* Tool definition — wire format as sent over JSON-RPC.
|
|
73
73
|
*
|
|
74
|
-
* Used in `
|
|
74
|
+
* Used in `session/prompt` params (host provides available tools)
|
|
75
75
|
* and `tools.list` result (agent reports its tool inventory).
|
|
76
76
|
*/
|
|
77
77
|
export interface ToolDefinition {
|
|
@@ -720,6 +720,36 @@ export interface GatewayRpcMethodMap {
|
|
|
720
720
|
updated: number;
|
|
721
721
|
};
|
|
722
722
|
};
|
|
723
|
+
"memory.attachment.adopt": {
|
|
724
|
+
params: {
|
|
725
|
+
userId?: string;
|
|
726
|
+
tempUrl: string;
|
|
727
|
+
filename?: string;
|
|
728
|
+
mimeType?: string;
|
|
729
|
+
};
|
|
730
|
+
result: {
|
|
731
|
+
ok: boolean;
|
|
732
|
+
attachment?: {
|
|
733
|
+
id: string;
|
|
734
|
+
kind: string;
|
|
735
|
+
filename: string;
|
|
736
|
+
mimeType: string;
|
|
737
|
+
size: number;
|
|
738
|
+
url: string;
|
|
739
|
+
};
|
|
740
|
+
};
|
|
741
|
+
};
|
|
742
|
+
"memory.attachment.locate": {
|
|
743
|
+
params: {
|
|
744
|
+
id: string;
|
|
745
|
+
};
|
|
746
|
+
result: {
|
|
747
|
+
ok: boolean;
|
|
748
|
+
absPath?: string;
|
|
749
|
+
mimeType?: string;
|
|
750
|
+
filename?: string;
|
|
751
|
+
};
|
|
752
|
+
};
|
|
723
753
|
}
|
|
724
754
|
/**
|
|
725
755
|
* Type-safe Agent RPC caller.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export { AGENT_RPC_APPROVAL_METHODS, AGENT_RPC_ERROR_CODES, AGENT_RPC_PROTOCOL_VERSION, isAgentRpcNotification, isAgentRpcRequest, isAgentRpcResponse, parseAgentRpcMessage, type AgentHelloParams, type AgentHelloResult, type AgentRpcError, type AgentRpcErrorCode, type AgentRpcMeta, type AgentRpcChannel, type AgentRpcMessage, type AgentRpcNotification, type AgentRpcRequest, type AgentRpcResponse, type ToolApprovalRequestParams,
|
|
1
|
+
export { PETDEX_ANIMATION_IDS, type PetdexAnimationId, } from "./pet-contracts.js";
|
|
2
|
+
export { AGENT_RPC_APPROVAL_METHODS, AGENT_RPC_ERROR_CODES, AGENT_RPC_PROTOCOL_VERSION, isAgentRpcNotification, isAgentRpcRequest, isAgentRpcResponse, parseAgentRpcMessage, type AgentHelloParams, type AgentHelloResult, type AgentRpcError, type AgentRpcErrorCode, type AgentRpcMeta, type AgentRpcChannel, type AgentRpcMessage, type AgentRpcNotification, type AgentRpcRequest, type AgentRpcResponse, type ToolApprovalRequestParams, } from "./agent-rpc.js";
|
|
3
3
|
export { GatewayRpcContract, buildAgentRpcMeta, classifyGatewayRpcMethod, requireGatewayRpcMeta, requiresIdempotencyKey, type GatewayRpcClassification, type GatewayRpcMetrics, type GatewayRpcMutability, } from "./gateway-contract.js";
|
|
4
4
|
export { GATEWAY_RPC_METHODS, type AgentCall, type AgentCallOptions, type GatewayRpcMethodMap, type ProjectInfo as RpcProjectInfo, type ProjectStatus as RpcProjectStatus, type ProjectType as RpcProjectType, } from "./gateway-rpc.js";
|
|
5
5
|
export { type ChatMessage, type ChatMessageRole, type LocalizedToolText, type ThinkingBlock, type ToolCapabilityCategory, type ToolCallMessage, type ToolDefinition, } from "./chat-types.js";
|
|
@@ -7,7 +7,7 @@ export { type AgentCapabilities, type AgentCategory, type AgentConfig, type Agen
|
|
|
7
7
|
export type * from "./acp-agent-management.js";
|
|
8
8
|
export { AGENT_TEAM_WS_EVENT_NAMES, AGENT_WS_EVENT_NAMES, ALL_AGENT_WS_EVENT_NAMES, type AgentTeamWsEventName, type AgentWsEventName, type AllAgentWsEventName, } from "./agent-events.js";
|
|
9
9
|
export { type AgentSource, type AgentsErrorNotification, type AgentsStatusNotification, type ArtifactType, type MediaResultType, type MemoryDecayCompletedNotification, type MemoryUpdatedNotification, type NotificationMethod, type NotificationMethodMap, type NotificationThreadItem, type PermissionRuleUpdatedNotification, type PlanInterruptedNotification, type PongNotification, type ProductBudgetUpdateNotification, type ProductBudgetWarningNotification, type ProductCheckpointedNotification, type ProductCompletedNotification, type ProductDagTopologyNotification, type ProductTaskCompletedNotification, type ProductTaskFailedNotification, type ProductTaskOutputDeltaNotification, type ProductTaskStartedNotification, type ProjectArchivedNotification, type ProjectCreatedNotification, type ProjectDeletedNotification, type ProjectRenamedNotification, type ProjectSwitchedNotification, type ProjectUnarchivedNotification, type SessionInfoNotification, type SoloAgentDeltaNotification, type SoloAgentDiffNotification, type SoloAgentUsageNotification, type SoloEvaluationNotification, type SoloProgressNotification, type TeamMemberNotification, type ToolApprovalRequestNotification, type TurnAnnotationsNotification, type TurnArtifactNotification, type TurnAskUserNotification, type TurnDeltaNotification, type TurnEndNotification, type TurnErrorNotification, type TurnExecProgressNotification, type TurnHeartbeatNotification, type TurnMediaPersistedNotification, type TurnMediaProgressNotification, type TurnMediaResultNotification, type TurnPlanUpdateNotification, type TurnReasoningDeltaNotification, type TurnRecoveryNotification, type TurnSidechainCompletedNotification, type TurnSidechainStartedNotification, type TurnSkillAcquisitionNeededNotification, type TurnSkillInstructionNotification, type TurnStartNotification, type TurnSubagentDeltaNotification, type TurnSuggestionsNotification, type TurnTaskUpdatedNotification, type TurnTodosUpdatedNotification, type TurnToolBlockedNotification, type TurnToolCallNotification, type TurnToolResultNotification, type TurnToolUseSummaryNotification, type TurnUsageUpdateNotification, type WireTokenUsage, type ProductPlanReadyNotification, type ProductPlanFailedNotification, type ProductPlanningDeltaNotification, type PetSoulReadyNotification, type PetReactionNotification, type PetGrowthNotification, type PetStateNotification, type PetConfirmNotification, type WorkflowDeletedNotification, type WorkflowRecordNotification, type WorkflowRunCompletedNotification, type WorkflowRunFailedNotification, type WorkflowRunStartedNotification, } from "./notification-payloads.js";
|
|
10
|
-
export { ACP_EXTENDED_METHODS, ACP_EXTENDED_SESSION_UPDATE_TYPES, ACP_METHODS, ACP_PROTOCOL_VERSION, ACP_SESSION_UPDATE_TYPES, isAcpJsonRpcNotification, isAcpJsonRpcRequest, isAcpJsonRpcResponse, isExtendedSessionUpdateType, isStandardSessionUpdateType, parseAcpMessage, type AcpAgentCapabilities, type AcpAgentMessageChunkPayload, type AcpAgentThoughtChunkPayload, type
|
|
10
|
+
export { ACP_EXTENDED_METHODS, ACP_EXTENDED_SESSION_UPDATE_TYPES, ACP_METHODS, ACP_PROTOCOL_VERSION, ACP_SESSION_UPDATE_TYPES, isAcpJsonRpcNotification, isAcpJsonRpcRequest, isAcpJsonRpcResponse, isExtendedSessionUpdateType, isStandardSessionUpdateType, parseAcpMessage, type AcpAgentCapabilities, type AcpAgentMessageChunkPayload, type AcpAgentThoughtChunkPayload, type AcpConfigOptionDescriptor, type AcpConfigOptionUpdatePayload, type AcpContentBlock, type AcpEndTurnPayload, type AcpExtendedMethod, type AcpExtendedSessionUpdateType, type AcpFsReadTextFileParams, type AcpFsReadTextFileResult, type AcpFsWriteTextFileParams, type AcpFsWriteTextFileResult, type AcpHostCapabilities, type AcpInitializeParams, type AcpInitializeResult, type AcpJsonRpcError, type AcpJsonRpcMessage, type AcpJsonRpcNotification, type AcpJsonRpcRequest, type AcpJsonRpcResponse, type AcpMode, type AcpPermissionOption, type AcpPermissionRequestParams, type AcpPermissionRequestResult, type AcpPlanPayload, type AcpSessionCancelParams, type AcpSessionCloseParams, type AcpSessionMeta, type AcpSessionLoadParams, type AcpSessionModeState, type AcpSessionNewParams, type AcpSessionNewResult, type AcpSessionPromptParams, type AcpSessionPromptResult, type AcpSessionSetConfigParams, type AcpSessionUpdateNotification, type AcpSessionUpdateType, type AcpStandardMethod, type AcpStandardSessionUpdateType, type AcpStopReason, type AcpToolCallPayload, type AcpToolCallUpdatePayload, type AcpUsage, type AcpUsageUpdatePayload, type AcpXSessionInfoPayload, type AcpXSkillInstructionPayload, } from "./acp-protocol.js";
|
|
11
11
|
export { type ApprovalRequiredToolContract, type ModelSelectionReason, type PendingPromptContract, type RuntimeCapabilitySummaryContract, type RuntimeSessionContract, type SessionIdentityContract, } from "./session.js";
|
|
12
12
|
export { type GatewayChannelExecutionEgressContract, type GatewayChannelExecutionEgressKind, type GatewayChannelExecutionIngressBindingContract, type GatewayChannelExecutionIngressSource, } from "./channel-ingress.js";
|
|
13
13
|
export { CAPABILITY_MANIFEST_DIFF_SECTIONS, cloneCapabilityManifestSnapshot, createCapabilityManifestDiffPayload, deriveCapabilityToolNamespaces, deriveCapabilityWorkspaceIds, mergeCapabilityManifestSnapshot, type CapabilityManifestApprovalMode, type CapabilityManifestApprovalPolicyContract, type CapabilityManifestDiffSection, type CapabilityMcpManifestContract, type CapabilityManifestSnapshotContract, type HostCapabilitySnapshotContract, type CapabilityPluginManifestContract, type RuntimeCapabilityViewContract, type RuntimeToolEligibilityContract, type CapabilitySkillManifestContract, type CapabilityToolManifestContract, type CapabilityWorkspaceSummaryContract, type ToolEligibilityResolvedSource, type ToolEligibilityReasonCode, type ToolEligibilityStatus, } from "./capability-manifest.js";
|
|
@@ -189,6 +189,16 @@ export interface TurnMediaProgressNotification {
|
|
|
189
189
|
status: string;
|
|
190
190
|
provider?: string;
|
|
191
191
|
}
|
|
192
|
+
/** Structured media provider usage for non-token billed image/video/audio calls. */
|
|
193
|
+
export interface TurnMediaUsageNotification {
|
|
194
|
+
usageId: string;
|
|
195
|
+
turnId: string;
|
|
196
|
+
mediaType: MediaResultType | string;
|
|
197
|
+
provider: string;
|
|
198
|
+
model: string;
|
|
199
|
+
billingUnit: string;
|
|
200
|
+
billingQuantity: number;
|
|
201
|
+
}
|
|
192
202
|
/** Media files auto-downloaded to local storage. */
|
|
193
203
|
export interface TurnMediaPersistedNotification {
|
|
194
204
|
turnId: string;
|
|
@@ -628,10 +638,33 @@ export interface PetConfirmNotification {
|
|
|
628
638
|
risk: ToolRiskLevel;
|
|
629
639
|
timeoutMs?: number;
|
|
630
640
|
}
|
|
631
|
-
export interface
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
641
|
+
export interface PetAssetUpdatedNotification {
|
|
642
|
+
asset: {
|
|
643
|
+
id: string;
|
|
644
|
+
assetKind: "petdex";
|
|
645
|
+
name: string;
|
|
646
|
+
description: string;
|
|
647
|
+
createdAt: string;
|
|
648
|
+
updatedAt: string;
|
|
649
|
+
atlas: {
|
|
650
|
+
format: "webp";
|
|
651
|
+
columns: 8;
|
|
652
|
+
rows: 9;
|
|
653
|
+
frameCount: 72;
|
|
654
|
+
cellWidth: 192;
|
|
655
|
+
cellHeight: 208;
|
|
656
|
+
width: 1536;
|
|
657
|
+
height: 1872;
|
|
658
|
+
sha256: string;
|
|
659
|
+
imageUrl?: string;
|
|
660
|
+
};
|
|
661
|
+
animations?: Record<string, {
|
|
662
|
+
frames: number[];
|
|
663
|
+
fps: number;
|
|
664
|
+
loop: boolean;
|
|
665
|
+
}>;
|
|
666
|
+
sourcePrompt?: string;
|
|
667
|
+
};
|
|
635
668
|
}
|
|
636
669
|
export interface SystemActivityNotification {
|
|
637
670
|
category: "dream" | "cron" | "decay" | "system";
|
|
@@ -691,6 +724,7 @@ export interface NotificationMethodMap {
|
|
|
691
724
|
"turn.annotations": TurnAnnotationsNotification;
|
|
692
725
|
"turn.media_result": TurnMediaResultNotification;
|
|
693
726
|
"turn.media_progress": TurnMediaProgressNotification;
|
|
727
|
+
"turn.media_usage": TurnMediaUsageNotification;
|
|
694
728
|
"turn.media_persisted": TurnMediaPersistedNotification;
|
|
695
729
|
"turn.task_updated": TurnTaskUpdatedNotification;
|
|
696
730
|
"turn.todos_updated": TurnTodosUpdatedNotification;
|
|
@@ -744,7 +778,7 @@ export interface NotificationMethodMap {
|
|
|
744
778
|
"pet.growth": PetGrowthNotification;
|
|
745
779
|
"pet.state": PetStateNotification;
|
|
746
780
|
"pet.confirm": PetConfirmNotification;
|
|
747
|
-
"pet.
|
|
781
|
+
"pet.asset.updated": PetAssetUpdatedNotification;
|
|
748
782
|
"system.activity": SystemActivityNotification;
|
|
749
783
|
"workflow.created": WorkflowRecordNotification;
|
|
750
784
|
"workflow.updated": WorkflowRecordNotification;
|
|
@@ -1,2 +1,75 @@
|
|
|
1
|
-
export declare const
|
|
2
|
-
export type
|
|
1
|
+
export declare const PETDEX_ANIMATION_IDS: readonly ["idle", "thinking", "working", "done", "happy", "error", "attention", "dragging", "sleeping"];
|
|
2
|
+
export type PetdexAnimationId = typeof PETDEX_ANIMATION_IDS[number];
|
|
3
|
+
export declare const PETDEX_SCHEMA: "qlogic.petdex.asset.v1";
|
|
4
|
+
export declare const PETDEX_VALIDATION_SCHEMA: "qlogic.petdex.validation.v1";
|
|
5
|
+
export declare const PETDEX_ATLAS_CONTRACT: {
|
|
6
|
+
readonly format: "webp";
|
|
7
|
+
readonly columns: 8;
|
|
8
|
+
readonly rows: 9;
|
|
9
|
+
readonly frameCount: 72;
|
|
10
|
+
readonly cellWidth: 192;
|
|
11
|
+
readonly cellHeight: 208;
|
|
12
|
+
readonly width: 1536;
|
|
13
|
+
readonly height: 1872;
|
|
14
|
+
};
|
|
15
|
+
export interface PetdexAnimation {
|
|
16
|
+
frames: number[];
|
|
17
|
+
fps: number;
|
|
18
|
+
loop: boolean;
|
|
19
|
+
}
|
|
20
|
+
export type PetdexAnimationMap = Record<PetdexAnimationId, PetdexAnimation>;
|
|
21
|
+
export interface PetdexAtlasManifest {
|
|
22
|
+
image: "spritesheet.webp";
|
|
23
|
+
format: "webp";
|
|
24
|
+
columns: 8;
|
|
25
|
+
rows: 9;
|
|
26
|
+
frameCount: 72;
|
|
27
|
+
cellWidth: 192;
|
|
28
|
+
cellHeight: 208;
|
|
29
|
+
width: 1536;
|
|
30
|
+
height: 1872;
|
|
31
|
+
sha256: string;
|
|
32
|
+
}
|
|
33
|
+
export interface PetdexAssetManifest {
|
|
34
|
+
schema: typeof PETDEX_SCHEMA;
|
|
35
|
+
id: string;
|
|
36
|
+
name: string;
|
|
37
|
+
description: string;
|
|
38
|
+
createdAt: string;
|
|
39
|
+
updatedAt: string;
|
|
40
|
+
source: {
|
|
41
|
+
kind: "upload" | "forge";
|
|
42
|
+
prompt: string | null;
|
|
43
|
+
};
|
|
44
|
+
atlas: PetdexAtlasManifest;
|
|
45
|
+
animations: PetdexAnimationMap;
|
|
46
|
+
thumbnail: {
|
|
47
|
+
frame: number;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
export interface PetdexAssetSummary {
|
|
51
|
+
id: string;
|
|
52
|
+
assetKind: "petdex";
|
|
53
|
+
name: string;
|
|
54
|
+
description: string;
|
|
55
|
+
createdAt: string;
|
|
56
|
+
updatedAt: string;
|
|
57
|
+
atlas: Omit<PetdexAtlasManifest, "image"> & {
|
|
58
|
+
imageUrl?: string;
|
|
59
|
+
};
|
|
60
|
+
sourcePrompt?: string;
|
|
61
|
+
}
|
|
62
|
+
export interface PetdexAssetValidation {
|
|
63
|
+
schema: typeof PETDEX_VALIDATION_SCHEMA;
|
|
64
|
+
assetId: string;
|
|
65
|
+
valid: boolean;
|
|
66
|
+
validatedAt: string;
|
|
67
|
+
errors: string[];
|
|
68
|
+
warnings: string[];
|
|
69
|
+
atlas: Omit<PetdexAtlasManifest, "image">;
|
|
70
|
+
animations: {
|
|
71
|
+
ids: PetdexAnimationId[];
|
|
72
|
+
minFrame: number;
|
|
73
|
+
maxFrame: number;
|
|
74
|
+
};
|
|
75
|
+
}
|