@moxt-ai/mobius-sdk 0.0.3

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 (74) hide show
  1. package/README.md +31 -0
  2. package/dist/bot-owner-resources.d.ts +274 -0
  3. package/dist/bot-owner-resources.d.ts.map +1 -0
  4. package/dist/bot-owner-resources.js +748 -0
  5. package/dist/bot-owner-resources.js.map +1 -0
  6. package/dist/bot-resources.d.ts +152 -0
  7. package/dist/bot-resources.d.ts.map +1 -0
  8. package/dist/bot-resources.js +469 -0
  9. package/dist/bot-resources.js.map +1 -0
  10. package/dist/bot-service-client.d.ts +204 -0
  11. package/dist/bot-service-client.d.ts.map +1 -0
  12. package/dist/bot-service-client.js +587 -0
  13. package/dist/bot-service-client.js.map +1 -0
  14. package/dist/browser.d.ts +166 -0
  15. package/dist/browser.d.ts.map +1 -0
  16. package/dist/browser.js +379 -0
  17. package/dist/browser.js.map +1 -0
  18. package/dist/channel.d.ts +3 -0
  19. package/dist/channel.d.ts.map +1 -0
  20. package/dist/channel.js +3 -0
  21. package/dist/channel.js.map +1 -0
  22. package/dist/client.d.ts +116 -0
  23. package/dist/client.d.ts.map +1 -0
  24. package/dist/client.js +624 -0
  25. package/dist/client.js.map +1 -0
  26. package/dist/errors.d.ts +24 -0
  27. package/dist/errors.d.ts.map +1 -0
  28. package/dist/errors.js +47 -0
  29. package/dist/errors.js.map +1 -0
  30. package/dist/examples/browser.d.ts +13 -0
  31. package/dist/examples/browser.d.ts.map +1 -0
  32. package/dist/examples/browser.js +23 -0
  33. package/dist/examples/browser.js.map +1 -0
  34. package/dist/examples/moxt-server.d.ts +38 -0
  35. package/dist/examples/moxt-server.d.ts.map +1 -0
  36. package/dist/examples/moxt-server.js +81 -0
  37. package/dist/examples/moxt-server.js.map +1 -0
  38. package/dist/examples/node.d.ts +2 -0
  39. package/dist/examples/node.d.ts.map +1 -0
  40. package/dist/examples/node.js +20 -0
  41. package/dist/examples/node.js.map +1 -0
  42. package/dist/examples/platform-server.d.ts +2 -0
  43. package/dist/examples/platform-server.d.ts.map +1 -0
  44. package/dist/examples/platform-server.js +39 -0
  45. package/dist/examples/platform-server.js.map +1 -0
  46. package/dist/examples/workflow.d.ts +20 -0
  47. package/dist/examples/workflow.d.ts.map +1 -0
  48. package/dist/examples/workflow.js +76 -0
  49. package/dist/examples/workflow.js.map +1 -0
  50. package/dist/index.d.ts +10 -0
  51. package/dist/index.d.ts.map +1 -0
  52. package/dist/index.js +9 -0
  53. package/dist/index.js.map +1 -0
  54. package/dist/platform.d.ts +184 -0
  55. package/dist/platform.d.ts.map +1 -0
  56. package/dist/platform.js +434 -0
  57. package/dist/platform.js.map +1 -0
  58. package/dist/project-authentication.d.ts +239 -0
  59. package/dist/project-authentication.d.ts.map +1 -0
  60. package/dist/project-authentication.js +752 -0
  61. package/dist/project-authentication.js.map +1 -0
  62. package/dist/resources.d.ts +602 -0
  63. package/dist/resources.d.ts.map +1 -0
  64. package/dist/resources.js +1411 -0
  65. package/dist/resources.js.map +1 -0
  66. package/dist/server.d.ts +7 -0
  67. package/dist/server.d.ts.map +1 -0
  68. package/dist/server.js +7 -0
  69. package/dist/server.js.map +1 -0
  70. package/dist/service-client.d.ts +392 -0
  71. package/dist/service-client.d.ts.map +1 -0
  72. package/dist/service-client.js +1061 -0
  73. package/dist/service-client.js.map +1 -0
  74. package/package.json +92 -0
