openmates 0.29.0-alpha.7 → 0.29.0-alpha.9

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/CHANGELOG.md ADDED
@@ -0,0 +1,25 @@
1
+ # Changelog — `openmates` npm package (CLI and SDK)
2
+
3
+ Only SDK-relevant compatibility notes are recorded here. Release versions follow
4
+ the product line (`0.29.x` alpha prereleases from `dev`, stable from `main`).
5
+
6
+ ## 0.29.x
7
+
8
+ ### Deprecated
9
+
10
+ - **Implicit CLI login in the root `OpenMatesClient`.** Constructing
11
+ `OpenMatesClient` (or calling `OpenMatesClient.load()`) from the root
12
+ `openmates` export without a `session` still loads the stored CLI login, but now
13
+ emits one `DeprecationWarning` per process with code `OPENMATES_SDK_CLI_SESSION`.
14
+ SDK credentials must be explicit. Migrate by passing `session` explicitly,
15
+ setting `loadStoredSession: false`, or using `SessionClient` from
16
+ `openmates/sdk/v1` (`loginPassword()` / `importSession()`).
17
+ A future minor release (planned 0.30.0) will require explicit credentials for
18
+ the root export; the `openmates` command line is unaffected.
19
+
20
+ ### Added
21
+
22
+ - `openmates/sdk` and `openmates/sdk/v1` entrypoints backed by the shared Rust
23
+ core. Privacy helpers, task ordering and embed-version reconstruction use the
24
+ portable WebAssembly build; `SessionClient` uses the Node-API build for now.
25
+ A missing artifact raises `native_binding_unavailable` (no fallback).
package/README.md CHANGED
@@ -375,6 +375,16 @@ Use `chats.send()` for anonymous AI chat with automatic routing; `apps.ai.ask()`
375
375
  requires an account. With an API key, use `saveToAccount: true` when you want the
376
376
  chat saved to the OpenMates account.
377
377
 
378
+ ### Deprecated: implicit CLI login in the root `OpenMatesClient`
379
+
380
+ `new OpenMatesClient()` / `OpenMatesClient.load()` from the root `openmates`
381
+ export still load the stored CLI login when no `session` is passed, but this is
382
+ deprecated: SDK credentials must be explicit. It emits one `DeprecationWarning`
383
+ with code `OPENMATES_SDK_CLI_SESSION` per process. Pass `session` explicitly,
384
+ set `loadStoredSession: false`, or use `SessionClient` from `openmates/sdk/v1`.
385
+ A later minor release will require explicit credentials (see `CHANGELOG.md`).
386
+ The `openmates` command line is unaffected.
387
+
378
388
  ### Native session SDK (preview)
379
389
 
380
390
  `openmates/sdk/v1` exports `SessionClient`, `RustApiKeyClient` and related
@@ -384,8 +394,11 @@ launches the CLI and never reads CLI login state. Credentials are explicit:
384
394
  log in with `loginPassword()` or import a caller-owned session. If the native
385
395
  module for your platform is missing or incompatible, construction throws
386
396
  `SessionClientError` with code `native_binding_unavailable` (no TypeScript
387
- fallback). Prebuilt artifacts are not yet published; from a source checkout run
388
- `npm run build:sdk:native`.
397
+ fallback). The SDK is moving to one portable WebAssembly build of the core
398
+ (`wasm/openmates_sdk_bg.wasm`, for Node, Deno, Bun, edge and browsers): privacy
399
+ helpers, task ordering and embed-version reconstruction already use it. Prebuilt
400
+ artifacts are not yet published; from a source checkout run
401
+ `npm run build:sdk:wasm` and `npm run build:sdk:native`.
389
402
 
390
403
  ## Versioning
391
404
 
@@ -1,24 +1,17 @@
1
+ import {
2
+ loadSdkWasm
3
+ } from "./chunk-QVCMMBD4.js";
1
4
  import {
2
5
  SessionClientError
3
6
  } from "./chunk-6AR2CP7K.js";
4
7
 
5
8
  // src/sdkTaskOrder.ts
6
- import { createRequire } from "module";
7
9
  function invalid() {
8
10
  throw new SessionClientError("invalid_argument", "Supply task rows and an explicit locale.");
9
11
  }
10
12
  function nativeOrder(encoded) {
11
- const platform = `${process.platform}-${process.arch}`;
12
- if (!(/* @__PURE__ */ new Set(["linux-arm64", "linux-x64", "darwin-arm64", "darwin-x64", "win32-arm64", "win32-x64"])).has(platform)) {
13
- throw new SessionClientError("native_binding_unavailable", "Install a native SDK build for this platform.");
14
- }
15
- let native;
16
- try {
17
- native = createRequire(import.meta.url)(`../native/${platform}.node`);
18
- } catch {
19
- throw new SessionClientError("native_binding_unavailable", "Install a native SDK build for this platform.");
20
- }
21
- if (typeof native.taskOrder !== "function") throw new SessionClientError("native_binding_unavailable", "Install a native SDK build containing task ordering.");
13
+ const native = loadSdkWasm();
14
+ if (!native) throw new SessionClientError("native_binding_unavailable", "Install an OpenMates SDK build containing its WebAssembly module.");
22
15
  return native.taskOrder(encoded);
23
16
  }
