diff --git a/.openclaw-sync/source.json b/.openclaw-sync/source.json index d8e03f2ab..4cd49224f 100644 --- a/.openclaw-sync/source.json +++ b/.openclaw-sync/source.json @@ -1,5 +1,5 @@ { "repository": "openclaw/openclaw", - "sha": "c0058fda2f8a6bc742d2e37bd0cc1ac77d252404", - "syncedAt": "2026-04-30T23:40:56.422Z" + "sha": "a102f4dede6af52523473ac29575c7e442493d15", + "syncedAt": "2026-05-01T00:36:55.572Z" } diff --git a/docs/concepts/openclaw-sdk.md b/docs/concepts/openclaw-sdk.md index 8e461a628..499f2ddd6 100644 --- a/docs/concepts/openclaw-sdk.md +++ b/docs/concepts/openclaw-sdk.md @@ -39,6 +39,7 @@ resources. | `Session.send()` | Ready | Calls `sessions.send` and returns a `Run`. | | `oc.models` | Ready | Calls `models.list` and the current `models.authStatus` status RPC. | | `oc.tools` | Partial | Lists tool catalog and effective tools; direct tool invocation is not wired. | +| `oc.artifacts` | Ready | Lists, gets, and downloads Gateway transcript artifacts. | | `oc.approvals` | Ready | Lists and resolves exec approvals through Gateway approval RPCs. | | `oc.rawEvents()` | Ready | Exposes raw Gateway events for advanced consumers. | | `normalizeGatewayEvent()` | Ready | Converts raw Gateway events into the stable SDK event shape. | @@ -47,8 +48,10 @@ The SDK also exports the core types used by those surfaces: `AgentRunParams`, `RunResult`, `RunStatus`, `OpenClawEvent`, `OpenClawEventType`, `GatewayEvent`, `OpenClawTransport`, `GatewayRequestOptions`, `SessionCreateParams`, `SessionSendParams`, -`RuntimeSelection`, `EnvironmentSelection`, `WorkspaceSelection`, -`ApprovalMode`, and related result types. +`ArtifactSummary`, `ArtifactQuery`, `ArtifactsListResult`, +`ArtifactsGetResult`, `ArtifactsDownloadResult`, `RuntimeSelection`, +`EnvironmentSelection`, `WorkspaceSelection`, `ApprovalMode`, and related +result types. ## Connect To A Gateway @@ -204,7 +207,7 @@ for await (const event of run.events()) { For app-wide streams, use `oc.events()`. For raw Gateway frames, use `oc.rawEvents()`. -## Models, Tools, And Approvals +## Models, Tools, Artifacts, And Approvals Model helpers map to current Gateway methods: @@ -220,6 +223,21 @@ await oc.tools.list(); await oc.tools.effective({ sessionKey: "main" }); ``` +Artifact helpers expose the Gateway artifact projection for session, run, or +task context. Each call requires one explicit `sessionKey`, `runId`, or +`taskId` scope: + +```typescript +const { artifacts } = await oc.artifacts.list({ sessionKey: "main" }); +const first = artifacts[0]; + +if (first) { + const { artifact } = await oc.artifacts.get(first.id, { sessionKey: "main" }); + const download = await oc.artifacts.download(artifact.id, { sessionKey: "main" }); + console.log(download.encoding, download.url); +} +``` + Approval helpers use the exec approval RPCs: ```typescript @@ -240,10 +258,6 @@ await oc.tasks.cancel("task-id"); await oc.tools.invoke("tool-name", {}); -await oc.artifacts.list(); -await oc.artifacts.get("artifact-id"); -await oc.artifacts.download("artifact-id"); - await oc.environments.list(); await oc.environments.create({}); await oc.environments.status("environment-id"); diff --git a/docs/gateway/protocol.md b/docs/gateway/protocol.md index 9a0fa2870..2f572f677 100644 --- a/docs/gateway/protocol.md +++ b/docs/gateway/protocol.md @@ -388,6 +388,7 @@ enumeration of `src/gateway/server-methods/*.ts`. - `agents.list` returns configured agent entries, including effective model and runtime metadata. - `agents.create`, `agents.update`, and `agents.delete` manage agent records and workspace wiring. - `agents.files.list`, `agents.files.get`, and `agents.files.set` manage the bootstrap workspace files exposed for an agent. + - `artifacts.list`, `artifacts.get`, and `artifacts.download` expose transcript-derived artifact summaries and downloads for an explicit `sessionKey`, `runId`, or `taskId` scope. Run and task queries resolve the owning session server-side and only return transcript media with matching provenance; unsafe or local URL sources return unsupported downloads instead of fetching server-side. - `agent.identity.get` returns the effective assistant identity for an agent or session. - `agent.wait` waits for a run to finish and returns the terminal snapshot when available.