@rool-dev/sdk 0.12.5 → 2.0.0-dev.0745af4

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 (112) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +63 -951
  3. package/assets/rool-logo.svg +5 -0
  4. package/assets/rool-wordmark-dark.svg +7 -0
  5. package/assets/rool-wordmark.svg +7 -0
  6. package/dist/agents.d.ts +143 -0
  7. package/dist/agents.d.ts.map +1 -0
  8. package/dist/agents.js +583 -0
  9. package/dist/agents.js.map +1 -0
  10. package/dist/auth-base.d.ts +43 -88
  11. package/dist/auth-base.d.ts.map +1 -1
  12. package/dist/auth-base.js +178 -302
  13. package/dist/auth-base.js.map +1 -1
  14. package/dist/auth-browser.d.ts +7 -25
  15. package/dist/auth-browser.d.ts.map +1 -1
  16. package/dist/auth-browser.js +45 -82
  17. package/dist/auth-browser.js.map +1 -1
  18. package/dist/auth-native.d.ts +9 -56
  19. package/dist/auth-native.d.ts.map +1 -1
  20. package/dist/auth-native.js +88 -177
  21. package/dist/auth-native.js.map +1 -1
  22. package/dist/auth-node.d.ts +32 -36
  23. package/dist/auth-node.d.ts.map +1 -1
  24. package/dist/auth-node.js +338 -265
  25. package/dist/auth-node.js.map +1 -1
  26. package/dist/auth-url.d.ts +6 -0
  27. package/dist/auth-url.d.ts.map +1 -0
  28. package/dist/auth-url.js +30 -0
  29. package/dist/auth-url.js.map +1 -0
  30. package/dist/client.d.ts +37 -290
  31. package/dist/client.d.ts.map +1 -1
  32. package/dist/client.js +331 -635
  33. package/dist/client.js.map +1 -1
  34. package/dist/events.d.ts +40 -0
  35. package/dist/events.d.ts.map +1 -0
  36. package/dist/events.js +175 -0
  37. package/dist/events.js.map +1 -0
  38. package/dist/files.d.ts +176 -0
  39. package/dist/files.d.ts.map +1 -0
  40. package/dist/files.js +857 -0
  41. package/dist/files.js.map +1 -0
  42. package/dist/index.d.ts +16 -19
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +7 -20
  45. package/dist/index.js.map +1 -1
  46. package/dist/machine.d.ts +51 -0
  47. package/dist/machine.d.ts.map +1 -0
  48. package/dist/machine.js +142 -0
  49. package/dist/machine.js.map +1 -0
  50. package/dist/problem.d.ts +11 -0
  51. package/dist/problem.d.ts.map +1 -0
  52. package/dist/problem.js +20 -0
  53. package/dist/problem.js.map +1 -0
  54. package/dist/structured.d.ts +84 -0
  55. package/dist/structured.d.ts.map +1 -0
  56. package/dist/structured.js +405 -0
  57. package/dist/structured.js.map +1 -0
  58. package/dist/types.d.ts +133 -520
  59. package/dist/types.d.ts.map +1 -1
  60. package/package.json +24 -22
  61. package/dist/auth.d.ts +0 -99
  62. package/dist/auth.d.ts.map +0 -1
  63. package/dist/auth.js +0 -217
  64. package/dist/auth.js.map +0 -1
  65. package/dist/client-info.d.ts +0 -18
  66. package/dist/client-info.d.ts.map +0 -1
  67. package/dist/client-info.js +0 -25
  68. package/dist/client-info.js.map +0 -1
  69. package/dist/event-emitter.d.ts +0 -45
  70. package/dist/event-emitter.d.ts.map +0 -1
  71. package/dist/event-emitter.js +0 -86
  72. package/dist/event-emitter.js.map +0 -1
  73. package/dist/graphql.d.ts +0 -90
  74. package/dist/graphql.d.ts.map +0 -1
  75. package/dist/graphql.js +0 -471
  76. package/dist/graphql.js.map +0 -1
  77. package/dist/logger.d.ts +0 -13
  78. package/dist/logger.d.ts.map +0 -1
  79. package/dist/logger.js +0 -17
  80. package/dist/logger.js.map +0 -1
  81. package/dist/path.d.ts +0 -6
  82. package/dist/path.d.ts.map +0 -1
  83. package/dist/path.js +0 -47
  84. package/dist/path.js.map +0 -1
  85. package/dist/reroute.d.ts +0 -22
  86. package/dist/reroute.d.ts.map +0 -1
  87. package/dist/reroute.js +0 -70
  88. package/dist/reroute.js.map +0 -1
  89. package/dist/rest.d.ts +0 -54
  90. package/dist/rest.d.ts.map +0 -1
  91. package/dist/rest.js +0 -171
  92. package/dist/rest.js.map +0 -1
  93. package/dist/router.d.ts +0 -20
  94. package/dist/router.d.ts.map +0 -1
  95. package/dist/router.js +0 -54
  96. package/dist/router.js.map +0 -1
  97. package/dist/space-session.d.ts +0 -30
  98. package/dist/space-session.d.ts.map +0 -1
  99. package/dist/space-session.js +0 -83
  100. package/dist/space-session.js.map +0 -1
  101. package/dist/space.d.ts +0 -161
  102. package/dist/space.d.ts.map +0 -1
  103. package/dist/space.js +0 -618
  104. package/dist/space.js.map +0 -1
  105. package/dist/subscription.d.ts +0 -36
  106. package/dist/subscription.d.ts.map +0 -1
  107. package/dist/subscription.js +0 -419
  108. package/dist/subscription.js.map +0 -1
  109. package/dist/webdav.d.ts +0 -171
  110. package/dist/webdav.d.ts.map +0 -1
  111. package/dist/webdav.js +0 -481
  112. 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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"}