@rool-dev/sdk 0.12.5 → 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.
Files changed (108) hide show
  1. package/README.md +436 -784
  2. package/dist/agents.d.ts +138 -0
  3. package/dist/agents.d.ts.map +1 -0
  4. package/dist/agents.js +563 -0
  5. package/dist/agents.js.map +1 -0
  6. package/dist/auth-base.d.ts +43 -88
  7. package/dist/auth-base.d.ts.map +1 -1
  8. package/dist/auth-base.js +178 -302
  9. package/dist/auth-base.js.map +1 -1
  10. package/dist/auth-browser.d.ts +7 -25
  11. package/dist/auth-browser.d.ts.map +1 -1
  12. package/dist/auth-browser.js +45 -82
  13. package/dist/auth-browser.js.map +1 -1
  14. package/dist/auth-native.d.ts +9 -56
  15. package/dist/auth-native.d.ts.map +1 -1
  16. package/dist/auth-native.js +88 -177
  17. package/dist/auth-native.js.map +1 -1
  18. package/dist/auth-node.d.ts +32 -36
  19. package/dist/auth-node.d.ts.map +1 -1
  20. package/dist/auth-node.js +338 -265
  21. package/dist/auth-node.js.map +1 -1
  22. package/dist/auth-url.d.ts +6 -0
  23. package/dist/auth-url.d.ts.map +1 -0
  24. package/dist/auth-url.js +30 -0
  25. package/dist/auth-url.js.map +1 -0
  26. package/dist/client.d.ts +35 -290
  27. package/dist/client.d.ts.map +1 -1
  28. package/dist/client.js +323 -635
  29. package/dist/client.js.map +1 -1
  30. package/dist/events.d.ts +40 -0
  31. package/dist/events.d.ts.map +1 -0
  32. package/dist/events.js +175 -0
  33. package/dist/events.js.map +1 -0
  34. package/dist/files.d.ts +174 -0
  35. package/dist/files.d.ts.map +1 -0
  36. package/dist/files.js +846 -0
  37. package/dist/files.js.map +1 -0
  38. package/dist/index.d.ts +16 -19
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +7 -20
  41. package/dist/index.js.map +1 -1
  42. package/dist/machine.d.ts +51 -0
  43. package/dist/machine.d.ts.map +1 -0
  44. package/dist/machine.js +142 -0
  45. package/dist/machine.js.map +1 -0
  46. package/dist/problem.d.ts +11 -0
  47. package/dist/problem.d.ts.map +1 -0
  48. package/dist/problem.js +20 -0
  49. package/dist/problem.js.map +1 -0
  50. package/dist/structured.d.ts +84 -0
  51. package/dist/structured.d.ts.map +1 -0
  52. package/dist/structured.js +405 -0
  53. package/dist/structured.js.map +1 -0
  54. package/dist/types.d.ts +119 -520
  55. package/dist/types.d.ts.map +1 -1
  56. package/package.json +11 -16
  57. package/dist/auth.d.ts +0 -99
  58. package/dist/auth.d.ts.map +0 -1
  59. package/dist/auth.js +0 -217
  60. package/dist/auth.js.map +0 -1
  61. package/dist/client-info.d.ts +0 -18
  62. package/dist/client-info.d.ts.map +0 -1
  63. package/dist/client-info.js +0 -25
  64. package/dist/client-info.js.map +0 -1
  65. package/dist/event-emitter.d.ts +0 -45
  66. package/dist/event-emitter.d.ts.map +0 -1
  67. package/dist/event-emitter.js +0 -86
  68. package/dist/event-emitter.js.map +0 -1
  69. package/dist/graphql.d.ts +0 -90
  70. package/dist/graphql.d.ts.map +0 -1
  71. package/dist/graphql.js +0 -471
  72. package/dist/graphql.js.map +0 -1
  73. package/dist/logger.d.ts +0 -13
  74. package/dist/logger.d.ts.map +0 -1
  75. package/dist/logger.js +0 -17
  76. package/dist/logger.js.map +0 -1
  77. package/dist/path.d.ts +0 -6
  78. package/dist/path.d.ts.map +0 -1
  79. package/dist/path.js +0 -47
  80. package/dist/path.js.map +0 -1
  81. package/dist/reroute.d.ts +0 -22
  82. package/dist/reroute.d.ts.map +0 -1
  83. package/dist/reroute.js +0 -70
  84. package/dist/reroute.js.map +0 -1
  85. package/dist/rest.d.ts +0 -54
  86. package/dist/rest.d.ts.map +0 -1
  87. package/dist/rest.js +0 -171
  88. package/dist/rest.js.map +0 -1
  89. package/dist/router.d.ts +0 -20
  90. package/dist/router.d.ts.map +0 -1
  91. package/dist/router.js +0 -54
  92. package/dist/router.js.map +0 -1
  93. package/dist/space-session.d.ts +0 -30
  94. package/dist/space-session.d.ts.map +0 -1
  95. package/dist/space-session.js +0 -83
  96. package/dist/space-session.js.map +0 -1
  97. package/dist/space.d.ts +0 -161
  98. package/dist/space.d.ts.map +0 -1
  99. package/dist/space.js +0 -618
  100. package/dist/space.js.map +0 -1
  101. package/dist/subscription.d.ts +0 -36
  102. package/dist/subscription.d.ts.map +0 -1
  103. package/dist/subscription.js +0 -419
  104. package/dist/subscription.js.map +0 -1
  105. package/dist/webdav.d.ts +0 -171
  106. package/dist/webdav.d.ts.map +0 -1
  107. package/dist/webdav.js +0 -481
  108. package/dist/webdav.js.map +0 -1
