@argosvix/sdk 0.4.22-alpha.0 → 0.5.0

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 (63) hide show
  1. package/README.md +4 -9
  2. package/dist/aiSdkMiddleware.d.ts +36 -20
  3. package/dist/aiSdkMiddleware.d.ts.map +1 -1
  4. package/dist/aiSdkMiddleware.js +98 -31
  5. package/dist/aiSdkMiddleware.js.map +1 -1
  6. package/dist/approvals.d.ts +37 -29
  7. package/dist/approvals.d.ts.map +1 -1
  8. package/dist/approvals.js +24 -18
  9. package/dist/approvals.js.map +1 -1
  10. package/dist/budgetGate.d.ts +30 -24
  11. package/dist/budgetGate.d.ts.map +1 -1
  12. package/dist/budgetGate.js +118 -92
  13. package/dist/budgetGate.js.map +1 -1
  14. package/dist/client.d.ts +15 -10
  15. package/dist/client.d.ts.map +1 -1
  16. package/dist/client.js +271 -222
  17. package/dist/client.js.map +1 -1
  18. package/dist/context.d.ts +59 -48
  19. package/dist/context.d.ts.map +1 -1
  20. package/dist/context.js +72 -58
  21. package/dist/context.js.map +1 -1
  22. package/dist/flush.d.ts +6 -4
  23. package/dist/flush.d.ts.map +1 -1
  24. package/dist/flush.js +6 -4
  25. package/dist/flush.js.map +1 -1
  26. package/dist/ids.d.ts +3 -2
  27. package/dist/ids.d.ts.map +1 -1
  28. package/dist/ids.js +6 -5
  29. package/dist/ids.js.map +1 -1
  30. package/dist/langchainCallback.d.ts +14 -13
  31. package/dist/langchainCallback.d.ts.map +1 -1
  32. package/dist/langchainCallback.js +22 -17
  33. package/dist/langchainCallback.js.map +1 -1
  34. package/dist/policyScan.d.ts +29 -22
  35. package/dist/policyScan.d.ts.map +1 -1
  36. package/dist/policyScan.js +47 -38
  37. package/dist/policyScan.js.map +1 -1
  38. package/dist/pricing.d.ts +5 -5
  39. package/dist/pricing.d.ts.map +1 -1
  40. package/dist/pricing.js +24 -22
  41. package/dist/pricing.js.map +1 -1
  42. package/dist/prompts.d.ts +20 -17
  43. package/dist/prompts.d.ts.map +1 -1
  44. package/dist/prompts.js +21 -17
  45. package/dist/prompts.js.map +1 -1
  46. package/dist/query.d.ts +21 -21
  47. package/dist/query.d.ts.map +1 -1
  48. package/dist/query.js +14 -14
  49. package/dist/recorder.d.ts +39 -19
  50. package/dist/recorder.d.ts.map +1 -1
  51. package/dist/recorder.js +120 -69
  52. package/dist/recorder.js.map +1 -1
  53. package/dist/redaction.d.ts +35 -33
  54. package/dist/redaction.d.ts.map +1 -1
  55. package/dist/redaction.js +73 -64
  56. package/dist/redaction.js.map +1 -1
  57. package/dist/types.d.ts +131 -114
  58. package/dist/types.d.ts.map +1 -1
  59. package/dist/version.d.ts +9 -9
  60. package/dist/version.d.ts.map +1 -1
  61. package/dist/version.js +9 -9
  62. package/dist/version.js.map +1 -1
  63. package/package.json +8 -2
