@anvia/studio 0.8.1 → 1.0.0-rc.10
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 +69 -19
- package/dist/index.d.ts +179 -116
- package/dist/index.js +1683 -1487
- package/dist/index.js.map +1 -1
- package/dist/ui/assets/ArrowClockwise.es-CSEY3Qr6.js +2 -0
- package/dist/ui/assets/{ArrowClockwise.es-CSN-gjxO.js.map → ArrowClockwise.es-CSEY3Qr6.js.map} +1 -1
- package/dist/ui/assets/CaretDown.es-BHAPbv1R.js +2 -0
- package/dist/ui/assets/CaretDown.es-BHAPbv1R.js.map +1 -0
- package/dist/ui/assets/Check.es-BLChmggz.js +2 -0
- package/dist/ui/assets/Check.es-BLChmggz.js.map +1 -0
- package/dist/ui/assets/Wrench.es-BL6BmNv7.js +4 -0
- package/dist/ui/assets/Wrench.es-BL6BmNv7.js.map +1 -0
- package/dist/ui/assets/agents-page-DQqt45If.js +2 -0
- package/dist/ui/assets/agents-page-DQqt45If.js.map +1 -0
- package/dist/ui/assets/{badge-RJJoRC4P.js → badge-CcajoiAt.js} +1 -1
- package/dist/ui/assets/{badge-RJJoRC4P.js.map → badge-CcajoiAt.js.map} +1 -1
- package/dist/ui/assets/button-07gzSO47.js +2 -0
- package/dist/ui/assets/button-07gzSO47.js.map +1 -0
- package/dist/ui/assets/chunk-QGX73TSQ-D9QAGlAY.js +65 -0
- package/dist/ui/assets/chunk-QGX73TSQ-D9QAGlAY.js.map +1 -0
- package/dist/ui/assets/dialog-CNNQ3hoF.js +2 -0
- package/dist/ui/assets/dialog-CNNQ3hoF.js.map +1 -0
- package/dist/ui/assets/dist-CqMdRzwk.js +2 -0
- package/dist/ui/assets/dist-CqMdRzwk.js.map +1 -0
- package/dist/ui/assets/dist-DWqJwN1i.js +2 -0
- package/dist/ui/assets/dist-DWqJwN1i.js.map +1 -0
- package/dist/ui/assets/es2015-DsZq7PFO.js +42 -0
- package/dist/ui/assets/es2015-DsZq7PFO.js.map +1 -0
- package/dist/ui/assets/icon-CqkMSRbt.js +2 -0
- package/dist/ui/assets/icon-CqkMSRbt.js.map +1 -0
- package/dist/ui/assets/index-BdhE3teo.js +12 -0
- package/dist/ui/assets/index-BdhE3teo.js.map +1 -0
- package/dist/ui/assets/index-CFbK-pX6.css +2 -0
- package/dist/ui/assets/{input-BOUv3rgO.js → input-BiI6gsxA.js} +1 -1
- package/dist/ui/assets/{input-BOUv3rgO.js.map → input-BiI6gsxA.js.map} +1 -1
- package/dist/ui/assets/knowledge-model-S51n2rKh.js +2 -0
- package/dist/ui/assets/knowledge-model-S51n2rKh.js.map +1 -0
- package/dist/ui/assets/knowledge-page-DZeLh92t.js +2 -0
- package/dist/ui/assets/{knowledge-page-Cot_uYcE.js.map → knowledge-page-DZeLh92t.js.map} +1 -1
- package/dist/ui/assets/mcps-page-CDPMO2x9.js +2 -0
- package/dist/ui/assets/{mcps-page-BSO6ork4.js.map → mcps-page-CDPMO2x9.js.map} +1 -1
- package/dist/ui/assets/memory-page-D3UhjpTb.js +4 -0
- package/dist/ui/assets/memory-page-D3UhjpTb.js.map +1 -0
- package/dist/ui/assets/pipelines-page-BP8R6NI7.js +8 -0
- package/dist/ui/assets/pipelines-page-BP8R6NI7.js.map +1 -0
- package/dist/ui/assets/{renderers-B8gvjR2u.js → renderers-DHMEAblV.js} +3 -3
- package/dist/ui/assets/{renderers-B8gvjR2u.js.map → renderers-DHMEAblV.js.map} +1 -1
- package/dist/ui/assets/request-7oUPS8zY.js +4 -0
- package/dist/ui/assets/request-7oUPS8zY.js.map +1 -0
- package/dist/ui/assets/rfb-DiW3PDuT.js +6 -0
- package/dist/ui/assets/rfb-DiW3PDuT.js.map +1 -0
- package/dist/ui/assets/sandboxes-page-C6kokYwc.js +2 -0
- package/dist/ui/assets/sandboxes-page-C6kokYwc.js.map +1 -0
- package/dist/ui/assets/select-BOYfrfck.js +2 -0
- package/dist/ui/assets/select-BOYfrfck.js.map +1 -0
- package/dist/ui/assets/sessions-page-ClXzRM9K.js +2 -0
- package/dist/ui/assets/{sessions-page-CSN2vSKZ.js.map → sessions-page-ClXzRM9K.js.map} +1 -1
- package/dist/ui/assets/status-page-eA8uRLZQ.js +2 -0
- package/dist/ui/assets/{status-page-CgRNt0wi.js.map → status-page-eA8uRLZQ.js.map} +1 -1
- package/dist/ui/assets/studio-CeTsQ4gf.js +2 -0
- package/dist/ui/assets/studio-CeTsQ4gf.js.map +1 -0
- package/dist/ui/assets/textarea-DESKg_ZK.js +2 -0
- package/dist/ui/assets/textarea-DESKg_ZK.js.map +1 -0
- package/dist/ui/assets/tool-runner-D3-SlGqQ.js +2 -0
- package/dist/ui/assets/{tool-runner-BZN-PZJU.js.map → tool-runner-D3-SlGqQ.js.map} +1 -1
- package/dist/ui/assets/tools-page-D3gnQf1_.js +2 -0
- package/dist/ui/assets/{tools-page-DRv7aklU.js.map → tools-page-D3gnQf1_.js.map} +1 -1
- package/dist/ui/assets/trace-browser-D93H7Xxs.js +10 -0
- package/dist/ui/assets/trace-browser-D93H7Xxs.js.map +1 -0
- package/dist/ui/assets/transcript-item-BmjdZLbS.js +3 -0
- package/dist/ui/assets/transcript-item-BmjdZLbS.js.map +1 -0
- package/dist/ui/assets/with-selector-CRZWaZzC.js +2 -0
- package/dist/ui/assets/with-selector-CRZWaZzC.js.map +1 -0
- package/dist/ui/index.html +19 -3
- package/package.json +16 -11
- package/dist/ui/assets/ArrowClockwise.es-CSN-gjxO.js +0 -2
- package/dist/ui/assets/agents-page-CkNSbqAj.js +0 -2
- package/dist/ui/assets/agents-page-CkNSbqAj.js.map +0 -1
- package/dist/ui/assets/chunk-ADH7NNCS-DM6fsnDI.js +0 -2
- package/dist/ui/assets/chunk-ADH7NNCS-DM6fsnDI.js.map +0 -1
- package/dist/ui/assets/index-Bh7RLPBw.js +0 -56
- package/dist/ui/assets/index-Bh7RLPBw.js.map +0 -1
- package/dist/ui/assets/index-D-CbFx6c.css +0 -1
- package/dist/ui/assets/knowledge-page-Cot_uYcE.js +0 -2
- package/dist/ui/assets/mcps-page-BSO6ork4.js +0 -2
- package/dist/ui/assets/memory-page-CG84G--r.js +0 -4
- package/dist/ui/assets/memory-page-CG84G--r.js.map +0 -1
- package/dist/ui/assets/pipelines-page-Hbf5ffUH.js +0 -8
- package/dist/ui/assets/pipelines-page-Hbf5ffUH.js.map +0 -1
- package/dist/ui/assets/sandboxes-page-D910dyFO.js +0 -2
- package/dist/ui/assets/sandboxes-page-D910dyFO.js.map +0 -1
- package/dist/ui/assets/sessions-page-CSN2vSKZ.js +0 -2
- package/dist/ui/assets/status-page-CgRNt0wi.js +0 -2
- package/dist/ui/assets/tool-runner-BZN-PZJU.js +0 -2
- package/dist/ui/assets/tools-page-DRv7aklU.js +0 -2
- package/dist/ui/assets/trace-browser-B07coNNE.js +0 -10
- package/dist/ui/assets/trace-browser-B07coNNE.js.map +0 -1
- package/dist/ui/assets/transcript-item-ZNkQEaCw.js +0 -3
- package/dist/ui/assets/transcript-item-ZNkQEaCw.js.map +0 -1
package/README.md
CHANGED
|
@@ -19,7 +19,7 @@ pnpm --filter @anvia/studio build
|
|
|
19
19
|
## Usage
|
|
20
20
|
|
|
21
21
|
```ts
|
|
22
|
-
import {
|
|
22
|
+
import { Agent } from "@anvia/core";
|
|
23
23
|
import { OpenAIClient } from "@anvia/openai";
|
|
24
24
|
import { Studio } from "@anvia/studio";
|
|
25
25
|
|
|
@@ -27,11 +27,13 @@ const client = new OpenAIClient({
|
|
|
27
27
|
apiKey,
|
|
28
28
|
});
|
|
29
29
|
|
|
30
|
-
const agent = new
|
|
31
|
-
|
|
32
|
-
.
|
|
33
|
-
|
|
34
|
-
.
|
|
30
|
+
const agent = new Agent({
|
|
31
|
+
id: "support",
|
|
32
|
+
model: client.completionModel({ modelId: "gpt-5", api: "responses" }),
|
|
33
|
+
name: "Support",
|
|
34
|
+
description: "Answers support questions.",
|
|
35
|
+
instructions: "Answer support questions clearly.",
|
|
36
|
+
});
|
|
35
37
|
|
|
36
38
|
new Studio([agent]).start({
|
|
37
39
|
port: 4021,
|
|
@@ -49,7 +51,7 @@ http://localhost:4021/ui/playground
|
|
|
49
51
|
Studio can expose a shared model catalog and let each agent choose from registered providers:
|
|
50
52
|
|
|
51
53
|
```ts
|
|
52
|
-
import {
|
|
54
|
+
import { Agent } from "@anvia/core";
|
|
53
55
|
import { AnthropicClient } from "@anvia/anthropic";
|
|
54
56
|
import { OpenAIClient } from "@anvia/openai";
|
|
55
57
|
import { Studio } from "@anvia/studio";
|
|
@@ -57,10 +59,12 @@ import { Studio } from "@anvia/studio";
|
|
|
57
59
|
const openai = new OpenAIClient({ apiKey: process.env.OPENAI_API_KEY });
|
|
58
60
|
const anthropic = new AnthropicClient({ apiKey: process.env.ANTHROPIC_API_KEY });
|
|
59
61
|
|
|
60
|
-
const agent = new
|
|
61
|
-
|
|
62
|
-
.
|
|
63
|
-
|
|
62
|
+
const agent = new Agent({
|
|
63
|
+
id: "support",
|
|
64
|
+
model: openai.completionModel({ modelId: "gpt-5", api: "responses" }),
|
|
65
|
+
name: "Support",
|
|
66
|
+
instructions: "Answer support questions clearly.",
|
|
67
|
+
});
|
|
64
68
|
|
|
65
69
|
new Studio([agent], {
|
|
66
70
|
models: {
|
|
@@ -68,8 +72,9 @@ new Studio([agent], {
|
|
|
68
72
|
{
|
|
69
73
|
id: "openai",
|
|
70
74
|
name: "OpenAI",
|
|
71
|
-
|
|
72
|
-
createCompletionModel: (
|
|
75
|
+
defaultModelId: "gpt-5",
|
|
76
|
+
createCompletionModel: ({ modelId }) =>
|
|
77
|
+
openai.completionModel({ modelId, api: "responses" }),
|
|
73
78
|
listModels: () => openai.listModels(),
|
|
74
79
|
models: [
|
|
75
80
|
{
|
|
@@ -81,14 +86,14 @@ new Studio([agent], {
|
|
|
81
86
|
{
|
|
82
87
|
id: "anthropic",
|
|
83
88
|
name: "Anthropic",
|
|
84
|
-
|
|
85
|
-
createCompletionModel: (
|
|
89
|
+
defaultModelId: "claude-sonnet-4-20250514",
|
|
90
|
+
createCompletionModel: ({ modelId }) => anthropic.completionModel({ modelId }),
|
|
86
91
|
},
|
|
87
92
|
],
|
|
88
93
|
agents: {
|
|
89
94
|
support: {
|
|
90
|
-
|
|
91
|
-
allowed: ["openai:*", "anthropic:claude-sonnet-4-20250514"],
|
|
95
|
+
defaultModelRef: { providerId: "openai", modelId: "gpt-5" },
|
|
96
|
+
allowed: ["openai:*", { providerId: "anthropic", modelId: "claude-sonnet-4-20250514" }],
|
|
92
97
|
},
|
|
93
98
|
},
|
|
94
99
|
},
|
|
@@ -100,8 +105,11 @@ also select a model per run:
|
|
|
100
105
|
|
|
101
106
|
```json
|
|
102
107
|
{
|
|
103
|
-
"
|
|
104
|
-
"model":
|
|
108
|
+
"messages": [{ "role": "user", "content": "Summarize this ticket" }],
|
|
109
|
+
"model": {
|
|
110
|
+
"providerId": "anthropic",
|
|
111
|
+
"modelId": "claude-sonnet-4-20250514"
|
|
112
|
+
},
|
|
105
113
|
"stream": true
|
|
106
114
|
}
|
|
107
115
|
```
|
|
@@ -120,6 +128,10 @@ Studio exposes:
|
|
|
120
128
|
- Status dashboard for storage adapters, record counts, and enabled capabilities
|
|
121
129
|
- Knowledge tabs for static context, dynamic context, dynamic tools, and retrieval log
|
|
122
130
|
|
|
131
|
+
Studio reads MCP provenance directly from `Agent.mcpServers`. Prefixes configured by an
|
|
132
|
+
`McpClient` remain visible in both the MCP inspector and direct tool runner, while the remote tool
|
|
133
|
+
name stays available on the typed MCP registration.
|
|
134
|
+
|
|
123
135
|
## Session Storage
|
|
124
136
|
|
|
125
137
|
Studio uses an in-memory store by default. Sessions, traces, and pipeline run history are available while the process is running, but they do not create local files unless you pass an explicit SQLite store. If you omit the port, Studio uses `RUNNER_PORT` and then falls back to `4021`.
|
|
@@ -152,3 +164,41 @@ pnpm --filter @anvia/studio typecheck
|
|
|
152
164
|
pnpm --filter @anvia/studio test
|
|
153
165
|
pnpm --filter @anvia/studio build
|
|
154
166
|
```
|
|
167
|
+
## Browser sandbox views
|
|
168
|
+
|
|
169
|
+
Sandbox registrations may include explicit noVNC views. Studio resolves the upstream only through the
|
|
170
|
+
inspector's loopback-published port and exposes an authorized, same-origin WebSocket bridge. Studio's
|
|
171
|
+
programmatic noVNC client renders the desktop directly, so the stock noVNC splash, toolbar, and password
|
|
172
|
+
prompt are not part of the UI.
|
|
173
|
+
|
|
174
|
+
```ts
|
|
175
|
+
const studio = new Studio([agent], {
|
|
176
|
+
sandboxes: [
|
|
177
|
+
{
|
|
178
|
+
inspector: browser.inspector({ files: true, ports: true, processes: true }),
|
|
179
|
+
views: [
|
|
180
|
+
{
|
|
181
|
+
id: "desktop",
|
|
182
|
+
label: "Browser",
|
|
183
|
+
source: browser.desktop,
|
|
184
|
+
access: { mode: "local" },
|
|
185
|
+
authentication: { type: "password", password },
|
|
186
|
+
},
|
|
187
|
+
],
|
|
188
|
+
},
|
|
189
|
+
],
|
|
190
|
+
});
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
Local mode requires a loopback connection and a same-origin browser request. Remotely reachable Studio
|
|
194
|
+
instances must instead provide `{ mode: "authorize", authorize }`; the application callback runs for
|
|
195
|
+
the viewer connection, WebSocket upgrade, and every takeover operation. Studio does not provide or infer
|
|
196
|
+
an application authentication system. View credentials are omitted from sandbox discovery metadata and
|
|
197
|
+
URLs and returned only by the authorized, non-cacheable viewer-connection endpoint.
|
|
198
|
+
|
|
199
|
+
When a registered agent emits a matching browser tool call, Playground replaces its Sessions sidebar
|
|
200
|
+
with a larger resizable desktop panel. The embedded desktop remains view-only until the user explicitly
|
|
201
|
+
takes control. That lease blocks Anvia browser tools, is renewed by the UI, and expires when abandoned.
|
|
202
|
+
It is a coordination boundary rather than a replacement for application authorization. The Sandboxes
|
|
203
|
+
page continues to expose the registered view as inspectable runtime metadata. Closing the Playground
|
|
204
|
+
panel restores Sessions without forgetting the current browser; use **Open browser** to show it again.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { Hono } from 'hono';
|
|
2
2
|
import { AgentObserver, AgentRunStartArgs, AgentRunObserver } from '@anvia/core/observability';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { AgentResult, AgentSuspendedResult, AgentStreamEvent, Agent } from '@anvia/core/agent';
|
|
4
|
+
import { AgentInteractionResponse } from '@anvia/core/agent/interactions';
|
|
5
|
+
import { JsonObject, Message, JsonValue, CompletionModelCapabilities, ToolResultContentPart, Usage, CompletionModel, StreamingCompletionModel } from '@anvia/core/completion';
|
|
6
|
+
import { MemoryStore, MemoryAppendOptions, MemoryErrorOptions, MemoryScope } from '@anvia/core/memory';
|
|
5
7
|
import { ModelList } from '@anvia/core/model-listing';
|
|
6
8
|
import { Pipeline, PipelineGraph } from '@anvia/core/pipeline';
|
|
7
|
-
import { PromptResponse, AgentStreamEvent } from '@anvia/core/request';
|
|
8
9
|
|
|
9
10
|
declare function traceSummary(trace: StudioTrace): StudioTraceSummary;
|
|
10
11
|
|
|
11
|
-
type StudioCapability = "agents" | "
|
|
12
|
+
type StudioCapability = "agents" | "interactions" | "evals" | "memory" | "knowledge" | "mcps" | "observability" | "pipelines" | "sandboxes" | "sessions" | "status" | "tools" | "traces";
|
|
12
13
|
type AgentTraceInfo = {
|
|
14
|
+
observer: string;
|
|
13
15
|
traceId?: string | undefined;
|
|
14
16
|
observationId?: string | undefined;
|
|
15
17
|
};
|
|
@@ -17,15 +19,14 @@ type AgentTraceOptions = {
|
|
|
17
19
|
name?: string | undefined;
|
|
18
20
|
userId?: string | undefined;
|
|
19
21
|
sessionId?: string | undefined;
|
|
20
|
-
metadata?:
|
|
22
|
+
metadata?: JsonObject | undefined;
|
|
21
23
|
tags?: string[] | undefined;
|
|
22
24
|
version?: string | undefined;
|
|
23
25
|
traceId?: string | undefined;
|
|
24
|
-
failOnObserverError?: boolean | undefined;
|
|
25
26
|
};
|
|
26
|
-
type StudioModelRef =
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
type StudioModelRef = {
|
|
28
|
+
providerId: string;
|
|
29
|
+
modelId: string;
|
|
29
30
|
};
|
|
30
31
|
type StudioModelModality = "text" | "image" | "document" | "audio" | "video";
|
|
31
32
|
type StudioModelModalities = {
|
|
@@ -43,19 +44,23 @@ type StudioModelDefinition = {
|
|
|
43
44
|
type StudioModelProvider = {
|
|
44
45
|
id: string;
|
|
45
46
|
name?: string;
|
|
46
|
-
|
|
47
|
+
defaultModelId?: string;
|
|
47
48
|
models?: StudioModelDefinition[];
|
|
48
|
-
createCompletionModel(
|
|
49
|
-
|
|
49
|
+
createCompletionModel(options: {
|
|
50
|
+
modelId: string;
|
|
51
|
+
}): CompletionModel | StreamingCompletionModel;
|
|
52
|
+
listModels?: (options?: {
|
|
53
|
+
abortSignal?: AbortSignal | undefined;
|
|
54
|
+
}) => Promise<ModelList>;
|
|
50
55
|
metadata?: JsonObject;
|
|
51
56
|
};
|
|
52
57
|
type StudioAgentModelPolicy = {
|
|
53
|
-
|
|
58
|
+
defaultModelRef?: StudioModelRef;
|
|
54
59
|
allowed?: Array<StudioModelRef | `${string}:*`>;
|
|
55
60
|
};
|
|
56
61
|
type StudioModelConfig = {
|
|
57
62
|
providers: StudioModelProvider[];
|
|
58
|
-
|
|
63
|
+
defaultModelRef?: StudioModelRef;
|
|
59
64
|
agents?: Record<string, StudioAgentModelPolicy>;
|
|
60
65
|
};
|
|
61
66
|
type StudioModelSummary = StudioModelDefinition & {
|
|
@@ -66,23 +71,23 @@ type StudioModelSummary = StudioModelDefinition & {
|
|
|
66
71
|
type StudioModelProviderConfig = {
|
|
67
72
|
id: string;
|
|
68
73
|
name?: string;
|
|
69
|
-
|
|
74
|
+
defaultModelId?: string;
|
|
70
75
|
models: StudioModelSummary[];
|
|
71
76
|
metadata?: JsonObject;
|
|
72
77
|
warning?: string;
|
|
73
78
|
};
|
|
74
79
|
type StudioAgentModelPolicyConfig = {
|
|
75
|
-
|
|
80
|
+
defaultModelRef?: string;
|
|
76
81
|
allowed?: string[];
|
|
77
82
|
};
|
|
78
83
|
type StudioModelsConfig = {
|
|
79
84
|
providers: StudioModelProviderConfig[];
|
|
80
|
-
|
|
85
|
+
defaultModelRef?: string;
|
|
81
86
|
agents: Record<string, StudioAgentModelPolicyConfig>;
|
|
82
87
|
};
|
|
83
88
|
type StudioAgentModelsSummary = {
|
|
84
89
|
agentId: string;
|
|
85
|
-
|
|
90
|
+
defaultModelRef?: string;
|
|
86
91
|
models: StudioModelSummary[];
|
|
87
92
|
warnings?: JsonObject[];
|
|
88
93
|
};
|
|
@@ -116,7 +121,7 @@ type StudioAgentRuntimeSummary = {
|
|
|
116
121
|
dynamicContextCount: number;
|
|
117
122
|
observerCount: number;
|
|
118
123
|
hasMemory: boolean;
|
|
119
|
-
|
|
124
|
+
hasLifecycle: boolean;
|
|
120
125
|
hasOutputSchema: boolean;
|
|
121
126
|
defaultMaxTurns?: number;
|
|
122
127
|
metadata?: JsonObject;
|
|
@@ -149,7 +154,7 @@ type StudioEvalSuite<Input = any, _Output = any, _Expected = any> = {
|
|
|
149
154
|
metrics: any[];
|
|
150
155
|
concurrency?: number;
|
|
151
156
|
reporters?: any[];
|
|
152
|
-
|
|
157
|
+
reporterErrorPolicy?: "collect" | "throw";
|
|
153
158
|
id?: string;
|
|
154
159
|
description?: string;
|
|
155
160
|
metadata?: JsonObject;
|
|
@@ -232,9 +237,128 @@ type StudioAgentToolsSummary = {
|
|
|
232
237
|
tools: StudioAgentToolMetadata[];
|
|
233
238
|
};
|
|
234
239
|
type StudioSandboxCapabilities = {
|
|
235
|
-
files:
|
|
240
|
+
files: boolean;
|
|
236
241
|
ports: boolean;
|
|
237
242
|
processes: boolean;
|
|
243
|
+
views: boolean;
|
|
244
|
+
};
|
|
245
|
+
type StudioSandboxInspectorFileEntry = Readonly<{
|
|
246
|
+
path: string;
|
|
247
|
+
type: StudioSandboxFileType;
|
|
248
|
+
size?: number;
|
|
249
|
+
}>;
|
|
250
|
+
type StudioSandboxInspectorPort = Readonly<{
|
|
251
|
+
containerPort: number;
|
|
252
|
+
host: string;
|
|
253
|
+
hostPort: number;
|
|
254
|
+
protocol: string;
|
|
255
|
+
}>;
|
|
256
|
+
type StudioSandboxInspectorProcess = Readonly<{
|
|
257
|
+
id: string;
|
|
258
|
+
command: string;
|
|
259
|
+
args: readonly string[];
|
|
260
|
+
cwd?: string;
|
|
261
|
+
status: StudioSandboxProcessStatus;
|
|
262
|
+
exitCode?: number;
|
|
263
|
+
startedAt: string;
|
|
264
|
+
endedAt?: string;
|
|
265
|
+
}>;
|
|
266
|
+
type StudioSandboxInspector = Readonly<{
|
|
267
|
+
id: string;
|
|
268
|
+
provider: string;
|
|
269
|
+
workdir: string;
|
|
270
|
+
listFiles?: (options?: Readonly<{
|
|
271
|
+
path?: string;
|
|
272
|
+
abortSignal?: AbortSignal;
|
|
273
|
+
}>) => Promise<readonly StudioSandboxInspectorFileEntry[]>;
|
|
274
|
+
readFile?: (options: Readonly<{
|
|
275
|
+
path: string;
|
|
276
|
+
abortSignal?: AbortSignal;
|
|
277
|
+
}>) => Promise<Uint8Array>;
|
|
278
|
+
publishedPorts?: readonly StudioSandboxInspectorPort[];
|
|
279
|
+
listProcesses?: (options?: Readonly<{
|
|
280
|
+
abortSignal?: AbortSignal;
|
|
281
|
+
}>) => Promise<readonly StudioSandboxInspectorProcess[]>;
|
|
282
|
+
readProcessLogs?: (options: Readonly<{
|
|
283
|
+
processId: string;
|
|
284
|
+
tailBytes?: number;
|
|
285
|
+
abortSignal?: AbortSignal;
|
|
286
|
+
}>) => Promise<StudioSandboxInspectorProcessLogs>;
|
|
287
|
+
}>;
|
|
288
|
+
type StudioSandboxInspectorProcessLogs = Readonly<{
|
|
289
|
+
stdout: Uint8Array;
|
|
290
|
+
stderr: Uint8Array;
|
|
291
|
+
stdoutTruncated: boolean;
|
|
292
|
+
stderrTruncated: boolean;
|
|
293
|
+
}>;
|
|
294
|
+
type StudioSandboxViewControlSnapshot = Readonly<{
|
|
295
|
+
mode: "agent" | "human";
|
|
296
|
+
ownerId?: string;
|
|
297
|
+
expiresAt?: string;
|
|
298
|
+
}>;
|
|
299
|
+
type StudioSandboxViewControlLease = Readonly<{
|
|
300
|
+
id: string;
|
|
301
|
+
ownerId: string;
|
|
302
|
+
expiresAt: string;
|
|
303
|
+
renew(options: Readonly<{
|
|
304
|
+
leaseTimeoutMs: number;
|
|
305
|
+
}>): StudioSandboxViewControlSnapshot;
|
|
306
|
+
release(): void;
|
|
307
|
+
}>;
|
|
308
|
+
type StudioSandboxViewControl = Readonly<{
|
|
309
|
+
snapshot(): StudioSandboxViewControlSnapshot;
|
|
310
|
+
acquireHumanControl(options: Readonly<{
|
|
311
|
+
ownerId: string;
|
|
312
|
+
leaseTimeoutMs: number;
|
|
313
|
+
abortSignal?: AbortSignal;
|
|
314
|
+
}>): Promise<StudioSandboxViewControlLease>;
|
|
315
|
+
}>;
|
|
316
|
+
type StudioSandboxViewSource = Readonly<{
|
|
317
|
+
protocol: "novnc";
|
|
318
|
+
containerPort: number;
|
|
319
|
+
control: StudioSandboxViewControl;
|
|
320
|
+
}>;
|
|
321
|
+
type StudioSandboxViewAuthorizeArgs = Readonly<{
|
|
322
|
+
request: Request;
|
|
323
|
+
sandboxRef: string;
|
|
324
|
+
viewId: string;
|
|
325
|
+
}>;
|
|
326
|
+
type StudioSandboxViewAccess = Readonly<{
|
|
327
|
+
mode: "local";
|
|
328
|
+
}> | Readonly<{
|
|
329
|
+
mode: "authorize";
|
|
330
|
+
authorize(args: StudioSandboxViewAuthorizeArgs): boolean | Promise<boolean>;
|
|
331
|
+
}>;
|
|
332
|
+
type StudioSandboxViewAuthentication = Readonly<{
|
|
333
|
+
type: "none";
|
|
334
|
+
}> | Readonly<{
|
|
335
|
+
type: "password";
|
|
336
|
+
password: string;
|
|
337
|
+
}>;
|
|
338
|
+
type StudioSandboxViewRegistration = Readonly<{
|
|
339
|
+
id: string;
|
|
340
|
+
label: string;
|
|
341
|
+
source: StudioSandboxViewSource;
|
|
342
|
+
access: StudioSandboxViewAccess;
|
|
343
|
+
authentication: StudioSandboxViewAuthentication;
|
|
344
|
+
}>;
|
|
345
|
+
type StudioSandboxRegistration = Readonly<{
|
|
346
|
+
inspector: StudioSandboxInspector;
|
|
347
|
+
agentIds?: readonly string[];
|
|
348
|
+
toolNames?: readonly string[];
|
|
349
|
+
views?: readonly StudioSandboxViewRegistration[];
|
|
350
|
+
}>;
|
|
351
|
+
type StudioSandboxViewSummary = {
|
|
352
|
+
id: string;
|
|
353
|
+
label: string;
|
|
354
|
+
protocol: "novnc";
|
|
355
|
+
};
|
|
356
|
+
type StudioSandboxViewConnection = {
|
|
357
|
+
sandboxRef: string;
|
|
358
|
+
viewId: string;
|
|
359
|
+
protocol: "novnc";
|
|
360
|
+
websocketPath: string;
|
|
361
|
+
authentication: StudioSandboxViewAuthentication;
|
|
238
362
|
};
|
|
239
363
|
type StudioSandboxSummary = {
|
|
240
364
|
ref: string;
|
|
@@ -243,6 +367,7 @@ type StudioSandboxSummary = {
|
|
|
243
367
|
workdir: string;
|
|
244
368
|
agentIds: string[];
|
|
245
369
|
toolNames: string[];
|
|
370
|
+
views: StudioSandboxViewSummary[];
|
|
246
371
|
capabilities: StudioSandboxCapabilities;
|
|
247
372
|
};
|
|
248
373
|
type StudioSandboxesSummary = {
|
|
@@ -354,7 +479,7 @@ type StudioTranscriptToolEntry = {
|
|
|
354
479
|
callId?: string;
|
|
355
480
|
args?: string;
|
|
356
481
|
result?: string;
|
|
357
|
-
structuredResult?:
|
|
482
|
+
structuredResult?: readonly ToolResultContentPart[];
|
|
358
483
|
childEvents?: StudioTranscriptChildAgentEvent[];
|
|
359
484
|
approval?: StudioToolApprovalTranscript;
|
|
360
485
|
question?: StudioToolQuestionTranscript;
|
|
@@ -378,7 +503,7 @@ type StudioTranscriptChildAgentEvent = {
|
|
|
378
503
|
callId?: string;
|
|
379
504
|
args?: string;
|
|
380
505
|
result?: string;
|
|
381
|
-
structuredResult?:
|
|
506
|
+
structuredResult?: readonly ToolResultContentPart[];
|
|
382
507
|
};
|
|
383
508
|
type StudioTranscriptEntry = StudioTranscriptChatEntry | StudioTranscriptReasoningEntry | StudioTranscriptToolEntry;
|
|
384
509
|
type StudioSessionSummary = {
|
|
@@ -404,7 +529,7 @@ type StudioSessionListOptions = {
|
|
|
404
529
|
agentId?: string;
|
|
405
530
|
limit: number;
|
|
406
531
|
};
|
|
407
|
-
type StudioSessionRunStatus = "running" | "success" | "error" | "cancelled";
|
|
532
|
+
type StudioSessionRunStatus = "running" | "success" | "suspended" | "error" | "cancelled";
|
|
408
533
|
type StudioSessionRunTranscriptInput = {
|
|
409
534
|
id: string;
|
|
410
535
|
runId: string;
|
|
@@ -441,29 +566,10 @@ type StudioSessionLogListOptions = {
|
|
|
441
566
|
limit: number;
|
|
442
567
|
after?: number;
|
|
443
568
|
};
|
|
444
|
-
type
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
};
|
|
449
|
-
type StudioMemoryAppendInput = {
|
|
450
|
-
context: StudioMemoryContext;
|
|
451
|
-
runId: string;
|
|
452
|
-
turn: number;
|
|
453
|
-
messages: Message[];
|
|
454
|
-
};
|
|
455
|
-
type StudioMemoryErrorInput = {
|
|
456
|
-
context: StudioMemoryContext;
|
|
457
|
-
runId: string;
|
|
458
|
-
error: unknown;
|
|
459
|
-
messages: Message[];
|
|
460
|
-
};
|
|
461
|
-
type StudioMemoryStore = {
|
|
462
|
-
load(context: StudioMemoryContext): Promise<Message[]>;
|
|
463
|
-
append(input: StudioMemoryAppendInput): Promise<void>;
|
|
464
|
-
clear(context: StudioMemoryContext): Promise<void>;
|
|
465
|
-
recordError?(input: StudioMemoryErrorInput): Promise<void>;
|
|
466
|
-
};
|
|
569
|
+
type StudioMemoryScope = MemoryScope;
|
|
570
|
+
type StudioMemoryAppendOptions = MemoryAppendOptions;
|
|
571
|
+
type StudioMemoryErrorOptions = MemoryErrorOptions;
|
|
572
|
+
type StudioMemoryStore = MemoryStore;
|
|
467
573
|
type StudioSessionStore = StudioMemoryStore & {
|
|
468
574
|
readonly kind?: string;
|
|
469
575
|
listSessions(options: StudioSessionListOptions): StudioSessionSummary[] | Promise<StudioSessionSummary[]>;
|
|
@@ -475,7 +581,7 @@ type StudioSessionStore = StudioMemoryStore & {
|
|
|
475
581
|
listSessionLogs?(options: StudioSessionLogListOptions): StudioSessionLogEntry[] | Promise<StudioSessionLogEntry[]>;
|
|
476
582
|
deleteSession?(id: string): boolean | Promise<boolean>;
|
|
477
583
|
};
|
|
478
|
-
type StudioTraceStatus = "running" | "success" | "error";
|
|
584
|
+
type StudioTraceStatus = "running" | "success" | "suspended" | "error";
|
|
479
585
|
type StudioTraceObservationKind = "agent" | "generation" | "tool";
|
|
480
586
|
type StudioTraceObservation = {
|
|
481
587
|
id: string;
|
|
@@ -494,6 +600,7 @@ type StudioTraceObservation = {
|
|
|
494
600
|
};
|
|
495
601
|
type StudioTraceSummary = {
|
|
496
602
|
id: string;
|
|
603
|
+
runId?: string;
|
|
497
604
|
sessionId: string;
|
|
498
605
|
name?: string;
|
|
499
606
|
status: StudioTraceStatus;
|
|
@@ -547,7 +654,7 @@ type StudioKnowledgeSourceSummary = {
|
|
|
547
654
|
count: number;
|
|
548
655
|
registrationIndex?: number;
|
|
549
656
|
topK?: number;
|
|
550
|
-
|
|
657
|
+
minScore?: number;
|
|
551
658
|
inspectable?: boolean;
|
|
552
659
|
itemCount?: number;
|
|
553
660
|
};
|
|
@@ -734,6 +841,7 @@ type StudioOptions = {
|
|
|
734
841
|
stores?: StudioStores;
|
|
735
842
|
ui?: boolean | StudioUiOptions;
|
|
736
843
|
models?: StudioModelConfig;
|
|
844
|
+
sandboxes?: readonly StudioSandboxRegistration[];
|
|
737
845
|
};
|
|
738
846
|
type StudioServeOptions = {
|
|
739
847
|
port?: number;
|
|
@@ -745,25 +853,7 @@ type StudioServeLifecycleOptions = Omit<StudioServeOptions, "handleSignals"> & {
|
|
|
745
853
|
signal?: AbortSignal;
|
|
746
854
|
onShutdown?: () => void | Promise<void>;
|
|
747
855
|
};
|
|
748
|
-
type StudioToolApprovalDecision = {
|
|
749
|
-
approved: boolean;
|
|
750
|
-
reason?: string;
|
|
751
|
-
};
|
|
752
856
|
type StudioToolApprovalStatus = "pending" | "approved" | "rejected" | "timed_out" | "cancelled";
|
|
753
|
-
type StudioToolApproval = {
|
|
754
|
-
id: string;
|
|
755
|
-
runId: string;
|
|
756
|
-
agentId: string;
|
|
757
|
-
sessionId?: string;
|
|
758
|
-
toolName: string;
|
|
759
|
-
callId?: string;
|
|
760
|
-
internalCallId: string;
|
|
761
|
-
args: string;
|
|
762
|
-
status: StudioToolApprovalStatus;
|
|
763
|
-
requestedAt: string;
|
|
764
|
-
resolvedAt?: string;
|
|
765
|
-
reason?: string;
|
|
766
|
-
};
|
|
767
857
|
type StudioToolApprovalTranscript = {
|
|
768
858
|
id: string;
|
|
769
859
|
status: StudioToolApprovalStatus;
|
|
@@ -771,14 +861,6 @@ type StudioToolApprovalTranscript = {
|
|
|
771
861
|
resolvedAt?: string;
|
|
772
862
|
reason?: string;
|
|
773
863
|
};
|
|
774
|
-
type StudioToolApprovalRequestEvent = {
|
|
775
|
-
type: "tool_approval_request";
|
|
776
|
-
approval: StudioToolApproval;
|
|
777
|
-
};
|
|
778
|
-
type StudioToolApprovalResultEvent = {
|
|
779
|
-
type: "tool_approval_result";
|
|
780
|
-
approval: StudioToolApproval;
|
|
781
|
-
};
|
|
782
864
|
type StudioToolQuestionChoice = {
|
|
783
865
|
label: string;
|
|
784
866
|
value: string;
|
|
@@ -787,6 +869,7 @@ type StudioToolQuestionPrompt = {
|
|
|
787
869
|
id: string;
|
|
788
870
|
question: string;
|
|
789
871
|
choices: StudioToolQuestionChoice[];
|
|
872
|
+
allowCustom: boolean;
|
|
790
873
|
};
|
|
791
874
|
type StudioToolQuestionAnswer = {
|
|
792
875
|
questionId: string;
|
|
@@ -795,22 +878,6 @@ type StudioToolQuestionAnswer = {
|
|
|
795
878
|
custom?: boolean;
|
|
796
879
|
};
|
|
797
880
|
type StudioToolQuestionStatus = "pending" | "answered" | "cancelled";
|
|
798
|
-
type StudioToolQuestion = {
|
|
799
|
-
id: string;
|
|
800
|
-
runId: string;
|
|
801
|
-
agentId: string;
|
|
802
|
-
sessionId?: string;
|
|
803
|
-
toolName: string;
|
|
804
|
-
callId?: string;
|
|
805
|
-
internalCallId: string;
|
|
806
|
-
args: string;
|
|
807
|
-
questions: StudioToolQuestionPrompt[];
|
|
808
|
-
status: StudioToolQuestionStatus;
|
|
809
|
-
requestedAt: string;
|
|
810
|
-
answeredAt?: string;
|
|
811
|
-
cancelledAt?: string;
|
|
812
|
-
answers?: StudioToolQuestionAnswer[];
|
|
813
|
-
};
|
|
814
881
|
type StudioToolQuestionTranscript = {
|
|
815
882
|
id: string;
|
|
816
883
|
status: StudioToolQuestionStatus;
|
|
@@ -820,14 +887,6 @@ type StudioToolQuestionTranscript = {
|
|
|
820
887
|
questions: StudioToolQuestionPrompt[];
|
|
821
888
|
answers?: StudioToolQuestionAnswer[];
|
|
822
889
|
};
|
|
823
|
-
type StudioToolQuestionRequestEvent = {
|
|
824
|
-
type: "tool_question_request";
|
|
825
|
-
question: StudioToolQuestion;
|
|
826
|
-
};
|
|
827
|
-
type StudioToolQuestionResultEvent = {
|
|
828
|
-
type: "tool_question_result";
|
|
829
|
-
question: StudioToolQuestion;
|
|
830
|
-
};
|
|
831
890
|
type StudioSessionLogEvent = {
|
|
832
891
|
type: "session_log";
|
|
833
892
|
log: StudioSessionLogEntry;
|
|
@@ -926,30 +985,33 @@ type StudioPipelineRunResponse = {
|
|
|
926
985
|
pipelineId: string;
|
|
927
986
|
output: JsonValue;
|
|
928
987
|
};
|
|
929
|
-
type
|
|
930
|
-
message: string | Message;
|
|
931
|
-
history?: Message[];
|
|
932
|
-
sessionId?: string;
|
|
988
|
+
type AgentRunRequestBase = {
|
|
933
989
|
stream?: boolean;
|
|
934
|
-
maxTurns?: number;
|
|
935
|
-
toolConcurrency?: number;
|
|
936
|
-
model?: StudioModelRef;
|
|
937
990
|
metadata?: JsonObject;
|
|
938
991
|
trace?: AgentTraceOptions;
|
|
939
992
|
};
|
|
940
|
-
type
|
|
941
|
-
|
|
993
|
+
type AgentRunRequest = (AgentRunRequestBase & {
|
|
994
|
+
type: "messages";
|
|
995
|
+
messages: readonly Message[];
|
|
942
996
|
sessionId?: string;
|
|
943
|
-
stream?: boolean;
|
|
944
997
|
maxTurns?: number;
|
|
945
998
|
toolConcurrency?: number;
|
|
946
999
|
model?: StudioModelRef;
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
}
|
|
950
|
-
type
|
|
951
|
-
|
|
952
|
-
|
|
1000
|
+
interactionId?: never;
|
|
1001
|
+
response?: never;
|
|
1002
|
+
}) | (AgentRunRequestBase & {
|
|
1003
|
+
type: "interaction_response";
|
|
1004
|
+
interactionId: string;
|
|
1005
|
+
response: AgentInteractionResponse;
|
|
1006
|
+
messages?: never;
|
|
1007
|
+
sessionId?: never;
|
|
1008
|
+
maxTurns?: never;
|
|
1009
|
+
toolConcurrency?: never;
|
|
1010
|
+
model?: never;
|
|
1011
|
+
});
|
|
1012
|
+
type AgentRunResponse = Exclude<AgentResult, AgentSuspendedResult> | Omit<AgentSuspendedResult, "continuation" | "messages">;
|
|
1013
|
+
type AgentRunStreamEvent = AgentStreamEvent | StudioSessionLogEvent | StudioPipelineLogEvent | StudioPipelineFinalEvent;
|
|
1014
|
+
type StudioErrorCode = "bad_request" | "conflict" | "forbidden" | "not_found" | "payload_too_large" | "unsupported_capability" | "internal_error";
|
|
953
1015
|
type StudioErrorResponse = {
|
|
954
1016
|
error: {
|
|
955
1017
|
code: StudioErrorCode;
|
|
@@ -979,6 +1041,7 @@ declare class Studio implements AnviaStudio {
|
|
|
979
1041
|
private readonly options;
|
|
980
1042
|
private studio;
|
|
981
1043
|
private server;
|
|
1044
|
+
private websocketServer;
|
|
982
1045
|
private sigintHandler;
|
|
983
1046
|
constructor(targets?: StudioTarget[], options?: StudioOptions);
|
|
984
1047
|
get app(): Hono;
|
|
@@ -998,4 +1061,4 @@ declare function createSqliteSessionStore(options?: SqliteSessionStoreOptions):
|
|
|
998
1061
|
|
|
999
1062
|
declare function createInMemoryStudioStore(): StudioSessionStore & StudioTraceStore & StudioPipelineLogStore & StudioPipelineRunStore;
|
|
1000
1063
|
|
|
1001
|
-
export { type AgentRunRequest, type AgentRunResponse, type AgentRunStreamEvent, type
|
|
1064
|
+
export { type AgentRunRequest, type AgentRunResponse, type AgentRunStreamEvent, type AgentTraceInfo, type AgentTraceOptions, type AnviaStudio, type SqliteSessionStoreOptions, Studio, type StudioAgent, type StudioAgentConfig, type StudioAgentKnowledgeConfig, type StudioAgentMcpServerMetadata, type StudioAgentMcpToolMetadata, type StudioAgentMcpsSummary, type StudioAgentModelPolicy, type StudioAgentModelPolicyConfig, type StudioAgentModelsSummary, type StudioAgentRuntimeSummary, type StudioAgentToolApprovalMetadata, type StudioAgentToolMetadata, type StudioAgentToolSource, type StudioAgentToolsSummary, type StudioCapability, type StudioCapabilityConfig, type StudioConfig, type StudioErrorCode, type StudioErrorResponse, type StudioEvalCasePreview, type StudioEvalMetricSummary, type StudioEvalRunRequest, type StudioEvalRunResponse, type StudioEvalSuite, type StudioEvalSuiteConfig, type StudioKnowledgeEvidence, type StudioKnowledgeEvidenceDocument, type StudioKnowledgeItem, type StudioKnowledgeItemKind, type StudioKnowledgeItemsPage, type StudioKnowledgeSourceKind, type StudioKnowledgeSourceSummary, type StudioKnowledgeSummary, type StudioMemoryAppendOptions, type StudioMemoryConversationMessages, type StudioMemoryConversationSteps, type StudioMemoryConversationSummary, type StudioMemoryConversationsPage, type StudioMemoryErrorOptions, type StudioMemoryMessageRecord, type StudioMemoryScope, type StudioMemorySourceConversationMessages, type StudioMemorySourceConversationSteps, type StudioMemorySourceConversationSummary, type StudioMemorySourceConversationsPage, type StudioMemorySourceKind, type StudioMemorySourceSummary, type StudioMemorySourceUsersPage, type StudioMemorySourcesPage, type StudioMemoryStore, type StudioMemoryUserSummary, type StudioMemoryUsersPage, type StudioModelConfig, type StudioModelDefinition, type StudioModelModalities, type StudioModelModality, type StudioModelProvider, type StudioModelProviderConfig, type StudioModelRef, type StudioModelSummary, type StudioModelsConfig, type StudioObservabilityEvent, type StudioObservabilityEventType, type StudioOptions, type StudioPipeline, type StudioPipelineConfig, type StudioPipelineDetail, type StudioPipelineFinalEvent, type StudioPipelineLogAppendInput, type StudioPipelineLogCategory, type StudioPipelineLogEntry, type StudioPipelineLogEvent, type StudioPipelineLogLevel, type StudioPipelineLogListOptions, type StudioPipelineLogStore, type StudioPipelineReplayRequest, type StudioPipelineRunGetOptions, type StudioPipelineRunListOptions, type StudioPipelineRunRecord, type StudioPipelineRunRequest, type StudioPipelineRunResponse, type StudioPipelineRunSaveInput, type StudioPipelineRunStatus, type StudioPipelineRunStore, type StudioSandboxCapabilities, type StudioSandboxFileEntry, type StudioSandboxFileType, type StudioSandboxFilesResponse, type StudioSandboxInspector, type StudioSandboxInspectorFileEntry, type StudioSandboxInspectorPort, type StudioSandboxInspectorProcess, type StudioSandboxInspectorProcessLogs, type StudioSandboxPort, type StudioSandboxPortsResponse, type StudioSandboxProcess, type StudioSandboxProcessLogsResponse, type StudioSandboxProcessStatus, type StudioSandboxProcessesResponse, type StudioSandboxRegistration, type StudioSandboxSummary, type StudioSandboxViewAccess, type StudioSandboxViewAuthentication, type StudioSandboxViewAuthorizeArgs, type StudioSandboxViewConnection, type StudioSandboxViewControl, type StudioSandboxViewControlLease, type StudioSandboxViewControlSnapshot, type StudioSandboxViewRegistration, type StudioSandboxViewSource, type StudioSandboxViewSummary, type StudioSandboxesSummary, type StudioServeLifecycleOptions, type StudioServeOptions, type StudioSession, type StudioSessionCreateInput, type StudioSessionListOptions, type StudioSessionLogAppendInput, type StudioSessionLogCategory, type StudioSessionLogEntry, type StudioSessionLogEvent, type StudioSessionLogLevel, type StudioSessionLogListOptions, type StudioSessionRunStatus, type StudioSessionRunTranscriptInput, type StudioSessionStore, type StudioSessionSummary, type StudioSessionTraceListOptions, type StudioStaticKnowledgeDocument, type StudioStatusSummary, type StudioStores, type StudioTarget, type StudioToolApprovalStatus, type StudioToolApprovalTranscript, type StudioToolQuestionAnswer, type StudioToolQuestionChoice, type StudioToolQuestionPrompt, type StudioToolQuestionStatus, type StudioToolQuestionTranscript, type StudioToolRunRequest, type StudioToolRunResponse, type StudioTrace, type StudioTraceListOptions, type StudioTraceObservation, type StudioTraceObservationKind, StudioTraceObserver, type StudioTraceObserverOptions, type StudioTraceStatus, type StudioTraceStore, type StudioTraceSummary, type StudioTranscriptAttachment, type StudioTranscriptChatEntry, type StudioTranscriptChildAgentEvent, type StudioTranscriptEntry, type StudioTranscriptReasoningEntry, type StudioTranscriptToolEntry, type StudioUiOptions, createInMemoryStudioStore, createSqliteSessionStore, traceSummary };
|