@lifestreamdynamics/vault-sdk 1.0.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.
Files changed (103) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1121 -0
  3. package/dist/client.d.ts +143 -0
  4. package/dist/client.d.ts.map +1 -0
  5. package/dist/client.js +286 -0
  6. package/dist/client.js.map +1 -0
  7. package/dist/errors.d.ts +28 -0
  8. package/dist/errors.d.ts.map +1 -0
  9. package/dist/errors.js +49 -0
  10. package/dist/errors.js.map +1 -0
  11. package/dist/handle-error.d.ts +8 -0
  12. package/dist/handle-error.d.ts.map +1 -0
  13. package/dist/handle-error.js +35 -0
  14. package/dist/handle-error.js.map +1 -0
  15. package/dist/index.d.ts +32 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +26 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/lib/audit-logger.d.ts +29 -0
  20. package/dist/lib/audit-logger.d.ts.map +1 -0
  21. package/dist/lib/audit-logger.js +99 -0
  22. package/dist/lib/audit-logger.js.map +1 -0
  23. package/dist/lib/encryption.d.ts +34 -0
  24. package/dist/lib/encryption.d.ts.map +1 -0
  25. package/dist/lib/encryption.js +87 -0
  26. package/dist/lib/encryption.js.map +1 -0
  27. package/dist/lib/signature.d.ts +47 -0
  28. package/dist/lib/signature.d.ts.map +1 -0
  29. package/dist/lib/signature.js +71 -0
  30. package/dist/lib/signature.js.map +1 -0
  31. package/dist/lib/token-manager.d.ts +80 -0
  32. package/dist/lib/token-manager.d.ts.map +1 -0
  33. package/dist/lib/token-manager.js +116 -0
  34. package/dist/lib/token-manager.js.map +1 -0
  35. package/dist/resources/admin.d.ts +280 -0
  36. package/dist/resources/admin.d.ts.map +1 -0
  37. package/dist/resources/admin.js +236 -0
  38. package/dist/resources/admin.js.map +1 -0
  39. package/dist/resources/ai.d.ts +184 -0
  40. package/dist/resources/ai.d.ts.map +1 -0
  41. package/dist/resources/ai.js +179 -0
  42. package/dist/resources/ai.js.map +1 -0
  43. package/dist/resources/api-keys.d.ts +172 -0
  44. package/dist/resources/api-keys.d.ts.map +1 -0
  45. package/dist/resources/api-keys.js +166 -0
  46. package/dist/resources/api-keys.js.map +1 -0
  47. package/dist/resources/connectors.d.ts +263 -0
  48. package/dist/resources/connectors.d.ts.map +1 -0
  49. package/dist/resources/connectors.js +226 -0
  50. package/dist/resources/connectors.js.map +1 -0
  51. package/dist/resources/documents.d.ts +334 -0
  52. package/dist/resources/documents.d.ts.map +1 -0
  53. package/dist/resources/documents.js +377 -0
  54. package/dist/resources/documents.js.map +1 -0
  55. package/dist/resources/hooks.d.ts +195 -0
  56. package/dist/resources/hooks.d.ts.map +1 -0
  57. package/dist/resources/hooks.js +166 -0
  58. package/dist/resources/hooks.js.map +1 -0
  59. package/dist/resources/publish.d.ts +165 -0
  60. package/dist/resources/publish.d.ts.map +1 -0
  61. package/dist/resources/publish.js +150 -0
  62. package/dist/resources/publish.js.map +1 -0
  63. package/dist/resources/search.d.ts +94 -0
  64. package/dist/resources/search.d.ts.map +1 -0
  65. package/dist/resources/search.js +76 -0
  66. package/dist/resources/search.js.map +1 -0
  67. package/dist/resources/shares.d.ts +130 -0
  68. package/dist/resources/shares.d.ts.map +1 -0
  69. package/dist/resources/shares.js +115 -0
  70. package/dist/resources/shares.js.map +1 -0
  71. package/dist/resources/subscription.d.ts +172 -0
  72. package/dist/resources/subscription.d.ts.map +1 -0
  73. package/dist/resources/subscription.js +166 -0
  74. package/dist/resources/subscription.js.map +1 -0
  75. package/dist/resources/teams.d.ts +356 -0
  76. package/dist/resources/teams.d.ts.map +1 -0
  77. package/dist/resources/teams.js +395 -0
  78. package/dist/resources/teams.js.map +1 -0
  79. package/dist/resources/user.d.ts +92 -0
  80. package/dist/resources/user.d.ts.map +1 -0
  81. package/dist/resources/user.js +64 -0
  82. package/dist/resources/user.js.map +1 -0
  83. package/dist/resources/vaults.d.ts +144 -0
  84. package/dist/resources/vaults.d.ts.map +1 -0
  85. package/dist/resources/vaults.js +158 -0
  86. package/dist/resources/vaults.js.map +1 -0
  87. package/dist/resources/webhooks.d.ts +187 -0
  88. package/dist/resources/webhooks.d.ts.map +1 -0
  89. package/dist/resources/webhooks.js +171 -0
  90. package/dist/resources/webhooks.js.map +1 -0
  91. package/dist/types/api.d.ts +17 -0
  92. package/dist/types/api.d.ts.map +1 -0
  93. package/dist/types/api.js +2 -0
  94. package/dist/types/api.js.map +1 -0
  95. package/dist/types/index.d.ts +3 -0
  96. package/dist/types/index.d.ts.map +1 -0
  97. package/dist/types/index.js +2 -0
  98. package/dist/types/index.js.map +1 -0
  99. package/dist/types/resources.d.ts +5 -0
  100. package/dist/types/resources.d.ts.map +1 -0
  101. package/dist/types/resources.js +2 -0
  102. package/dist/types/resources.js.map +1 -0
  103. package/package.json +58 -0
