@agent-os-lab/agent-sdk 0.1.0

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 ADDED
@@ -0,0 +1,217 @@
1
+ # Agent Service SDK
2
+
3
+ TypeScript SDK for the Hermes Memory Lab Agent Service `/api/v1` API.
4
+
5
+ The SDK is intentionally HTTP-only. It does not import UI code, Next.js route handlers, server adapters, or `AgentCore`.
6
+ Use the server entrypoint for trusted backend code and the browser entrypoint for frontend conversation flows.
7
+
8
+ ## Install
9
+
10
+ Publishing is not enabled yet. Until the package is published, consume it from this repository package boundary:
11
+
12
+ ```ts
13
+ import { AgentServiceServerClient } from "@agent-os-lab/agent-sdk/server";
14
+ import { AgentServiceBrowserClient } from "@agent-os-lab/agent-sdk/browser";
15
+ import type { AgentRunEvent } from "@agent-os-lab/agent-sdk/types";
16
+ ```
17
+
18
+ Local source imports inside this repository use:
19
+
20
+ ```ts
21
+ import { AgentServiceServerClient } from "@/packages/agent-service-sdk/src/server";
22
+ import { AgentServiceBrowserClient } from "@/packages/agent-service-sdk/src/browser";
23
+ ```
24
+
25
+ ## Runtime
26
+
27
+ - Node.js 20+ or a modern browser runtime with `fetch`, `Headers`, `Response`, and `ReadableStream`.
28
+ - No runtime dependencies.
29
+ - API keys must never be logged or sent to browsers.
30
+
31
+ ## Server Authentication
32
+
33
+ ```ts
34
+ const client = new AgentServiceServerClient({
35
+ baseUrl: "https://agent-service.example.com",
36
+ apiKey: process.env.AGENT_SERVICE_API_KEY!,
37
+ requestId: () => crypto.randomUUID(),
38
+ });
39
+
40
+ const { tenant } = await client.getCurrentTenant();
41
+ ```
42
+
43
+ In production, tenant identity comes from the persisted API key row. `tenantId` is optional in the SDK and should only be supplied for development tenant switching or trusted internal tools:
44
+
45
+ ```ts
46
+ const localClient = new AgentServiceServerClient({
47
+ baseUrl: "http://localhost:3000",
48
+ apiKey: "dev-service-key",
49
+ tenantId: "tenant-demo",
50
+ });
51
+ ```
52
+
53
+ ## Browser Authentication
54
+
55
+ Browser code must not receive `AGENT_SERVICE_API_KEY`. Use a same-origin business-project BFF/proxy or a short-lived scoped token minted by the business backend:
56
+
57
+ ```ts
58
+ const client = new AgentServiceBrowserClient({
59
+ baseUrl: "/api/agent-service",
60
+ });
61
+ ```
62
+
63
+ ```ts
64
+ const client = new AgentServiceBrowserClient({
65
+ baseUrl: "https://agent-service.example.com",
66
+ accessToken: async () => getScopedAgentToken(),
67
+ });
68
+ ```
69
+
70
+ `accessToken` is a business-application user token for the BFF/proxy, not an Agent Service API key. Do not pass tenant API keys, platform admin tokens, or any long-lived service credential to the browser client.
71
+
72
+ Caller-provided `authorization` and `x-hermes-tenant-id` headers are stripped by the browser client. Only `accessToken` may set a browser bearer token, and only when the business backend expects that browser token.
73
+
74
+ ## Create Profile, Agent, And Stream
75
+
76
+ ```ts
77
+ const client = new AgentServiceServerClient({
78
+ baseUrl: "https://agent-service.example.com",
79
+ apiKey: process.env.AGENT_SERVICE_API_KEY!,
80
+ });
81
+
82
+ await client.createProfile({
83
+ profileId: "business-user-123",
84
+ displayName: "Business User 123",
85
+ metadata: { source: "billing-app" },
86
+ });
87
+
88
+ await client.createAgent({
89
+ agentId: "support-agent",
90
+ displayName: "Support Agent",
91
+ systemPrompt: "You are a support assistant.",
92
+ model: "openai/gpt-5.2",
93
+ memoryProvider: "none",
94
+ memoryScopeMode: "both",
95
+ compressionEnabled: false,
96
+ memoryReviewEnabled: false,
97
+ });
98
+
99
+ const { session } = await client.createSession("support-agent", {
100
+ profileId: "business-user-123",
101
+ });
102
+
103
+ for await (const event of client.streamMessage("support-agent", session.sessionId, {
104
+ profileId: "business-user-123",
105
+ message: "Help me understand my invoice.",
106
+ })) {
107
+ if (event.type === "message.delta") {
108
+ process.stdout.write(event.delta);
109
+ }
110
+ if (event.type === "tool.started") {
111
+ console.log("tool started", event.name);
112
+ }
113
+ }
114
+ ```
115
+
116
+ Frontend chat surfaces should use the browser client against a BFF/proxy:
117
+
118
+ ```ts
119
+ const browserClient = new AgentServiceBrowserClient({
120
+ baseUrl: "/api/agent-service",
121
+ });
122
+
123
+ const { session } = await browserClient.createSession("support-agent", {
124
+ profileId: "business-user-123",
125
+ });
126
+
127
+ for await (const event of browserClient.streamMessage("support-agent", session.sessionId, {
128
+ profileId: "business-user-123",
129
+ message: "Help me understand my invoice.",
130
+ })) {
131
+ if (event.type === "message.delta") {
132
+ appendAssistantDelta(event.delta);
133
+ }
134
+ }
135
+ ```
136
+
137
+ ## Async Runs
138
+
139
+ Async runs require a runtime worker process in the Agent Service environment.
140
+
141
+ ```ts
142
+ const created = await client.createRun("support-agent", {
143
+ profileId: "business-user-123",
144
+ sessionId: session.sessionId,
145
+ message: "Summarize my open invoices.",
146
+ });
147
+
148
+ let run = created.run;
149
+ while (run.status === "queued" || run.status === "running") {
150
+ await new Promise((resolve) => setTimeout(resolve, 1000));
151
+ run = (await client.getRun("support-agent", run.runId)).run;
152
+ }
153
+
154
+ const replay = await client.listRunEvents("support-agent", run.runId);
155
+ ```
156
+
157
+ ## Webhooks
158
+
159
+ ```ts
160
+ const { webhook, secret } = await client.createWebhook({
161
+ url: "https://billing.example.com/hermes-webhooks",
162
+ eventTypes: ["run.completed", "run.failed", "run.cancelled"],
163
+ });
164
+ ```
165
+
166
+ The raw webhook `secret` is returned once. Store it securely and verify `x-hermes-webhook-signature` in the receiver. Do not log the secret.
167
+
168
+ ## Error Handling
169
+
170
+ ```ts
171
+ import { AgentServiceError } from "@agent-os-lab/agent-sdk/server";
172
+
173
+ try {
174
+ await client.getAgent("missing-agent");
175
+ } catch (error) {
176
+ if (error instanceof AgentServiceError) {
177
+ console.error({
178
+ status: error.status,
179
+ code: error.code,
180
+ requestId: error.requestId,
181
+ details: error.details,
182
+ });
183
+ }
184
+ throw error;
185
+ }
186
+ ```
187
+
188
+ ## Request Options
189
+
190
+ Every SDK method accepts optional request options as the final parameter:
191
+
192
+ ```ts
193
+ const controller = new AbortController();
194
+
195
+ await client.sendMessage("support-agent", "session-id", {
196
+ profileId: "business-user-123",
197
+ message: "Hello",
198
+ }, {
199
+ requestId: "business-request-123",
200
+ signal: controller.signal,
201
+ headers: {
202
+ "x-business-workflow-id": "workflow-123",
203
+ },
204
+ });
205
+ ```
206
+
207
+ The browser client accepts the same `requestId`, `signal`, and safe custom headers, but strips caller-provided `authorization` and `x-hermes-tenant-id`.
208
+
209
+ ## Delete Semantics
210
+
211
+ Delete operations archive or deactivate control-plane resources. `deleteAgent` and `deleteProfile` remove resources from normal SDK reads and writes, but historical sessions, runs, messages, memory audit data, and cost ledger records remain available to the platform for audit and retention. API key deletion revokes the key instead of removing its audit record.
212
+
213
+ ## Coverage
214
+
215
+ The server SDK covers tenant-scoped agent registry, profile registry, sessions, streaming, async runs, memory, session search, lineage, and webhooks.
216
+
217
+ The browser SDK covers the current-user conversation surface: sessions, sync messages, streaming messages, async runs, run polling, cancellation, and run event replay.
@@ -0,0 +1,27 @@
1
+ import type { AgentServiceRequestOptions, AgentServiceTransportOptions } from "./shared.js";
2
+ import type { AgentRunEvent, CreateServiceRunRequest, CreateServiceSessionRequest, SendServiceMessageRequest, ServiceMessageResponse, ServiceRunEventListResponse, ServiceRunResponse, ServiceSessionResponse } from "./types.js";
3
+ export type AgentServiceBrowserClientOptions = AgentServiceTransportOptions & {
4
+ accessToken?: string | (() => string | undefined | Promise<string | undefined>);
5
+ };
6
+ export type AgentServiceBrowserRequestOptions = AgentServiceRequestOptions;
7
+ export declare class AgentServiceBrowserClient {
8
+ private readonly baseUrl;
9
+ private readonly fetchImpl;
10
+ private readonly accessToken?;
11
+ private readonly requestId?;
12
+ private readonly customHeaders?;
13
+ constructor(options: AgentServiceBrowserClientOptions);
14
+ createSession(agentId: string, request: CreateServiceSessionRequest, options?: AgentServiceBrowserRequestOptions): Promise<ServiceSessionResponse>;
15
+ getSession(agentId: string, sessionId: string, profileId: string, options?: AgentServiceBrowserRequestOptions): Promise<ServiceSessionResponse>;
16
+ sendMessage(agentId: string, sessionId: string, request: SendServiceMessageRequest, options?: AgentServiceBrowserRequestOptions): Promise<ServiceMessageResponse>;
17
+ streamMessage(agentId: string, sessionId: string, request: SendServiceMessageRequest, options?: AgentServiceBrowserRequestOptions): AsyncIterable<AgentRunEvent>;
18
+ createRun(agentId: string, request: CreateServiceRunRequest, options?: AgentServiceBrowserRequestOptions): Promise<ServiceRunResponse>;
19
+ getRun(agentId: string, runId: string, options?: AgentServiceBrowserRequestOptions): Promise<ServiceRunResponse>;
20
+ cancelRun(agentId: string, runId: string, options?: AgentServiceBrowserRequestOptions): Promise<ServiceRunResponse>;
21
+ listRunEvents(agentId: string, runId: string, options?: AgentServiceBrowserRequestOptions): Promise<ServiceRunEventListResponse>;
22
+ private readonly request;
23
+ private readonly throwIfError;
24
+ private readonly headers;
25
+ private readonly url;
26
+ }
27
+ //# sourceMappingURL=browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,0BAA0B,EAC1B,4BAA4B,EAC7B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,aAAa,EACb,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EACzB,sBAAsB,EACtB,2BAA2B,EAC3B,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,gCAAgC,GAAG,4BAA4B,GAAG;IAC5E,WAAW,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;CACjF,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG,0BAA0B,CAAC;AAE3E,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAkD;IAC/E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAgD;IAC3E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAA8C;gBAEjE,OAAO,EAAE,gCAAgC;IAQrD,aAAa,CACX,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,2BAA2B,EACpC,OAAO,CAAC,EAAE,iCAAiC,GAC1C,OAAO,CAAC,sBAAsB,CAAC;IAOlC,UAAU,CACR,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,iCAAiC,GAC1C,OAAO,CAAC,sBAAsB,CAAC;IAQlC,WAAW,CACT,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,yBAAyB,EAClC,OAAO,CAAC,EAAE,iCAAiC,GAC1C,OAAO,CAAC,sBAAsB,CAAC;IAW3B,aAAa,CAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,yBAAyB,EAClC,OAAO,CAAC,EAAE,iCAAiC,GAC1C,aAAa,CAAC,aAAa,CAAC;IA+B/B,SAAS,CACP,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE,iCAAiC,GAC1C,OAAO,CAAC,kBAAkB,CAAC;IAO9B,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iCAAiC,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIhH,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iCAAiC,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAUnH,aAAa,CACX,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,iCAAiC,GAC1C,OAAO,CAAC,2BAA2B,CAAC;IAQvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAkBtB;IAEF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAsB3B;IAEF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAkBtB;IAEF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAElB;CACH"}
@@ -0,0 +1,142 @@
1
+ import { parseSseStream } from "./sse.js";
2
+ import { AgentServiceError, encodePathSegment, isServiceErrorResponse, mergeHeaders, readJson, readStreamErrorMessage, resolveHeaders, resolveRequestId, } from "./shared.js";
3
+ export class AgentServiceBrowserClient {
4
+ baseUrl;
5
+ fetchImpl;
6
+ accessToken;
7
+ requestId;
8
+ customHeaders;
9
+ constructor(options) {
10
+ this.baseUrl = options.baseUrl.replace(/\/+$/, "");
11
+ this.fetchImpl = options.fetch ?? fetch;
12
+ this.accessToken = options.accessToken;
13
+ this.requestId = options.requestId;
14
+ this.customHeaders = options.headers;
15
+ }
16
+ createSession(agentId, request, options) {
17
+ return this.request(`/api/v1/agents/${encodePathSegment(agentId)}/sessions`, {
18
+ method: "POST",
19
+ body: request,
20
+ }, options);
21
+ }
22
+ getSession(agentId, sessionId, profileId, options) {
23
+ return this.request(`/api/v1/agents/${encodePathSegment(agentId)}/sessions/${encodePathSegment(sessionId)}?profileId=${encodeURIComponent(profileId)}`, {}, options);
24
+ }
25
+ sendMessage(agentId, sessionId, request, options) {
26
+ return this.request(`/api/v1/agents/${encodePathSegment(agentId)}/sessions/${encodePathSegment(sessionId)}/messages`, {
27
+ method: "POST",
28
+ body: request,
29
+ }, options);
30
+ }
31
+ async *streamMessage(agentId, sessionId, request, options) {
32
+ const response = await this.fetchImpl(this.url(`/api/v1/agents/${encodePathSegment(agentId)}/sessions/${encodePathSegment(sessionId)}/messages/stream`), {
33
+ method: "POST",
34
+ headers: await this.headers({ json: true }, options),
35
+ body: JSON.stringify(request),
36
+ signal: options?.signal,
37
+ });
38
+ await this.throwIfError(response);
39
+ if (!response.body) {
40
+ throw new AgentServiceError({
41
+ status: response.status,
42
+ code: "unknown_error",
43
+ message: "Streaming response did not include a body.",
44
+ headers: response.headers,
45
+ });
46
+ }
47
+ for await (const event of parseSseStream(response.body)) {
48
+ if (event.event === "stream.closed") {
49
+ continue;
50
+ }
51
+ if (event.event === "stream.error") {
52
+ throw new Error(readStreamErrorMessage(event.data));
53
+ }
54
+ yield event.data;
55
+ }
56
+ }
57
+ createRun(agentId, request, options) {
58
+ return this.request(`/api/v1/agents/${encodePathSegment(agentId)}/runs`, {
59
+ method: "POST",
60
+ body: request,
61
+ }, options);
62
+ }
63
+ getRun(agentId, runId, options) {
64
+ return this.request(`/api/v1/agents/${encodePathSegment(agentId)}/runs/${encodePathSegment(runId)}`, {}, options);
65
+ }
66
+ cancelRun(agentId, runId, options) {
67
+ return this.request(`/api/v1/agents/${encodePathSegment(agentId)}/runs/${encodePathSegment(runId)}/cancel`, {
68
+ method: "POST",
69
+ }, options);
70
+ }
71
+ listRunEvents(agentId, runId, options) {
72
+ return this.request(`/api/v1/agents/${encodePathSegment(agentId)}/runs/${encodePathSegment(runId)}/events`, {}, options);
73
+ }
74
+ request = async (path, options = {}, requestOptions) => {
75
+ const response = await this.fetchImpl(this.url(path), {
76
+ method: options.method ?? "GET",
77
+ headers: await this.headers({ json: options.body !== undefined }, requestOptions),
78
+ body: options.body === undefined ? undefined : JSON.stringify(options.body),
79
+ signal: requestOptions?.signal,
80
+ });
81
+ await this.throwIfError(response);
82
+ const text = await response.text();
83
+ return (text ? JSON.parse(text) : null);
84
+ };
85
+ throwIfError = async (response) => {
86
+ if (response.ok) {
87
+ return;
88
+ }
89
+ const body = await readJson(response);
90
+ if (isServiceErrorResponse(body)) {
91
+ throw new AgentServiceError({
92
+ status: response.status,
93
+ code: body.error.code,
94
+ message: body.error.message,
95
+ details: body.error.details,
96
+ headers: response.headers,
97
+ });
98
+ }
99
+ throw new AgentServiceError({
100
+ status: response.status,
101
+ code: "unknown_error",
102
+ message: response.statusText || `Agent Service request failed with status ${response.status}.`,
103
+ headers: response.headers,
104
+ });
105
+ };
106
+ headers = async (options = {}, requestOptions) => {
107
+ const headers = safeBrowserHeaders(resolveHeaders(this.customHeaders));
108
+ mergeSafeBrowserHeaders(headers, requestOptions?.headers);
109
+ const token = await resolveAccessToken(this.accessToken);
110
+ if (token) {
111
+ headers.set("authorization", `Bearer ${token}`);
112
+ }
113
+ const requestId = requestOptions?.requestId ?? resolveRequestId(this.requestId);
114
+ if (requestId) {
115
+ headers.set("x-hermes-request-id", requestId);
116
+ }
117
+ if (options.json) {
118
+ headers.set("content-type", "application/json");
119
+ }
120
+ return headers;
121
+ };
122
+ url = (path) => {
123
+ return `${this.baseUrl}${path.startsWith("/") ? path : `/${path}`}`;
124
+ };
125
+ }
126
+ async function resolveAccessToken(value) {
127
+ return typeof value === "function" ? await value() : value;
128
+ }
129
+ function safeBrowserHeaders(source) {
130
+ const headers = new Headers(source);
131
+ stripForbiddenBrowserHeaders(headers);
132
+ return headers;
133
+ }
134
+ function mergeSafeBrowserHeaders(target, source) {
135
+ const headers = safeBrowserHeaders(source);
136
+ mergeHeaders(target, headers);
137
+ }
138
+ function stripForbiddenBrowserHeaders(headers) {
139
+ headers.delete("authorization");
140
+ headers.delete("x-hermes-tenant-id");
141
+ }
142
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from "./server.js";
2
+ export * from "./browser.js";
3
+ export * from "./sse.js";
4
+ export * from "./types.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,5 @@
1
+ export * from "./server.js";
2
+ export * from "./browser.js";
3
+ export * from "./sse.js";
4
+ export * from "./types.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC"}
@@ -0,0 +1,60 @@
1
+ import type { AgentServiceRequestOptions, AgentServiceTransportOptions } from "./shared.js";
2
+ import type { AgentRunEvent, ContinueServiceSessionRequest, CreateServiceAgentVersionRequest, CreateServiceAgentRequest, CreateServiceMemoryEntryRequest, CreateServiceProfileRequest, CreateServiceRunRequest, CreateServiceSessionRequest, CreateServiceWebhookRequest, DeleteServiceMemoryEntryRequest, SendServiceMessageRequest, ServiceAgentListResponse, ServiceAgentResponse, ServiceAgentVersionListResponse, ServiceAgentVersionResponse, ServiceMemoryResponse, ServiceMessageResponse, ServiceProfileListResponse, ServiceProfileResponse, ServiceRunEventListResponse, ServiceRunResponse, ServiceSessionLineageResponse, ServiceSessionResponse, ServiceSessionSearchRequest, ServiceSessionSearchResponse, ServiceTenantResponse, ServiceWebhookListResponse, ServiceWebhookResponse, ServiceWebhookSecretResponse, UpdateServiceAgentRequest, UpdateServiceProfileRequest } from "./types.js";
3
+ export { AgentServiceError } from "./shared.js";
4
+ export type { AgentServiceRequestOptions } from "./shared.js";
5
+ export type * from "./types.js";
6
+ export type AgentServiceServerClientOptions = AgentServiceTransportOptions & {
7
+ apiKey: string;
8
+ tenantId?: string;
9
+ };
10
+ export declare class AgentServiceServerClient {
11
+ private readonly baseUrl;
12
+ private readonly apiKey;
13
+ private readonly tenantId?;
14
+ private readonly fetchImpl;
15
+ private readonly requestId?;
16
+ private readonly customHeaders?;
17
+ constructor(options: AgentServiceServerClientOptions);
18
+ createProfile(request: CreateServiceProfileRequest, options?: AgentServiceRequestOptions): Promise<ServiceProfileResponse>;
19
+ listProfiles(options?: AgentServiceRequestOptions): Promise<ServiceProfileListResponse>;
20
+ getProfile(profileId: string, options?: AgentServiceRequestOptions): Promise<ServiceProfileResponse>;
21
+ updateProfile(profileId: string, request: UpdateServiceProfileRequest, options?: AgentServiceRequestOptions): Promise<ServiceProfileResponse>;
22
+ deleteProfile(profileId: string, options?: AgentServiceRequestOptions): Promise<void>;
23
+ createAgent(request: CreateServiceAgentRequest, options?: AgentServiceRequestOptions): Promise<ServiceAgentResponse>;
24
+ listAgents(options?: AgentServiceRequestOptions): Promise<ServiceAgentListResponse>;
25
+ getAgent(agentId: string, options?: AgentServiceRequestOptions): Promise<ServiceAgentResponse>;
26
+ updateAgent(agentId: string, request: UpdateServiceAgentRequest, options?: AgentServiceRequestOptions): Promise<ServiceAgentResponse>;
27
+ deleteAgent(agentId: string, options?: AgentServiceRequestOptions): Promise<void>;
28
+ createAgentVersion(agentId: string, request: CreateServiceAgentVersionRequest, options?: AgentServiceRequestOptions): Promise<ServiceAgentVersionResponse>;
29
+ listAgentVersions(agentId: string, options?: AgentServiceRequestOptions): Promise<ServiceAgentVersionListResponse>;
30
+ publishAgentVersion(agentId: string, versionId: string, options?: AgentServiceRequestOptions): Promise<ServiceAgentVersionResponse>;
31
+ activateAgentVersion(agentId: string, versionId: string, options?: AgentServiceRequestOptions): Promise<ServiceAgentResponse>;
32
+ rollbackAgentVersion(agentId: string, versionId: string, options?: AgentServiceRequestOptions): Promise<ServiceAgentResponse>;
33
+ createSession(agentId: string, request: CreateServiceSessionRequest, options?: AgentServiceRequestOptions): Promise<ServiceSessionResponse>;
34
+ getSession(agentId: string, sessionId: string, profileId: string, options?: AgentServiceRequestOptions): Promise<ServiceSessionResponse>;
35
+ sendMessage(agentId: string, sessionId: string, request: SendServiceMessageRequest, options?: AgentServiceRequestOptions): Promise<ServiceMessageResponse>;
36
+ getSessionLineage(agentId: string, sessionId: string, profileId: string, options?: AgentServiceRequestOptions): Promise<ServiceSessionLineageResponse>;
37
+ continueSession(agentId: string, sessionId: string, request: ContinueServiceSessionRequest, options?: AgentServiceRequestOptions): Promise<ServiceSessionResponse>;
38
+ searchSessions(agentId: string, request: ServiceSessionSearchRequest, options?: AgentServiceRequestOptions): Promise<ServiceSessionSearchResponse>;
39
+ streamMessage(agentId: string, sessionId: string, request: SendServiceMessageRequest, options?: AgentServiceRequestOptions): AsyncIterable<AgentRunEvent>;
40
+ createRun(agentId: string, request: CreateServiceRunRequest, options?: AgentServiceRequestOptions): Promise<ServiceRunResponse>;
41
+ getRun(agentId: string, runId: string, options?: AgentServiceRequestOptions): Promise<ServiceRunResponse>;
42
+ cancelRun(agentId: string, runId: string, options?: AgentServiceRequestOptions): Promise<ServiceRunResponse>;
43
+ listRunEvents(agentId: string, runId: string, options?: AgentServiceRequestOptions): Promise<ServiceRunEventListResponse>;
44
+ readMemory(agentId: string, profileId: string, options?: AgentServiceRequestOptions): Promise<ServiceMemoryResponse>;
45
+ createMemoryEntry(agentId: string, profileId: string, request: CreateServiceMemoryEntryRequest, options?: AgentServiceRequestOptions): Promise<ServiceMemoryResponse>;
46
+ deleteMemoryEntry(agentId: string, profileId: string, request: DeleteServiceMemoryEntryRequest, options?: AgentServiceRequestOptions): Promise<ServiceMemoryResponse>;
47
+ getCurrentTenant(options?: AgentServiceRequestOptions): Promise<ServiceTenantResponse>;
48
+ listWebhooks(options?: AgentServiceRequestOptions): Promise<ServiceWebhookListResponse>;
49
+ createWebhook(request: CreateServiceWebhookRequest, options?: AgentServiceRequestOptions): Promise<ServiceWebhookSecretResponse>;
50
+ disableWebhook(webhookId: string, options?: AgentServiceRequestOptions): Promise<ServiceWebhookResponse>;
51
+ requestRaw<T = unknown>(path: string, options?: AgentServiceRequestOptions & {
52
+ method?: string;
53
+ body?: unknown;
54
+ }): Promise<T | null>;
55
+ private request;
56
+ private throwIfError;
57
+ private headers;
58
+ private url;
59
+ }
60
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}