@framers/agentos 0.12.24 → 0.13.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.
Files changed (57) hide show
  1. package/dist/api/AgentOS.d.ts +15 -0
  2. package/dist/api/AgentOS.d.ts.map +1 -1
  3. package/dist/api/AgentOS.js +82 -0
  4. package/dist/api/AgentOS.js.map +1 -1
  5. package/dist/api/gmi.d.ts.map +1 -1
  6. package/dist/api/gmi.js +14 -0
  7. package/dist/api/gmi.js.map +1 -1
  8. package/dist/api/runtime/AgentOSOrchestrator.d.ts.map +1 -1
  9. package/dist/api/runtime/AgentOSOrchestrator.js +23 -0
  10. package/dist/api/runtime/AgentOSOrchestrator.js.map +1 -1
  11. package/dist/api/runtime/gmiSession.d.ts +14 -4
  12. package/dist/api/runtime/gmiSession.d.ts.map +1 -1
  13. package/dist/api/runtime/gmiSession.js +113 -38
  14. package/dist/api/runtime/gmiSession.js.map +1 -1
  15. package/dist/api/runtime/gmiTranscript.d.ts +7 -6
  16. package/dist/api/runtime/gmiTranscript.d.ts.map +1 -1
  17. package/dist/api/runtime/gmiTranscript.js +6 -5
  18. package/dist/api/runtime/gmiTranscript.js.map +1 -1
  19. package/dist/api/types/AgentOSInput.d.ts +5 -0
  20. package/dist/api/types/AgentOSInput.d.ts.map +1 -1
  21. package/dist/api/types/OrchestratorConfig.d.ts +3 -0
  22. package/dist/api/types/OrchestratorConfig.d.ts.map +1 -1
  23. package/dist/cognition/emergent/executor/QuickJSExecutor.d.ts +8 -0
  24. package/dist/cognition/emergent/executor/QuickJSExecutor.d.ts.map +1 -1
  25. package/dist/cognition/emergent/executor/QuickJSExecutor.js +193 -36
  26. package/dist/cognition/emergent/executor/QuickJSExecutor.js.map +1 -1
  27. package/dist/cognition/emergent/executor/guest-prelude.d.ts +4 -0
  28. package/dist/cognition/emergent/executor/guest-prelude.d.ts.map +1 -1
  29. package/dist/cognition/emergent/executor/guest-prelude.js +21 -1
  30. package/dist/cognition/emergent/executor/guest-prelude.js.map +1 -1
  31. package/dist/cognition/emergent/executor/guest-surface.d.ts.map +1 -1
  32. package/dist/cognition/emergent/executor/guest-surface.js +7 -2
  33. package/dist/cognition/emergent/executor/guest-surface.js.map +1 -1
  34. package/dist/core/utils/errors.d.ts +4 -0
  35. package/dist/core/utils/errors.d.ts.map +1 -1
  36. package/dist/core/utils/errors.js +8 -0
  37. package/dist/core/utils/errors.js.map +1 -1
  38. package/dist/io/speech/SpeechRuntime.d.ts.map +1 -1
  39. package/dist/io/speech/SpeechRuntime.js +5 -0
  40. package/dist/io/speech/SpeechRuntime.js.map +1 -1
  41. package/dist/io/speech/providers/MiniMaxTextToSpeechProvider.d.ts +34 -3
  42. package/dist/io/speech/providers/MiniMaxTextToSpeechProvider.d.ts.map +1 -1
  43. package/dist/io/speech/providers/MiniMaxTextToSpeechProvider.js +120 -11
  44. package/dist/io/speech/providers/MiniMaxTextToSpeechProvider.js.map +1 -1
  45. package/dist/safety/runtime/SpendMeter.d.ts +135 -0
  46. package/dist/safety/runtime/SpendMeter.d.ts.map +1 -0
  47. package/dist/safety/runtime/SpendMeter.js +61 -0
  48. package/dist/safety/runtime/SpendMeter.js.map +1 -0
  49. package/dist/safety/runtime/SqlSpendMeter.d.ts +78 -0
  50. package/dist/safety/runtime/SqlSpendMeter.d.ts.map +1 -0
  51. package/dist/safety/runtime/SqlSpendMeter.js +268 -0
  52. package/dist/safety/runtime/SqlSpendMeter.js.map +1 -0
  53. package/dist/safety/runtime/index.d.ts +4 -0
  54. package/dist/safety/runtime/index.d.ts.map +1 -1
  55. package/dist/safety/runtime/index.js +2 -0
  56. package/dist/safety/runtime/index.js.map +1 -1
  57. package/package.json +1 -1
@@ -55,6 +55,10 @@ export var GMIErrorCode;
55
55
  GMIErrorCode["PERMISSION_DENIED"] = "AUTH_PERMISSION_DENIED";
