@relayfile/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,40 @@
1
+ # @relayfile/sdk
2
+
3
+ TypeScript SDK for relayfile — real-time filesystem for humans and agents.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ npm install @relayfile/sdk
9
+ ```
10
+
11
+ ## Quick Example
12
+
13
+ ```ts
14
+ import { RelayFileClient } from "@relayfile/sdk";
15
+
16
+ const client = new RelayFileClient({
17
+ baseUrl: "https://api.relayfile.com",
18
+ token: process.env.RELAYFILE_TOKEN ?? ""
19
+ });
20
+
21
+ const workspaceId = "workspace_123";
22
+
23
+ const tree = await client.listTree(workspaceId, { path: "/", depth: 2 });
24
+ console.log(tree.entries.map((entry) => entry.path));
25
+
26
+ const file = await client.readFile(workspaceId, "/notes/todo.md");
27
+ console.log(file.content);
28
+
29
+ await client.writeFile({
30
+ workspaceId,
31
+ path: "/notes/todo.md",
32
+ baseRevision: file.revision,
33
+ content: `${file.content}\n- Follow up with SDK publish`,
34
+ contentType: "text/markdown"
35
+ });
36
+ ```
37
+
38
+ ## Full Docs
39
+
40
+ Full documentation is available at https://github.com/AgentWorkforce/relayfile
@@ -0,0 +1,73 @@
1
+ import { type AdminIngressStatusResponse, type AdminSyncStatusResponse, type BulkWriteInput, type BulkWriteResponse, type BackendStatusResponse, type AckResponse, type DeleteFileInput, type DeadLetterItem, type DeadLetterFeedResponse, type EventFeedResponse, type ExportJsonResponse, type ExportOptions, type FileQueryResponse, type FileReadResponse, type FilesystemEvent, type GetEventsOptions, type GetAdminIngressStatusOptions, type GetAdminSyncStatusOptions, type GetOperationsOptions, type GetSyncDeadLettersOptions, type GetSyncIngressStatusOptions, type GetSyncStatusOptions, type ListTreeOptions, type OperationFeedResponse, type OperationStatusResponse, type QueuedResponse, type QueryFilesOptions, type SyncIngressStatusResponse, type SyncStatusResponse, type TreeResponse, type WriteFileInput, type WriteQueuedResponse } from "./types.js";
2
+ export type AccessTokenProvider = string | (() => string | Promise<string>);
3
+ export interface RelayFileRetryOptions {
4
+ maxRetries?: number;
5
+ baseDelayMs?: number;
6
+ maxDelayMs?: number;
7
+ jitterRatio?: number;
8
+ }
9
+ export interface RelayFileClientOptions {
10
+ baseUrl: string;
11
+ token: AccessTokenProvider;
12
+ fetchImpl?: typeof fetch;
13
+ userAgent?: string;
14
+ retry?: RelayFileRetryOptions;
15
+ }
16
+ type WebSocketEventName = "event" | "error" | "open" | "close";
17
+ type WebSocketHandlerMap = {
18
+ event: (event: FilesystemEvent) => void;
19
+ error: (event: Event | Error) => void;
20
+ open: (event: Event) => void;
21
+ close: (event: CloseEvent) => void;
22
+ };
23
+ export interface WebSocketConnection {
24
+ close(code?: number, reason?: string): void;
25
+ on<TEventName extends WebSocketEventName>(event: TEventName, handler: WebSocketHandlerMap[TEventName]): () => void;
26
+ }
27
+ export interface ConnectWebSocketOptions {
28
+ token?: string;
29
+ onEvent?: (event: FilesystemEvent) => void;
30
+ }
31
+ export declare class RelayFileClient {
32
+ private readonly baseUrl;
33
+ private readonly tokenProvider;
34
+ private readonly fetchImpl;
35
+ private readonly userAgent?;
36
+ private readonly retryOptions;
37
+ constructor(options: RelayFileClientOptions);
38
+ listTree(workspaceId: string, options?: ListTreeOptions): Promise<TreeResponse>;
39
+ readFile(workspaceId: string, path: string, correlationId?: string, signal?: AbortSignal): Promise<FileReadResponse>;
40
+ queryFiles(workspaceId: string, options?: QueryFilesOptions): Promise<FileQueryResponse>;
41
+ writeFile(input: WriteFileInput): Promise<WriteQueuedResponse>;
42
+ bulkWrite(input: BulkWriteInput): Promise<BulkWriteResponse>;
43
+ deleteFile(input: DeleteFileInput): Promise<WriteQueuedResponse>;
44
+ getEvents(workspaceId: string, options?: GetEventsOptions): Promise<EventFeedResponse>;
45
+ exportWorkspace(options: ExportOptions): Promise<ExportJsonResponse | Blob>;
46
+ connectWebSocket(workspaceId: string, options?: ConnectWebSocketOptions): WebSocketConnection;
47
+ getOp(workspaceId: string, opId: string, correlationId?: string, signal?: AbortSignal): Promise<OperationStatusResponse>;
48
+ listOps(workspaceId: string, options?: GetOperationsOptions): Promise<OperationFeedResponse>;
49
+ replayOp(workspaceId: string, opId: string, correlationId?: string, signal?: AbortSignal): Promise<QueuedResponse>;
50
+ replayAdminEnvelope(envelopeId: string, correlationId?: string, signal?: AbortSignal): Promise<QueuedResponse>;
51
+ replayAdminOp(opId: string, correlationId?: string, signal?: AbortSignal): Promise<QueuedResponse>;
52
+ getBackendStatus(correlationId?: string, signal?: AbortSignal): Promise<BackendStatusResponse>;
53
+ getAdminIngressStatus(optionsOrCorrelationId?: GetAdminIngressStatusOptions | string, signal?: AbortSignal): Promise<AdminIngressStatusResponse>;
54
+ getAdminSyncStatus(optionsOrCorrelationId?: GetAdminSyncStatusOptions | string, signal?: AbortSignal): Promise<AdminSyncStatusResponse>;
55
+ getSyncStatus(workspaceId: string, options?: GetSyncStatusOptions): Promise<SyncStatusResponse>;
56
+ getSyncIngressStatus(workspaceId: string, options?: GetSyncIngressStatusOptions): Promise<SyncIngressStatusResponse>;
57
+ getSyncDeadLetters(workspaceId: string, options?: GetSyncDeadLettersOptions): Promise<DeadLetterFeedResponse>;
58
+ getSyncDeadLetter(workspaceId: string, envelopeId: string, correlationId?: string, signal?: AbortSignal): Promise<DeadLetterItem>;
59
+ replaySyncDeadLetter(workspaceId: string, envelopeId: string, correlationId?: string, signal?: AbortSignal): Promise<QueuedResponse>;
60
+ ackSyncDeadLetter(workspaceId: string, envelopeId: string, correlationId?: string, signal?: AbortSignal): Promise<AckResponse>;
61
+ triggerSyncRefresh(workspaceId: string, provider: string, reason?: string, correlationId?: string, signal?: AbortSignal): Promise<QueuedResponse>;
62
+ private request;
63
+ private performRequest;
64
+ private shouldRetryStatus;
65
+ private shouldRetryError;
66
+ private computeRetryDelayMs;
67
+ private parseRetryAfterMs;
68
+ private sleep;
69
+ private readPayload;
70
+ private throwForError;
71
+ }
72
+ export {};
73
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}