@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
@@ -1,43 +1,50 @@
1
1
  /**
2
- * ポリシーゲートの block 判定用スキャン (= ランタイム制御プレーン Phase 2、
3
- * R66b fix bundle redaction.ts の流用から分離・再設計)
2
+ * Scan used for the policy gate's block decision (part of the runtime control
3
+ * plane; separated and redesigned from the earlier reuse of redaction.ts).
4
4
  *
5
- * redaction.ts PATTERNS は「false positive 寛容 (= 過剰マスク OK)」設計で、
6
- * block の判定述語に流用すると正当な呼び出しを production で止めてしまう
7
- * (= timestamp がカード番号扱い、 数値 ID が電話番号扱い、 base64 secret 扱い)。
8
- * module は逆方針 = 「false negative 寛容 / false positive 厳禁」で設計する:
5
+ * The PATTERNS in redaction.ts are designed to be false-positive tolerant
6
+ * (over-masking is acceptable). Reusing them as a blocking predicate would stop
7
+ * legitimate calls in production (timestamps treated as card numbers, numeric
8
+ * IDs as phone numbers, base64 as secrets). This module takes the opposite
9
+ * stance: false negatives are tolerated, false positives are strictly avoided:
9
10
  *
10
- * - 検査対象は payload JSON 文字列化ではなく、 object を再帰 walk して
11
- * 集めた string 値のみ (= 数値 field / TypedArray は最初から対象外、
12
- * JSON escape で改行跨ぎ検知が壊れる問題も解消)
13
- * - data: URL base64 本体と「空白を含まない超長文字列」は binary 扱いで
14
- * skip (= 画像 / file blob の確率的 false positive CPU 浪費の防止)
15
- * - カード番号は Luhn checksum 検証付き (= 13 桁の epoch ms 等を弾く)
16
- * - 電話番号 / マイナンバーは区切り文字必須の形のみ (= 連続数字に match しない)
17
- * - secret は左右境界付き (= base64 中や ID 文字列の部分一致を防ぐ)
11
+ * - The scan target is not the JSON stringification of the payload but only
12
+ * the string values collected by recursively walking the object (numeric
13
+ * fields / TypedArrays are excluded from the start; this also fixes the
14
+ * problem where JSON escaping broke detection across newlines)
15
+ * - The base64 body of data: URLs and very long strings containing no
16
+ * whitespace are treated as binary and skipped (prevents probabilistic
17
+ * false positives on images / file blobs and wasted CPU)
18
+ * - Card numbers are verified with a Luhn checksum (rejects e.g. 13-digit
19
+ * epoch-ms values)
20
+ * - Phone numbers / Japanese My Number only match separator-delimited forms
21
+ * (no match on runs of consecutive digits)
22
+ * - Secrets require boundaries on both sides (prevents partial matches
23
+ * inside base64 or ID strings)
18
24
  *
19
- * 検知時は「どの field (JSON path) + masked snippet」を返し、 顧客が
20
- * false positive debug できるようにする (= 平文は返さない)
25
+ * On detection, returns which field matched (JSON path) plus a masked snippet
26
+ * so customers can debug false positives (plaintext is never returned).
21
27
  */
22
28
  export interface PolicyScanHit {
23
29
  kind: "pii" | "secret";
24
30
  pattern: string;
25
- /** 検知した string 値の JSON path (例: messages[2].content) */
31
+ /** JSON path of the detected string value (e.g. messages[2].content). */
26
32
  path: string;
27
- /** masked snippet (例: "al***om") 平文は含まない。 */
33
+ /** Masked snippet (e.g. "al***om"). Never contains plaintext. */
28
34
  snippet: string;
29
35
  }
30
- /** Luhn checksum (= カード番号の実在性検証) */
36
+ /** Luhn checksum (validates that a card number is plausible). */
31
37
  export declare function luhnValid(digits: string): boolean;
32
38
  interface TextValue {
33
39
  path: string;
34
40
  text: string;
35
41
  }
36
- /** payload object から string 値だけを path 付きで再帰収集する。 */
42
+ /** Recursively collect only string values from the payload object, with their paths. */
37
43
  export declare function collectTextValues(payload: unknown): TextValue[];
