@arbidocs/client 0.3.183 → 0.3.185

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.
package/dist/index.d.cts CHANGED
@@ -7747,6 +7747,8 @@ interface components {
7747
7747
  previous_response_id?: string | null;
7748
7748
  /** Model */
7749
7749
  model?: string | null;
7750
+ /** Active Artifact Ext Id */
7751
+ active_artifact_ext_id?: string | null;
7750
7752
  /**
7751
7753
  * Stream
7752
7754
  * @default false
@@ -17351,7 +17353,7 @@ declare function base64Decode(base64: string): Uint8Array;
17351
17353
  * @param deploymentDomain - Deployment domain for salt derivation
17352
17354
  * @returns Object with Ed25519 signing keypair and derived X25519 encryption keypair
17353
17355
  */
17354
- declare function generateKeyPairs(username: string, password: string, deploymentDomain: string): Promise<{
17356
+ type DerivedKeyPairs = {
17355
17357
  signing: {
17356
17358
  publicKey: Uint8Array;
17357
17359
  privateKey: Uint8Array;
@@ -17362,7 +17364,15 @@ declare function generateKeyPairs(username: string, password: string, deployment
17362
17364
  privateKey: Uint8Array;
17363
17365
  publicKeyBase64: string;
17364
17366
  };
17365
- }>;
17367
+ };
17368
+ /**
17369
+ * Start deriving the keypairs for these credentials in the background (best
17370
+ * effort — failures are swallowed; the real call will just derive again).
17371
+ * A later `generateKeyPairs` with the same arguments awaits this instead of
17372
+ * paying for Argon2 again.
17373
+ */
17374
+ declare function prewarmKeyPairs(username: string, password: string, deploymentDomain: string): void;
17375
+ declare function generateKeyPairs(username: string, password: string, deploymentDomain: string): Promise<DerivedKeyPairs>;
17366
17376
  /**
17367
17377
  * Sign a message with Ed25519 private key
17368
17378
  *
@@ -17946,4 +17956,4 @@ declare function isMessageType<T extends WebSocketServerMessage>(msg: WebSocketS
17946
17956
  */
17947
17957
  declare function createReloginHandler(deps: ReloginDeps): () => Promise<string | null>;
17948
17958
 
17949
- export { type $defs, API_PREFIX, type ArbiClient, type ArbiClientOptions, type AuthStateProvider, type AutoReloginMiddlewareConfig, type BearerAuthMiddlewareConfig, type ChangePasswordParams, type ChangePasswordRequest, type ChangePasswordResult, type CryptoProvider, type KeyPair, type LoginCredentials, type LoginParams, type LoginProvider, type LoginRequest, type LoginResult, type LoginWithKeyParams, type OnReloginSuccess, type PasswordChangeCredentials, type RegisterParams, type RegisterRequest, type RegisterResult, type RegistrationCredentials, type ReloginDeps, type ReloginHandler, type SessionData, type SessionKeys, type SessionManager, type SessionState, type SessionStorageProvider, type SsoTokenProvider, type TokenProvider, type UserKeypairs, type WebSocketClientMessage, type WebSocketServerMessage, type WorkspaceKeyRefreshProvider, type WorkspaceOpenProvider, type WsAuthMessage, type WsAuthResultMessage, type WsBatchCompleteMessage, type WsConnectionClosedMessage, type WsErrorMessage, type WsNotificationResponse, type WsPresenceUpdateMessage, type WsResponseCompleteMessage, type WsTaskUpdateMessage, base64Decode, base64Encode, base64ToBytes, buildWebSocketUrl, bytesToBase64, clearAllData, clearSession, type components, computeSharedSecret, createArbiClient, createAuthMessage, createAutoReloginMiddleware, createBearerAuthMiddleware, createContentHash, createReloginHandler, createSessionManager, decryptFile, decryptMessage, decryptMessageWithSharedSecret, deriveEncryptionKeypairFromSigning, derivePublicKey, encryptFile, encryptMessage, encryptMessageWithSharedSecret, generateKeyPairs, generateLoginCredentials, generateLoginCredentialsFromKey, generatePasswordChangeCredentials, generateRandomSigningKeypair, generateRecoveryPasswordChangeCredentials, generateRegistrationCredentials, generateUserKeypairs, getSession, getUserEncryptionKeypair, hasSession, initSodium, initializeDatabase, isMessageType, type operations, parseServerMessage, type paths, saveSession, sealKeyForSession, sealedBoxDecrypt, sealedBoxEncrypt, signMessage, updateSigningPrivateKey, type webhooks };
17959
+ export { type $defs, API_PREFIX, type ArbiClient, type ArbiClientOptions, type AuthStateProvider, type AutoReloginMiddlewareConfig, type BearerAuthMiddlewareConfig, type ChangePasswordParams, type ChangePasswordRequest, type ChangePasswordResult, type CryptoProvider, type KeyPair, type LoginCredentials, type LoginParams, type LoginProvider, type LoginRequest, type LoginResult, type LoginWithKeyParams, type OnReloginSuccess, type PasswordChangeCredentials, type RegisterParams, type RegisterRequest, type RegisterResult, type RegistrationCredentials, type ReloginDeps, type ReloginHandler, type SessionData, type SessionKeys, type SessionManager, type SessionState, type SessionStorageProvider, type SsoTokenProvider, type TokenProvider, type UserKeypairs, type WebSocketClientMessage, type WebSocketServerMessage, type WorkspaceKeyRefreshProvider, type WorkspaceOpenProvider, type WsAuthMessage, type WsAuthResultMessage, type WsBatchCompleteMessage, type WsConnectionClosedMessage, type WsErrorMessage, type WsNotificationResponse, type WsPresenceUpdateMessage, type WsResponseCompleteMessage, type WsTaskUpdateMessage, base64Decode, base64Encode, base64ToBytes, buildWebSocketUrl, bytesToBase64, clearAllData, clearSession, type components, computeSharedSecret, createArbiClient, createAuthMessage, createAutoReloginMiddleware, createBearerAuthMiddleware, createContentHash, createReloginHandler, createSessionManager, decryptFile, decryptMessage, decryptMessageWithSharedSecret, deriveEncryptionKeypairFromSigning, derivePublicKey, encryptFile, encryptMessage, encryptMessageWithSharedSecret, generateKeyPairs, generateLoginCredentials, generateLoginCredentialsFromKey, generatePasswordChangeCredentials, generateRandomSigningKeypair, generateRecoveryPasswordChangeCredentials, generateRegistrationCredentials, generateUserKeypairs, getSession, getUserEncryptionKeypair, hasSession, initSodium, initializeDatabase, isMessageType, type operations, parseServerMessage, type paths, prewarmKeyPairs, saveSession, sealKeyForSession, sealedBoxDecrypt, sealedBoxEncrypt, signMessage, updateSigningPrivateKey, type webhooks };
package/dist/index.d.ts CHANGED
@@ -7747,6 +7747,8 @@ interface components {
7747
7747
  previous_response_id?: string | null;
7748
7748
  /** Model */
7749
7749
  model?: string | null;
7750
+ /** Active Artifact Ext Id */
7751
+ active_artifact_ext_id?: string | null;
7750
7752
  /**
7751
7753
  * Stream
7752
7754
  * @default false
@@ -17351,7 +17353,7 @@ declare function base64Decode(base64: string): Uint8Array;
17351
17353
  * @param deploymentDomain - Deployment domain for salt derivation
17352
17354
  * @returns Object with Ed25519 signing keypair and derived X25519 encryption keypair
17353
17355
  */
17354
- declare function generateKeyPairs(username: string, password: string, deploymentDomain: string): Promise<{
17356
+ type DerivedKeyPairs = {
17355
17357
  signing: {
17356
17358
  publicKey: Uint8Array;
17357
17359
  privateKey: Uint8Array;
@@ -17362,7 +17364,15 @@ declare function generateKeyPairs(username: string, password: string, deployment
17362
17364
  privateKey: Uint8Array;
17363
17365
  publicKeyBase64: string;
17364
17366
  };
17365
- }>;
17367
+ };
17368
+ /**
17369
+ * Start deriving the keypairs for these credentials in the background (best
17370
+ * effort — failures are swallowed; the real call will just derive again).
17371
+ * A later `generateKeyPairs` with the same arguments awaits this instead of
17372
+ * paying for Argon2 again.
17373
+ */
17374
+ declare function prewarmKeyPairs(username: string, password: string, deploymentDomain: string): void;
17375
+ declare function generateKeyPairs(username: string, password: string, deploymentDomain: string): Promise<DerivedKeyPairs>;
17366
17376
  /**
17367
17377
  * Sign a message with Ed25519 private key
17368
17378
  *
@@ -17946,4 +17956,4 @@ declare function isMessageType<T extends WebSocketServerMessage>(msg: WebSocketS
17946
17956
  */
17947
17957
  declare function createReloginHandler(deps: ReloginDeps): () => Promise<string | null>;
17948
17958
 
17949
- export { type $defs, API_PREFIX, type ArbiClient, type ArbiClientOptions, type AuthStateProvider, type AutoReloginMiddlewareConfig, type BearerAuthMiddlewareConfig, type ChangePasswordParams, type ChangePasswordRequest, type ChangePasswordResult, type CryptoProvider, type KeyPair, type LoginCredentials, type LoginParams, type LoginProvider, type LoginRequest, type LoginResult, type LoginWithKeyParams, type OnReloginSuccess, type PasswordChangeCredentials, type RegisterParams, type RegisterRequest, type RegisterResult, type RegistrationCredentials, type ReloginDeps, type ReloginHandler, type SessionData, type SessionKeys, type SessionManager, type SessionState, type SessionStorageProvider, type SsoTokenProvider, type TokenProvider, type UserKeypairs, type WebSocketClientMessage, type WebSocketServerMessage, type WorkspaceKeyRefreshProvider, type WorkspaceOpenProvider, type WsAuthMessage, type WsAuthResultMessage, type WsBatchCompleteMessage, type WsConnectionClosedMessage, type WsErrorMessage, type WsNotificationResponse, type WsPresenceUpdateMessage, type WsResponseCompleteMessage, type WsTaskUpdateMessage, base64Decode, base64Encode, base64ToBytes, buildWebSocketUrl, bytesToBase64, clearAllData, clearSession, type components, computeSharedSecret, createArbiClient, createAuthMessage, createAutoReloginMiddleware, createBearerAuthMiddleware, createContentHash, createReloginHandler, createSessionManager, decryptFile, decryptMessage, decryptMessageWithSharedSecret, deriveEncryptionKeypairFromSigning, derivePublicKey, encryptFile, encryptMessage, encryptMessageWithSharedSecret, generateKeyPairs, generateLoginCredentials, generateLoginCredentialsFromKey, generatePasswordChangeCredentials, generateRandomSigningKeypair, generateRecoveryPasswordChangeCredentials, generateRegistrationCredentials, generateUserKeypairs, getSession, getUserEncryptionKeypair, hasSession, initSodium, initializeDatabase, isMessageType, type operations, parseServerMessage, type paths, saveSession, sealKeyForSession, sealedBoxDecrypt, sealedBoxEncrypt, signMessage, updateSigningPrivateKey, type webhooks };
17959
+ export { type $defs, API_PREFIX, type ArbiClient, type ArbiClientOptions, type AuthStateProvider, type AutoReloginMiddlewareConfig, type BearerAuthMiddlewareConfig, type ChangePasswordParams, type ChangePasswordRequest, type ChangePasswordResult, type CryptoProvider, type KeyPair, type LoginCredentials, type LoginParams, type LoginProvider, type LoginRequest, type LoginResult, type LoginWithKeyParams, type OnReloginSuccess, type PasswordChangeCredentials, type RegisterParams, type RegisterRequest, type RegisterResult, type RegistrationCredentials, type ReloginDeps, type ReloginHandler, type SessionData, type SessionKeys, type SessionManager, type SessionState, type SessionStorageProvider, type SsoTokenProvider, type TokenProvider, type UserKeypairs, type WebSocketClientMessage, type WebSocketServerMessage, type WorkspaceKeyRefreshProvider, type WorkspaceOpenProvider, type WsAuthMessage, type WsAuthResultMessage, type WsBatchCompleteMessage, type WsConnectionClosedMessage, type WsErrorMessage, type WsNotificationResponse, type WsPresenceUpdateMessage, type WsResponseCompleteMessage, type WsTaskUpdateMessage, base64Decode, base64Encode, base64ToBytes, buildWebSocketUrl, bytesToBase64, clearAllData, clearSession, type components, computeSharedSecret, createArbiClient, createAuthMessage, createAutoReloginMiddleware, createBearerAuthMiddleware, createContentHash, createReloginHandler, createSessionManager, decryptFile, decryptMessage, decryptMessageWithSharedSecret, deriveEncryptionKeypairFromSigning, derivePublicKey, encryptFile, encryptMessage, encryptMessageWithSharedSecret, generateKeyPairs, generateLoginCredentials, generateLoginCredentialsFromKey, generatePasswordChangeCredentials, generateRandomSigningKeypair, generateRecoveryPasswordChangeCredentials, generateRegistrationCredentials, generateUserKeypairs, getSession, getUserEncryptionKeypair, hasSession, initSodium, initializeDatabase, isMessageType, type operations, parseServerMessage, type paths, prewarmKeyPairs, saveSession, sealKeyForSession, sealedBoxDecrypt, sealedBoxEncrypt, signMessage, updateSigningPrivateKey, type webhooks };
package/dist/index.js CHANGED
@@ -113,7 +113,38 @@ function generateSalt(username, deploymentDomain) {
113
113
  const hash = sodium.crypto_hash_sha256(sodium.from_string(saltString));
114
114
  return hash.slice(0, 16);
115
115
  }
116
+ var PREWARM_TTL_MS = 6e4;
117
+ var prewarmed = null;
118
+ function prewarmId(username, password, deploymentDomain) {
119
+ return `${username}\0${deploymentDomain}\0${password}`;
120
+ }
121
+ function dropPrewarmed() {
122
+ if (prewarmed) clearTimeout(prewarmed.timer);
123
+ prewarmed = null;
124
+ }
125
+ function prewarmKeyPairs(username, password, deploymentDomain) {
126
+ if (!username || !password || !deploymentDomain) return;
127
+ const id = prewarmId(username, password, deploymentDomain);
128
+ if (prewarmed?.id === id) return;
129
+ dropPrewarmed();
130
+ const promise = deriveKeyPairs(username, password, deploymentDomain);
131
+ promise.catch(() => {
132
+ if (prewarmed?.promise === promise) dropPrewarmed();
133
+ });
134
+ prewarmed = { id, promise, timer: setTimeout(dropPrewarmed, PREWARM_TTL_MS) };
135
+ }
116
136
  async function generateKeyPairs(username, password, deploymentDomain) {
137
+ if (prewarmed && prewarmed.id === prewarmId(username, password, deploymentDomain)) {
138
+ const { promise } = prewarmed;
139
+ dropPrewarmed();
140
+ try {
141
+ return await promise;
142
+ } catch {
143
+ }
144
+ }
145
+ return deriveKeyPairs(username, password, deploymentDomain);
146
+ }
147
+ async function deriveKeyPairs(username, password, deploymentDomain) {
117
148
  await initSodium();
118
149
  if (!deploymentDomain) {
119
150
  throw new Error("Deployment domain not available. Cannot generate keys.");
@@ -1125,6 +1156,6 @@ function isMessageType(msg, type) {
1125
1156
  return msg.type === type;
1126
1157
  }
1127
1158
 
1128
- export { API_PREFIX, base64Decode, base64Encode, base64ToBytes, buildWebSocketUrl, bytesToBase64, clearAllData, clearSession, computeSharedSecret, createArbiClient, createAuthMessage, createAutoReloginMiddleware, createBearerAuthMiddleware, createContentHash, createReloginHandler, createSessionManager, decryptFile, decryptMessage, decryptMessageWithSharedSecret, deriveEncryptionKeypairFromSigning, derivePublicKey, encryptFile, encryptMessage, encryptMessageWithSharedSecret, generateKeyPairs, generateLoginCredentials, generateLoginCredentialsFromKey, generatePasswordChangeCredentials, generateRandomSigningKeypair, generateRecoveryPasswordChangeCredentials, generateRegistrationCredentials, generateUserKeypairs, getSession, getUserEncryptionKeypair, hasSession, initSodium, initializeDatabase, isMessageType, parseServerMessage, saveSession, sealKeyForSession, sealedBoxDecrypt, sealedBoxEncrypt, signMessage, updateSigningPrivateKey };
1159
+ export { API_PREFIX, base64Decode, base64Encode, base64ToBytes, buildWebSocketUrl, bytesToBase64, clearAllData, clearSession, computeSharedSecret, createArbiClient, createAuthMessage, createAutoReloginMiddleware, createBearerAuthMiddleware, createContentHash, createReloginHandler, createSessionManager, decryptFile, decryptMessage, decryptMessageWithSharedSecret, deriveEncryptionKeypairFromSigning, derivePublicKey, encryptFile, encryptMessage, encryptMessageWithSharedSecret, generateKeyPairs, generateLoginCredentials, generateLoginCredentialsFromKey, generatePasswordChangeCredentials, generateRandomSigningKeypair, generateRecoveryPasswordChangeCredentials, generateRegistrationCredentials, generateUserKeypairs, getSession, getUserEncryptionKeypair, hasSession, initSodium, initializeDatabase, isMessageType, parseServerMessage, prewarmKeyPairs, saveSession, sealKeyForSession, sealedBoxDecrypt, sealedBoxEncrypt, signMessage, updateSigningPrivateKey };
1129
1160
  //# sourceMappingURL=index.js.map
1130
1161
  //# sourceMappingURL=index.js.map