podwatch 1.1.0 → 1.1.2

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.
@@ -1,20 +1,15 @@
1
1
  /**
2
- * Budget hard stop hooks — before_model_resolve and before_prompt_build.
2
+ * Budget hard stop hooks — before_prompt_build + before_tool_call.
3
3
  *
4
4
  * When the server signals a hard stop (budget exceeded + hard stop enabled),
5
5
  * these hooks:
6
- * 1. Try to downgrade to a cheaper model (best-effort)
7
- * 2. Prepend context telling the LLM to inform the user about the budget limit
6
+ * 1. Prepend context telling the LLM to inform the user about the budget limit
7
+ * 2. Block all tool calls (via before_tool_call in security.ts)
8
+ *
9
+ * No model downgrade — we can't know what providers the user has configured,
10
+ * so forcing a "cheaper" model would break setups with a single provider.
8
11
  */
9
12
  import type { PodwatchConfig } from "../index.js";
10
13
  import type { PluginApi } from "../types.js";
11
- /**
12
- * Find the cheapest available model from the gateway config.
13
- * Returns { model, provider } or null if only one model is configured.
14
- */
15
- export declare function findCheapestModel(config: Record<string, unknown>): {
16
- model: string;
17
- provider: string;
18
- } | null;
19
14
  export declare function registerBudgetHooks(api: PluginApi, config: PodwatchConfig): void;
20
15
  //# sourceMappingURL=budget.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"budget.d.ts","sourceRoot":"","sources":["../../src/hooks/budget.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA6B7C;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA0D5C;AAMD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CA6ChF"}
