@rool-dev/sdk 0.12.4 → 2.0.0-dev.36748aa
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 +438 -759
- package/dist/agents.d.ts +138 -0
- package/dist/agents.d.ts.map +1 -0
- package/dist/agents.js +563 -0
- package/dist/agents.js.map +1 -0
- package/dist/auth-base.d.ts +43 -88
- package/dist/auth-base.d.ts.map +1 -1
- package/dist/auth-base.js +178 -298
- package/dist/auth-base.js.map +1 -1
- package/dist/auth-browser.d.ts +7 -25
- package/dist/auth-browser.d.ts.map +1 -1
- package/dist/auth-browser.js +45 -82
- package/dist/auth-browser.js.map +1 -1
- package/dist/auth-native.d.ts +9 -56
- package/dist/auth-native.d.ts.map +1 -1
- package/dist/auth-native.js +88 -177
- package/dist/auth-native.js.map +1 -1
- package/dist/auth-node.d.ts +32 -32
- package/dist/auth-node.d.ts.map +1 -1
- package/dist/auth-node.js +339 -255
- package/dist/auth-node.js.map +1 -1
- package/dist/auth-url.d.ts +6 -0
- package/dist/auth-url.d.ts.map +1 -0
- package/dist/auth-url.js +30 -0
- package/dist/auth-url.js.map +1 -0
- package/dist/client.d.ts +35 -277
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +323 -618
- package/dist/client.js.map +1 -1
- package/dist/events.d.ts +40 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +175 -0
- package/dist/events.js.map +1 -0
- package/dist/files.d.ts +174 -0
- package/dist/files.d.ts.map +1 -0
- package/dist/files.js +846 -0
- package/dist/files.js.map +1 -0
- package/dist/index.d.ts +16 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -19
- package/dist/index.js.map +1 -1
- package/dist/machine.d.ts +51 -0
- package/dist/machine.d.ts.map +1 -0
- package/dist/machine.js +142 -0
- package/dist/machine.js.map +1 -0
- package/dist/problem.d.ts +11 -0
- package/dist/problem.d.ts.map +1 -0
- package/dist/problem.js +20 -0
- package/dist/problem.js.map +1 -0
- package/dist/structured.d.ts +84 -0
- package/dist/structured.d.ts.map +1 -0
- package/dist/structured.js +405 -0
- package/dist/structured.js.map +1 -0
- package/dist/types.d.ts +119 -520
- package/dist/types.d.ts.map +1 -1
- package/package.json +11 -16
- package/dist/auth.d.ts +0 -85
- package/dist/auth.d.ts.map +0 -1
- package/dist/auth.js +0 -181
- package/dist/auth.js.map +0 -1
- package/dist/client-info.d.ts +0 -18
- package/dist/client-info.d.ts.map +0 -1
- package/dist/client-info.js +0 -25
- package/dist/client-info.js.map +0 -1
- package/dist/event-emitter.d.ts +0 -45
- package/dist/event-emitter.d.ts.map +0 -1
- package/dist/event-emitter.js +0 -86
- package/dist/event-emitter.js.map +0 -1
- package/dist/graphql.d.ts +0 -90
- package/dist/graphql.d.ts.map +0 -1
- package/dist/graphql.js +0 -463
- package/dist/graphql.js.map +0 -1
- package/dist/logger.d.ts +0 -13
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js +0 -17
- package/dist/logger.js.map +0 -1
- package/dist/path.d.ts +0 -6
- package/dist/path.d.ts.map +0 -1
- package/dist/path.js +0 -47
- package/dist/path.js.map +0 -1
- package/dist/reroute.d.ts +0 -22
- package/dist/reroute.d.ts.map +0 -1
- package/dist/reroute.js +0 -70
- package/dist/reroute.js.map +0 -1
- package/dist/rest.d.ts +0 -54
- package/dist/rest.d.ts.map +0 -1
- package/dist/rest.js +0 -171
- package/dist/rest.js.map +0 -1
- package/dist/router.d.ts +0 -20
- package/dist/router.d.ts.map +0 -1
- package/dist/router.js +0 -54
- package/dist/router.js.map +0 -1
- package/dist/space-session.d.ts +0 -30
- package/dist/space-session.d.ts.map +0 -1
- package/dist/space-session.js +0 -83
- package/dist/space-session.js.map +0 -1
- package/dist/space.d.ts +0 -161
- package/dist/space.d.ts.map +0 -1
- package/dist/space.js +0 -618
- package/dist/space.js.map +0 -1
- package/dist/subscription.d.ts +0 -36
- package/dist/subscription.d.ts.map +0 -1
- package/dist/subscription.js +0 -419
- package/dist/subscription.js.map +0 -1
- package/dist/webdav.d.ts +0 -171
- package/dist/webdav.d.ts.map +0 -1
- package/dist/webdav.js +0 -481
- package/dist/webdav.js.map +0 -1
package/dist/agents.d.ts
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import type { RoolClientEvent } from "./events.js";
|
|
2
|
+
import type { MachineFilePath } from "./files.js";
|
|
3
|
+
export type MachinePromptEffort = "quick" | "standard" | "reasoning" | "research";
|
|
4
|
+
export type MachineAssistantFinish = "stop" | "tool_calls" | "length" | "safety" | "error" | "credits" | "cancelled";
|
|
5
|
+
export type MachineConversationTurnRole = "system" | "user" | "tool" | "assistant";
|
|
6
|
+
export type MachineConversationVisibility = "private" | "shared";
|
|
7
|
+
export type MachineConversationContentPart = {
|
|
8
|
+
type: "text";
|
|
9
|
+
text: string;
|
|
10
|
+
} | {
|
|
11
|
+
type: "attachment";
|
|
12
|
+
path: MachineFilePath;
|
|
13
|
+
mime?: string;
|
|
14
|
+
} | {
|
|
15
|
+
type: "tool_call";
|
|
16
|
+
id: string;
|
|
17
|
+
name: string;
|
|
18
|
+
arguments: Record<string, unknown>;
|
|
19
|
+
} | {
|
|
20
|
+
type: "tool_result";
|
|
21
|
+
id: string;
|
|
22
|
+
content: MachineConversationContentPart[];
|
|
23
|
+
error?: boolean;
|
|
24
|
+
} | {
|
|
25
|
+
type: "json";
|
|
26
|
+
value: unknown;
|
|
27
|
+
};
|
|
28
|
+
export interface MachineConversationTurn {
|
|
29
|
+
id: string;
|
|
30
|
+
userId?: string;
|
|
31
|
+
createdAt: string;
|
|
32
|
+
role: MachineConversationTurnRole;
|
|
33
|
+
content: MachineConversationContentPart[];
|
|
34
|
+
request?: Record<string, unknown>;
|
|
35
|
+
finish?: MachineAssistantFinish;
|
|
36
|
+
error?: string;
|
|
37
|
+
usage?: {
|
|
38
|
+
inputTokens: number;
|
|
39
|
+
outputTokens: number;
|
|
40
|
+
};
|
|
41
|
+
aside?: boolean;
|
|
42
|
+
}
|
|
43
|
+
export interface MachineAgentDefinition {
|
|
44
|
+
system: string;
|
|
45
|
+
}
|
|
46
|
+
export type MachineAgentCreateInput = MachineAgentDefinition;
|
|
47
|
+
export interface MachineConversationMetadataInput {
|
|
48
|
+
name?: string;
|
|
49
|
+
visibility: MachineConversationVisibility;
|
|
50
|
+
}
|
|
51
|
+
export interface MachineConversationMetadata extends MachineConversationMetadataInput {
|
|
52
|
+
readonly createdAt: string;
|
|
53
|
+
readonly updatedAt: string;
|
|
54
|
+
readonly isRunning: boolean;
|
|
55
|
+
}
|
|
56
|
+
export interface MachineConversationState extends MachineConversationMetadata {
|
|
57
|
+
turns: MachineConversationTurn[];
|
|
58
|
+
}
|
|
59
|
+
export interface MachineConversationSummary extends MachineConversationMetadata {
|
|
60
|
+
id: string;
|
|
61
|
+
}
|
|
62
|
+
export type MachineRunEvent = {
|
|
63
|
+
type: "keepalive";
|
|
64
|
+
} | {
|
|
65
|
+
type: "output.delta";
|
|
66
|
+
content: MachineConversationContentPart;
|
|
67
|
+
} | {
|
|
68
|
+
type: "completed";
|
|
69
|
+
finish?: MachineAssistantFinish;
|
|
70
|
+
} | {
|
|
71
|
+
type: "cancelled";
|
|
72
|
+
} | {
|
|
73
|
+
type: "error";
|
|
74
|
+
code: string;
|
|
75
|
+
detail: string;
|
|
76
|
+
};
|
|
77
|
+
export interface AgentRequestOptions {
|
|
78
|
+
signal?: AbortSignal;
|
|
79
|
+
}
|
|
80
|
+
export interface MachineConversationCreateOptions extends AgentRequestOptions {
|
|
81
|
+
id?: string;
|
|
82
|
+
name?: string;
|
|
83
|
+
visibility?: MachineConversationVisibility;
|
|
84
|
+
}
|
|
85
|
+
export interface MachineConversationPromptOptions extends AgentRequestOptions {
|
|
86
|
+
effort?: MachinePromptEffort;
|
|
87
|
+
readOnly?: boolean;
|
|
88
|
+
attachments?: readonly MachineFilePath[];
|
|
89
|
+
responseSchema?: Record<string, unknown>;
|
|
90
|
+
replaceTurnId?: string;
|
|
91
|
+
}
|
|
92
|
+
export interface MachineConversationFollowOptions extends AgentRequestOptions {
|
|
93
|
+
onEvent?: (event: MachineRunEvent) => void;
|
|
94
|
+
}
|
|
95
|
+
export type MachineConversationCancelOptions = AgentRequestOptions;
|
|
96
|
+
export interface MachineConversationView {
|
|
97
|
+
readonly turns: readonly MachineConversationTurn[];
|
|
98
|
+
readonly output: readonly MachineConversationContentPart[];
|
|
99
|
+
readonly isRunning: boolean;
|
|
100
|
+
readonly loading: boolean;
|
|
101
|
+
readonly error: unknown;
|
|
102
|
+
}
|
|
103
|
+
export type MachineConversationListener = (view: MachineConversationView) => void;
|
|
104
|
+
export interface MachineConversation {
|
|
105
|
+
readonly id: string;
|
|
106
|
+
readonly agent: MachineAgent;
|
|
107
|
+
get(options?: AgentRequestOptions): Promise<MachineConversationState | undefined>;
|
|
108
|
+
listTurns(options?: AgentRequestOptions): Promise<MachineConversationTurn[]>;
|
|
109
|
+
watch(listener: MachineConversationListener): () => void;
|
|
110
|
+
replace(metadata: MachineConversationMetadataInput, options?: AgentRequestOptions): Promise<MachineConversationMetadata>;
|
|
111
|
+
prompt(text: string, options?: MachineConversationPromptOptions): Promise<void>;
|
|
112
|
+
follow(options?: MachineConversationFollowOptions): Promise<boolean>;
|
|
113
|
+
cancel(options?: MachineConversationCancelOptions): Promise<boolean>;
|
|
114
|
+
rename(name: string | null, options?: AgentRequestOptions): Promise<void>;
|
|
115
|
+
delete(options?: AgentRequestOptions): Promise<void>;
|
|
116
|
+
}
|
|
117
|
+
export interface MachineAgent {
|
|
118
|
+
readonly id: string;
|
|
119
|
+
readonly definition: MachineAgentDefinition;
|
|
120
|
+
conversation(id: string): MachineConversation;
|
|
121
|
+
createConversation(options?: MachineConversationCreateOptions): Promise<MachineConversation>;
|
|
122
|
+
listConversations(options?: AgentRequestOptions): Promise<MachineConversationSummary[]>;
|
|
123
|
+
replace(definition: MachineAgentDefinition, options?: AgentRequestOptions): Promise<MachineAgent>;
|
|
124
|
+
delete(options?: AgentRequestOptions): Promise<void>;
|
|
125
|
+
}
|
|
126
|
+
export interface MachineAgents {
|
|
127
|
+
list(options?: AgentRequestOptions): Promise<MachineAgent[]>;
|
|
128
|
+
get(id: string, options?: AgentRequestOptions): Promise<MachineAgent | undefined>;
|
|
129
|
+
create(id: string, definition: MachineAgentDefinition, options?: AgentRequestOptions): Promise<MachineAgent>;
|
|
130
|
+
}
|
|
131
|
+
interface AgentTransport {
|
|
132
|
+
request(path: string, init?: RequestInit, allowHttpErrors?: boolean): Promise<Response>;
|
|
133
|
+
requestJson<T>(path: string, init?: RequestInit): Promise<T>;
|
|
134
|
+
subscribeEvents(listener: (event: RoolClientEvent) => void): () => void;
|
|
135
|
+
}
|
|
136
|
+
export declare function createMachineAgents(machineId: string, machinePath: string, transport: AgentTransport): MachineAgents;
|
|
137
|
+
export {};
|
|
138
|
+
//# sourceMappingURL=agents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"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"}
|