@intutic/proxy 2.5.0 → 2.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -20
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@ request or response path:
|
|
|
24
24
|
|
|
25
25
|
| Step | Where | Purpose |
|
|
26
26
|
|------|-------|---------|
|
|
27
|
-
| Budget Gate | `plugins/budget_gate.rs`, called from `proxy.rs` |
|
|
27
|
+
| Budget Gate | `plugins/budget_gate.rs`, called from `proxy.rs` | Refuse a request that would pass this machine's daily spend cap (standalone); workspace, key and member budgets are checked beside it in `proxy.rs` |
|
|
28
28
|
| DLP | `dlp::scan`, inline on the request path | Block or redact sensitive data (secrets, PII, credentials); findings reach `DlpEscalationDetector` |
|
|
29
29
|
| Tool authorisation | `UnauthorizedToolDetector` and `plugins/response_gate.rs` | Refuse tools an SOP's `deny_tools` names, on the request and before a response's tool call reaches the client |
|
|
30
30
|
| Response Cache | `plugins/semantic_cache.rs` | Replay the answer to an identical request (exact match, Valkey), or to a reworded plain-text question in the same context (semantic match, TurboVec) |
|
|
@@ -33,32 +33,33 @@ request or response path:
|
|
|
33
33
|
### Model Selection
|
|
34
34
|
|
|
35
35
|
- **Thompson Sampling bandit**: selects a model per task cell from observed
|
|
36
|
-
**availability and
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
36
|
+
**availability, latency, cost and response integrity**.
|
|
37
|
+
|
|
38
|
+
`RewardSignals` (`src/routing/reward.rs:32`) carries `upstream_ok`,
|
|
39
|
+
`latency_ms`, `token_anomaly`, `raw_cost_usd`, `actual_cost_usd` and
|
|
40
|
+
`response_integrity`. The cost term is two-sided: a cheaper route earns more
|
|
41
|
+
than an equal-cost one (`cheaper_routed_model_earns_a_bonus`), and a costlier
|
|
42
|
+
one less. `response_integrity` is the only signal about the answer itself: it
|
|
43
|
+
catches malformed, truncated and unusable responses, and a faulted response
|
|
44
|
+
loses more than any price advantage can return
|
|
45
|
+
(`quality_fault_outweighs_any_price_advantage`). It does **not** catch a
|
|
46
|
+
wrong but well-formed answer.
|
|
47
|
+
|
|
48
|
+
So the router optimises for responding *usably* and *cheaply*, not for
|
|
49
|
+
responding *well*. Do not describe it as preserving quality until there is a
|
|
50
|
+
measurement behind the word.
|
|
50
51
|
|
|
51
52
|
### Network Enforcement
|
|
52
53
|
|
|
53
54
|
- **TLS MITM**: Transparent interception for Windsurf and other harnesses
|
|
54
|
-
- **OS-level firewall rules**: Generates platform-native
|
|
55
|
-
- macOS: `pf` (Packet Filter)
|
|
56
|
-
- Linux: `iptables`
|
|
57
|
-
- Windows: `
|
|
55
|
+
- **OS-level firewall rules**: Generates platform-native default-deny egress rules, so traffic leaves the machine only through the proxy (`intutic-proxy enforce`, `intutic enforce`)
|
|
56
|
+
- macOS: `pf` (Packet Filter) anchor
|
|
57
|
+
- Linux: `nftables`, or `iptables` when `nft` is absent
|
|
58
|
+
- Windows: not implemented (`generate` says so, `apply` refuses)
|
|
58
59
|
|
|
59
60
|
### Security & Observability
|
|
60
61
|
|
|
61
|
-
- **DLP scanner**:
|
|
62
|
+
- **DLP scanner**: Prefix-anchored secret patterns (no entropy-based matching), plus validated PII detectors for payment cards (Luhn), IBANs (mod 97) and US Social Security numbers (issued ranges), on by default, and email addresses and phone numbers, off by default. `intutic_settings.dlp.detectors` in this machine's config sets each detector's action, and a connected workspace's `piiDetectors` setting sets a baseline the local config may only make stricter. See [PII detectors](https://docs.intutic.ai/guide/policies#pii-detectors)
|
|
62
63
|
- **Code skeleton extraction**: Uses `tree-sitter` and `syn` for AST-level code analysis
|
|
63
64
|
- **Token counting**: Accurate pre-flight token estimation via `tiktoken-rs`
|
|
64
65
|
- **Telemetry**: OpenTelemetry OTLP export for traces and metrics — a `SpanExporter` and `SdkMeterProvider` ship in `src/main.rs`, with the exported instrument set declared in `src/metrics.rs` (snip compaction histograms, egress counters, policy refusals). No logs pipeline
|