@blade-hq/agent-client 2612.0.0-beta.2 → 2612.0.0-beta.21
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/README.md +203 -19
- package/dist/blade-client.d.ts +13 -1
- package/dist/{chunk-PWJJJATA.js → chunk-J3XXTHHK.js} +1723 -701
- package/dist/chunk-J3XXTHHK.js.map +1 -0
- package/dist/index.d.ts +12 -3
- package/dist/index.js +9 -1
- package/dist/internal.d.ts +9 -3
- package/dist/internal.js +13 -1
- package/dist/internal.js.map +1 -1
- package/dist/resources/auth.d.ts +3 -1
- package/dist/resources/chat-groups.d.ts +92 -0
- package/dist/resources/headless.d.ts +5 -0
- package/dist/resources/models.d.ts +6 -1
- package/dist/resources/plugins.d.ts +1 -0
- package/dist/resources/sessions.d.ts +96 -11
- package/dist/schemas/context-attachments.d.ts +16 -0
- package/dist/schemas/event.d.ts +2 -0
- package/dist/schemas/message-utils.d.ts +3 -9
- package/dist/schemas/message.d.ts +18 -1
- package/dist/schemas/plugin-refs.d.ts +15 -0
- package/dist/schemas/projection.d.ts +31 -0
- package/dist/schemas/session.d.ts +2 -42
- package/dist/schemas/topic-assets.d.ts +7 -0
- package/dist/server-clock.d.ts +2 -0
- package/dist/session/agent-session.d.ts +51 -7
- package/dist/session/background.d.ts +14 -0
- package/dist/session/events.d.ts +0 -1
- package/dist/session/hub.d.ts +3 -0
- package/dist/session/log-cursor.d.ts +14 -0
- package/dist/session/state.d.ts +2 -1
- package/dist/session/workflow.d.ts +10 -3
- package/dist/shared/projection/builder.d.ts +5 -0
- package/dist/shared/projection/helpers.d.ts +2 -0
- package/dist/shared/projection/index.d.ts +1 -0
- package/dist/shared/projection/workflow.d.ts +24 -0
- package/dist/tool-provider.d.ts +51 -0
- package/dist/types/socket-events.d.ts +179 -6
- package/node_modules/engine.io-client/build/cjs/globals.node.d.ts +2 -3
- package/node_modules/engine.io-client/build/cjs/index.d.ts +3 -3
- package/node_modules/engine.io-client/build/cjs/index.js +1 -4
- package/node_modules/engine.io-client/build/cjs/socket.d.ts +39 -82
- package/node_modules/engine.io-client/build/cjs/socket.js +151 -218
- package/node_modules/engine.io-client/build/cjs/transport.d.ts +1 -1
- package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.d.ts +4 -4
- package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.js +2 -2
- package/node_modules/engine.io-client/build/cjs/transports/polling-xhr.node.js +17 -7
- package/node_modules/engine.io-client/build/cjs/transports/websocket.node.js +17 -7
- package/node_modules/engine.io-client/build/esm/globals.node.d.ts +2 -3
- package/node_modules/engine.io-client/build/esm/index.d.ts +3 -3
- package/node_modules/engine.io-client/build/esm/index.js +1 -2
- package/node_modules/engine.io-client/build/esm/socket.d.ts +39 -82
- package/node_modules/engine.io-client/build/esm/socket.js +141 -206
- package/node_modules/engine.io-client/build/esm/transport.d.ts +1 -1
- package/node_modules/engine.io-client/build/esm/transports/polling-xhr.d.ts +4 -4
- package/node_modules/engine.io-client/build/esm/transports/polling-xhr.js +2 -2
- package/node_modules/engine.io-client/build/esm-debug/globals.node.d.ts +2 -3
- package/node_modules/engine.io-client/build/esm-debug/index.d.ts +3 -3
- package/node_modules/engine.io-client/build/esm-debug/index.js +1 -2
- package/node_modules/engine.io-client/build/esm-debug/socket.d.ts +39 -82
- package/node_modules/engine.io-client/build/esm-debug/socket.js +150 -215
- package/node_modules/engine.io-client/build/esm-debug/transport.d.ts +1 -1
- package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.d.ts +4 -4
- package/node_modules/engine.io-client/build/esm-debug/transports/polling-xhr.js +2 -2
- package/node_modules/engine.io-client/dist/engine.io.esm.min.js +3 -3
- package/node_modules/engine.io-client/dist/engine.io.esm.min.js.map +1 -1
- package/node_modules/engine.io-client/dist/engine.io.js +164 -239
- package/node_modules/engine.io-client/dist/engine.io.js.map +1 -1
- package/node_modules/engine.io-client/dist/engine.io.min.js +3 -3
- package/node_modules/engine.io-client/dist/engine.io.min.js.map +1 -1
- package/node_modules/engine.io-client/package.json +2 -2
- package/node_modules/socket.io-parser/build/cjs/binary.js +4 -1
- package/node_modules/socket.io-parser/build/cjs/index.d.ts +14 -4
- package/node_modules/socket.io-parser/build/cjs/index.js +18 -11
- package/node_modules/socket.io-parser/build/esm/binary.js +4 -1
- package/node_modules/socket.io-parser/build/esm/index.d.ts +14 -4
- package/node_modules/socket.io-parser/build/esm/index.js +14 -10
- package/node_modules/socket.io-parser/build/esm-debug/binary.js +4 -1
- package/node_modules/socket.io-parser/build/esm-debug/index.d.ts +14 -4
- package/node_modules/socket.io-parser/build/esm-debug/index.js +14 -10
- package/node_modules/socket.io-parser/package.json +1 -1
- package/node_modules/ws/index.js +15 -6
- package/node_modules/ws/lib/constants.js +1 -0
- package/node_modules/ws/lib/permessage-deflate.js +9 -7
- package/node_modules/ws/lib/receiver.js +37 -0
- package/node_modules/ws/lib/sender.js +6 -1
- package/node_modules/ws/lib/websocket-server.js +18 -6
- package/node_modules/ws/lib/websocket.js +50 -17
- package/node_modules/ws/package.json +8 -3
- package/node_modules/ws/wrapper.mjs +14 -1
- package/package.json +4 -4
- package/public-api.md +335 -28
- package/dist/chunk-PWJJJATA.js.map +0 -1
package/public-api.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
> 本文件由 `scripts/public-api-report.mjs` 生成,请勿手改。
|
|
4
4
|
> 公共面变更时重新生成本报告,并同步更新 README 对应章节——CI 会校验两者。
|
|
5
5
|
|
|
6
|
-
共
|
|
6
|
+
共 117 个公开声明。
|
|
7
7
|
|
|
8
8
|
## `AccountComputer` (interface)
|
|
9
9
|
|
|
@@ -62,6 +62,7 @@ deliverQueuedMessage: (itemId: string, expectedVersion: number) => Promise<Queue
|
|
|
62
62
|
dispose: () => void
|
|
63
63
|
downloadFile: (filePath: string, downloadName?: string) => Promise<void>
|
|
64
64
|
exitReplay: () => Promise<void>
|
|
65
|
+
getDelivery: (requestId: string) => Promise<DeliveryReceipt>
|
|
65
66
|
getState: () => SessionState
|
|
66
67
|
hasOlderHistory: boolean
|
|
67
68
|
insertText: (text: string) => void
|
|
@@ -74,6 +75,7 @@ locateEntry: (entryId: string) => Promise<boolean>
|
|
|
74
75
|
off: <K extends keyof AgentSessionEvents>(name: K, handler: (event: AgentSessionEvents[K]) => void) => void
|
|
75
76
|
on: <K extends keyof AgentSessionEvents>(name: K, handler: (event: AgentSessionEvents[K]) => void) => () => void
|
|
76
77
|
onCommand: (action: string, handler: CommandHandler) => () => void
|
|
78
|
+
prepareSend: (content: string, options?: PreparedSendOptions) => PreparedSend
|
|
77
79
|
queueMessage: (content: string) => Promise<QueueOperationResult>
|
|
78
80
|
refreshQueue: () => Promise<QueueOperationResult>
|
|
79
81
|
refreshRunningState: () => Promise<void>
|
|
@@ -81,6 +83,7 @@ reloadHistory: () => Promise<boolean>
|
|
|
81
83
|
reorderQueuedMessages: (expectedRevision: number, orderedIds: string[]) => Promise<QueueOperationResult>
|
|
82
84
|
resumeQueue: () => Promise<QueueOperationResult>
|
|
83
85
|
send: (content: MessageContent, options?: SendOptions) => Promise<boolean>
|
|
86
|
+
sendPrepared: (request: PreparedSend) => Promise<DeliveryReceipt>
|
|
84
87
|
sessionId: string
|
|
85
88
|
setReplaySpeed: (speed: ReplaySpeed) => Promise<void>
|
|
86
89
|
stop: () => Promise<Record<string, unknown>>
|
|
@@ -120,7 +123,7 @@ notification: { type: string; title: string; detail?: string; status: "info" | "
|
|
|
120
123
|
replayMismatch: { actualMessage?: string; expectedMessage?: string; respond: (decision: "keep_replay" | "continue_replay") => void; }
|
|
121
124
|
rewind: { checkpointId: string; }
|
|
122
125
|
sandboxOom: { toolCallId: string; }
|
|
123
|
-
sessionUpdated: { workspacePath?: string; chatGroupId?: string | null; intent?: string; status?: SessionStatus; model?: string | null;
|
|
126
|
+
sessionUpdated: { workspacePath?: string; chatGroupId?: string | null; intent?: string; status?: SessionStatus; model?: string | null; replayState?: Record<string, unknown> | null; }
|
|
124
127
|
taskListUpdated: { tasks: unknown[]; }
|
|
125
128
|
toolCall: { toolCall: ToolCallInfo; turn: TurnProjection; }
|
|
126
129
|
toolPreview: { sourcePath?: string; toolCallId: string; type: "resource-html" | "resource-uri" | "resource-file"; content: string; title: string; mcpApp?: McpAppData; }
|
|
@@ -165,7 +168,7 @@ getContext: () => Record<string, unknown> | Promise<Record<string, unknown>>
|
|
|
165
168
|
|
|
166
169
|
```ts
|
|
167
170
|
exchangeCode: (params: ExchangeCodeParams) => Promise<ExchangeCodeResult>
|
|
168
|
-
getMe: () => Promise<UserInfo>
|
|
171
|
+
getMe: (options?: { signal?: AbortSignal; }) => Promise<UserInfo>
|
|
169
172
|
getProviders: () => Promise<ProvidersResponse>
|
|
170
173
|
login: (options?: LoginOptions) => Promise<LoginResult>
|
|
171
174
|
logout: () => Promise<{ logout_url: string; }>
|
|
@@ -200,7 +203,9 @@ blob: (method: HttpMethod, path: string) => Promise<Blob>
|
|
|
200
203
|
buildAuthedUrl: (path: string) => string
|
|
201
204
|
chatGroups: ChatGroupsResource
|
|
202
205
|
computers: ComputersResource
|
|
206
|
+
connectToolProvider: (options: ToolProviderOptions) => ToolProvider
|
|
203
207
|
fetch: (method: HttpMethod, path: string, init?: BladeFetchInit, isRetry?: boolean) => Promise<Response>
|
|
208
|
+
forAnonymousSession: (sessionId: string) => BladeClient
|
|
204
209
|
formData: (method: HttpMethod, path: string, form: FormData, options?: { expectOk?: boolean; onUploadProgress?: (progress: UploadProgress) => void; }) => Promise<Response>
|
|
205
210
|
hasToken: () => boolean
|
|
206
211
|
headless: HeadlessResource
|
|
@@ -228,9 +233,10 @@ token: string | null
|
|
|
228
233
|
## `BladeClientOptions` (interface)
|
|
229
234
|
|
|
230
235
|
```ts
|
|
236
|
+
anonymousSessionId: string | undefined
|
|
231
237
|
baseUrl: string
|
|
232
|
-
commandTransport: ((event: string, payload: Record<string, unknown>, send: () => Promise<Record<string, unknown
|
|
233
|
-
fetchImpl: { (input: RequestInfo | URL, init?: RequestInit): Promise<Response>; (input: string | URL | Request, init?: RequestInit): Promise<Response>; } | undefined
|
|
238
|
+
commandTransport: ((event: string, payload: Record<string, unknown>, send: () => Promise<Record<string, unknown>>, scope?: { anonymousSessionId: string; }) => Promise<Record<string, unknown>>) | undefined
|
|
239
|
+
fetchImpl: { (input: RequestInfo | URL, init?: RequestInit): Promise<Response>; (input: string | URL | Request, init?: RequestInit): Promise<Response>; (input: string | URL | Request, init?: RequestInit): Promise<Response>; } | undefined
|
|
234
240
|
onRefreshSuccess: (() => void | Promise<void>) | undefined
|
|
235
241
|
socketToken: string | (() => string | null | undefined) | undefined
|
|
236
242
|
token: string | (() => string | null | undefined) | undefined
|
|
@@ -243,13 +249,89 @@ tokenStorage: TokenStorageMode | undefined
|
|
|
243
249
|
chatErrorForDisplay: (message: string, developer?: boolean) => string
|
|
244
250
|
```
|
|
245
251
|
|
|
252
|
+
## `ChatGroup` (interface)
|
|
253
|
+
|
|
254
|
+
```ts
|
|
255
|
+
created_at: string
|
|
256
|
+
id: string
|
|
257
|
+
initiator: "ui" | "sdk" | null
|
|
258
|
+
instructions: string
|
|
259
|
+
member_count: number
|
|
260
|
+
name: string
|
|
261
|
+
role: ChatGroupRole
|
|
262
|
+
session_count: number
|
|
263
|
+
updated_at: string
|
|
264
|
+
workspace_path: string
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
## `ChatGroupAsset` (interface)
|
|
268
|
+
|
|
269
|
+
```ts
|
|
270
|
+
is_dir: boolean
|
|
271
|
+
message: string
|
|
272
|
+
path: string
|
|
273
|
+
session_id: string | null
|
|
274
|
+
sha256: string
|
|
275
|
+
size: number
|
|
276
|
+
submitted_by: string
|
|
277
|
+
submitted_by_name: string
|
|
278
|
+
updated_at: string
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
## `ChatGroupAssetList` (interface)
|
|
282
|
+
|
|
283
|
+
```ts
|
|
284
|
+
group_id: string
|
|
285
|
+
items: ChatGroupAsset[]
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
## `ChatGroupMember` (interface)
|
|
289
|
+
|
|
290
|
+
```ts
|
|
291
|
+
added_at: string
|
|
292
|
+
added_by: string
|
|
293
|
+
display_name: string | null
|
|
294
|
+
role: ChatGroupRole
|
|
295
|
+
user_id: string
|
|
296
|
+
username: string
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
## `ChatGroupRole` (type)
|
|
300
|
+
|
|
301
|
+
```ts
|
|
302
|
+
export type ChatGroupRole = "owner" | "editor" | "viewer"
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
## `ChatGroupTask` (interface)
|
|
306
|
+
|
|
307
|
+
```ts
|
|
308
|
+
agent_started: boolean
|
|
309
|
+
can_open_session: boolean
|
|
310
|
+
created_at: string
|
|
311
|
+
created_by: string
|
|
312
|
+
description: string
|
|
313
|
+
due_date: string | null
|
|
314
|
+
group_id: string
|
|
315
|
+
id: string
|
|
316
|
+
number: number
|
|
317
|
+
owner_display_name: string
|
|
318
|
+
owner_left: boolean
|
|
319
|
+
owner_user_id: string
|
|
320
|
+
session_id: string | null
|
|
321
|
+
status: "done" | "todo" | "doing"
|
|
322
|
+
title: string
|
|
323
|
+
updated_at: string
|
|
324
|
+
```
|
|
325
|
+
|
|
246
326
|
## `ChatMessage` (interface)
|
|
247
327
|
|
|
248
328
|
```ts
|
|
249
329
|
blocks: ContentBlock[] | undefined
|
|
330
|
+
client_request_id: string | undefined
|
|
250
331
|
compaction: CompactionInfo | undefined
|
|
251
332
|
content: MessageContent
|
|
252
333
|
context: ContextProjectionData | undefined
|
|
334
|
+
context_attachments: ContextAttachment[] | undefined
|
|
253
335
|
duration_ms: number | undefined
|
|
254
336
|
entry_id: string | undefined
|
|
255
337
|
kind: string | undefined
|
|
@@ -257,11 +339,13 @@ loop_name: string | undefined
|
|
|
257
339
|
memory_refs: MemoryRefInfo[] | undefined
|
|
258
340
|
parent_id: string | null | undefined
|
|
259
341
|
reasoning: string | undefined
|
|
342
|
+
refs: MessageRef[] | undefined
|
|
260
343
|
render_id: string | undefined
|
|
261
344
|
role: "error" | "user" | "assistant" | "tool"
|
|
262
345
|
status: "streaming" | "completed" | "paused" | "failed" | "interrupted" | undefined
|
|
263
346
|
timestamp: string | undefined
|
|
264
347
|
tool_calls: ToolCallInfo[] | undefined
|
|
348
|
+
topic_asset_refs: TopicAssetRef[] | undefined
|
|
265
349
|
```
|
|
266
350
|
|
|
267
351
|
## `CommandHandler` (type)
|
|
@@ -290,10 +374,31 @@ export type ConnectionStatus = "connecting" | "connected" | "reconnecting" | "di
|
|
|
290
374
|
contentPreview: (content: MessageContent, maxLen?: number) => string
|
|
291
375
|
```
|
|
292
376
|
|
|
377
|
+
## `ContextAttachment` (interface)
|
|
378
|
+
|
|
379
|
+
```ts
|
|
380
|
+
content: string
|
|
381
|
+
data: Record<string, unknown> | null | undefined
|
|
382
|
+
files: { name: string; session_id?: string; path?: string; }[] | undefined
|
|
383
|
+
id: string
|
|
384
|
+
label: string
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
## `CreateChatGroupTask` (interface)
|
|
388
|
+
|
|
389
|
+
```ts
|
|
390
|
+
description: string | undefined
|
|
391
|
+
due_date: string | null | undefined
|
|
392
|
+
owner_user_id: string
|
|
393
|
+
start_agent: boolean | undefined
|
|
394
|
+
title: string
|
|
395
|
+
```
|
|
396
|
+
|
|
293
397
|
## `CreateSessionRequest` (interface)
|
|
294
398
|
|
|
295
399
|
```ts
|
|
296
400
|
agent_runtime_id: string | null | undefined
|
|
401
|
+
anonymous: boolean | undefined
|
|
297
402
|
biz_role_id: string | null | undefined
|
|
298
403
|
chat_group_id: string | null | undefined
|
|
299
404
|
compaction_ratio: number | null | undefined
|
|
@@ -301,16 +406,17 @@ daemon_id: string | null | undefined
|
|
|
301
406
|
disable_tools: string[] | null | undefined
|
|
302
407
|
enable_thinking: boolean | null | undefined
|
|
303
408
|
env: Record<string, string> | undefined
|
|
409
|
+
initiator: "ui" | "sdk" | undefined
|
|
304
410
|
intent: string | undefined
|
|
411
|
+
mcp_sources: McpSourceConfig[] | undefined
|
|
305
412
|
memory_enabled: boolean | null | undefined
|
|
306
413
|
model: string | null | undefined
|
|
307
|
-
primary_skill_id: string | null | undefined
|
|
308
414
|
runtime_type: "sandbox" | "daemon" | "native" | null | undefined
|
|
309
415
|
session_solution_asset_id: string | null | undefined
|
|
416
|
+
skip_confirmations: boolean | undefined
|
|
310
417
|
solution_id: string | undefined
|
|
311
418
|
solution_ref: PublishedSolutionRef | undefined
|
|
312
419
|
solution_snapshot_session_id: string | undefined
|
|
313
|
-
template_id: TemplateId | undefined
|
|
314
420
|
```
|
|
315
421
|
|
|
316
422
|
## `DEFAULT_REPLAY_SPEED` (const)
|
|
@@ -319,6 +425,17 @@ template_id: TemplateId | undefined
|
|
|
319
425
|
DEFAULT_REPLAY_SPEED: ReplaySpeed
|
|
320
426
|
```
|
|
321
427
|
|
|
428
|
+
## `DeliveryReceipt` (interface)
|
|
429
|
+
|
|
430
|
+
```ts
|
|
431
|
+
executionId: string | null | undefined
|
|
432
|
+
itemId: string | undefined
|
|
433
|
+
message: string | undefined
|
|
434
|
+
queueStatus: string | undefined
|
|
435
|
+
requestId: string
|
|
436
|
+
status: "unknown" | "accepted" | "not_found" | "rejected"
|
|
437
|
+
```
|
|
438
|
+
|
|
322
439
|
## `ExchangeCodeParams` (interface)
|
|
323
440
|
|
|
324
441
|
```ts
|
|
@@ -407,6 +524,18 @@ token: string
|
|
|
407
524
|
user: { id?: string; username?: string; display_name?: string; } | undefined
|
|
408
525
|
```
|
|
409
526
|
|
|
527
|
+
## `McpSourceConfig` (interface)
|
|
528
|
+
|
|
529
|
+
```ts
|
|
530
|
+
bearer_token: string | null | undefined
|
|
531
|
+
description: string | undefined
|
|
532
|
+
eager_tools: string[] | undefined
|
|
533
|
+
exposure: "lazy" | "eager" | undefined
|
|
534
|
+
id: string
|
|
535
|
+
include_tools: string[] | null | undefined
|
|
536
|
+
url: string
|
|
537
|
+
```
|
|
538
|
+
|
|
410
539
|
## `MemoryRefInfo` (interface)
|
|
411
540
|
|
|
412
541
|
```ts
|
|
@@ -427,6 +556,12 @@ export type MessageContent = string | MessageContentPart[]
|
|
|
427
556
|
export type MessageContentPart = TextContentPart | ImageUrlContentPart | FileContentPart
|
|
428
557
|
```
|
|
429
558
|
|
|
559
|
+
## `MessageRef` (type)
|
|
560
|
+
|
|
561
|
+
```ts
|
|
562
|
+
export type MessageRef = PluginRef | SkillRef
|
|
563
|
+
```
|
|
564
|
+
|
|
430
565
|
## `ModelCatalog` (interface)
|
|
431
566
|
|
|
432
567
|
```ts
|
|
@@ -441,15 +576,18 @@ unavailableProviderIds: string[] | undefined
|
|
|
441
576
|
## `ModelOption` (interface)
|
|
442
577
|
|
|
443
578
|
```ts
|
|
579
|
+
defaultReasoningLevel: string | undefined
|
|
444
580
|
id: string
|
|
445
581
|
label: string
|
|
582
|
+
reasoningLevels: string[] | undefined
|
|
446
583
|
serviceModelId: string | undefined
|
|
584
|
+
thinkingAvailable: boolean | undefined
|
|
447
585
|
```
|
|
448
586
|
|
|
449
587
|
## `ModelsResource` (class)
|
|
450
588
|
|
|
451
589
|
```ts
|
|
452
|
-
list: () => Promise<ModelCatalog>
|
|
590
|
+
list: (options?: { signal?: AbortSignal; }) => Promise<ModelCatalog>
|
|
453
591
|
```
|
|
454
592
|
|
|
455
593
|
## `MountHandle` (interface)
|
|
@@ -478,6 +616,24 @@ mount: (target: HTMLElement, data: T) => MountResult<T>
|
|
|
478
616
|
export type MountResult<T> = undefined | (() => void) | MountHandle<T>
|
|
479
617
|
```
|
|
480
618
|
|
|
619
|
+
## `normalizeMessageRefs` (function)
|
|
620
|
+
|
|
621
|
+
```ts
|
|
622
|
+
normalizeMessageRefs: (value: unknown) => MessageRef[]
|
|
623
|
+
```
|
|
624
|
+
|
|
625
|
+
## `normalizePluginRefs` (function)
|
|
626
|
+
|
|
627
|
+
```ts
|
|
628
|
+
normalizePluginRefs: (value: unknown) => PluginRef[]
|
|
629
|
+
```
|
|
630
|
+
|
|
631
|
+
## `normalizeTopicAssetRefs` (function)
|
|
632
|
+
|
|
633
|
+
```ts
|
|
634
|
+
normalizeTopicAssetRefs: (value: unknown) => TopicAssetRef[]
|
|
635
|
+
```
|
|
636
|
+
|
|
481
637
|
## `PaginatedSessionsResult` (interface)
|
|
482
638
|
|
|
483
639
|
```ts
|
|
@@ -488,6 +644,35 @@ offset: number
|
|
|
488
644
|
total: number
|
|
489
645
|
```
|
|
490
646
|
|
|
647
|
+
## `PluginRef` (interface)
|
|
648
|
+
|
|
649
|
+
```ts
|
|
650
|
+
id: string
|
|
651
|
+
label: string
|
|
652
|
+
plugin: string
|
|
653
|
+
provider: "plugin"
|
|
654
|
+
server: string
|
|
655
|
+
```
|
|
656
|
+
|
|
657
|
+
## `PreparedSend` (interface)
|
|
658
|
+
|
|
659
|
+
```ts
|
|
660
|
+
content: string
|
|
661
|
+
options: PreparedSendOptions
|
|
662
|
+
requestId: string
|
|
663
|
+
sessionId: string
|
|
664
|
+
```
|
|
665
|
+
|
|
666
|
+
## `PreparedSendOptions` (interface)
|
|
667
|
+
|
|
668
|
+
```ts
|
|
669
|
+
contextAttachments: ContextAttachment[] | undefined
|
|
670
|
+
mode: "planning" | "executing" | undefined
|
|
671
|
+
model: string | undefined
|
|
672
|
+
reasoningLevel: "max" | "off" | "minimal" | "low" | "medium" | "high" | "xhigh" | undefined
|
|
673
|
+
thinkingOverride: boolean | undefined
|
|
674
|
+
```
|
|
675
|
+
|
|
491
676
|
## `ProvidersResponse` (interface)
|
|
492
677
|
|
|
493
678
|
```ts
|
|
@@ -495,6 +680,23 @@ password_enabled: boolean
|
|
|
495
680
|
providers: { name: string; authorize_url: string; }[]
|
|
496
681
|
```
|
|
497
682
|
|
|
683
|
+
## `ProviderTool` (interface)
|
|
684
|
+
|
|
685
|
+
```ts
|
|
686
|
+
description: string | undefined
|
|
687
|
+
handler: (arguments_: Record<string, unknown>, context: { sessionId: string; signal: AbortSignal; }) => Promise<ProviderToolResult>
|
|
688
|
+
inputSchema: Record<string, unknown>
|
|
689
|
+
name: string
|
|
690
|
+
```
|
|
691
|
+
|
|
692
|
+
## `ProviderToolResult` (interface)
|
|
693
|
+
|
|
694
|
+
```ts
|
|
695
|
+
content: { type: "text"; text: string; }[]
|
|
696
|
+
isError: boolean | undefined
|
|
697
|
+
structuredContent: Record<string, unknown> | undefined
|
|
698
|
+
```
|
|
699
|
+
|
|
498
700
|
## `QueuedMessage` (interface)
|
|
499
701
|
|
|
500
702
|
```ts
|
|
@@ -596,13 +798,15 @@ SDK_VERSION: string
|
|
|
596
798
|
|
|
597
799
|
```ts
|
|
598
800
|
askUserAnswer: Record<string, unknown> | undefined
|
|
599
|
-
|
|
801
|
+
contextAttachments: ContextAttachment[] | undefined
|
|
600
802
|
mode: string | undefined
|
|
601
803
|
model: string | undefined
|
|
602
804
|
queueWhenRunning: boolean | undefined
|
|
603
805
|
reasoningLevel: string | undefined
|
|
806
|
+
refs: MessageRef[] | undefined
|
|
604
807
|
replayDecision: "keep_replay" | "continue_replay" | undefined
|
|
605
808
|
thinkingOverride: boolean | undefined
|
|
809
|
+
topicAssetRefs: TopicAssetRef[] | undefined
|
|
606
810
|
whatif: { from_step: number; quotes: Array<Record<string, unknown>>; deprecate_entry_ids: string[]; } | undefined
|
|
607
811
|
```
|
|
608
812
|
|
|
@@ -638,6 +842,15 @@ memoryEnabled: boolean | undefined
|
|
|
638
842
|
model: string | undefined
|
|
639
843
|
```
|
|
640
844
|
|
|
845
|
+
## `SessionConfiguration` (interface)
|
|
846
|
+
|
|
847
|
+
```ts
|
|
848
|
+
configuration: { solution_identity: Record<string, unknown> | null; solution_version: string | null; biz_role_id: string | null; biz_role_version: string | null; model: string | null; enable_thinking: boolean | null; memory_enabled: boolean; env: Record<string, string>; disable_tools: string[]; mcp_sources: Omit<McpSourceConfig, "bearer_token">[]; skip_confirmations: boolean; compaction_ratio: number | null; }
|
|
849
|
+
revision: number
|
|
850
|
+
session_id: string
|
|
851
|
+
version: string | null
|
|
852
|
+
```
|
|
853
|
+
|
|
641
854
|
## `SessionDefinition` (interface)
|
|
642
855
|
|
|
643
856
|
```ts
|
|
@@ -651,9 +864,9 @@ solution: SolutionDefinition | undefined
|
|
|
651
864
|
|
|
652
865
|
```ts
|
|
653
866
|
agent_runtime_id: string | null | undefined
|
|
867
|
+
anonymous: boolean | undefined
|
|
654
868
|
ba_version: string | null | undefined
|
|
655
869
|
biz_role_id: string | null | undefined
|
|
656
|
-
bound_skill_id: string | null | undefined
|
|
657
870
|
chat_group_id: string | null | undefined
|
|
658
871
|
created_at: string
|
|
659
872
|
daemon_id: string | null | undefined
|
|
@@ -674,8 +887,6 @@ pinned_at: string | null | undefined
|
|
|
674
887
|
plan_summary: string | null | undefined
|
|
675
888
|
ports: SessionPortMapping[] | undefined
|
|
676
889
|
preview_url: string | null | undefined
|
|
677
|
-
primary_skill_id: string | null | undefined
|
|
678
|
-
primary_skill_snapshot: PrimarySkillSnapshot | null | undefined
|
|
679
890
|
replay_state: ReplayState | null | undefined
|
|
680
891
|
runtime_type: string | null | undefined
|
|
681
892
|
sandbox_version: string | null | undefined
|
|
@@ -684,7 +895,6 @@ solution: Solution | null | undefined
|
|
|
684
895
|
solution_id: string | null | undefined
|
|
685
896
|
solution_ref: PublishedSolutionRef | null | undefined
|
|
686
897
|
status: "completed" | "failed" | "interrupted" | "running" | "created" | "waiting_for_input"
|
|
687
|
-
template_id: TemplateId | null | undefined
|
|
688
898
|
updated_at: string
|
|
689
899
|
viewer_role: "owner" | "viewer" | undefined
|
|
690
900
|
workspace_path: string | null | undefined
|
|
@@ -700,12 +910,12 @@ SessionInfo = type({
|
|
|
700
910
|
created_at: "string",
|
|
701
911
|
updated_at: "string",
|
|
702
912
|
"shared?": "boolean",
|
|
913
|
+
"anonymous?": "boolean",
|
|
703
914
|
"memory_enabled?": "boolean",
|
|
704
915
|
"is_persistent?": "boolean",
|
|
705
916
|
"initiator?": "'ui' | 'sdk' | 'unknown' | null",
|
|
706
917
|
"is_headless?": "boolean",
|
|
707
918
|
"viewer_role?": "'owner' | 'viewer'",
|
|
708
|
-
"template_id?": "string | null",
|
|
709
919
|
"model?": "string | null",
|
|
710
920
|
"enable_thinking?": "boolean | null",
|
|
711
921
|
"solution_id?": "string | null",
|
|
@@ -713,10 +923,6 @@ SessionInfo = type({
|
|
|
713
923
|
"biz_role_id?": "string | null",
|
|
714
924
|
"solution?": "unknown",
|
|
715
925
|
"plan_summary?": "string | null",
|
|
716
|
-
"primary_skill_id?": "string | null",
|
|
717
|
-
// ship-attack v2:后端 engine.set_bound_skill 写入的"绑定 skill id"。
|
|
718
|
-
// 未绑定 / 非 ship-attack session 为 null。
|
|
719
|
-
"bound_skill_id?": "string | null",
|
|
720
926
|
"replay_state?": "unknown",
|
|
721
927
|
"is_pinned?": "boolean",
|
|
722
928
|
"pinned_at?": "string | null",
|
|
@@ -766,15 +972,16 @@ export type SessionSetupStage = "solution" | "session" | "skill" | "connection"
|
|
|
766
972
|
```ts
|
|
767
973
|
attachAppCli: (sessionId: string, definition: AppCliDefinition) => Promise<AppCliAttachment>
|
|
768
974
|
callMcpApp: (sessionId: string, sourceId: string, request: { request_id: string; name: string; arguments: Record<string, unknown>; }, init?: RequestInit) => Promise<{ response: Record<string, unknown>; replayed: boolean; }>
|
|
769
|
-
checkoutSession: (sessionId: string, checkpointId: string, position: "before" | "turn_end", mode?: "both" | "conversation" | "code", linear?: boolean) => Promise<{ id: string; content: string; position: string; mode?: string; files_restored?: boolean; linear?: boolean; }>
|
|
975
|
+
checkoutSession: (sessionId: string, checkpointId: string, position: "before" | "turn_end", mode?: "both" | "conversation" | "code", linear?: boolean) => Promise<{ id: string; content: string; position: string; mode?: string; files_restored?: boolean; linear?: boolean; history_committed?: boolean; file_checkpoint_cleanup_failed?: boolean; warning?: string; }>
|
|
770
976
|
connect: (sessionId: string) => Promise<AgentSession>
|
|
771
977
|
copyFile: (sessionId: string, filePath: string) => Promise<{ path: string; }>
|
|
772
978
|
countFiles: (sessionId: string, dirPath?: string) => Promise<number>
|
|
773
979
|
create: (request?: CreateSessionRequest | SessionDefinition) => Promise<AgentSession>
|
|
774
|
-
createSession: (intent?: string
|
|
980
|
+
createSession: (intent?: string) => Promise<{ session_id: string; }>
|
|
775
981
|
createSessionWithRequest: (request: CreateSessionRequest) => Promise<{ session_id: string; }>
|
|
776
982
|
createShare: (sessionId: string) => Promise<ShareLinkResult>
|
|
777
983
|
createWithProfile: (params: { intent: string; profile: SessionProfile; }) => Promise<{ session_id: string; }>
|
|
984
|
+
deleteAnonymousSession: (sessionId: string) => Promise<{ deleted: boolean; }>
|
|
778
985
|
deleteFile: (sessionId: string, filePath: string) => Promise<void>
|
|
779
986
|
deleteSession: (sessionId: string, options?: { deleteWorkspace?: boolean; }) => Promise<{ deleted: boolean; workspace_deleted?: boolean; }>
|
|
780
987
|
downloadFile: (sessionId: string, filePath: string, downloadName?: string) => Promise<void>
|
|
@@ -789,9 +996,10 @@ getMcpAppContext: (sessionId: string, sourceId: string, init?: RequestInit) => P
|
|
|
789
996
|
getReplayPreview: (sessionId: string) => Promise<ReplayPreview>
|
|
790
997
|
getSession: (sessionId: string, init?: RequestInit) => Promise<SessionDetail>
|
|
791
998
|
getSessionCheckpoints: (sessionId: string, init?: RequestInit) => Promise<{ nodes: CheckpointNode[]; leaf_id: string | null; }>
|
|
999
|
+
getSessionConfiguration: (sessionId: string, init?: RequestInit) => Promise<SessionConfiguration>
|
|
792
1000
|
getSessionContextStats: (sessionId: string, init?: RequestInit) => Promise<SessionContextStats>
|
|
793
1001
|
getSessionHistory: (sessionId: string, init?: RequestInit) => Promise<SessionHistory>
|
|
794
|
-
getSessionPluginConfig: (sessionId: string, name: string, init?: RequestInit) => Promise<{ plugin: string; config: SessionPluginConfigState; }>
|
|
1002
|
+
getSessionPluginConfig: (sessionId: string, name: string, init?: RequestInit, scope?: "personal" | "global") => Promise<{ plugin: string; config: SessionPluginConfigState; can_configure_global?: boolean; host?: SessionPluginHostState | null; }>
|
|
795
1003
|
getSessionTasks: (sessionId: string) => Promise<Task[]>
|
|
796
1004
|
getSessionTurnCommands: (sessionId: string) => Promise<HistoricalCommand[]>
|
|
797
1005
|
getSessionTurnIndex: (sessionId: string) => Promise<SessionTurnIndex>
|
|
@@ -799,12 +1007,13 @@ getSessionTurns: (sessionId: string) => Promise<TurnProjection[]>
|
|
|
799
1007
|
getSessionTurnsPage: (sessionId: string, options?: SessionTurnsQuery, init?: RequestInit) => Promise<SessionTurnsPage>
|
|
800
1008
|
getSharedSession: (token: string) => Promise<TurnProjection[]>
|
|
801
1009
|
importSession: (file: File, name?: string, solutionOverride?: string | null | ImportSessionOptions) => Promise<{ session_id: string; }>
|
|
1010
|
+
listAnonymousSessions: () => Promise<Array<{ id: string; intent: string; created_at: string; status: string; }>>
|
|
802
1011
|
listBackgroundTasks: (sessionId: string, init?: RequestInit) => Promise<BackgroundTask[]>
|
|
803
1012
|
listDir: (sessionId: string, dirPath: string, showHidden?: boolean) => Promise<FileEntry[]>
|
|
804
1013
|
listResultFeedback: (sessionId: string) => Promise<ResultFeedback[]>
|
|
805
1014
|
listSessionPlugins: (sessionId: string, init?: RequestInit) => Promise<{ plugins: SessionPlugin[]; sync_version: number; sync_pending: boolean; }>
|
|
806
|
-
listSessions: (
|
|
807
|
-
listSessionsPaginated: (params: { limit: number; offset: number;
|
|
1015
|
+
listSessions: (solution_id?: string) => Promise<SessionInfo[]>
|
|
1016
|
+
listSessionsPaginated: (params: { limit: number; offset: number; solution_id?: string; solution_registry_id?: string; q?: string; chat_group_id?: string; }) => Promise<PaginatedSessionsResult>
|
|
808
1017
|
listSessionsWithSkillData: () => Promise<SkillDevSession[]>
|
|
809
1018
|
onMcpAppChanged: (sessionId: string, sourceId: string, listener: () => void) => () => void
|
|
810
1019
|
pinSession: (sessionId: string, pinned: boolean) => Promise<SessionInfo>
|
|
@@ -813,8 +1022,9 @@ previewImport: (file: File) => Promise<ImportPreview>
|
|
|
813
1022
|
probeSessionUrl: (sessionId: string, url: string) => Promise<{ reachable: boolean; requires_proxy: boolean; }>
|
|
814
1023
|
putResultFeedback: (sessionId: string, assistantEntryId: string, feedback: { helpful: boolean; reason?: ResultFeedbackReason | null; }) => Promise<ResultFeedback>
|
|
815
1024
|
renameFile: (sessionId: string, filePath: string, newName: string) => Promise<{ path: string; }>
|
|
1025
|
+
restartSessionPluginHost: (sessionId: string, name: string) => Promise<{ host: SessionPluginHostState | null; }>
|
|
816
1026
|
revokeShare: (sessionId: string, token: string) => Promise<{ revoked: boolean; }>
|
|
817
|
-
rewindSession: (sessionId: string, checkpointId: string) => Promise<{ id: string; content: string; }>
|
|
1027
|
+
rewindSession: (sessionId: string, checkpointId: string) => Promise<{ id: string; content: string; history_committed?: boolean; file_checkpoint_cleanup_failed?: boolean; warning?: string; }>
|
|
818
1028
|
searchOwnedContent: (params: { q: string; limit?: number; }) => Promise<GlobalSearchResult>
|
|
819
1029
|
sessionPluginIconUrl: (sessionId: string, name: string) => string
|
|
820
1030
|
setSessionEnv: (sessionId: string, env: Record<string, string>) => Promise<SessionDetail>
|
|
@@ -828,8 +1038,9 @@ tokenizePrompt: (prompt: string, model?: string) => Promise<TokenizeResult>
|
|
|
828
1038
|
updateMcpAppContext: (sessionId: string, sourceId: string, body: McpAppContextUpdate, init?: RequestInit) => Promise<{ status: "accepted"; revision: string; }>
|
|
829
1039
|
updateReplaySession: (sessionId: string, payload: { speed?: ReplaySpeed; status?: "autonomous"; }) => Promise<{ replay_state: SessionInfo["replay_state"]; }>
|
|
830
1040
|
updateSession: (sessionId: string, payload: { intent?: string; chat_group_id?: string | null; }) => Promise<SessionDetail>
|
|
1041
|
+
updateSessionConfiguration: (sessionId: string, request: UpdateSessionConfigurationRequest) => Promise<SessionConfiguration>
|
|
831
1042
|
updateSessionMemory: (sessionId: string, memoryEnabled: boolean) => Promise<{ memory_enabled: boolean; }>
|
|
832
|
-
updateSessionPluginConfig: (sessionId: string, name: string, update: SessionPluginConfigUpdate, init?: RequestInit) => Promise<{ plugin: string; config: SessionPluginConfigState; }>
|
|
1043
|
+
updateSessionPluginConfig: (sessionId: string, name: string, update: SessionPluginConfigUpdate, init?: RequestInit, scope?: "personal" | "global") => Promise<{ plugin: string; config: SessionPluginConfigState; }>
|
|
833
1044
|
updateSharing: (sessionId: string, shared: boolean) => Promise<{ shared: boolean; }>
|
|
834
1045
|
uploadFiles: (sessionId: string, dirPath: string, files: FileList | File[] | UploadFileEntry[], options?: UploadFilesOptions) => Promise<{ uploaded: string[]; failed: string[]; results: Array<{ index: number; path?: string; error?: string; }>; }>
|
|
835
1046
|
writeFile: (sessionId: string, filePath: string, content: string) => Promise<{ success: boolean; }>
|
|
@@ -908,6 +1119,14 @@ installed: boolean | undefined
|
|
|
908
1119
|
local: boolean | undefined
|
|
909
1120
|
```
|
|
910
1121
|
|
|
1122
|
+
## `SkillRef` (interface)
|
|
1123
|
+
|
|
1124
|
+
```ts
|
|
1125
|
+
id: string
|
|
1126
|
+
label: string
|
|
1127
|
+
provider: "skill"
|
|
1128
|
+
```
|
|
1129
|
+
|
|
911
1130
|
## `SolutionDefinition` (type)
|
|
912
1131
|
|
|
913
1132
|
```ts
|
|
@@ -945,17 +1164,91 @@ export type TokenStorageMode = "local" | "memory"
|
|
|
945
1164
|
arguments: string
|
|
946
1165
|
display_name: string | null | undefined
|
|
947
1166
|
duration_ms: number | null | undefined
|
|
1167
|
+
evidence: ToolEvidence[] | undefined
|
|
948
1168
|
id: string
|
|
949
1169
|
name: string
|
|
950
1170
|
pending_question_ref: PendingQuestionRef | null | undefined
|
|
951
1171
|
result: unknown
|
|
952
1172
|
status: "done" | "error" | "cancelled" | "awaiting_answer" | "pending" | undefined
|
|
1173
|
+
workflow_steps: WorkflowStepInfo[] | null | undefined
|
|
1174
|
+
```
|
|
1175
|
+
|
|
1176
|
+
## `ToolEvidence` (interface)
|
|
1177
|
+
|
|
1178
|
+
```ts
|
|
1179
|
+
branch: string
|
|
1180
|
+
digest: string
|
|
1181
|
+
id: string
|
|
1182
|
+
loop: string
|
|
1183
|
+
n: number
|
|
1184
|
+
parent_tool_call_id: string | undefined
|
|
1185
|
+
plugin: string
|
|
1186
|
+
server: string
|
|
1187
|
+
source: string
|
|
1188
|
+
text: string
|
|
1189
|
+
title: string
|
|
1190
|
+
tool_call_id: string
|
|
1191
|
+
url: string | undefined
|
|
1192
|
+
```
|
|
1193
|
+
|
|
1194
|
+
## `ToolProvider` (class)
|
|
1195
|
+
|
|
1196
|
+
```ts
|
|
1197
|
+
dispose: () => void
|
|
1198
|
+
ready: () => Promise<void>
|
|
1199
|
+
reconnect: () => void
|
|
1200
|
+
url: string
|
|
1201
|
+
```
|
|
1202
|
+
|
|
1203
|
+
## `ToolProviderOptions` (interface)
|
|
1204
|
+
|
|
1205
|
+
```ts
|
|
1206
|
+
capability: string
|
|
1207
|
+
onError: ((error: Error) => void) | undefined
|
|
1208
|
+
providerId: string
|
|
1209
|
+
tools: ProviderTool[]
|
|
1210
|
+
```
|
|
1211
|
+
|
|
1212
|
+
## `TopicAssetRef` (interface)
|
|
1213
|
+
|
|
1214
|
+
```ts
|
|
1215
|
+
path: string
|
|
1216
|
+
topic_id: string
|
|
953
1217
|
```
|
|
954
1218
|
|
|
955
1219
|
## `transformSlashCommand` (function)
|
|
956
1220
|
|
|
957
1221
|
```ts
|
|
958
|
-
transformSlashCommand: (skillName: string, rawInput: string,
|
|
1222
|
+
transformSlashCommand: (skillName: string, rawInput: string, _availability?: SkillMentionAvailability) => string
|
|
1223
|
+
```
|
|
1224
|
+
|
|
1225
|
+
## `UpdateChatGroupTask` (interface)
|
|
1226
|
+
|
|
1227
|
+
```ts
|
|
1228
|
+
description: string | undefined
|
|
1229
|
+
due_date: string | null | undefined
|
|
1230
|
+
owner_user_id: string | undefined
|
|
1231
|
+
status: "done" | "todo" | "doing" | undefined
|
|
1232
|
+
title: string | undefined
|
|
1233
|
+
```
|
|
1234
|
+
|
|
1235
|
+
## `UpdateSessionConfigurationRequest` (interface)
|
|
1236
|
+
|
|
1237
|
+
```ts
|
|
1238
|
+
biz_role_id: string | undefined
|
|
1239
|
+
compaction_ratio: number | null | undefined
|
|
1240
|
+
disable_tools: string[] | undefined
|
|
1241
|
+
enable_thinking: boolean | null | undefined
|
|
1242
|
+
env: Record<string, string> | undefined
|
|
1243
|
+
expected_revision: number | undefined
|
|
1244
|
+
mcp_sources: McpSourceConfig[] | undefined
|
|
1245
|
+
memory_enabled: boolean | undefined
|
|
1246
|
+
model: string | undefined
|
|
1247
|
+
session_solution_asset_id: string | undefined
|
|
1248
|
+
skip_confirmations: boolean | undefined
|
|
1249
|
+
solution_id: string | undefined
|
|
1250
|
+
solution_ref: PublishedSolutionRef | undefined
|
|
1251
|
+
version: string
|
|
959
1252
|
```
|
|
960
1253
|
|
|
961
1254
|
## `UploadFileEntry` (type)
|
|
@@ -1000,8 +1293,10 @@ username: string
|
|
|
1000
1293
|
|
|
1001
1294
|
```ts
|
|
1002
1295
|
export type WorkflowRunEntry =
|
|
1003
|
-
|
|
1004
|
-
| { kind: "
|
|
1296
|
+
/** status:步骤终态(done / error / cancelled);落史与直播的终态更新都会带上。 */
|
|
1297
|
+
| { kind: "step"; stepId: string; desc: string; stepKind: string; status?: string }
|
|
1298
|
+
/** stepId:这行属于哪一步。并行分支的输出不按宣告顺序到达,不能按位置归到上一步。 */
|
|
1299
|
+
| { kind: "log"; text: string; stepId?: string }
|
|
1005
1300
|
```
|
|
1006
1301
|
|
|
1007
1302
|
## `WorkflowRunState` (interface)
|
|
@@ -1013,3 +1308,15 @@ status: "running" | "done" | "error" | "cancelled"
|
|
|
1013
1308
|
toolCallId: string
|
|
1014
1309
|
```
|
|
1015
1310
|
|
|
1311
|
+
## `WorkflowStepInfo` (interface)
|
|
1312
|
+
|
|
1313
|
+
```ts
|
|
1314
|
+
desc: string | undefined
|
|
1315
|
+
log_seq: number | undefined
|
|
1316
|
+
output: string | undefined
|
|
1317
|
+
seq: number | undefined
|
|
1318
|
+
status: string | undefined
|
|
1319
|
+
step_id: string
|
|
1320
|
+
step_kind: string | undefined
|
|
1321
|
+
```
|
|
1322
|
+
|