package/dist/space.d.ts DELETED
@@ -1,161 +0,0 @@
1
- import { EventEmitter } from './event-emitter.js';
2
- import type { GraphQLClient, OpenSpaceResult } from './graphql.js';
3
- import type { RestClient } from './rest.js';
4
- import { ConversationHandle } from './space-session.js';
5
- import { RoolWebDAV } from './webdav.js';
6
- import type { AuthManager } from './auth.js';
7
- import type { Logger } from './logger.js';
8
- import type { SpaceRouter, RouteInfo } from './router.js';
9
- import type { RoolClientInfo } from './client-info.js';
10
- import type { RoolObject, GetObjectsResult, RoolSpaceEvents, RoolUserRole, PromptOptions, UpdateObjectOptions, MoveObjectOptions, Conversation, ConversationVisibility, SpaceSchema, CollectionDef, FieldDef, CollectionOptions, InviteRole, SpaceInvite, SpaceInviteCreated, SpaceMember, ConnectionState } from './types.js';
11
- export interface SpaceConfig {
12
- id: string;
13
- openSpaceResult: OpenSpaceResult;
14
- graphqlClient: GraphQLClient;
15
- restClient: RestClient;
16
- authManager: AuthManager;
17
- router: SpaceRouter;
18
- initialRoute: RouteInfo;
19
- logger: Logger;
20
- clientInfo: RoolClientInfo;
21
- onClose: () => void;
22
- }
23
- /** An imperative API handle for one open space. */
24
- export declare class RoolSpace extends EventEmitter<RoolSpaceEvents> {
25
- private _id;
26
- private _openSpaceResult;
27
- private _connectionState;
28
- private _closed;
29
- private _graphqlClient;
30
- private _restClient;
31
- private _webdav;
32
- private _logger;
33
- private authManager;
34
- private router;
35
- private _route;
36
- private onCloseCallback;
37
- private clientInfo;
38
- private subscriptionManager;
39
- constructor(config: SpaceConfig);
40
- get id(): string;
41
- get name(): string;
42
- get role(): RoolUserRole;
43
- get isReadOnly(): boolean;
44
- get memberCount(): number;
45
- get openSpaceResult(): OpenSpaceResult;
46
- get connectionState(): ConnectionState;
47
- get route(): RouteInfo;
48
- get webdav(): RoolWebDAV;
49
- refresh(): Promise<OpenSpaceResult>;
50
- listConversations(): Promise<import("./types.js").ConversationMeta[]>;
51
- conversation(conversationId: string): ConversationHandle;
52
- getConversation(conversationId: string): Promise<Conversation | null>;
53
- deleteConversation(conversationId: string): Promise<void>;
54
- createConversation(agent: string, visibility: ConversationVisibility): Promise<string>;
55
- listAgents(): Promise<string[]>;
56
- deleteAgent(agent: string): Promise<void>;
57
- canUndo(): Promise<boolean>;
58
- canRedo(): Promise<boolean>;
59
- undo(): Promise<boolean>;
60
- redo(): Promise<boolean>;
61
- private davHeaders;
62
- private readObject;
63
- /** Get an object JSON file by machine path. Fetches from the server on each call. */
64
- getObject(path: string): Promise<RoolObject | undefined>;
65
- /** Get object JSON files by machine path in bulk. Duplicate paths are fetched once. */
66
- getObjects(paths: string[]): Promise<GetObjectsResult>;
67
- /** Create or replace an object JSON file. */
68
- putObject(path: string, body: Record<string, unknown>): Promise<{
69
- object: RoolObject;
70
- message: string;
71
- }>;
72
- /** Patch an existing object JSON file. */
73
- patchObject(path: string, options: UpdateObjectOptions): Promise<{
74
- object: RoolObject;
75
- message: string;
76
- }>;
77
- /** Move (rename/relocate) an object. */
78
- moveObject(from: string, to: string, options?: MoveObjectOptions): Promise<{
79
- object: RoolObject;
80
- message: string;
81
- }>;
82
- /** Delete object JSON files by path. */
83
- deleteObjects(paths: string[]): Promise<void>;
84
- /**
85
- * Read space metadata from `/space/.meta.json`. Returns `{}` when the space has
86
- * no metadata file yet. Stateless — callers (e.g. a reactive wrapper) cache and
87
- * re-fetch this on their own schedule, typically when a file-tree sync reports
88
- * the node changed.
89
- */
90
- readMeta(): Promise<Record<string, unknown>>;
91
- /**
92
- * Write the full metadata blob to `/space/.meta.json`, attributed to a
93
- * conversation. Callers compose the blob (e.g. read-merge-write) — this does no
94
- * merging.
95
- */
96
- writeMeta(meta: Record<string, unknown>): Promise<void>;
97
- /**
98
- * Read the collection schema: one `/space/<name>/.schema.json` per collection
99
- * directory under `/space`. Returns `{}` for a space with no collections.
100
- * Stateless — reactive callers re-fetch when a `.schema.json` node changes.
101
- */
102
- readSchema(): Promise<SpaceSchema>;
103
- /** Create a new collection (MKCOL + schema JSON). */
104
- createCollection(name: string, fields: FieldDef[] | CollectionDef, options?: CollectionOptions): Promise<CollectionDef>;
105
- /** Alter an existing collection's schema JSON. */
106
- alterCollection(name: string, fields: FieldDef[] | CollectionDef, options?: CollectionOptions): Promise<CollectionDef>;
107
- /** Drop a collection (DELETE). */
108
- dropCollection(name: string): Promise<void>;
109
- /** @internal */
110
- _updateConversation(conversationId: string, options: {
111
- name?: string;
112
- systemInstruction?: string | null;
113
- }): Promise<void>;
114
- /** @internal */
115
- _prompt(prompt: string, conversationId: string, options: PromptOptions | undefined): Promise<{
116
- message: string;
117
- objects: RoolObject[];
118
- creditsUsed: number;
119
- }>;
120
- /**
121
- * Stop whatever is running in a conversation. A conversation processes one
122
- * run at a time, so no interaction handle is needed.
123
- *
124
- * Returns whether anything was actually running.
125
- */
126
- stopConversation(conversationId: string): Promise<boolean>;
127
- /**
128
- * Fetch an external URL via the server proxy, bypassing CORS restrictions.
129
- */
130
- fetch(url: string, init?: {
131
- method?: string;
132
- headers?: Record<string, string>;
133
- body?: unknown;
134
- }): Promise<Response>;
135
- private uploadAttachment;
136
- fetchPath(path: string, options?: {
137
- range?: string | {
138
- start: number;
139
- end?: number;
140
- };
141
- signal?: AbortSignal;
142
- }): Promise<Response>;
143
- rename(newName: string): Promise<void>;
144
- delete(): Promise<void>;
145
- listUsers(): Promise<SpaceMember[]>;
146
- setUserRole(userId: string, role: InviteRole): Promise<void>;
147
- removeUser(userId: string): Promise<void>;
148
- createInvite(role: InviteRole, options?: {
149
- email?: string;
150
- expiresInDays?: number;
151
- maxUses?: number;
152
- }): Promise<SpaceInviteCreated>;
153
- listInvites(): Promise<SpaceInvite[]>;
154
- revokeInvite(inviteId: string): Promise<boolean>;
155
- exportArchive(): Promise<Blob>;
156
- close(): void;
157
- private startSubscription;
158
- private reroute;
159
- private handleSpaceEvent;
160
- }
161
- //# sourceMappingURL=space.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../src/space.ts"],"names":[],"mappings":"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"}