56
56
  GMIErrorCode["ACCESS_DENIED"] = "AUTH_ACCESS_DENIED";
57
57
  GMIErrorCode["SUBSCRIPTION_ERROR"] = "AUTH_SUBSCRIPTION_ERROR";
58
+ /** The account's allowance for the period has no room for the request (the spend meter). */
59
+ GMIErrorCode["ALLOWANCE_EXHAUSTED"] = "BILLING_ALLOWANCE_EXHAUSTED";
60
+ /** The spend meter's store could not answer, so the request was not run. */
61
+ GMIErrorCode["SPEND_METER_UNAVAILABLE"] = "SYS_SPEND_METER_UNAVAILABLE";
58
62
  GMIErrorCode["PERSONA_NOT_FOUND"] = "GMI_PERSONA_NOT_FOUND";
59
63
  GMIErrorCode["PERSONA_LOAD_ERROR"] = "GMI_PERSONA_LOAD_ERROR";
60
64
  GMIErrorCode["GMI_INITIALIZATION_ERROR"] = "GMI_INITIALIZATION_ERROR";
@@ -108,6 +112,8 @@ const statusCodeMap = {
108
112
  [GMIErrorCode.PERMISSION_DENIED]: 403,
109
113
  [GMIErrorCode.ACCESS_DENIED]: 403,
110
114
  [GMIErrorCode.SUBSCRIPTION_ERROR]: 402,
115
+ [GMIErrorCode.ALLOWANCE_EXHAUSTED]: 402,
116
+ [GMIErrorCode.SPEND_METER_UNAVAILABLE]: 503,
111
117
  [GMIErrorCode.LLM_PROVIDER_UNAVAILABLE]: 503,
112
118
  };
