agent-relay 6.0.20 → 6.0.22
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/index.cjs +875 -104
- package/dist/src/cli/commands/agent-management.d.ts +1 -0
- package/dist/src/cli/commands/agent-management.d.ts.map +1 -1
- package/dist/src/cli/commands/agent-management.js +46 -6
- package/dist/src/cli/commands/agent-management.js.map +1 -1
- package/dist/src/cli/commands/core.d.ts.map +1 -1
- package/dist/src/cli/commands/core.js +2 -0
- package/dist/src/cli/commands/core.js.map +1 -1
- package/dist/src/cli/lib/broker-lifecycle.d.ts +2 -0
- package/dist/src/cli/lib/broker-lifecycle.d.ts.map +1 -1
- package/dist/src/cli/lib/broker-lifecycle.js +263 -69
- package/dist/src/cli/lib/broker-lifecycle.js.map +1 -1
- package/dist/src/cost/pricing.d.ts.map +1 -1
- package/dist/src/cost/pricing.js +5 -3
- package/dist/src/cost/pricing.js.map +1 -1
- package/node_modules/@relaycast/sdk/dist/agent.d.ts +16 -1
- package/node_modules/@relaycast/sdk/dist/agent.d.ts.map +1 -1
- package/node_modules/@relaycast/sdk/dist/agent.js +143 -3
- package/node_modules/@relaycast/sdk/dist/agent.js.map +1 -1
- package/node_modules/@relaycast/sdk/dist/communicate/index.d.ts +3 -0
- package/node_modules/@relaycast/sdk/dist/communicate/index.d.ts.map +1 -0
- package/node_modules/@relaycast/sdk/dist/communicate/index.js +2 -0
- package/node_modules/@relaycast/sdk/dist/communicate/index.js.map +1 -0
- package/node_modules/@relaycast/sdk/dist/communicate/relay.d.ts +13 -0
- package/node_modules/@relaycast/sdk/dist/communicate/relay.d.ts.map +1 -0
- package/node_modules/@relaycast/sdk/dist/communicate/relay.js +73 -0
- package/node_modules/@relaycast/sdk/dist/communicate/relay.js.map +1 -0
- package/node_modules/@relaycast/sdk/dist/communicate/types.d.ts +23 -0
- package/node_modules/@relaycast/sdk/dist/communicate/types.d.ts.map +1 -0
- package/node_modules/@relaycast/sdk/dist/communicate/types.js +2 -0
- package/node_modules/@relaycast/sdk/dist/communicate/types.js.map +1 -0
- package/node_modules/@relaycast/sdk/dist/errors.d.ts +1 -1
- package/node_modules/@relaycast/sdk/dist/errors.d.ts.map +1 -1
- package/node_modules/@relaycast/sdk/dist/errors.js +10 -0
- package/node_modules/@relaycast/sdk/dist/errors.js.map +1 -1
- package/node_modules/@relaycast/sdk/dist/event-id.d.ts +2 -0
- package/node_modules/@relaycast/sdk/dist/event-id.d.ts.map +1 -0
- package/node_modules/@relaycast/sdk/dist/event-id.js +50 -0
- package/node_modules/@relaycast/sdk/dist/event-id.js.map +1 -0
- package/node_modules/@relaycast/sdk/dist/index.d.ts +9 -2
- package/node_modules/@relaycast/sdk/dist/index.d.ts.map +1 -1
- package/node_modules/@relaycast/sdk/dist/index.js +4 -1
- package/node_modules/@relaycast/sdk/dist/index.js.map +1 -1
- package/node_modules/@relaycast/sdk/dist/setup-errors.d.ts +55 -0
- package/node_modules/@relaycast/sdk/dist/setup-errors.d.ts.map +1 -0
- package/node_modules/@relaycast/sdk/dist/setup-errors.js +73 -0
- package/node_modules/@relaycast/sdk/dist/setup-errors.js.map +1 -0
- package/node_modules/@relaycast/sdk/dist/setup-types.d.ts +54 -0
- package/node_modules/@relaycast/sdk/dist/setup-types.d.ts.map +1 -0
- package/node_modules/@relaycast/sdk/dist/setup-types.js +2 -0
- package/node_modules/@relaycast/sdk/dist/setup-types.js.map +1 -0
- package/node_modules/@relaycast/sdk/dist/setup.d.ts +41 -0
- package/node_modules/@relaycast/sdk/dist/setup.d.ts.map +1 -0
- package/node_modules/@relaycast/sdk/dist/setup.js +320 -0
- package/node_modules/@relaycast/sdk/dist/setup.js.map +1 -0
- package/node_modules/@relaycast/sdk/dist/subscription.d.ts +5 -0
- package/node_modules/@relaycast/sdk/dist/subscription.d.ts.map +1 -0
- package/node_modules/@relaycast/sdk/dist/subscription.js +2 -0
- package/node_modules/@relaycast/sdk/dist/subscription.js.map +1 -0
- package/node_modules/@relaycast/sdk/dist/types.d.ts +1 -0
- package/node_modules/@relaycast/sdk/dist/types.d.ts.map +1 -1
- package/node_modules/@relaycast/sdk/dist/version.d.ts +1 -1
- package/node_modules/@relaycast/sdk/dist/version.js +1 -1
- package/node_modules/@relaycast/sdk/dist/ws.d.ts +1 -0
- package/node_modules/@relaycast/sdk/dist/ws.d.ts.map +1 -1
- package/node_modules/@relaycast/sdk/dist/ws.js +3 -0
- package/node_modules/@relaycast/sdk/dist/ws.js.map +1 -1
- package/node_modules/@relaycast/sdk/node_modules/@relaycast/types/dist/event-id.d.ts +2 -0
- package/node_modules/@relaycast/sdk/node_modules/@relaycast/types/dist/event-id.d.ts.map +1 -0
- package/node_modules/@relaycast/sdk/node_modules/@relaycast/types/dist/event-id.js +50 -0
- package/node_modules/@relaycast/sdk/node_modules/@relaycast/types/dist/event-id.js.map +1 -0
- package/node_modules/@relaycast/sdk/node_modules/@relaycast/types/dist/events.d.ts +95 -0
- package/node_modules/@relaycast/sdk/node_modules/@relaycast/types/dist/events.d.ts.map +1 -1
- package/node_modules/@relaycast/sdk/node_modules/@relaycast/types/dist/events.js +10 -0
- package/node_modules/@relaycast/sdk/node_modules/@relaycast/types/dist/events.js.map +1 -1
- package/node_modules/@relaycast/sdk/node_modules/@relaycast/types/dist/index.d.ts +1 -0
- package/node_modules/@relaycast/sdk/node_modules/@relaycast/types/dist/index.d.ts.map +1 -1
- package/node_modules/@relaycast/sdk/node_modules/@relaycast/types/dist/index.js +1 -0
- package/node_modules/@relaycast/sdk/node_modules/@relaycast/types/dist/index.js.map +1 -1
- package/node_modules/@relaycast/sdk/node_modules/@relaycast/types/package.json +1 -1
- package/node_modules/@relaycast/sdk/package.json +7 -2
- package/package.json +9 -9
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
function hashStringParts(parts) {
|
|
2
|
+
const input = JSON.stringify(parts);
|
|
3
|
+
let h1 = 0xdeadbeef;
|
|
4
|
+
let h2 = 0x41c6ce57;
|
|
5
|
+
let h3 = 0xc0decafe;
|
|
6
|
+
let h4 = 0x9e3779b9;
|
|
7
|
+
for (let i = 0; i < input.length; i += 1) {
|
|
8
|
+
const code = input.charCodeAt(i);
|
|
9
|
+
h1 = Math.imul(h1 ^ code, 2654435761);
|
|
10
|
+
h2 = Math.imul(h2 ^ code, 1597334677);
|
|
11
|
+
h3 = Math.imul(h3 ^ code, 2246822507);
|
|
12
|
+
h4 = Math.imul(h4 ^ code, 3266489909);
|
|
13
|
+
}
|
|
14
|
+
h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507) ^ Math.imul(h2 ^ (h2 >>> 13), 3266489909);
|
|
15
|
+
h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507) ^ Math.imul(h3 ^ (h3 >>> 13), 3266489909);
|
|
16
|
+
h3 = Math.imul(h3 ^ (h3 >>> 16), 2246822507) ^ Math.imul(h4 ^ (h4 >>> 13), 3266489909);
|
|
17
|
+
h4 = Math.imul(h4 ^ (h4 >>> 16), 2246822507) ^ Math.imul(h1 ^ (h1 >>> 13), 3266489909);
|
|
18
|
+
return [h1 >>> 0, h2 >>> 0, h3 >>> 0, h4 >>> 0];
|
|
19
|
+
}
|
|
20
|
+
function formatUuidFromWords(words) {
|
|
21
|
+
const bytes = new Uint8Array(16);
|
|
22
|
+
for (let i = 0; i < words.length; i += 1) {
|
|
23
|
+
const word = words[i];
|
|
24
|
+
const offset = i * 4;
|
|
25
|
+
bytes[offset] = (word >>> 24) & 0xff;
|
|
26
|
+
bytes[offset + 1] = (word >>> 16) & 0xff;
|
|
27
|
+
bytes[offset + 2] = (word >>> 8) & 0xff;
|
|
28
|
+
bytes[offset + 3] = word & 0xff;
|
|
29
|
+
}
|
|
30
|
+
bytes[6] = (bytes[6] & 0x0f) | 0x50;
|
|
31
|
+
bytes[8] = (bytes[8] & 0x3f) | 0x80;
|
|
32
|
+
const hex = [...bytes].map((byte) => byte.toString(16).padStart(2, '0')).join('');
|
|
33
|
+
return [
|
|
34
|
+
hex.slice(0, 8),
|
|
35
|
+
hex.slice(8, 12),
|
|
36
|
+
hex.slice(12, 16),
|
|
37
|
+
hex.slice(16, 20),
|
|
38
|
+
hex.slice(20, 32),
|
|
39
|
+
].join('-');
|
|
40
|
+
}
|
|
41
|
+
export function stableRelaycastEventId(...parts) {
|
|
42
|
+
const normalized = parts
|
|
43
|
+
.map((part) => part?.trim())
|
|
44
|
+
.filter((part) => typeof part === 'string' && part.length > 0);
|
|
45
|
+
if (normalized.length === 0) {
|
|
46
|
+
return formatUuidFromWords(hashStringParts(['relaycast', 'empty-event']));
|
|
47
|
+
}
|
|
48
|
+
return formatUuidFromWords(hashStringParts(['relaycast', ...normalized]));
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=event-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-id.js","sourceRoot":"","sources":["../src/event-id.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
export { SDK_VERSION } from './version.js';
|
|
2
|
-
export { RelayCast
|
|
3
|
-
export type { RelayCastOptions,
|
|
2
|
+
export { RelayCast } from './relay.js';
|
|
3
|
+
export type { RelayCastOptions, EnsureWorkspaceResponse, } from './relay.js';
|
|
4
|
+
export { Relay } from './communicate/relay.js';
|
|
5
|
+
export type { Message, MessageCallback, RelayConfig } from './communicate/types.js';
|
|
6
|
+
export { RelaycastSetup, WorkspaceHandle } from './setup.js';
|
|
7
|
+
export type { AgentRecord, CreateWorkspaceOptions, JoinWorkspaceOptions, RegisterAgentOptions, RelaycastSetupOptions, WorkspaceInfo, } from './setup-types.js';
|
|
8
|
+
export { AgentNotRegisteredError, MalformedApiResponseError, MissingApiKeyError, RelaycastApiError, RelaycastSetupError, WorkspaceNotFoundError, } from './setup-errors.js';
|
|
9
|
+
export type { RelaycastSetupErrorCode } from './setup-errors.js';
|
|
4
10
|
export { AgentClient } from './agent.js';
|
|
5
11
|
export type { AgentClientOptions } from './agent.js';
|
|
6
12
|
export { HttpClient, RelayError } from './client.js';
|
|
@@ -11,5 +17,6 @@ export { appendLegacySuffix, isNameConflictError, } from './identity.js';
|
|
|
11
17
|
export type { RegisterAgentInput, RegisterOrRotateInput, ResolvedIdentity } from './identity.js';
|
|
12
18
|
export { WsClient } from './ws.js';
|
|
13
19
|
export type { WsClientOptions, EventHandler } from './ws.js';
|
|
20
|
+
export type { Subscription } from './subscription.js';
|
|
14
21
|
export type * from './types.js';
|
|
15
22
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,YAAY,EACV,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7D,YAAY,EACV,WAAW,EACX,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjG,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC7D,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,mBAAmB,YAAY,CAAC"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export { SDK_VERSION } from './version.js';
|
|
2
|
-
export { RelayCast
|
|
2
|
+
export { RelayCast } from './relay.js';
|
|
3
|
+
export { Relay } from './communicate/relay.js';
|
|
4
|
+
export { RelaycastSetup, WorkspaceHandle } from './setup.js';
|
|
5
|
+
export { AgentNotRegisteredError, MalformedApiResponseError, MissingApiKeyError, RelaycastApiError, RelaycastSetupError, WorkspaceNotFoundError, } from './setup-errors.js';
|
|
3
6
|
export { AgentClient } from './agent.js';
|
|
4
7
|
export { HttpClient, RelayError } from './client.js';
|
|
5
8
|
export { relayErrorFromApi, normalizeRelayErrorCode, relayErrorRetryable, } from './errors.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAKvC,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAS7D,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export type RelaycastSetupErrorCode = 'api_error' | 'malformed_api_response' | 'workspace_not_found' | 'agent_not_registered' | 'missing_api_key';
|
|
2
|
+
interface RelaycastSetupErrorOptions {
|
|
3
|
+
cause?: unknown;
|
|
4
|
+
}
|
|
5
|
+
export declare class RelaycastSetupError extends Error {
|
|
6
|
+
readonly code: string;
|
|
7
|
+
constructor(code: string, message: string, options?: RelaycastSetupErrorOptions);
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* The API returned a non-2xx response.
|
|
11
|
+
* HTTP 4xx and 5xx responses land here.
|
|
12
|
+
*/
|
|
13
|
+
export declare class RelaycastApiError extends RelaycastSetupError {
|
|
14
|
+
readonly code = "api_error";
|
|
15
|
+
readonly httpStatus: number;
|
|
16
|
+
readonly httpBody: unknown;
|
|
17
|
+
constructor(httpStatus: number, httpBody: unknown, message?: string);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Workspace creation or join succeeded but the response was missing
|
|
21
|
+
* a required field (workspaceId, apiKey, etc.).
|
|
22
|
+
* Should not happen in production — indicates an API contract violation.
|
|
23
|
+
*/
|
|
24
|
+
export declare class MalformedApiResponseError extends RelaycastSetupError {
|
|
25
|
+
readonly code = "malformed_api_response";
|
|
26
|
+
readonly field: string;
|
|
27
|
+
readonly response: unknown;
|
|
28
|
+
constructor(field: string, response: unknown, message?: string);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* lookupWorkspace() found no workspace with the given name.
|
|
32
|
+
*/
|
|
33
|
+
export declare class WorkspaceNotFoundError extends RelaycastSetupError {
|
|
34
|
+
readonly code = "workspace_not_found";
|
|
35
|
+
readonly workspaceName: string;
|
|
36
|
+
constructor(workspaceName: string, message?: string);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* relay() was called with an agent name that has not been registered
|
|
40
|
+
* through this handle.
|
|
41
|
+
*/
|
|
42
|
+
export declare class AgentNotRegisteredError extends RelaycastSetupError {
|
|
43
|
+
readonly code = "agent_not_registered";
|
|
44
|
+
readonly agentName: string;
|
|
45
|
+
constructor(agentName: string, message?: string);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* The API key is missing or invalid when required.
|
|
49
|
+
*/
|
|
50
|
+
export declare class MissingApiKeyError extends RelaycastSetupError {
|
|
51
|
+
readonly code = "missing_api_key";
|
|
52
|
+
constructor(message?: string);
|
|
53
|
+
}
|
|
54
|
+
export {};
|
|
55
|
+
//# sourceMappingURL=setup-errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-errors.d.ts","sourceRoot":"","sources":["../src/setup-errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAC/B,WAAW,GACX,wBAAwB,GACxB,qBAAqB,GACrB,sBAAsB,GACtB,iBAAiB,CAAC;AAEtB,UAAU,0BAA0B;IAClC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,0BAA+B;CASpF;AAED;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,mBAAmB;IACxD,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;gBAEf,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,SAA2D;CAKtH;AAED;;;;GAIG;AACH,qBAAa,yBAA0B,SAAQ,mBAAmB;IAChE,QAAQ,CAAC,IAAI,4BAA4B;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;gBAEf,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,SAAgE;CAKtH;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,mBAAmB;IAC7D,QAAQ,CAAC,IAAI,yBAAyB;IACtC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;gBAEnB,aAAa,EAAE,MAAM,EAAE,OAAO,SAA+C;CAI1F;AAED;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,mBAAmB;IAC9D,QAAQ,CAAC,IAAI,0BAA0B;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,SAAS,EAAE,MAAM,EAAE,OAAO,SAAiD;CAIxF;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,mBAAmB;IACzD,QAAQ,CAAC,IAAI,qBAAqB;gBAEtB,OAAO,SAA2C;CAG/D"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
export class RelaycastSetupError extends Error {
|
|
2
|
+
code;
|
|
3
|
+
constructor(code, message, options = {}) {
|
|
4
|
+
super(message);
|
|
5
|
+
this.name = new.target.name;
|
|
6
|
+
this.code = code;
|
|
7
|
+
if (options.cause !== undefined) {
|
|
8
|
+
this.cause = options.cause;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* The API returned a non-2xx response.
|
|
14
|
+
* HTTP 4xx and 5xx responses land here.
|
|
15
|
+
*/
|
|
16
|
+
export class RelaycastApiError extends RelaycastSetupError {
|
|
17
|
+
code = 'api_error';
|
|
18
|
+
httpStatus;
|
|
19
|
+
httpBody;
|
|
20
|
+
constructor(httpStatus, httpBody, message = `Relaycast API request failed with status ${httpStatus}`) {
|
|
21
|
+
super('api_error', message);
|
|
22
|
+
this.httpStatus = httpStatus;
|
|
23
|
+
this.httpBody = httpBody;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Workspace creation or join succeeded but the response was missing
|
|
28
|
+
* a required field (workspaceId, apiKey, etc.).
|
|
29
|
+
* Should not happen in production — indicates an API contract violation.
|
|
30
|
+
*/
|
|
31
|
+
export class MalformedApiResponseError extends RelaycastSetupError {
|
|
32
|
+
code = 'malformed_api_response';
|
|
33
|
+
field;
|
|
34
|
+
response;
|
|
35
|
+
constructor(field, response, message = `Relaycast API response is missing required field "${field}"`) {
|
|
36
|
+
super('malformed_api_response', message);
|
|
37
|
+
this.field = field;
|
|
38
|
+
this.response = response;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* lookupWorkspace() found no workspace with the given name.
|
|
43
|
+
*/
|
|
44
|
+
export class WorkspaceNotFoundError extends RelaycastSetupError {
|
|
45
|
+
code = 'workspace_not_found';
|
|
46
|
+
workspaceName;
|
|
47
|
+
constructor(workspaceName, message = `Workspace "${workspaceName}" was not found`) {
|
|
48
|
+
super('workspace_not_found', message);
|
|
49
|
+
this.workspaceName = workspaceName;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* relay() was called with an agent name that has not been registered
|
|
54
|
+
* through this handle.
|
|
55
|
+
*/
|
|
56
|
+
export class AgentNotRegisteredError extends RelaycastSetupError {
|
|
57
|
+
code = 'agent_not_registered';
|
|
58
|
+
agentName;
|
|
59
|
+
constructor(agentName, message = `Agent "${agentName}" has not been registered`) {
|
|
60
|
+
super('agent_not_registered', message);
|
|
61
|
+
this.agentName = agentName;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* The API key is missing or invalid when required.
|
|
66
|
+
*/
|
|
67
|
+
export class MissingApiKeyError extends RelaycastSetupError {
|
|
68
|
+
code = 'missing_api_key';
|
|
69
|
+
constructor(message = 'API key is required for this operation') {
|
|
70
|
+
super('missing_api_key', message);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=setup-errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-errors.js","sourceRoot":"","sources":["../src/setup-errors.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IACnC,IAAI,CAAS;IAEtB,YAAY,IAAY,EAAE,OAAe,EAAE,UAAsC,EAAE;QACjF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,IAA4B,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QACtD,CAAC;IACH,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,iBAAkB,SAAQ,mBAAmB;IAC/C,IAAI,GAAG,WAAW,CAAC;IACnB,UAAU,CAAS;IACnB,QAAQ,CAAU;IAE3B,YAAY,UAAkB,EAAE,QAAiB,EAAE,OAAO,GAAG,4CAA4C,UAAU,EAAE;QACnH,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,yBAA0B,SAAQ,mBAAmB;IACvD,IAAI,GAAG,wBAAwB,CAAC;IAChC,KAAK,CAAS;IACd,QAAQ,CAAU;IAE3B,YAAY,KAAa,EAAE,QAAiB,EAAE,OAAO,GAAG,qDAAqD,KAAK,GAAG;QACnH,KAAK,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,mBAAmB;IACpD,IAAI,GAAG,qBAAqB,CAAC;IAC7B,aAAa,CAAS;IAE/B,YAAY,aAAqB,EAAE,OAAO,GAAG,cAAc,aAAa,iBAAiB;QACvF,KAAK,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,uBAAwB,SAAQ,mBAAmB;IACrD,IAAI,GAAG,sBAAsB,CAAC;IAC9B,SAAS,CAAS;IAE3B,YAAY,SAAiB,EAAE,OAAO,GAAG,UAAU,SAAS,2BAA2B;QACrF,KAAK,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,mBAAmB;IAChD,IAAI,GAAG,iBAAiB,CAAC;IAElC,YAAY,OAAO,GAAG,wCAAwC;QAC5D,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;CACF"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { CreateAgentRequest, CreateAgentResponse } from './types.js';
|
|
2
|
+
export interface RelaycastSetupOptions {
|
|
3
|
+
/**
|
|
4
|
+
* Base URL for the Relaycast API.
|
|
5
|
+
* @default "https://api.relaycast.dev"
|
|
6
|
+
*/
|
|
7
|
+
baseUrl?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Workspace API key (rk_live_... or rk_test_...).
|
|
10
|
+
* When omitted, workspace creation proceeds anonymously and returns
|
|
11
|
+
* a new API key. Anonymous workspaces are publicly joinable.
|
|
12
|
+
*/
|
|
13
|
+
apiKey?: string | (() => string | Promise<string>);
|
|
14
|
+
/**
|
|
15
|
+
* Timeout in milliseconds for each HTTP request to the API.
|
|
16
|
+
* @default 30_000
|
|
17
|
+
*/
|
|
18
|
+
requestTimeoutMs?: number;
|
|
19
|
+
/**
|
|
20
|
+
* Retry configuration for API calls.
|
|
21
|
+
* @default { maxRetries: 3, baseDelayMs: 500 }
|
|
22
|
+
*/
|
|
23
|
+
retry?: {
|
|
24
|
+
maxRetries: number;
|
|
25
|
+
baseDelayMs: number;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Enable local mode, targeting a locally running Relaycast daemon.
|
|
29
|
+
* Automatically sets baseUrl to http://127.0.0.1:7528 if not overridden.
|
|
30
|
+
* @default false
|
|
31
|
+
*/
|
|
32
|
+
local?: boolean;
|
|
33
|
+
}
|
|
34
|
+
export interface CreateWorkspaceOptions {
|
|
35
|
+
/**
|
|
36
|
+
* Human-readable name for the workspace.
|
|
37
|
+
*/
|
|
38
|
+
name: string;
|
|
39
|
+
}
|
|
40
|
+
export type JoinWorkspaceOptions = Record<string, never>;
|
|
41
|
+
export interface WorkspaceInfo {
|
|
42
|
+
workspaceId: string;
|
|
43
|
+
apiKey: string;
|
|
44
|
+
baseUrl: string;
|
|
45
|
+
/** ISO 8601 creation timestamp */
|
|
46
|
+
createdAt?: string;
|
|
47
|
+
name?: string;
|
|
48
|
+
}
|
|
49
|
+
export type RegisterAgentOptions = CreateAgentRequest;
|
|
50
|
+
export interface AgentRecord extends Omit<CreateAgentResponse, 'status'> {
|
|
51
|
+
type: NonNullable<CreateAgentRequest['type']>;
|
|
52
|
+
status: CreateAgentResponse['status'];
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=setup-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-types.d.ts","sourceRoot":"","sources":["../src/setup-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE1E,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnD;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,KAAK,CAAC,EAAE;QACN,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEtD,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC;IACtE,IAAI,EAAE,WAAW,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9C,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;CACvC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-types.js","sourceRoot":"","sources":["../src/setup-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { AgentClient } from './agent.js';
|
|
2
|
+
import { type RetryPolicyInput } from './client.js';
|
|
3
|
+
import { Relay } from './communicate/relay.js';
|
|
4
|
+
import { RelayCast } from './relay.js';
|
|
5
|
+
import type { AgentRecord, CreateWorkspaceOptions, JoinWorkspaceOptions, RegisterAgentOptions, RelaycastSetupOptions, WorkspaceInfo } from './setup-types.js';
|
|
6
|
+
import type { WorkspaceLookup } from './types.js';
|
|
7
|
+
interface WorkspaceHandleConfig {
|
|
8
|
+
retryPolicyInput: RetryPolicyInput;
|
|
9
|
+
}
|
|
10
|
+
export declare class WorkspaceHandle {
|
|
11
|
+
readonly info: WorkspaceInfo;
|
|
12
|
+
readonly workspaceId: string;
|
|
13
|
+
readonly apiKey: string;
|
|
14
|
+
private readonly retryPolicyInput;
|
|
15
|
+
private relayCastInstance;
|
|
16
|
+
private readonly agentRecords;
|
|
17
|
+
private readonly registrationOrder;
|
|
18
|
+
private readonly relays;
|
|
19
|
+
constructor(info: WorkspaceInfo, config: WorkspaceHandleConfig);
|
|
20
|
+
relayCast(): RelayCast;
|
|
21
|
+
as(token: string): AgentClient;
|
|
22
|
+
relay(agentName: string): Relay;
|
|
23
|
+
registerAgent(opts: RegisterAgentOptions): Promise<AgentRecord>;
|
|
24
|
+
getAgentToken(name: string): string | undefined;
|
|
25
|
+
listRegisteredAgents(): AgentRecord[];
|
|
26
|
+
getApiKey(): string;
|
|
27
|
+
}
|
|
28
|
+
export declare class RelaycastSetup {
|
|
29
|
+
private readonly config;
|
|
30
|
+
constructor(options?: RelaycastSetupOptions);
|
|
31
|
+
createWorkspace(options: CreateWorkspaceOptions): Promise<WorkspaceHandle>;
|
|
32
|
+
joinWorkspace(workspaceId: string, apiKey: string, _options?: JoinWorkspaceOptions): Promise<WorkspaceHandle>;
|
|
33
|
+
lookupWorkspace(name: string): Promise<WorkspaceLookup | null>;
|
|
34
|
+
private resolveApiKey;
|
|
35
|
+
private fetchWithRetry;
|
|
36
|
+
private requestWorkspace;
|
|
37
|
+
private parseResponseBody;
|
|
38
|
+
private extractApiErrorMessage;
|
|
39
|
+
}
|
|
40
|
+
export {};
|
|
41
|
+
//# sourceMappingURL=setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAOvC,OAAO,KAAK,EACV,WAAW,EACX,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,aAAa,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA2BlD,UAAU,qBAAqB;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AA0GD,qBAAa,eAAe;IAC1B,SAAgB,IAAI,EAAE,aAAa,CAAC;IACpC,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAC/D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IACvD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;gBAEvC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,qBAAqB;IAO9D,SAAS,IAAI,SAAS;IAWtB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW;IAQ9B,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK;IAgBzB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC;IAoBrE,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI/C,oBAAoB,IAAI,WAAW,EAAE;IAIrC,SAAS,IAAI,MAAM;CAGpB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAEzB,OAAO,GAAE,qBAA0B;IAczC,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC;IAyB1E,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,oBAAyB,GAClC,OAAO,CAAC,eAAe,CAAC;IAerB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;YAStD,aAAa;YASb,cAAc;YAuDd,gBAAgB;YAiDhB,iBAAiB;IAgB/B,OAAO,CAAC,sBAAsB;CAa/B"}
|