@agent-os-sdk/client 0.9.26 → 0.9.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/AgentOsClient.d.ts +141 -0
- package/dist/client/AgentOsClient.d.ts.map +1 -0
- package/{src/client/AgentOsClient.ts → dist/client/AgentOsClient.js} +61 -105
- package/dist/client/HttpRequestBuilder.d.ts +50 -0
- package/dist/client/HttpRequestBuilder.d.ts.map +1 -0
- package/{src/client/HttpRequestBuilder.ts → dist/client/HttpRequestBuilder.js} +9 -41
- package/{src/client/OperationContext.ts → dist/client/OperationContext.d.ts} +6 -9
- package/dist/client/OperationContext.d.ts.map +1 -0
- package/dist/client/OperationContext.js +13 -0
- package/dist/client/OperationContextProvider.d.ts +54 -0
- package/dist/client/OperationContextProvider.d.ts.map +1 -0
- package/{src/client/OperationContextProvider.ts → dist/client/OperationContextProvider.js} +17 -35
- package/{src/client/auth.ts → dist/client/auth.d.ts} +29 -65
- package/dist/client/auth.d.ts.map +1 -0
- package/dist/client/auth.js +38 -0
- package/dist/client/config.d.ts +49 -0
- package/dist/client/config.d.ts.map +1 -0
- package/{src/client/config.ts → dist/client/config.js} +5 -43
- package/dist/client/helpers.d.ts +63 -0
- package/dist/client/helpers.d.ts.map +1 -0
- package/{src/client/helpers.ts → dist/client/helpers.js} +9 -52
- package/dist/client/pagination.d.ts +105 -0
- package/dist/client/pagination.d.ts.map +1 -0
- package/{src/client/pagination.ts → dist/client/pagination.js} +15 -116
- package/dist/client/raw.d.ts +277 -0
- package/dist/client/raw.d.ts.map +1 -0
- package/dist/client/raw.js +337 -0
- package/dist/client/retry.d.ts +37 -0
- package/dist/client/retry.d.ts.map +1 -0
- package/{src/client/retry.ts → dist/client/retry.js} +13 -55
- package/dist/client/sanitize.d.ts +19 -0
- package/dist/client/sanitize.d.ts.map +1 -0
- package/{src/client/sanitize.ts → dist/client/sanitize.js} +4 -7
- package/dist/client/timeout.d.ts +26 -0
- package/dist/client/timeout.d.ts.map +1 -0
- package/{src/client/timeout.ts → dist/client/timeout.js} +10 -18
- package/dist/errors/factory.d.ts +22 -0
- package/dist/errors/factory.d.ts.map +1 -0
- package/{src/errors/factory.ts → dist/errors/factory.js} +18 -57
- package/dist/errors/index.d.ts +210 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/{src/errors/index.ts → dist/errors/index.js} +74 -156
- package/{src/generated/client.ts → dist/generated/client.d.ts} +5 -17
- package/dist/generated/client.d.ts.map +1 -0
- package/dist/generated/client.js +15 -0
- package/{src/generated/index.ts → dist/generated/index.d.ts} +1 -1
- package/dist/generated/index.d.ts.map +1 -0
- package/dist/generated/index.js +1 -0
- package/{src/generated/openapi.ts → dist/generated/openapi.d.ts} +1 -1
- package/dist/generated/openapi.d.ts.map +1 -0
- package/dist/generated/openapi.js +5 -0
- package/dist/index.d.ts +69 -0
- package/dist/index.d.ts.map +1 -0
- package/{src/index.ts → dist/index.js} +13 -63
- package/dist/modules/a2a.d.ts +48 -0
- package/dist/modules/a2a.d.ts.map +1 -0
- package/dist/modules/a2a.js +37 -0
- package/dist/modules/agents.d.ts +346 -0
- package/dist/modules/agents.d.ts.map +1 -0
- package/dist/modules/agents.js +296 -0
- package/dist/modules/apiTokens.d.ts +62 -0
- package/dist/modules/apiTokens.d.ts.map +1 -0
- package/dist/modules/apiTokens.js +56 -0
- package/dist/modules/approvals.d.ts +77 -0
- package/dist/modules/approvals.d.ts.map +1 -0
- package/dist/modules/approvals.js +91 -0
- package/dist/modules/audit.d.ts +78 -0
- package/dist/modules/audit.d.ts.map +1 -0
- package/{src/modules/audit.ts → dist/modules/audit.js} +23 -74
- package/{src/modules/auth.ts → dist/modules/auth.d.ts} +6 -11
- package/dist/modules/auth.d.ts.map +1 -0
- package/dist/modules/auth.js +22 -0
- package/dist/modules/builder.d.ts +242 -0
- package/dist/modules/builder.d.ts.map +1 -0
- package/dist/modules/builder.js +248 -0
- package/dist/modules/catalog.d.ts +142 -0
- package/dist/modules/catalog.d.ts.map +1 -0
- package/dist/modules/catalog.js +136 -0
- package/dist/modules/chatwoot.d.ts +59 -0
- package/dist/modules/chatwoot.d.ts.map +1 -0
- package/dist/modules/chatwoot.js +200 -0
- package/dist/modules/checkpoints.d.ts +62 -0
- package/dist/modules/checkpoints.d.ts.map +1 -0
- package/dist/modules/checkpoints.js +48 -0
- package/dist/modules/contracts.d.ts +48 -0
- package/dist/modules/contracts.d.ts.map +1 -0
- package/dist/modules/contracts.js +25 -0
- package/dist/modules/credentials.d.ts +105 -0
- package/dist/modules/credentials.d.ts.map +1 -0
- package/dist/modules/credentials.js +135 -0
- package/dist/modules/crons.d.ts +73 -0
- package/dist/modules/crons.d.ts.map +1 -0
- package/dist/modules/crons.js +67 -0
- package/dist/modules/datasets.d.ts +80 -0
- package/dist/modules/datasets.d.ts.map +1 -0
- package/dist/modules/datasets.js +91 -0
- package/{src/modules/evaluation.ts → dist/modules/evaluation.d.ts} +23 -109
- package/dist/modules/evaluation.d.ts.map +1 -0
- package/dist/modules/evaluation.js +108 -0
- package/dist/modules/files.d.ts +89 -0
- package/dist/modules/files.d.ts.map +1 -0
- package/dist/modules/files.js +133 -0
- package/dist/modules/graphs.d.ts +120 -0
- package/dist/modules/graphs.d.ts.map +1 -0
- package/dist/modules/graphs.js +69 -0
- package/{src/modules/improvements.ts → dist/modules/improvements.d.ts} +8 -27
- package/dist/modules/improvements.d.ts.map +1 -0
- package/dist/modules/improvements.js +27 -0
- package/dist/modules/info.d.ts +76 -0
- package/dist/modules/info.d.ts.map +1 -0
- package/{src/modules/info.ts → dist/modules/info.js} +16 -66
- package/dist/modules/knowledge.d.ts +91 -0
- package/dist/modules/knowledge.d.ts.map +1 -0
- package/dist/modules/knowledge.js +80 -0
- package/{src/modules/me.ts → dist/modules/me.d.ts} +7 -23
- package/dist/modules/me.d.ts.map +1 -0
- package/dist/modules/me.js +28 -0
- package/dist/modules/members.d.ts +124 -0
- package/dist/modules/members.d.ts.map +1 -0
- package/dist/modules/members.js +142 -0
- package/dist/modules/memberships.d.ts +25 -0
- package/dist/modules/memberships.d.ts.map +1 -0
- package/dist/modules/memberships.js +20 -0
- package/{src/modules/metaAgent.ts → dist/modules/metaAgent.d.ts} +8 -44
- package/dist/modules/metaAgent.d.ts.map +1 -0
- package/dist/modules/metaAgent.js +32 -0
- package/dist/modules/metrics.d.ts +20 -0
- package/dist/modules/metrics.d.ts.map +1 -0
- package/{src/modules/metrics.ts → dist/modules/metrics.js} +7 -14
- package/dist/modules/observability.d.ts +19 -0
- package/dist/modules/observability.d.ts.map +1 -0
- package/dist/modules/observability.js +14 -0
- package/dist/modules/playground.d.ts +42 -0
- package/dist/modules/playground.d.ts.map +1 -0
- package/dist/modules/playground.js +48 -0
- package/dist/modules/presets.d.ts +32 -0
- package/dist/modules/presets.d.ts.map +1 -0
- package/dist/modules/presets.js +199 -0
- package/dist/modules/prompts.d.ts +87 -0
- package/dist/modules/prompts.d.ts.map +1 -0
- package/dist/modules/prompts.js +87 -0
- package/dist/modules/roles.d.ts +64 -0
- package/dist/modules/roles.d.ts.map +1 -0
- package/dist/modules/roles.js +79 -0
- package/dist/modules/runs.d.ts +451 -0
- package/dist/modules/runs.d.ts.map +1 -0
- package/{src/modules/runs.ts → dist/modules/runs.js} +96 -438
- package/dist/modules/store.d.ts +37 -0
- package/dist/modules/store.d.ts.map +1 -0
- package/dist/modules/store.js +48 -0
- package/{src/modules/templates.ts → dist/modules/templates.d.ts} +8 -32
- package/dist/modules/templates.d.ts.map +1 -0
- package/dist/modules/templates.js +26 -0
- package/dist/modules/tenants.d.ts +49 -0
- package/dist/modules/tenants.d.ts.map +1 -0
- package/dist/modules/tenants.js +56 -0
- package/dist/modules/threads.d.ts +205 -0
- package/dist/modules/threads.d.ts.map +1 -0
- package/dist/modules/threads.js +225 -0
- package/dist/modules/tools.d.ts +62 -0
- package/dist/modules/tools.d.ts.map +1 -0
- package/dist/modules/tools.js +45 -0
- package/dist/modules/traces.d.ts +89 -0
- package/dist/modules/traces.d.ts.map +1 -0
- package/dist/modules/traces.js +65 -0
- package/{src/modules/triggers.ts → dist/modules/triggers.d.ts} +24 -153
- package/dist/modules/triggers.d.ts.map +1 -0
- package/dist/modules/triggers.js +176 -0
- package/{src/modules/usage.ts → dist/modules/usage.d.ts} +14 -46
- package/dist/modules/usage.d.ts.map +1 -0
- package/dist/modules/usage.js +43 -0
- package/dist/modules/vectorStores.d.ts +100 -0
- package/dist/modules/vectorStores.d.ts.map +1 -0
- package/dist/modules/vectorStores.js +159 -0
- package/dist/modules/workspaces.d.ts +138 -0
- package/dist/modules/workspaces.d.ts.map +1 -0
- package/dist/modules/workspaces.js +121 -0
- package/dist/sse/client.d.ts +140 -0
- package/dist/sse/client.d.ts.map +1 -0
- package/{src/sse/client.ts → dist/sse/client.js} +24 -100
- package/package.json +8 -15
- package/src/client/raw.ts +0 -609
- package/src/generated/swagger.json +0 -17014
- package/src/modules/a2a.ts +0 -64
- package/src/modules/agents.ts +0 -604
- package/src/modules/apiTokens.ts +0 -101
- package/src/modules/approvals.ts +0 -151
- package/src/modules/catalog.ts +0 -241
- package/src/modules/chatwoot.ts +0 -242
- package/src/modules/checkpoints.ts +0 -87
- package/src/modules/contracts.ts +0 -80
- package/src/modules/credentials.ts +0 -216
- package/src/modules/crons.ts +0 -115
- package/src/modules/datasets.ts +0 -142
- package/src/modules/files.ts +0 -208
- package/src/modules/members.ts +0 -199
- package/src/modules/memberships.ts +0 -42
- package/src/modules/observability.ts +0 -28
- package/src/modules/playground.ts +0 -68
- package/src/modules/presets.ts +0 -246
- package/src/modules/prompts.ts +0 -147
- package/src/modules/roles.ts +0 -112
- package/src/modules/store.ts +0 -65
- package/src/modules/tenants.ts +0 -79
- package/src/modules/threads.ts +0 -343
- package/src/modules/tools.ts +0 -91
- package/src/modules/traces.ts +0 -133
- package/src/modules/vectorStores.ts +0 -257
- package/src/modules/workspaces.ts +0 -216
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { APIResponse, RawClient } from "../client/raw.js";
|
|
2
|
-
|
|
3
|
-
export type FrontendLogLevel = "DEBUG" | "INFO" | "WARN" | "ERROR";
|
|
4
|
-
|
|
5
|
-
export interface FrontendLogPayload {
|
|
6
|
-
level: FrontendLogLevel;
|
|
7
|
-
message: string;
|
|
8
|
-
stack?: string;
|
|
9
|
-
route?: string;
|
|
10
|
-
url?: string;
|
|
11
|
-
user_agent?: string;
|
|
12
|
-
session_id?: string;
|
|
13
|
-
context?: Record<string, unknown>;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export class ObservabilityModule {
|
|
17
|
-
constructor(
|
|
18
|
-
private client: RawClient,
|
|
19
|
-
private headers: () => Record<string, string>
|
|
20
|
-
) { }
|
|
21
|
-
|
|
22
|
-
async logFrontend(payload: FrontendLogPayload): Promise<APIResponse<Record<string, unknown>>> {
|
|
23
|
-
return this.client.POST<Record<string, unknown>>("/v1/api/observability/frontend-log", {
|
|
24
|
-
body: payload,
|
|
25
|
-
headers: this.headers(),
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Playground Module - Fully Typed
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import type { RawClient, APIResponse } from "../client/raw.js";
|
|
6
|
-
|
|
7
|
-
export interface PlaygroundSession {
|
|
8
|
-
session_id: string;
|
|
9
|
-
agent_id: string;
|
|
10
|
-
thread_id: string;
|
|
11
|
-
status: "active" | "expired";
|
|
12
|
-
created_at: string;
|
|
13
|
-
expires_at: string;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export interface PlaygroundMessageResponse {
|
|
17
|
-
run_id: string;
|
|
18
|
-
message_id: string;
|
|
19
|
-
content: string;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export class PlaygroundModule {
|
|
23
|
-
constructor(private client: RawClient, private headers: () => Record<string, string>) { }
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Create a playground session.
|
|
27
|
-
*/
|
|
28
|
-
async createSession(body: {
|
|
29
|
-
agent_id: string;
|
|
30
|
-
thread_id?: string;
|
|
31
|
-
}): Promise<APIResponse<PlaygroundSession>> {
|
|
32
|
-
return this.client.POST<PlaygroundSession>("/v1/api/playground/sessions", {
|
|
33
|
-
body,
|
|
34
|
-
headers: this.headers(),
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Get a playground session.
|
|
40
|
-
*/
|
|
41
|
-
async getSession(sessionId: string): Promise<APIResponse<PlaygroundSession>> {
|
|
42
|
-
return this.client.GET<PlaygroundSession>("/v1/api/playground/sessions/{id}", {
|
|
43
|
-
params: { path: { id: sessionId } },
|
|
44
|
-
headers: this.headers(),
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Send a message in a playground session.
|
|
50
|
-
*/
|
|
51
|
-
async sendMessage(sessionId: string, message: string): Promise<APIResponse<PlaygroundMessageResponse>> {
|
|
52
|
-
return this.client.POST<PlaygroundMessageResponse>("/v1/api/playground/sessions/{id}/messages", {
|
|
53
|
-
params: { path: { id: sessionId } },
|
|
54
|
-
body: { content: message },
|
|
55
|
-
headers: this.headers(),
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Delete a playground session.
|
|
61
|
-
*/
|
|
62
|
-
async deleteSession(sessionId: string): Promise<APIResponse<void>> {
|
|
63
|
-
return this.client.DELETE<void>("/v1/api/playground/sessions/{id}", {
|
|
64
|
-
params: { path: { id: sessionId } },
|
|
65
|
-
headers: this.headers(),
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
}
|
package/src/modules/presets.ts
DELETED
|
@@ -1,246 +0,0 @@
|
|
|
1
|
-
import type { RawClient } from "../client/raw.js";
|
|
2
|
-
import { AgentsModule } from "./agents.js";
|
|
3
|
-
import { TriggersModule } from "./triggers.js";
|
|
4
|
-
|
|
5
|
-
export interface AgentTemplateConfig {
|
|
6
|
-
name: string;
|
|
7
|
-
trigger_type: "chatwoot" | "webhook" | "schedule";
|
|
8
|
-
output_type: "chatwoot" | "http";
|
|
9
|
-
llm?: {
|
|
10
|
-
credential_id?: string;
|
|
11
|
-
model?: string;
|
|
12
|
-
instructions?: string;
|
|
13
|
-
};
|
|
14
|
-
bindings?: Array<{
|
|
15
|
-
credential_id: string;
|
|
16
|
-
alias: string;
|
|
17
|
-
}>;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export interface CreatedAgentResult {
|
|
21
|
-
agent_id: string;
|
|
22
|
-
agent_name: string;
|
|
23
|
-
bundle_id?: string;
|
|
24
|
-
trigger_id?: string;
|
|
25
|
-
trigger_url?: string;
|
|
26
|
-
status: "live" | "draft";
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const TRIGGER_TYPE_MAP: Record<string, { type: string; template_slug: string }> = {
|
|
30
|
-
chatwoot: { type: "webhook", template_slug: "chatwoot" },
|
|
31
|
-
webhook: { type: "webhook", template_slug: "generic" },
|
|
32
|
-
schedule: { type: "schedule", template_slug: "cron" },
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
function buildAgentDefinitionId(name: string): string {
|
|
36
|
-
const normalized = name
|
|
37
|
-
.trim()
|
|
38
|
-
.toLowerCase()
|
|
39
|
-
.replace(/[^a-z0-9]+/g, ".")
|
|
40
|
-
.replace(/\.{2,}/g, ".")
|
|
41
|
-
.replace(/^\.|\.$/g, "");
|
|
42
|
-
return `agent.${normalized || "untitled"}`;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
function generateAgentIr(config: AgentTemplateConfig): Record<string, unknown> {
|
|
46
|
-
const agentDefinitionId = buildAgentDefinitionId(config.name);
|
|
47
|
-
const triggerLabel = config.trigger_type === "schedule" ? "Scheduled Trigger" : "Incoming Trigger";
|
|
48
|
-
const outputLabel = config.output_type === "chatwoot" ? "Chatwoot Output" : "HTTP Output";
|
|
49
|
-
|
|
50
|
-
return {
|
|
51
|
-
ir_version: "1.0",
|
|
52
|
-
agent_definition_id: agentDefinitionId,
|
|
53
|
-
version: "1.0.0",
|
|
54
|
-
metadata: {
|
|
55
|
-
name: config.name,
|
|
56
|
-
description: "Preset-generated agent_ir.v1 draft",
|
|
57
|
-
},
|
|
58
|
-
state_schema: {
|
|
59
|
-
type: "object",
|
|
60
|
-
properties: {
|
|
61
|
-
global: {
|
|
62
|
-
type: "object",
|
|
63
|
-
},
|
|
64
|
-
},
|
|
65
|
-
},
|
|
66
|
-
inputs_schema: {
|
|
67
|
-
type: "object",
|
|
68
|
-
properties: {
|
|
69
|
-
message: {
|
|
70
|
-
type: "string",
|
|
71
|
-
},
|
|
72
|
-
},
|
|
73
|
-
required: ["message"],
|
|
74
|
-
},
|
|
75
|
-
outputs_schema: {
|
|
76
|
-
type: "object",
|
|
77
|
-
},
|
|
78
|
-
outcome_schema: {
|
|
79
|
-
type: "object",
|
|
80
|
-
properties: {
|
|
81
|
-
preset_ready: {
|
|
82
|
-
type: "boolean",
|
|
83
|
-
},
|
|
84
|
-
},
|
|
85
|
-
required: ["preset_ready"],
|
|
86
|
-
},
|
|
87
|
-
kpi_bindings: [
|
|
88
|
-
{
|
|
89
|
-
kpi_ref: `${agentDefinitionId}.preset_ready`,
|
|
90
|
-
source_scope: "outcome",
|
|
91
|
-
source_path: "preset_ready",
|
|
92
|
-
},
|
|
93
|
-
],
|
|
94
|
-
evaluation_policy: {
|
|
95
|
-
execution_mode: "async",
|
|
96
|
-
evaluators: [
|
|
97
|
-
{
|
|
98
|
-
evaluator_ref: `eval.${agentDefinitionId}.preset_shape_v1`,
|
|
99
|
-
kind: "rule",
|
|
100
|
-
},
|
|
101
|
-
],
|
|
102
|
-
sampling_policy: {
|
|
103
|
-
mode: "all",
|
|
104
|
-
},
|
|
105
|
-
},
|
|
106
|
-
improvement_policy_ref: null,
|
|
107
|
-
nodes: [
|
|
108
|
-
{
|
|
109
|
-
id: "start",
|
|
110
|
-
kind: "start",
|
|
111
|
-
capability_ref: "capability://agent-ir/start",
|
|
112
|
-
label: triggerLabel,
|
|
113
|
-
config: {},
|
|
114
|
-
bindings: {},
|
|
115
|
-
editability: { mode: "read_only" },
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
id: "draft_output",
|
|
119
|
-
kind: "end",
|
|
120
|
-
capability_ref: "capability://agent-ir/end",
|
|
121
|
-
label: outputLabel,
|
|
122
|
-
config: {},
|
|
123
|
-
bindings: {},
|
|
124
|
-
editability: { mode: "full" },
|
|
125
|
-
},
|
|
126
|
-
],
|
|
127
|
-
edges: [
|
|
128
|
-
{
|
|
129
|
-
id: "edge_start_to_output",
|
|
130
|
-
from: "start",
|
|
131
|
-
to: "draft_output",
|
|
132
|
-
kind: "default",
|
|
133
|
-
priority: 0,
|
|
134
|
-
},
|
|
135
|
-
],
|
|
136
|
-
capability_registry_refs: [],
|
|
137
|
-
policies: {},
|
|
138
|
-
editability: {
|
|
139
|
-
mode: "full",
|
|
140
|
-
},
|
|
141
|
-
entrypoints: ["start"],
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
function generateUUID(): string {
|
|
147
|
-
if (typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function') {
|
|
148
|
-
return crypto.randomUUID();
|
|
149
|
-
}
|
|
150
|
-
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
151
|
-
var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
|
|
152
|
-
return v.toString(16);
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
export class PresetsModule {
|
|
157
|
-
private _client: RawClient;
|
|
158
|
-
private _headers: () => Record<string, string>;
|
|
159
|
-
|
|
160
|
-
// Internal modules needed for orchestration
|
|
161
|
-
private _agents: AgentsModule;
|
|
162
|
-
private _triggers: TriggersModule;
|
|
163
|
-
|
|
164
|
-
constructor(client: RawClient, getHeaders: () => Record<string, string>) {
|
|
165
|
-
this._client = client;
|
|
166
|
-
this._headers = getHeaders;
|
|
167
|
-
this._agents = new AgentsModule(client, getHeaders);
|
|
168
|
-
this._triggers = new TriggersModule(client, getHeaders);
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
async createAgent(config: AgentTemplateConfig): Promise<CreatedAgentResult | null> {
|
|
172
|
-
try {
|
|
173
|
-
console.log("[AgentOS SDK] Creating agent from preset...", {
|
|
174
|
-
name: config.name,
|
|
175
|
-
trigger_type: config.trigger_type,
|
|
176
|
-
output_type: config.output_type,
|
|
177
|
-
});
|
|
178
|
-
|
|
179
|
-
const { data: agent, error: createError } = await this._agents.create({
|
|
180
|
-
name: config.name,
|
|
181
|
-
idempotency_key: generateUUID()
|
|
182
|
-
});
|
|
183
|
-
|
|
184
|
-
if (createError || !agent) {
|
|
185
|
-
console.error("[AgentOS SDK] Failed to create agent:", createError);
|
|
186
|
-
return null;
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
const { error: draftError } = await this._agents.updateDraftIr(
|
|
190
|
-
agent.id,
|
|
191
|
-
generateAgentIr(config),
|
|
192
|
-
{ if_match: `"${agent.id}:0"` },
|
|
193
|
-
);
|
|
194
|
-
|
|
195
|
-
if (draftError) {
|
|
196
|
-
console.error("[AgentOS SDK] Failed to save agent_ir.v1 draft:", draftError);
|
|
197
|
-
return {
|
|
198
|
-
agent_id: agent.id,
|
|
199
|
-
agent_name: agent.name,
|
|
200
|
-
status: "draft",
|
|
201
|
-
};
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
const { data: bundle, error: publishError } = await this._agents.publish(agent.id, {
|
|
205
|
-
set_as_live: true,
|
|
206
|
-
required_tools: [],
|
|
207
|
-
idempotency_key: generateUUID(),
|
|
208
|
-
});
|
|
209
|
-
|
|
210
|
-
if (publishError) {
|
|
211
|
-
console.error("[AgentOS SDK] Failed to publish bundle:", publishError);
|
|
212
|
-
return {
|
|
213
|
-
agent_id: agent.id,
|
|
214
|
-
agent_name: agent.name,
|
|
215
|
-
status: "draft",
|
|
216
|
-
};
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
const triggerMapping = TRIGGER_TYPE_MAP[config.trigger_type] ?? TRIGGER_TYPE_MAP.webhook;
|
|
220
|
-
if (!triggerMapping) throw new Error("Trigger mapping failed");
|
|
221
|
-
|
|
222
|
-
const { data: trigger, error: triggerError } = await this._triggers.create({
|
|
223
|
-
name: `${config.name} - ${config.trigger_type}`,
|
|
224
|
-
agent_id: agent.id,
|
|
225
|
-
trigger_type: triggerMapping.type,
|
|
226
|
-
template_slug: triggerMapping.template_slug,
|
|
227
|
-
});
|
|
228
|
-
|
|
229
|
-
if (triggerError) {
|
|
230
|
-
console.warn("[AgentOS SDK] Failed to create trigger:", triggerError);
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
return {
|
|
234
|
-
agent_id: agent.id,
|
|
235
|
-
agent_name: agent.name,
|
|
236
|
-
bundle_id: bundle?.id,
|
|
237
|
-
trigger_id: trigger?.id,
|
|
238
|
-
trigger_url: (trigger as any)?.invoke_url,
|
|
239
|
-
status: "live",
|
|
240
|
-
};
|
|
241
|
-
} catch (err) {
|
|
242
|
-
console.error("[AgentOS SDK] Exception creating agent from preset:", err);
|
|
243
|
-
return null;
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
}
|
package/src/modules/prompts.ts
DELETED
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Prompts Module - Fully Typed
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import type { RawClient, APIResponse, components } from "../client/raw.js";
|
|
6
|
-
|
|
7
|
-
type CreatePromptRequest = components["schemas"]["CreatePromptRequest"];
|
|
8
|
-
type CreatePromptVersionRequest = components["schemas"]["CreatePromptVersionRequest"];
|
|
9
|
-
|
|
10
|
-
export interface Prompt {
|
|
11
|
-
id: string;
|
|
12
|
-
name: string;
|
|
13
|
-
description?: string;
|
|
14
|
-
workspace_id: string;
|
|
15
|
-
tenant_id: string;
|
|
16
|
-
created_at: string;
|
|
17
|
-
updated_at: string;
|
|
18
|
-
versions?: PromptVersion[];
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export interface PromptVersion {
|
|
22
|
-
id: string;
|
|
23
|
-
prompt_id: string;
|
|
24
|
-
version: number;
|
|
25
|
-
template: string;
|
|
26
|
-
input_schema?: Record<string, unknown>;
|
|
27
|
-
output_schema?: Record<string, unknown>;
|
|
28
|
-
is_live: boolean;
|
|
29
|
-
created_at: string;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export interface PromptListResponse {
|
|
33
|
-
items: Prompt[];
|
|
34
|
-
total: number;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export interface PromptVersionListResponse {
|
|
38
|
-
items: PromptVersion[];
|
|
39
|
-
total: number;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export interface RenderPromptResponse {
|
|
43
|
-
rendered: string;
|
|
44
|
-
input_used: Record<string, unknown>;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export class PromptsModule {
|
|
48
|
-
constructor(private client: RawClient, private headers: () => Record<string, string>) { }
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* List all prompts.
|
|
52
|
-
*/
|
|
53
|
-
async list(params?: {
|
|
54
|
-
workspace_id?: string;
|
|
55
|
-
limit?: number;
|
|
56
|
-
offset?: number;
|
|
57
|
-
}): Promise<APIResponse<PromptListResponse>> {
|
|
58
|
-
return this.client.GET<PromptListResponse>("/v1/api/prompts", {
|
|
59
|
-
params: { query: params },
|
|
60
|
-
headers: this.headers(),
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Get a prompt by ID.
|
|
66
|
-
*/
|
|
67
|
-
async get(promptId: string): Promise<APIResponse<Prompt>> {
|
|
68
|
-
return this.client.GET<Prompt>("/v1/api/prompts/{id}", {
|
|
69
|
-
params: { path: { id: promptId } },
|
|
70
|
-
headers: this.headers(),
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* Create a new prompt.
|
|
76
|
-
*/
|
|
77
|
-
async create(body: {
|
|
78
|
-
name: string;
|
|
79
|
-
description?: string;
|
|
80
|
-
template?: string;
|
|
81
|
-
input_schema?: Record<string, unknown>;
|
|
82
|
-
}): Promise<APIResponse<Prompt>> {
|
|
83
|
-
return this.client.POST<Prompt>("/v1/api/prompts", {
|
|
84
|
-
body,
|
|
85
|
-
headers: this.headers(),
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Delete a prompt.
|
|
91
|
-
*/
|
|
92
|
-
async delete(promptId: string): Promise<APIResponse<void>> {
|
|
93
|
-
return this.client.DELETE<void>("/v1/api/prompts/{id}", {
|
|
94
|
-
params: { path: { id: promptId } },
|
|
95
|
-
headers: this.headers(),
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
// ======================== Versions ========================
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* List all versions of a prompt.
|
|
103
|
-
*/
|
|
104
|
-
async listVersions(promptId: string): Promise<APIResponse<PromptVersionListResponse>> {
|
|
105
|
-
return this.client.GET<PromptVersionListResponse>("/v1/api/prompts/{id}/versions", {
|
|
106
|
-
params: { path: { id: promptId } },
|
|
107
|
-
headers: this.headers(),
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Create a new version.
|
|
113
|
-
*/
|
|
114
|
-
async createVersion(promptId: string, body: {
|
|
115
|
-
template: string;
|
|
116
|
-
input_schema?: Record<string, unknown>;
|
|
117
|
-
output_schema?: Record<string, unknown>;
|
|
118
|
-
}): Promise<APIResponse<PromptVersion>> {
|
|
119
|
-
return this.client.POST<PromptVersion>("/v1/api/prompts/{id}/versions", {
|
|
120
|
-
params: { path: { id: promptId } },
|
|
121
|
-
body,
|
|
122
|
-
headers: this.headers(),
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
/**
|
|
127
|
-
* Set the live version.
|
|
128
|
-
*/
|
|
129
|
-
async setLiveVersion(promptId: string, versionNumber: number): Promise<APIResponse<void>> {
|
|
130
|
-
return this.client.POST<void>("/v1/api/prompts/{id}/set-live", {
|
|
131
|
-
params: { path: { id: promptId } },
|
|
132
|
-
body: { version_number: versionNumber },
|
|
133
|
-
headers: this.headers(),
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* Render a prompt with variables.
|
|
139
|
-
*/
|
|
140
|
-
async render(promptId: string, variables: Record<string, unknown>): Promise<APIResponse<RenderPromptResponse>> {
|
|
141
|
-
return this.client.POST<RenderPromptResponse>("/v1/api/prompts/{id}/render", {
|
|
142
|
-
params: { path: { id: promptId } },
|
|
143
|
-
body: { variables },
|
|
144
|
-
headers: this.headers(),
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
}
|
package/src/modules/roles.ts
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Roles Module — Tenant role and permission management.
|
|
3
|
-
*
|
|
4
|
-
* Endpoints: /v1/api/roles
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import type { RawClient, APIResponse } from "../client/raw.js";
|
|
8
|
-
|
|
9
|
-
// =============================================================================
|
|
10
|
-
// Types
|
|
11
|
-
// =============================================================================
|
|
12
|
-
|
|
13
|
-
export interface TenantRole {
|
|
14
|
-
id: string;
|
|
15
|
-
name: string;
|
|
16
|
-
is_system: boolean;
|
|
17
|
-
permissions: string[];
|
|
18
|
-
created_at: string;
|
|
19
|
-
members_count: number;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export interface RoleListResponse {
|
|
23
|
-
items: TenantRole[];
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export interface PermissionsListResponse {
|
|
27
|
-
items: string[];
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// =============================================================================
|
|
31
|
-
// Module
|
|
32
|
-
// =============================================================================
|
|
33
|
-
|
|
34
|
-
export class RolesModule {
|
|
35
|
-
constructor(private client: RawClient, private headers: () => Record<string, string>) { }
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* List all roles available in the tenant.
|
|
39
|
-
*/
|
|
40
|
-
async list(): Promise<APIResponse<RoleListResponse>> {
|
|
41
|
-
return this.client.GET<RoleListResponse>("/v1/api/roles", {
|
|
42
|
-
headers: this.headers(),
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Get a specific role by ID.
|
|
48
|
-
*/
|
|
49
|
-
async get(roleId: string): Promise<APIResponse<TenantRole>> {
|
|
50
|
-
return this.client.GET<TenantRole>("/v1/api/roles/{id}", {
|
|
51
|
-
params: { path: { id: roleId } },
|
|
52
|
-
headers: this.headers(),
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* List all available system permissions.
|
|
58
|
-
*/
|
|
59
|
-
async getPermissions(): Promise<APIResponse<PermissionsListResponse>> {
|
|
60
|
-
return this.client.GET<PermissionsListResponse>("/v1/api/roles/permissions", {
|
|
61
|
-
headers: this.headers(),
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Create a new custom role.
|
|
67
|
-
*/
|
|
68
|
-
async create(body: {
|
|
69
|
-
name: string;
|
|
70
|
-
permissions?: string[];
|
|
71
|
-
}): Promise<APIResponse<TenantRole>> {
|
|
72
|
-
return this.client.POST<TenantRole>("/v1/api/roles", {
|
|
73
|
-
body,
|
|
74
|
-
headers: this.headers(),
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Update an existing custom role.
|
|
80
|
-
* System roles cannot be updated.
|
|
81
|
-
*/
|
|
82
|
-
async update(roleId: string, body: {
|
|
83
|
-
name?: string;
|
|
84
|
-
permissions?: string[];
|
|
85
|
-
}): Promise<APIResponse<TenantRole>> {
|
|
86
|
-
return this.client.PUT<TenantRole>("/v1/api/roles/{id}", {
|
|
87
|
-
params: { path: { id: roleId } },
|
|
88
|
-
body,
|
|
89
|
-
headers: this.headers(),
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* Delete a custom role.
|
|
95
|
-
* System roles and roles assigned to members cannot be deleted.
|
|
96
|
-
*/
|
|
97
|
-
async delete(roleId: string): Promise<APIResponse<void>> {
|
|
98
|
-
return this.client.DELETE<void>("/v1/api/roles/{id}", {
|
|
99
|
-
params: { path: { id: roleId } },
|
|
100
|
-
headers: this.headers(),
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Seed default permissions for all roles in the tenant.
|
|
106
|
-
*/
|
|
107
|
-
async seedDefaults(): Promise<APIResponse<{ message: string }>> {
|
|
108
|
-
return this.client.POST<{ message: string }>("/v1/api/roles/seed-defaults", {
|
|
109
|
-
headers: this.headers(),
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
}
|
package/src/modules/store.ts
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Store Module - Fully Typed
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import type { RawClient, APIResponse, components } from "../client/raw.js";
|
|
6
|
-
|
|
7
|
-
type StoreValueRequest = components["schemas"]["StoreValueRequest"];
|
|
8
|
-
|
|
9
|
-
export interface StoreValue {
|
|
10
|
-
key: string;
|
|
11
|
-
value: string;
|
|
12
|
-
ttl_seconds?: number;
|
|
13
|
-
created_at: string;
|
|
14
|
-
expires_at?: string;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export interface StoreKeysResponse {
|
|
18
|
-
keys: string[];
|
|
19
|
-
total: number;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export class StoreModule {
|
|
23
|
-
constructor(private client: RawClient, private headers: () => Record<string, string>) { }
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Get a value by key.
|
|
27
|
-
*/
|
|
28
|
-
async get(key: string): Promise<APIResponse<StoreValue>> {
|
|
29
|
-
return this.client.GET<StoreValue>("/v1/api/store/{key}", {
|
|
30
|
-
params: { path: { key } },
|
|
31
|
-
headers: this.headers(),
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Set a value.
|
|
37
|
-
*/
|
|
38
|
-
async set(key: string, value: string, ttlSeconds?: number): Promise<APIResponse<StoreValue>> {
|
|
39
|
-
return this.client.PUT<StoreValue>("/v1/api/store/{key}", {
|
|
40
|
-
params: { path: { key } },
|
|
41
|
-
body: { value, ttl_seconds: ttlSeconds },
|
|
42
|
-
headers: this.headers(),
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Delete a value.
|
|
48
|
-
*/
|
|
49
|
-
async delete(key: string): Promise<APIResponse<void>> {
|
|
50
|
-
return this.client.DELETE<void>("/v1/api/store/{key}", {
|
|
51
|
-
params: { path: { key } },
|
|
52
|
-
headers: this.headers(),
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* List all keys.
|
|
58
|
-
*/
|
|
59
|
-
async listKeys(prefix?: string): Promise<APIResponse<StoreKeysResponse>> {
|
|
60
|
-
return this.client.GET<StoreKeysResponse>("/v1/api/store", {
|
|
61
|
-
params: { query: { prefix } },
|
|
62
|
-
headers: this.headers(),
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
}
|