24
17
  function sortTasks(tasks, options) {
@@ -68,7 +68,7 @@ import {
68
68
  serializeAssumptionProofInputs,
69
69
  validatePublicChatEncryptionKeyId,
70
70
  writeAccountExportArchive
71
- } from "./chunk-MNOHHJLL.js";
71
+ } from "./chunk-QVCMMBD4.js";
72
72
  import {
73
73
  TASK_STATUSES,
74
74
  base64ToBytes,
@@ -11804,8 +11804,24 @@ function safeArchiveSegment(value) {
11804
11804
  return cleaned || "unknown";
11805
11805
  }
11806
11806
 
11807
- // src/sdkEmbedVersion.ts
11807
+ // src/sdkWasm.ts
11808
11808
  import { createRequire } from "module";
11809
+ import { readFileSync } from "fs";
11810
+ var loaded = null;
11811
+ function loadSdkWasm() {
11812
+ if (loaded) return loaded;
11813
+ try {
11814
+ const glue = createRequire(import.meta.url)("../wasm/openmates_sdk.js");
11815
+ glue.initSync({ module: readFileSync(new URL("../wasm/openmates_sdk_bg.wasm", import.meta.url)) });
11816
+ if ([glue.privacy, glue.taskOrder, glue.reconstructEmbedVersion].some((fn) => typeof fn !== "function")) return null;
11817
+ loaded = glue;
11818
+ } catch {
11819
+ return null;
11820
+ }
11821
+ return loaded;
11822
+ }
11823
+
11824
+ // src/sdkEmbedVersion.ts
11809
11825
  function reconstructEmbedVersionLocal(rows, key) {
11810
11826
  let encoded;
11811
11827
  try {
@@ -11815,13 +11831,8 @@ function reconstructEmbedVersionLocal(rows, key) {
11815
11831
  } catch {
11816
11832
  throw new SessionClientError("invalid_argument", "Invalid typed version reconstruction input.");
11817
11833
  }
11818
- let native;
11819
- try {
11820
- native = createRequire(import.meta.url)(`../native/${process.platform}-${process.arch}.node`);
11821
- } catch {
11822
- throw new SessionClientError("native_binding_unavailable", "Install a native SDK build containing version reconstruction.");
11823
- }
11824
- if (typeof native.reconstructEmbedVersion !== "function") throw new SessionClientError("native_binding_unavailable", "Install a native SDK build containing version reconstruction.");
11834
+ const native = loadSdkWasm();
11835
+ if (!native) throw new SessionClientError("native_binding_unavailable", "Install an OpenMates SDK build containing its WebAssembly module.");
11825
11836
  try {
11826
11837
  const content = native.reconstructEmbedVersion(encoded);
11827
11838
  if (typeof content !== "string" || Buffer.byteLength(content, "utf8") > 16 * 1024 * 1024) throw Error();
@@ -12042,7 +12053,7 @@ async function createAccountChatIdentity(masterKey) {
12042
12053
  }
12043
12054
 
12044
12055
  // src/sdk.ts
12045
- import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
12056
+ import { chmodSync, existsSync, mkdirSync, readFileSync as readFileSync2, writeFileSync } from "fs";
12046
12057
  import { homedir } from "os";
12047
12058
  import { dirname as dirname2, join } from "path";
12048
12059
 
@@ -13114,7 +13125,7 @@ var OpenMates = class {
13114
13125
  function loadOrCreateDeviceId(customPath) {
13115
13126
  const path = customPath ?? join(homedir(), ".openmates", "sdk-device-id");
13116
13127
  if (existsSync(path)) {
13117
- const stored = readFileSync(path, "utf8").trim();
13128
+ const stored = readFileSync2(path, "utf8").trim();
13118
13129
  if (stored) return stored;
13119
13130
  }
13120
13131
  const deviceId = randomUUID3();
@@ -13222,6 +13233,12 @@ async function buildProjectCreatePayload(wrappingKey, input, teamId = null) {
13222
13233
  if (!name) throw new OpenMatesConfigError("Project name is required");
13223
13234
  const projectKey = randomBytes3(32);
13224
13235
  const timestamp = Math.floor(Date.now() / 1e3);
13236
+ const defaultFocus = {
13237
+ focus_id: randomUUID3(),
13238
+ name: `Work on ${name}`,
13239
+ instructions: `Help with work in ${name}. Follow the user's instructions and the Project's connected source guidance.`,
13240
+ source: "generated"
13241
+ };
13225
13242
  const slugMetadata = await buildEncryptedObjectSlugMetadata({
13226
13243
  value: input.slug ?? name,
13227
13244
  encryptionKey: projectKey,
@@ -13241,6 +13258,11 @@ async function buildProjectCreatePayload(wrappingKey, input, teamId = null) {
13241
13258
  created_at: timestamp,
13242
13259
  updated_at: timestamp,
13243
13260
  last_opened_at: timestamp,
13261
+ // Existing SDK create inputs have no write-policy option. Require approval
13262
+ // for file changes while preserving the established public call shape.
13263
+ write_mode: "always_ask",
13264
+ default_focus_id: defaultFocus.focus_id,
13265
+ encrypted_settings: await encryptWithAesGcmCombined2(JSON.stringify({ default_focus: defaultFocus }), projectKey),
13244
13266
  key_wrappers: teamId ? [{
13245
13267
  key_type: "team",
13246
13268
  hashed_team_id: createHash4("sha256").update(teamId).digest("hex"),
@@ -13731,8 +13753,8 @@ var OpenMatesChats = class {
13731
13753
  }
13732
13754
  async addToProject(chatId, projectId, options = {}) {
13733
13755
  const { record, projectKey } = await resolveSdkProject(this.client, projectId);
13734
- const loaded = await this.load(chatId);
13735
- const chat = loaded.chat;
13756
+ const loaded2 = await this.load(chatId);
13757
+ const chat = loaded2.chat;
13736
13758
  const targetId = String(chat?.id ?? chatId);
13737
13759
  const displayName = typeof chat?.title === "string" ? chat.title : targetId;
13738
13760
  return createSdkProjectItem(this.client, record.project_id, projectKey, {
@@ -13745,18 +13767,18 @@ var OpenMatesChats = class {
13745
13767
  }
13746
13768
  async removeFromProject(chatId, projectId) {
13747
13769
  const resolvedProjectId = await resolveSdkProjectId(this.client, projectId);
13748
- const loaded = await this.load(chatId);
13749
- const chat = loaded.chat;
13770
+ const loaded2 = await this.load(chatId);
13771
+ const chat = loaded2.chat;
13750
13772
  return deleteSdkProjectItemByTarget(this.client, resolvedProjectId, "chat", String(chat?.id ?? chatId));
13751
13773
  }
13752
13774
  async messages(options) {
13753
13775
  if (options.all === true) {
13754
- const loaded2 = await this.load(options.chatId);
13755
- const chat2 = loaded2.chat;
13776
+ const loaded3 = await this.load(options.chatId);
13777
+ const chat2 = loaded3.chat;
13756
13778
  if (!chat2) {
13757
13779
  throw new OpenMatesConfigError("Saved chat payload did not include chat metadata");
13758
13780
  }
13759
- const messages = normalizeLoadedChatMessages(loaded2);
13781
+ const messages = normalizeLoadedChatMessages(loaded3);
13760
13782
  return {
13761
13783
  chat: chat2,
13762
13784
  messages,
@@ -13789,20 +13811,20 @@ var OpenMatesChats = class {
13789
13811
  const resolvedChatId = await resolveSdkChatId(this.client, options.chatId);
13790
13812
  payload = await this.client.get(messageWindowPath(resolvedChatId));
13791
13813
  }
13792
- const loaded = await this.client.decryptLoadedChatPayload(payload);
13793
- const chat = loaded.chat;
13814
+ const loaded2 = await this.client.decryptLoadedChatPayload(payload);
13815
+ const chat = loaded2.chat;
13794
13816
  if (!chat) {
13795
13817
  throw new OpenMatesConfigError("Saved chat payload did not include chat metadata");
13796
13818
  }
13797
13819
  return {
13798
13820
  chat,
13799
- messages: normalizeLoadedChatMessages(loaded),
13800
- hasMoreBefore: loaded.has_more_before === true,
13801
- hasMoreAfter: loaded.has_more_after === true,
13802
- startCursor: loaded.start_cursor ?? null,
13803
- endCursor: loaded.end_cursor ?? null,
13804
- anchorFound: loaded.anchor_found !== false,
13805
- serverMessageCount: typeof loaded.server_message_count === "number" ? loaded.server_message_count : null
13821
+ messages: normalizeLoadedChatMessages(loaded2),
13822
+ hasMoreBefore: loaded2.has_more_before === true,
13823
+ hasMoreAfter: loaded2.has_more_after === true,
13824
+ startCursor: loaded2.start_cursor ?? null,
13825
+ endCursor: loaded2.end_cursor ?? null,
13826
+ anchorFound: loaded2.anchor_found !== false,
13827
+ serverMessageCount: typeof loaded2.server_message_count === "number" ? loaded2.server_message_count : null
13806
13828
  };
13807
13829
  }
13808
13830
  async *messagePages(options) {
@@ -13825,8 +13847,8 @@ var OpenMatesChats = class {
13825
13847
  }
13826
13848
  }
13827
13849
  async fork(options) {
13828
- const { loaded, chat } = await this.loadPersonalEncryptedChat(options.chatId);
13829
- const messages = normalizeLoadedChatMessages(loaded);
13850
+ const { loaded: loaded2, chat } = await this.loadPersonalEncryptedChat(options.chatId);
13851
+ const messages = normalizeLoadedChatMessages(loaded2);
13830
13852
  const boundaryIndex = findMessageBoundaryIndex(messages, options.fromMessageId);
13831
13853
  const sourceSlice = messages.slice(0, boundaryIndex + 1);
13832
13854
  const masterKey = await this.client.masterKey();
@@ -13887,8 +13909,8 @@ var OpenMatesChats = class {
13887
13909
  if (!options.dryRun) {
13888
13910
  requireConfirmed({ confirmed: options.confirmDestructive === true }, "Rewinding a chat");
13889
13911
  }
13890
- const { loaded, chat } = await this.loadPersonalEncryptedChat(options.chatId);
13891
- const messages = normalizeLoadedChatMessages(loaded);
13912
+ const { loaded: loaded2, chat } = await this.loadPersonalEncryptedChat(options.chatId);
13913
+ const messages = normalizeLoadedChatMessages(loaded2);
13892
13914
  findMessageBoundaryIndex(messages, options.toMessageId);
13893
13915
  const rewind = await this.client.request(`/v1/sdk/chats/${encodeURIComponent(chat.id)}/rewind`, {
13894
13916
  protocol_version: 1,
@@ -13907,8 +13929,8 @@ var OpenMatesChats = class {
13907
13929
  if (!options.dryRun) {
13908
13930
  requireConfirmed({ confirmed: options.confirmDestructive === true }, "Retrying a chat");
13909
13931
  }
13910
- const { loaded } = await this.loadPersonalEncryptedChat(options.chatId);
13911
- const messages = normalizeLoadedChatMessages(loaded);
13932
+ const { loaded: loaded2 } = await this.loadPersonalEncryptedChat(options.chatId);
13933
+ const messages = normalizeLoadedChatMessages(loaded2);
13912
13934
  const retryIndex = findRetryableUserMessageIndex(messages);
13913
13935
  if (retryIndex < 0) {
13914
13936
  throw new OpenMatesConfigError("No retryable user message found for this chat");
@@ -13984,9 +14006,9 @@ var OpenMatesChats = class {
13984
14006
  if (teamId) {
13985
14007
  throw new OpenMatesConfigError("Sending to an existing Team chat is not supported yet");
13986
14008
  }
13987
- const loaded = await this.load(chatId);
13988
- const chat = loaded.chat;
13989
- loadedMessages = normalizeLoadedChatMessages(loaded);
14009
+ const loaded2 = await this.load(chatId);
14010
+ const chat = loaded2.chat;
14011
+ loadedMessages = normalizeLoadedChatMessages(loaded2);
13990
14012
  if (!chat?.encrypted_chat_key) {
13991
14013
  throw new OpenMatesConfigError("Saved chat does not include encrypted chat key material");
13992
14014
  }
@@ -14230,8 +14252,8 @@ var OpenMatesChats = class {
14230
14252
  return this.client.delete(`/v1/sdk/chats/${encodeURIComponent(await resolveSdkChatId(this.client, chatId))}`);
14231
14253
  }
14232
14254
  async share(chatId, options = {}) {
14233
- const loaded = await this.load(chatId);
14234
- const chat = loaded.chat;
14255
+ const loaded2 = await this.load(chatId);
14256
+ const chat = loaded2.chat;
14235
14257
  if (!chat?.encrypted_chat_key) {
14236
14258
  throw new OpenMatesConfigError("Chat does not include an encrypted chat key");
14237
14259
  }
@@ -14256,8 +14278,8 @@ var OpenMatesChats = class {
14256
14278
  return this.send(message, { saveToAccount: false });
14257
14279
  }
14258
14280
  async loadPersonalEncryptedChat(chatId) {
14259
- const loaded = await this.load(chatId);
14260
- const chat = loaded.chat;
14281
+ const loaded2 = await this.load(chatId);
14282
+ const chat = loaded2.chat;
14261
14283
  if (!chat) {
14262
14284
  throw new OpenMatesConfigError("Saved chat payload did not include chat metadata");
14263
14285
  }
@@ -14271,7 +14293,7 @@ var OpenMatesChats = class {
14271
14293
  if (!chatKey) {
14272
14294
  throw new OpenMatesConfigError("Unable to decrypt saved chat key material");
14273
14295
  }
14274
- return { loaded, chat, chatKey };
14296
+ return { loaded: loaded2, chat, chatKey };
14275
14297
  }
14276
14298
  };
14277
14299
  function normalizeLoadedChatMessages(payload) {
@@ -16873,6 +16895,7 @@ export {
16873
16895
  planKeyFromRecord,
16874
16896
  rewriteRememberMessageReferences,
16875
16897
  hasRememberMessageReference,
16898
+ loadSdkWasm,
16876
16899
  OpenMatesProjectSourceAuthoringUnavailableError,
16877
16900
  APP_SKILL_METADATA,
16878
16901
  exportDesignIcon,
package/dist/cli.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { O as OpenMatesClient, a as ProjectReadApprovalRequest, b as ProjectWriteApprovalRequest, D as DecryptedRemoteCommandEvent, W as WorkflowRunDetail } from './client-BD6xvV2k.js';
2
+ import { O as OpenMatesClient, a as ProjectReadApprovalRequest, b as ProjectWriteApprovalRequest, D as DecryptedRemoteCommandEvent, W as WorkflowRunDetail } from './client-CCQdkE5S.js';
3
3
  import '@repo/pairing-crypto/direct-chat';
4
4
 
5
5
  /**
package/dist/cli.js CHANGED
@@ -21,11 +21,11 @@ import {
21
21
  shouldRequireTrustedAccountGuard,
22
22
  waitForSafeE2ETotpWindow,
23
23
  waitForWorkflowRun
24
- } from "./chunk-VBI5K4EC.js";
24
+ } from "./chunk-IXAKWPUK.js";
25
25
  import "./chunk-TMYEFC7M.js";
26
26
  import "./chunk-V2QAI5ET.js";
27
27
  import "./chunk-IWKP55ZB.js";
28
- import "./chunk-MNOHHJLL.js";
28
+ import "./chunk-QVCMMBD4.js";
29
29
  import "./chunk-6AR2CP7K.js";
30
30
  import "./chunk-67U3XD2B.js";
31
31
  import "./chunk-QRCAXXAL.js";
@@ -4072,4 +4072,4 @@ interface DocsSearchResult {
4072
4072
  snippet: string;
4073
4073
  }
4074
4074
 
4075
- export { type WorkflowTemplateImportPayload as $, type WorkflowInputStartParams as A, type BuyerAddress as B, type WorkflowInputSessionResult as C, type DecryptedRemoteCommandEvent as D, type ExternalChatContext as E, type WorkflowInputSessionDetail as F, type WorkflowInputEvent as G, type WorkflowGraph as H, type WorkflowRunContentRetention as I, type WorkflowRunOnceOptions as J, type WorkflowRunOptions as K, type WorkflowNode as L, type WorkflowRunCancellationResult as M, type WorkflowTemplateProjectionUpsertParams as N, OpenMatesClient as O, type ProjectItemRecord as P, type WorkflowTemplateProjectionResult as Q, type PublicWorkflowTemplateProjection as R, type WorkflowTemplateProjectionRevocationResult as S, type TaskCreateOptions as T, type UserPlanStatus as U, type WorkflowTemplateBindingCompletionParams as V, type WorkflowRunDetail as W, type WorkflowTemplateBindingCompletionResult as X, type WorkflowTemplateShortUrlParams as Y, type WorkflowTemplateShortUrlResult as Z, type ShortUrlRevokeResult as _, type ProjectReadApprovalRequest as a, type ImportedWorkflowTemplate as a0, type WikipediaLearningBundle as a1, type OpenMatesSession as a2, type AuthMethodsStatus as a3, type AuthoritativeChatReconciliation as a4, type BackupCodesResult as a5, type BankTransferOrderDetails as a6, type BankTransferStatus as a7, type CachedChat as a8, type CachedNewChatSuggestion as a9, type WorkflowNodeType as aA, type WorkflowReturnedOutputReference as aB, type WorkflowRunContentStorage as aC, type WorkflowRunRouting as aD, deriveAppUrl as aE, normalizeInterestTagIds as aF, reconcileAuthoritativeChats as aG, type ChatListPage as aa, type CliSignupResult as ab, type CliTurnMetadata as ac, type DecryptedDraft as ad, type DecryptedEmbed as ae, type DecryptedMemoryEntry as af, type DecryptedMessage as ag, type DecryptedNewChatSuggestion as ah, type DocsFile as ai, type DocsFolder as aj, type DocsSearchResult as ak, type DocsTree as al, type EncryptedDraft as am, type GiftCardBankTransferStatus as an, INTEREST_TAG_IDS as ao, type InterestTagId as ap, MATE_NAMES as aq, MEMORY_TYPE_REGISTRY as ar, type MemoryFieldDef as as, type MemoryTypeDef as at, type OpenMatesClientOptions as au, type SyncCache as av, type TopicPreferencesPayload as aw, type TotpSetupStartResult as ax, type WorkflowEdge as ay, type WorkflowNodeRun as az, type ProjectWriteApprovalRequest as b, type UserPlanRecord as c, type UserPlanVerificationStatus as d, type UserPlanLearningType as e, type UserPlanLearningTargetKind as f, type UserPlanLearningStatus as g, type UserPlanLearningLevel as h, type UserPlanLearningRecord as i, type UserPlanCriterionRecord as j, type UserPlanVerificationRecord as k, type UserPlanCreateInput as l, type UserPlanUpdateInput as m, type TaskUpdateOptions as n, type UserPlanLearningCreateTasksInput as o, type UserPlanLearningCreateTasksResult as p, type UserTaskStatus as q, type TaskPriorityLevel as r, type DecryptedUserTask as s, type DecryptedTaskActivityEntry as t, type TaskActivityCreateOptions as u, type UserTaskReorderInput as v, type WorkflowSummary as w, type WorkflowCapability as x, type WorkflowDetail as y, type WorkflowAuthoringWarning as z };
4075
+ export { type WorkflowTemplateImportPayload as $, type WorkflowInputStartParams as A, type BuyerAddress as B, type WorkflowInputSessionResult as C, type DecryptedRemoteCommandEvent as D, type ExternalChatContext as E, type WorkflowInputSessionDetail as F, type WorkflowInputEvent as G, type WorkflowGraph as H, type WorkflowRunContentRetention as I, type WorkflowRunOnceOptions as J, type WorkflowRunOptions as K, type WorkflowNode as L, type WorkflowRunCancellationResult as M, type WorkflowTemplateProjectionUpsertParams as N, OpenMatesClient as O, type ProjectItemRecord as P, type WorkflowTemplateProjectionResult as Q, type PublicWorkflowTemplateProjection as R, type WorkflowTemplateProjectionRevocationResult as S, type TaskCreateOptions as T, type UserPlanStatus as U, type WorkflowTemplateBindingCompletionParams as V, type WorkflowRunDetail as W, type WorkflowTemplateBindingCompletionResult as X, type WorkflowTemplateShortUrlParams as Y, type WorkflowTemplateShortUrlResult as Z, type ShortUrlRevokeResult as _, type ProjectReadApprovalRequest as a, type ImportedWorkflowTemplate as a0, type WikipediaLearningBundle as a1, type OpenMatesClientOptions as a2, type OpenMatesSession as a3, type AuthMethodsStatus as a4, type AuthoritativeChatReconciliation as a5, type BackupCodesResult as a6, type BankTransferOrderDetails as a7, type BankTransferStatus as a8, type CachedChat as a9, type WorkflowNodeType as aA, type WorkflowReturnedOutputReference as aB, type WorkflowRunContentStorage as aC, type WorkflowRunRouting as aD, deriveAppUrl as aE, normalizeInterestTagIds as aF, reconcileAuthoritativeChats as aG, type CachedNewChatSuggestion as aa, type ChatListPage as ab, type CliSignupResult as ac, type CliTurnMetadata as ad, type DecryptedDraft as ae, type DecryptedEmbed as af, type DecryptedMemoryEntry as ag, type DecryptedMessage as ah, type DecryptedNewChatSuggestion as ai, type DocsFile as aj, type DocsFolder as ak, type DocsSearchResult as al, type DocsTree as am, type EncryptedDraft as an, type GiftCardBankTransferStatus as ao, INTEREST_TAG_IDS as ap, type InterestTagId as aq, MATE_NAMES as ar, MEMORY_TYPE_REGISTRY as as, type MemoryFieldDef as at, type MemoryTypeDef as au, type SyncCache as av, type TopicPreferencesPayload as aw, type TotpSetupStartResult as ax, type WorkflowEdge as ay, type WorkflowNodeRun as az, type ProjectWriteApprovalRequest as b, type UserPlanRecord as c, type UserPlanVerificationStatus as d, type UserPlanLearningType as e, type UserPlanLearningTargetKind as f, type UserPlanLearningStatus as g, type UserPlanLearningLevel as h, type UserPlanLearningRecord as i, type UserPlanCriterionRecord as j, type UserPlanVerificationRecord as k, type UserPlanCreateInput as l, type UserPlanUpdateInput as m, type TaskUpdateOptions as n, type UserPlanLearningCreateTasksInput as o, type UserPlanLearningCreateTasksResult as p, type UserTaskStatus as q, type TaskPriorityLevel as r, type DecryptedUserTask as s, type DecryptedTaskActivityEntry as t, type TaskActivityCreateOptions as u, type UserTaskReorderInput as v, type WorkflowSummary as w, type WorkflowCapability as x, type WorkflowDetail as y, type WorkflowAuthoringWarning as z };
package/dist/index.d.ts CHANGED
@@ -1,10 +1,27 @@
1
- import { a2 as OpenMatesSession } from './client-BD6xvV2k.js';
2
- export { a3 as AuthMethodsStatus, a4 as AuthoritativeChatReconciliation, a5 as BackupCodesResult, a6 as BankTransferOrderDetails, a7 as BankTransferStatus, B as BuyerAddress, a8 as CachedChat, a9 as CachedNewChatSuggestion, aa as ChatListPage, ab as CliSignupResult, ac as CliTurnMetadata, ad as DecryptedDraft, ae as DecryptedEmbed, af as DecryptedMemoryEntry, ag as DecryptedMessage, ah as DecryptedNewChatSuggestion, s as DecryptedUserTask, ai as DocsFile, aj as DocsFolder, ak as DocsSearchResult, al as DocsTree, am as EncryptedDraft, an as GiftCardBankTransferStatus, ao as INTEREST_TAG_IDS, ap as InterestTagId, aq as MATE_NAMES, ar as MEMORY_TYPE_REGISTRY, as as MemoryFieldDef, at as MemoryTypeDef, O as OpenMatesClient, au as OpenMatesClientOptions, av as SyncCache, aw as TopicPreferencesPayload, ax as TotpSetupStartResult, x as WorkflowCapability, y as WorkflowDetail, ay as WorkflowEdge, H as WorkflowGraph, L as WorkflowNode, az as WorkflowNodeRun, aA as WorkflowNodeType, aB as WorkflowReturnedOutputReference, I as WorkflowRunContentRetention, aC as WorkflowRunContentStorage, W as WorkflowRunDetail, J as WorkflowRunOnceOptions, K as WorkflowRunOptions, aD as WorkflowRunRouting, w as WorkflowSummary, aE as deriveAppUrl, aF as normalizeInterestTagIds, aG as reconcileAuthoritativeChats } from './client-BD6xvV2k.js';
1
+ import { O as OpenMatesClient$1, a2 as OpenMatesClientOptions, a3 as OpenMatesSession } from './client-CCQdkE5S.js';
2
+ export { a4 as AuthMethodsStatus, a5 as AuthoritativeChatReconciliation, a6 as BackupCodesResult, a7 as BankTransferOrderDetails, a8 as BankTransferStatus, B as BuyerAddress, a9 as CachedChat, aa as CachedNewChatSuggestion, ab as ChatListPage, ac as CliSignupResult, ad as CliTurnMetadata, ae as DecryptedDraft, af as DecryptedEmbed, ag as DecryptedMemoryEntry, ah as DecryptedMessage, ai as DecryptedNewChatSuggestion, s as DecryptedUserTask, aj as DocsFile, ak as DocsFolder, al as DocsSearchResult, am as DocsTree, an as EncryptedDraft, ao as GiftCardBankTransferStatus, ap as INTEREST_TAG_IDS, aq as InterestTagId, ar as MATE_NAMES, as as MEMORY_TYPE_REGISTRY, at as MemoryFieldDef, au as MemoryTypeDef, av as SyncCache, aw as TopicPreferencesPayload, ax as TotpSetupStartResult, x as WorkflowCapability, y as WorkflowDetail, ay as WorkflowEdge, H as WorkflowGraph, L as WorkflowNode, az as WorkflowNodeRun, aA as WorkflowNodeType, aB as WorkflowReturnedOutputReference, I as WorkflowRunContentRetention, aC as WorkflowRunContentStorage, W as WorkflowRunDetail, J as WorkflowRunOnceOptions, K as WorkflowRunOptions, aD as WorkflowRunRouting, w as WorkflowSummary, aE as deriveAppUrl, aF as normalizeInterestTagIds, aG as reconcileAuthoritativeChats } from './client-CCQdkE5S.js';
3
3
  export { ImagesAiDetectionClassification, ImagesAiDetectionSummary, buildImagesAiDetectionSummary, classifyImagesAiDetection, formatImagesAiDetectionLabel, getExtForLang, serializeToYaml } from './cli.js';
4
- export { A as APP_SKILL_METADATA, j as AnonymousUsageStatus, k as ApiKeyCreateOptions, l as ApiKeyCreateResult, m as ApiKeyRecord, C as ChatCreateOptions, u as ChatListOptions, D as ChatResponse, b1 as DesignIconExportFormat, b2 as DesignIconExportOptions, b3 as DesignIconExportResult, L as DraftRecord, N as EncryptedChatMetadata, O as EncryptedDraftRecord, R as FocusModeSelection, S as IdeaBucketAddInput, T as IdeaBucketProcessOptions, U as IdeaBucketResult, V as IdeaBucketSettings, W as IdeaBucketSettingsInput, X as OpenMates, _ as OpenMatesApiError, a3 as OpenMatesConfigError, aj as OpenMatesOptions, ap as OpenMatesSignupRequiredError, as as OpenMatesUnavailableError, aC as PlanPlainCreateOptions, aD as PlanPlainUpdateOptions, aE as PlanRecord, aK as ProjectPlainCreateOptions, aL as ProjectPlainUpdateOptions, aM as ProjectRecordPlain, aT as TaskListFilters, aU as TaskOrderOptions, aV as TaskOrderRow, aW as TaskPlainCreateOptions, aX as TaskPlainUpdateOptions, aY as TaskRecord, b4 as buildCreatePlanCriterionInput, b5 as buildCreatePlanLearningInput, b6 as buildCreatePlanVerificationInput, b7 as buildCreateUserPlanInput, b8 as buildPlanVerificationEvidenceInput, b9 as buildUpdatePlanLearningInput, ba as buildUpdatePlanVerificationInput, bb as buildUpdateUserPlanInput, bc as decryptPlanLearning, bd as decryptPlanLearnings, be as decryptUserPlan, bf as decryptUserPlans, bg as findPlan, bh as findPlanLearning, bi as renderPlanDetail, bj as renderPlanLearningDetail, bk as renderPlanLearningList, bl as renderPlanList, b0 as sortTasks } from './sdkTaskOrder-1eTCVSO-.js';
4
+ export { A as APP_SKILL_METADATA, j as AnonymousUsageStatus, k as ApiKeyCreateOptions, l as ApiKeyCreateResult, m as ApiKeyRecord, C as ChatCreateOptions, u as ChatListOptions, D as ChatResponse, b1 as DesignIconExportFormat, b2 as DesignIconExportOptions, b3 as DesignIconExportResult, L as DraftRecord, N as EncryptedChatMetadata, O as EncryptedDraftRecord, R as FocusModeSelection, S as IdeaBucketAddInput, T as IdeaBucketProcessOptions, U as IdeaBucketResult, V as IdeaBucketSettings, W as IdeaBucketSettingsInput, X as OpenMates, _ as OpenMatesApiError, a3 as OpenMatesConfigError, aj as OpenMatesOptions, ap as OpenMatesSignupRequiredError, as as OpenMatesUnavailableError, aC as PlanPlainCreateOptions, aD as PlanPlainUpdateOptions, aE as PlanRecord, aK as ProjectPlainCreateOptions, aL as ProjectPlainUpdateOptions, aM as ProjectRecordPlain, aT as TaskListFilters, aU as TaskOrderOptions, aV as TaskOrderRow, aW as TaskPlainCreateOptions, aX as TaskPlainUpdateOptions, aY as TaskRecord, b4 as buildCreatePlanCriterionInput, b5 as buildCreatePlanLearningInput, b6 as buildCreatePlanVerificationInput, b7 as buildCreateUserPlanInput, b8 as buildPlanVerificationEvidenceInput, b9 as buildUpdatePlanLearningInput, ba as buildUpdatePlanVerificationInput, bb as buildUpdateUserPlanInput, bc as decryptPlanLearning, bd as decryptPlanLearnings, be as decryptUserPlan, bf as decryptUserPlans, bg as findPlan, bh as findPlanLearning, bi as renderPlanDetail, bj as renderPlanLearningDetail, bk as renderPlanLearningList, bl as renderPlanList, b0 as sortTasks } from './sdkTaskOrder-CJPmq9yh.js';
5
5
  export { R as RustApiKeyCallOptions, b as RustApiKeyClient, c as RustApiKeyClientError, d as RustApiKeyOptions, e as SessionAnonymousOptions, f as SessionAnonymousOutcome, g as SessionAnonymousStreamEvent, j as SessionChat, l as SessionChatDetailsHistory, m as SessionChatDetailsMessage, n as SessionChatDetailsMetadata, o as SessionChatDetailsOptions, p as SessionChatDetailsRead, u as SessionChatWithMetadata, v as SessionClient, w as SessionClientError, x as SessionClientOptions, E as SessionExternalChat, F as SessionFirstPageOptions, G as SessionFirstPagePublication, H as SessionFirstPageStore, K as SessionMessageWindow, L as SessionMessageWindowCursor, M as SessionMessageWindowOptions, X as SessionProjectCreate, Y as SessionProjectFilters, Z as SessionProjectPatch, ab as SessionProjectUnlinkInput, ac as SessionProjects, ae as SessionSavedChatExactMessage, af as SessionSavedChatExactOptions, ag as SessionSavedChatMessageMetadata, ah as SessionSavedChatRead, ai as SessionSavedChatReadMetadata, aj as SessionSavedChatReadOptions, am as SessionStreamEvent, an as SessionTaskCreate, ao as SessionTaskFilters, ap as SessionTaskPatch, aq as SessionTasks, ar as SessionWorkScope } from './sdkApiKeyRust-BW-c6ZkZ.js';
6
6
  import '@repo/pairing-crypto/direct-chat';
7
7
 
8
+ /**
9
+ * Root `openmates` package export of `OpenMatesClient` for SDK integrations.
10
+ *
11
+ * The CLI imports its client from `./client.js` directly; only the public root
12
+ * barrel uses this subclass. Implicitly loading the stored CLI login is
13
+ * deprecated for SDK use (SDK credentials must be explicit). In 0.29.x it keeps
14
+ * working and emits one `DeprecationWarning` (code OPENMATES_SDK_CLI_SESSION)
15
+ * per process; pass `session` explicitly, `loadStoredSession: false`, or use
16
+ * the `openmates/sdk/v1` SessionClient instead.
17
+ */
18
+
19
+ declare const SDK_CLI_SESSION_DEPRECATION_CODE = "OPENMATES_SDK_CLI_SESSION";
20
+ declare class OpenMatesClient extends OpenMatesClient$1 {
21
+ constructor(options?: OpenMatesClientOptions);
22
+ static load(options?: OpenMatesClientOptions): OpenMatesClient;
23
+ }
24
+
8
25
  type ChatModelSelection = "auto" | (string & {});
9
26
  interface ChatModelCatalogEntry {
10
27
  /** Canonical provider/model route, identical to web composer values. */
@@ -148,4 +165,4 @@ type AssistantFeedbackDecision = {
148
165
  };
149
166
  declare function buildAssistantFeedbackDecision(rating: number): AssistantFeedbackDecision;
150
167
 
151
- export { ASSISTANT_FEEDBACK_REPORT_TITLE, ASSISTANT_FEEDBACK_THANKS, type AssistantFeedbackDecision, type CalendarEvent, type CalendarEventDocument, type ChatModelCatalog, type ChatModelCatalogEntry, type ChatModelPreferenceState, type ChatModelPreferences, type ChatModelSelection, type ChatModelValidation, OpenMatesSession, SUPPORT_URL, buildAssistantFeedbackDecision, buildCalendarEventFile, createChatModelPreferences, defaultCloneBranchForVersion, projectAssistantSpeech, renderSupportInfo, selectAssistantMessagesForSpeech, summarizeAssistantSpeech };
168
+ export { ASSISTANT_FEEDBACK_REPORT_TITLE, ASSISTANT_FEEDBACK_THANKS, type AssistantFeedbackDecision, type CalendarEvent, type CalendarEventDocument, type ChatModelCatalog, type ChatModelCatalogEntry, type ChatModelPreferenceState, type ChatModelPreferences, type ChatModelSelection, type ChatModelValidation, OpenMatesClient, OpenMatesClientOptions, OpenMatesSession, SDK_CLI_SESSION_DEPRECATION_CODE, SUPPORT_URL, buildAssistantFeedbackDecision, buildCalendarEventFile, createChatModelPreferences, defaultCloneBranchForVersion, projectAssistantSpeech, renderSupportInfo, selectAssistantMessagesForSpeech, summarizeAssistantSpeech };
package/dist/index.js CHANGED
@@ -22,13 +22,13 @@ import {
22
22
  selectAssistantMessagesForSpeech,
23
23
  serializeToYaml,
24
24
  summarizeAssistantSpeech
25
- } from "./chunk-VBI5K4EC.js";
25
+ } from "./chunk-IXAKWPUK.js";
26
26
  import "./chunk-TMYEFC7M.js";
27
27
  import "./chunk-V2QAI5ET.js";
28
28
  import "./chunk-IWKP55ZB.js";
29
29
  import {
30
30
  sortTasks
31
- } from "./chunk-LOIT2IBC.js";
31
+ } from "./chunk-BYYH2YTS.js";
32
32
  import {
33
33
  APP_SKILL_METADATA,
34
34
  OpenMates,
@@ -54,7 +54,7 @@ import {
54
54
  renderPlanLearningDetail,
55
55
  renderPlanLearningList,
56
56
  renderPlanList
57
- } from "./chunk-MNOHHJLL.js";
57
+ } from "./chunk-QVCMMBD4.js";
58
58
  import {
59
59
  RustApiKeyClient,
60
60
  RustApiKeyClientError
@@ -68,6 +68,27 @@ import {
68
68
  import "./chunk-67U3XD2B.js";
69
69
  import "./chunk-QRCAXXAL.js";
70
70
  import "./chunk-7EFG6NPD.js";
71
+
72
+ // src/sdkRootClient.ts
73
+ var SDK_CLI_SESSION_DEPRECATION_CODE = "OPENMATES_SDK_CLI_SESSION";
74
+ var warned = false;
75
+ function warnImplicitCliSession(options) {
76
+ if (warned || options.session !== void 0 || options.loadStoredSession === false) return;
77
+ warned = true;
78
+ process.emitWarning(
79
+ "OpenMatesClient from the 'openmates' root export loads the stored CLI login implicitly. This is deprecated: pass an explicit `session`, set `loadStoredSession: false`, or use SessionClient from 'openmates/sdk/v1'. A future minor release will require explicit credentials.",
80
+ { type: "DeprecationWarning", code: SDK_CLI_SESSION_DEPRECATION_CODE }
81
+ );
82
+ }
83
+ var OpenMatesClient2 = class _OpenMatesClient extends OpenMatesClient {
84
+ constructor(options = {}) {
85
+ warnImplicitCliSession(options);
86
+ super(options);
87
+ }
88
+ static load(options = {}) {
89
+ return new _OpenMatesClient(options);
90
+ }
91
+ };
71
92
  export {
72
93
  APP_SKILL_METADATA,
73
94
  ASSISTANT_FEEDBACK_REPORT_TITLE,
@@ -77,12 +98,13 @@ export {
77
98
  MEMORY_TYPE_REGISTRY,
78
99
  OpenMates,
79
100
  OpenMatesApiError,
80
- OpenMatesClient,
101
+ OpenMatesClient2 as OpenMatesClient,
81
102
  OpenMatesConfigError,
82
103
  OpenMatesSignupRequiredError,
83
104
  OpenMatesUnavailableError,
84
105
  RustApiKeyClient,
85
106
  RustApiKeyClientError,
107
+ SDK_CLI_SESSION_DEPRECATION_CODE,
86
108
  SUPPORT_URL,
87
109
  SessionClient,
88
110
  SessionClientError,
@@ -1,6 +1,6 @@
1
- export { A as APP_SKILL_METADATA, a as AccountExportChunksResponse, b as AccountExportDownloadOptions, c as AccountExportManifestResponse, d as AccountExportResponse, e as AccountExportStartOptions, f as AccountImportCompleteOptions, g as AccountImportPreviewOptions, h as AccountImportRunOptions, i as AiModelDefaults, j as AnonymousUsageStatus, k as ApiKeyCreateOptions, l as ApiKeyCreateResult, m as ApiKeyRecord, n as ApplicationPreviewEvent, o as ApplicationPreviewStartOptions, p as ApplicationPreviewStartResponse, q as ApplicationPreviewStatusResponse, r as ApplicationPreviewStopResponse, B as BankTransferOrderOptions, C as ChatCreateOptions, s as ChatForkOptions, t as ChatKeyWrapperRecord, u as ChatListOptions, v as ChatMessageRecord, w as ChatMessageWindowCursor, x as ChatMessageWindowDirection, y as ChatMessagesOptions, z as ChatMessagesResult, D as ChatResponse, E as ChatRetryOptions, F as ChatRewindOptions, G as ChatSendOptions, H as ConfirmedMutationOptions, I as ConnectedAccountDirectoryEntry, J as ConnectedAccountSkillRunOptions, K as ConnectedAccountTurnTokenRefInput, L as DraftRecord, M as EmbedKeyRecord, N as EncryptedChatMetadata, O as EncryptedDraftRecord, P as EncryptedEmbedRecord, Q as FinanceCheckAccountsInput, R as FocusModeSelection, S as IdeaBucketAddInput, T as IdeaBucketProcessOptions, U as IdeaBucketResult, V as IdeaBucketSettings, W as IdeaBucketSettingsInput, X as OpenMates, Y as OpenMatesAccount, Z as OpenMatesAnonymous, _ as OpenMatesApiError, $ as OpenMatesApiKeys, a0 as OpenMatesBenchmark, a1 as OpenMatesBilling, a2 as OpenMatesChats, a3 as OpenMatesConfigError, a4 as OpenMatesConnectedAccounts, a5 as OpenMatesDesign, a6 as OpenMatesDocs, a7 as OpenMatesDrafts, a8 as OpenMatesEmbedPreview, a9 as OpenMatesEmbeds, aa as OpenMatesFeedback, ab as OpenMatesFinance, ac as OpenMatesHistory, ad as OpenMatesIdeaBucket, ae as OpenMatesInspirations, af as OpenMatesLearningMode, ag as OpenMatesMemories, ah as OpenMatesNewChatSuggestions, ai as OpenMatesNotifications, aj as OpenMatesOptions, ak as OpenMatesPlans, al as OpenMatesProjectTaskWatchUnavailableError, am as OpenMatesProjects, an as OpenMatesReminders, ao as OpenMatesSettings, ap as OpenMatesSignupRequiredError, aq as OpenMatesTasks, ar as OpenMatesTeams, as as OpenMatesUnavailableError, at as OpenMatesWikipedia, au as OpenMatesWorkflows, av as PlanAssumptionCreateOptions, aw as PlanAssumptionProofInput, ax as PlanAssumptionRecord, ay as PlanAssumptionUpdateOptions, az as PlanCriterionRecord, aA as PlanCriterionUpdateOptions, aB as PlanLearningRecord, aC as PlanPlainCreateOptions, aD as PlanPlainUpdateOptions, aE as PlanRecord, aF as PlanReferencePatternCreateOptions, aG as PlanReferencePatternRecord, aH as PlanReferencePatternUpdateOptions, aI as PlanVerificationRecord, aJ as ProjectContextOptions, aK as ProjectPlainCreateOptions, aL as ProjectPlainUpdateOptions, aM as ProjectRecordPlain, aN as RequestOptions, aO as SdkSessionResponse, aP as SdkTeamMember, aQ as TaskActivityInput, aR as TaskActivityRecord, aS as TaskBlockOptions, aT as TaskListFilters, aU as TaskOrderOptions, aV as TaskOrderRow, aW as TaskPlainCreateOptions, aX as TaskPlainUpdateOptions, aY as TaskRecord, aZ as TeamGeneratedProfileImageOptions, a_ as TeamPlainCreateOptions, a$ as WorkDependencyTarget, b0 as sortTasks } from './sdkTaskOrder-1eTCVSO-.js';
1
+ export { A as APP_SKILL_METADATA, a as AccountExportChunksResponse, b as AccountExportDownloadOptions, c as AccountExportManifestResponse, d as AccountExportResponse, e as AccountExportStartOptions, f as AccountImportCompleteOptions, g as AccountImportPreviewOptions, h as AccountImportRunOptions, i as AiModelDefaults, j as AnonymousUsageStatus, k as ApiKeyCreateOptions, l as ApiKeyCreateResult, m as ApiKeyRecord, n as ApplicationPreviewEvent, o as ApplicationPreviewStartOptions, p as ApplicationPreviewStartResponse, q as ApplicationPreviewStatusResponse, r as ApplicationPreviewStopResponse, B as BankTransferOrderOptions, C as ChatCreateOptions, s as ChatForkOptions, t as ChatKeyWrapperRecord, u as ChatListOptions, v as ChatMessageRecord, w as ChatMessageWindowCursor, x as ChatMessageWindowDirection, y as ChatMessagesOptions, z as ChatMessagesResult, D as ChatResponse, E as ChatRetryOptions, F as ChatRewindOptions, G as ChatSendOptions, H as ConfirmedMutationOptions, I as ConnectedAccountDirectoryEntry, J as ConnectedAccountSkillRunOptions, K as ConnectedAccountTurnTokenRefInput, L as DraftRecord, M as EmbedKeyRecord, N as EncryptedChatMetadata, O as EncryptedDraftRecord, P as EncryptedEmbedRecord, Q as FinanceCheckAccountsInput, R as FocusModeSelection, S as IdeaBucketAddInput, T as IdeaBucketProcessOptions, U as IdeaBucketResult, V as IdeaBucketSettings, W as IdeaBucketSettingsInput, X as OpenMates, Y as OpenMatesAccount, Z as OpenMatesAnonymous, _ as OpenMatesApiError, $ as OpenMatesApiKeys, a0 as OpenMatesBenchmark, a1 as OpenMatesBilling, a2 as OpenMatesChats, a3 as OpenMatesConfigError, a4 as OpenMatesConnectedAccounts, a5 as OpenMatesDesign, a6 as OpenMatesDocs, a7 as OpenMatesDrafts, a8 as OpenMatesEmbedPreview, a9 as OpenMatesEmbeds, aa as OpenMatesFeedback, ab as OpenMatesFinance, ac as OpenMatesHistory, ad as OpenMatesIdeaBucket, ae as OpenMatesInspirations, af as OpenMatesLearningMode, ag as OpenMatesMemories, ah as OpenMatesNewChatSuggestions, ai as OpenMatesNotifications, aj as OpenMatesOptions, ak as OpenMatesPlans, al as OpenMatesProjectTaskWatchUnavailableError, am as OpenMatesProjects, an as OpenMatesReminders, ao as OpenMatesSettings, ap as OpenMatesSignupRequiredError, aq as OpenMatesTasks, ar as OpenMatesTeams, as as OpenMatesUnavailableError, at as OpenMatesWikipedia, au as OpenMatesWorkflows, av as PlanAssumptionCreateOptions, aw as PlanAssumptionProofInput, ax as PlanAssumptionRecord, ay as PlanAssumptionUpdateOptions, az as PlanCriterionRecord, aA as PlanCriterionUpdateOptions, aB as PlanLearningRecord, aC as PlanPlainCreateOptions, aD as PlanPlainUpdateOptions, aE as PlanRecord, aF as PlanReferencePatternCreateOptions, aG as PlanReferencePatternRecord, aH as PlanReferencePatternUpdateOptions, aI as PlanVerificationRecord, aJ as ProjectContextOptions, aK as ProjectPlainCreateOptions, aL as ProjectPlainUpdateOptions, aM as ProjectRecordPlain, aN as RequestOptions, aO as SdkSessionResponse, aP as SdkTeamMember, aQ as TaskActivityInput, aR as TaskActivityRecord, aS as TaskBlockOptions, aT as TaskListFilters, aU as TaskOrderOptions, aV as TaskOrderRow, aW as TaskPlainCreateOptions, aX as TaskPlainUpdateOptions, aY as TaskRecord, aZ as TeamGeneratedProfileImageOptions, a_ as TeamPlainCreateOptions, a$ as WorkDependencyTarget, b0 as sortTasks } from './sdkTaskOrder-CJPmq9yh.js';
2
2
  export { N as NativeEssential, a as NativeProjectTaskWatch, O as OpenMatesProjectSourceAuthoringUnavailableError, R as RustApiKeyCallOptions, b as RustApiKeyClient, c as RustApiKeyClientError, d as RustApiKeyOptions, S as SessionAccount, e as SessionAnonymousOptions, f as SessionAnonymousOutcome, g as SessionAnonymousStreamEvent, h as SessionCacheChatPublication, i as SessionCacheChatStage, j as SessionChat, k as SessionChatAccessDenial, l as SessionChatDetailsHistory, m as SessionChatDetailsMessage, n as SessionChatDetailsMetadata, o as SessionChatDetailsOptions, p as SessionChatDetailsRead, q as SessionChatDurableReceipt, r as SessionChatInvalidation, s as SessionChatMonitor, t as SessionChatRefresh, u as SessionChatWithMetadata, v as SessionClient, w as SessionClientError, x as SessionClientOptions, y as SessionCompletionRecovery, z as SessionDraftReadOptions, A as SessionDraftRecord, B as SessionDrafts, C as SessionDurableStore, D as SessionEmbeds, E as SessionExternalChat, F as SessionFirstPageOptions, G as SessionFirstPagePublication, H as SessionFirstPageStore, I as SessionInitialSyncMetadata, J as SessionInitialSyncOperation, K as SessionMessageWindow, L as SessionMessageWindowCursor, M as SessionMessageWindowOptions, P as SessionPlanCreate, Q as SessionPlanEvidence, T as SessionPlanFilters, U as SessionPlanFlow, V as SessionPlanPatch, W as SessionPlans, X as SessionProjectCreate, Y as SessionProjectFilters, Z as SessionProjectPatch, _ as SessionProjectSource, $ as SessionProjectSourceCapabilitiesPatch, a0 as SessionProjectSourceCapability, a1 as SessionProjectSourceCreate, a2 as SessionProjectSourceStatus, a3 as SessionProjectSourceType, a4 as SessionProjectSourcesDecodedNames, a5 as SessionProjectTaskWatch, a6 as SessionProjectTaskWatchCheckpoint, a7 as SessionProjectTaskWatchEvent, a8 as SessionProjectTaskWatchInput, a9 as SessionProjectTaskWatchReceipt, aa as SessionProjectTaskWatchScope, ab as SessionProjectUnlinkInput, ac as SessionProjects, ad as SessionRecoveryAdmission, ae as SessionSavedChatExactMessage, af as SessionSavedChatExactOptions, ag as SessionSavedChatMessageMetadata, ah as SessionSavedChatRead, ai as SessionSavedChatReadMetadata, aj as SessionSavedChatReadOptions, ak as SessionSettingsReadError, al as SessionStorageScope, am as SessionStreamEvent, an as SessionTaskCreate, ao as SessionTaskFilters, ap as SessionTaskPatch, aq as SessionTasks, ar as SessionWorkScope, as as SessionWorkflowCreate, at as SessionWorkflowFileSaveStatus, au as SessionWorkflowFileSyncOptions, av as SessionWorkflowFilters, aw as SessionWorkflowGraph, ax as SessionWorkflowNode, ay as SessionWorkflowNodeType, az as SessionWorkflowPatch, aA as SessionWorkflowRunOptions, aB as SessionWorkflowWaitOptions, aC as SessionWorkflows } from './sdkApiKeyRust-BW-c6ZkZ.js';
3
- export { P as ProjectItemRecord } from './client-BD6xvV2k.js';
3
+ export { P as ProjectItemRecord } from './client-CCQdkE5S.js';
4
4
  import '@repo/pairing-crypto/direct-chat';
5
5
 
6
6
  interface PreparedPrivacy {
package/dist/sdk-entry.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sortTasks
3
- } from "./chunk-LOIT2IBC.js";
3
+ } from "./chunk-BYYH2YTS.js";
4
4
  import {
5
5
  APP_SKILL_METADATA,
6
6
  OpenMates,
@@ -38,8 +38,9 @@ import {
38
38
  OpenMatesTeams,
39
39
  OpenMatesUnavailableError,
40
40
  OpenMatesWikipedia,
41
- OpenMatesWorkflows
42
- } from "./chunk-MNOHHJLL.js";
41
+ OpenMatesWorkflows,
42
+ loadSdkWasm
43
+ } from "./chunk-QVCMMBD4.js";
43
44
  import {
44
45
  RustApiKeyClient,
45
46
  RustApiKeyClientError
@@ -64,7 +65,6 @@ import {
64
65
  import "./chunk-67U3XD2B.js";
65
66
 
66
67
  // src/sdkPrivacy.ts
67
- import { createRequire } from "module";
68
68
  var invalid = () => {
69
69
  throw new SessionClientError("invalid_argument", "Invalid typed privacy input.");
70
70
  };
@@ -107,14 +107,8 @@ function call(input) {
107
107
  } catch {
108
108
  return invalid();
109
109
  }
110
- const platform = `${process.platform}-${process.arch}`;
111
- let native;
112
- try {
113
- native = createRequire(import.meta.url)(`../native/${platform}.node`);
114
- } catch {
115
- throw new SessionClientError("native_binding_unavailable", "Install a native SDK build containing privacy operations.");
116
- }
117
- if (typeof native.privacy !== "function") throw new SessionClientError("native_binding_unavailable", "Install a native SDK build containing privacy operations.");
110
+ const native = loadSdkWasm();
111
+ if (!native) throw new SessionClientError("native_binding_unavailable", "Install an OpenMates SDK build containing its WebAssembly module.");
118
112
  try {
119
113
  const result = JSON.parse(native.privacy(encoded));
120
114
  if (!result || typeof result !== "object" || Array.isArray(result) || typeof result.text !== "string") throw new SessionClientError("protocol", "The native privacy result is invalid.");
@@ -1,5 +1,5 @@
1
1
  import { a1 as SessionProjectSourceCreate, $ as SessionProjectSourceCapabilitiesPatch } from './sdkApiKeyRust-BW-c6ZkZ.js';
2
- import { U as UserPlanStatus, c as UserPlanRecord, d as UserPlanVerificationStatus, e as UserPlanLearningType, f as UserPlanLearningTargetKind, g as UserPlanLearningStatus, h as UserPlanLearningLevel, i as UserPlanLearningRecord, j as UserPlanCriterionRecord, k as UserPlanVerificationRecord, l as UserPlanCreateInput, m as UserPlanUpdateInput, B as BuyerAddress, P as ProjectItemRecord, T as TaskCreateOptions, n as TaskUpdateOptions, o as UserPlanLearningCreateTasksInput, p as UserPlanLearningCreateTasksResult, q as UserTaskStatus, E as ExternalChatContext, r as TaskPriorityLevel, s as DecryptedUserTask, t as DecryptedTaskActivityEntry, u as TaskActivityCreateOptions, v as UserTaskReorderInput, w as WorkflowSummary, x as WorkflowCapability, y as WorkflowDetail, z as WorkflowAuthoringWarning, A as WorkflowInputStartParams, C as WorkflowInputSessionResult, F as WorkflowInputSessionDetail, G as WorkflowInputEvent, H as WorkflowGraph, I as WorkflowRunContentRetention, J as WorkflowRunOnceOptions, W as WorkflowRunDetail, K as WorkflowRunOptions, L as WorkflowNode, M as WorkflowRunCancellationResult, N as WorkflowTemplateProjectionUpsertParams, Q as WorkflowTemplateProjectionResult, R as PublicWorkflowTemplateProjection, S as WorkflowTemplateProjectionRevocationResult, V as WorkflowTemplateBindingCompletionParams, X as WorkflowTemplateBindingCompletionResult, Y as WorkflowTemplateShortUrlParams, Z as WorkflowTemplateShortUrlResult, _ as ShortUrlRevokeResult, $ as WorkflowTemplateImportPayload, a0 as ImportedWorkflowTemplate, a1 as WikipediaLearningBundle } from './client-BD6xvV2k.js';
2
+ import { U as UserPlanStatus, c as UserPlanRecord, d as UserPlanVerificationStatus, e as UserPlanLearningType, f as UserPlanLearningTargetKind, g as UserPlanLearningStatus, h as UserPlanLearningLevel, i as UserPlanLearningRecord, j as UserPlanCriterionRecord, k as UserPlanVerificationRecord, l as UserPlanCreateInput, m as UserPlanUpdateInput, B as BuyerAddress, P as ProjectItemRecord, T as TaskCreateOptions, n as TaskUpdateOptions, o as UserPlanLearningCreateTasksInput, p as UserPlanLearningCreateTasksResult, q as UserTaskStatus, E as ExternalChatContext, r as TaskPriorityLevel, s as DecryptedUserTask, t as DecryptedTaskActivityEntry, u as TaskActivityCreateOptions, v as UserTaskReorderInput, w as WorkflowSummary, x as WorkflowCapability, y as WorkflowDetail, z as WorkflowAuthoringWarning, A as WorkflowInputStartParams, C as WorkflowInputSessionResult, F as WorkflowInputSessionDetail, G as WorkflowInputEvent, H as WorkflowGraph, I as WorkflowRunContentRetention, J as WorkflowRunOnceOptions, W as WorkflowRunDetail, K as WorkflowRunOptions, L as WorkflowNode, M as WorkflowRunCancellationResult, N as WorkflowTemplateProjectionUpsertParams, Q as WorkflowTemplateProjectionResult, R as PublicWorkflowTemplateProjection, S as WorkflowTemplateProjectionRevocationResult, V as WorkflowTemplateBindingCompletionParams, X as WorkflowTemplateBindingCompletionResult, Y as WorkflowTemplateShortUrlParams, Z as WorkflowTemplateShortUrlResult, _ as ShortUrlRevokeResult, $ as WorkflowTemplateImportPayload, a0 as ImportedWorkflowTemplate, a1 as WikipediaLearningBundle } from './client-CCQdkE5S.js';
3
3
  import { DirectChatKeyPair } from '@repo/pairing-crypto/direct-chat';
4
4
 
5
5
  type AppSkillRunOptions = {
@@ -17,47 +17,47 @@
17
17
  {
18
18
  "name": "libggml-base.so",
19
19
  "bytes": 1110088,
20
- "sha256": "90b62dcb460829e7cf6a6e59f4b81f74a88c720a91bb189b0aa3c688016d8bed"
20
+ "sha256": "f4cb85a0589d0130bc6b2f58235b31a841c732834de4a5a4a35300c1e560a1cb"
21
21
  },
22
22
  {
23
23
  "name": "libggml-base.so.0",
24
24
  "bytes": 1110088,
25
- "sha256": "90b62dcb460829e7cf6a6e59f4b81f74a88c720a91bb189b0aa3c688016d8bed"
25
+ "sha256": "f4cb85a0589d0130bc6b2f58235b31a841c732834de4a5a4a35300c1e560a1cb"
26
26
  },
27
27
  {
28
28
  "name": "libggml-base.so.0.15.1",
29
29
  "bytes": 1110088,
30
- "sha256": "90b62dcb460829e7cf6a6e59f4b81f74a88c720a91bb189b0aa3c688016d8bed"
30
+ "sha256": "f4cb85a0589d0130bc6b2f58235b31a841c732834de4a5a4a35300c1e560a1cb"
31
31
  },
32
32
  {
33
33
  "name": "libggml-cpu.so",
34
34
  "bytes": 869800,
35
- "sha256": "b6556d1c951b67e3b46e498ee98b1b6c5c5b132842997524a2ba8a9105e13bbc"
35
+ "sha256": "b411cb0ab0f84af3af36e83c54ec140304e6c2826b5ec222d2fa5301aede4d68"
36
36
  },
37
37
  {
38
38
  "name": "libggml-cpu.so.0",
39
39
  "bytes": 869800,
40
- "sha256": "b6556d1c951b67e3b46e498ee98b1b6c5c5b132842997524a2ba8a9105e13bbc"
40
+ "sha256": "b411cb0ab0f84af3af36e83c54ec140304e6c2826b5ec222d2fa5301aede4d68"
41
41
  },
42
42
  {
43
43
  "name": "libggml-cpu.so.0.15.1",
44
44
  "bytes": 869800,
45
- "sha256": "b6556d1c951b67e3b46e498ee98b1b6c5c5b132842997524a2ba8a9105e13bbc"
45
+ "sha256": "b411cb0ab0f84af3af36e83c54ec140304e6c2826b5ec222d2fa5301aede4d68"
46
46
  },
47
47
  {
48
48
  "name": "libggml.so",
49
49
  "bytes": 1899104,
50
- "sha256": "3a5e4d3199d1fdaeec30ce58e8269f50d4914b7fdac92e985ff562128502a385"
50
+ "sha256": "f79b2d1418e6dde6ff702c07235d12db2c5d6447a77af2645e08d937d7ea7164"
51
51
  },
52
52
  {
53
53
  "name": "libggml.so.0",
54
54
  "bytes": 1899104,
55
- "sha256": "3a5e4d3199d1fdaeec30ce58e8269f50d4914b7fdac92e985ff562128502a385"
55
+ "sha256": "f79b2d1418e6dde6ff702c07235d12db2c5d6447a77af2645e08d937d7ea7164"
56
56
  },
57
57
  {
58
58
  "name": "libggml.so.0.15.1",
59
59
  "bytes": 1899104,
60
- "sha256": "3a5e4d3199d1fdaeec30ce58e8269f50d4914b7fdac92e985ff562128502a385"
60
+ "sha256": "f79b2d1418e6dde6ff702c07235d12db2c5d6447a77af2645e08d937d7ea7164"
61
61
  },
62
62
  {
63
63
  "name": "openmates-pii-worker",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openmates",
3
- "version": "0.29.0-alpha.7",
3
+ "version": "0.29.0-alpha.9",
4
4
  "description": "OpenMates CLI and SDK",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -28,7 +28,10 @@
28
28
  "dist",
29
29
  "fixtures",
30
30
  "templates",
31
- "native/*.node"
31
+ "native/*.node",
32
+ "wasm/openmates_sdk.js",
33
+ "wasm/openmates_sdk_bg.wasm",
34
+ "CHANGELOG.md"
32
35
  ],
33
36
  "scripts": {
34
37
  "build": "tsup src/index.ts src/sdk-entry.ts src/sdk-session-v1-entry.ts src/cli.ts src/remoteAccessCrypto.ts src/privacyDaemon.ts --format esm --dts --clean && node scripts/package-remote-command-apparmor.mjs",
@@ -80,7 +83,8 @@
80
83
  "test:unit:chat-preparation": "node --test --experimental-strip-types --loader ./tests/loader.mjs tests/http.test.ts tests/preparedPrivacy.test.ts tests/ownedTurnMetadata.test.ts tests/foregroundChatRecovery.test.ts tests/taskContextDiscovery.test.ts && node --test --experimental-strip-types --loader ./tests/loader.mjs --test-name-pattern \"CLI saved-chat recovery preflight\" tests/client.test.ts",
81
84
  "build:sdk": "tsup src/sdk-entry.ts src/sdk-session-v1-entry.ts --format esm --dts",
82
85
  "build:sdk:native": "python3 ../../../scripts/build_sdk_native.py --language npm",
83
- "test:unit:sdk-session": "node --test --experimental-strip-types --loader ./tests/loader.mjs tests/sdk-api-key-rust.test.ts tests/sdk-conformance.test.ts tests/sdk-crypto-legacy-om.test.ts tests/sdk-privacy.test.ts tests/sdk-project-sources.test.ts tests/sdk-project-task-watch-unavailable.test.ts tests/sdk-session-app-skill.test.ts tests/sdk-session-apps-inventory.test.ts tests/sdk-session-chat-details.test.ts tests/sdk-session-drafts.test.ts tests/sdk-session-embed-share.test.ts tests/sdk-session-full-chat-read.test.ts tests/sdk-session-original-dispatch.test.ts tests/sdk-session.test.ts tests/sdk-task-order.test.ts && node --test tests/sdk-v1-package.test.mjs tests/sdk-workflow-file-sync.test.mjs"
86
+ "test:unit:sdk-session": "node --test --experimental-strip-types --loader ./tests/loader.mjs tests/sdk-api-key-rust.test.ts tests/sdk-conformance.test.ts tests/sdk-crypto-legacy-om.test.ts tests/sdk-privacy.test.ts tests/sdk-project-sources.test.ts tests/sdk-project-task-watch-unavailable.test.ts tests/sdk-session-app-skill.test.ts tests/sdk-session-apps-inventory.test.ts tests/sdk-session-chat-details.test.ts tests/sdk-session-drafts.test.ts tests/sdk-session-embed-share.test.ts tests/sdk-session-full-chat-read.test.ts tests/sdk-session-original-dispatch.test.ts tests/sdk-session.test.ts tests/sdk-task-order.test.ts tests/sdk-root-client-deprecation.test.ts && node --test tests/sdk-v1-package.test.mjs tests/sdk-workflow-file-sync.test.mjs tests/sdk-wasm.test.mjs",
87
+ "build:sdk:wasm": "python3 ../../../scripts/build_sdk_native.py --language wasm"
84
88
  },
85
89
  "keywords": [
86
90
  "openmates",