package/dist/query.d.ts CHANGED
@@ -1,13 +1,13 @@
1
1
  /**
2
- * Argosvix Query API client(= 呼び出し履歴と集計を取得する helper)
2
+ * Argosvix Query API client (helper for fetching call history and aggregates).
3
3
  *
4
- * 公開している endpoint:
5
- * - POST /v1/query/calls 呼び出し履歴(filter + 最大 200 )
6
- * - POST /v1/query/aggregate provider / model / day で 集計
4
+ * Exposed endpoints:
5
+ * - POST /v1/query/calls call history (filter + up to 200 records)
6
+ * - POST /v1/query/aggregate aggregation by provider / model / day
7
7
  *
8
- * 認証 = Bearer API key(dashboard /verify 1 回だけ表示される key)
8
+ * Auth: Bearer API key (the key shown exactly once at dashboard /verify).
9
9
  *
10
- * 使用例:
10
+ * Usage:
11
11
  * import { queryCalls, queryAggregate } from "@argosvix/sdk";
12
12
  *
13
13
  * const { records } = await queryCalls({
@@ -20,19 +20,19 @@
20
20
  * filter: { groupBy: "day", metric: "cost" },
21
21
  * });
22
22
  *
23
- * fetch Node 18+ / Workers / browser で標準利用可能。 endpoint を 変えたい場合
24
- * (= self-hosted / staging) `endpoint` を carry。
23
+ * fetch is natively available on Node 18+ / Workers / browsers. To target a
24
+ * different endpoint (self-hosted / staging), pass `endpoint`.
25
25
  */
26
26
  import type { Provider } from "./types.js";
27
27
  export interface QueryCallsFilter {
28
- /** ISO 8601 UTC timestamp(inclusive)*/
28
+ /** ISO 8601 UTC timestamp (inclusive) */
29
29
  startTime?: string;
30
- /** ISO 8601 UTC timestamp(inclusive)*/
30
+ /** ISO 8601 UTC timestamp (inclusive) */
31
31
  endTime?: string;
32
32
  provider?: Provider;
33
- /** model 完全一致(1-128 chars)*/
33
+ /** Exact model name match (1-128 chars) */
34
34
  model?: string;
35
- /** 1-200(default 50)*/
35
+ /** 1-200 (default 50) */
36
36
  limit?: number;
37
37
  }
