@agent-relay/sdk 10.0.0 → 10.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/bin/agent-relay-broker-darwin-arm64 +0 -0
- package/bin/agent-relay-broker-darwin-x64 +0 -0
- package/bin/agent-relay-broker-linux-arm64 +0 -0
- package/bin/agent-relay-broker-linux-x64 +0 -0
- package/bin/agent-relay-broker-win32-x64.exe +0 -0
- package/dist/messaging/index.d.ts +1 -0
- package/dist/messaging/index.d.ts.map +1 -1
- package/dist/messaging/index.js +1 -0
- package/dist/messaging/index.js.map +1 -1
- package/dist/messaging/thin-client.d.ts +194 -0
- package/dist/messaging/thin-client.d.ts.map +1 -0
- package/dist/messaging/thin-client.js +78 -0
- package/dist/messaging/thin-client.js.map +1 -0
- package/package.json +2 -2
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/messaging/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,yBAAyB,GAC/B,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/messaging/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,yBAAyB,GAC/B,MAAM,gBAAgB,CAAC;AACxB,cAAc,kBAAkB,CAAC"}
|
package/dist/messaging/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/messaging/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,mBAAmB,EACnB,wBAAwB,GAEzB,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/messaging/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,mBAAmB,EACnB,wBAAwB,GAEzB,MAAM,gBAAgB,CAAC;AACxB,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thin Relaycast client factories.
|
|
3
|
+
*
|
|
4
|
+
* These factories give SDK consumers (the CLI MCP server in particular)
|
|
5
|
+
* typed access to the hosted Relaycast engine without importing
|
|
6
|
+
* `@relaycast/sdk` directly. Unlike {@link RelaycastMessagingClient}, the
|
|
7
|
+
* thin clients are raw pass-throughs: requests and responses cross the wire
|
|
8
|
+
* untouched, so payloads serialized back to callers (for example MCP tool
|
|
9
|
+
* results) keep the exact upstream shape, and upstream errors propagate
|
|
10
|
+
* unchanged for detectors like `isInvalidAgentTokenError`.
|
|
11
|
+
*
|
|
12
|
+
* Telemetry context (`originActor`, `agentRelayDistinctId`) is resolved from
|
|
13
|
+
* explicit options first and the standard Agent Relay environment variables
|
|
14
|
+
* second, matching every other Relaycast client built by this package.
|
|
15
|
+
*/
|
|
16
|
+
import { type RelaycastTelemetryOptions } from '../relaycast-telemetry.js';
|
|
17
|
+
import type { RelayCreateChannelInput, RelayListAgentsOptions, RelayListChannelsOptions, RelayMessageListOptions, RelayMessageMode, RelayRegisterAgentInput } from './types.js';
|
|
18
|
+
export type { RelaycastTelemetryOptions } from '../relaycast-telemetry.js';
|
|
19
|
+
/** Version of the underlying `@relaycast/sdk` engine client. */
|
|
20
|
+
export declare const RELAYCAST_SDK_VERSION: string;
|
|
21
|
+
/** Raw registration payload returned by `agents.registerOrRotate`. */
|
|
22
|
+
export interface RelayRawAgentRegistration {
|
|
23
|
+
/** Agent token (`at_live_...`) minted or rotated for this identity. */
|
|
24
|
+
token: string;
|
|
25
|
+
/** Canonical agent name the workspace bound the registration to. */
|
|
26
|
+
name?: string;
|
|
27
|
+
[key: string]: unknown;
|
|
28
|
+
}
|
|
29
|
+
/** Input for `agents.spawn` — ask the relay to launch a provider-backed worker. */
|
|
30
|
+
export interface RelaySpawnAgentInput {
|
|
31
|
+
name: string;
|
|
32
|
+
/** AI CLI to launch (for example `claude` or `codex`). */
|
|
33
|
+
cli?: string;
|
|
34
|
+
/** Task instructions handed to the spawned worker. */
|
|
35
|
+
task?: string;
|
|
36
|
+
/** Channel the worker should join. */
|
|
37
|
+
channel?: string;
|
|
38
|
+
persona?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Free-form spawn metadata forwarded to the broker (for example `{ model }`,
|
|
41
|
+
* which the broker extracts to pass `--model` to the launched CLI).
|
|
42
|
+
*/
|
|
43
|
+
metadata?: Record<string, unknown>;
|
|
44
|
+
}
|
|
45
|
+
/** Input for `agents.release`. */
|
|
46
|
+
export interface RelayReleaseAgentInput {
|
|
47
|
+
name: string;
|
|
48
|
+
reason?: string;
|
|
49
|
+
/** Permanently delete the agent instead of just releasing it. */
|
|
50
|
+
deleteAgent?: boolean;
|
|
51
|
+
}
|
|
52
|
+
/** Raw payload returned by `agents.release`. */
|
|
53
|
+
export interface RelayRawReleasedAgent {
|
|
54
|
+
name: string;
|
|
55
|
+
released: boolean;
|
|
56
|
+
deleted: boolean;
|
|
57
|
+
reason: string | null;
|
|
58
|
+
[key: string]: unknown;
|
|
59
|
+
}
|
|
60
|
+
/** Raw group DM conversation returned by `dms.createGroup`. */
|
|
61
|
+
export interface RelayRawGroupConversation {
|
|
62
|
+
id: string;
|
|
63
|
+
[key: string]: unknown;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Workspace-key scoped operations: identity registration plus worker
|
|
67
|
+
* lifecycle. Responses are raw upstream payloads.
|
|
68
|
+
*/
|
|
69
|
+
export interface RelayWorkspaceThinClient {
|
|
70
|
+
readonly agents: {
|
|
71
|
+
list(options?: RelayListAgentsOptions): Promise<unknown[]>;
|
|
72
|
+
/** Register an agent, rotating its token when the name already exists. */
|
|
73
|
+
registerOrRotate(input: RelayRegisterAgentInput): Promise<RelayRawAgentRegistration>;
|
|
74
|
+
/** Ask the relay to spawn a provider-backed worker. */
|
|
75
|
+
spawn(input: RelaySpawnAgentInput): Promise<Record<string, unknown>>;
|
|
76
|
+
/** Release (or delete) a spawned worker. */
|
|
77
|
+
release(input: RelayReleaseAgentInput): Promise<RelayRawReleasedAgent>;
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Agent-token scoped operations: messaging, channels, reactions, inbox, and
|
|
82
|
+
* the relay action surface. Responses are raw upstream payloads.
|
|
83
|
+
*/
|
|
84
|
+
export interface RelayAgentThinClient {
|
|
85
|
+
send(channel: string, text: string, options?: {
|
|
86
|
+
attachments?: string[];
|
|
87
|
+
mode?: RelayMessageMode;
|
|
88
|
+
}): Promise<unknown>;
|
|
89
|
+
messages(channel: string, options?: RelayMessageListOptions): Promise<unknown[]>;
|
|
90
|
+
reply(messageId: string, text: string): Promise<unknown>;
|
|
91
|
+
thread(messageId: string, options?: {
|
|
92
|
+
limit?: number;
|
|
93
|
+
}): Promise<unknown>;
|
|
94
|
+
dm(to: string, text: string, options?: {
|
|
95
|
+
mode?: RelayMessageMode;
|
|
96
|
+
attachments?: string[];
|
|
97
|
+
}): Promise<unknown>;
|
|
98
|
+
readonly dms: {
|
|
99
|
+
conversations(): Promise<unknown[]>;
|
|
100
|
+
messages(conversationId: string, options?: RelayMessageListOptions): Promise<unknown[]>;
|
|
101
|
+
createGroup(input: {
|
|
102
|
+
participants: string[];
|
|
103
|
+
name?: string;
|
|
104
|
+
}): Promise<RelayRawGroupConversation>;
|
|
105
|
+
sendMessage(conversationId: string, text: string, options?: {
|
|
106
|
+
attachments?: string[];
|
|
107
|
+
mode?: RelayMessageMode;
|
|
108
|
+
}): Promise<unknown>;
|
|
109
|
+
};
|
|
110
|
+
readonly channels: {
|
|
111
|
+
create(input: RelayCreateChannelInput): Promise<unknown>;
|
|
112
|
+
list(options?: RelayListChannelsOptions): Promise<unknown[]>;
|
|
113
|
+
join(name: string): Promise<unknown>;
|
|
114
|
+
leave(name: string): Promise<unknown>;
|
|
115
|
+
invite(channel: string, agent: string): Promise<unknown>;
|
|
116
|
+
setTopic(name: string, topic: string): Promise<unknown>;
|
|
117
|
+
archive(name: string): Promise<unknown>;
|
|
118
|
+
};
|
|
119
|
+
react(messageId: string, emoji: string): Promise<unknown>;
|
|
120
|
+
unreact(messageId: string, emoji: string): Promise<unknown>;
|
|
121
|
+
search(query: string, options?: {
|
|
122
|
+
channel?: string;
|
|
123
|
+
from?: string;
|
|
124
|
+
limit?: number;
|
|
125
|
+
}): Promise<unknown[]>;
|
|
126
|
+
inbox(options?: {
|
|
127
|
+
limit?: number;
|
|
128
|
+
}): Promise<unknown>;
|
|
129
|
+
markRead(messageId: string): Promise<unknown>;
|
|
130
|
+
readers(messageId: string): Promise<unknown[]>;
|
|
131
|
+
/** Relay action surface; absent on backends without action support. */
|
|
132
|
+
readonly actions?: {
|
|
133
|
+
invoke(name: string, input?: Record<string, unknown>): Promise<unknown>;
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Agent-token scoped realtime event stream. Events arrive as raw upstream
|
|
138
|
+
* payloads with dotted `type` fields (for example `message.created`).
|
|
139
|
+
*/
|
|
140
|
+
export interface RelayRealtimeThinClient {
|
|
141
|
+
connect(): void;
|
|
142
|
+
disconnect(): void;
|
|
143
|
+
/** Subscribe to an event type (`'*'` for all); returns an unsubscribe function. */
|
|
144
|
+
on(event: string, handler: (event: unknown) => void): () => void;
|
|
145
|
+
}
|
|
146
|
+
export interface RelayWorkspaceClientOptions extends RelaycastTelemetryOptions {
|
|
147
|
+
/** Workspace key (`rk_live_...`). */
|
|
148
|
+
workspaceKey: string;
|
|
149
|
+
baseUrl?: string;
|
|
150
|
+
}
|
|
151
|
+
export interface RelayAgentClientOptions extends RelaycastTelemetryOptions {
|
|
152
|
+
/** Agent token (`at_live_...`). */
|
|
153
|
+
agentToken: string;
|
|
154
|
+
baseUrl?: string;
|
|
155
|
+
/**
|
|
156
|
+
* Presence heartbeat interval forwarded to the underlying client.
|
|
157
|
+
* Disabled by default so request-scoped clients spawn no background timers.
|
|
158
|
+
*/
|
|
159
|
+
autoHeartbeatMs?: number | false;
|
|
160
|
+
}
|
|
161
|
+
export interface RelayRealtimeClientOptions extends RelaycastTelemetryOptions {
|
|
162
|
+
/** Agent token (`at_live_...`). */
|
|
163
|
+
agentToken: string;
|
|
164
|
+
baseUrl?: string;
|
|
165
|
+
}
|
|
166
|
+
export interface RelayCreateWorkspaceOptions extends Pick<RelaycastTelemetryOptions, 'agentRelayDistinctId'> {
|
|
167
|
+
baseUrl?: string;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Create a workspace-key scoped thin client.
|
|
171
|
+
* @param options - Workspace key, optional base URL, and telemetry overrides
|
|
172
|
+
* @returns Raw pass-through client for workspace-scoped operations
|
|
173
|
+
*/
|
|
174
|
+
export declare function createWorkspaceClient(options: RelayWorkspaceClientOptions): RelayWorkspaceThinClient;
|
|
175
|
+
/**
|
|
176
|
+
* Create an agent-token scoped thin client.
|
|
177
|
+
* @param options - Agent token, optional base URL, heartbeat, and telemetry overrides
|
|
178
|
+
* @returns Raw pass-through client for agent-scoped operations
|
|
179
|
+
*/
|
|
180
|
+
export declare function createAgentClient(options: RelayAgentClientOptions): RelayAgentThinClient;
|
|
181
|
+
/**
|
|
182
|
+
* Create an agent-token scoped realtime event client.
|
|
183
|
+
* @param options - Agent token, optional base URL, and telemetry overrides
|
|
184
|
+
* @returns Realtime client streaming raw workspace events
|
|
185
|
+
*/
|
|
186
|
+
export declare function createRealtimeClient(options: RelayRealtimeClientOptions): RelayRealtimeThinClient;
|
|
187
|
+
/**
|
|
188
|
+
* Create a new Relaycast workspace.
|
|
189
|
+
* @param name - Human-readable workspace name
|
|
190
|
+
* @param options - Optional base URL and telemetry overrides
|
|
191
|
+
* @returns Raw workspace payload, including the workspace key
|
|
192
|
+
*/
|
|
193
|
+
export declare function createWorkspace(name: string, options?: RelayCreateWorkspaceOptions): Promise<Record<string, unknown>>;
|
|
194
|
+
//# sourceMappingURL=thin-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thin-client.d.ts","sourceRoot":"","sources":["../../src/messaging/thin-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thin Relaycast client factories.
|
|
3
|
+
*
|
|
4
|
+
* These factories give SDK consumers (the CLI MCP server in particular)
|
|
5
|
+
* typed access to the hosted Relaycast engine without importing
|
|
6
|
+
* `@relaycast/sdk` directly. Unlike {@link RelaycastMessagingClient}, the
|
|
7
|
+
* thin clients are raw pass-throughs: requests and responses cross the wire
|
|
8
|
+
* untouched, so payloads serialized back to callers (for example MCP tool
|
|
9
|
+
* results) keep the exact upstream shape, and upstream errors propagate
|
|
10
|
+
* unchanged for detectors like `isInvalidAgentTokenError`.
|
|
11
|
+
*
|
|
12
|
+
* Telemetry context (`originActor`, `agentRelayDistinctId`) is resolved from
|
|
13
|
+
* explicit options first and the standard Agent Relay environment variables
|
|
14
|
+
* second, matching every other Relaycast client built by this package.
|
|
15
|
+
*/
|
|
16
|
+
import { RelayCast, SDK_VERSION, WsClient } from '@relaycast/sdk';
|
|
17
|
+
import { relaycastTelemetryOptions, relaycastWorkspaceTelemetryOptions, } from '../relaycast-telemetry.js';
|
|
18
|
+
/** Version of the underlying `@relaycast/sdk` engine client. */
|
|
19
|
+
export const RELAYCAST_SDK_VERSION = SDK_VERSION;
|
|
20
|
+
function clientConfig(apiKey, options) {
|
|
21
|
+
return {
|
|
22
|
+
apiKey,
|
|
23
|
+
...(options.baseUrl === undefined ? {} : { baseUrl: options.baseUrl }),
|
|
24
|
+
...relaycastTelemetryOptions({
|
|
25
|
+
originActor: options.originActor,
|
|
26
|
+
agentRelayDistinctId: options.agentRelayDistinctId,
|
|
27
|
+
}),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Create a workspace-key scoped thin client.
|
|
32
|
+
* @param options - Workspace key, optional base URL, and telemetry overrides
|
|
33
|
+
* @returns Raw pass-through client for workspace-scoped operations
|
|
34
|
+
*/
|
|
35
|
+
export function createWorkspaceClient(options) {
|
|
36
|
+
// The raw client is returned as-is; the thin interface narrows the surface
|
|
37
|
+
// to the workspace operations this package supports.
|
|
38
|
+
return new RelayCast(clientConfig(options.workspaceKey, options));
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Create an agent-token scoped thin client.
|
|
42
|
+
* @param options - Agent token, optional base URL, heartbeat, and telemetry overrides
|
|
43
|
+
* @returns Raw pass-through client for agent-scoped operations
|
|
44
|
+
*/
|
|
45
|
+
export function createAgentClient(options) {
|
|
46
|
+
const relay = new RelayCast(clientConfig(options.agentToken, options));
|
|
47
|
+
return relay.as(options.agentToken, {
|
|
48
|
+
autoHeartbeatMs: options.autoHeartbeatMs ?? false,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Create an agent-token scoped realtime event client.
|
|
53
|
+
* @param options - Agent token, optional base URL, and telemetry overrides
|
|
54
|
+
* @returns Realtime client streaming raw workspace events
|
|
55
|
+
*/
|
|
56
|
+
export function createRealtimeClient(options) {
|
|
57
|
+
return new WsClient({
|
|
58
|
+
token: options.agentToken,
|
|
59
|
+
...(options.baseUrl === undefined ? {} : { baseUrl: options.baseUrl }),
|
|
60
|
+
...relaycastTelemetryOptions({
|
|
61
|
+
originActor: options.originActor,
|
|
62
|
+
agentRelayDistinctId: options.agentRelayDistinctId,
|
|
63
|
+
}),
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Create a new Relaycast workspace.
|
|
68
|
+
* @param name - Human-readable workspace name
|
|
69
|
+
* @param options - Optional base URL and telemetry overrides
|
|
70
|
+
* @returns Raw workspace payload, including the workspace key
|
|
71
|
+
*/
|
|
72
|
+
export async function createWorkspace(name, options = {}) {
|
|
73
|
+
return (await RelayCast.createWorkspace(name, {
|
|
74
|
+
...(options.baseUrl === undefined ? {} : { baseUrl: options.baseUrl }),
|
|
75
|
+
...relaycastWorkspaceTelemetryOptions({ agentRelayDistinctId: options.agentRelayDistinctId }),
|
|
76
|
+
}));
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=thin-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thin-client.js","sourceRoot":"","sources":["../../src/messaging/thin-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAElE,OAAO,EACL,yBAAyB,EACzB,kCAAkC,GAEnC,MAAM,2BAA2B,CAAC;AAYnC,gEAAgE;AAChE,MAAM,CAAC,MAAM,qBAAqB,GAAW,WAAW,CAAC;AA0JzD,SAAS,YAAY,CACnB,MAAc,EACd,OAAyD;IAEzD,OAAO;QACL,MAAM;QACN,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;QACtE,GAAG,yBAAyB,CAAC;YAC3B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;SACnD,CAAC;KACH,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAoC;IACxE,2EAA2E;IAC3E,qDAAqD;IACrD,OAAO,IAAI,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAwC,CAAC;AAC3G,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAgC;IAChE,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,OAAO,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE;QAClC,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,KAAK;KAClD,CAAoC,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAmC;IACtE,OAAO,IAAI,QAAQ,CAAC;QAClB,KAAK,EAAE,OAAO,CAAC,UAAU;QACzB,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;QACtE,GAAG,yBAAyB,CAAC;YAC3B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;SACnD,CAAC;KACH,CAAuC,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAY,EACZ,UAAuC,EAAE;IAEzC,OAAO,CAAC,MAAM,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE;QAC5C,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;QACtE,GAAG,kCAAkC,CAAC,EAAE,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,EAAE,CAAC;KAC9F,CAAC,CAA4B,CAAC;AACjC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-relay/sdk",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.1.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"build": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && npx tsc -p tsconfig.build.json",
|
|
52
52
|
"build:full": "npm run build",
|
|
53
53
|
"check": "tsc -p tsconfig.json --noEmit",
|
|
54
|
-
"test": "vitest run src/__tests__/agent-relay.test.ts src/__tests__/facade.test.ts src/__tests__/listeners.test.ts src/__tests__/integrations.test.ts src/__tests__/messaging.test.ts src/__tests__/delivery-actions.test.ts src/__tests__/relaycast-errors.test.ts src/__tests__/register-action-relay.test.ts src/__tests__/typed-action-handle.test.ts src/__tests__/webhooks.test.ts",
|
|
54
|
+
"test": "vitest run src/__tests__/agent-relay.test.ts src/__tests__/facade.test.ts src/__tests__/listeners.test.ts src/__tests__/integrations.test.ts src/__tests__/messaging.test.ts src/__tests__/delivery-actions.test.ts src/__tests__/relaycast-errors.test.ts src/__tests__/register-action-relay.test.ts src/__tests__/thin-client.test.ts src/__tests__/typed-action-handle.test.ts src/__tests__/webhooks.test.ts",
|
|
55
55
|
"test:types": "vitest run --typecheck.only --typecheck.tsconfig tsconfig.typetest.json",
|
|
56
56
|
"prepack": "npm run build"
|
|
57
57
|
},
|