@athenaintel/sdk 4.3.2171 → 4.3.2172

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 (50) hide show
  1. package/dist/cjs/BaseClient.js +2 -2
  2. package/dist/cjs/api/resources/workspaces/client/Client.d.ts +35 -0
  3. package/dist/cjs/api/resources/workspaces/client/Client.js +154 -0
  4. package/dist/cjs/api/resources/workspaces/client/requests/CreatePresenceTokenWorkspacesRequest.d.ts +10 -0
  5. package/dist/cjs/api/resources/workspaces/client/requests/CreatePresenceTokenWorkspacesRequest.js +3 -0
  6. package/dist/cjs/api/resources/workspaces/client/requests/PresenceResolveRequestIn.d.ts +25 -0
  7. package/dist/cjs/api/resources/workspaces/client/requests/PresenceResolveRequestIn.js +3 -0
  8. package/dist/cjs/api/resources/workspaces/client/requests/index.d.ts +2 -0
  9. package/dist/cjs/api/types/PresenceAssetOut.d.ts +8 -0
  10. package/dist/cjs/api/types/PresenceAssetOut.js +3 -0
  11. package/dist/cjs/api/types/PresenceMemberOut.d.ts +10 -0
  12. package/dist/cjs/api/types/PresenceMemberOut.js +3 -0
  13. package/dist/cjs/api/types/PresenceProjectOut.d.ts +9 -0
  14. package/dist/cjs/api/types/PresenceProjectOut.js +3 -0
  15. package/dist/cjs/api/types/PresenceResolveResponseOut.d.ts +10 -0
  16. package/dist/cjs/api/types/PresenceResolveResponseOut.js +3 -0
  17. package/dist/cjs/api/types/PresenceSessionOut.d.ts +8 -0
  18. package/dist/cjs/api/types/PresenceSessionOut.js +3 -0
  19. package/dist/cjs/api/types/PresenceTokenResponseOut.d.ts +26 -0
  20. package/dist/cjs/api/types/PresenceTokenResponseOut.js +11 -0
  21. package/dist/cjs/api/types/index.d.ts +6 -0
  22. package/dist/cjs/api/types/index.js +6 -0
  23. package/dist/cjs/version.d.ts +1 -1
  24. package/dist/cjs/version.js +1 -1
  25. package/dist/esm/BaseClient.mjs +2 -2
  26. package/dist/esm/api/resources/workspaces/client/Client.d.mts +35 -0
  27. package/dist/esm/api/resources/workspaces/client/Client.mjs +154 -0
  28. package/dist/esm/api/resources/workspaces/client/requests/CreatePresenceTokenWorkspacesRequest.d.mts +10 -0
  29. package/dist/esm/api/resources/workspaces/client/requests/CreatePresenceTokenWorkspacesRequest.mjs +2 -0
  30. package/dist/esm/api/resources/workspaces/client/requests/PresenceResolveRequestIn.d.mts +25 -0
  31. package/dist/esm/api/resources/workspaces/client/requests/PresenceResolveRequestIn.mjs +2 -0
  32. package/dist/esm/api/resources/workspaces/client/requests/index.d.mts +2 -0
  33. package/dist/esm/api/types/PresenceAssetOut.d.mts +8 -0
  34. package/dist/esm/api/types/PresenceAssetOut.mjs +2 -0
  35. package/dist/esm/api/types/PresenceMemberOut.d.mts +10 -0
  36. package/dist/esm/api/types/PresenceMemberOut.mjs +2 -0
  37. package/dist/esm/api/types/PresenceProjectOut.d.mts +9 -0
  38. package/dist/esm/api/types/PresenceProjectOut.mjs +2 -0
  39. package/dist/esm/api/types/PresenceResolveResponseOut.d.mts +10 -0
  40. package/dist/esm/api/types/PresenceResolveResponseOut.mjs +2 -0
  41. package/dist/esm/api/types/PresenceSessionOut.d.mts +8 -0
  42. package/dist/esm/api/types/PresenceSessionOut.mjs +2 -0
  43. package/dist/esm/api/types/PresenceTokenResponseOut.d.mts +26 -0
  44. package/dist/esm/api/types/PresenceTokenResponseOut.mjs +8 -0
  45. package/dist/esm/api/types/index.d.mts +6 -0
  46. package/dist/esm/api/types/index.mjs +6 -0
  47. package/dist/esm/version.d.mts +1 -1
  48. package/dist/esm/version.mjs +1 -1
  49. package/package.json +1 -1
  50. package/reference.md +135 -0