38
38
  export interface CallRecord {
@@ -57,7 +57,7 @@ export interface QueryCallsOptions {
57
57
  /** default = https://ingest.argosvix.com */
58
58
  endpoint?: string;
59
59
  filter?: QueryCallsFilter;
60
- /** abort controller signal を 渡したい場合 */
60
+ /** Optional AbortController signal */
61
61
  signal?: AbortSignal;
62
62
  }
63
63
  export interface QueryCallsResponse {
@@ -75,7 +75,7 @@ export interface QueryAggregateFilter {
75
75
  metric?: AggregateMetric;
76
76
  }
77
77
  export interface AggregateGroup {
78
- /** provider / model / 日付 (YYYY-MM-DD) */
78
+ /** Provider name / model name / date (YYYY-MM-DD) */
79
79
  key: string;
80
80
  value: number;
81
81
  count: number;
@@ -94,19 +94,19 @@ export interface QueryAggregateResponse {
94
94
  };
95
95
  }
96
96
  /**
97
- * Argosvix backend JSON 返す { error: string } Error として throw する
98
- * 簡易 helper。 200 status すべて Error 扱い。
97
+ * Small helper that throws the { error: string } JSON returned by the Argosvix
98
+ * backend as an Error. Every non-200 status is treated as an Error.
99
99
  */
100
100
  export declare class ArgosvixQueryError extends Error {
101
101
  readonly status: number;
102
102
  constructor(status: number, message: string);
103
103
  }
104
104
  /**
105
- * 呼び出し履歴を 取得。
105
+ * Fetch call history.
106
106
  */
107
107
  export declare function queryCalls(options: QueryCallsOptions): Promise<QueryCallsResponse>;
108
108
  /**
109
- * 呼び出しの集計を 取得。
109
+ * Fetch call aggregates.
110
110
  */
111
111
  export declare function queryAggregate(options: QueryAggregateOptions): Promise<QueryAggregateResponse>;
112
112
  export type PercentileMetric = "latency" | "cost";
@@ -126,15 +126,15 @@ export interface QueryPercentilesOptions {
126
126
  }
127
127
  export interface QueryPercentilesResponse {
128
128
  metric: PercentileMetric;
129
- /** 50 percentile(records なし時 null)*/
129
+ /** 50th percentile (null when there are no records) */
130
130
  p50: number | null;
131
131
  p95: number | null;
132
132
  p99: number | null;
133
133
  count: number;
134
134
  }
135
135
  /**
136
- * latency_ms / cost_usd の percentile (p50/p95/p99) 取得。
137
- * avg では見えない外れ値の分布を 把握する debug 用途。
136
+ * Fetch percentiles (p50/p95/p99) for latency_ms / cost_usd.
137
+ * A debugging aid for understanding outlier distributions that averages hide.
138
138
  */
139
139
  export declare function queryPercentiles(options: QueryPercentilesOptions): Promise<QueryPercentilesResponse>;
140
140
  //# sourceMappingURL=query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
package/dist/query.js CHANGED
@@ -1,13 +1,13 @@
1
1
  /**
2
- * Argosvix Query API client(= 呼び出し履歴と集計を取得する helper)
2
+ * Argosvix Query API client (helper for fetching call history and aggregates).
3
3
  *
4
- * 公開している endpoint:
5
- * - POST /v1/query/calls 呼び出し履歴(filter + 最大 200 )
6
- * - POST /v1/query/aggregate provider / model / day で 集計
4
+ * Exposed endpoints:
5
+ * - POST /v1/query/calls call history (filter + up to 200 records)
6
+ * - POST /v1/query/aggregate aggregation by provider / model / day
7
7
  *
8
- * 認証 = Bearer API key(dashboard /verify 1 回だけ表示される key)
8
+ * Auth: Bearer API key (the key shown exactly once at dashboard /verify).
9
9
  *
10
- * 使用例:
10
+ * Usage:
11
11
  * import { queryCalls, queryAggregate } from "@argosvix/sdk";
12
12
  *
13
13
  * const { records } = await queryCalls({
@@ -20,13 +20,13 @@
20
20
  * filter: { groupBy: "day", metric: "cost" },
21
21
  * });
22
22
  *
23
- * fetch Node 18+ / Workers / browser で標準利用可能。 endpoint を 変えたい場合
24
- * (= self-hosted / staging) `endpoint` を carry。
23
+ * fetch is natively available on Node 18+ / Workers / browsers. To target a
24
+ * different endpoint (self-hosted / staging), pass `endpoint`.
25
25
  */
26
26
  const DEFAULT_ENDPOINT = "https://ingest.argosvix.com";
27
27
  /**
28
- * Argosvix backend JSON 返す { error: string } Error として throw する
29
- * 簡易 helper。 200 status すべて Error 扱い。
28
+ * Small helper that throws the { error: string } JSON returned by the Argosvix
29
+ * backend as an Error. Every non-200 status is treated as an Error.
30
30
  */
31
31
  export class ArgosvixQueryError extends Error {
32
32
  status;
@@ -63,22 +63,22 @@ async function postJson(url, apiKey, body, signal) {
63
63
  return (await res.json());
64
64
  }
65
65
  /**
66
- * 呼び出し履歴を 取得。
66
+ * Fetch call history.
67
67
  */
68
68
  export async function queryCalls(options) {
69
69
  const endpoint = options.endpoint ?? DEFAULT_ENDPOINT;
70
70
  return postJson(`${endpoint}/v1/query/calls`, options.apiKey, options.filter ?? {}, options.signal);
71
71
  }
72
72
  /**
73
- * 呼び出しの集計を 取得。
73
+ * Fetch call aggregates.
74
74
  */
75
75
  export async function queryAggregate(options) {
76
76
  const endpoint = options.endpoint ?? DEFAULT_ENDPOINT;
77
77
  return postJson(`${endpoint}/v1/query/aggregate`, options.apiKey, options.filter ?? {}, options.signal);
78
78
  }
79
79
  /**
80
- * latency_ms / cost_usd の percentile (p50/p95/p99) 取得。
81
- * avg では見えない外れ値の分布を 把握する debug 用途。
80
+ * Fetch percentiles (p50/p95/p99) for latency_ms / cost_usd.
81
+ * A debugging aid for understanding outlier distributions that averages hide.
82
82
  */
83
83
  export async function queryPercentiles(options) {
84
84
  const endpoint = options.endpoint ?? DEFAULT_ENDPOINT;
@@ -1,5 +1,22 @@
1
1
  import type { ArgosvixConfig, LlmCallRecord, ObservationRecord } from "./types.js";
2
2
  import { BudgetGate } from "./budgetGate.js";
3
+ /**
4
+ * Plaintext body limit for backend ingest (same value as
5
+ * MAX_PLAINTEXT_BODY_BYTES = 64 * 1024 in the backend's ingest handler). The
6
+ * backend checks `promptBody.length` (UTF-16 code unit count), so the SDK
7
+ * counts in the same unit (not UTF-8 bytes — the name says BYTES but the
8
+ * actual check is in code units).
9
+ */
10
+ export declare const INGEST_MAX_BODY_UNITS: number;
11
+ /** Marker in the same format as the streaming capture (client.ts STREAM_TRUNCATED_MARKER). */
12
+ export declare const BODY_TRUNCATED_MARKER = "\u2026[truncated]";
13
+ /**
14
+ * Truncate a body before sending. The backend rejects an over-limit record
15
+ * wholesale, so records with 64KB-256KB bodies used to disappear silently.
16
+ * Fit within the limit including the marker, and never split a surrogate pair
17
+ * at the cut point (do not send a broken lone surrogate).
18
+ */
19
+ export declare function truncateBodyForIngest(text: string): string;
3
20
  /**
4
21
  * Per-wrap() instance-based recorder.
5
22
  * Avoids module-level global state to keep test isolation clean and to let
@@ -20,31 +37,34 @@ export declare class Recorder {
20
37
  */
21
38
  private inFlightFlush;
22
39
  /**
23
- * Periodic flush one-shot timer(buffer が空→非空になった契機で 1 本だけ張る)。
24
- * permanent setInterval GC 阻害 + unref 忘れで Node プロセスを生かし続けるため避ける。
25
- * flush 開始時に clear、host が短命 runtime(Workers/Edge)なら timer 配送は保証されない
26
- * ので従来どおり flushClient() 明示が必須(docs)。
40
+ * One-shot timer for periodic flushes (armed only when the buffer goes from
41
+ * empty to non-empty). A permanent setInterval is avoided because it blocks
42
+ * GC and a forgotten unref keeps the Node process alive. Cleared when a
43
+ * flush starts. On short-lived host runtimes (Workers/Edge) timer delivery
44
+ * is not guaranteed, so an explicit flushClient() remains required, as documented.
27
45
  */
28
46
  private idleFlushTimer;
29
47
  /**
30
- * Runtime 予算ゲート (= config.budgetGate opt-in 時のみ実動作、それ以外は
31
- * 完全 no-op) wrapper LLM 呼び出し前に check() await する。
48
+ * Runtime budget gate (active only when config.budgetGate is opted in;
49
+ * otherwise a complete no-op). The wrapper awaits check() before each LLM call.
32
50
  */
33
51
  readonly budgetGate: BudgetGate;
34
52
  constructor(config?: ArgosvixConfig);
35
53
  /**
36
- * buffer record が入っている間、flushIntervalMs 後に 1 回だけ flush を予約する。
37
- * 既に予約済み / disabled / apiKey / interval 0 なら何もしない。
54
+ * While records sit in the buffer, schedule exactly one flush after
55
+ * flushIntervalMs. Does nothing if already scheduled, disabled, without an
56
+ * apiKey, or with an interval of 0.
38
57
  */
39
58
  private scheduleIdleFlush;
40
- /** #1 R4 = ObservationSink: この recorder observation を送れるか(disabled / apiKey 無は不可) */
59
+ /** ObservationSink: whether this recorder can send observations (not when disabled or without an apiKey). */
41
60
  get observationsEnabled(): boolean;
42
- /** #1 R4 = ObservationSink: cross-account 送信防止のための routing キー(= api_key) */
61
+ /** ObservationSink: routing key (the api_key) used to prevent cross-account sends. */
43
62
  get observationsRoutingKey(): string | undefined;
44
63
  record(record: LlmCallRecord): void;
45
- /** #1 R4 = observation(withSpan emit する typed ノード)をバッファに積む。
46
- * error は例外メッセージの自動収集で prompt 断片 / PII / secret を含みうるため、
47
- * records と同じく redaction(opt-out 可)+ 長さ上限を通してから送る。 */
64
+ /** Buffer an observation (a typed node emitted by withSpan).
65
+ * The error field is auto-collected from exception messages and can contain
66
+ * prompt fragments / PII / secrets, so like records it goes through
67
+ * redaction (opt-out possible) plus a length cap before sending. */
48
68
  recordObservation(obs: ObservationRecord): void;
49
69
  /**
50
70
  * Flush the buffer to the backend with retry.
@@ -61,12 +81,12 @@ export declare class Recorder {
61
81
  flush(): Promise<LlmCallRecord[]>;
62
82
  private doFlush;
63
83
  /**
64
- * captureContent disablePiiRedaction の組み合わせに応じて、record
65
- * 平文フィールド(promptBody / completionBody / toolCalls)を加工する。
84
+ * Process the record's plaintext fields (promptBody / completionBody /
85
+ * toolCalls) according to the captureContent / disablePiiRedaction combination:
66
86
  *
67
- * captureContent = false (default) → 全平文フィールドを削除
68
- * captureContent = true, disablePiiRedaction = false (default) → redaction 適用
69
- * captureContent = true, disablePiiRedaction = true → 無加工で carry
87
+ * captureContent = false (default) → remove all plaintext fields
88
+ * captureContent = true, disablePiiRedaction = false (default) → apply redaction
89
+ * captureContent = true, disablePiiRedaction = true → pass through unmodified
70
90
  */
71
91
  private sanitizeContent;
72
92
  getBufferSize(): number;
@@ -76,6 +96,6 @@ export declare class Recorder {
76
96
  */
77
97
  __resetForTesting(): void;
78
98
  }
79
- /** test-only = warn-once flag をリセットする。 */
99
+ /** Test-only: resets the warn-once flag. */
80
100
  export declare function _resetQuotaWarn(): void;
81
101
  //# sourceMappingURL=recorder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../src/recorder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAW7C;;;;;;;GAOG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAuB;IAGrC,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC;;;;;OAKG;IACH,OAAO,CAAC,aAAa,CAAyC;IAC9D;;;;;OAKG;IACH,OAAO,CAAC,cAAc,CAA8C;IACpE;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;gBAEpB,MAAM,GAAE,cAAmB;IAKvC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAoBzB,wFAAwF;IACxF,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAED,6EAA6E;IAC7E,IAAI,sBAAsB,IAAI,MAAM,GAAG,SAAS,CAE/C;IAED,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAkDnC;;0DAEsD;IACtD,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI;IAkB/C;;;;;;;;;;;OAWG;IACG,KAAK,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YA8BzB,OAAO;IAkFrB;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IA6EvB,aAAa,IAAI,MAAM;IAIvB;;;OAGG;IACH,iBAAiB,IAAI,IAAI;CAI1B;AAcD,0CAA0C;AAC1C,wBAAgB,eAAe,IAAI,IAAI,CAEtC"}
1
+ {"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../src/recorder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAW7C;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,QAAY,CAAC;AAC/C,8FAA8F;AAC9F,eAAO,MAAM,qBAAqB,sBAAiB,CAAC;AAEpD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO1D;AAED;;;;;;;GAOG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAuB;IAGrC,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC;;;;;OAKG;IACH,OAAO,CAAC,aAAa,CAAyC;IAC9D;;;;;;OAMG;IACH,OAAO,CAAC,cAAc,CAA8C;IACpE;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;gBAEpB,MAAM,GAAE,cAAmB;IAKvC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAoBzB,6GAA6G;IAC7G,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAED,sFAAsF;IACtF,IAAI,sBAAsB,IAAI,MAAM,GAAG,SAAS,CAE/C;IAED,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAqDnC;;;wEAGoE;IACpE,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI;IAkB/C;;;;;;;;;;;OAWG;IACG,KAAK,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YA8BzB,OAAO;IAmFrB;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IA8FvB,aAAa,IAAI,MAAM;IAIvB;;;OAGG;IACH,iBAAiB,IAAI,IAAI;CAI1B;AAcD,4CAA4C;AAC5C,wBAAgB,eAAe,IAAI,IAAI,CAEtC"}