@intutic/shared-types 2.3.0 → 2.4.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 (48) hide show
  1. package/dist/auth.d.ts +106 -0
  2. package/dist/auth.d.ts.map +1 -1
  3. package/dist/auth.js +17 -1
  4. package/dist/auth.js.map +1 -1
  5. package/dist/cloudProbe.d.ts +54 -0
  6. package/dist/cloudProbe.d.ts.map +1 -0
  7. package/dist/cloudProbe.js +254 -0
  8. package/dist/cloudProbe.js.map +1 -0
  9. package/dist/enums.d.ts +48 -0
  10. package/dist/enums.d.ts.map +1 -1
  11. package/dist/enums.js +31 -3
  12. package/dist/enums.js.map +1 -1
  13. package/dist/finops.d.ts +38 -0
  14. package/dist/finops.d.ts.map +1 -1
  15. package/dist/guardrailIr.d.ts +6 -6
  16. package/dist/index.d.ts +9 -4
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +35 -6
  19. package/dist/index.js.map +1 -1
  20. package/dist/mcpBudgets.d.ts +24 -24
  21. package/dist/notifications.d.ts +17 -2
  22. package/dist/notifications.d.ts.map +1 -1
  23. package/dist/notifications.js +26 -1
  24. package/dist/notifications.js.map +1 -1
  25. package/dist/providerVerification.d.ts +35 -9
  26. package/dist/providerVerification.d.ts.map +1 -1
  27. package/dist/providerVerification.js +79 -19
  28. package/dist/providerVerification.js.map +1 -1
  29. package/dist/providers.d.ts +50 -13
  30. package/dist/providers.d.ts.map +1 -1
  31. package/dist/providers.js +131 -27
  32. package/dist/providers.js.map +1 -1
  33. package/dist/spendBudgets.d.ts +122 -0
  34. package/dist/spendBudgets.d.ts.map +1 -0
  35. package/dist/spendBudgets.js +92 -0
  36. package/dist/spendBudgets.js.map +1 -0
  37. package/dist/upstreamRetry.d.ts +121 -0
  38. package/dist/upstreamRetry.d.ts.map +1 -0
  39. package/dist/upstreamRetry.js +90 -0
  40. package/dist/upstreamRetry.js.map +1 -0
  41. package/dist/wasmRuleDescriptor.d.ts +43 -0
  42. package/dist/wasmRuleDescriptor.d.ts.map +1 -0
  43. package/dist/wasmRuleDescriptor.js +65 -0
  44. package/dist/wasmRuleDescriptor.js.map +1 -0
  45. package/dist/workspaceSettings.d.ts +37 -0
  46. package/dist/workspaceSettings.d.ts.map +1 -1
  47. package/dist/workspaceSettings.js.map +1 -1
  48. package/package.json +2 -2
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpstreamRetrySettingsSchema = exports.UpstreamFallbackTargetSchema = exports.UPSTREAM_PROVIDERS = exports.DEFAULT_UPSTREAM_RETRY = exports.DEFAULT_UPSTREAM_RETRY_STATUSES = exports.UPSTREAM_RETRY_LIMITS = void 0;
4
+ /**
5
+ * The workspace setting `upstreamRetry`: how the LLM proxy retries a provider
6
+ * call that failed before any response reached the client, and where it falls
7
+ * back when those retries run out.
8
+ *
9
+ * Every field is optional and overrides the proxy's own `config.yaml` value
10
+ * (`intutic_settings.routing.retry` / `.fallbacks`) field by field, so a
11
+ * workspace can change one knob without restating the rest. The proxy reads
12
+ * it from `/api/v1/auth/key-context` (`packages/proxy/src/routing/retry.rs`,
13
+ * `WorkspaceRetry`); `fixtures/upstream-retry-vectors.json` holds the two
14
+ * readings together.
15
+ */
16
+ const zod_1 = require("zod");
17
+ /**
18
+ * The ceilings both the schema and the proxy enforce, so no setting can
19
+ * configure a retry storm. The proxy clamps `config.yaml` to the same values
20
+ * (`RetryConfig::bounded`); a test holds the two equal.
21
+ */
22
+ exports.UPSTREAM_RETRY_LIMITS = {
23
+ maxAttempts: 5,
24
+ maxBackoffMs: 60_000,
25
+ budgetMs: 120_000,
26
+ fallbackTargets: 5,
27
+ fallbackModels: 50,
28
+ };
29
+ /** Retried by default: 429, 500, 502, 503, 504 and Anthropic's 529 overloaded. */
30
+ exports.DEFAULT_UPSTREAM_RETRY_STATUSES = [429, 500, 502, 503, 504, 529];
31
+ /** The defaults the proxy applies when neither config.yaml nor the workspace sets a field. */
32
+ exports.DEFAULT_UPSTREAM_RETRY = {
33
+ enabled: true,
34
+ maxAttempts: 3,
35
+ initialBackoffMs: 500,
36
+ maxBackoffMs: 8_000,
37
+ budgetMs: 30_000,
38
+ onStatus: [...exports.DEFAULT_UPSTREAM_RETRY_STATUSES],
39
+ };
40
+ /**
41
+ * Providers a fallback target may name: every id the proxy resolves
42
+ * (`provider_from_wire_id` in packages/proxy/src/proxy.rs), the cloud
43
+ * providers' aliases included, so a target copied from config.yaml is valid
44
+ * here too. A test holds the two lists equal.
45
+ */
46
+ exports.UPSTREAM_PROVIDERS = [
47
+ 'anthropic',
48
+ 'openai',
49
+ 'gemini',
50
+ 'mistral',
51
+ 'openrouter',
52
+ 'deepseek',
53
+ 'bedrock',
54
+ 'vertex_ai',
55
+ 'vertex',
56
+ 'azure_openai',
57
+ 'azure',
58
+ ];
59
+ /**
60
+ * One fallback target. `model` alone switches model on the provider that
61
+ * model resolves to; `provider` alone sends the same model to another
62
+ * provider; both pin the pair.
63
+ */
64
+ exports.UpstreamFallbackTargetSchema = zod_1.z
65
+ .object({
66
+ model: zod_1.z.string().trim().min(1).max(200).optional(),
67
+ provider: zod_1.z.enum(exports.UPSTREAM_PROVIDERS).optional(),
68
+ })
69
+ .strict()
70
+ .refine((t) => t.model !== undefined || t.provider !== undefined, {
71
+ message: 'A fallback target names a model, a provider, or both',
72
+ });
73
+ exports.UpstreamRetrySettingsSchema = zod_1.z
74
+ .object({
75
+ enabled: zod_1.z.boolean().optional(),
76
+ maxAttempts: zod_1.z.number().int().min(1).max(exports.UPSTREAM_RETRY_LIMITS.maxAttempts).optional(),
77
+ initialBackoffMs: zod_1.z.number().int().min(0).max(exports.UPSTREAM_RETRY_LIMITS.maxBackoffMs).optional(),
78
+ maxBackoffMs: zod_1.z.number().int().min(0).max(exports.UPSTREAM_RETRY_LIMITS.maxBackoffMs).optional(),
79
+ budgetMs: zod_1.z.number().int().min(0).max(exports.UPSTREAM_RETRY_LIMITS.budgetMs).optional(),
80
+ onStatus: zod_1.z.array(zod_1.z.number().int().min(400).max(599)).max(20).optional(),
81
+ /** Ordered targets, keyed by the model whose retries ran out. */
82
+ fallbacks: zod_1.z
83
+ .record(zod_1.z.string().trim().min(1).max(200), zod_1.z.array(exports.UpstreamFallbackTargetSchema).min(1).max(exports.UPSTREAM_RETRY_LIMITS.fallbackTargets))
84
+ .refine((f) => Object.keys(f).length <= exports.UPSTREAM_RETRY_LIMITS.fallbackModels, {
85
+ message: `At most ${exports.UPSTREAM_RETRY_LIMITS.fallbackModels} models may have fallbacks`,
86
+ })
87
+ .optional(),
88
+ })
89
+ .strict();
90
+ //# sourceMappingURL=upstreamRetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upstreamRetry.js","sourceRoot":"","sources":["../src/upstreamRetry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * The descriptor of a custom rule uploaded to the control plane — one shape
3
+ * for every proxy that enforces it.
4
+ *
5
+ * The control plane publishes the workspace's active rules as a list of these:
6
+ * to Valkey for the LLM proxy (`wasm:plugins:{workspaceId}`, read by
7
+ * `packages/proxy/src/wasm/registry.rs` as `WasmPluginDescriptor`), and as
8
+ * `wasmRules` on the MCP proxy's policy responses (`GET /api/v1/sop/rules`,
9
+ * `GET /api/v1/policy/resolve`). The binary is fetched separately, by the
10
+ * SHA-256 the descriptor names, and checked against it before it loads.
11
+ *
12
+ * {@link parseWasmRuleDescriptors} reads the list the way the Rust proxy's
13
+ * serde does: one malformed entry makes the whole list unreadable, and a
14
+ * proxy keeps the rules it already enforces rather than applying part of a
15
+ * list — dropping the entry would silently stop enforcing that rule.
16
+ *
17
+ * @module
18
+ */
19
+ /** `ENFORCE` decides calls; `SHADOW` is evaluated and reported, and never changes one. */
20
+ export type WasmRuleMode = 'ENFORCE' | 'SHADOW';
21
+ export interface WasmRuleDescriptor {
22
+ /** The control plane's rule id (`wasm_…`), the id both proxies report the rule by. */
23
+ ruleId: string;
24
+ name: string;
25
+ /** Lowercase hex SHA-256 of the binary; the binary is fetched and verified by it. */
26
+ sha256: string;
27
+ /** Ascending: lower runs first. Local rules default to 100. */
28
+ priority: number;
29
+ mode: WasmRuleMode;
30
+ }
31
+ export type WasmRuleDescriptorsParse = {
32
+ ok: true;
33
+ rules: WasmRuleDescriptor[];
34
+ } | {
35
+ ok: false;
36
+ reason: string;
37
+ };
38
+ /**
39
+ * Reads a descriptor list. Anything but an array of well-formed descriptors is
40
+ * unreadable, with the first problem as the reason.
41
+ */
42
+ export declare function parseWasmRuleDescriptors(value: unknown): WasmRuleDescriptorsParse;
43
+ //# sourceMappingURL=wasmRuleDescriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasmRuleDescriptor.d.ts","sourceRoot":"","sources":["../src/wasmRuleDescriptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,0FAA0F;AAC1F,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAA;AAE/C,MAAM,WAAW,kBAAkB;IACjC,sFAAsF;IACtF,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAA;IACd,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,YAAY,CAAA;CACnB;AAED,MAAM,MAAM,wBAAwB,GAChC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,kBAAkB,EAAE,CAAA;CAAE,GACzC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAWjC;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,wBAAwB,CAsBjF"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ /**
3
+ * The descriptor of a custom rule uploaded to the control plane — one shape
4
+ * for every proxy that enforces it.
5
+ *
6
+ * The control plane publishes the workspace's active rules as a list of these:
7
+ * to Valkey for the LLM proxy (`wasm:plugins:{workspaceId}`, read by
8
+ * `packages/proxy/src/wasm/registry.rs` as `WasmPluginDescriptor`), and as
9
+ * `wasmRules` on the MCP proxy's policy responses (`GET /api/v1/sop/rules`,
10
+ * `GET /api/v1/policy/resolve`). The binary is fetched separately, by the
11
+ * SHA-256 the descriptor names, and checked against it before it loads.
12
+ *
13
+ * {@link parseWasmRuleDescriptors} reads the list the way the Rust proxy's
14
+ * serde does: one malformed entry makes the whole list unreadable, and a
15
+ * proxy keeps the rules it already enforces rather than applying part of a
16
+ * list — dropping the entry would silently stop enforcing that rule.
17
+ *
18
+ * @module
19
+ */
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.parseWasmRuleDescriptors = parseWasmRuleDescriptors;
22
+ function parseMode(value) {
23
+ // Absent on a descriptor written before modes existed, which must keep
24
+ // enforcing — the same default `registry.rs` gives `RuleMode`.
25
+ if (value === undefined)
26
+ return 'ENFORCE';
27
+ if (value === 'ENFORCE' || value === 'enforce')
28
+ return 'ENFORCE';
29
+ if (value === 'SHADOW' || value === 'shadow')
30
+ return 'SHADOW';
31
+ return undefined;
32
+ }
33
+ /**
34
+ * Reads a descriptor list. Anything but an array of well-formed descriptors is
35
+ * unreadable, with the first problem as the reason.
36
+ */
37
+ function parseWasmRuleDescriptors(value) {
38
+ if (!Array.isArray(value))
39
+ return { ok: false, reason: 'the rule list is not an array' };
40
+ const rules = [];
41
+ for (const [index, entry] of value.entries()) {
42
+ if (typeof entry !== 'object' || entry === null || Array.isArray(entry)) {
43
+ return { ok: false, reason: `entry ${index} is not an object` };
44
+ }
45
+ const e = entry;
46
+ const { ruleId, name, sha256, priority } = e;
47
+ if (typeof ruleId !== 'string' || ruleId.length === 0)
48
+ return { ok: false, reason: `entry ${index} has no ruleId` };
49
+ if (typeof name !== 'string')
50
+ return { ok: false, reason: `rule ${ruleId} has no name` };
51
+ // Any string, as serde reads it: a hash that names no binary is refused
52
+ // per rule when the binary is fetched, with an incident, not here.
53
+ if (typeof sha256 !== 'string')
54
+ return { ok: false, reason: `rule ${ruleId} has no SHA-256` };
55
+ if (typeof priority !== 'number' || !Number.isInteger(priority) || priority < 0) {
56
+ return { ok: false, reason: `rule ${ruleId} has no priority` };
57
+ }
58
+ const mode = parseMode(e['mode']);
59
+ if (!mode)
60
+ return { ok: false, reason: `rule ${ruleId} has an unknown mode` };
61
+ rules.push({ ruleId, name, sha256, priority, mode });
62
+ }
63
+ return { ok: true, rules };
64
+ }
65
+ //# sourceMappingURL=wasmRuleDescriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasmRuleDescriptor.js","sourceRoot":"","sources":["../src/wasmRuleDescriptor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;AAiCH,4DAsBC;AAnCD,SAAS,SAAS,CAAC,KAAc;IAC/B,uEAAuE;IACvE,+DAA+D;IAC/D,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACzC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAChE,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAC7D,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,KAAc;IACrD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,+BAA+B,EAAE,CAAA;IACxF,MAAM,KAAK,GAAyB,EAAE,CAAA;IACtC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,KAAK,mBAAmB,EAAE,CAAA;QACjE,CAAC;QACD,MAAM,CAAC,GAAG,KAAgC,CAAA;QAC1C,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAA;QAC5C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,KAAK,gBAAgB,EAAE,CAAA;QACnH,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,MAAM,cAAc,EAAE,CAAA;QACxF,wEAAwE;QACxE,mEAAmE;QACnE,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,MAAM,iBAAiB,EAAE,CAAA;QAC7F,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YAChF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,MAAM,kBAAkB,EAAE,CAAA;QAChE,CAAC;QACD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;QACjC,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,MAAM,sBAAsB,EAAE,CAAA;QAC7E,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACtD,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;AAC5B,CAAC"}
@@ -13,6 +13,7 @@ import type { McpProxyFailBehavior, McpProxyMode, BypassEnforcementTier } from '
13
13
  import type { SsoGroupPolicy } from './attenuation.js';
