openmates 0.27.0-alpha.81 → 0.27.0-alpha.83

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.
@@ -1164,7 +1164,8 @@ function buildMemoryRequestMessage(params) {
1164
1164
  request_id: params.requestId,
1165
1165
  requested_keys: keys2,
1166
1166
  categories,
1167
- count_semantics_version: COUNT_SEMANTICS_VERSION
1167
+ count_semantics_version: COUNT_SEMANTICS_VERSION,
1168
+ ...params.responseTransport ? { response_transport: params.responseTransport } : {}
1168
1169
  };
1169
1170
  return {
1170
1171
  message_id: params.requestId,
@@ -5217,6 +5218,7 @@ var OpenMatesWsClient = class {
5217
5218
  pendingTaskUpdateJobs = [...byId.values()];
5218
5219
  };
5219
5220
  const subChatEvents = [];
5221
+ const knownSubChatIds = /* @__PURE__ */ new Set();
5220
5222
  const pendingSubChatHandlers = /* @__PURE__ */ new Set();
5221
5223
  const pendingMemoryRequestHandlers = /* @__PURE__ */ new Set();
5222
5224
  const embeds = /* @__PURE__ */ new Map();
@@ -5426,6 +5428,13 @@ var OpenMatesWsClient = class {
5426
5428
  const eventPayload = p.payload && typeof p.payload === "object" && !Array.isArray(p.payload) ? p.payload : p;
5427
5429
  const eventChatId = typeof eventPayload.parent_id === "string" ? eventPayload.parent_id : typeof eventPayload.chat_id === "string" ? eventPayload.chat_id : null;
5428
5430
  if (eventChatId && eventChatId !== chatId) return;
5431
+ if (type === "spawn_sub_chats" && Array.isArray(eventPayload.sub_chats)) {
5432
+ for (const child of eventPayload.sub_chats) {
5433
+ if (!child || typeof child !== "object") continue;
5434
+ const id = child.id ?? child.chat_id;
5435
+ if (typeof id === "string" && id) knownSubChatIds.add(id);
5436
+ }
5437
+ }
5429
5438
  const event = { type, payload: eventPayload };
5430
5439
  subChatEvents.push(event);
5431
5440
  if (type === "awaiting_user_input") {
@@ -5799,6 +5808,10 @@ var OpenMatesWsClient = class {
5799
5808
  scheduleResolve(content);
5800
5809
  return;
5801
5810
  }
5811
+ if (["ai_typing_started", "post_processing_completed", "post_processing_metadata"].includes(type) && typeof p.chat_id === "string" && p.chat_id !== chatId && knownSubChatIds.has(p.chat_id)) {
5812
+ handleSubChatEvent("sub_chat_metadata", { ...p, parent_id: chatId, metadata_event_type: type });
5813
+ return;
5814
+ }
5802
5815
  if (type === "ai_typing_started") {
5803
5816
  if (p.chat_id !== chatId || p.user_message_id !== void 0 && p.user_message_id !== userMessageId || p.userMessageId !== void 0 && p.userMessageId !== userMessageId) return;
5804
5817
  if (p.turn_id !== void 0 && p.turn_id !== options?.recoveryTurnId) return;
@@ -6256,6 +6269,68 @@ function parseFocusAuthoringDocument(document) {
6256
6269
  throw new Error("invalid_focus_document");
6257
6270
  }
6258
6271
  }
6272
+ async function collectSelectedCliProjectFocusRoutingCatalog(client2, projectId, options) {
6273
+ const detail = await client2.getProject(projectId, options);
6274
+ if (detail.project.project_id !== projectId || detail.project.archived) throw new Error("Project catalog unavailable.");
6275
+ const key = await client2.decryptProjectKey(detail.project, options);
6276
+ const focuses = [];
6277
+ for (const item of detail.items) {
6278
+ if (!(["embed", "upload"].includes(item.item_type) && item.target_id_hash && !item.deleted_target_state && typeof item.encrypted_metadata === "string")) continue;
6279
+ const decrypted = await decryptWithAesGcmCombined(item.encrypted_metadata, key);
6280
+ if (!decrypted) throw new Error("Project catalog metadata unavailable.");
6281
+ const metadata = JSON.parse(decrypted);
6282
+ const path2 = metadata.display_path;
6283
+ if (typeof path2 !== "string" || !/^\.openmates\/focuses\/[a-zA-Z0-9_-]+\/SKILL\.md$/.test(path2) || typeof metadata.focus_title !== "string" || typeof metadata.focus_description !== "string" || typeof metadata.focus_when_to_use !== "string") continue;
6284
+ focuses.push({
6285
+ item_id: item.project_item_id,
6286
+ revision: createHash9("sha256").update(["updated_at", "encrypted_metadata", "encrypted_note", "target_id_hash", "deleted_target_state"].map((field3) => item[field3] ? String(item[field3]) : "").join("\0")).digest("hex"),
6287
+ title: metadata.focus_title.slice(0, 180),
6288
+ description: metadata.focus_description.slice(0, 640),
6289
+ when_to_use: metadata.focus_when_to_use.slice(0, 640)
6290
+ });
6291
+ if (focuses.length >= 20) break;
6292
+ }
6293
+ return focuses;
6294
+ }
6295
+ function registerCliProjectFocusCatalogResponder(input) {
6296
+ let active = true;
6297
+ const answered = /* @__PURE__ */ new Set();
6298
+ const stopEvent = input.ws.onMessageType("project_focus_catalog_requested", (event) => {
6299
+ if (!active || !input.ws.isOpen() || !input.isCurrent() || event.chat_id !== input.chatId || typeof event.request_id !== "string" || !event.request_id || event.request_id.length > 128 || typeof event.project_id !== "string" || !event.project_id || event.project_id.length > 128 || event.team_id !== input.teamId || !input.isOfferedProject(event.project_id) || answered.has(event.request_id)) return;
6300
+ answered.add(event.request_id);
6301
+ void (async () => {
6302
+ let focuses;
6303
+ try {
6304
+ focuses = await collectSelectedCliProjectFocusRoutingCatalog(
6305
+ input.client,
6306
+ event.project_id,
6307
+ { teamId: input.teamId, personal: !input.teamId }
6308
+ );
6309
+ } catch {
6310
+ focuses = null;
6311
+ }
6312
+ if (!active || !input.ws.isOpen() || !input.isCurrent()) return;
6313
+ await input.ws.sendAsync("project_focus_catalog_result", {
6314
+ chat_id: input.chatId,
6315
+ request_id: event.request_id,
6316
+ project_id: event.project_id,
6317
+ focuses
6318
+ });
6319
+ })().catch((error) => {
6320
+ if (!active || !input.ws.isOpen() || !input.isCurrent()) return;
6321
+ input.onDeliveryFailure(error instanceof Error ? error : new Error("Project catalog delivery failed."));
6322
+ });
6323
+ });
6324
+ const stopClose = input.ws.onClose(() => {
6325
+ active = false;
6326
+ stopEvent();
6327
+ });
6328
+ return () => {
6329
+ active = false;
6330
+ stopEvent();
6331
+ stopClose();
6332
+ };
6333
+ }
6259
6334
  async function discoverCliProjectCandidates(client2, options, requireComplete = false) {
6260
6335
  const records = (await client2.listProjects(options)).filter((record10) => !record10.archived).slice(0, 40);
6261
6336
  const entries = await Promise.all(records.map(async (record10) => {
@@ -10700,7 +10775,7 @@ async function buildSubChatEncryptedMetadataPayloads(params) {
10700
10775
  const messageId2 = subChat.user_message_id || subChat.message_id;
10701
10776
  const prompt = subChat.prompt || "";
10702
10777
  if (!chatId || !messageId2) continue;
10703
- const title = prompt.substring(0, 30);
10778
+ const title = subChat.title?.trim() || "Sub-chat";
10704
10779
  payloads.push({
10705
10780
  chat_id: chatId,
10706
10781
  parent_id: params.parentChatId,
@@ -15901,10 +15976,23 @@ var OpenMatesClient = class _OpenMatesClient {
15901
15976
  if (result.state !== "ACKNOWLEDGED") throw new Error("Recovery message persistence was not acknowledged.");
15902
15977
  } else if (output.output_kind === "summary") {
15903
15978
  if (typeof content.summary !== "string" || !Number.isSafeInteger(ready2.metadata_v)) throw new Error("Recovery summary was invalid.");
15979
+ const generatedMetadata = {};
15980
+ if (content.source_metadata_v !== void 0) {
15981
+ if (!Number.isSafeInteger(content.source_metadata_v) || Number(content.source_metadata_v) < 0 || content.summary.length > 1e3) throw new Error("Recovery metadata source or summary was invalid.");
15982
+ generatedMetadata.source_metadata_v = content.source_metadata_v;
15983
+ for (const [field3, limit] of [["title", 200], ["category", 100], ["icon", 100]]) {
15984
+ if (content[field3] === void 0) continue;
15985
+ if (typeof content[field3] !== "string" || !content[field3] || content[field3].length > limit) {
15986
+ throw new Error("Recovery generated metadata was invalid.");
15987
+ }
15988
+ generatedMetadata[`encrypted_${field3}`] = await encryptWithAesGcmCombined(content[field3], childKey);
15989
+ }
15990
+ }
15904
15991
  const encryptedSummary = await encryptWithAesGcmCombined(content.summary, childKey);
15905
15992
  const persist = (version2) => request("recovery_output_persist_summary", "recovery_output_summary_persisted", output.record_id, {
15906
15993
  expected_metadata_v: version2,
15907
- encrypted_summary: encryptedSummary
15994
+ encrypted_summary: encryptedSummary,
15995
+ ...generatedMetadata
15908
15996
  });
15909
15997
  let result;
15910
15998
  try {
@@ -16762,9 +16850,12 @@ var OpenMatesClient = class _OpenMatesClient {
16762
16850
  });
16763
16851
  void projectRoutingContext.catch(() => {
16764
16852
  });
16853
+ const catalogEligibleProjectIds = /* @__PURE__ */ new Set();
16765
16854
  const publishProjectRoutingTimed = (context) => {
16766
16855
  projectCandidatesReadyFromSendStartMs ??= Math.round(performance.now() - preWsStartedAt);
16767
- publishProjectRouting(deferredProjectDirectory ? { ...context, project_focus_candidates: context.project_focus_candidates?.filter((candidate) => candidate.auto_selection === true) } : context);
16856
+ const offered = context.project_focus_candidates?.filter((candidate) => candidate.auto_selection === true) ?? [];
16857
+ for (const candidate of offered) catalogEligibleProjectIds.add(candidate.project_id);
16858
+ publishProjectRouting(deferredProjectDirectory ? { ...context, project_focus_candidates: offered } : context);
16768
16859
  };
16769
16860
  let recoveryMs = 0;
16770
16861
  const contextOwnerIsCurrent = () => {
@@ -16793,6 +16884,23 @@ var OpenMatesClient = class _OpenMatesClient {
16793
16884
  throw error;
16794
16885
  }
16795
16886
  const { ws, ownerId: ownerId2 } = opened;
16887
+ let catalogTurnId = null;
16888
+ let rejectCatalogDelivery;
16889
+ const catalogDeliveryFailure = new Promise((_resolve, reject) => {
16890
+ rejectCatalogDelivery = reject;
16891
+ });
16892
+ void catalogDeliveryFailure.catch(() => {
16893
+ });
16894
+ const stopProjectCatalogResponder = !params.incognito ? registerCliProjectFocusCatalogResponder({
16895
+ ws,
16896
+ client: this,
16897
+ chatId,
16898
+ teamId: teamId ?? null,
16899
+ isCurrent: () => contextOwnerIsCurrent() && !!catalogTurnId && this.activeSubmittedChatTurns.get(chatId) === catalogTurnId,
16900
+ isOfferedProject: (projectId) => catalogEligibleProjectIds.has(projectId),
16901
+ onDeliveryFailure: (error) => rejectCatalogDelivery(error)
16902
+ }) : () => {
16903
+ };
16796
16904
  const consumeSocketMemoryReceipt = async () => {
16797
16905
  if (!socketMemoryReceipt) return;
16798
16906
  const receipt = socketMemoryReceipt;
@@ -17237,6 +17345,7 @@ var OpenMatesClient = class _OpenMatesClient {
17237
17345
  const chatKeyVersion = 1;
17238
17346
  const turnId = privacyTurnId;
17239
17347
  savedTurnId = turnId;
17348
+ catalogTurnId = turnId;
17240
17349
  terminalExpectedMessagesV = baselineMessagesV + 1;
17241
17350
  const recoveryKeypairStartedAt = performance.now();
17242
17351
  const recoveryKeypair = independentRecoveryKeypair ? await independentRecoveryKeypair : await deriveChatCompletionRecoveryKeypair(
@@ -17611,7 +17720,7 @@ var OpenMatesClient = class _OpenMatesClient {
17611
17720
  admissionContinuationPhase = "await_details";
17612
17721
  let context;
17613
17722
  try {
17614
- context = await Promise.race([pendingContext, contextAckRejection]);
17723
+ context = await Promise.race([pendingContext, contextAckRejection, catalogDeliveryFailure]);
17615
17724
  } catch (error) {
17616
17725
  try {
17617
17726
  await notifyContextFailure("context_preparation_failed");
@@ -17641,7 +17750,7 @@ var OpenMatesClient = class _OpenMatesClient {
17641
17750
  await consumeSocketMemoryReceipt();
17642
17751
  await ws.sendAsync("chat_message_added", messagePayload);
17643
17752
  }
17644
- confirmedPayload = (await (contextAckRejection ? Promise.race([confirmed, contextAckRejection]) : confirmed)).payload;
17753
+ confirmedPayload = (await Promise.race([confirmed, catalogDeliveryFailure, ...contextAckRejection ? [contextAckRejection] : []])).payload;
17645
17754
  } catch (error) {
17646
17755
  if (process.env.OPENMATES_DEBUG === "1" && admissionPayload) {
17647
17756
  console.error(`[chat admission continuation] phase=${admissionContinuationPhase} ack_observed=${admissionAckObserved} routing_sent=${routingFrameSent} details_sent=${detailsFrameSent} socket_open=${ws.isOpen()} elapsed_ms=${Math.round(performance.now() - admissionContinuationStartedAt)}`);
@@ -17944,6 +18053,7 @@ var OpenMatesClient = class _OpenMatesClient {
17944
18053
  const outcome = await Promise.race([
17945
18054
  responsePromise.then((response) => ({ kind: "response", response })),
17946
18055
  ...contextAckRejection ? [contextAckRejection] : [],
18056
+ catalogDeliveryFailure,
17947
18057
  ...queuedAdmission ? [queuedAdmission.then(
17948
18058
  (frame) => ({ kind: "queued", frame }),
17949
18059
  () => new Promise(() => {
@@ -18335,6 +18445,7 @@ var OpenMatesClient = class _OpenMatesClient {
18335
18445
  promptBudget
18336
18446
  };
18337
18447
  } finally {
18448
+ stopProjectCatalogResponder();
18338
18449
  removeContextAckWatcher?.();
18339
18450
  earlyContextAbort.abort();
18340
18451
  if (!metadataTransportOwned) {
@@ -65973,7 +66084,7 @@ Only output the final Markdown table. Do NOT include explanations, notes, or any
65973
66084
  text: "to unlock all features and to keep your chats and access them across your devices."
65974
66085
  },
65975
66086
  daily_credits_exhausted: {
65976
- text: "You used up your free daily credits. Sign up & buy credits to make full use of OpenMates."
66087
+ text: "You've reached the free usage limit. Sign up to continue."
65977
66088
  }
65978
66089
  },
65979
66090
  interactive_question_failed: {
@@ -77359,7 +77470,7 @@ I'm now clarifying the certainty levels of my current findings on egg price tran
77359
77470
  text: "Job search services"
77360
77471
  },
77361
77472
  description: {
77362
- text: "Used only when you search for jobs. The German Federal Employment Agency and JobTech receive selected search terms, location and applicable filters in server-side requests. Arbeitnow supplies a public feed that OpenMates filters locally. No OpenMates user ID, CV or account credentials are sent. 80,000 Hours sends keywords and country to Algolia; Hard Problems receives only country. Location and other filters stay local."
77473
+ text: "Used only when you search for jobs. The German Federal Employment Agency and JobTech receive selected search terms, location and applicable filters in server-side requests. Arbeitnow supplies a public feed that OpenMates filters locally. No OpenMates user ID, CV or account credentials are sent."
77363
77474
  },
77364
77475
  arbeitsagentur: {
77365
77476
  heading: {
@@ -77384,22 +77495,6 @@ I'm now clarifying the certainty levels of my current findings on egg price tran
77384
77495
  description: {
77385
77496
  text: "OpenMates fetches Arbeitnow\u2019s public job feed. Your keywords, location and filters are applied locally and are not sent to Arbeitnow."
77386
77497
  }
77387
- },
77388
- eighty_thousand_hours: {
77389
- heading: {
77390
- text: "80,000 Hours Job Board"
77391
- },
77392
- description: {
77393
- text: "The public 80,000 Hours job board uses Algolia search. Your keywords and selected country are sent; OpenMates checks location and other filters locally. No OpenMates user ID, CV or account credentials are sent."
77394
- }
77395
- },
77396
- hard_problems: {
77397
- heading: {
77398
- text: "Hard Problems"
77399
- },
77400
- description: {
77401
- text: "OpenMates fetches Hard Problems\u2019 public job feed for your selected country. Your keywords, named location and other filters are checked locally and are not sent to Hard Problems. No OpenMates user ID, CV or account credentials are sent."
77402
- }
77403
77498
  }
77404
77499
  }
77405
77500
  },
@@ -89361,6 +89456,14 @@ I'm now clarifying the certainty levels of my current findings on egg price tran
89361
89456
  text: "The call is unavailable right now. Please try again."
89362
89457
  }
89363
89458
  },
89459
+ voice_call_events: {
89460
+ started: {
89461
+ text: "You started a voice call"
89462
+ },
89463
+ ended: {
89464
+ text: "You ended a voice call"
89465
+ }
89466
+ },
89364
89467
  voicecall: {
89365
89468
  title: {
89366
89469
  text: "Voice call"
@@ -89381,7 +89484,13 @@ I'm now clarifying the certainty levels of my current findings on egg price tran
89381
89484
  text: "Microphone muted"
89382
89485
  },
89383
89486
  assistant_speaking: {
89384
- text: "Gemini is speaking"
89487
+ text: "OpenMates is speaking\u2026"
89488
+ },
89489
+ working: {
89490
+ text: "OpenMates is working\u2026"
89491
+ },
89492
+ input_idle: {
89493
+ text: "Speak to resume call."
89385
89494
  },
89386
89495
  interrupted: {
89387
89496
  text: "(interrupted)"
@@ -89392,6 +89501,12 @@ I'm now clarifying the certainty levels of my current findings on egg price tran
89392
89501
  credits_per_minute: {
89393
89502
  text: "credits/min"
89394
89503
  },
89504
+ usage_based_pricing: {
89505
+ text: "Usage-based pricing"
89506
+ },
89507
+ pricing_explanation: {
89508
+ text: "Charges depend on audio, replies and conversation context. Listening includes silence until automatic idle pauses audio input. Muting also pauses input charges; replies and processing can still cost credits. There is no flat fee for staying connected."
89509
+ },
89395
89510
  return_to_chat: {
89396
89511
  text: "Return to chat"
89397
89512
  },
@@ -89444,16 +89559,58 @@ I'm now clarifying the certainty levels of my current findings on egg price tran
89444
89559
  text: "The transcript could not be saved. The call was stopped."
89445
89560
  },
89446
89561
  unsupported_content: {
89447
- text: "Attachments and app skills are not available in voice calls yet. Your draft is saved."
89562
+ text: "Attachments and app selections from the composer are not supported during calls yet. Ask to use an app in your message. Your draft is saved."
89448
89563
  },
89449
89564
  text_only_hint: {
89450
- text: "Voice call: text only. Attachments and app skills are unavailable for now."
89565
+ text: "Voice call: type a message or ask to use an app. Attachments are not available yet."
89451
89566
  },
89452
89567
  text_too_long: {
89453
89568
  text: "Voice call messages can contain up to 8,000 characters. Your draft is preserved."
89454
89569
  },
89455
89570
  recording_disabled: {
89456
89571
  text: "Recording is unavailable during a voice call."
89572
+ },
89573
+ context_too_large: {
89574
+ text: "This chat has more context than a voice call can load. Continue with text."
89575
+ },
89576
+ context_unavailable: {
89577
+ text: "This chat\u2019s context could not be loaded safely. Continue with text or try again."
89578
+ },
89579
+ video_call: {
89580
+ text: "Video call"
89581
+ },
89582
+ video_coming_soon: {
89583
+ text: "Video calls are coming soon."
89584
+ },
89585
+ more_actions: {
89586
+ text: "More chat actions"
89587
+ },
89588
+ close_chat: {
89589
+ text: "Close chat"
89590
+ },
89591
+ start_hint: {
89592
+ text: "Voice calls use Google Gemini with usage-based billing."
89593
+ },
89594
+ retry: {
89595
+ text: "Try again"
89596
+ },
89597
+ privacy_title: {
89598
+ text: "Before your first voice call"
89599
+ },
89600
+ privacy_description: {
89601
+ text: "Google processes your voice and the conversation context shared with this call. Google states that data sent through its paid Gemini API is not used to train its models."
89602
+ },
89603
+ privacy_terms: {
89604
+ text: "Google Gemini API terms"
89605
+ },
89606
+ privacy_continue: {
89607
+ text: "Continue"
89608
+ },
89609
+ privacy_saving: {
89610
+ text: "Saving\u2026"
89611
+ },
89612
+ privacy_save_failed: {
89613
+ text: "Your acknowledgement could not be saved. Try again to start the call."
89457
89614
  }
89458
89615
  },
89459
89616
  waiting_list: {
@@ -213,7 +213,7 @@ interface SendEmbedDataFrame {
213
213
  created_at?: number;
214
214
  }>;
215
215
  }
216
- type SubChatEventType = "spawn_sub_chats" | "sub_chat_progress" | "sub_chat_confirmation_required" | "sub_chat_confirmation_resolved" | "awaiting_sub_chats_completion" | "sub_chat_completed" | "awaiting_user_input";
216
+ type SubChatEventType = "spawn_sub_chats" | "sub_chat_progress" | "sub_chat_confirmation_required" | "sub_chat_confirmation_resolved" | "awaiting_sub_chats_completion" | "sub_chat_completed" | "sub_chat_metadata" | "awaiting_user_input";
217
217
  interface SubChatEvent {
218
218
  type: SubChatEventType;
219
219
  payload: Record<string, unknown>;
@@ -1082,6 +1082,7 @@ interface ExternalChatContext extends ExternalChatRef {
1082
1082
  }
1083
1083
 
1084
1084
  interface CliSubChatRequest {
1085
+ title?: string;
1085
1086
  id?: string;
1086
1087
  chat_id?: string;
1087
1088
  user_message_id?: string;
package/dist/cli.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- export { al as ImagesAiDetectionClassification, am as ImagesAiDetectionSummary, aL as assertTrustedAccountCommandAllowed, aM as assertTrustedAccountGuardEnvironment, aD as buildImagesAiDetectionSummary, aN as buildProjectDefaultFocus, aO as buildTravelConnectionsRequest, aE as classifyImagesAiDetection, aP as extractExplicitProjectMentions, aG as formatImagesAiDetectionLabel, aH as getExtForLang, aQ as handleWiki, aR as printWhoAmI, aS as readRootProjectInstructions, aT as renderProjectReadApprovalRequest, aU as renderProjectWriteApprovalRequest, aV as renderRemoteCommandEvent, aW as requireExactConfirmation, aX as resolveProjectContext, aK as serializeToYaml, aY as shouldRequireTrustedAccountGuard, aZ as waitForSafeE2ETotpWindow, a_ as waitForWorkflowRun } from './cli-YqU8OOuk.js';
2
+ export { al as ImagesAiDetectionClassification, am as ImagesAiDetectionSummary, aL as assertTrustedAccountCommandAllowed, aM as assertTrustedAccountGuardEnvironment, aD as buildImagesAiDetectionSummary, aN as buildProjectDefaultFocus, aO as buildTravelConnectionsRequest, aE as classifyImagesAiDetection, aP as extractExplicitProjectMentions, aG as formatImagesAiDetectionLabel, aH as getExtForLang, aQ as handleWiki, aR as printWhoAmI, aS as readRootProjectInstructions, aT as renderProjectReadApprovalRequest, aU as renderProjectWriteApprovalRequest, aV as renderRemoteCommandEvent, aW as requireExactConfirmation, aX as resolveProjectContext, aK as serializeToYaml, aY as shouldRequireTrustedAccountGuard, aZ as waitForSafeE2ETotpWindow, a_ as waitForWorkflowRun } from './cli-D5UofdbI.js';
3
3
  import '@repo/pairing-crypto/direct-chat';
package/dist/cli.js CHANGED
@@ -21,7 +21,7 @@ import {
21
21
  shouldRequireTrustedAccountGuard,
22
22
  waitForSafeE2ETotpWindow,
23
23
  waitForWorkflowRun
24
- } from "./chunk-EGFP6UOU.js";
24
+ } from "./chunk-VWHSRZOC.js";
25
25
  import "./chunk-IWKP55ZB.js";
26
26
  import "./chunk-F2U6KIMR.js";
27
27
  import "./chunk-W5Q6FXNZ.js";
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { O as OpenMatesSession, U as UserPlanStatus, a as UserPlanRecord, b as UserPlanVerificationStatus, c as UserPlanLearningType, d as UserPlanLearningTargetKind, e as UserPlanLearningStatus, f as UserPlanLearningLevel, g as UserPlanLearningRecord, h as UserPlanCriterionRecord, i as UserPlanVerificationRecord, j as UserPlanCreateInput, k as UserPlanUpdateInput, B as BuyerAddress, P as ProjectItemRecord, T as TaskCreateOptions, l as TaskUpdateOptions, m as UserPlanLearningCreateTasksInput, n as UserPlanLearningCreateTasksResult, o as UserTaskStatus, E as ExternalChatContext, p as TaskPriorityLevel, D as DecryptedUserTask, q as DecryptedTaskActivityEntry, r as TaskActivityCreateOptions, s as UserTaskReorderInput, W as WorkflowSummary, t as WorkflowCapability, u as WorkflowDetail, v as WorkflowAuthoringWarning, w as WorkflowInputStartParams, x as WorkflowInputSessionResult, y as WorkflowInputSessionDetail, z as WorkflowInputEvent, A as WorkflowGraph, C as WorkflowRunContentRetention, F as WorkflowRunOnceOptions, G as WorkflowRunDetail, H as WorkflowRunOptions, I as WorkflowNode, J as WorkflowRunCancellationResult, K as WorkflowTemplateProjectionUpsertParams, L as WorkflowTemplateProjectionResult, M as PublicWorkflowTemplateProjection, N as WorkflowTemplateProjectionRevocationResult, Q as WorkflowTemplateBindingCompletionParams, R as WorkflowTemplateBindingCompletionResult, S as WorkflowTemplateShortUrlParams, V as WorkflowTemplateShortUrlResult, X as ShortUrlRevokeResult, Y as WorkflowTemplateImportPayload, Z as ImportedWorkflowTemplate, _ as WikipediaLearningBundle } from './cli-YqU8OOuk.js';
2
- export { $ as AuthMethodsStatus, a0 as AuthoritativeChatReconciliation, a1 as BackupCodesResult, a2 as BankTransferOrderDetails, a3 as BankTransferStatus, a4 as CachedChat, a5 as CachedNewChatSuggestion, a6 as ChatListPage, a7 as CliSignupResult, a8 as CliTurnMetadata, a9 as DecryptedDraft, aa as DecryptedEmbed, ab as DecryptedMemoryEntry, ac as DecryptedMessage, ad as DecryptedNewChatSuggestion, ae as DocsFile, af as DocsFolder, ag as DocsSearchResult, ah as DocsTree, ai as EncryptedDraft, aj as GiftCardBankTransferStatus, ak as INTEREST_TAG_IDS, al as ImagesAiDetectionClassification, am as ImagesAiDetectionSummary, an as InterestTagId, ao as MATE_NAMES, ap as MEMORY_TYPE_REGISTRY, aq as MemoryFieldDef, ar as MemoryTypeDef, as as OpenMatesClient, at as OpenMatesClientOptions, au as SyncCache, av as TopicPreferencesPayload, aw as TotpSetupStartResult, ax as WorkflowEdge, ay as WorkflowNodeRun, az as WorkflowNodeType, aA as WorkflowReturnedOutputReference, aB as WorkflowRunContentStorage, aC as WorkflowRunRouting, aD as buildImagesAiDetectionSummary, aE as classifyImagesAiDetection, aF as deriveAppUrl, aG as formatImagesAiDetectionLabel, aH as getExtForLang, aI as normalizeInterestTagIds, aJ as reconcileAuthoritativeChats, aK as serializeToYaml } from './cli-YqU8OOuk.js';
1
+ import { O as OpenMatesSession, U as UserPlanStatus, a as UserPlanRecord, b as UserPlanVerificationStatus, c as UserPlanLearningType, d as UserPlanLearningTargetKind, e as UserPlanLearningStatus, f as UserPlanLearningLevel, g as UserPlanLearningRecord, h as UserPlanCriterionRecord, i as UserPlanVerificationRecord, j as UserPlanCreateInput, k as UserPlanUpdateInput, B as BuyerAddress, P as ProjectItemRecord, T as TaskCreateOptions, l as TaskUpdateOptions, m as UserPlanLearningCreateTasksInput, n as UserPlanLearningCreateTasksResult, o as UserTaskStatus, E as ExternalChatContext, p as TaskPriorityLevel, D as DecryptedUserTask, q as DecryptedTaskActivityEntry, r as TaskActivityCreateOptions, s as UserTaskReorderInput, W as WorkflowSummary, t as WorkflowCapability, u as WorkflowDetail, v as WorkflowAuthoringWarning, w as WorkflowInputStartParams, x as WorkflowInputSessionResult, y as WorkflowInputSessionDetail, z as WorkflowInputEvent, A as WorkflowGraph, C as WorkflowRunContentRetention, F as WorkflowRunOnceOptions, G as WorkflowRunDetail, H as WorkflowRunOptions, I as WorkflowNode, J as WorkflowRunCancellationResult, K as WorkflowTemplateProjectionUpsertParams, L as WorkflowTemplateProjectionResult, M as PublicWorkflowTemplateProjection, N as WorkflowTemplateProjectionRevocationResult, Q as WorkflowTemplateBindingCompletionParams, R as WorkflowTemplateBindingCompletionResult, S as WorkflowTemplateShortUrlParams, V as WorkflowTemplateShortUrlResult, X as ShortUrlRevokeResult, Y as WorkflowTemplateImportPayload, Z as ImportedWorkflowTemplate, _ as WikipediaLearningBundle } from './cli-D5UofdbI.js';
2
+ export { $ as AuthMethodsStatus, a0 as AuthoritativeChatReconciliation, a1 as BackupCodesResult, a2 as BankTransferOrderDetails, a3 as BankTransferStatus, a4 as CachedChat, a5 as CachedNewChatSuggestion, a6 as ChatListPage, a7 as CliSignupResult, a8 as CliTurnMetadata, a9 as DecryptedDraft, aa as DecryptedEmbed, ab as DecryptedMemoryEntry, ac as DecryptedMessage, ad as DecryptedNewChatSuggestion, ae as DocsFile, af as DocsFolder, ag as DocsSearchResult, ah as DocsTree, ai as EncryptedDraft, aj as GiftCardBankTransferStatus, ak as INTEREST_TAG_IDS, al as ImagesAiDetectionClassification, am as ImagesAiDetectionSummary, an as InterestTagId, ao as MATE_NAMES, ap as MEMORY_TYPE_REGISTRY, aq as MemoryFieldDef, ar as MemoryTypeDef, as as OpenMatesClient, at as OpenMatesClientOptions, au as SyncCache, av as TopicPreferencesPayload, aw as TotpSetupStartResult, ax as WorkflowEdge, ay as WorkflowNodeRun, az as WorkflowNodeType, aA as WorkflowReturnedOutputReference, aB as WorkflowRunContentStorage, aC as WorkflowRunRouting, aD as buildImagesAiDetectionSummary, aE as classifyImagesAiDetection, aF as deriveAppUrl, aG as formatImagesAiDetectionLabel, aH as getExtForLang, aI as normalizeInterestTagIds, aJ as reconcileAuthoritativeChats, aK as serializeToYaml } from './cli-D5UofdbI.js';
3
3
  import { DirectChatKeyPair } from '@repo/pairing-crypto/direct-chat';
4
4
 
5
5
  type ChatModelSelection = "auto" | (string & {});
package/dist/index.js CHANGED
@@ -44,7 +44,7 @@ import {
44
44
  selectAssistantMessagesForSpeech,
45
45
  serializeToYaml,
46
46
  summarizeAssistantSpeech
47
- } from "./chunk-EGFP6UOU.js";
47
+ } from "./chunk-VWHSRZOC.js";
48
48
  import "./chunk-IWKP55ZB.js";
49
49
  import "./chunk-F2U6KIMR.js";
50
50
  import "./chunk-W5Q6FXNZ.js";
@@ -17,47 +17,47 @@
17
17
  {
18
18
  "name": "libggml-base.so",
19
19
  "bytes": 1110088,
20
- "sha256": "929dc98685d3d1eb8bd0c15b615dadbbe5d6a0083078500938333de4e5e42668"
20
+ "sha256": "9ad6eefaf1c21d6b023bb6d5cfe693e3a71186bd484fadfd949c5dd925369e17"
21
21
  },
22
22
  {
23
23
  "name": "libggml-base.so.0",
24
24
  "bytes": 1110088,
25
- "sha256": "929dc98685d3d1eb8bd0c15b615dadbbe5d6a0083078500938333de4e5e42668"
25
+ "sha256": "9ad6eefaf1c21d6b023bb6d5cfe693e3a71186bd484fadfd949c5dd925369e17"
26
26
  },
27
27
  {
28
28
  "name": "libggml-base.so.0.15.1",
29
29
  "bytes": 1110088,
30
- "sha256": "929dc98685d3d1eb8bd0c15b615dadbbe5d6a0083078500938333de4e5e42668"
30
+ "sha256": "9ad6eefaf1c21d6b023bb6d5cfe693e3a71186bd484fadfd949c5dd925369e17"
31
31
  },
32
32
  {
33
33
  "name": "libggml-cpu.so",
34
34
  "bytes": 869800,
35
- "sha256": "93abad6bbcaab3650f5cbc309b95311798a39e5a7a2367be0a21dba86d67c59c"
35
+ "sha256": "9039984ef1861e0703346f7c5120800264b91813d2b283a2d8a018edd45da044"
36
36
  },
37
37
  {
38
38
  "name": "libggml-cpu.so.0",
39
39
  "bytes": 869800,
40
- "sha256": "93abad6bbcaab3650f5cbc309b95311798a39e5a7a2367be0a21dba86d67c59c"
40
+ "sha256": "9039984ef1861e0703346f7c5120800264b91813d2b283a2d8a018edd45da044"
41
41
  },
42
42
  {
43
43
  "name": "libggml-cpu.so.0.15.1",
44
44
  "bytes": 869800,
45
- "sha256": "93abad6bbcaab3650f5cbc309b95311798a39e5a7a2367be0a21dba86d67c59c"
45
+ "sha256": "9039984ef1861e0703346f7c5120800264b91813d2b283a2d8a018edd45da044"
46
46
  },
47
47
  {
48
48
  "name": "libggml.so",
49
49
  "bytes": 1899104,
50
- "sha256": "8707b74abcf21714e099e5ee49cf5430b018e4c981a4ca335b8f0ed13e506dce"
50
+ "sha256": "d3662569209cc36c018b50ffe519fca9861127cae94fa30714d5f78186fe7c75"
51
51
  },
52
52
  {
53
53
  "name": "libggml.so.0",
54
54
  "bytes": 1899104,
55
- "sha256": "8707b74abcf21714e099e5ee49cf5430b018e4c981a4ca335b8f0ed13e506dce"
55
+ "sha256": "d3662569209cc36c018b50ffe519fca9861127cae94fa30714d5f78186fe7c75"
56
56
  },
57
57
  {
58
58
  "name": "libggml.so.0.15.1",
59
59
  "bytes": 1899104,
60
- "sha256": "8707b74abcf21714e099e5ee49cf5430b018e4c981a4ca335b8f0ed13e506dce"
60
+ "sha256": "d3662569209cc36c018b50ffe519fca9861127cae94fa30714d5f78186fe7c75"
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.27.0-alpha.81",
3
+ "version": "0.27.0-alpha.83",
4
4
  "description": "OpenMates CLI and SDK",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",