@yoooclaw/phone-notifications 1.11.2-beta.0 → 1.11.2-beta.1

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.cjs CHANGED
@@ -270,14 +270,16 @@ var init_env = __esm({
270
270
  relayTunnelUrl: "wss://openclaw-service-dev.yoooclaw.com/message/messages/ws/plugin",
271
271
  appNameMapUrl: "https://openclaw-service-dev.yoooclaw.com/api/application-config/app-package/config-all",
272
272
  modelProxyLongRecordingSubmitTaskUrl: "https://openclaw-service-dev.yoooclaw.com/api/model-proxy/long-recording/submit-task",
273
- modelProxyLongRecordingQueryTaskResultBaseUrl: "https://openclaw-service-dev.yoooclaw.com/api/model-proxy/long-recording/query-task-result"
273
+ modelProxyLongRecordingQueryTaskResultBaseUrl: "https://openclaw-service-dev.yoooclaw.com/api/model-proxy/long-recording/query-task-result",
274
+ accountFileDeleteUrl: "https://openclaw-service-dev.yoooclaw.com/account/file/delete"
274
275
  },
275
276
  production: {
276
277
  lightApiUrl: "https://openclaw-service.yoootek.com/api/message/tob/sendMessage",
277
278
  relayTunnelUrl: "wss://openclaw-service.yoootek.com/message/messages/ws/plugin",
278
279
  appNameMapUrl: "https://openclaw-service.yoootek.com/api/application-config/app-package/config-all",
279
280
  modelProxyLongRecordingSubmitTaskUrl: "https://openclaw-service.yoootek.com/api/model-proxy/long-recording/submit-task",
280
- modelProxyLongRecordingQueryTaskResultBaseUrl: "https://openclaw-service.yoootek.com/api/model-proxy/long-recording/query-task-result"
281
+ modelProxyLongRecordingQueryTaskResultBaseUrl: "https://openclaw-service.yoootek.com/api/model-proxy/long-recording/query-task-result",
282
+ accountFileDeleteUrl: "https://openclaw-service.yoootek.com/account/file/delete"
281
283
  }
282
284
  };
283
285
  VALID_ENVS = new Set(Object.keys(ENV_CONFIG));