@@ -43,8 +43,8 @@ function normalizeClientOptions(options) {
43
43
  const headers = (0, headers_js_1.mergeHeaders)({
44
44
  "X-Fern-Language": "JavaScript",
45
45
  "X-Fern-SDK-Name": "@athenaintel/sdk",
46
- "X-Fern-SDK-Version": "4.3.2171",
47
- "User-Agent": "@athenaintel/sdk/4.3.2171",
46
+ "X-Fern-SDK-Version": "4.3.2172",
47
+ "User-Agent": "@athenaintel/sdk/4.3.2172",
48
48
  "X-Fern-Runtime": core.RUNTIME.type,
49
49
  "X-Fern-Runtime-Version": core.RUNTIME.version,
50
50
  }, options === null || options === void 0 ? void 0 : options.headers);
@@ -45,6 +45,41 @@ export declare class WorkspacesClient {
45
45
  */
46
46
  updateConfiguration(request: AthenaIntelligence.UpdateWorkspaceConfigurationRequestIn, requestOptions?: WorkspacesClient.RequestOptions): core.HttpResponsePromise<AthenaIntelligence.WorkspaceConfigurationResponseOut>;
47
47
  private __updateConfiguration;
48
+ /**
49
+ * Admin only. Mint a short-lived, read-only Keryx token for a workspace's live presence feed (the awareness room the People page renders). The token is bound to the calling user, so Keryx narrows every frame to the documents that user may open; it can never publish presence or write document content. Requires the presence roster to be enabled for the deployment and opted in for the workspace. Computer-asset sandbox credentials are refused: call with the viewing user's own token.
50
+ *
51
+ * @param {AthenaIntelligence.CreatePresenceTokenWorkspacesRequest} request
52
+ * @param {WorkspacesClient.RequestOptions} requestOptions - Request-specific configuration.
53
+ *
54
+ * @throws {@link AthenaIntelligence.UnprocessableEntityError}
55
+ *
56
+ * @example
57
+ * await client.workspaces.createPresenceToken({
58
+ * workspace_id: "workspace_9ec609ea-ee1a-48b6-9e61-d73d9dfbb651"
59
+ * })
60
+ */
61
+ createPresenceToken(request: AthenaIntelligence.CreatePresenceTokenWorkspacesRequest, requestOptions?: WorkspacesClient.RequestOptions): core.HttpResponsePromise<AthenaIntelligence.PresenceTokenResponseOut>;
62
+ private __createPresenceToken;
63
+ /**
64
+ * Admin only. Resolve the guids a presence feed carries into display titles, asset kinds, and project membership, and optionally list the projects and members of the workspace. Every id is checked against the calling user's own read permission as an ordinary member; anything the caller could not open is omitted rather than reported. Same gates as the presence-token mint.
65
+ *
66
+ * @param {AthenaIntelligence.PresenceResolveRequestIn} request
67
+ * @param {WorkspacesClient.RequestOptions} requestOptions - Request-specific configuration.
68
+ *
69
+ * @throws {@link AthenaIntelligence.UnprocessableEntityError}
70
+ *
71
+ * @example
72
+ * await client.workspaces.resolvePresence({
73
+ * workspace_id: "workspace_9ec609ea-ee1a-48b6-9e61-d73d9dfbb651",
74
+ * asset_ids: ["asset_1f9b6b2e-4c1d-4a0a-9c1e-2b7d1a0f3c44"],
75
+ * include_members: true,
76
+ * include_projects: true,
77
+ * project_ids: ["asset_7c2d1e0f-3a4b-4c5d-8e6f-1a2b3c4d5e6f"],
78
+ * session_ids: ["thread_3f0a9c2e-6b1d-4d8e-8a2f-5c7e9b1d2a30"]
79
+ * })
80
+ */
81
+ resolvePresence(request: AthenaIntelligence.PresenceResolveRequestIn, requestOptions?: WorkspacesClient.RequestOptions): core.HttpResponsePromise<AthenaIntelligence.PresenceResolveResponseOut>;
82
+ private __resolvePresence;
48
83
  /**
49
84
  * Retrieve the persisted per-workspace Tool Registry policy. The response contains explicit tool overrides; environment feature flags, billing restrictions, and disabled tags may further restrict effective availability. Requires workspace owner or admin permissions.
50
85
  *
@@ -226,6 +226,160 @@ class WorkspacesClient {
226
226
  }
227
227
  });
228
228
  }
229
+ /**
230
+ * Admin only. Mint a short-lived, read-only Keryx token for a workspace's live presence feed (the awareness room the People page renders). The token is bound to the calling user, so Keryx narrows every frame to the documents that user may open; it can never publish presence or write document content. Requires the presence roster to be enabled for the deployment and opted in for the workspace. Computer-asset sandbox credentials are refused: call with the viewing user's own token.
231
+ *
232
+ * @param {AthenaIntelligence.CreatePresenceTokenWorkspacesRequest} request
233
+ * @param {WorkspacesClient.RequestOptions} requestOptions - Request-specific configuration.
234
+ *
235
+ * @throws {@link AthenaIntelligence.UnprocessableEntityError}
236
+ *
237
+ * @example
238
+ * await client.workspaces.createPresenceToken({
239
+ * workspace_id: "workspace_9ec609ea-ee1a-48b6-9e61-d73d9dfbb651"
240
+ * })
241
+ */
242
+ createPresenceToken(request, requestOptions) {
243
+ return core.HttpResponsePromise.fromPromise(this.__createPresenceToken(request, requestOptions));
244
+ }
245
+ __createPresenceToken(request, requestOptions) {
246
+ return __awaiter(this, void 0, void 0, function* () {
247
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
248
+ const { workspace_id: workspaceId } = request;
249
+ const _authRequest = yield this._options.authProvider.getAuthRequest();
250
+ const _headers = (0, headers_js_1.mergeHeaders)(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
251
+ const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({
252
+ url: core.url.join((_d = (_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.AthenaIntelligenceEnvironment.Production, `api/v0/workspaces/${core.url.encodePathParam(workspaceId)}/presence-token`),
253
+ method: "POST",
254
+ headers: _headers,
255
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
256
+ timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,
257
+ maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,
258
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
259
+ fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,
260
+ logging: this._options.logging,
261
+ });
262
+ if (_response.ok) {
263
+ return {
264
+ data: _response.body,
265
+ rawResponse: _response.rawResponse,
266
+ };
267
+ }
268
+ if (_response.error.reason === "status-code") {
269
+ switch (_response.error.statusCode) {
270
+ case 422:
271
+ throw new AthenaIntelligence.UnprocessableEntityError(_response.error.body, _response.rawResponse);
272
+ default:
273
+ throw new errors.AthenaIntelligenceError({
274
+ statusCode: _response.error.statusCode,
275
+ body: _response.error.body,
276
+ rawResponse: _response.rawResponse,
277
+ });
278
+ }
279
+ }
280
+ switch (_response.error.reason) {
281
+ case "non-json":
282
+ throw new errors.AthenaIntelligenceError({
283
+ statusCode: _response.error.statusCode,
284
+ body: _response.error.rawBody,
285
+ rawResponse: _response.rawResponse,
286
+ });
287
+ case "body-is-null":
288
+ throw new errors.AthenaIntelligenceError({
289
+ statusCode: _response.error.statusCode,
290
+ rawResponse: _response.rawResponse,
291
+ });
292
+ case "timeout":
293
+ throw new errors.AthenaIntelligenceTimeoutError("Timeout exceeded when calling POST /api/v0/workspaces/{workspace_id}/presence-token.");
294
+ case "unknown":
295
+ throw new errors.AthenaIntelligenceError({
296
+ message: _response.error.errorMessage,
297
+ rawResponse: _response.rawResponse,
298
+ });
299
+ }
300
+ });
301
+ }
302
+ /**
303
+ * Admin only. Resolve the guids a presence feed carries into display titles, asset kinds, and project membership, and optionally list the projects and members of the workspace. Every id is checked against the calling user's own read permission as an ordinary member; anything the caller could not open is omitted rather than reported. Same gates as the presence-token mint.
304
+ *
305
+ * @param {AthenaIntelligence.PresenceResolveRequestIn} request
306
+ * @param {WorkspacesClient.RequestOptions} requestOptions - Request-specific configuration.
307
+ *
308
+ * @throws {@link AthenaIntelligence.UnprocessableEntityError}
309
+ *
310
+ * @example
311
+ * await client.workspaces.resolvePresence({
312
+ * workspace_id: "workspace_9ec609ea-ee1a-48b6-9e61-d73d9dfbb651",
313
+ * asset_ids: ["asset_1f9b6b2e-4c1d-4a0a-9c1e-2b7d1a0f3c44"],
314
+ * include_members: true,
315
+ * include_projects: true,
316
+ * project_ids: ["asset_7c2d1e0f-3a4b-4c5d-8e6f-1a2b3c4d5e6f"],
317
+ * session_ids: ["thread_3f0a9c2e-6b1d-4d8e-8a2f-5c7e9b1d2a30"]
318
+ * })
319
+ */
320
+ resolvePresence(request, requestOptions) {
321
+ return core.HttpResponsePromise.fromPromise(this.__resolvePresence(request, requestOptions));
322
+ }
323
+ __resolvePresence(request, requestOptions) {
324
+ return __awaiter(this, void 0, void 0, function* () {
325
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
326
+ const { workspace_id: workspaceId } = request, _body = __rest(request, ["workspace_id"]);
327
+ const _authRequest = yield this._options.authProvider.getAuthRequest();
328
+ const _headers = (0, headers_js_1.mergeHeaders)(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
329
+ const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({
330
+ url: core.url.join((_d = (_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.AthenaIntelligenceEnvironment.Production, `api/v0/workspaces/${core.url.encodePathParam(workspaceId)}/presence/resolve`),
331
+ method: "POST",
332
+ headers: _headers,
333
+ contentType: "application/json",
334
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
335
+ requestType: "json",
336
+ body: _body,
337
+ timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,
338
+ maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,
339
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
340
+ fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,
341
+ logging: this._options.logging,
342
+ });
343
+ if (_response.ok) {
344
+ return {
345
+ data: _response.body,
346
+ rawResponse: _response.rawResponse,
347
+ };
348
+ }
349
+ if (_response.error.reason === "status-code") {
350
+ switch (_response.error.statusCode) {
351
+ case 422:
352
+ throw new AthenaIntelligence.UnprocessableEntityError(_response.error.body, _response.rawResponse);
353
+ default:
354
+ throw new errors.AthenaIntelligenceError({
355
+ statusCode: _response.error.statusCode,
356
+ body: _response.error.body,
357
+ rawResponse: _response.rawResponse,
358
+ });
359
+ }
360
+ }
361
+ switch (_response.error.reason) {
362
+ case "non-json":
363
+ throw new errors.AthenaIntelligenceError({
364
+ statusCode: _response.error.statusCode,
365
+ body: _response.error.rawBody,
366
+ rawResponse: _response.rawResponse,
367
+ });
368
+ case "body-is-null":
369
+ throw new errors.AthenaIntelligenceError({
370
+ statusCode: _response.error.statusCode,
371
+ rawResponse: _response.rawResponse,
372
+ });
373
+ case "timeout":
374
+ throw new errors.AthenaIntelligenceTimeoutError("Timeout exceeded when calling POST /api/v0/workspaces/{workspace_id}/presence/resolve.");
375
+ case "unknown":
376
+ throw new errors.AthenaIntelligenceError({
377
+ message: _response.error.errorMessage,
378
+ rawResponse: _response.rawResponse,
379
+ });
380
+ }
381
+ });
382
+ }
229
383
  /**
230
384
  * Retrieve the persisted per-workspace Tool Registry policy. The response contains explicit tool overrides; environment feature flags, billing restrictions, and disabled tags may further restrict effective availability. Requires workspace owner or admin permissions.
231
385
  *
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @example
3
+ * {
4
+ * workspace_id: "workspace_9ec609ea-ee1a-48b6-9e61-d73d9dfbb651"
5
+ * }
6
+ */
7
+ export interface CreatePresenceTokenWorkspacesRequest {
8
+ /** The workspace whose presence feed to read. */
9
+ workspace_id: string;
10
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @example
3
+ * {
4
+ * workspace_id: "workspace_9ec609ea-ee1a-48b6-9e61-d73d9dfbb651",
5
+ * asset_ids: ["asset_1f9b6b2e-4c1d-4a0a-9c1e-2b7d1a0f3c44"],
6
+ * include_members: true,
7
+ * include_projects: true,
8
+ * project_ids: ["asset_7c2d1e0f-3a4b-4c5d-8e6f-1a2b3c4d5e6f"],
9
+ * session_ids: ["thread_3f0a9c2e-6b1d-4d8e-8a2f-5c7e9b1d2a30"]
10
+ * }
11
+ */
12
+ export interface PresenceResolveRequestIn {
13
+ /** The workspace whose presence feed to read. */
14
+ workspace_id: string;
15
+ /** Asset guids from presence contexts of type asset. */
16
+ asset_ids?: string[];
17
+ /** Also list the workspace's members (name, email, avatar) so the app can name people by their attested user id rather than the self-reported slot. */
18
+ include_members?: boolean;
19
+ /** Also list every project the caller may open in this workspace, each with the linked documents the caller may open. */
20
+ include_projects?: boolean;
21
+ /** Project guids from coarse presence contexts or from a visible context's projects annotation. */
22
+ project_ids?: string[];
23
+ /** Thread ids from presence contexts of type session (what an open chat publishes). Each resolves to the workspace's session asset. */
24
+ session_ids?: string[];
25
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,4 +1,6 @@
1
+ export type { CreatePresenceTokenWorkspacesRequest } from "./CreatePresenceTokenWorkspacesRequest.js";
1
2
  export type { GetConfigurationWorkspacesRequest } from "./GetConfigurationWorkspacesRequest.js";
2
3
  export type { GetToolRegistryWorkspacesRequest } from "./GetToolRegistryWorkspacesRequest.js";
4
+ export type { PresenceResolveRequestIn } from "./PresenceResolveRequestIn.js";
3
5
  export type { UpdateWorkspaceConfigurationRequestIn } from "./UpdateWorkspaceConfigurationRequestIn.js";
4
6
  export type { UpdateWorkspaceToolRegistryRequestIn } from "./UpdateWorkspaceToolRegistryRequestIn.js";
@@ -0,0 +1,8 @@
1
+ export interface PresenceAssetOut {
2
+ /** Athena asset type, e.g. document, spreadsheet, project. */
3
+ asset_type?: string | null;
4
+ /** Asset guid. */
5
+ id: string;
6
+ /** Display title. */
7
+ title?: string | null;
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,10 @@
1
+ export interface PresenceMemberOut {
2
+ /** Avatar URL. */
3
+ avatar_url?: string | null;
4
+ /** Email. */
5
+ email: string;
6
+ /** User id (matches a slot's attested authUserId). */
7
+ id: string;
8
+ /** Display name. */
9
+ name: string;
10
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
1
+ import type * as AthenaIntelligence from "../index.js";
2
+ export interface PresenceProjectOut {
3
+ /** Documents linked into the project that the caller may open. */
4
+ assets?: AthenaIntelligence.PresenceAssetOut[];
5
+ /** Project guid. */
6
+ id: string;
7
+ /** Display title. */
8
+ title?: string | null;
9
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,10 @@
1
+ import type * as AthenaIntelligence from "../index.js";
2
+ /**
3
+ * Only what the caller may open comes back; unknown or refused ids are absent.
4
+ */
5
+ export interface PresenceResolveResponseOut {
6
+ assets?: AthenaIntelligence.PresenceAssetOut[];
7
+ members?: AthenaIntelligence.PresenceMemberOut[];
8
+ projects?: AthenaIntelligence.PresenceProjectOut[];
9
+ sessions?: AthenaIntelligence.PresenceSessionOut[];
10
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ export interface PresenceSessionOut {
2
+ /** The session asset carrying that thread. */
3
+ asset_id: string;
4
+ /** The thread id the feed published. */
5
+ thread_id: string;
6
+ /** Display title. */
7
+ title?: string | null;
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,26 @@
1
+ /**
2
+ * A read-only, room-bound Keryx capability for the workspace awareness room.
3
+ */
4
+ export interface PresenceTokenResponseOut {
5
+ /** Always r: subscribe only. The app never publishes a slot. */
6
+ access_type: PresenceTokenResponseOut.AccessType;
7
+ /** Document branch. */
8
+ branch?: string;
9
+ /** Keryx document id within the org: awareness. */
10
+ doc_id: string;
11
+ /** Token expiry in epoch milliseconds. Re-mint before this passes; the @athenaintel/react presence client does so automatically. */
12
+ expires_at_ms: number;
13
+ /** Keryx org (room namespace): the workspace id. */
14
+ org: string;
15
+ /** Keryx capability token (yauth). Pass as the yauth query parameter on the WebSocket upgrade. Read-only and bound to this workspace's awareness room; Keryx narrows every frame to what the token's user may open. */
16
+ token: string;
17
+ /** WebSocket base URL. Connect to {ws_url}/{org}/{doc_id}?yauth={token}. */
18
+ ws_url: string;
19
+ }
20
+ export declare namespace PresenceTokenResponseOut {
21
+ /** Always r: subscribe only. The app never publishes a slot. */
22
+ const AccessType: {
23
+ readonly R: "r";
24
+ };
25
+ type AccessType = (typeof AccessType)[keyof typeof AccessType];
26
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.PresenceTokenResponseOut = void 0;
5
+ var PresenceTokenResponseOut;
6
+ (function (PresenceTokenResponseOut) {
7
+ /** Always r: subscribe only. The app never publishes a slot. */
8
+ PresenceTokenResponseOut.AccessType = {
9
+ R: "r",
10
+ };
11
+ })(PresenceTokenResponseOut || (exports.PresenceTokenResponseOut = PresenceTokenResponseOut = {}));
@@ -92,6 +92,12 @@ export * from "./NumberFormatType.js";
92
92
  export * from "./PaginatedAssetsOut.js";
93
93
  export * from "./PaginatedMeetingsOut.js";
94
94
  export * from "./PaginatedSessionsOut.js";
95
+ export * from "./PresenceAssetOut.js";
96
+ export * from "./PresenceMemberOut.js";
97
+ export * from "./PresenceProjectOut.js";
98
+ export * from "./PresenceResolveResponseOut.js";
99
+ export * from "./PresenceSessionOut.js";
100
+ export * from "./PresenceTokenResponseOut.js";
95
101
  export * from "./PromptMessage.js";
96
102
  export * from "./PublicAssetOut.js";
97
103
  export * from "./ReadCapabilitiesOut.js";
@@ -108,6 +108,12 @@ __exportStar(require("./NumberFormatType.js"), exports);
108
108
  __exportStar(require("./PaginatedAssetsOut.js"), exports);
109
109
  __exportStar(require("./PaginatedMeetingsOut.js"), exports);
110
110
  __exportStar(require("./PaginatedSessionsOut.js"), exports);
111
+ __exportStar(require("./PresenceAssetOut.js"), exports);
112
+ __exportStar(require("./PresenceMemberOut.js"), exports);
113
+ __exportStar(require("./PresenceProjectOut.js"), exports);
114
+ __exportStar(require("./PresenceResolveResponseOut.js"), exports);
115
+ __exportStar(require("./PresenceSessionOut.js"), exports);
116
+ __exportStar(require("./PresenceTokenResponseOut.js"), exports);
111
117
  __exportStar(require("./PromptMessage.js"), exports);
112
118
  __exportStar(require("./PublicAssetOut.js"), exports);
113
119
  __exportStar(require("./ReadCapabilitiesOut.js"), exports);
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "4.3.2171";
1
+ export declare const SDK_VERSION = "4.3.2172";
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SDK_VERSION = void 0;
4
- exports.SDK_VERSION = "4.3.2171";
4
+ exports.SDK_VERSION = "4.3.2172";
@@ -6,8 +6,8 @@ export function normalizeClientOptions(options) {
6
6
  const headers = mergeHeaders({
7
7
  "X-Fern-Language": "JavaScript",
8
8
  "X-Fern-SDK-Name": "@athenaintel/sdk",
9
- "X-Fern-SDK-Version": "4.3.2171",
10
- "User-Agent": "@athenaintel/sdk/4.3.2171",
9
+ "X-Fern-SDK-Version": "4.3.2172",
10
+ "User-Agent": "@athenaintel/sdk/4.3.2172",
11
11
  "X-Fern-Runtime": core.RUNTIME.type,
12
12
  "X-Fern-Runtime-Version": core.RUNTIME.version,
13
13
  }, options === null || options === void 0 ? void 0 : options.headers);
@@ -45,6 +45,41 @@ export declare class WorkspacesClient {
45
45
  */
46
46
  updateConfiguration(request: AthenaIntelligence.UpdateWorkspaceConfigurationRequestIn, requestOptions?: WorkspacesClient.RequestOptions): core.HttpResponsePromise<AthenaIntelligence.WorkspaceConfigurationResponseOut>;
47
47
  private __updateConfiguration;
48
+ /**
49
+ * Admin only. Mint a short-lived, read-only Keryx token for a workspace's live presence feed (the awareness room the People page renders). The token is bound to the calling user, so Keryx narrows every frame to the documents that user may open; it can never publish presence or write document content. Requires the presence roster to be enabled for the deployment and opted in for the workspace. Computer-asset sandbox credentials are refused: call with the viewing user's own token.
50
+ *
51
+ * @param {AthenaIntelligence.CreatePresenceTokenWorkspacesRequest} request
52
+ * @param {WorkspacesClient.RequestOptions} requestOptions - Request-specific configuration.
53
+ *
54
+ * @throws {@link AthenaIntelligence.UnprocessableEntityError}
55
+ *
56
+ * @example
57
+ * await client.workspaces.createPresenceToken({
58
+ * workspace_id: "workspace_9ec609ea-ee1a-48b6-9e61-d73d9dfbb651"
59
+ * })
60
+ */
61
+ createPresenceToken(request: AthenaIntelligence.CreatePresenceTokenWorkspacesRequest, requestOptions?: WorkspacesClient.RequestOptions): core.HttpResponsePromise<AthenaIntelligence.PresenceTokenResponseOut>;
62
+ private __createPresenceToken;
63
+ /**
64
+ * Admin only. Resolve the guids a presence feed carries into display titles, asset kinds, and project membership, and optionally list the projects and members of the workspace. Every id is checked against the calling user's own read permission as an ordinary member; anything the caller could not open is omitted rather than reported. Same gates as the presence-token mint.
65
+ *
66
+ * @param {AthenaIntelligence.PresenceResolveRequestIn} request
67
+ * @param {WorkspacesClient.RequestOptions} requestOptions - Request-specific configuration.
68
+ *
69
+ * @throws {@link AthenaIntelligence.UnprocessableEntityError}
70
+ *
71
+ * @example
72
+ * await client.workspaces.resolvePresence({
73
+ * workspace_id: "workspace_9ec609ea-ee1a-48b6-9e61-d73d9dfbb651",
74
+ * asset_ids: ["asset_1f9b6b2e-4c1d-4a0a-9c1e-2b7d1a0f3c44"],
75
+ * include_members: true,
76
+ * include_projects: true,
77
+ * project_ids: ["asset_7c2d1e0f-3a4b-4c5d-8e6f-1a2b3c4d5e6f"],
78
+ * session_ids: ["thread_3f0a9c2e-6b1d-4d8e-8a2f-5c7e9b1d2a30"]
79
+ * })
80
+ */
81
+ resolvePresence(request: AthenaIntelligence.PresenceResolveRequestIn, requestOptions?: WorkspacesClient.RequestOptions): core.HttpResponsePromise<AthenaIntelligence.PresenceResolveResponseOut>;
82
+ private __resolvePresence;
48
83
  /**
49
84
  * Retrieve the persisted per-workspace Tool Registry policy. The response contains explicit tool overrides; environment feature flags, billing restrictions, and disabled tags may further restrict effective availability. Requires workspace owner or admin permissions.
50
85
  *
@@ -190,6 +190,160 @@ export class WorkspacesClient {
190
190
  }
191
191
  });
192
192
  }
193
+ /**
194
+ * Admin only. Mint a short-lived, read-only Keryx token for a workspace's live presence feed (the awareness room the People page renders). The token is bound to the calling user, so Keryx narrows every frame to the documents that user may open; it can never publish presence or write document content. Requires the presence roster to be enabled for the deployment and opted in for the workspace. Computer-asset sandbox credentials are refused: call with the viewing user's own token.
195
+ *
196
+ * @param {AthenaIntelligence.CreatePresenceTokenWorkspacesRequest} request
197
+ * @param {WorkspacesClient.RequestOptions} requestOptions - Request-specific configuration.
198
+ *
199
+ * @throws {@link AthenaIntelligence.UnprocessableEntityError}
200
+ *
201
+ * @example
202
+ * await client.workspaces.createPresenceToken({
203
+ * workspace_id: "workspace_9ec609ea-ee1a-48b6-9e61-d73d9dfbb651"
204
+ * })
205
+ */
206
+ createPresenceToken(request, requestOptions) {
207
+ return core.HttpResponsePromise.fromPromise(this.__createPresenceToken(request, requestOptions));
208
+ }
209
+ __createPresenceToken(request, requestOptions) {
210
+ return __awaiter(this, void 0, void 0, function* () {
211
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
212
+ const { workspace_id: workspaceId } = request;
213
+ const _authRequest = yield this._options.authProvider.getAuthRequest();
214
+ const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
215
+ const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({
216
+ url: core.url.join((_d = (_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.AthenaIntelligenceEnvironment.Production, `api/v0/workspaces/${core.url.encodePathParam(workspaceId)}/presence-token`),
217
+ method: "POST",
218
+ headers: _headers,
219
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
220
+ timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,
221
+ maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,
222
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
223
+ fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,
224
+ logging: this._options.logging,
225
+ });
226
+ if (_response.ok) {
227
+ return {
228
+ data: _response.body,
229
+ rawResponse: _response.rawResponse,
230
+ };
231
+ }
232
+ if (_response.error.reason === "status-code") {
233
+ switch (_response.error.statusCode) {
234
+ case 422:
235
+ throw new AthenaIntelligence.UnprocessableEntityError(_response.error.body, _response.rawResponse);
236
+ default:
237
+ throw new errors.AthenaIntelligenceError({
238
+ statusCode: _response.error.statusCode,
239
+ body: _response.error.body,
240
+ rawResponse: _response.rawResponse,
241
+ });
242
+ }
243
+ }
244
+ switch (_response.error.reason) {
245
+ case "non-json":
246
+ throw new errors.AthenaIntelligenceError({
247
+ statusCode: _response.error.statusCode,
248
+ body: _response.error.rawBody,
249
+ rawResponse: _response.rawResponse,
250
+ });
251
+ case "body-is-null":
252
+ throw new errors.AthenaIntelligenceError({
253
+ statusCode: _response.error.statusCode,
254
+ rawResponse: _response.rawResponse,
255
+ });
256
+ case "timeout":
257
+ throw new errors.AthenaIntelligenceTimeoutError("Timeout exceeded when calling POST /api/v0/workspaces/{workspace_id}/presence-token.");
258
+ case "unknown":
259
+ throw new errors.AthenaIntelligenceError({
260
+ message: _response.error.errorMessage,
261
+ rawResponse: _response.rawResponse,
262
+ });
263
+ }
264
+ });
265
+ }
266
+ /**
267
+ * Admin only. Resolve the guids a presence feed carries into display titles, asset kinds, and project membership, and optionally list the projects and members of the workspace. Every id is checked against the calling user's own read permission as an ordinary member; anything the caller could not open is omitted rather than reported. Same gates as the presence-token mint.
268
+ *
269
+ * @param {AthenaIntelligence.PresenceResolveRequestIn} request
270
+ * @param {WorkspacesClient.RequestOptions} requestOptions - Request-specific configuration.
271
+ *
272
+ * @throws {@link AthenaIntelligence.UnprocessableEntityError}
273
+ *
274
+ * @example
275
+ * await client.workspaces.resolvePresence({
276
+ * workspace_id: "workspace_9ec609ea-ee1a-48b6-9e61-d73d9dfbb651",
277
+ * asset_ids: ["asset_1f9b6b2e-4c1d-4a0a-9c1e-2b7d1a0f3c44"],
278
+ * include_members: true,
279
+ * include_projects: true,
280
+ * project_ids: ["asset_7c2d1e0f-3a4b-4c5d-8e6f-1a2b3c4d5e6f"],
281
+ * session_ids: ["thread_3f0a9c2e-6b1d-4d8e-8a2f-5c7e9b1d2a30"]
282
+ * })
283
+ */
284
+ resolvePresence(request, requestOptions) {
285
+ return core.HttpResponsePromise.fromPromise(this.__resolvePresence(request, requestOptions));
286
+ }
287
+ __resolvePresence(request, requestOptions) {
288
+ return __awaiter(this, void 0, void 0, function* () {
289
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
290
+ const { workspace_id: workspaceId } = request, _body = __rest(request, ["workspace_id"]);
291
+ const _authRequest = yield this._options.authProvider.getAuthRequest();
292
+ const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
293
+ const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({
294
+ url: core.url.join((_d = (_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.AthenaIntelligenceEnvironment.Production, `api/v0/workspaces/${core.url.encodePathParam(workspaceId)}/presence/resolve`),
295
+ method: "POST",
296
+ headers: _headers,
297
+ contentType: "application/json",
298
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
299
+ requestType: "json",
300
+ body: _body,
301
+ timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,
302
+ maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,
303
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
304
+ fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,
305
+ logging: this._options.logging,
306
+ });
307
+ if (_response.ok) {
308
+ return {
309
+ data: _response.body,
310
+ rawResponse: _response.rawResponse,
311
+ };
312
+ }
313
+ if (_response.error.reason === "status-code") {
314
+ switch (_response.error.statusCode) {
315
+ case 422:
316
+ throw new AthenaIntelligence.UnprocessableEntityError(_response.error.body, _response.rawResponse);
317
+ default:
318
+ throw new errors.AthenaIntelligenceError({
319
+ statusCode: _response.error.statusCode,
320
+ body: _response.error.body,
321
+ rawResponse: _response.rawResponse,
322
+ });
323
+ }
324
+ }
325
+ switch (_response.error.reason) {
326
+ case "non-json":
327
+ throw new errors.AthenaIntelligenceError({
328
+ statusCode: _response.error.statusCode,
329
+ body: _response.error.rawBody,
330
+ rawResponse: _response.rawResponse,
331
+ });
332
+ case "body-is-null":
333
+ throw new errors.AthenaIntelligenceError({
334
+ statusCode: _response.error.statusCode,
335
+ rawResponse: _response.rawResponse,
336
+ });
337
+ case "timeout":
338
+ throw new errors.AthenaIntelligenceTimeoutError("Timeout exceeded when calling POST /api/v0/workspaces/{workspace_id}/presence/resolve.");
339
+ case "unknown":
340
+ throw new errors.AthenaIntelligenceError({
341
+ message: _response.error.errorMessage,
342
+ rawResponse: _response.rawResponse,
343
+ });
344
+ }
345
+ });
346
+ }
193
347
  /**
194
348
  * Retrieve the persisted per-workspace Tool Registry policy. The response contains explicit tool overrides; environment feature flags, billing restrictions, and disabled tags may further restrict effective availability. Requires workspace owner or admin permissions.
195
349
  *
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @example
3
+ * {
4
+ * workspace_id: "workspace_9ec609ea-ee1a-48b6-9e61-d73d9dfbb651"
5
+ * }
6
+ */
7
+ export interface CreatePresenceTokenWorkspacesRequest {
8
+ /** The workspace whose presence feed to read. */
9
+ workspace_id: string;
10
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @example
3
+ * {
4
+ * workspace_id: "workspace_9ec609ea-ee1a-48b6-9e61-d73d9dfbb651",
5
+ * asset_ids: ["asset_1f9b6b2e-4c1d-4a0a-9c1e-2b7d1a0f3c44"],
6
+ * include_members: true,
7
+ * include_projects: true,
8
+ * project_ids: ["asset_7c2d1e0f-3a4b-4c5d-8e6f-1a2b3c4d5e6f"],
9
+ * session_ids: ["thread_3f0a9c2e-6b1d-4d8e-8a2f-5c7e9b1d2a30"]
10
+ * }
11
+ */
12
+ export interface PresenceResolveRequestIn {
13
+ /** The workspace whose presence feed to read. */
14
+ workspace_id: string;
15
+ /** Asset guids from presence contexts of type asset. */
16
+ asset_ids?: string[];
17
+ /** Also list the workspace's members (name, email, avatar) so the app can name people by their attested user id rather than the self-reported slot. */
18
+ include_members?: boolean;
19
+ /** Also list every project the caller may open in this workspace, each with the linked documents the caller may open. */
20
+ include_projects?: boolean;
21
+ /** Project guids from coarse presence contexts or from a visible context's projects annotation. */
22
+ project_ids?: string[];
23
+ /** Thread ids from presence contexts of type session (what an open chat publishes). Each resolves to the workspace's session asset. */
24
+ session_ids?: string[];
25
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -1,4 +1,6 @@
1
+ export type { CreatePresenceTokenWorkspacesRequest } from "./CreatePresenceTokenWorkspacesRequest.mjs";
1
2
  export type { GetConfigurationWorkspacesRequest } from "./GetConfigurationWorkspacesRequest.mjs";
2
3
  export type { GetToolRegistryWorkspacesRequest } from "./GetToolRegistryWorkspacesRequest.mjs";
4
+ export type { PresenceResolveRequestIn } from "./PresenceResolveRequestIn.mjs";
3
5
  export type { UpdateWorkspaceConfigurationRequestIn } from "./UpdateWorkspaceConfigurationRequestIn.mjs";
4
6
  export type { UpdateWorkspaceToolRegistryRequestIn } from "./UpdateWorkspaceToolRegistryRequestIn.mjs";
@@ -0,0 +1,8 @@
1
+ export interface PresenceAssetOut {
2
+ /** Athena asset type, e.g. document, spreadsheet, project. */
3
+ asset_type?: string | null;
4
+ /** Asset guid. */
5
+ id: string;
6
+ /** Display title. */
7
+ title?: string | null;
8
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,10 @@
1
+ export interface PresenceMemberOut {
2
+ /** Avatar URL. */
3
+ avatar_url?: string | null;
4
+ /** Email. */
5
+ email: string;
6
+ /** User id (matches a slot's attested authUserId). */
7
+ id: string;
8
+ /** Display name. */
9
+ name: string;
10
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,9 @@
1
+ import type * as AthenaIntelligence from "../index.mjs";
2
+ export interface PresenceProjectOut {
3
+ /** Documents linked into the project that the caller may open. */
4
+ assets?: AthenaIntelligence.PresenceAssetOut[];
5
+ /** Project guid. */
6
+ id: string;
7
+ /** Display title. */
8
+ title?: string | null;
9
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,10 @@
1
+ import type * as AthenaIntelligence from "../index.mjs";
2
+ /**
3
+ * Only what the caller may open comes back; unknown or refused ids are absent.
4
+ */
5
+ export interface PresenceResolveResponseOut {
6
+ assets?: AthenaIntelligence.PresenceAssetOut[];
7
+ members?: AthenaIntelligence.PresenceMemberOut[];
8
+ projects?: AthenaIntelligence.PresenceProjectOut[];
9
+ sessions?: AthenaIntelligence.PresenceSessionOut[];
10
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,8 @@
1
+ export interface PresenceSessionOut {
2
+ /** The session asset carrying that thread. */
3
+ asset_id: string;
4
+ /** The thread id the feed published. */
5
+ thread_id: string;
6
+ /** Display title. */
7
+ title?: string | null;
8
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,26 @@
1
+ /**
2
+ * A read-only, room-bound Keryx capability for the workspace awareness room.
3
+ */
4
+ export interface PresenceTokenResponseOut {
5
+ /** Always r: subscribe only. The app never publishes a slot. */
6
+ access_type: PresenceTokenResponseOut.AccessType;
7
+ /** Document branch. */
8
+ branch?: string;
9
+ /** Keryx document id within the org: awareness. */
10
+ doc_id: string;
11
+ /** Token expiry in epoch milliseconds. Re-mint before this passes; the @athenaintel/react presence client does so automatically. */
12
+ expires_at_ms: number;
13
+ /** Keryx org (room namespace): the workspace id. */
14
+ org: string;
15
+ /** Keryx capability token (yauth). Pass as the yauth query parameter on the WebSocket upgrade. Read-only and bound to this workspace's awareness room; Keryx narrows every frame to what the token's user may open. */
16
+ token: string;
17
+ /** WebSocket base URL. Connect to {ws_url}/{org}/{doc_id}?yauth={token}. */
18
+ ws_url: string;
19
+ }
20
+ export declare namespace PresenceTokenResponseOut {
21
+ /** Always r: subscribe only. The app never publishes a slot. */
22
+ const AccessType: {
23
+ readonly R: "r";
24
+ };
25
+ type AccessType = (typeof AccessType)[keyof typeof AccessType];
26
+ }
@@ -0,0 +1,8 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export var PresenceTokenResponseOut;
3
+ (function (PresenceTokenResponseOut) {
4
+ /** Always r: subscribe only. The app never publishes a slot. */
5
+ PresenceTokenResponseOut.AccessType = {
6
+ R: "r",
7
+ };
8
+ })(PresenceTokenResponseOut || (PresenceTokenResponseOut = {}));
@@ -92,6 +92,12 @@ export * from "./NumberFormatType.mjs";
92
92
  export * from "./PaginatedAssetsOut.mjs";
93
93
  export * from "./PaginatedMeetingsOut.mjs";
94
94
  export * from "./PaginatedSessionsOut.mjs";
95
+ export * from "./PresenceAssetOut.mjs";
96
+ export * from "./PresenceMemberOut.mjs";
97
+ export * from "./PresenceProjectOut.mjs";
98
+ export * from "./PresenceResolveResponseOut.mjs";
99
+ export * from "./PresenceSessionOut.mjs";
100
+ export * from "./PresenceTokenResponseOut.mjs";
95
101
  export * from "./PromptMessage.mjs";
96
102
  export * from "./PublicAssetOut.mjs";
97
103
  export * from "./ReadCapabilitiesOut.mjs";
@@ -92,6 +92,12 @@ export * from "./NumberFormatType.mjs";
92
92
  export * from "./PaginatedAssetsOut.mjs";
93
93
  export * from "./PaginatedMeetingsOut.mjs";
94
94
  export * from "./PaginatedSessionsOut.mjs";
95
+ export * from "./PresenceAssetOut.mjs";
96
+ export * from "./PresenceMemberOut.mjs";
97
+ export * from "./PresenceProjectOut.mjs";
98
+ export * from "./PresenceResolveResponseOut.mjs";
99
+ export * from "./PresenceSessionOut.mjs";
100
+ export * from "./PresenceTokenResponseOut.mjs";
95
101
  export * from "./PromptMessage.mjs";
96
102
  export * from "./PublicAssetOut.mjs";
97
103
  export * from "./ReadCapabilitiesOut.mjs";
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "4.3.2171";
1
+ export declare const SDK_VERSION = "4.3.2172";
@@ -1 +1 @@
1
- export const SDK_VERSION = "4.3.2171";
1
+ export const SDK_VERSION = "4.3.2172";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@athenaintel/sdk",
3
- "version": "4.3.2171",
3
+ "version": "4.3.2172",
4
4
  "private": false,
5
5
  "repository": "github:Athena-Intel/athena-typescript",
6
6
  "type": "commonjs",
package/reference.md CHANGED
@@ -4850,6 +4850,141 @@ await client.workspaces.updateConfiguration({
4850
4850
  </dl>
4851
4851
 
4852
4852
 
4853
+ </dd>
4854
+ </dl>
4855
+ </details>
4856
+
4857
+ <details><summary><code>client.workspaces.<a href="/src/api/resources/workspaces/client/Client.ts">createPresenceToken</a>({ ...params }) -> AthenaIntelligence.PresenceTokenResponseOut</code></summary>
4858
+ <dl>
4859
+ <dd>
4860
+
4861
+ #### 📝 Description
4862
+
4863
+ <dl>
4864
+ <dd>
4865
+
4866
+ <dl>
4867
+ <dd>
4868
+
4869
+ Admin only. Mint a short-lived, read-only Keryx token for a workspace's live presence feed (the awareness room the People page renders). The token is bound to the calling user, so Keryx narrows every frame to the documents that user may open; it can never publish presence or write document content. Requires the presence roster to be enabled for the deployment and opted in for the workspace. Computer-asset sandbox credentials are refused: call with the viewing user's own token.
4870
+ </dd>
4871
+ </dl>
4872
+ </dd>
4873
+ </dl>
4874
+
4875
+ #### 🔌 Usage
4876
+
4877
+ <dl>
4878
+ <dd>
4879
+
4880
+ <dl>
4881
+ <dd>
4882
+
4883
+ ```typescript
4884
+ await client.workspaces.createPresenceToken({
4885
+ workspace_id: "workspace_9ec609ea-ee1a-48b6-9e61-d73d9dfbb651"
4886
+ });
4887
+
4888
+ ```
4889
+ </dd>
4890
+ </dl>
4891
+ </dd>
4892
+ </dl>
4893
+
4894
+ #### ⚙️ Parameters
4895
+
4896
+ <dl>
4897
+ <dd>
4898
+
4899
+ <dl>
4900
+ <dd>
4901
+
4902
+ **request:** `AthenaIntelligence.CreatePresenceTokenWorkspacesRequest`
4903
+
4904
+ </dd>
4905
+ </dl>
4906
+
4907
+ <dl>
4908
+ <dd>
4909
+
4910
+ **requestOptions:** `WorkspacesClient.RequestOptions`
4911
+
4912
+ </dd>
4913
+ </dl>
4914
+ </dd>
4915
+ </dl>
4916
+
4917
+
4918
+ </dd>
4919
+ </dl>
4920
+ </details>
4921
+
4922
+ <details><summary><code>client.workspaces.<a href="/src/api/resources/workspaces/client/Client.ts">resolvePresence</a>({ ...params }) -> AthenaIntelligence.PresenceResolveResponseOut</code></summary>
4923
+ <dl>
4924
+ <dd>
4925
+
4926
+ #### 📝 Description
4927
+
4928
+ <dl>
4929
+ <dd>
4930
+
4931
+ <dl>
4932
+ <dd>
4933
+
4934
+ Admin only. Resolve the guids a presence feed carries into display titles, asset kinds, and project membership, and optionally list the projects and members of the workspace. Every id is checked against the calling user's own read permission as an ordinary member; anything the caller could not open is omitted rather than reported. Same gates as the presence-token mint.
4935
+ </dd>
4936
+ </dl>
4937
+ </dd>
4938
+ </dl>
4939
+
4940
+ #### 🔌 Usage
4941
+
4942
+ <dl>
4943
+ <dd>
4944
+
4945
+ <dl>
4946
+ <dd>
4947
+
4948
+ ```typescript
4949
+ await client.workspaces.resolvePresence({
4950
+ workspace_id: "workspace_9ec609ea-ee1a-48b6-9e61-d73d9dfbb651",
4951
+ asset_ids: ["asset_1f9b6b2e-4c1d-4a0a-9c1e-2b7d1a0f3c44"],
4952
+ include_members: true,
4953
+ include_projects: true,
4954
+ project_ids: ["asset_7c2d1e0f-3a4b-4c5d-8e6f-1a2b3c4d5e6f"],
4955
+ session_ids: ["thread_3f0a9c2e-6b1d-4d8e-8a2f-5c7e9b1d2a30"]
4956
+ });
4957
+
4958
+ ```
4959
+ </dd>
4960
+ </dl>
4961
+ </dd>
4962
+ </dl>
4963
+
4964
+ #### ⚙️ Parameters
4965
+
4966
+ <dl>
4967
+ <dd>
4968
+
4969
+ <dl>
4970
+ <dd>
4971
+
4972
+ **request:** `AthenaIntelligence.PresenceResolveRequestIn`
4973
+
4974
+ </dd>
4975
+ </dl>
4976
+
4977
+ <dl>
4978
+ <dd>
4979
+
4980
+ **requestOptions:** `WorkspacesClient.RequestOptions`
4981
+
4982
+ </dd>
4983
+ </dl>
4984
+ </dd>
4985
+ </dl>
4986
+
4987
+
4853
4988
  </dd>
4854
4989
  </dl>
4855
4990
  </details>