14
14
  import type { McpBudgetSettings } from './mcpBudgets.js';
15
15
  import type { PiiDetectorSettings } from './piiDetectors.js';
16
+ import type { UpstreamRetrySettings } from './upstreamRetry.js';
16
17
  export type { McpProxyFailBehavior, McpProxyMode, BypassEnforcementTier };
17
18
  /**
18
19
  * The MCP governance proxy's anomaly detectors, by id. The proxy's own
@@ -92,6 +93,15 @@ export interface WorkspaceSettings {
92
93
  * in a settings write clears it, and is never stored.
93
94
  */
94
95
  piiDetectors?: PiiDetectorSettings | null;
96
+ /**
97
+ * How the LLM proxy retries a provider call that failed before any response
98
+ * reached the client, and the ordered fallback targets it tries when those
99
+ * retries run out (`UpstreamRetrySettingsSchema`). Each field overrides the
100
+ * proxy's own config.yaml value; absent fields keep it. The proxy reads it
101
+ * from `/api/v1/auth/key-context`. `null` in a settings write clears it, and
102
+ * is never stored.
103
+ */
104
+ upstreamRetry?: UpstreamRetrySettings | null;
95
105
  /**
96
106
  * Bring-your-own-cloud trace storage. Optional — absent means Intutic-managed
97
107
  * storage. Previously accessed only through `as unknown as` casts; typed here
@@ -145,6 +155,12 @@ export interface WorkspaceSettings {
145
155
  /** Feature flags for platform capabilities (Phase 5+) */