@@ -0,0 +1,356 @@
1
+ import type { KyInstance } from 'ky';
2
+ import type { Vault } from '../types/index.js';
3
+ /** A team object returned by the API. */
4
+ export interface Team {
5
+ /** Unique team identifier. */
6
+ id: string;
7
+ /** Display name of the team. */
8
+ name: string;
9
+ /** Optional team description. */
10
+ description: string | null;
11
+ /** User ID of the team owner. */
12
+ ownerId: string;
13
+ /** ISO 8601 creation timestamp. */
14
+ createdAt: string;
15
+ /** ISO 8601 last-updated timestamp. */
16
+ updatedAt: string;
17
+ }
18
+ /** A team member with their associated user information. */
19
+ export interface TeamMember {
20
+ /** Unique membership record identifier. */
21
+ id: string;
22
+ /** ID of the team this membership belongs to. */
23
+ teamId: string;
24
+ /** ID of the member user. */
25
+ userId: string;
26
+ /** Role within the team. */
27
+ role: 'owner' | 'admin' | 'member';
28
+ /** ISO 8601 timestamp when the user joined the team. */
29
+ joinedAt: string;
30
+ /** Basic user information for the member. */
31
+ user: {
32
+ id: string;
33
+ email: string;
34
+ name: string | null;
35
+ };
36
+ }
37
+ /** A pending invitation to join a team. */
38
+ export interface TeamInvitation {
39
+ /** Unique invitation identifier. */
40
+ id: string;
41
+ /** ID of the team the invitation is for. */
42
+ teamId: string;
43
+ /** Email address of the invited user. */
44
+ email: string;
45
+ /** Role the user will receive upon accepting. */
46
+ role: 'admin' | 'member';
47
+ /** User ID of the person who sent the invitation. */
48
+ invitedBy: string;
49
+ /** ISO 8601 creation timestamp. */
50
+ createdAt: string;
51
+ /** ISO 8601 expiration timestamp. */
52
+ expiresAt: string;
53
+ }
54
+ /** Parameters for creating a new team. */
55
+ export interface CreateTeamParams {
56
+ /** Display name for the team. */
57
+ name: string;
58
+ /** Optional description of the team's purpose. */
59
+ description?: string;
60
+ }
61
+ /** Parameters for updating an existing team. */
62
+ export interface UpdateTeamParams {
63
+ /** New display name for the team. */
64
+ name?: string;
65
+ /** New description, or `null` to clear. */
66
+ description?: string | null;
67
+ }
68
+ /**
69
+ * Resource for managing teams, members, invitations, and team vaults.
70
+ *
71
+ * Teams allow users to collaborate on shared vaults with role-based access
72
+ * control. Team members can be owners, admins, or regular members.
73
+ *
74
+ * @example
75
+ * ```typescript
76
+ * const teams = await client.teams.list();
77
+ * const team = await client.teams.create({ name: 'Engineering' });
78
+ * const members = await client.teams.listMembers(team.id);
79
+ * ```
80
+ */
81
+ export declare class TeamsResource {
82
+ private http;
83
+ constructor(http: KyInstance);
84
+ /**
85
+ * Lists all teams the authenticated user belongs to.
86
+ *
87
+ * @returns Array of team objects
88
+ * @throws {AuthenticationError} If the request is not authenticated
89
+ * @throws {NetworkError} If the request fails due to network issues
90
+ *
91
+ * @example
92
+ * ```typescript
93
+ * const teams = await client.teams.list();
94
+ * for (const team of teams) {
95
+ * console.log(team.name);
96
+ * }
97
+ * ```
98
+ */
99
+ list(): Promise<Team[]>;
100
+ /**
101
+ * Retrieves a single team by ID.
102
+ *
103
+ * @param teamId - The unique identifier of the team
104
+ * @returns The team object
105
+ * @throws {NotFoundError} If no team exists with the given ID
106
+ * @throws {AuthorizationError} If the user is not a member of the team
107
+ * @throws {AuthenticationError} If the request is not authenticated
108
+ * @throws {NetworkError} If the request fails due to network issues
109
+ *
110
+ * @example
111
+ * ```typescript
112
+ * const team = await client.teams.get('team-uuid');
113
+ * console.log(team.name, team.description);
114
+ * ```
115
+ */
116
+ get(teamId: string): Promise<Team>;
117
+ /**
118
+ * Creates a new team. The authenticated user becomes the team owner.
119
+ *
120
+ * @param params - Team creation parameters
121
+ * @param params.name - Display name for the team (required)
122
+ * @param params.description - Optional description of the team's purpose
123
+ * @returns The newly created team object
124
+ * @throws {ValidationError} If the name is empty or invalid
125
+ * @throws {AuthenticationError} If the request is not authenticated
126
+ * @throws {NetworkError} If the request fails due to network issues
127
+ *
128
+ * @example
129
+ * ```typescript
130
+ * const team = await client.teams.create({
131
+ * name: 'Engineering',
132
+ * description: 'Backend and frontend engineering team',
133
+ * });
134
+ * console.log(team.id);
135
+ * ```
136
+ */
137
+ create(params: CreateTeamParams): Promise<Team>;
138
+ /**
139
+ * Updates an existing team's metadata. Requires admin or owner role.
140
+ *
141
+ * Only the provided fields are modified; omitted fields remain unchanged.
142
+ *
143
+ * @param teamId - The unique identifier of the team to update
144
+ * @param params - Fields to update
145
+ * @param params.name - New display name for the team
146
+ * @param params.description - New description, or `null` to clear
147
+ * @returns The updated team object
148
+ * @throws {NotFoundError} If no team exists with the given ID
149
+ * @throws {AuthorizationError} If the user lacks admin/owner role
150
+ * @throws {AuthenticationError} If the request is not authenticated
151
+ * @throws {NetworkError} If the request fails due to network issues
152
+ *
153
+ * @example
154
+ * ```typescript
155
+ * const updated = await client.teams.update('team-uuid', {
156
+ * name: 'Platform Engineering',
157
+ * });
158
+ * ```
159
+ */
160
+ update(teamId: string, params: UpdateTeamParams): Promise<Team>;
161
+ /**
162
+ * Permanently deletes a team. Only the team owner can delete a team.
163
+ *
164
+ * This removes all memberships, invitations, and team vault associations.
165
+ *
166
+ * @param teamId - The unique identifier of the team to delete
167
+ * @throws {NotFoundError} If no team exists with the given ID
168
+ * @throws {AuthorizationError} If the user is not the team owner
169
+ * @throws {AuthenticationError} If the request is not authenticated
170
+ * @throws {NetworkError} If the request fails due to network issues
171
+ *
172
+ * @example
173
+ * ```typescript
174
+ * await client.teams.delete('team-uuid');
175
+ * ```
176
+ */
177
+ delete(teamId: string): Promise<void>;
178
+ /**
179
+ * Lists all members of a team.
180
+ *
181
+ * @param teamId - The unique identifier of the team
182
+ * @returns Array of team member objects with user details
183
+ * @throws {NotFoundError} If no team exists with the given ID
184
+ * @throws {AuthorizationError} If the user is not a member of the team
185
+ * @throws {AuthenticationError} If the request is not authenticated
186
+ * @throws {NetworkError} If the request fails due to network issues
187
+ *
188
+ * @example
189
+ * ```typescript
190
+ * const members = await client.teams.listMembers('team-uuid');
191
+ * for (const member of members) {
192
+ * console.log(member.user.email, member.role);
193
+ * }
194
+ * ```
195
+ */
196
+ listMembers(teamId: string): Promise<TeamMember[]>;
197
+ /**
198
+ * Updates a team member's role. Requires admin or owner role.
199
+ *
200
+ * Cannot change the owner's role. Admins cannot promote others to owner.
201
+ *
202
+ * @param teamId - The unique identifier of the team
203
+ * @param userId - The user ID of the member to update
204
+ * @param role - The new role to assign (`'admin'` or `'member'`)
205
+ * @returns The updated team member object
206
+ * @throws {NotFoundError} If the team or member is not found
207
+ * @throws {AuthorizationError} If the user lacks permission to change roles
208
+ * @throws {AuthenticationError} If the request is not authenticated
209
+ * @throws {NetworkError} If the request fails due to network issues
210
+ *
211
+ * @example
212
+ * ```typescript
213
+ * const member = await client.teams.updateMemberRole('team-uuid', 'user-uuid', 'admin');
214
+ * console.log(member.role); // 'admin'
215
+ * ```
216
+ */
217
+ updateMemberRole(teamId: string, userId: string, role: 'admin' | 'member'): Promise<TeamMember>;
218
+ /**
219
+ * Removes a member from a team. Requires admin or owner role.
220
+ *
221
+ * The team owner cannot be removed.
222
+ *
223
+ * @param teamId - The unique identifier of the team
224
+ * @param userId - The user ID of the member to remove
225
+ * @throws {NotFoundError} If the team or member is not found
226
+ * @throws {AuthorizationError} If the user lacks permission or is trying to remove the owner
227
+ * @throws {AuthenticationError} If the request is not authenticated
228
+ * @throws {NetworkError} If the request fails due to network issues
229
+ *
230
+ * @example
231
+ * ```typescript
232
+ * await client.teams.removeMember('team-uuid', 'user-uuid');
233
+ * ```
234
+ */
235
+ removeMember(teamId: string, userId: string): Promise<void>;
236
+ /**
237
+ * Leaves a team. The authenticated user removes themselves from the team.
238
+ *
239
+ * The team owner cannot leave; they must delete the team or transfer ownership first.
240
+ *
241
+ * @param teamId - The unique identifier of the team to leave
242
+ * @throws {NotFoundError} If no team exists with the given ID
243
+ * @throws {AuthorizationError} If the user is the team owner
244
+ * @throws {AuthenticationError} If the request is not authenticated
245
+ * @throws {NetworkError} If the request fails due to network issues
246
+ *
247
+ * @example
248
+ * ```typescript
249
+ * await client.teams.leave('team-uuid');
250
+ * ```
251
+ */
252
+ leave(teamId: string): Promise<void>;
253
+ /**
254
+ * Invites a user to join a team by email. Requires admin or owner role.
255
+ *
256
+ * @param teamId - The unique identifier of the team
257
+ * @param email - Email address of the user to invite
258
+ * @param role - Role to assign upon acceptance (`'admin'` or `'member'`)
259
+ * @returns The created invitation object
260
+ * @throws {ValidationError} If the email is invalid or the user is already a member
261
+ * @throws {AuthorizationError} If the user lacks admin/owner role
262
+ * @throws {AuthenticationError} If the request is not authenticated
263
+ * @throws {NetworkError} If the request fails due to network issues
264
+ *
265
+ * @example
266
+ * ```typescript
267
+ * const invitation = await client.teams.inviteMember(
268
+ * 'team-uuid',
269
+ * 'colleague@example.com',
270
+ * 'member',
271
+ * );
272
+ * console.log(invitation.expiresAt);
273
+ * ```
274
+ */
275
+ inviteMember(teamId: string, email: string, role: 'admin' | 'member'): Promise<TeamInvitation>;
276
+ /**
277
+ * Lists all pending invitations for a team.
278
+ *
279
+ * @param teamId - The unique identifier of the team
280
+ * @returns Array of pending invitation objects
281
+ * @throws {NotFoundError} If no team exists with the given ID
282
+ * @throws {AuthorizationError} If the user is not a member of the team
283
+ * @throws {AuthenticationError} If the request is not authenticated
284
+ * @throws {NetworkError} If the request fails due to network issues
285
+ *
286
+ * @example
287
+ * ```typescript
288
+ * const invitations = await client.teams.listInvitations('team-uuid');
289
+ * for (const inv of invitations) {
290
+ * console.log(inv.email, inv.role, inv.expiresAt);
291
+ * }
292
+ * ```
293
+ */
294
+ listInvitations(teamId: string): Promise<TeamInvitation[]>;
295
+ /**
296
+ * Revokes a pending invitation. Requires admin or owner role.
297
+ *
298
+ * @param teamId - The unique identifier of the team
299
+ * @param invitationId - The unique identifier of the invitation to revoke
300
+ * @throws {NotFoundError} If the team or invitation is not found
301
+ * @throws {AuthorizationError} If the user lacks admin/owner role
302
+ * @throws {AuthenticationError} If the request is not authenticated
303
+ * @throws {NetworkError} If the request fails due to network issues
304
+ *
305
+ * @example
306
+ * ```typescript
307
+ * await client.teams.revokeInvitation('team-uuid', 'invitation-uuid');
308
+ * ```
309
+ */
310
+ revokeInvitation(teamId: string, invitationId: string): Promise<void>;
311
+ /**
312
+ * Creates a new vault under a team. Requires editor role or above.
313
+ *
314
+ * @param teamId - The unique identifier of the team
315
+ * @param params - Vault creation parameters
316
+ * @param params.name - Display name for the vault (required)
317
+ * @param params.description - Optional description of the vault's purpose
318
+ * @returns The newly created vault object
319
+ * @throws {ValidationError} If the name is empty or the slug conflicts
320
+ * @throws {AuthorizationError} If the user lacks the required team role
321
+ * @throws {AuthenticationError} If the request is not authenticated
322
+ * @throws {NetworkError} If the request fails due to network issues
323
+ *
324
+ * @example
325
+ * ```typescript
326
+ * const vault = await client.teams.createVault('team-uuid', {
327
+ * name: 'Shared Docs',
328
+ * description: 'Team documentation',
329
+ * });
330
+ * ```
331
+ */
332
+ createVault(teamId: string, params: {
333
+ name: string;
334
+ description?: string;
335
+ }): Promise<Vault>;
336
+ /**
337
+ * Lists all vaults belonging to a team.
338
+ *
339
+ * @param teamId - The unique identifier of the team
340
+ * @returns Array of vault objects
341
+ * @throws {NotFoundError} If no team exists with the given ID
342
+ * @throws {AuthorizationError} If the user is not a member of the team
343
+ * @throws {AuthenticationError} If the request is not authenticated
344
+ * @throws {NetworkError} If the request fails due to network issues
345
+ *
346
+ * @example
347
+ * ```typescript
348
+ * const vaults = await client.teams.listVaults('team-uuid');
349
+ * for (const vault of vaults) {
350
+ * console.log(vault.name);
351
+ * }
352
+ * ```
353
+ */
354
+ listVaults(teamId: string): Promise<Vault[]>;
355
+ }
356
+ //# sourceMappingURL=teams.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teams.d.ts","sourceRoot":"","sources":["../../src/resources/teams.ts"],"names":[],"mappings":"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"}