113
119
  const userFriendlyMessageMap = {
@@ -121,6 +127,8 @@ const userFriendlyMessageMap = {
121
127
  [GMIErrorCode.PERSONA_NOT_FOUND]: 'That persona is not available.',
122
128
  [GMIErrorCode.SUBSCRIPTION_ERROR]: 'Please upgrade your plan to access this feature.',
123
129
  [GMIErrorCode.RATE_LIMIT_EXCEEDED]: 'You are sending requests too quickly. Please slow down.',
130
+ [GMIErrorCode.ALLOWANCE_EXHAUSTED]: 'This account has used its allowance for the period.',
131
+ [GMIErrorCode.SPEND_METER_UNAVAILABLE]: 'The request could not be counted just now, so it was not run. Please try again shortly.',
124
132
  };
125
133
  export class GMIError extends Error {
126
134
  constructor(message, code, details, component, httpStatusCode, cause) {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/core/utils/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/core/utils/errors.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SpeechRuntime.d.ts","sourceRoot":"","sources":["../../../src/io/speech/SpeechRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAQ7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAWnD,OAAO,KAAK,EACV,oBAAoB,EACpB,0BAA0B,EAE1B,mBAAmB,EACnB,0BAA0B,EAC1B,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAqB;IAC5D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAqB;IAE5D,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;gBAE9B,MAAM,GAAE,mBAAwB;IAiH5C,mBAAmB,IAAI,sBAAsB;IAM7C,mBAAmB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI;IAKzD,mBAAmB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI;IAKzD,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAKtD,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAK1D,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IA2B5D;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,GAAG,SAAS;IAQ7E;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,GAAG,SAAS;IAQ7E,aAAa,CAAC,MAAM,GAAE,0BAA+B,GAAG,aAAa;IAkBrE,aAAa,IAAI,KAAK,CAAC,0BAA0B,GAAG;QAAE,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC;IAO5E,WAAW,CACT,EAAE,EAAE,MAAM,GAER,oBAAoB,GACpB,oBAAoB,GACpB,iBAAiB,GACjB,gBAAgB,GAChB,SAAS;IASb,OAAO,CAAC,oBAAoB;IAe5B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAkClC,OAAO,CAAC,yBAAyB;IAWjC,OAAO,CAAC,yBAAyB;IAYjC,OAAO,CAAC,yBAAyB;IAOjC,OAAO,CAAC,8BAA8B;CAGvC;AAED,wBAAgB,mBAAmB,CAAC,MAAM,GAAE,mBAAwB,GAAG,aAAa,CAEnF;AAED,wBAAgB,0BAA0B,CACxC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,EACrD,MAAM,GAAE,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAM,GAC5C,aAAa,CAMf;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAKlF"}
1
+ {"version":3,"file":"SpeechRuntime.d.ts","sourceRoot":"","sources":["../../../src/io/speech/SpeechRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAQ7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAWnD,OAAO,KAAK,EACV,oBAAoB,EACpB,0BAA0B,EAE1B,mBAAmB,EACnB,0BAA0B,EAC1B,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAqB;IAC5D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAqB;IAE5D,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;gBAE9B,MAAM,GAAE,mBAAwB;IAsH5C,mBAAmB,IAAI,sBAAsB;IAM7C,mBAAmB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI;IAKzD,mBAAmB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI;IAKzD,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAKtD,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAK1D,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IA2B5D;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,GAAG,SAAS;IAQ7E;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,GAAG,SAAS;IAQ7E,aAAa,CAAC,MAAM,GAAE,0BAA+B,GAAG,aAAa;IAkBrE,aAAa,IAAI,KAAK,CAAC,0BAA0B,GAAG;QAAE,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC;IAO5E,WAAW,CACT,EAAE,EAAE,MAAM,GAER,oBAAoB,GACpB,oBAAoB,GACpB,iBAAiB,GACjB,gBAAgB,GAChB,SAAS;IASb,OAAO,CAAC,oBAAoB;IAe5B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAkClC,OAAO,CAAC,yBAAyB;IAWjC,OAAO,CAAC,yBAAyB;IAYjC,OAAO,CAAC,yBAAyB;IAOjC,OAAO,CAAC,8BAA8B;CAGvC;AAED,wBAAgB,mBAAmB,CAAC,MAAM,GAAE,mBAAwB,GAAG,aAAa,CAEnF;AAED,wBAAgB,0BAA0B,CACxC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,EACrD,MAAM,GAAE,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAM,GAC5C,aAAa,CAMf;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAKlF"}
@@ -108,6 +108,11 @@ export class SpeechRuntime {
108
108
  region: env['MINIMAX_REGION'] === 'china' ? 'china' : 'global',
109
109
  model: env['MINIMAX_TTS_MODEL'] ?? 'speech-2.8-hd',
110
110
  voice: env['MINIMAX_TTS_VOICE'],
111
+ // The hosts URL output may be downloaded from, comma-separated.
112
+ audioUrlHosts: env['MINIMAX_TTS_AUDIO_URL_HOSTS']
113
+ ?.split(',')
114
+ .map((host) => host.trim())
115
+ .filter(Boolean),
111
116
  });
112
117
  this.registry.registerTtsProvider(tts);
113
118
  this.registerProviderInResolver(tts, 'tts');
@@ -1 +1 @@
1
- {"version":3,"file":"SpeechRuntime.js","sourceRoot":"","sources":["../../../src/io/speech/SpeechRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpeechRuntime.js","sourceRoot":"","sources":["../../../src/io/speech/SpeechRuntime.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,18 @@ export interface MiniMaxTextToSpeechProviderConfig {
10
10
  voice?: string;
11
11
  baseUrl?: string;
12
12
  webSocketUrl?: string;
13
+ /**
14
+ * Hosts that `outputFormat: "url"` audio may be downloaded from: an exact
15
+ * name such as `"audio.example.com"`, or `"*.example.com"` for that
16
+ * domain's subdomains. MiniMax does not document the host its audio links
17
+ * use, so none is allowed by default and URL output fails, naming the host,
18
+ * until it is listed here. Only `https` links are downloaded.
19
+ */
20
+ audioUrlHosts?: string[];
21
+ /** Time allowed for downloading URL output, in milliseconds. Default: 30,000. */
22
+ audioDownloadTimeoutMs?: number;
23
+ /** The largest URL output accepted, in bytes. Default: 100 MiB. */
24
+ maxAudioDownloadBytes?: number;
13
25
  fetchImpl?: typeof fetch;
14
26
  webSocketFactory?: (url: string, headers: Record<string, string>) => WebSocket;
15
27
  }
@@ -26,9 +38,15 @@ interface MiniMaxBaseResponse {
26
38
  status_code?: number;
27
39
  status_msg?: string;
28
40
  }
41
+ /**
42
+ * MiniMax's async task responses. The ids are int64 values sent as JSON
43
+ * numbers: one that fits a JavaScript number stays a number, and one past
44
+ * 2^53 is kept as its decimal string, since rounding it would name another
45
+ * task or file.
46
+ */
29
47
  export interface MiniMaxAsyncSpeechResponse {
30
- task_id?: string;
31
- file_id?: number;
48
+ task_id?: number | string;
49
+ file_id?: number | string;
32
50
  status?: string;
33
51
  base_resp?: MiniMaxBaseResponse;
34
52
  }
@@ -46,11 +64,24 @@ export declare class MiniMaxTextToSpeechProvider implements TextToSpeechProvider
46
64
  getProviderName(): string;
47
65
  synthesize(text: string, options?: SpeechSynthesisOptions): Promise<SpeechSynthesisResult>;
48
66
  createAsync(text: string, options?: SpeechSynthesisOptions): Promise<MiniMaxAsyncSpeechResponse>;
49
- queryAsync(taskId: string): Promise<MiniMaxAsyncSpeechResponse>;
67
+ /**
68
+ * Query an async task's status: `GET /v1/query/t2a_async_query_v2` with
69
+ * `task_id` as a query parameter.
70
+ * https://platform.minimax.io/docs/api-reference/speech-t2a-async-query
71
+ */
72
+ queryAsync(taskId: string | number): Promise<MiniMaxAsyncSpeechResponse>;
50
73
  synthesizeWebSocket(text: string, options?: SpeechSynthesisOptions): Promise<SpeechSynthesisResult>;
51
74
  private providerOptions;
52
75
  private audioFormat;
53
76
  private buildRequest;
77
+ /**
78
+ * Download the audio a `url` response links to. The link must be `https`
79
+ * on a host in `audioUrlHosts`. The request carries no key, refuses
80
+ * redirects, has a timeout, and fails on a non-2xx status or a body past
81
+ * `maxAudioDownloadBytes`.
82
+ */
83
+ private downloadAudio;
84
+ /** A JSON request to MiniMax: a POST when `body` is given, else a GET. */
54
85
  private request;
55
86
  private result;
56
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MiniMaxTextToSpeechProvider.d.ts","sourceRoot":"","sources":["../../../../src/io/speech/providers/MiniMaxTextToSpeechProvider.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,IAAI,CAAC;AAE3B,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,OAAO,CAAC;AACrD,MAAM,MAAM,wBAAwB,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;AAEtE,eAAO,MAAM,qBAAqB,2JASxB,CAAC;AAcX,MAAM,WAAW,iCAAiC;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,gBAAgB,CAAC,EAAE,CACjB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC5B,SAAS,CAAC;CAChB;AAED,MAAM,WAAW,4BAA4B;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,UAAU,mBAAmB;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAQD,MAAM,WAAW,0BAA0B;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC;AASD,2EAA2E;AAC3E,qBAAa,2BAA4B,YAAW,oBAAoB;IAU1D,OAAO,CAAC,QAAQ,CAAC,MAAM;IATnC,SAAgB,EAAE,iBAAiB;IACnC,SAAgB,WAAW,iBAAiB;IAC5C,SAAgB,iBAAiB,QAAQ;IAEzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;gBAED,MAAM,EAAE,iCAAiC;IAOtE,eAAe,IAAI,MAAM;IAInB,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,qBAAqB,CAAC;IAwB3B,WAAW,CACf,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,0BAA0B,CAAC;IAahC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAI/D,mBAAmB,CACvB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,qBAAqB,CAAC;IA8EjC,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,YAAY;YAwBN,OAAO;IAmCrB,OAAO,CAAC,MAAM;CA4Bf"}
1
+ {"version":3,"file":"MiniMaxTextToSpeechProvider.d.ts","sourceRoot":"","sources":["../../../../src/io/speech/providers/MiniMaxTextToSpeechProvider.ts"],"names":[],"mappings":"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"}
@@ -20,12 +20,63 @@ const MIME_TYPES = {
20
20
  flac: "audio/flac",
21
21
  pcm: "audio/L16",
22
22
  };
23
+ /** How long a URL-output download may take by default: 30 seconds. */
24
+ const DEFAULT_AUDIO_DOWNLOAD_TIMEOUT_MS = 30000;
25
+ /** The largest URL-output download accepted by default: 100 MiB. */
26
+ const DEFAULT_MAX_AUDIO_DOWNLOAD_BYTES = 100 * 1024 * 1024;
23
27
  function decodeHexAudio(value) {
24
28
  if (value.length % 2 !== 0 || !/^[0-9a-f]*$/i.test(value)) {
25
29
  throw new Error("MiniMax speech returned invalid hex audio.");
26
30
  }
27
31
  return Buffer.from(value, "hex");
28
32
  }
33
+ /** An int64 id field of a MiniMax response, written as a JSON integer. */
34
+ const INT64_ID_FIELD = /(?<!\\)("(?:task_id|file_id)"\s*:\s*)(-?\d+)(?=\s*[,}])/g;
35
+ /**
36
+ * Parse a MiniMax JSON body. JSON.parse rounds an integer past 2^53, so an
37
+ * id field holding one is read as its decimal string instead.
38
+ */
39
+ function parseMiniMaxJson(text) {
40
+ return JSON.parse(text.replace(INT64_ID_FIELD, (match, prefix, digits) => Number.isSafeInteger(Number(digits)) ? match : `${prefix}"${digits}"`));
41
+ }
42
+ /** Whether `host` is listed: an exact name, or `*.domain` for its subdomains. */
43
+ function hostAllowed(host, allowed) {
44
+ const name = host.toLowerCase();
45
+ return allowed.some((entry) => {
46
+ const pattern = entry.trim().toLowerCase();
47
+ if (pattern.startsWith("*.")) {
48
+ return pattern.length > 2 && name.endsWith(pattern.slice(1));
49
+ }
50
+ return pattern !== "" && name === pattern;
51
+ });
52
+ }
53
+ function audioTooLarge(limit) {
54
+ return new Error(`MiniMax audio download is larger than ${limit} bytes (maxAudioDownloadBytes).`);
55
+ }
56
+ /** The response body, read until it ends or passes `limit` bytes. */
57
+ async function readCappedBody(response, limit) {
58
+ if (!response.body) {
59
+ const whole = Buffer.from(await response.arrayBuffer());
60
+ if (whole.length > limit)
61
+ throw audioTooLarge(limit);
62
+ return whole;
63
+ }
64
+ const reader = response.body.getReader();
65
+ const chunks = [];
66
+ let total = 0;
67
+ for (;;) {
68
+ const { done, value } = await reader.read();
69
+ if (done)
70
+ break;
71
+ total += value.byteLength;
72
+ if (total > limit) {
73
+ await reader.cancel().catch(() => undefined);
74
+ throw audioTooLarge(limit);
75
+ }
76
+ chunks.push(value);
77
+ }
78
+ return Buffer.concat(chunks, total);
79
+ }
29
80
  /** Text-to-speech provider for MiniMax HTTP, async, and WebSocket APIs. */
30
81
  export class MiniMaxTextToSpeechProvider {
31
82
  constructor(config) {
@@ -56,7 +107,7 @@ export class MiniMaxTextToSpeechProvider {
56
107
  throw new Error("MiniMax speech synthesis completed without audio output.");
57
108
  }
58
109
  const audioBuffer = outputFormat === "url"
59
- ? Buffer.from(await (await this.fetchImpl(audio)).arrayBuffer())
110
+ ? await this.downloadAudio(audio)
60
111
  : decodeHexAudio(audio);
61
112
  return this.result(audioBuffer, text, options, audioFormat, response);
62
113
  }
@@ -64,8 +115,14 @@ export class MiniMaxTextToSpeechProvider {
64
115
  const providerOptions = this.providerOptions(options);
65
116
  return this.request("/v1/t2a_async_v2", this.buildRequest(text, options, providerOptions, this.audioFormat(options, providerOptions)));
66
117
  }
118
+ /**
119
+ * Query an async task's status: `GET /v1/query/t2a_async_query_v2` with
120
+ * `task_id` as a query parameter.
121
+ * https://platform.minimax.io/docs/api-reference/speech-t2a-async-query
122
+ */
67
123
  async queryAsync(taskId) {
68
- return this.request("/v1/query/t2a_async_query_v2", { task_id: taskId });
124
+ const query = new URLSearchParams({ task_id: String(taskId) });
125
+ return this.request(`/v1/query/t2a_async_query_v2?${query.toString()}`);
69
126
  }
70
127
  async synthesizeWebSocket(text, options = {}) {
71
128
  const providerOptions = this.providerOptions(options);
@@ -160,19 +217,71 @@ export class MiniMaxTextToSpeechProvider {
160
217
  voice_modify: providerOptions.voiceModify,
161
218
  };
162
219
  }
220
+ /**
221
+ * Download the audio a `url` response links to. The link must be `https`
222
+ * on a host in `audioUrlHosts`. The request carries no key, refuses
223
+ * redirects, has a timeout, and fails on a non-2xx status or a body past
224
+ * `maxAudioDownloadBytes`.
225
+ */
226
+ async downloadAudio(link) {
227
+ let url;
228
+ try {
229
+ url = new URL(link);
230
+ }
231
+ catch {
232
+ throw new Error("MiniMax speech returned an audio URL that is not a URL.");
233
+ }
234
+ if (url.protocol !== "https:") {
235
+ throw new Error(`MiniMax speech returned a ${url.protocol} audio URL; only https is downloaded.`);
236
+ }
237
+ if (!hostAllowed(url.hostname, this.config.audioUrlHosts ?? [])) {
238
+ throw new Error(`MiniMax speech returned an audio URL on ${url.hostname}, which is not in ` +
239
+ "audioUrlHosts; list the host there to download URL output.");
240
+ }
241
+ const limit = this.config.maxAudioDownloadBytes ?? DEFAULT_MAX_AUDIO_DOWNLOAD_BYTES;
242
+ const timeoutMs = this.config.audioDownloadTimeoutMs ?? DEFAULT_AUDIO_DOWNLOAD_TIMEOUT_MS;
243
+ const signal = AbortSignal.timeout(timeoutMs);
244
+ try {
245
+ const response = await this.fetchImpl(url.href, { redirect: "error", signal });
246
+ if (!response.ok) {
247
+ await response.body?.cancel().catch(() => undefined);
248
+ throw new Error(`MiniMax audio download failed (${response.status}).`);
249
+ }
250
+ const declared = Number(response.headers?.get("content-length"));
251
+ if (Number.isFinite(declared) && declared > limit) {
252
+ await response.body?.cancel().catch(() => undefined);
253
+ throw audioTooLarge(limit);
254
+ }
255
+ const audio = await readCappedBody(response, limit);
256
+ if (audio.length === 0) {
257
+ throw new Error("MiniMax audio download returned no audio.");
258
+ }
259
+ return audio;
260
+ }
261
+ catch (error) {
262
+ if (signal.aborted) {
263
+ throw new Error(`MiniMax audio download timed out after ${timeoutMs} ms.`);
264
+ }
265
+ throw error;
266
+ }
267
+ }
268
+ /** A JSON request to MiniMax: a POST when `body` is given, else a GET. */
163
269
  async request(path, body) {
164
270
  const baseUrl = this.config.baseUrl ?? `https://${this.host}`;
165
- const response = await this.fetchImpl(`${baseUrl}${path}`, {
166
- method: "POST",
167
- headers: {
168
- Authorization: `Bearer ${this.keyPool.next()}`,
169
- "Content-Type": "application/json",
170
- },
171
- body: JSON.stringify(body),
172
- });
271
+ const authorization = `Bearer ${this.keyPool.next()}`;
272
+ const response = await this.fetchImpl(`${baseUrl}${path}`, body === undefined
273
+ ? { method: "GET", headers: { Authorization: authorization } }
274
+ : {
275
+ method: "POST",
276
+ headers: {
277
+ Authorization: authorization,
278
+ "Content-Type": "application/json",
279
+ },
280
+ body: JSON.stringify(body),
281
+ });
173
282
  let payload;
174
283
  try {
175
- payload = (await response.json());
284
+ payload = parseMiniMaxJson(await response.text());
176
285
  }
177
286
  catch {
178
287
  throw new Error(`MiniMax speech returned invalid JSON (${response.status}).`);
@@ -1 +1 @@
1
- {"version":3,"file":"MiniMaxTextToSpeechProvider.js","sourceRoot":"","sources":["../../../../src/io/speech/providers/MiniMaxTextToSpeechProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MiniMaxTextToSpeechProvider.js","sourceRoot":"","sources":["../../../../src/io/speech/providers/MiniMaxTextToSpeechProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,135 @@
1
+ /**
2
+ * @fileoverview The spend meter contract: a persisted, per-account allowance of turns (or any unit a product
3
+ * meters), reserved atomically before a turn reaches a model provider and settled when the turn ends.
4
+ *
5
+ * A reservation is keyed by the caller's durable `operationId`, so a request retried with the same id replays its
6
+ * reservation instead of charging twice. A reservation that is never settled (the process died mid-turn) carries a
7
+ * lease; {@link ISpendMeter.reconcile} settles the expired ones, asking the product what became of each.
8
+ *
9
+ * @module safety/runtime/SpendMeter
10
+ */
11
+ /** How a reservation ends: the turn counted, it did not, or its reply was replaced after it counted (refunded). */
12
+ export type SpendOutcome = 'consumed' | 'released' | 'replaced';
13
+ /** The state of one reservation row. A replaced reservation ends `released`, with the outcome `replaced`. */
14
+ export type SpendReservationState = 'reserved' | 'consumed' | 'released';
15
+ /** Why a reservation was refused. */
16
+ export type SpendDenyReason =
17
+ /** The period's allowance has no room for the units asked. */
18
+ 'allowance_exhausted'
19
+ /** The operation already holds a live reservation (a concurrent duplicate of the same request). */
20
+ | 'in_flight'
21
+ /** The operation already counted: a retry of a request that finished. */
22
+ | 'already_consumed'
23
+ /** The operation was released and retried as many times as the meter allows. */
24
+ | 'retries_exhausted';
25
+ /** Token usage a settle may record beside the outcome. */
26
+ export interface SpendUsage {
27
+ promptTokens?: number;
28
+ completionTokens?: number;
29
+ totalTokens?: number;
30
+ totalCostUSD?: number;
31
+ }
32
+ export interface SpendReserveRequest {
33
+ accountId: string;
34
+ /** The product's durable id for the request; a retry with the same id replays the reservation. */
35
+ operationId: string;
36
+ /** Units to reserve. Default 1. */
37
+ units?: number;
38
+ /** The clock, in epoch milliseconds; for tests. */
39
+ now?: number;
40
+ }
41
+ export type SpendReserveResult = {
42
+ status: 'reserved';
43
+ operationId: string;
44
+ accountId: string;
45
+ period: string;
46
+ units: number;
47
+ /** 1 for a first reservation, more for a retry of a released one. */
48
+ attempt: number;
49
+ /** Units left in the period after this reservation. */
50
+ remaining: number;
51
+ expiresAt: number;
52
+ } | {
53
+ status: 'denied';
54
+ reason: SpendDenyReason;
55
+ operationId: string;
56
+ accountId: string;
57
+ period: string;
58
+ remaining: number;
59
+ };
60
+ export interface SpendSettleRequest {
61
+ operationId: string;
62
+ outcome: SpendOutcome;
63
+ usage?: SpendUsage;
64
+ now?: number;
65
+ }
66
+ export interface SpendSettleResult {
67
+ /** `already_settled` when the reservation had already left the state this outcome moves it from. */
68
+ status: 'settled' | 'already_settled' | 'not_found';
69
+ state?: SpendReservationState;
70
+ }
71
+ export interface SpendMeterSnapshot {
72
+ accountId: string;
73
+ period: string;
74
+ allowance: number;
75
+ used: number;
76
+ reserved: number;
77
+ remaining: number;
78
+ }
79
+ export interface SpendReconcileResult {
80
+ consumed: number;
81
+ released: number;
82
+ /** Expired reservations still reserved after the pass (a concurrent settle, or the page limit). */
83
+ pending: number;
84
+ }
85
+ /**
86
+ * A persisted per-account meter. Every method is safe to call from several processes at once against one store:
87
+ * two reservations cannot both take the last unit, and a reservation settles exactly once.
88
+ */
89
+ export interface ISpendMeter {
90
+ /** Reserves units for an operation, or refuses. Rejects with {@link SpendMeterUnavailableError} when the store cannot answer. */
91
+ reserve(req: SpendReserveRequest): Promise<SpendReserveResult>;
92
+ /** Settles an operation's reservation. Idempotent per operation and outcome. */
93
+ settle(req: SpendSettleRequest): Promise<SpendSettleResult>;
94
+ /** Pushes a live reservation's lease forward while its turn runs. */
95
+ heartbeat(operationId: string, now?: number): Promise<void>;
96
+ /** Settles the reservations whose lease ran out. */
97
+ reconcile(opts?: {
98
+ now?: number;
99
+ limit?: number;
100
+ }): Promise<SpendReconcileResult>;
101
+ /** The account's current period: its allowance, the units used and reserved, and what remains. */
102
+ snapshot(accountId: string, now?: number): Promise<SpendMeterSnapshot>;
103
+ /**
104
+ * Writes the current period's allowance at once after a plan change; the units used stay. A store that reads the
105
+ * product's allowance at every reservation takes the product's answer again at the next one.
106
+ */
107
+ setAllowance(accountId: string, allowance: number, now?: number): Promise<void>;
108
+ }
109
+ /** Thrown when the meter's store cannot answer within its retry policy. A caller fails closed on it: no turn runs. */
110
+ export declare class SpendMeterUnavailableError extends Error {
111
+ readonly cause?: unknown | undefined;
112
+ readonly code = "SPEND_METER_UNAVAILABLE";
113
+ constructor(message: string, cause?: unknown | undefined);
114
+ }
115
+ export interface SpendRetryPolicy {
116
+ /** Tries in all, the first included. */
117
+ attempts: number;
118
+ baseDelayMs: number;
119
+ maxDelayMs: number;
120
+ /** No new try starts after this many milliseconds from the first. */
121
+ deadlineMs: number;
122
+ }
123
+ export declare const DEFAULT_SPEND_RETRY_POLICY: SpendRetryPolicy;
124
+ /**
125
+ * Runs `fn`, trying again on an error `isTransient` accepts, with a doubling delay, until the tries or the deadline
126
+ * run out. Any failure that ends the loop is thrown as a {@link SpendMeterUnavailableError} carrying the last error.
127
+ */
128
+ export declare function withBoundedRetry<T>(fn: () => Promise<T>, policy: SpendRetryPolicy, isTransient: (e: unknown) => boolean): Promise<T>;
129
+ /**
130
+ * The store errors worth a second try: Postgres serialization failures and deadlocks (40001, 40P01), its connection
131
+ * class (08xxx) and an administrator's shutdown (57P01); SQLite's busy and locked; and the network errors a pool
132
+ * reports when a connection drops.
133
+ */
134
+ export declare function isTransientStorageError(e: unknown): boolean;
135
+ //# sourceMappingURL=SpendMeter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpendMeter.d.ts","sourceRoot":"","sources":["../../../src/safety/runtime/SpendMeter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,mHAAmH;AACnH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;AAEhE,6GAA6G;AAC7G,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;AAEzE,qCAAqC;AACrC,MAAM,MAAM,eAAe;AACzB,8DAA8D;AAC5D,qBAAqB;AACvB,mGAAmG;GACjG,WAAW;AACb,yEAAyE;GACvE,kBAAkB;AACpB,gFAAgF;GAC9E,mBAAmB,CAAC;AAExB,0DAA0D;AAC1D,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,kGAAkG;IAClG,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,kBAAkB,GAC1B;IACE,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,eAAe,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEN,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,oGAAoG;IACpG,MAAM,EAAE,SAAS,GAAG,iBAAiB,GAAG,WAAW,CAAC;IACpD,KAAK,CAAC,EAAE,qBAAqB,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,mGAAmG;IACnG,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,iIAAiI;IACjI,OAAO,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC/D,gFAAgF;IAChF,MAAM,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC5D,qEAAqE;IACrE,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,oDAAoD;IACpD,SAAS,CAAC,IAAI,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAClF,kGAAkG;IAClG,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACvE;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjF;AAED,sHAAsH;AACtH,qBAAa,0BAA2B,SAAQ,KAAK;IAEtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO;IADrD,QAAQ,CAAC,IAAI,6BAA6B;gBAC9B,OAAO,EAAE,MAAM,EAAW,KAAK,CAAC,EAAE,OAAO,YAAA;CAItD;AAED,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,0BAA0B,EAAE,gBAAuF,CAAC;AAIjI;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAgB1I;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAO3D"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * @fileoverview The spend meter contract: a persisted, per-account allowance of turns (or any unit a product
3
+ * meters), reserved atomically before a turn reaches a model provider and settled when the turn ends.
4
+ *
5
+ * A reservation is keyed by the caller's durable `operationId`, so a request retried with the same id replays its
6
+ * reservation instead of charging twice. A reservation that is never settled (the process died mid-turn) carries a
7
+ * lease; {@link ISpendMeter.reconcile} settles the expired ones, asking the product what became of each.
8
+ *
9
+ * @module safety/runtime/SpendMeter
10
+ */
11
+ /** Thrown when the meter's store cannot answer within its retry policy. A caller fails closed on it: no turn runs. */
12
+ export class SpendMeterUnavailableError extends Error {
13
+ constructor(message, cause) {
14
+ super(message);
15
+ this.cause = cause;
16
+ this.code = 'SPEND_METER_UNAVAILABLE';
17
+ this.name = 'SpendMeterUnavailableError';
18
+ }
19
+ }
20
+ export const DEFAULT_SPEND_RETRY_POLICY = { attempts: 3, baseDelayMs: 50, maxDelayMs: 400, deadlineMs: 2000 };
21
+ const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
22
+ /**
23
+ * Runs `fn`, trying again on an error `isTransient` accepts, with a doubling delay, until the tries or the deadline
24
+ * run out. Any failure that ends the loop is thrown as a {@link SpendMeterUnavailableError} carrying the last error.
25
+ */
26
+ export async function withBoundedRetry(fn, policy, isTransient) {
27
+ const started = Date.now();
28
+ let last;
29
+ for (let attempt = 1; attempt <= Math.max(1, policy.attempts); attempt += 1) {
30
+ try {
31
+ return await fn();
32
+ }
33
+ catch (e) {
34
+ last = e;
35
+ if (!isTransient(e))
36
+ break;
37
+ const delay = Math.min(policy.maxDelayMs, policy.baseDelayMs * 2 ** (attempt - 1));
38
+ if (attempt === policy.attempts || Date.now() - started + delay > policy.deadlineMs)
39
+ break;
40
+ await sleep(delay);
41
+ }
42
+ }
43
+ const message = last instanceof Error ? last.message : String(last);
44
+ throw new SpendMeterUnavailableError(`the spend meter's store did not answer: ${message}`, last);
45
+ }
46
+ /**
47
+ * The store errors worth a second try: Postgres serialization failures and deadlocks (40001, 40P01), its connection
48
+ * class (08xxx) and an administrator's shutdown (57P01); SQLite's busy and locked; and the network errors a pool
49
+ * reports when a connection drops.
50
+ */
51
+ export function isTransientStorageError(e) {
52
+ const err = e;
53
+ const code = typeof err?.code === 'string' ? err.code : '';
54
+ if (code === '40001' || code === '40P01' || code === '57P01' || code.startsWith('08'))
55
+ return true;
56
+ if (code === 'SQLITE_BUSY' || code === 'SQLITE_LOCKED' || code === 'ECONNRESET' || code === 'ECONNREFUSED' || code === 'ETIMEDOUT' || code === 'EPIPE')
57
+ return true;
58
+ const message = typeof err?.message === 'string' ? err.message : '';
59
+ return /database is locked|SQLITE_BUSY|Connection terminated|connection timeout/i.test(message);
60
+ }
61
+ //# sourceMappingURL=SpendMeter.js.map