146
156
  featureFlags?: {
147
157
  ff_bandit_routing?: boolean;
158
+ /**
159
+ * Run the router and record the model it would have picked, while every
160
+ * request is still served with the model it asked for. Read by the proxy
161
+ * from `workspace:feature_flags:{ws}`; the cost posture presets set it.
162
+ */
163
+ ff_shadow_routing?: boolean;
148
164
  ff_response_cache_exact?: boolean;
149
165
  ff_response_cache_semantic?: boolean;
150
166
  /** Phase 5 — MetaClaw prompt evolution engine (Enterprise only) */
@@ -319,6 +335,16 @@ export interface WorkspaceSettings {
319
335
  * must not start refusing completions because a default changed.
320
336
  */
321
337
  allowedModels?: string[];
338
+ /**
339
+ * The models smart routing may choose between for this workspace.
340
+ * Distributed to the proxy under `workspace:routing_candidates:{workspaceId}`
341
+ * (same pattern as `allowedModels` above). Absent or empty means the proxy's
342
+ * own configured pool. Either way the proxy narrows the pool further to the
343
+ * models this workspace can actually reach: a provider it holds a
344
+ * credential for, the `allowedModels` allowlist, and the models a verified
345
+ * credential's provider listed.
346
+ */
347
+ routingCandidates?: string[];
322
348
  /**
323
349
  * Additive MCP server allowlist: server names the MCP governance proxy
324
350
  * (`packages/mcp-proxy`) will proxy for this workspace, matched against
@@ -382,6 +408,17 @@ export interface WorkspaceSettings {
382
408
  * no limits.
383
409
  */
384
410
  mcpBudgets?: McpBudgetSettings;
411
+ /**
412
+ * The plan's daily spend cap (`workspaces.daily_spend_cap_usd`, set from the
413
+ * plan) as a hard block: with `enforcement_mode: 'hard'` AND
414
+ * `workspace_hard_cap_enabled: true`, the control plane checks the day's
415
+ * spend every five minutes and, once it is over the cap, the proxy refuses
416
+ * every request with `OVERAGE_HARD_CAP_EXCEEDED` until midnight UTC
417
+ * (`billingService.enforceOverageCap`). Either one absent or off: no block.
418
+ * Separate from the workspace budget caps (`PUT /api/v1/budget`).
419
+ */
420
+ enforcement_mode?: 'soft' | 'hard';
421
+ workspace_hard_cap_enabled?: boolean;
385
422
  /**
386
423
  * What happens when a server's tool set changes and the change scores high
387
424
  * risk (`mcpToolRisk.ts`). `notify` (the default, and what an absent value
@@ -1 +1 @@
1
- {"version":3,"file":"workspaceSettings.d.ts","sourceRoot":"","sources":["../src/workspaceSettings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspaceSettings.d.ts","sourceRoot":"","sources":["../src/workspaceSettings.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspaceSettings.js","sourceRoot":"","sources":["../src/workspaceSettings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspaceSettings.js","sourceRoot":"","sources":["../src/workspaceSettings.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AA4xBH,4DAOC;AAWD,wEAIC;AAvyBD;;;;;;GAMG;AACU,QAAA,wBAAwB,GAAG;IACtC,oBAAoB;IACpB,iBAAiB;IACjB,gBAAgB;IAChB,yBAAyB;IACzB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;CACR,CAAA;AAgqBV;;;;GAIG;AACU,QAAA,0BAA0B,GAAsB;IAC3D,oBAAoB,EAAE,MAAM;IAC5B,sBAAsB,EAAE,IAAI;IAC5B,iFAAiF;IACjF,iFAAiF;IACjF,+EAA+E;IAC/E,kFAAkF;IAClF,iFAAiF;IACjF,0EAA0E;IAC1E,iBAAiB,EAAE,EAAE;IACrB,mBAAmB,EAAE,IAAI;IACzB,YAAY,EAAU,aAAa;IACnC,qBAAqB,EAAE,SAAS;IAChC,YAAY,EAAE;QACZ,iBAAiB,EAAE,KAAK;QACxB,uBAAuB,EAAE,KAAK;QAC9B,0BAA0B,EAAE,KAAK;QACjC,qBAAqB,EAAE,KAAK;QAC5B,2EAA2E;QAC3E,uEAAuE;QACvE,qBAAqB,EAAE,KAAK;QAC5B,sBAAsB,EAAE,KAAK;QAC7B,sBAAsB,EAAE,KAAK;QAC7B,oEAAoE;QACpE,yCAAyC;QACzC,wBAAwB,EAAE,KAAK;KAChC;IACD,2BAA2B,EAAE,KAAK;IAClC,wEAAwE;IACxE,qEAAqE;IACrE,wBAAwB,EAAE,KAAK;IAC/B,uEAAuE;IACvE,wEAAwE;IACxE,4BAA4B,EAAE,KAAK;IACnC,cAAc,EAAE;QACd,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC;QACjE,UAAU,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC;QACrF,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC;QACnD,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;KAC9D;IACD,4EAA4E;IAC5E,qEAAqE;IACrE,eAAe,EAAE;QACf,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,IAAI;QACnB,iBAAiB,EAAE,EAAE;QACrB,eAAe,EAAE,EAAE;QACnB,kBAAkB,EAAE,OAAO;KAC5B;IACD,0EAA0E;IAC1E,4EAA4E;IAC5E,uBAAuB,EAAE,KAAK;IAC9B,4EAA4E;IAC5E,wCAAwC;IACxC,0BAA0B,EAAE,EAAE;IAC9B,kEAAkE;IAClE,WAAW,EAAE,EAAE,uBAAuB,EAAE,KAAK,EAAE;IAC/C,oEAAoE;IACpE,+BAA+B;IAC/B,mBAAmB,EAAE,KAAK;IAC1B,8DAA8D;IAC9D,yEAAyE;IACzE,wEAAwE;IACxE,yEAAyE;IACzE,8DAA8D;IAC9D,uBAAuB,EAAE,SAAS;IAClC,uEAAuE;IACvE,sEAAsE;IACtE,uEAAuE;IACvE,mBAAmB,EAAE;QACnB,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,GAAG;QAClB,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,EAAE;KACf;IACD,wEAAwE;IACxE,oEAAoE;IACpE,4BAA4B,EAAE,KAAK;IACnC,gEAAgE;IAChE,gBAAgB,EAAE,KAAK;IACvB,0EAA0E;IAC1E,6DAA6D;IAC7D,6BAA6B,EAAE,IAAI;IACnC,mEAAmE;IACnE,oEAAoE;IACpE,uBAAuB,EAAE,GAAG;CAC7B,CAAA;AAED;;;GAGG;AACH,SAAgB,wBAAwB,CACtC,MAAqD;IAErD,OAAO;QACL,GAAG,kCAA0B;QAC7B,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;KAClB,CAAA;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,8BAA8B,CAAC,QAA2B;IACxE,MAAM,IAAI,GAAG,QAAQ,CAAC,uBAAuB,CAAA;IAC7C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,GAAG,CAAA;IAC1F,OAAO,IAAI,CAAA;AACb,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intutic/shared-types",
3
- "version": "2.3.0",
3
+ "version": "2.4.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.3.0"
21
+ "@intutic/anomaly-taxonomy": "2.4.0"
22
22
  },
23
23
  "devDependencies": {
24
24
  "typescript": "^5.5",