@@ -1796,7 +1798,7 @@ var init_asr = __esm({
1796
1798
  init_env();
1797
1799
  init_transcript_document();
1798
1800
  DEFAULT_LONG_RECORDING_POLL_INTERVAL_MS = 2e3;
1799
- DEFAULT_LONG_RECORDING_MAX_POLL_ATTEMPTS = 1800;
1801
+ DEFAULT_LONG_RECORDING_MAX_POLL_ATTEMPTS = 3600;
1800
1802
  LONG_RECORDING_RUNNING_STATUSES = /* @__PURE__ */ new Set(["PENDING", "RUNNING", "SUSPENDED"]);
1801
1803
  LONG_RECORDING_TERMINAL_FAILURE_STATUSES = /* @__PURE__ */ new Set(["FAILED", "CANCELED", "UNKNOWN"]);
1802
1804
  }
@@ -5436,7 +5438,7 @@ function readBuildInjectedVersion() {
5436
5438
  if (false) {
5437
5439
  return void 0;
5438
5440
  }
5439
- const version = "1.11.2-beta.0".trim();
5441
+ const version = "1.11.2-beta.1".trim();
5440
5442
  return version || void 0;
5441
5443
  }
5442
5444
  function readPluginVersionFromPackageJson() {
@@ -10661,6 +10663,63 @@ init_whisper_local();
10661
10663
 
10662
10664
  // src/recording/handler.ts
10663
10665
  init_asr();
10666
+
10667
+ // src/recording/account-oss.ts
10668
+ init_credentials();
10669
+ init_env();
10670
+ async function deleteAccountOssFile(fileUrl, logger) {
10671
+ const trimmed = fileUrl?.trim();
10672
+ if (!trimmed) {
10673
+ return { ok: false, error: "fileUrl is empty" };
10674
+ }
10675
+ const apiKey = loadApiKey();
10676
+ if (!apiKey) {
10677
+ return { ok: false, error: "API Key \u672A\u8BBE\u7F6E\uFF0C\u8DF3\u8FC7 OSS \u6587\u4EF6\u5220\u9664" };
10678
+ }
10679
+ const endpoint = getEnvUrls().accountFileDeleteUrl;
10680
+ const headerKey = apiKey.startsWith("Bearer ") ? apiKey.slice("Bearer ".length) : apiKey;
10681
+ const body = new URLSearchParams({ fileUrl: trimmed }).toString();
10682
+ logger.info(`[account-oss-delete] \u63D0\u4EA4 OSS \u6587\u4EF6\u5220\u9664: endpoint=${endpoint}, fileUrl=${trimmed}`);
10683
+ let res;
10684
+ try {
10685
+ res = await fetch(endpoint, {
10686
+ method: "POST",
10687
+ headers: {
10688
+ "Content-Type": "application/x-www-form-urlencoded",
10689
+ "X-Api-Key-Id": headerKey
10690
+ },
10691
+ body
10692
+ });
10693
+ } catch (err2) {
10694
+ const error = err2?.message ?? String(err2);
10695
+ logger.warn(`[account-oss-delete] \u7F51\u7EDC\u5F02\u5E38: ${error}`);
10696
+ return { ok: false, error };
10697
+ }
10698
+ const text = await res.text();
10699
+ if (!res.ok) {
10700
+ logger.warn(
10701
+ `[account-oss-delete] HTTP \u9519\u8BEF: status=${res.status}, body=${text.slice(0, 300)}`
10702
+ );
10703
+ return { ok: false, error: `HTTP ${res.status} ${text.slice(0, 200)}` };
10704
+ }
10705
+ let payload;
10706
+ try {
10707
+ payload = text ? JSON.parse(text) : void 0;
10708
+ } catch {
10709
+ logger.warn(`[account-oss-delete] \u54CD\u5E94\u975E JSON: body=${text.slice(0, 300)}`);
10710
+ return { ok: false, error: "response is not JSON" };
10711
+ }
10712
+ const code = typeof payload?.code === "number" ? String(payload.code) : payload?.code?.trim?.();
10713
+ if (code !== "000000") {
10714
+ const msg = payload?.msg?.trim?.() || text.slice(0, 200);
10715
+ logger.warn(`[account-oss-delete] \u4E1A\u52A1\u5931\u8D25: code=${code ?? "n/a"}, msg=${msg}`);
10716
+ return { ok: false, error: `${code ?? "unknown"} ${msg}`.trim() };
10717
+ }
10718
+ logger.info(`[account-oss-delete] OSS \u6587\u4EF6\u5DF2\u5220\u9664: fileUrl=${trimmed}`);
10719
+ return { ok: true };
10720
+ }
10721
+
10722
+ // src/recording/handler.ts
10664
10723
  function emitRecordingStatus(recordingId, storage, logger, notifyStatus, error, extras) {
10665
10724
  if (!notifyStatus) {
10666
10725
  return;
@@ -10841,6 +10900,14 @@ async function triggerTranscription(recordingId, storage, asrConfig, logger, opt
10841
10900
  logger.info(
10842
10901
  `[asr-trigger] \u8F6C\u5199\u5B8C\u6210: ${recordingId}, summary="${result.summary}"`
10843
10902
  );
10903
+ const ossAudioUrl = entry.metadata.oss_audio_url?.trim();
10904
+ if (ossAudioUrl) {
10905
+ void deleteAccountOssFile(ossAudioUrl, logger).catch((err2) => {
10906
+ logger.warn(
10907
+ `[asr-trigger] OSS \u97F3\u9891\u6E05\u7406\u5F02\u5E38 (\u975E\u81F4\u547D): ${recordingId}, ${err2?.message ?? err2}`
10908
+ );
10909
+ });
10910
+ }
10844
10911
  } else {
10845
10912
  storage.updateStatus(recordingId, "transcribe_failed");
10846
10913
  emitRecordingStatus(