1
+ {"version":3,"file":"budget.d.ts","sourceRoot":"","sources":["../../src/hooks/budget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAO7C,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAuBhF"}
@@ -1,119 +1,22 @@
1
1
  "use strict";
2
2
  /**
3
- * Budget hard stop hooks — before_model_resolve and before_prompt_build.
3
+ * Budget hard stop hooks — before_prompt_build + before_tool_call.
4
4
  *
5
5
  * When the server signals a hard stop (budget exceeded + hard stop enabled),
6
6
  * these hooks:
7
- * 1. Try to downgrade to a cheaper model (best-effort)
8
- * 2. Prepend context telling the LLM to inform the user about the budget limit
7
+ * 1. Prepend context telling the LLM to inform the user about the budget limit
8
+ * 2. Block all tool calls (via before_tool_call in security.ts)
9
+ *
10
+ * No model downgrade — we can't know what providers the user has configured,
11
+ * so forcing a "cheaper" model would break setups with a single provider.
9
12
  */
10
13
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.findCheapestModel = findCheapestModel;
12
14
  exports.registerBudgetHooks = registerBudgetHooks;
13
15
  const transmitter_js_1 = require("../transmitter.js");
14
16
  // ---------------------------------------------------------------------------
15
- // Model cost heuristic — cheaper models first
16
- // ---------------------------------------------------------------------------
17
- /** Known cheap model patterns (ordered cheapest first). */
18
- const CHEAP_MODEL_PATTERNS = [
19
- "haiku",
20
- "flash",
21
- "mini",
22
- "nano",
23
- "lite",
24
- "sonnet",
25
- ];
26
- /**
27
- * Score a model name by cost (lower = cheaper).
28
- * Known cheap patterns get low scores, unknown models get a high default.
29
- */
30
- function modelCostScore(modelName) {
31
- const lower = modelName.toLowerCase();
32
- for (let i = 0; i < CHEAP_MODEL_PATTERNS.length; i++) {
33
- if (lower.includes(CHEAP_MODEL_PATTERNS[i]))
34
- return i;
35
- }
36
- return 100; // unknown = expensive
37
- }
38
- /**
39
- * Find the cheapest available model from the gateway config.
40
- * Returns { model, provider } or null if only one model is configured.
41
- */
42
- function findCheapestModel(config) {
43
- const candidates = [];
44
- // Check models.providers for available models
45
- const providers = config?.models?.providers;
46
- if (providers && typeof providers === "object") {
47
- for (const [providerName, providerCfg] of Object.entries(providers)) {
48
- const cfg = providerCfg;
49
- const models = cfg.models;
50
- if (Array.isArray(models)) {
51
- for (const m of models) {
52
- if (typeof m === "string") {
53
- candidates.push({
54
- model: `${providerName}/${m}`,
55
- provider: providerName,
56
- score: modelCostScore(m),
57
- });
58
- }
59
- }
60
- }
61
- }
62
- }
63
- // Also check agents.defaults.models for configured model aliases
64
- const agentModels = config?.agents?.defaults?.models;
65
- if (agentModels && typeof agentModels === "object") {
66
- for (const modelId of Object.keys(agentModels)) {
67
- if (typeof modelId === "string") {
68
- const parts = modelId.split("/");
69
- const modelName = parts[parts.length - 1] ?? modelId;
70
- const provider = parts.length > 1 ? parts[0] : "";
71
- candidates.push({
72
- model: modelId,
73
- provider,
74
- score: modelCostScore(modelName),
75
- });
76
- }
77
- }
78
- }
79
- // Deduplicate by model name
80
- const seen = new Set();
81
- const unique = candidates.filter((c) => {
82
- if (seen.has(c.model))
83
- return false;
84
- seen.add(c.model);
85
- return true;
86
- });
87
- if (unique.length <= 1)
88
- return null;
89
- // Sort by score (cheapest first) and pick the cheapest
90
- unique.sort((a, b) => a.score - b.score);
91
- // Get the current primary model to avoid returning the same one
92
- const primaryModel = config?.agents?.defaults?.model?.primary;
93
- const cheapest = unique.find((c) => c.model !== primaryModel) ?? unique[0];
94
- return { model: cheapest.model, provider: cheapest.provider };
95
- }
96
- // ---------------------------------------------------------------------------
97
17
  // Hook registration
98
18
  // ---------------------------------------------------------------------------
99
19
  function registerBudgetHooks(api, config) {
100
- // -----------------------------------------------------------------------
101
- // before_model_resolve — downgrade to cheaper model on hard stop
102
- // -----------------------------------------------------------------------
103
- api.registerHook("before_model_resolve", async () => {
104
- if (!config.enableBudgetEnforcement)
105
- return;
106
- const budget = transmitter_js_1.transmitter.getCachedBudget();
107
- if (!budget?.hardStopActive)
108
- return;
109
- const cheaper = findCheapestModel(api.config);
110
- if (!cheaper)
111
- return; // only one model configured, skip
112
- return {
113
- modelOverride: cheaper.model,
114
- providerOverride: cheaper.provider,
115
- };
116
- }, { name: "podwatch-budget-model-resolve" });
117
20
  // -----------------------------------------------------------------------
118
21
  // before_prompt_build — inject budget warning into prompt
119
22
  // -----------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"budget.js","sourceRoot":"","sources":["../../src/hooks/budget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"budget.js","sourceRoot":"","sources":["../../src/hooks/budget.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAUH,kDAuBC;AA7BD,sDAAgD;AAEhD,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,SAAgB,mBAAmB,CAAC,GAAc,EAAE,MAAsB;IACxE,0EAA0E;IAC1E,0DAA0D;IAC1D,0EAA0E;IAC1E,GAAG,CAAC,YAAY,CACd,qBAAqB,EACrB,KAAK,IAAiD,EAAE;QACtD,IAAI,CAAC,MAAM,CAAC,uBAAuB;YAAE,OAAO;QAE5C,MAAM,MAAM,GAAG,4BAAW,CAAC,eAAe,EAAE,CAAC;QAC7C,IAAI,CAAC,MAAM,EAAE,cAAc;YAAE,OAAO;QAEpC,OAAO;YACL,cAAc,EACZ,iEAAiE;gBACjE,4EAA4E;gBAC5E,+FAA+F;SAClG,CAAC;IACJ,CAAC,EACD,EAAE,IAAI,EAAE,8BAA8B,EAAE,CACzC,CAAC;IAEF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;AAClE,CAAC"}
package/dist/redact.d.ts CHANGED
@@ -22,6 +22,25 @@ declare function looksLikeToken(s: string): boolean;
22
22
  */
23
23
  declare function getEntropyThreshold(length: number): number;
24
24
  declare function isHighEntropySecret(s: string): boolean;
25
+ /**
26
+ * Replace sensitive patterns *inline* within a string value.
27
+ *
28
+ * Strategy:
29
+ * 1. Collect all regex match ranges across every INLINE_PATTERN.
30
+ * 2. Extend each range bidirectionally to the nearest "token boundary"
31
+ * (whitespace, quotes, brackets, etc.) so partial regex matches still
32
+ * cover the full secret token.
33
+ * 3. Merge overlapping/adjacent ranges.
34
+ * 4. Replace each merged range with [REDACTED].
35
+ *
36
+ * Returns the (possibly modified) string and how many distinct secrets were
37
+ * redacted. Does NOT check Shannon entropy — callers should use
38
+ * `isHighEntropySecret()` as a fallback when `count === 0`.
39
+ */
40
+ declare function inlineRedactSensitiveValues(s: string): {
41
+ value: string;
42
+ count: number;
43
+ };
25
44
  export interface RedactResult {
26
45
  result: Record<string, unknown>;
27
46
  redactedCount: number;
@@ -31,5 +50,5 @@ export interface RedactResult {
31
50
  * Returns the scrubbed object and a count of how many values were redacted.
32
51
  */
33
52
  export declare function redactParams(params: Record<string, unknown>): RedactResult;
34
- export { shannonEntropy, looksLikeToken, isHighEntropySecret, getEntropyThreshold, SENSITIVE_VALUE_PATTERNS, SENSITIVE_KEYS };
53
+ export { shannonEntropy, looksLikeToken, isHighEntropySecret, getEntropyThreshold, inlineRedactSensitiveValues, SENSITIVE_VALUE_PATTERNS, SENSITIVE_KEYS };
35
54
  //# sourceMappingURL=redact.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../src/redact.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,QAAA,MAAM,cAAc,aAgFlB,CAAC;AAMH,QAAA,MAAM,wBAAwB,EAAE,MAAM,EAmGrC,CAAC;AAMF;;;GAGG;AACH,iBAAS,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAYzC;AAcD,iBAAS,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAY1C;AAID;;;;GAIG;AACH,iBAAS,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAInD;AAED,iBAAS,mBAAmB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAI/C;AAaD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;CACvB;AA4CD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY,CAK1E;AA+ED,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../src/redact.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,QAAA,MAAM,cAAc,aAgFlB,CAAC;AAMH,QAAA,MAAM,wBAAwB,EAAE,MAAM,EAmGrC,CAAC;AAMF;;;GAGG;AACH,iBAAS,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAYzC;AAcD,iBAAS,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAY1C;AAID;;;;GAIG;AACH,iBAAS,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAInD;AAED,iBAAS,mBAAmB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAI/C;AAiDD;;;;;;;;;;;;;;GAcG;AACH,iBAAS,2BAA2B,CAAC,CAAC,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAgDhF;AAaD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;CACvB;AA4CD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY,CAK1E;AA6FD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,cAAc,EAAE,CAAC"}
package/dist/redact.js CHANGED
@@ -15,6 +15,7 @@ exports.shannonEntropy = shannonEntropy;
15
15
  exports.looksLikeToken = looksLikeToken;
16
16
  exports.isHighEntropySecret = isHighEntropySecret;
17
17
  exports.getEntropyThreshold = getEntropyThreshold;
18
+ exports.inlineRedactSensitiveValues = inlineRedactSensitiveValues;
18
19
  // ---------------------------------------------------------------------------
19
20
  // Sensitive key patterns (normalized: lowercase, no hyphens/underscores)
20
21
  // ---------------------------------------------------------------------------
@@ -249,6 +250,102 @@ function isHighEntropySecret(s) {
249
250
  return shannonEntropy(s) >= getEntropyThreshold(s.length);
250
251
  }
251
252
  // ---------------------------------------------------------------------------
253
+ // Inline-safe patterns (derived from SENSITIVE_VALUE_PATTERNS)
254
+ // ---------------------------------------------------------------------------
255
+ /**
256
+ * Build regex variants suitable for inline (substring) replacement.
257
+ * - Strip `^` / `$` anchors so patterns can match mid-string.
258
+ * - PEM header patterns are replaced by a single block-level pattern that
259
+ * captures from `-----BEGIN …` through `-----END …-----` (or end-of-string).
260
+ * - The `g` flag is added so `.matchAll()` can find all occurrences.
261
+ */
262
+ function buildInlinePatterns() {
263
+ const out = [];
264
+ for (const pattern of SENSITIVE_VALUE_PATTERNS) {
265
+ // Skip individual PEM header patterns — replaced by unified block pattern below
266
+ if (pattern.source.includes('BEGIN'))
267
+ continue;
268
+ let source = pattern.source;
269
+ if (source.startsWith('^'))
270
+ source = source.slice(1);
271
+ if (source.endsWith('$'))
272
+ source = source.slice(0, -1);
273
+ const flags = pattern.flags.includes('g') ? pattern.flags : pattern.flags + 'g';
274
+ out.push(new RegExp(source, flags));
275
+ }
276
+ // Unified PEM block pattern: matches from -----BEGIN ... through -----END ...-----
277
+ // or through end-of-string when no END marker exists.
278
+ out.push(/-----BEGIN\s+(?:(?:RSA|OPENSSH|EC|DSA|ENCRYPTED)\s+)?(?:PRIVATE\s+KEY|CERTIFICATE)[\s\S]*?(?:-----END[^\n]*-----|$)/g);
279
+ return out;
280
+ }
281
+ const INLINE_PATTERNS = buildInlinePatterns();
282
+ /**
283
+ * Characters that are typically part of a secret token or credential string.
284
+ * Anything NOT matching this is treated as a word boundary for match extension.
285
+ */
286
+ const INLINE_TOKEN_CHAR_RE = /[a-zA-Z0-9_\-.+\/=:@]/;
287
+ // ---------------------------------------------------------------------------
288
+ // Inline redaction
289
+ // ---------------------------------------------------------------------------
290
+ /**
291
+ * Replace sensitive patterns *inline* within a string value.
292
+ *
293
+ * Strategy:
294
+ * 1. Collect all regex match ranges across every INLINE_PATTERN.
295
+ * 2. Extend each range bidirectionally to the nearest "token boundary"
296
+ * (whitespace, quotes, brackets, etc.) so partial regex matches still
297
+ * cover the full secret token.
298
+ * 3. Merge overlapping/adjacent ranges.
299
+ * 4. Replace each merged range with [REDACTED].
300
+ *
301
+ * Returns the (possibly modified) string and how many distinct secrets were
302
+ * redacted. Does NOT check Shannon entropy — callers should use
303
+ * `isHighEntropySecret()` as a fallback when `count === 0`.
304
+ */
305
+ function inlineRedactSensitiveValues(s) {
306
+ // 1. Collect all match ranges
307
+ const ranges = [];
308
+ for (const pattern of INLINE_PATTERNS) {
309
+ for (const match of s.matchAll(pattern)) {
310
+ let start = match.index;
311
+ let end = start + match[0].length;
312
+ // Extend backward to token boundary
313
+ while (start > 0 && INLINE_TOKEN_CHAR_RE.test(s[start - 1])) {
314
+ start--;
315
+ }
316
+ // Extend forward to token boundary
317
+ while (end < s.length && INLINE_TOKEN_CHAR_RE.test(s[end])) {
318
+ end++;
319
+ }
320
+ ranges.push({ start, end });
321
+ }
322
+ }
323
+ if (ranges.length === 0)
324
+ return { value: s, count: 0 };
325
+ // 2. Sort by start position, then by longest range first
326
+ ranges.sort((a, b) => a.start - b.start || b.end - a.end);
327
+ // 3. Merge overlapping / adjacent ranges
328
+ const merged = [{ ...ranges[0] }];
329
+ for (let i = 1; i < ranges.length; i++) {
330
+ const last = merged[merged.length - 1];
331
+ if (ranges[i].start <= last.end) {
332
+ last.end = Math.max(last.end, ranges[i].end);
333
+ }
334
+ else {
335
+ merged.push({ ...ranges[i] });
336
+ }
337
+ }
338
+ // 4. Build result string
339
+ let result = '';
340
+ let pos = 0;
341
+ for (const { start, end } of merged) {
342
+ result += s.slice(pos, start) + REDACTED;
343
+ pos = end;
344
+ }
345
+ result += s.slice(pos);
346
+ return { value: result, count: merged.length };
347
+ }
348
+ // ---------------------------------------------------------------------------
252
349
  // Constants
253
350
  // ---------------------------------------------------------------------------
254
351
  const MAX_VALUE_LENGTH = 500;
@@ -325,9 +422,17 @@ function redactObject(obj, depth, counter) {
325
422
  counter.count++;
326
423
  continue;
327
424
  }
328
- // Value-based redaction + truncation
425
+ // Value-based redaction + truncation (inline — only matched portions replaced)
329
426
  if (typeof value === "string") {
330
- if (isSensitiveValue(value)) {
427
+ const { value: redacted, count: inlineCount } = inlineRedactSensitiveValues(value);
428
+ if (inlineCount > 0) {
429
+ counter.count += inlineCount;
430
+ result[key] = redacted.length > MAX_VALUE_LENGTH
431
+ ? redacted.slice(0, MAX_VALUE_LENGTH) + `… [${redacted.length} chars]`
432
+ : redacted;
433
+ }
434
+ else if (isHighEntropySecret(value)) {
435
+ // Fallback: entire value looks like a random token
331
436
  result[key] = REDACTED;
332
437
  counter.count++;
333
438
  }
@@ -344,11 +449,18 @@ function redactObject(obj, depth, counter) {
344
449
  result[key] = redactObject(value, depth + 1, counter);
345
450
  continue;
346
451
  }
347
- // Arrays — redact string elements, recurse into objects
452
+ // Arrays — inline-redact string elements, recurse into objects
348
453
  if (Array.isArray(value)) {
349
454
  result[key] = value.map((item) => {
350
455
  if (typeof item === "string") {
351
- if (isSensitiveValue(item)) {
456
+ const { value: redacted, count: inlineCount } = inlineRedactSensitiveValues(item);
457
+ if (inlineCount > 0) {
458
+ counter.count += inlineCount;
459
+ return redacted.length > MAX_VALUE_LENGTH
460
+ ? redacted.slice(0, MAX_VALUE_LENGTH) + `… [${redacted.length} chars]`
461
+ : redacted;
462
+ }
463
+ if (isHighEntropySecret(item)) {
352
464
  counter.count++;
353
465
  return REDACTED;
354
466
  }
@@ -1 +1 @@
1
- {"version":3,"file":"redact.js","sourceRoot":"","sources":["../src/redact.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"redact.js","sourceRoot":"","sources":["../src/redact.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "podwatch",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "Security monitoring, cost tracking, and observability for AI agents",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",