@@ -0,0 +1,184 @@
1
+ import { type MobiusEndpointOptions, StaticMobiusCredentialProvider } from "./service-client.ts";
2
+ export { MOBIUS_API_PREFIX } from "@moxt-ai/mobius-protocol";
3
+ export { MobiusApiError, MobiusCancellationError, MobiusConnectionError, MobiusError, MobiusProtocolError, MobiusTimeoutError, MobiusValidationError, } from "./errors.ts";
4
+ export type { MobiusCredentialProvider, MobiusHttpTransport } from "./service-client.ts";
5
+ export declare class MobiusOidcCredentialProvider extends StaticMobiusCredentialProvider {
6
+ }
7
+ export declare class MobiusAppCredentialProvider extends StaticMobiusCredentialProvider {
8
+ constructor(credential: string);
9
+ }
10
+ export declare class MobiusConversationCredentialProvider extends StaticMobiusCredentialProvider {
11
+ constructor(credential: string);
12
+ }
13
+ export declare class MobiusPlatformTenant {
14
+ readonly createdAt: string;
15
+ readonly deletedAt: string;
16
+ readonly displayName: string;
17
+ readonly lifecycle: string;
18
+ readonly quotas: Readonly<Record<string, unknown>>;
19
+ readonly suspendedAt: string;
20
+ readonly tenantId: string;
21
+ readonly updatedAt: string;
22
+ constructor(value: Readonly<Record<string, unknown>>);
23
+ }
24
+ export declare class MobiusPlatformConfiguration {
25
+ readonly allowedOrigins: readonly string[];
26
+ readonly anonymousPublicBootstrap: boolean;
27
+ readonly hostingProfile: string;
28
+ constructor(value: Readonly<Record<string, unknown>>);
29
+ }
30
+ export declare class MobiusPlatformTenantUsage {
31
+ readonly activeApps: number;
32
+ readonly activeProjects: number;
33
+ readonly activeSessions: number;
34
+ readonly quotas: Readonly<Record<string, unknown>>;
35
+ readonly tenantId: string;
36
+ constructor(value: Readonly<Record<string, unknown>>);
37
+ }
38
+ export declare class MobiusPlatformAuditEvent {
39
+ readonly action: string;
40
+ readonly actorId: string;
41
+ readonly actorKind: string;
42
+ readonly actorRef: string;
43
+ readonly appId: string;
44
+ readonly auditId: string;
45
+ readonly details: Readonly<Record<string, unknown>>;
46
+ readonly outcome: string;
47
+ readonly projectId: string;
48
+ readonly recordedAt: string;
49
+ readonly subjectId: string;
50
+ readonly tenantId: string;
51
+ constructor(value: Readonly<Record<string, unknown>>);
52
+ }
53
+ export declare class MobiusPlatformAppCredential {
54
+ readonly appId: string;
55
+ readonly credential: string;
56
+ readonly credentialId: string;
57
+ readonly issuedAt: string;
58
+ readonly permissions: readonly string[];
59
+ readonly publicCredentialId: string;
60
+ readonly revision: number;
61
+ constructor(value: Readonly<Record<string, unknown>>);
62
+ }
63
+ export declare class MobiusPlatformAppCredentialMetadata {
64
+ readonly allProjects: boolean;
65
+ readonly appId: string;
66
+ readonly credentialId: string;
67
+ readonly issuedAt: string;
68
+ readonly lastUsedAt: string;
69
+ readonly overlapEndsAt: string;
70
+ readonly permissions: readonly string[];
71
+ readonly projectIds: readonly string[];
72
+ readonly publicCredentialId: string;
73
+ readonly replacedByCredentialId: string;
74
+ readonly revision: number;
75
+ readonly revokedAt: string;
76
+ constructor(value: Readonly<Record<string, unknown>>);
77
+ }
78
+ export declare class MobiusRotatedPlatformAppCredential extends MobiusPlatformAppCredential {
79
+ readonly overlapEndsAt: string;
80
+ readonly replacedCredentialId: string;
81
+ constructor(value: Readonly<Record<string, unknown>>);
82
+ }
83
+ export declare class MobiusPlatformApp {
84
+ readonly appId: string;
85
+ readonly createdAt: string;
86
+ readonly defaultCredentialId: string;
87
+ readonly deletedAt: string;
88
+ readonly displayName: string;
89
+ readonly lifecycle: string;
90
+ readonly suspendedAt: string;
91
+ readonly tenantId: string;
92
+ readonly updatedAt: string;
93
+ constructor(value: Readonly<Record<string, unknown>>);
94
+ }
95
+ export declare class MobiusCreatedPlatformApp extends MobiusPlatformApp {
96
+ readonly defaultCredential: MobiusPlatformAppCredential;
97
+ constructor(value: Readonly<Record<string, unknown>>);
98
+ }
99
+ export declare class MobiusPlatformProject {
100
+ readonly appId: string;
101
+ readonly clientReference: string;
102
+ readonly createdAt: string;
103
+ readonly deletedAt: string;
104
+ readonly displayName: string;
105
+ readonly lifecycle: string;
106
+ readonly projectId: string;
107
+ readonly suspendedAt: string;
108
+ readonly tenantId: string;
109
+ readonly updatedAt: string;
110
+ constructor(value: Readonly<Record<string, unknown>>);
111
+ }
112
+ export declare class MobiusConversationAccessCredential {
113
+ readonly actorRef: string;
114
+ readonly appId: string;
115
+ readonly conversationId: string;
116
+ readonly credential: string;
117
+ readonly credentialId: string;
118
+ readonly expiresAt: string;
119
+ readonly issuedAt: string;
120
+ readonly permissions: readonly string[];
121
+ readonly projectId: string;
122
+ readonly sessionId: string;
123
+ readonly tenantId: string;
124
+ constructor(value: Readonly<Record<string, unknown>>);
125
+ }
126
+ export declare class MobiusRotatedConversationAccessCredential extends MobiusConversationAccessCredential {
127
+ readonly replacedCredentialId: string;
128
+ constructor(value: Readonly<Record<string, unknown>>);
129
+ }
130
+ export declare class MobiusCredentialRevocation {
131
+ readonly credentialId: string;
132
+ readonly revokedAt: string;
133
+ constructor(value: Readonly<Record<string, unknown>>);
134
+ }
135
+ export interface MobiusCreatePlatformProjectRequest {
136
+ readonly clientReference: string;
137
+ readonly displayName: string;
138
+ readonly idempotencyKey: string;
139
+ readonly locationHint: string;
140
+ }
141
+ export interface MobiusIssueAppCredentialRequest {
142
+ readonly permissions: readonly string[];
143
+ readonly projectIds: readonly string[];
144
+ }
145
+ export interface MobiusIssueConversationAccessCredentialRequest {
146
+ readonly actorRef: string;
147
+ readonly expiresInSeconds: number;
148
+ readonly permissions: readonly string[];
149
+ }
150
+ export interface MobiusPlatformDeveloperClientOptions extends MobiusEndpointOptions {
151
+ readonly authenticationProviderId: string;
152
+ }
153
+ export declare class MobiusPlatformDeveloperClient {
154
+ #private;
155
+ constructor(options: MobiusPlatformDeveloperClientOptions);
156
+ readonly createTenant: (displayName: string, signal: AbortSignal) => Promise<MobiusPlatformTenant>;
157
+ readonly listTenants: (signal: AbortSignal) => Promise<readonly MobiusPlatformTenant[]>;
158
+ readonly readTenant: (tenantId: string, signal: AbortSignal) => Promise<MobiusPlatformTenant>;
159
+ readonly updateTenant: (tenantId: string, displayName: string, signal: AbortSignal) => Promise<MobiusPlatformTenant>;
160
+ readonly deleteTenant: (tenantId: string, signal: AbortSignal) => Promise<MobiusPlatformTenant>;
161
+ readonly readConfiguration: (signal: AbortSignal) => Promise<MobiusPlatformConfiguration>;
162
+ readonly readApp: (appId: string, signal: AbortSignal) => Promise<MobiusPlatformApp>;
163
+ readonly readTenantUsage: (tenantId: string, signal: AbortSignal) => Promise<MobiusPlatformTenantUsage>;
164
+ readonly listAuditEvents: (tenantId: string, limit: number, signal: AbortSignal) => Promise<readonly MobiusPlatformAuditEvent[]>;
165
+ readonly listApps: (tenantId: string, signal: AbortSignal) => Promise<readonly MobiusPlatformApp[]>;
166
+ readonly createApp: (tenantId: string, displayName: string, signal: AbortSignal) => Promise<MobiusCreatedPlatformApp>;
167
+ readonly updateApp: (appId: string, displayName: string, signal: AbortSignal) => Promise<MobiusPlatformApp>;
168
+ readonly deleteApp: (appId: string, signal: AbortSignal) => Promise<MobiusPlatformApp>;
169
+ readonly listProjects: (appId: string, signal: AbortSignal) => Promise<readonly MobiusPlatformProject[]>;
170
+ readonly createProject: (appId: string, request: MobiusCreatePlatformProjectRequest, signal: AbortSignal) => Promise<MobiusPlatformProject>;
171
+ readonly issueAppCredential: (appId: string, request: MobiusIssueAppCredentialRequest, signal: AbortSignal) => Promise<MobiusPlatformAppCredential>;
172
+ readonly listAppCredentials: (appId: string, signal: AbortSignal) => Promise<readonly MobiusPlatformAppCredentialMetadata[]>;
173
+ readonly rotateAppCredential: (credentialId: string, overlapSeconds: number, signal: AbortSignal) => Promise<MobiusRotatedPlatformAppCredential>;
174
+ readonly revokeAppCredential: (credentialId: string, signal: AbortSignal) => Promise<MobiusCredentialRevocation>;
175
+ }
176
+ export declare class MobiusPlatformAppClient {
177
+ #private;
178
+ constructor(options: MobiusEndpointOptions);
179
+ readonly createProject: (appId: string, request: MobiusCreatePlatformProjectRequest, signal: AbortSignal) => Promise<MobiusPlatformProject>;
180
+ readonly issueConversationAccessCredential: (conversationId: string, request: MobiusIssueConversationAccessCredentialRequest, signal: AbortSignal) => Promise<MobiusConversationAccessCredential>;
181
+ readonly rotateConversationAccessCredential: (credentialId: string, expiresInSeconds: number, signal: AbortSignal) => Promise<MobiusRotatedConversationAccessCredential>;
182
+ readonly revokeConversationAccessCredential: (credentialId: string, signal: AbortSignal) => Promise<MobiusCredentialRevocation>;
183
+ }
184
+ //# sourceMappingURL=platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,434 @@
1
+ import { MobiusProtocolError, MobiusValidationError } from "./errors.js";
2
+ import { MobiusRequestExecutor, StaticMobiusCredentialProvider } from "./service-client.js";
3
+ export { MOBIUS_API_PREFIX } from "@moxt-ai/mobius-protocol";
4
+ export { MobiusApiError, MobiusCancellationError, MobiusConnectionError, MobiusError, MobiusProtocolError, MobiusTimeoutError, MobiusValidationError, } from "./errors.js";
5
+ const IDENTIFIER_PATTERN = /^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,127}$/;
6
+ const APP_CREDENTIAL_PATTERN = /^mapp_[a-zA-Z0-9_-]{22}_[a-zA-Z0-9_-]{43}$/;
7
+ const CONVERSATION_CREDENTIAL_PATTERN = /^mconv_[a-zA-Z0-9_-]{22}_[a-zA-Z0-9_-]{43}$/;
8
+ function record(value, name) {
9
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
10
+ throw new MobiusProtocolError(`The Platform returned an invalid ${name}`);
11
+ }
12
+ return Object.freeze(Object.fromEntries(Object.entries(value)));
13
+ }
14
+ function string(value, field, maximum = 16_384) {
15
+ const candidate = value[field];
16
+ if (typeof candidate !== "string" || candidate.length > maximum) {
17
+ throw new MobiusProtocolError(`The Platform returned an invalid ${field}`);
18
+ }
19
+ return candidate;
20
+ }
21
+ function identifier(value, field) {
22
+ const candidate = string(value, field, 128);
23
+ if (!IDENTIFIER_PATTERN.test(candidate)) {
24
+ throw new MobiusProtocolError(`The Platform returned an invalid ${field}`);
25
+ }
26
+ return candidate;
27
+ }
28
+ function timestamp(value, field) {
29
+ const candidate = string(value, field, 128);
30
+ if (candidate.length > 0 && Number.isNaN(Date.parse(candidate))) {
31
+ throw new MobiusProtocolError(`The Platform returned an invalid ${field}`);
32
+ }
33
+ return candidate;
34
+ }
35
+ function integer(value, field) {
36
+ const candidate = value[field];
37
+ if (typeof candidate !== "number" || !Number.isSafeInteger(candidate) || candidate < 0) {
38
+ throw new MobiusProtocolError(`The Platform returned an invalid ${field}`);
39
+ }
40
+ return candidate;
41
+ }
42
+ function strings(value, field) {
43
+ const candidate = value[field];
44
+ if (!Array.isArray(candidate) || candidate.length > 100 || candidate.some((entry) => typeof entry !== "string")) {
45
+ throw new MobiusProtocolError(`The Platform returned an invalid ${field}`);
46
+ }
47
+ return Object.freeze(candidate.filter((entry) => typeof entry === "string"));
48
+ }
49
+ function requestedIdentifier(value, name) {
50
+ if (!IDENTIFIER_PATTERN.test(value)) {
51
+ throw new MobiusValidationError(`The Platform ${name} is invalid`);
52
+ }
53
+ return value;
54
+ }
55
+ function requestedDisplayName(value) {
56
+ const normalized = value.trim();
57
+ if (normalized.length === 0 || normalized.length > 120) {
58
+ throw new MobiusValidationError("The Platform display name is invalid");
59
+ }
60
+ return normalized;
61
+ }
62
+ function requestedLifetime(value, maximumSeconds, name) {
63
+ if (!Number.isSafeInteger(value) || value < 60 || value > maximumSeconds) {
64
+ throw new MobiusValidationError(`The ${name} lifetime is invalid`);
65
+ }
66
+ return value;
67
+ }
68
+ function requestedPermissions(value) {
69
+ if (value.length === 0 ||
70
+ value.length > 64 ||
71
+ value.some((permission) => permission.length === 0 || permission.length > 128) ||
72
+ new Set(value).size !== value.length) {
73
+ throw new MobiusValidationError("The Platform permission set is invalid");
74
+ }
75
+ return Object.freeze([...value]);
76
+ }
77
+ export class MobiusOidcCredentialProvider extends StaticMobiusCredentialProvider {
78
+ }
79
+ export class MobiusAppCredentialProvider extends StaticMobiusCredentialProvider {
80
+ constructor(credential) {
81
+ if (!APP_CREDENTIAL_PATTERN.test(credential)) {
82
+ throw new MobiusValidationError("The AppCredential is invalid");
83
+ }
84
+ super(credential);
85
+ }
86
+ }
87
+ export class MobiusConversationCredentialProvider extends StaticMobiusCredentialProvider {
88
+ constructor(credential) {
89
+ if (!CONVERSATION_CREDENTIAL_PATTERN.test(credential)) {
90
+ throw new MobiusValidationError("The ConversationAccessCredential is invalid");
91
+ }
92
+ super(credential);
93
+ }
94
+ }
95
+ export class MobiusPlatformTenant {
96
+ createdAt;
97
+ deletedAt;
98
+ displayName;
99
+ lifecycle;
100
+ quotas;
101
+ suspendedAt;
102
+ tenantId;
103
+ updatedAt;
104
+ constructor(value) {
105
+ this.createdAt = timestamp(value, "createdAt");
106
+ this.deletedAt = timestamp(value, "deletedAt");
107
+ this.displayName = string(value, "displayName", 120);
108
+ this.lifecycle = string(value, "lifecycle", 32);
109
+ this.quotas = record(value["quotas"], "Tenant quotas");
110
+ this.suspendedAt = timestamp(value, "suspendedAt");
111
+ this.tenantId = identifier(value, "tenantId");
112
+ this.updatedAt = timestamp(value, "updatedAt");
113
+ }
114
+ }
115
+ export class MobiusPlatformConfiguration {
116
+ allowedOrigins;
117
+ anonymousPublicBootstrap;
118
+ hostingProfile;
119
+ constructor(value) {
120
+ this.allowedOrigins = strings(value, "allowedOrigins");
121
+ if (typeof value["anonymousPublicBootstrap"] !== "boolean") {
122
+ throw new MobiusProtocolError("The Platform returned an invalid bootstrap configuration");
123
+ }
124
+ this.anonymousPublicBootstrap = value["anonymousPublicBootstrap"];
125
+ this.hostingProfile = string(value, "hostingProfile", 32);
126
+ }
127
+ }
128
+ export class MobiusPlatformTenantUsage {
129
+ activeApps;
130
+ activeProjects;
131
+ activeSessions;
132
+ quotas;
133
+ tenantId;
134
+ constructor(value) {
135
+ this.activeApps = integer(value, "activeApps");
136
+ this.activeProjects = integer(value, "activeProjects");
137
+ this.activeSessions = integer(value, "activeSessions");
138
+ this.quotas = record(value["quotas"], "Tenant quotas");
139
+ this.tenantId = identifier(value, "tenantId");
140
+ }
141
+ }
142
+ export class MobiusPlatformAuditEvent {
143
+ action;
144
+ actorId;
145
+ actorKind;
146
+ actorRef;
147
+ appId;
148
+ auditId;
149
+ details;
150
+ outcome;
151
+ projectId;
152
+ recordedAt;
153
+ subjectId;
154
+ tenantId;
155
+ constructor(value) {
156
+ this.action = string(value, "action", 128);
157
+ this.actorId = string(value, "actorId", 256);
158
+ this.actorKind = string(value, "actorKind", 64);
159
+ this.actorRef = string(value, "actorRef", 200);
160
+ this.appId = string(value, "appId", 128);
161
+ this.auditId = identifier(value, "auditId");
162
+ this.details = record(value["details"], "audit details");
163
+ this.outcome = string(value, "outcome", 32);
164
+ this.projectId = string(value, "projectId", 128);
165
+ this.recordedAt = timestamp(value, "recordedAt");
166
+ this.subjectId = string(value, "subjectId", 128);
167
+ this.tenantId = identifier(value, "tenantId");
168
+ }
169
+ }
170
+ export class MobiusPlatformAppCredential {
171
+ appId;
172
+ credential;
173
+ credentialId;
174
+ issuedAt;
175
+ permissions;
176
+ publicCredentialId;
177
+ revision;
178
+ constructor(value) {
179
+ this.appId = identifier(value, "appId");
180
+ this.credential = string(value, "credential");
181
+ if (!APP_CREDENTIAL_PATTERN.test(this.credential)) {
182
+ throw new MobiusProtocolError("The Platform returned an invalid AppCredential");
183
+ }
184
+ this.credentialId = identifier(value, "credentialId");
185
+ this.issuedAt = timestamp(value, "issuedAt");
186
+ this.permissions = strings(value, "permissions");
187
+ this.publicCredentialId = string(value, "publicCredentialId", 64);
188
+ this.revision = integer(value, "revision");
189
+ }
190
+ }
191
+ export class MobiusPlatformAppCredentialMetadata {
192
+ allProjects;
193
+ appId;
194
+ credentialId;
195
+ issuedAt;
196
+ lastUsedAt;
197
+ overlapEndsAt;
198
+ permissions;
199
+ projectIds;
200
+ publicCredentialId;
201
+ replacedByCredentialId;
202
+ revision;
203
+ revokedAt;
204
+ constructor(value) {
205
+ if (typeof value["allProjects"] !== "boolean") {
206
+ throw new MobiusProtocolError("The Platform returned an invalid AppCredential scope");
207
+ }
208
+ this.allProjects = value["allProjects"];
209
+ this.appId = identifier(value, "appId");
210
+ this.credentialId = identifier(value, "credentialId");
211
+ this.issuedAt = timestamp(value, "issuedAt");
212
+ this.lastUsedAt = timestamp(value, "lastUsedAt");
213
+ this.overlapEndsAt = timestamp(value, "overlapEndsAt");
214
+ this.permissions = strings(value, "permissions");
215
+ this.projectIds = strings(value, "projectIds");
216
+ this.publicCredentialId = string(value, "publicCredentialId", 64);
217
+ this.replacedByCredentialId = string(value, "replacedByCredentialId", 128);
218
+ this.revision = integer(value, "revision");
219
+ this.revokedAt = timestamp(value, "revokedAt");
220
+ }
221
+ }
222
+ export class MobiusRotatedPlatformAppCredential extends MobiusPlatformAppCredential {
223
+ overlapEndsAt;
224
+ replacedCredentialId;
225
+ constructor(value) {
226
+ super(value);
227
+ this.overlapEndsAt = timestamp(value, "overlapEndsAt");
228
+ this.replacedCredentialId = identifier(value, "replacedCredentialId");
229
+ }
230
+ }
231
+ export class MobiusPlatformApp {
232
+ appId;
233
+ createdAt;
234
+ defaultCredentialId;
235
+ deletedAt;
236
+ displayName;
237
+ lifecycle;
238
+ suspendedAt;
239
+ tenantId;
240
+ updatedAt;
241
+ constructor(value) {
242
+ this.appId = identifier(value, "appId");
243
+ this.createdAt = timestamp(value, "createdAt");
244
+ this.defaultCredentialId = identifier(value, "defaultCredentialId");
245
+ this.deletedAt = timestamp(value, "deletedAt");
246
+ this.displayName = string(value, "displayName", 120);
247
+ this.lifecycle = string(value, "lifecycle", 32);
248
+ this.suspendedAt = timestamp(value, "suspendedAt");
249
+ this.tenantId = identifier(value, "tenantId");
250
+ this.updatedAt = timestamp(value, "updatedAt");
251
+ }
252
+ }
253
+ export class MobiusCreatedPlatformApp extends MobiusPlatformApp {
254
+ defaultCredential;
255
+ constructor(value) {
256
+ super(value);
257
+ this.defaultCredential = new MobiusPlatformAppCredential(record(value["defaultCredential"], "default AppCredential"));
258
+ }
259
+ }
260
+ export class MobiusPlatformProject {
261
+ appId;
262
+ clientReference;
263
+ createdAt;
264
+ deletedAt;
265
+ displayName;
266
+ lifecycle;
267
+ projectId;
268
+ suspendedAt;
269
+ tenantId;
270
+ updatedAt;
271
+ constructor(value) {
272
+ this.appId = identifier(value, "appId");
273
+ this.clientReference = identifier(value, "clientReference");
274
+ this.createdAt = timestamp(value, "createdAt");
275
+ this.deletedAt = timestamp(value, "deletedAt");
276
+ this.displayName = string(value, "displayName", 120);
277
+ this.lifecycle = string(value, "lifecycle", 32);
278
+ this.projectId = identifier(value, "projectId");
279
+ this.suspendedAt = timestamp(value, "suspendedAt");
280
+ this.tenantId = identifier(value, "tenantId");
281
+ this.updatedAt = timestamp(value, "updatedAt");
282
+ }
283
+ }
284
+ export class MobiusConversationAccessCredential {
285
+ actorRef;
286
+ appId;
287
+ conversationId;
288
+ credential;
289
+ credentialId;
290
+ expiresAt;
291
+ issuedAt;
292
+ permissions;
293
+ projectId;
294
+ sessionId;
295
+ tenantId;
296
+ constructor(value) {
297
+ this.actorRef = string(value, "actorRef", 200);
298
+ this.appId = identifier(value, "appId");
299
+ this.conversationId = identifier(value, "conversationId");
300
+ this.credential = string(value, "credential");
301
+ if (!CONVERSATION_CREDENTIAL_PATTERN.test(this.credential)) {
302
+ throw new MobiusProtocolError("The Platform returned an invalid ConversationAccessCredential");
303
+ }
304
+ this.credentialId = identifier(value, "credentialId");
305
+ this.expiresAt = timestamp(value, "expiresAt");
306
+ this.issuedAt = timestamp(value, "issuedAt");
307
+ this.permissions = strings(value, "permissions");
308
+ this.projectId = identifier(value, "projectId");
309
+ this.sessionId = identifier(value, "sessionId");
310
+ this.tenantId = identifier(value, "tenantId");
311
+ }
312
+ }
313
+ export class MobiusRotatedConversationAccessCredential extends MobiusConversationAccessCredential {
314
+ replacedCredentialId;
315
+ constructor(value) {
316
+ super(value);
317
+ this.replacedCredentialId = identifier(value, "replacedCredentialId");
318
+ }
319
+ }
320
+ export class MobiusCredentialRevocation {
321
+ credentialId;
322
+ revokedAt;
323
+ constructor(value) {
324
+ this.credentialId = identifier(value, "credentialId");
325
+ this.revokedAt = timestamp(value, "revokedAt");
326
+ }
327
+ }
328
+ export class MobiusPlatformDeveloperClient {
329
+ #executor;
330
+ constructor(options) {
331
+ if (!IDENTIFIER_PATTERN.test(options.authenticationProviderId)) {
332
+ throw new MobiusValidationError("The OIDC provider identifier is invalid");
333
+ }
334
+ this.#executor = new MobiusRequestExecutor(options);
335
+ }
336
+ createTenant = async (displayName, signal) => new MobiusPlatformTenant(record(await this.#executor.post("v1/platform/tenants", { displayName: requestedDisplayName(displayName) }, signal), "Tenant"));
337
+ listTenants = async (signal) => {
338
+ const value = record(await this.#executor.get("v1/platform/tenants", signal), "Tenant list");
339
+ const tenants = value["tenants"];
340
+ if (!Array.isArray(tenants) || tenants.length > 1_000) {
341
+ throw new MobiusProtocolError("The Platform returned an invalid Tenant list");
342
+ }
343
+ return Object.freeze(tenants.map((tenant) => new MobiusPlatformTenant(record(tenant, "Tenant"))));
344
+ };
345
+ readTenant = async (tenantId, signal) => new MobiusPlatformTenant(record(await this.#executor.get(`v1/platform/tenants/${encodeURIComponent(requestedIdentifier(tenantId, "Tenant identifier"))}`, signal), "Tenant"));
346
+ updateTenant = async (tenantId, displayName, signal) => new MobiusPlatformTenant(record(await this.#executor.put(`v1/platform/tenants/${encodeURIComponent(requestedIdentifier(tenantId, "Tenant identifier"))}`, { displayName: requestedDisplayName(displayName) }, signal), "Tenant"));
347
+ deleteTenant = async (tenantId, signal) => new MobiusPlatformTenant(record(await this.#executor.delete(`v1/platform/tenants/${encodeURIComponent(requestedIdentifier(tenantId, "Tenant identifier"))}`, signal), "Tenant"));
348
+ readConfiguration = async (signal) => new MobiusPlatformConfiguration(record(await this.#executor.get("v1/platform/configuration", signal), "Platform configuration"));
349
+ readApp = async (appId, signal) => new MobiusPlatformApp(record(await this.#executor.get(`v1/apps/${encodeURIComponent(requestedIdentifier(appId, "App identifier"))}`, signal), "App"));
350
+ readTenantUsage = async (tenantId, signal) => new MobiusPlatformTenantUsage(record(await this.#executor.get(`v1/platform/tenants/${encodeURIComponent(requestedIdentifier(tenantId, "Tenant identifier"))}/usage`, signal), "Tenant usage"));
351
+ listAuditEvents = async (tenantId, limit, signal) => {
352
+ if (!Number.isSafeInteger(limit) || limit < 1 || limit > 500) {
353
+ throw new MobiusValidationError("The Platform audit page size is invalid");
354
+ }
355
+ const value = record(await this.#executor.get(`v1/platform/tenants/${encodeURIComponent(requestedIdentifier(tenantId, "Tenant identifier"))}/audit-events?limit=${limit.toString()}`, signal), "audit page");
356
+ const events = value["events"];
357
+ if (!Array.isArray(events) || events.length > 500) {
358
+ throw new MobiusProtocolError("The Platform returned an invalid audit page");
359
+ }
360
+ return Object.freeze(events.map((event) => new MobiusPlatformAuditEvent(record(event, "audit event"))));
361
+ };
362
+ listApps = async (tenantId, signal) => {
363
+ const value = record(await this.#executor.get(`v1/platform/tenants/${encodeURIComponent(requestedIdentifier(tenantId, "Tenant identifier"))}/apps`, signal), "App list");
364
+ const apps = value["apps"];
365
+ if (!Array.isArray(apps) || apps.length > 1_000) {
366
+ throw new MobiusProtocolError("The Platform returned an invalid App list");
367
+ }
368
+ return Object.freeze(apps.map((app) => new MobiusPlatformApp(record(app, "App"))));
369
+ };
370
+ createApp = async (tenantId, displayName, signal) => new MobiusCreatedPlatformApp(record(await this.#executor.post("v1/apps", {
371
+ displayName: requestedDisplayName(displayName),
372
+ tenantId: requestedIdentifier(tenantId, "Tenant identifier"),
373
+ }, signal), "App"));
374
+ updateApp = async (appId, displayName, signal) => new MobiusPlatformApp(record(await this.#executor.put(`v1/apps/${encodeURIComponent(requestedIdentifier(appId, "App identifier"))}`, { displayName: requestedDisplayName(displayName) }, signal), "App"));
375
+ deleteApp = async (appId, signal) => new MobiusPlatformApp(record(await this.#executor.delete(`v1/apps/${encodeURIComponent(requestedIdentifier(appId, "App identifier"))}`, signal), "App"));
376
+ listProjects = async (appId, signal) => {
377
+ const value = record(await this.#executor.get(`v1/apps/${encodeURIComponent(requestedIdentifier(appId, "App identifier"))}/projects`, signal), "Project list");
378
+ const projects = value["projects"];
379
+ if (!Array.isArray(projects) || projects.length > 10_000) {
380
+ throw new MobiusProtocolError("The Platform returned an invalid Project list");
381
+ }
382
+ return Object.freeze(projects.map((project) => new MobiusPlatformProject(record(project, "Project"))));
383
+ };
384
+ createProject = async (appId, request, signal) => new MobiusPlatformProject(record(await this.#executor.post(`v1/apps/${encodeURIComponent(requestedIdentifier(appId, "App identifier"))}/projects`, {
385
+ clientReference: requestedIdentifier(request.clientReference, "Project client reference"),
386
+ displayName: requestedDisplayName(request.displayName),
387
+ idempotencyKey: requestedIdentifier(request.idempotencyKey, "Project idempotency key"),
388
+ locationHint: requestedIdentifier(request.locationHint, "Location hint"),
389
+ }, signal), "Project"));
390
+ issueAppCredential = async (appId, request, signal) => new MobiusPlatformAppCredential(record(await this.#executor.post(`v1/apps/${encodeURIComponent(requestedIdentifier(appId, "App identifier"))}/credentials`, {
391
+ permissions: requestedPermissions(request.permissions),
392
+ projectIds: Object.freeze(request.projectIds.map((projectId) => requestedIdentifier(projectId, "Project identifier"))),
393
+ }, signal), "AppCredential"));
394
+ listAppCredentials = async (appId, signal) => {
395
+ const value = record(await this.#executor.get(`v1/apps/${encodeURIComponent(requestedIdentifier(appId, "App identifier"))}/credentials`, signal), "AppCredential list");
396
+ const credentials = value["credentials"];
397
+ if (!Array.isArray(credentials) || credentials.length > 10_000) {
398
+ throw new MobiusProtocolError("The Platform returned an invalid AppCredential list");
399
+ }
400
+ return Object.freeze(credentials.map((credential) => new MobiusPlatformAppCredentialMetadata(record(credential, "AppCredential"))));
401
+ };
402
+ rotateAppCredential = async (credentialId, overlapSeconds, signal) => {
403
+ if (!Number.isSafeInteger(overlapSeconds) || overlapSeconds < 0 || overlapSeconds > 3_600) {
404
+ throw new MobiusValidationError("The AppCredential overlap is invalid");
405
+ }
406
+ return new MobiusRotatedPlatformAppCredential(record(await this.#executor.post(`v1/platform/app-credentials/${encodeURIComponent(requestedIdentifier(credentialId, "AppCredential identifier"))}/rotate`, {
407
+ overlapSeconds,
408
+ }, signal), "rotated AppCredential"));
409
+ };
410
+ revokeAppCredential = async (credentialId, signal) => new MobiusCredentialRevocation(record(await this.#executor.post(`v1/platform/app-credentials/${encodeURIComponent(requestedIdentifier(credentialId, "AppCredential identifier"))}/revoke`, {}, signal), "AppCredential revocation"));
411
+ }
412
+ export class MobiusPlatformAppClient {
413
+ #executor;
414
+ constructor(options) {
415
+ if (options.authenticationProviderId !== undefined) {
416
+ throw new MobiusValidationError("AppCredential requests cannot select a developer authentication provider");
417
+ }
418
+ this.#executor = new MobiusRequestExecutor(options);
419
+ }
420
+ createProject = async (appId, request, signal) => new MobiusPlatformProject(record(await this.#executor.post(`v1/apps/${encodeURIComponent(requestedIdentifier(appId, "App identifier"))}/projects`, {
421
+ clientReference: requestedIdentifier(request.clientReference, "Project client reference"),
422
+ displayName: requestedDisplayName(request.displayName),
423
+ idempotencyKey: requestedIdentifier(request.idempotencyKey, "Project idempotency key"),
424
+ locationHint: requestedIdentifier(request.locationHint, "Location hint"),
425
+ }, signal), "Project"));
426
+ issueConversationAccessCredential = async (conversationId, request, signal) => new MobiusConversationAccessCredential(record(await this.#executor.post(`v1/conversations/${encodeURIComponent(requestedIdentifier(conversationId, "Conversation identifier"))}/access-credentials`, {
427
+ actorRef: request.actorRef,
428
+ expiresInSeconds: requestedLifetime(request.expiresInSeconds, 3_600, "ConversationAccessCredential"),
429
+ permissions: requestedPermissions(request.permissions),
430
+ }, signal), "ConversationAccessCredential"));
431
+ rotateConversationAccessCredential = async (credentialId, expiresInSeconds, signal) => new MobiusRotatedConversationAccessCredential(record(await this.#executor.post(`v1/conversation-access-credentials/${encodeURIComponent(requestedIdentifier(credentialId, "ConversationAccessCredential identifier"))}/rotate`, { expiresInSeconds: requestedLifetime(expiresInSeconds, 3_600, "ConversationAccessCredential") }, signal), "rotated ConversationAccessCredential"));
432
+ revokeConversationAccessCredential = async (credentialId, signal) => new MobiusCredentialRevocation(record(await this.#executor.post(`v1/conversation-access-credentials/${encodeURIComponent(requestedIdentifier(credentialId, "ConversationAccessCredential identifier"))}/revoke`, {}, signal), "ConversationAccessCredential revocation"));
433
+ }
434
+ //# sourceMappingURL=platform.js.map