@intutic/shared-types 2.1.0 → 2.3.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.
- package/dist/anomaly.d.ts +6 -10
- package/dist/anomaly.d.ts.map +1 -1
- package/dist/anomaly.js +0 -2
- package/dist/anomaly.js.map +1 -1
- package/dist/api-contracts.d.ts +1 -1
- package/dist/api-contracts.js +1 -1
- package/dist/attenuation.d.ts +1 -1
- package/dist/attenuation.js +1 -1
- package/dist/auth.d.ts +10 -9
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +3 -4
- package/dist/auth.js.map +1 -1
- package/dist/billing.d.ts +1 -1
- package/dist/billing.js +1 -1
- package/dist/destructiveSql.d.ts +48 -0
- package/dist/destructiveSql.d.ts.map +1 -0
- package/dist/destructiveSql.js +43 -0
- package/dist/destructiveSql.js.map +1 -0
- package/dist/devInventory.d.ts +120 -0
- package/dist/devInventory.d.ts.map +1 -0
- package/dist/devInventory.js +80 -0
- package/dist/devInventory.js.map +1 -0
- package/dist/enums.d.ts +18 -21
- package/dist/enums.d.ts.map +1 -1
- package/dist/enums.js +24 -28
- package/dist/enums.js.map +1 -1
- package/dist/errors.js +3 -3
- package/dist/errors.js.map +1 -1
- package/dist/finops.d.ts +14 -2
- package/dist/finops.d.ts.map +1 -1
- package/dist/finops.js +15 -1
- package/dist/finops.js.map +1 -1
- package/dist/gateDecisions.d.ts +18 -0
- package/dist/gateDecisions.d.ts.map +1 -0
- package/dist/gateDecisions.js +20 -0
- package/dist/gateDecisions.js.map +1 -0
- package/dist/gateIdentity.d.ts +23 -0
- package/dist/gateIdentity.d.ts.map +1 -0
- package/dist/gateIdentity.js +32 -0
- package/dist/gateIdentity.js.map +1 -0
- package/dist/gateKind.d.ts +172 -0
- package/dist/gateKind.d.ts.map +1 -0
- package/dist/gateKind.js +160 -0
- package/dist/gateKind.js.map +1 -0
- package/dist/gateLimits.d.ts +170 -0
- package/dist/gateLimits.d.ts.map +1 -0
- package/dist/gateLimits.js +96 -0
- package/dist/gateLimits.js.map +1 -0
- package/dist/gitRemote.d.ts +17 -0
- package/dist/gitRemote.d.ts.map +1 -0
- package/dist/gitRemote.js +71 -0
- package/dist/gitRemote.js.map +1 -0
- package/dist/governanceCoverage.d.ts +3 -3
- package/dist/governanceCoverage.js +3 -3
- package/dist/guardrailIr.d.ts +3 -3
- package/dist/guardrailIr.d.ts.map +1 -1
- package/dist/guardrailIr.js +3 -3
- package/dist/guardrailIr.js.map +1 -1
- package/dist/guardrailRender.d.ts +1 -1
- package/dist/guardrailRender.js +1 -1
- package/dist/harnessRules.d.ts +74 -0
- package/dist/harnessRules.d.ts.map +1 -0
- package/dist/harnessRules.js +142 -0
- package/dist/harnessRules.js.map +1 -0
- package/dist/holdMessages.d.ts +25 -0
- package/dist/holdMessages.d.ts.map +1 -0
- package/dist/holdMessages.js +34 -0
- package/dist/holdMessages.js.map +1 -0
- package/dist/identity.d.ts +1 -1
- package/dist/identity.js +2 -2
- package/dist/identity.js.map +1 -1
- package/dist/index.d.ts +36 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +141 -10
- package/dist/index.js.map +1 -1
- package/dist/intelligence.d.ts +1 -2
- package/dist/intelligence.d.ts.map +1 -1
- package/dist/intelligence.js.map +1 -1
- package/dist/mcpBudgets.d.ts +191 -0
- package/dist/mcpBudgets.d.ts.map +1 -0
- package/dist/mcpBudgets.js +144 -0
- package/dist/mcpBudgets.js.map +1 -0
- package/dist/mcpRegistryRecord.d.ts +143 -0
- package/dist/mcpRegistryRecord.d.ts.map +1 -0
- package/dist/mcpRegistryRecord.js +229 -0
- package/dist/mcpRegistryRecord.js.map +1 -0
- package/dist/mcpToolRisk.d.ts +82 -0
- package/dist/mcpToolRisk.d.ts.map +1 -0
- package/dist/mcpToolRisk.js +334 -0
- package/dist/mcpToolRisk.js.map +1 -0
- package/dist/modelCatalog.d.ts +2 -2
- package/dist/modelCatalog.generated.js +1 -1
- package/dist/modelCatalog.generated.js.map +1 -1
- package/dist/modelCatalog.js +2 -2
- package/dist/notifications.d.ts +20 -130
- package/dist/notifications.d.ts.map +1 -1
- package/dist/notifications.js +241 -1
- package/dist/notifications.js.map +1 -1
- package/dist/phrases.d.ts +87 -0
- package/dist/phrases.d.ts.map +1 -0
- package/dist/phrases.js +241 -0
- package/dist/phrases.js.map +1 -0
- package/dist/piiDetectors.d.ts +97 -0
- package/dist/piiDetectors.d.ts.map +1 -0
- package/dist/piiDetectors.js +96 -0
- package/dist/piiDetectors.js.map +1 -0
- package/dist/piiDetectors.json +71 -0
- package/dist/policy.d.ts +1 -1
- package/dist/policy.js +1 -1
- package/dist/policyGuardrails.d.ts +127 -10
- package/dist/policyGuardrails.d.ts.map +1 -1
- package/dist/policyGuardrails.js +59 -6
- package/dist/policyGuardrails.js.map +1 -1
- package/dist/posturePresets.js +1 -1
- package/dist/posturePresets.js.map +1 -1
- package/dist/providerVerification.d.ts +2 -2
- package/dist/providerVerification.js +2 -2
- package/dist/providers.d.ts +4 -4
- package/dist/providers.d.ts.map +1 -1
- package/dist/providers.js +11 -6
- package/dist/providers.js.map +1 -1
- package/dist/regoBuiltins.d.ts +42 -0
- package/dist/regoBuiltins.d.ts.map +1 -0
- package/dist/regoBuiltins.js +732 -0
- package/dist/regoBuiltins.js.map +1 -0
- package/dist/regoRules.d.ts +105 -0
- package/dist/regoRules.d.ts.map +1 -0
- package/dist/regoRules.js +407 -0
- package/dist/regoRules.js.map +1 -0
- package/dist/ruleLoadFailures.d.ts +15 -0
- package/dist/ruleLoadFailures.d.ts.map +1 -0
- package/dist/ruleLoadFailures.js +26 -0
- package/dist/ruleLoadFailures.js.map +1 -0
- package/dist/scriptScan.d.ts +5 -5
- package/dist/scriptScan.js +3 -3
- package/dist/sequence.d.ts +52 -0
- package/dist/sequence.d.ts.map +1 -0
- package/dist/sequence.js +127 -0
- package/dist/sequence.js.map +1 -0
- package/dist/session.d.ts +1 -1
- package/dist/session.js +1 -1
- package/dist/skillScan.d.ts +3 -3
- package/dist/skillScan.d.ts.map +1 -1
- package/dist/skillScan.js +26 -4
- package/dist/skillScan.js.map +1 -1
- package/dist/sop.d.ts +24 -11
- package/dist/sop.d.ts.map +1 -1
- package/dist/sop.js +10 -9
- package/dist/sop.js.map +1 -1
- package/dist/sourceProviders.d.ts +1 -8
- package/dist/sourceProviders.d.ts.map +1 -1
- package/dist/sourceProviders.js +2 -9
- package/dist/sourceProviders.js.map +1 -1
- package/dist/ssoGroupClearance.d.ts +119 -0
- package/dist/ssoGroupClearance.d.ts.map +1 -0
- package/dist/ssoGroupClearance.js +196 -0
- package/dist/ssoGroupClearance.js.map +1 -0
- package/dist/sync.d.ts +42 -14
- package/dist/sync.d.ts.map +1 -1
- package/dist/sync.js +3 -3
- package/dist/sync.js.map +1 -1
- package/dist/taskManagement.d.ts +0 -2
- package/dist/taskManagement.d.ts.map +1 -1
- package/dist/taskManagement.js +0 -2
- package/dist/taskManagement.js.map +1 -1
- package/dist/toolPoison.d.ts +33 -0
- package/dist/toolPoison.d.ts.map +1 -0
- package/dist/toolPoison.js +85 -0
- package/dist/toolPoison.js.map +1 -0
- package/dist/usage.d.ts +186 -0
- package/dist/usage.d.ts.map +1 -1
- package/dist/wasmBinary.d.ts +25 -0
- package/dist/wasmBinary.d.ts.map +1 -0
- package/dist/wasmBinary.js +111 -0
- package/dist/wasmBinary.js.map +1 -0
- package/dist/wasmFuel.d.ts +52 -0
- package/dist/wasmFuel.d.ts.map +1 -0
- package/dist/wasmFuel.js +320 -0
- package/dist/wasmFuel.js.map +1 -0
- package/dist/wasmMemoryCap.d.ts +21 -0
- package/dist/wasmMemoryCap.d.ts.map +1 -0
- package/dist/wasmMemoryCap.js +58 -0
- package/dist/wasmMemoryCap.js.map +1 -0
- package/dist/workspaceSettings.d.ts +126 -17
- package/dist/workspaceSettings.d.ts.map +1 -1
- package/dist/workspaceSettings.js +21 -2
- package/dist/workspaceSettings.js.map +1 -1
- package/package.json +2 -2
|
@@ -6,12 +6,23 @@
|
|
|
6
6
|
* proxy processes and hook scripts pick up changes without restarting.
|
|
7
7
|
*
|
|
8
8
|
* WS-5 — Q1 (fail behavior), Q2 (proxy mode), Q3 (bypass enforcement)
|
|
9
|
-
* TD-151, TD-153, TD-154
|
|
10
9
|
*
|
|
11
10
|
* @module
|
|
12
11
|
*/
|
|
13
12
|
import type { McpProxyFailBehavior, McpProxyMode, BypassEnforcementTier } from './enums.js';
|
|
13
|
+
import type { SsoGroupPolicy } from './attenuation.js';
|
|
14
|
+
import type { McpBudgetSettings } from './mcpBudgets.js';
|
|
15
|
+
import type { PiiDetectorSettings } from './piiDetectors.js';
|
|
14
16
|
export type { McpProxyFailBehavior, McpProxyMode, BypassEnforcementTier };
|
|
17
|
+
/**
|
|
18
|
+
* The MCP governance proxy's anomaly detectors, by id. The proxy's own
|
|
19
|
+
* `DETECTOR_BASE_DISPOSITION` (packages/mcp-proxy/src/anomaly/index.ts) is
|
|
20
|
+
* typed against this list, so a detector added there without being added
|
|
21
|
+
* here fails to compile, and `mcpAnomalyOverrides` cannot name one that does
|
|
22
|
+
* not exist.
|
|
23
|
+
*/
|
|
24
|
+
export declare const MCP_ANOMALY_DETECTOR_IDS: readonly ["consecutive_repeat", "ping_pong_cycle", "landmark_cycle", "tool_diversity_collapse", "code_as_action", "tool_poisoning", "dlp_escalation"];
|
|
25
|
+
export type McpAnomalyDetectorId = (typeof MCP_ANOMALY_DETECTOR_IDS)[number];
|
|
15
26
|
/**
|
|
16
27
|
* Per-workspace MCP governance settings.
|
|
17
28
|
*
|
|
@@ -49,7 +60,7 @@ export interface WorkspaceSettings {
|
|
|
49
60
|
* `null` disables the gate. Defaults to 30 days. SCIM provisioning was removed,
|
|
50
61
|
* so nothing reconciles membership against the identity provider: without this,
|
|
51
62
|
* removing a developer at the IdP stops their dashboard login but not their
|
|
52
|
-
* agents, because API-key auth never consults SSO
|
|
63
|
+
* agents, because API-key auth never consults SSO. Setting it makes IdP
|
|
53
64
|
* removal expire the keys on its own.
|
|
54
65
|
*
|
|
55
66
|
* Opt-in on purpose — a CI key belongs to a member who may never log in
|
|
@@ -63,6 +74,24 @@ export interface WorkspaceSettings {
|
|
|
63
74
|
* recorded SSO login yet. Cleared when the gate is turned off.
|
|
64
75
|
*/
|
|
65
76
|
ssoKeyGateEnabledAt: string | null;
|
|
77
|
+
/**
|
|
78
|
+
* Tools only members of named identity-provider groups may run, and tools
|
|
79
|
+
* only an on-behalf-of token may call (`SsoGroupPolicySchema`). Absent: no
|
|
80
|
+
* group restriction; `null` in a settings write clears it, and is never
|
|
81
|
+
* stored. Snake-case because the gates and the policy responses have always
|
|
82
|
+
* read it under this key. Every gate decides with `evaluateSsoGroupClearance`;
|
|
83
|
+
* see `ssoGroupClearance.ts`.
|
|
84
|
+
*/
|
|
85
|
+
sso_group_policy?: SsoGroupPolicy | null;
|
|
86
|
+
/**
|
|
87
|
+
* The action (`off`, `redact`, `block`) of each PII detector this workspace
|
|
88
|
+
* governs centrally (`PiiDetectorSettingsSchema`). The LLM proxy and the
|
|
89
|
+
* MCP proxy apply it to the workspace's traffic as the baseline; a
|
|
90
|
+
* machine's own detector config may only tighten it (`effectivePiiActions`).
|
|
91
|
+
* Absent, or a detector left out: each machine's own config applies. `null`
|
|
92
|
+
* in a settings write clears it, and is never stored.
|
|
93
|
+
*/
|
|
94
|
+
piiDetectors?: PiiDetectorSettings | null;
|
|
66
95
|
/**
|
|
67
96
|
* Bring-your-own-cloud trace storage. Optional — absent means Intutic-managed
|
|
68
97
|
* storage. Previously accessed only through `as unknown as` casts; typed here
|
|
@@ -80,7 +109,7 @@ export interface WorkspaceSettings {
|
|
|
80
109
|
*
|
|
81
110
|
* Applies to 8/19 harnesses (those with MCP proxy injection — 9 config
|
|
82
111
|
* paths across 8 harnesses, see sync-daemon mcpAutoWrite.ts).
|
|
83
|
-
*
|
|
112
|
+
* The other harnesses have no MCP proxy to fail, so this does not reach them.
|
|
84
113
|
*/
|
|
85
114
|
mcpProxyFailBehavior: McpProxyFailBehavior;
|
|
86
115
|
/**
|
|
@@ -90,7 +119,7 @@ export interface WorkspaceSettings {
|
|
|
90
119
|
* MCP connection. Policy is fetched from control plane at startup with a
|
|
91
120
|
* 60s in-process TTL.
|
|
92
121
|
* - `'daemon'` (active): a long-lived proxy daemon shares its policy cache
|
|
93
|
-
* across all MCP sessions. Requires macOS notarization.
|
|
122
|
+
* across all MCP sessions. Requires macOS notarization.
|
|
94
123
|
*
|
|
95
124
|
* The sync-daemon writes this value through verbatim to
|
|
96
125
|
* ~/.intutic/env/runtime.env (lib/runtimeEnv.ts) and the MCP proxy honours
|
|
@@ -108,7 +137,7 @@ export interface WorkspaceSettings {
|
|
|
108
137
|
* governance incident.
|
|
109
138
|
* - `'immutable'` (opt-in, macOS only): after writing, sets `chflags uchg`
|
|
110
139
|
* on the config file. Direct edits fail immediately. The flag is cleared
|
|
111
|
-
* before the next sync write.
|
|
140
|
+
* before the next sync write.
|
|
112
141
|
* - `'alert-only'`: drift triggers a governance incident but does NOT rewrite
|
|
113
142
|
* the config. For teams that want audit logs without enforced reversion.
|
|
114
143
|
*/
|
|
@@ -229,9 +258,10 @@ export interface WorkspaceSettings {
|
|
|
229
258
|
* Whether an APPROVED `review_before` decision may let the *matching retried
|
|
230
259
|
* call* through the local gate, instead of only recording the decision.
|
|
231
260
|
*
|
|
232
|
-
* Off (undefined/false) by default.
|
|
233
|
-
* approve
|
|
234
|
-
*
|
|
261
|
+
* Off (undefined/false) by default. Approving a decision — `intutic decision
|
|
262
|
+
* approve`, `POST /api/v1/decisions/:id/review` or the Slack card, one code
|
|
263
|
+
* path — always records it; this flag governs a separate, additive effect:
|
|
264
|
+
* when true, approving a decision tied to a
|
|
235
265
|
* `review_before` hold writes a short-lived, exact-match bypass entry
|
|
236
266
|
* (workspace + SOP rule + normalised tool name + hashed target/command) to
|
|
237
267
|
* Valkey, synced to `.intutic/hooks/approved-bypasses.jsonl` and consulted by
|
|
@@ -248,9 +278,22 @@ export interface WorkspaceSettings {
|
|
|
248
278
|
* exemption.
|
|
249
279
|
*/
|
|
250
280
|
reviewHoldBypassTtlMinutes?: number;
|
|
281
|
+
/**
|
|
282
|
+
* Held loop runs (`review_before:` on a whole run, reviewed with `intutic
|
|
283
|
+
* loop review`). With `requireDistinctApprover` true, the member who started
|
|
284
|
+
* a run cannot approve or reject it; another OWNER, ADMIN or EM must. Off by
|
|
285
|
+
* default: the person who ran the agent is usually best placed to judge its
|
|
286
|
+
* change manifest, and a small team must not be locked out of its own
|
|
287
|
+
* deploys. Break-glass requests always need a second person, whatever this
|
|
288
|
+
* says. Stored under the snake_case key the reader
|
|
289
|
+
* (`requiresDistinctApprover` in loopGovernanceService.ts) uses.
|
|
290
|
+
*/
|
|
291
|
+
loop_review?: {
|
|
292
|
+
requireDistinctApprover?: boolean;
|
|
293
|
+
};
|
|
251
294
|
/**
|
|
252
295
|
* Central egress-enforcement posture, distributed to this workspace's proxies
|
|
253
|
-
*
|
|
296
|
+
* One of `'off'` | `'monitor'` | `'enforce'`. When set, the
|
|
254
297
|
* sync-daemon writes it to `.intutic/hooks/egress-policy.json` and the proxy
|
|
255
298
|
* hot-reloads it, so an admin sets the mode once here rather than in each
|
|
256
299
|
* developer's local config. Undefined leaves the proxy on its local config /
|
|
@@ -291,15 +334,65 @@ export interface WorkspaceSettings {
|
|
|
291
334
|
* start refusing every MCP server because a default changed.
|
|
292
335
|
*/
|
|
293
336
|
mcpAllowedServers?: string[];
|
|
337
|
+
/**
|
|
338
|
+
* What the MCP governance proxy does with a server the workspace has not
|
|
339
|
+
* approved in its MCP server registry. `allow` (the default, and what an
|
|
340
|
+
* absent value means) lets every server through that is not explicitly
|
|
341
|
+
* blocked; `deny` refuses every server until an OWNER or ADMIN approves it,
|
|
342
|
+
* and a server the proxy has not seen before lands in the registry as a
|
|
343
|
+
* candidate awaiting that decision. A blocked server is refused under both.
|
|
344
|
+
* Delivered to the proxy with the registry decisions (`mcpRegistry` on
|
|
345
|
+
* `GET /api/v1/sop/rules` and `GET /api/v1/policy/resolve`).
|
|
346
|
+
*/
|
|
347
|
+
mcpDefaultPolicy?: 'allow' | 'deny';
|
|
348
|
+
/**
|
|
349
|
+
* What the MCP governance proxy does when a prompt-injection pattern
|
|
350
|
+
* matches: `warn` reports it and lets the call (or result) through, `block`
|
|
351
|
+
* refuses the call or withholds the result. Delivered with the MCP policy
|
|
352
|
+
* and wins over the proxy's local `INTUTIC_MCP_INJECTION_ACTION`; absent
|
|
353
|
+
* leaves the local setting (default `warn`) in force.
|
|
354
|
+
*/
|
|
355
|
+
mcpInjectionAction?: 'warn' | 'block';
|
|
356
|
+
/**
|
|
357
|
+
* The MCP proxy's anomaly detectors: `enforce` lets each act up to its own
|
|
358
|
+
* ceiling, `warn` reports without blocking, `off` skips them. Delivered with
|
|
359
|
+
* the MCP policy and wins over `INTUTIC_MCP_ANOMALY_MODE`; absent leaves the
|
|
360
|
+
* local setting (default `enforce`) in force.
|
|
361
|
+
*/
|
|
362
|
+
mcpAnomalyMode?: 'enforce' | 'warn' | 'off';
|
|
363
|
+
/**
|
|
364
|
+
* Per-detector overrides for the MCP proxy's anomaly detectors, by
|
|
365
|
+
* detector id. A value can only demote a detector below its own ceiling,
|
|
366
|
+
* never promote it. Merged per detector over `INTUTIC_MCP_ANOMALY_OVERRIDES`,
|
|
367
|
+
* this setting winning.
|
|
368
|
+
*/
|
|
369
|
+
mcpAnomalyOverrides?: Partial<Record<McpAnomalyDetectorId, 'steer' | 'reask' | 'kill' | 'off'>>;
|
|
294
370
|
/**
|
|
295
371
|
* Workspace-supplied prompt-injection regex sources for the MCP governance
|
|
296
|
-
* proxy
|
|
372
|
+
* proxy, on top of its hardcoded floor. Delivered with the rest of
|
|
297
373
|
* the MCP curation; the proxy compiles them and drops one that does not.
|
|
298
374
|
* Absent or empty means the floor alone.
|
|
299
375
|
*/
|
|
300
376
|
mcpInjectionPatterns?: string[];
|
|
301
377
|
/**
|
|
302
|
-
*
|
|
378
|
+
* Limits on MCP tool calls per hour or per day — per server, per tool, per
|
|
379
|
+
* member, or per member on one server (`mcpBudgets.ts`). Delivered with the
|
|
380
|
+
* MCP policy; the MCP proxy counts calls in Valkey and refuses one that
|
|
381
|
+
* would go over a limit, naming the budget and when it resets. Absent means
|
|
382
|
+
* no limits.
|
|
383
|
+
*/
|
|
384
|
+
mcpBudgets?: McpBudgetSettings;
|
|
385
|
+
/**
|
|
386
|
+
* What happens when a server's tool set changes and the change scores high
|
|
387
|
+
* risk (`mcpToolRisk.ts`). `notify` (the default, and what an absent value
|
|
388
|
+
* means) records the change and sends `mcp.server.tool_change_risk`;
|
|
389
|
+
* `hold` also returns the server to the approval queue, where the MCP proxy
|
|
390
|
+
* refuses it under either default policy until an owner or admin approves
|
|
391
|
+
* it again.
|
|
392
|
+
*/
|
|
393
|
+
mcpHighRiskToolChange?: 'notify' | 'hold';
|
|
394
|
+
/**
|
|
395
|
+
* Negotiated per-token rates, by model id, in USD per 1k tokens.
|
|
303
396
|
* The `model_pricing` table is LIST price; a workspace paying below list
|
|
304
397
|
* had every savings figure skewed by the difference. Where a model is
|
|
305
398
|
* listed here it is priced at these rates in the routing shadow-savings
|
|
@@ -311,7 +404,7 @@ export interface WorkspaceSettings {
|
|
|
311
404
|
outputCostPer1k: number;
|
|
312
405
|
}>;
|
|
313
406
|
/**
|
|
314
|
-
* Whether agents in this workspace must run inside a sandbox
|
|
407
|
+
* Whether agents in this workspace must run inside a sandbox.
|
|
315
408
|
* - `'off'` (default): `intutic exec` runs on the host as before.
|
|
316
409
|
* - `'warn'`: an un-sandboxed `intutic exec` runs but prints a warning.
|
|
317
410
|
* - `'require'`: `intutic exec` refuses to run un-sandboxed and tells the
|
|
@@ -358,7 +451,7 @@ export interface WorkspaceSettings {
|
|
|
358
451
|
categories?: string[];
|
|
359
452
|
};
|
|
360
453
|
/**
|
|
361
|
-
* Server-side trajectory monitoring mode (
|
|
454
|
+
* Server-side trajectory monitoring mode (parallel monitoring).
|
|
362
455
|
* Read by `services/control-plane/src/services/trajectoryAnalysisService.ts`'s
|
|
363
456
|
* `getWorkspaceMonitorMode` on every `/trajectory/analyze` call:
|
|
364
457
|
*
|
|
@@ -429,7 +522,7 @@ export interface WorkspaceSettings {
|
|
|
429
522
|
*/
|
|
430
523
|
decisionsLogEnabled?: boolean;
|
|
431
524
|
/**
|
|
432
|
-
* Opt-in LLM-based semantic analysis of skill files (Phase S5
|
|
525
|
+
* Opt-in LLM-based semantic analysis of skill files (Phase S5),
|
|
433
526
|
* on top of the always-on deterministic `scanSkillContent` pattern scan.
|
|
434
527
|
* When true:
|
|
435
528
|
* - The CLI (`intutic skill audit`) attaches the FULL content of a
|
|
@@ -451,8 +544,8 @@ export interface WorkspaceSettings {
|
|
|
451
544
|
*/
|
|
452
545
|
semanticSkillAnalysisEnabled?: boolean;
|
|
453
546
|
/**
|
|
454
|
-
* Opt-in VirusTotal hash lookup for skill-bundled SCRIPTS (Phase S4
|
|
455
|
-
*
|
|
547
|
+
* Opt-in VirusTotal hash lookup for skill-bundled SCRIPTS (Phase S4).
|
|
548
|
+
* When true, and only when a `connector_credentials` row for
|
|
456
549
|
* provider `'virustotal'` is also stored, `POST .../skills/report`
|
|
457
550
|
* fire-and-forget enqueues any reported script sha256 hashes for a
|
|
458
551
|
* `GET /api/v3/files/{sha256}` lookup — never an upload, never SKILL.md
|
|
@@ -463,10 +556,26 @@ export interface WorkspaceSettings {
|
|
|
463
556
|
*
|
|
464
557
|
* Distinct from, and narrower than, this product's standing decline of a
|
|
465
558
|
* global MCP-server-reputation/VirusTotal integration — see
|
|
466
|
-
* `apps/docs/guide/mcp-governance.md`
|
|
559
|
+
* `apps/docs/guide/mcp-governance.md` for
|
|
467
560
|
* that separate decision, which this setting does not reverse.
|
|
468
561
|
*/
|
|
469
562
|
virusTotalSkillLookupEnabled?: boolean;
|
|
563
|
+
/**
|
|
564
|
+
* Upload the content of harness config files, not only their hashes.
|
|
565
|
+
*
|
|
566
|
+
* `intutic connect` captures each recorded harness's rules file (the list is
|
|
567
|
+
* `HARNESS_FILES` in `@intutic/sync-daemon`). Off, it uploads the file's
|
|
568
|
+
* path, the SHA-256 of its redacted text, its size, the harness and the
|
|
569
|
+
* time: the config history records what changed and when, and its hash
|
|
570
|
+
* chain stays verifiable. On, it also uploads the text, with credential-
|
|
571
|
+
* shaped strings replaced by `[redacted]` before it leaves the machine,
|
|
572
|
+
* which is what config diffs and SkillOpt's config-edit suggestions need.
|
|
573
|
+
*
|
|
574
|
+
* Off by default: file content leaving developer machines is a privacy
|
|
575
|
+
* choice a workspace makes, not one a default makes for it. The control
|
|
576
|
+
* plane refuses a body sent while this is off.
|
|
577
|
+
*/
|
|
578
|
+
configBodyUpload?: boolean;
|
|
470
579
|
/**
|
|
471
580
|
* Fraction of ingested traces that receive the two heavier, LLM-adjacent
|
|
472
581
|
* security probes — `traceIngestClassifier.classifyTraceAtIngest`'s
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaceSettings.d.ts","sourceRoot":"","sources":["../src/workspaceSettings.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"workspaceSettings.d.ts","sourceRoot":"","sources":["../src/workspaceSettings.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,14 +7,29 @@
|
|
|
7
7
|
* proxy processes and hook scripts pick up changes without restarting.
|
|
8
8
|
*
|
|
9
9
|
* WS-5 — Q1 (fail behavior), Q2 (proxy mode), Q3 (bypass enforcement)
|
|
10
|
-
* TD-151, TD-153, TD-154
|
|
11
10
|
*
|
|
12
11
|
* @module
|
|
13
12
|
*/
|
|
14
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.DEFAULT_WORKSPACE_SETTINGS = void 0;
|
|
14
|
+
exports.DEFAULT_WORKSPACE_SETTINGS = exports.MCP_ANOMALY_DETECTOR_IDS = void 0;
|
|
16
15
|
exports.resolveWorkspaceSettings = resolveWorkspaceSettings;
|
|
17
16
|
exports.resolveSecurityProbeSampleRate = resolveSecurityProbeSampleRate;
|
|
17
|
+
/**
|
|
18
|
+
* The MCP governance proxy's anomaly detectors, by id. The proxy's own
|
|
19
|
+
* `DETECTOR_BASE_DISPOSITION` (packages/mcp-proxy/src/anomaly/index.ts) is
|
|
20
|
+
* typed against this list, so a detector added there without being added
|
|
21
|
+
* here fails to compile, and `mcpAnomalyOverrides` cannot name one that does
|
|
22
|
+
* not exist.
|
|
23
|
+
*/
|
|
24
|
+
exports.MCP_ANOMALY_DETECTOR_IDS = [
|
|
25
|
+
'consecutive_repeat',
|
|
26
|
+
'ping_pong_cycle',
|
|
27
|
+
'landmark_cycle',
|
|
28
|
+
'tool_diversity_collapse',
|
|
29
|
+
'code_as_action',
|
|
30
|
+
'tool_poisoning',
|
|
31
|
+
'dlp_escalation',
|
|
32
|
+
];
|
|
18
33
|
/**
|
|
19
34
|
* Default workspace settings.
|
|
20
35
|
* Applied when a workspace has no explicit settings (new workspaces)
|
|
@@ -75,6 +90,8 @@ exports.DEFAULT_WORKSPACE_SETTINGS = {
|
|
|
75
90
|
// Only load-bearing once reviewHoldBypassEnabled is true; the value here is
|
|
76
91
|
// what "enabled but unset" resolves to.
|
|
77
92
|
reviewHoldBypassTtlMinutes: 10,
|
|
93
|
+
// Off by default, as the reader's fallback is: see the field doc.
|
|
94
|
+
loop_review: { requireDistinctApprover: false },
|
|
78
95
|
// Off by default — see the field doc for why a growing auto-written
|
|
79
96
|
// context file must be opt-in.
|
|
80
97
|
decisionsLogEnabled: false,
|
|
@@ -97,6 +114,8 @@ exports.DEFAULT_WORKSPACE_SETTINGS = {
|
|
|
97
114
|
// Off by default — see the field doc for the hash-only doctrine and why
|
|
98
115
|
// this must never turn on for a workspace that never configured it.
|
|
99
116
|
virusTotalSkillLookupEnabled: false,
|
|
117
|
+
// Off by default — see the field doc: hashes and metadata only.
|
|
118
|
+
configBodyUpload: false,
|
|
100
119
|
// ON by default — see the field doc. Opting out stops label retention for
|
|
101
120
|
// the judge fine-tuning dataset, never card delivery itself.
|
|
102
121
|
governanceCardLabelingEnabled: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaceSettings.js","sourceRoot":"","sources":["../src/workspaceSettings.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"workspaceSettings.js","sourceRoot":"","sources":["../src/workspaceSettings.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intutic/shared-types",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0",
|
|
4
4
|
"description": "Shared TypeScript types for the Intutic control plane, CLI, and sync daemon",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
],
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"zod": "^3.23",
|
|
21
|
-
"@intutic/anomaly-taxonomy": "2.
|
|
21
|
+
"@intutic/anomaly-taxonomy": "2.3.0"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"typescript": "^5.5",
|