38
44
  /**
39
- * payload walk して最初の violation を返す。 検知なしは null。
40
- * secrets PII より先に評価する (= credential PII より深刻、 告知の優先度)。
45
+ * Walk the payload and return the first violation, or null if none detected.
46
+ * Secrets are evaluated before PII (credentials are more severe than PII, so
47
+ * they take reporting priority).
41
48
  */
42
49
  export declare function scanPolicyViolation(payload: unknown, opts: {
43
50
  pii: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"policyScan.d.ts","sourceRoot":"","sources":["../src/policyScan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;CACjB;AA+CD,qCAAqC;AACrC,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAejD;AAcD,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,oDAAoD;AACpD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,CAgC/D;AAwCD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACvC,aAAa,GAAG,IAAI,CAkBtB"}
1
+ {"version":3,"file":"policyScan.d.ts","sourceRoot":"","sources":["../src/policyScan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;CACjB;AAiDD,iEAAiE;AACjE,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAejD;AAcD,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wFAAwF;AACxF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,CAgC/D;AAwCD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACvC,aAAa,GAAG,IAAI,CAkBtB"}
@@ -1,52 +1,60 @@
1
1
  /**
2
- * ポリシーゲートの block 判定用スキャン (= ランタイム制御プレーン Phase 2、
3
- * R66b fix bundle redaction.ts の流用から分離・再設計)
2
+ * Scan used for the policy gate's block decision (part of the runtime control
3
+ * plane; separated and redesigned from the earlier reuse of redaction.ts).
4
4
  *
5
- * redaction.ts PATTERNS は「false positive 寛容 (= 過剰マスク OK)」設計で、
6
- * block の判定述語に流用すると正当な呼び出しを production で止めてしまう
7
- * (= timestamp がカード番号扱い、 数値 ID が電話番号扱い、 base64 secret 扱い)。
8
- * module は逆方針 = 「false negative 寛容 / false positive 厳禁」で設計する:
5
+ * The PATTERNS in redaction.ts are designed to be false-positive tolerant
6
+ * (over-masking is acceptable). Reusing them as a blocking predicate would stop
7
+ * legitimate calls in production (timestamps treated as card numbers, numeric
8
+ * IDs as phone numbers, base64 as secrets). This module takes the opposite
9
+ * stance: false negatives are tolerated, false positives are strictly avoided:
9
10
  *
10
- * - 検査対象は payload JSON 文字列化ではなく、 object を再帰 walk して
11
- * 集めた string 値のみ (= 数値 field / TypedArray は最初から対象外、
12
- * JSON escape で改行跨ぎ検知が壊れる問題も解消)
13
- * - data: URL base64 本体と「空白を含まない超長文字列」は binary 扱いで
14
- * skip (= 画像 / file blob の確率的 false positive CPU 浪費の防止)
15
- * - カード番号は Luhn checksum 検証付き (= 13 桁の epoch ms 等を弾く)
16
- * - 電話番号 / マイナンバーは区切り文字必須の形のみ (= 連続数字に match しない)
17
- * - secret は左右境界付き (= base64 中や ID 文字列の部分一致を防ぐ)
11
+ * - The scan target is not the JSON stringification of the payload but only
12
+ * the string values collected by recursively walking the object (numeric
13
+ * fields / TypedArrays are excluded from the start; this also fixes the
14
+ * problem where JSON escaping broke detection across newlines)
15
+ * - The base64 body of data: URLs and very long strings containing no
16
+ * whitespace are treated as binary and skipped (prevents probabilistic
17
+ * false positives on images / file blobs and wasted CPU)
18
+ * - Card numbers are verified with a Luhn checksum (rejects e.g. 13-digit
19
+ * epoch-ms values)
20
+ * - Phone numbers / Japanese My Number only match separator-delimited forms
21
+ * (no match on runs of consecutive digits)
22
+ * - Secrets require boundaries on both sides (prevents partial matches
23
+ * inside base64 or ID strings)
18
24
  *
19
- * 検知時は「どの field (JSON path) + masked snippet」を返し、 顧客が
20
- * false positive debug できるようにする (= 平文は返さない)
25
+ * On detection, returns which field matched (JSON path) plus a masked snippet
26
+ * so customers can debug false positives (plaintext is never returned).
21
27
  */
22
28
  const MAX_DEPTH = 8;
23
29
  const MAX_STRINGS = 500;
24
- // 1 string あたりの scan 上限 (= 超過分は先頭のみ scan、 hot path CPU cap)
30
+ // Per-string scan cap (anything beyond it only has its head scanned; CPU cap for the hot path)
25
31
  const MAX_STRING_SCAN_CHARS = 262_144;
26
- // 空白を含まない長大文字列は binary / base64 とみなして skip する閾値
32
+ // Threshold above which a long string with no whitespace is treated as binary / base64 and skipped
27
33
  const BINARY_LIKE_MIN_CHARS = 4_096;
28
- // ---- PII (block 用、 false positive 厳禁方針) ----
34
+ // ---- PII (for blocking; false positives strictly avoided) ----
29
35
  const EMAIL_RE = /[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/;
30
- // カード番号候補 (= 区切りあり/なし 13-19 桁)。 match 後に Luhn 検証する。
36
+ // Card number candidates (13-19 digits, with or without separators). Luhn-verified after matching.
31
37
  const CC_CANDIDATE_RE = /(?<![\d-])(?:\d[ -]?){12,18}\d(?![\d-])/g;
32
- // 区切り必須の電話形 (JP 0 始まり + 国際 + 形) 連続数字には match しない。
38
+ // Phone forms requiring separators (JP leading-0 form + international form). Does not match runs of consecutive digits.
33
39
  const PHONE_JP_RE = /(?<!\d)0\d{1,4}[- ]\d{1,4}[- ]\d{3,4}(?!\d)/;
34
40
  const PHONE_INTL_RE = /(?<![\dA-Za-z])\+\d{1,3}[- ]\d{1,4}(?:[- ]\d{2,4}){1,3}(?!\d)/;
35
- // マイナンバーは 4-4-4 の区切り形のみ (= 12 桁連続は ID と区別不能なので対象外)
41
+ // Japanese My Number only in the 4-4-4 separated form (12 consecutive digits are indistinguishable from IDs, so excluded)
36
42
  const MY_NUMBER_RE = /(?<![\d-])\d{4}-\d{4}-\d{4}(?![\d-])/;
37
- // IPv4 octet (0-255) まで検証
43
+ // IPv4 validates octet values (0-255)
38
44
  const IPV4_RE = /(?<![\d.])(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?![\d.])/;
39
- // IPv6 (= R72b MEDIUM 3 検知拡張) false positive 厳禁方針のため保守的に:
40
- // - 完全形 (= 8 group / 7 colon) または
41
- // - "::" 圧縮形で左側に 2 group 以上 (例 2001:db8::1)
42
- // に限定する。 時刻 "12:34:56" (3 group / :: なし)、 C++ "std::vector" (hex )
43
- // MAC "00:1A:..." (6 group / :: なし) には match しない。 "fe80::1" のような
44
- // 1 group の圧縮形は意図的に対象外 (= 短い hex::hex code 中で偶発しうる)。
45
+ // IPv6 (detection added in a later revision). Kept conservative to strictly avoid
46
+ // false positives; limited to:
47
+ // - the full form (8 groups / 7 colons), or
48
+ // - the "::" compressed form with 2+ groups on the left (e.g. 2001:db8::1)
49
+ // Does not match times like "12:34:56" (3 groups, no "::"), C++ "std::vector"
50
+ // (non-hex), or MACs "00:1A:..." (6 groups, no "::"). Compressed forms with a
51
+ // single left group like "fe80::1" are intentionally excluded (a short hex::hex
52
+ // can occur incidentally in code).
45
53
  const IPV6_RE = /(?<![0-9A-Fa-f:])(?:(?:[0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4}|(?:[0-9A-Fa-f]{1,4}:){2,6}:(?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4}){0,5})?)(?![0-9A-Fa-f:])/;
46
- // ---- secrets (左右境界付き) ----
47
- const B = "(?<![A-Za-z0-9_-])"; // 左境界 (= base64 / ID 中の部分一致防止)
54
+ // ---- secrets (bounded on both sides) ----
55
+ const B = "(?<![A-Za-z0-9_-])"; // Left boundary (prevents partial matches inside base64 / ID strings)
48
56
  const SECRET_PATTERNS = [
49
- // anthropic openai より先に (= sk-ant- openai 扱いになる dead pattern 防止)
57
+ // anthropic before openai (otherwise sk-ant- would be classified as openai, making that pattern dead)
50
58
  { name: "anthropic_api_key", re: new RegExp(`${B}sk-ant-[A-Za-z0-9_-]{20,}`) },
51
59
  { name: "openai_api_key", re: new RegExp(`${B}sk-(?!ant-)[A-Za-z0-9_-]{20,}`) },
52
60
  { name: "aws_access_key", re: new RegExp(`${B}AKIA[0-9A-Z]{16}(?![A-Za-z0-9])`) },
@@ -57,7 +65,7 @@ const SECRET_PATTERNS = [
57
65
  { name: "private_key_block", re: /-----BEGIN [A-Z ]*PRIVATE KEY-----/ },
58
66
  { name: "argosvix_api_key", re: new RegExp(`${B}argk_[a-z0-9]{20,}`) },
59
67
  ];
60
- /** Luhn checksum (= カード番号の実在性検証) */
68
+ /** Luhn checksum (validates that a card number is plausible). */
61
69
  export function luhnValid(digits) {
62
70
  if (digits.length < 13 || digits.length > 19)
63
71
  return false;
@@ -85,12 +93,12 @@ function maskSnippet(match) {
85
93
  function isBinaryLike(text) {
86
94
  if (text.startsWith("data:") && text.includes(";base64,"))
87
95
  return true;
88
- // 空白を一切含まない長大文字列 = base64 / blob / 連結 token とみなす
96
+ // A very long string with no whitespace at all is treated as base64 / a blob / concatenated tokens
89
97
  if (text.length >= BINARY_LIKE_MIN_CHARS && !/\s/.test(text))
90
98
  return true;
91
99
  return false;
92
100
  }
93
- /** payload object から string 値だけを path 付きで再帰収集する。 */
101
+ /** Recursively collect only string values from the payload object, with their paths. */
94
102
  export function collectTextValues(payload) {
95
103
  const out = [];
96
104
  const seen = new Set();
@@ -111,7 +119,7 @@ export function collectTextValues(payload) {
111
119
  if (!value || typeof value !== "object" || depth >= MAX_DEPTH)
112
120
  return;
113
121
  if (seen.has(value))
114
- return; // circular 防御
122
+ return; // guard against circular references
115
123
  seen.add(value);
116
124
  if (ArrayBuffer.isView(value) || value instanceof ArrayBuffer)
117
125
  return;
@@ -166,8 +174,9 @@ function scanTextForSecret(text) {
166
174
  return null;
167
175
  }
168
176
  /**
169
- * payload walk して最初の violation を返す。 検知なしは null。
170
- * secrets PII より先に評価する (= credential PII より深刻、 告知の優先度)。
177
+ * Walk the payload and return the first violation, or null if none detected.
178
+ * Secrets are evaluated before PII (credentials are more severe than PII, so
179
+ * they take reporting priority).
171
180
  */
172
181
  export function scanPolicyViolation(payload, opts) {
173
182
  if (!opts.pii && !opts.secrets)
@@ -1 +1 @@
1
- {"version":3,"file":"policyScan.js","sourceRoot":"","sources":["../src/policyScan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policyScan.js","sourceRoot":"","sources":["../src/policyScan.ts"],"names":[],"mappings":"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"}
package/dist/pricing.d.ts CHANGED
@@ -18,13 +18,13 @@ export declare const PRICING: Record<Provider, Record<string, PricingEntry>>;
18
18
  */
19
19
  export declare function calculateCost(provider: Provider, model: string, promptTokens: number, completionTokens: number): number;
20
20
  /**
21
- * キャッシュトークンを考慮した USD コスト + キャッシュ削減額。
21
+ * USD cost accounting for cache tokens, plus the cache savings amount.
22
22
  *
23
- * promptTokens は「キャッシュ読取 + 書込を含む input 合計」。 内訳:
24
- * uncached = promptTokens − cachedReadTokens − cachedWriteTokens(下限 0)
23
+ * promptTokens is the total input including cache reads and writes. Breakdown:
24
+ * uncached = promptTokens − cachedReadTokens − cachedWriteTokens (floored at 0)
25
25
  * cost = uncached×input + cachedRead×input×readMult + cachedWrite×input×writeMult + completion×output
26
- * savings = cachedRead×input×(1 − readMult) ← 読取割引の価値(書込プレミアムは savings に含めない)
27
- * 未知モデルは {0, 0}
26
+ * savings = cachedRead×input×(1 − readMult) ← value of the read discount (the write premium is not included in savings)
27
+ * Unknown models return {0, 0}.
28
28
  */
29
29
  export declare function calculateCostWithCache(provider: Provider, model: string, promptTokens: number, completionTokens: number, cachedReadTokens: number, cachedWriteTokens: number): {
30
30
  costUsd: number;
@@ -1 +1 @@
1
- {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAIzD;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAyFlE,CAAC;AAoBF;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAGR;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,MAAM,GACxB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CA2B9C;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIxD;AAYD,qFAAqF;AACrF,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
1
+ {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAIzD;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAyFlE,CAAC;AAsBF;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAGR;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,MAAM,GACxB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CA2B9C;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIxD;AAYD,qFAAqF;AACrF,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
package/dist/pricing.js CHANGED
@@ -12,7 +12,7 @@ const warnedUnknownModels = new Set();
12
12
  export const PRICING = {
13
13
  openai: {
14
14
  "gpt-5.5": { inputPer1M: 5.0, outputPer1M: 30.0 },
15
- // xAI Grok(OpenAI 互換 API 経由 = provider openai として届く)
15
+ // xAI Grok (arrives with provider "openai" because it is called via the OpenAI-compatible API)
16
16
  "grok-4.5": { inputPer1M: 2.0, outputPer1M: 6.0 },
17
17
  "gpt-5.4": { inputPer1M: 2.5, outputPer1M: 15.0 },
18
18
  "gpt-5.4-mini": { inputPer1M: 0.75, outputPer1M: 4.5 },
@@ -57,19 +57,19 @@ export const PRICING = {
57
57
  "claude-3-haiku": { inputPer1M: 0.25, outputPer1M: 1.25 },
58
58
  },
59
59
  gemini: {
60
- // Gemini 3 series (= 2026-05-19 GA、 ai.google.dev/pricing 確認済)
60
+ // Gemini 3 series (GA 2026-05-19; verified against ai.google.dev/pricing)
61
61
  "gemini-3.5-flash": { inputPer1M: 1.5, outputPer1M: 9.0 },
62
- // 3.1-pro context size tier あり、 ≤200k default を carry (preview ID prefix match で解決)
62
+ // 3.1-pro has context-size pricing tiers; we use the ≤200k default (preview IDs resolve via prefix match)
63
63
  "gemini-3.1-pro": { inputPer1M: 2.0, outputPer1M: 12.0 },
64
64
  "gemini-3-flash": { inputPer1M: 0.5, outputPer1M: 3.0 },
65
- // Gemini 2.5 series (= 訂正、 2026-05 WebFetch 公式 page 確認)
66
- // 2.5-pro context size tier あり、 ≤200k default を carry (= 我々は size tracking していない)
65
+ // Gemini 2.5 series (corrected 2026-05 against the official pricing page)
66
+ // 2.5-pro has context-size pricing tiers; we use the ≤200k default (we do not track context size)
67
67
  "gemini-2.5-pro": { inputPer1M: 1.25, outputPer1M: 10.0 },
68
68
  "gemini-2.5-flash": { inputPer1M: 0.3, outputPer1M: 2.5 },
69
69
  // Gemini 2 series
70
70
  "gemini-2.0-flash": { inputPer1M: 0.1, outputPer1M: 0.4 },
71
71
  "gemini-2.0-pro": { inputPer1M: 1.25, outputPer1M: 5.0 },
72
- // Gemini 1.5 series (= legacy carry)
72
+ // Gemini 1.5 series (kept for legacy records)
73
73
  "gemini-1.5-pro": { inputPer1M: 1.25, outputPer1M: 5.0 },
74
74
  "gemini-1.5-flash": { inputPer1M: 0.075, outputPer1M: 0.3 },
75
75
  },
@@ -100,15 +100,17 @@ export const PRICING = {
100
100
  },
101
101
  };
102
102
  /**
103
- * プロバイダ別のプロンプトキャッシュ単価倍率(input 単価に対する比率)
104
- * read = キャッシュ読取(割引)/ write = キャッシュ書込(プレミアム、 Anthropic のみ)
105
- * 公式 2026-06-27 verify(各 provider 公式 pricing):
106
- * - OpenAI 自動キャッシュ = 読取 input 50%、 書込課金なし
107
- * - Anthropic 明示キャッシュ = 読取 10% / 書込 125%(5 TTL 既定)。
108
- * 1 時間 TTL の書込は 200% だが、 token 内訳列を持たないため既定の 5 分 = 125% で計上
109
- * (= 1h キャッシュ利用時のみ書込コストを軽め計上。 詳細は pricing-update-runbook.md)
110
- * - Gemini context cache = 読取 10%(2026-06 25%→10% へ改定、 公式 verify 済)
111
- * - Mistral = キャッシュ課金なし
103
+ * Per-provider prompt-cache price multipliers (as a ratio of the input rate).
104
+ * read = cache read (discounted) / write = cache write (premium, Anthropic only)
105
+ * Verified 2026-06-27 against each provider's official pricing:
106
+ * - OpenAI automatic caching: reads at 50% of input; no write charge
107
+ * - Anthropic explicit caching: reads at 10% / writes at 125% (5-minute TTL
108
+ * default). Note: 1-hour-TTL writes cost 200%, but we lack a token
109
+ * breakdown column, so we bill at the default 5-minute rate of 125%
110
+ * (write cost is slightly underestimated only when the 1h cache is used).
111
+ * - Gemini context cache: reads at 10% (revised from 25% to 10% in 2026-06,
112
+ * officially verified)
113
+ * - Mistral: no cache pricing
112
114
  */
113
115
  const CACHE_MULTIPLIERS = {
114
116
  openai: { read: 0.5, write: 1.0 },
@@ -127,13 +129,13 @@ export function calculateCost(provider, model, promptTokens, completionTokens) {
127
129
  .costUsd;
128
130
  }
129
131
  /**
130
- * キャッシュトークンを考慮した USD コスト + キャッシュ削減額。
132
+ * USD cost accounting for cache tokens, plus the cache savings amount.
131
133
  *
132
- * promptTokens は「キャッシュ読取 + 書込を含む input 合計」。 内訳:
133
- * uncached = promptTokens − cachedReadTokens − cachedWriteTokens(下限 0)
134
+ * promptTokens is the total input including cache reads and writes. Breakdown:
135
+ * uncached = promptTokens − cachedReadTokens − cachedWriteTokens (floored at 0)
134
136
  * cost = uncached×input + cachedRead×input×readMult + cachedWrite×input×writeMult + completion×output
135
- * savings = cachedRead×input×(1 − readMult) ← 読取割引の価値(書込プレミアムは savings に含めない)
136
- * 未知モデルは {0, 0}
137
+ * savings = cachedRead×input×(1 − readMult) ← value of the read discount (the write premium is not included in savings)
138
+ * Unknown models return {0, 0}.
137
139
  */
138
140
  export function calculateCostWithCache(provider, model, promptTokens, completionTokens, cachedReadTokens, cachedWriteTokens) {
139
141
  const providerPricing = PRICING[provider];
@@ -180,8 +182,8 @@ function warnOnceUnknown(key, message) {
180
182
  return;
181
183
  warnedUnknownModels.add(key);
182
184
  // eslint-disable-next-line no-console
183
- console.warn(`[argosvix] ${message} — pricing returned 0. Update PRICING table in @argosvix/sdk` +
184
- ` (see https://github.com/argosvix/Argosvix/blob/main/docs/handoff/pricing-update-runbook.md).`);
185
+ console.warn(`[argosvix] ${message} — pricing returned 0. Cost for this model will not be tracked` +
186
+ ` until the SDK's pricing table is updated. Check for a newer @argosvix/sdk release.`);
185
187
  }
186
188
  /** Test-only helper: reset the warn-once state. Do not call from production code. */
187
189
  export function __resetPricingWarnings() {
@@ -1 +1 @@
1
- {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"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"}
package/dist/prompts.d.ts CHANGED
@@ -1,45 +1,48 @@
1
1
  /**
2
- * 2026-07-02 #4 = デプロイ済みプロンプトの SDK 解決。
2
+ * SDK-side resolution of deployed prompts.
3
3
  *
4
- * backend GET /v1/prompts/resolve?name=&label= (Free OK) を叩き、(name, label) の
5
- * 現行版を返す。withPrompt() と組み合わせると、そのプロンプトで生成した LLM 呼び出しに
6
- * `prompt` タグ({name}@v{version})が自動付与され、版別の品質/コスト比較が成立する。
4
+ * Calls the backend GET /v1/prompts/resolve?name=&label= (available on the
5
+ * Free plan) and returns the current version for (name, label). Combined with
6
+ * withPrompt(), LLM calls made with that prompt automatically get a `prompt`
7
+ * tag ({name}@v{version}), enabling per-version quality/cost comparison.
7
8
  *
8
9
  * const p = await resolvePrompt("support-bot", { apiKey: process.env.ARGOSVIX_API_KEY! });
9
10
  * await withPrompt(p, async () => {
10
11
  * await client.chat.completions.create({ ... p.template ... });
11
12
  * });
12
13
  *
13
- * 設計:
14
- * - TTL キャッシュ(既定 60 )= 呼び出し毎の resolve fetch を避ける(本番 hot path)。
15
- * - fetch 失敗時は「期限切れでもキャッシュがあればそれを返す」stale フォールバック
16
- * (プロンプト取得の一時障害でアプリの本流を止めない)。キャッシュも無ければ throw。
14
+ * Design:
15
+ * - TTL cache (default 60 seconds) avoids a resolve fetch on every call
16
+ * (production hot path).
17
+ * - On fetch failure, a stale fallback returns the cached value even if it
18
+ * has expired (a transient prompt-fetch outage must not stop the app's
19
+ * main flow). If there is no cache either, it throws.
17
20
  */
18
21
  export interface ResolvePromptOptions {
19
- /** Argosvix API キー(argk_...) */
22
+ /** Argosvix API key (argk_...). */
20
23
  apiKey: string;
21
- /** デプロイ環境ラベル。既定 "production" */
24
+ /** Deployment environment label. Defaults to "production". */
22
25
  label?: string;
23
- /** backend endpoint。既定 https://ingest.argosvix.com */
26
+ /** Backend endpoint. Defaults to https://ingest.argosvix.com. */
24
27
  endpoint?: string;
25
- /** キャッシュ TTL(ms)。0 で無効。既定 60000 */
28
+ /** Cache TTL in ms. 0 disables caching. Defaults to 60000. */
26
29
  cacheTtlMs?: number;
27
30
  signal?: AbortSignal;
28
31
  }
29
32
  export interface ResolvedPrompt {
30
- /** prompt_registry の版 ID */
33
+ /** Version ID in the prompt registry. */
31
34
  id: string;
32
35
  name: string;
33
36
  version: number;
34
- /** プロンプト本文(テンプレート) */
37
+ /** Prompt body (template). */
35
38
  template: string;
36
- /** {{var}} 変数名の一覧(登録時に指定があれば) */
39
+ /** List of {{var}} variable names (if specified at registration). */
37
40
  variables: string[] | null;
38
41
  label: string;
39
- /** withPrompt / tags.prompt に使うタグ値({name}@v{version}) */
42
+ /** Tag value used by withPrompt / tags.prompt ({name}@v{version}). */
40
43
  tag: string;
41
44
  }
42
- /** test-only = キャッシュを空にする。 */
45
+ /** Test-only: clears the cache. */
43
46
  export declare function _clearPromptCache(): void;
44
47
  export declare function resolvePrompt(name: string, options: ResolvePromptOptions): Promise<ResolvedPrompt>;
45
48
  //# sourceMappingURL=prompts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,MAAM,WAAW,oBAAoB;IACnC,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,6BAA6B;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,GAAG,EAAE,MAAM,CAAC;CACb;AASD,8BAA8B;AAC9B,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,cAAc,CAAC,CAsEzB"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAMH,MAAM,WAAW,oBAAoB;IACnC,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,yCAAyC;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,GAAG,EAAE,MAAM,CAAC;CACb;AASD,mCAAmC;AACnC,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,cAAc,CAAC,CAuEzB"}
package/dist/prompts.js CHANGED
@@ -1,25 +1,28 @@
1
1
  /**
2
- * 2026-07-02 #4 = デプロイ済みプロンプトの SDK 解決。
2
+ * SDK-side resolution of deployed prompts.
3
3
  *
4
- * backend GET /v1/prompts/resolve?name=&label= (Free OK) を叩き、(name, label) の
5
- * 現行版を返す。withPrompt() と組み合わせると、そのプロンプトで生成した LLM 呼び出しに
6
- * `prompt` タグ({name}@v{version})が自動付与され、版別の品質/コスト比較が成立する。
4
+ * Calls the backend GET /v1/prompts/resolve?name=&label= (available on the
5
+ * Free plan) and returns the current version for (name, label). Combined with
6
+ * withPrompt(), LLM calls made with that prompt automatically get a `prompt`
7
+ * tag ({name}@v{version}), enabling per-version quality/cost comparison.
7
8
  *
8
9
  * const p = await resolvePrompt("support-bot", { apiKey: process.env.ARGOSVIX_API_KEY! });
9
10
  * await withPrompt(p, async () => {
10
11
  * await client.chat.completions.create({ ... p.template ... });
11
12
  * });
12
13
  *
13
- * 設計:
14
- * - TTL キャッシュ(既定 60 )= 呼び出し毎の resolve fetch を避ける(本番 hot path)。
15
- * - fetch 失敗時は「期限切れでもキャッシュがあればそれを返す」stale フォールバック
16
- * (プロンプト取得の一時障害でアプリの本流を止めない)。キャッシュも無ければ throw。
14
+ * Design:
15
+ * - TTL cache (default 60 seconds) avoids a resolve fetch on every call
16
+ * (production hot path).
17
+ * - On fetch failure, a stale fallback returns the cached value even if it
18
+ * has expired (a transient prompt-fetch outage must not stop the app's
19
+ * main flow). If there is no cache either, it throws.
17
20
  */
18
21
  const DEFAULT_ENDPOINT = "https://ingest.argosvix.com";
19
22
  const DEFAULT_LABEL = "production";
20
23
  const DEFAULT_TTL_MS = 60_000;
21
24
  const cache = new Map();
22
- /** test-only = キャッシュを空にする。 */
25
+ /** Test-only: clears the cache. */
23
26
  export function _clearPromptCache() {
24
27
  cache.clear();
25
28
  }
@@ -27,17 +30,18 @@ export async function resolvePrompt(name, options) {
27
30
  const endpoint = options.endpoint ?? DEFAULT_ENDPOINT;
28
31
  const label = options.label ?? DEFAULT_LABEL;
29
32
  const ttl = options.cacheTtlMs ?? DEFAULT_TTL_MS;
30
- // キャッシュキーに apiKey を含める: 同一プロセスで複数アカウントのキーを使う構成で、
31
- // 別アカウントのキャッシュ済みプロンプトを掴む cross-account 汚染を防ぐ
32
- // (observation sink cross-account ガードと同じ判断)。in-memory のみで永続化しない。
33
+ // Include the apiKey in the cache key: in setups where a single process uses
34
+ // keys for multiple accounts, this prevents cross-account contamination where
35
+ // one account picks up another account's cached prompt (same reasoning as the
36
+ // observation sink's cross-account guard). In-memory only; never persisted.
33
37
  const key = `${options.apiKey}|${endpoint}|${name}|${label}`;
34
38
  const hit = cache.get(key);
35
39
  if (hit && hit.expiresAt > Date.now())
36
40
  return hit.value;
37
41
  let res;
38
- // 既定 10 timeout(Python SDK と対称)。resolve hang するとアプリの
39
- // 本流(プロンプトを引いてから LLM を呼ぶ経路)を塞ぐため、上限を必ず切る。
40
- // 呼び出し側の signal 指定があればそちらを優先。
42
+ // Default 10-second timeout (mirroring the Python SDK). A hanging resolve
43
+ // would block the app's main flow (fetch the prompt, then call the LLM), so
44
+ // always enforce an upper bound. A caller-provided signal takes precedence.
41
45
  const ctrl = options.signal ? null : new AbortController();
42
46
  const timer = ctrl ? setTimeout(() => ctrl.abort(), 10_000) : null;
43
47
  try {
@@ -50,7 +54,7 @@ export async function resolvePrompt(name, options) {
50
54
  }
51
55
  catch (err) {
52
56
  if (hit)
53
- return hit.value; // ネットワーク断/timeout = stale フォールバック
57
+ return hit.value; // network failure / timeout = stale fallback
54
58
  throw err;
55
59
  }
56
60
  finally {
@@ -59,7 +63,7 @@ export async function resolvePrompt(name, options) {
59
63
  }
60
64
  if (!res.ok) {
61
65
  if (hit && res.status >= 500)
62
- return hit.value; // サーバー障害のみ stale 許容
66
+ return hit.value; // stale allowed only for server failures
63
67
  const body = (await res.json().catch(() => ({})));
64
68
  throw new Error(`resolvePrompt(${name}, ${label}) failed (${res.status}): ${body.error ?? ""}`);
65
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}