@intutic/shared-types 1.0.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.
Files changed (131) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +56 -0
  3. package/dist/agentPool.d.ts +40 -0
  4. package/dist/agentPool.d.ts.map +1 -0
  5. package/dist/agentPool.js +3 -0
  6. package/dist/agentPool.js.map +1 -0
  7. package/dist/annotation.d.ts +150 -0
  8. package/dist/annotation.d.ts.map +1 -0
  9. package/dist/annotation.js +6 -0
  10. package/dist/annotation.js.map +1 -0
  11. package/dist/anomaly.d.ts +227 -0
  12. package/dist/anomaly.d.ts.map +1 -0
  13. package/dist/anomaly.js +35 -0
  14. package/dist/anomaly.js.map +1 -0
  15. package/dist/api-contracts.d.ts +176 -0
  16. package/dist/api-contracts.d.ts.map +1 -0
  17. package/dist/api-contracts.js +110 -0
  18. package/dist/api-contracts.js.map +1 -0
  19. package/dist/attenuation.d.ts +115 -0
  20. package/dist/attenuation.d.ts.map +1 -0
  21. package/dist/attenuation.js +26 -0
  22. package/dist/attenuation.js.map +1 -0
  23. package/dist/auth.d.ts +340 -0
  24. package/dist/auth.d.ts.map +1 -0
  25. package/dist/auth.js +87 -0
  26. package/dist/auth.js.map +1 -0
  27. package/dist/benchmark.d.ts +76 -0
  28. package/dist/benchmark.d.ts.map +1 -0
  29. package/dist/benchmark.js +8 -0
  30. package/dist/benchmark.js.map +1 -0
  31. package/dist/billing.d.ts +173 -0
  32. package/dist/billing.d.ts.map +1 -0
  33. package/dist/billing.js +28 -0
  34. package/dist/billing.js.map +1 -0
  35. package/dist/cdc.d.ts +73 -0
  36. package/dist/cdc.d.ts.map +1 -0
  37. package/dist/cdc.js +13 -0
  38. package/dist/cdc.js.map +1 -0
  39. package/dist/cfo.d.ts +66 -0
  40. package/dist/cfo.d.ts.map +1 -0
  41. package/dist/cfo.js +3 -0
  42. package/dist/cfo.js.map +1 -0
  43. package/dist/connectors.d.ts +23 -0
  44. package/dist/connectors.d.ts.map +1 -0
  45. package/dist/connectors.js +6 -0
  46. package/dist/connectors.js.map +1 -0
  47. package/dist/enums.d.ts +238 -0
  48. package/dist/enums.d.ts.map +1 -0
  49. package/dist/enums.js +243 -0
  50. package/dist/enums.js.map +1 -0
  51. package/dist/errors.d.ts +122 -0
  52. package/dist/errors.d.ts.map +1 -0
  53. package/dist/errors.js +135 -0
  54. package/dist/errors.js.map +1 -0
  55. package/dist/evaluator.d.ts +70 -0
  56. package/dist/evaluator.d.ts.map +1 -0
  57. package/dist/evaluator.js +8 -0
  58. package/dist/evaluator.js.map +1 -0
  59. package/dist/finops.d.ts +185 -0
  60. package/dist/finops.d.ts.map +1 -0
  61. package/dist/finops.js +14 -0
  62. package/dist/finops.js.map +1 -0
  63. package/dist/hindsight.d.ts +49 -0
  64. package/dist/hindsight.d.ts.map +1 -0
  65. package/dist/hindsight.js +3 -0
  66. package/dist/hindsight.js.map +1 -0
  67. package/dist/identity.d.ts +101 -0
  68. package/dist/identity.d.ts.map +1 -0
  69. package/dist/identity.js +29 -0
  70. package/dist/identity.js.map +1 -0
  71. package/dist/index.d.ts +40 -0
  72. package/dist/index.d.ts.map +1 -0
  73. package/dist/index.js +120 -0
  74. package/dist/index.js.map +1 -0
  75. package/dist/intelligence.d.ts +325 -0
  76. package/dist/intelligence.d.ts.map +1 -0
  77. package/dist/intelligence.js +28 -0
  78. package/dist/intelligence.js.map +1 -0
  79. package/dist/marketplace.d.ts +76 -0
  80. package/dist/marketplace.d.ts.map +1 -0
  81. package/dist/marketplace.js +16 -0
  82. package/dist/marketplace.js.map +1 -0
  83. package/dist/notifications.d.ts +206 -0
  84. package/dist/notifications.d.ts.map +1 -0
  85. package/dist/notifications.js +6 -0
  86. package/dist/notifications.js.map +1 -0
  87. package/dist/observability.d.ts +45 -0
  88. package/dist/observability.d.ts.map +1 -0
  89. package/dist/observability.js +10 -0
  90. package/dist/observability.js.map +1 -0
  91. package/dist/policy.d.ts +104 -0
  92. package/dist/policy.d.ts.map +1 -0
  93. package/dist/policy.js +14 -0
  94. package/dist/policy.js.map +1 -0
  95. package/dist/prompt.d.ts +99 -0
  96. package/dist/prompt.d.ts.map +1 -0
  97. package/dist/prompt.js +3 -0
  98. package/dist/prompt.js.map +1 -0
  99. package/dist/session.d.ts +62 -0
  100. package/dist/session.d.ts.map +1 -0
  101. package/dist/session.js +14 -0
  102. package/dist/session.js.map +1 -0
  103. package/dist/sop.d.ts +387 -0
  104. package/dist/sop.d.ts.map +1 -0
  105. package/dist/sop.js +44 -0
  106. package/dist/sop.js.map +1 -0
  107. package/dist/sync.d.ts +374 -0
  108. package/dist/sync.d.ts.map +1 -0
  109. package/dist/sync.js +56 -0
  110. package/dist/sync.js.map +1 -0
  111. package/dist/taskManagement.d.ts +141 -0
  112. package/dist/taskManagement.d.ts.map +1 -0
  113. package/dist/taskManagement.js +14 -0
  114. package/dist/taskManagement.js.map +1 -0
  115. package/dist/trial.d.ts +34 -0
  116. package/dist/trial.d.ts.map +1 -0
  117. package/dist/trial.js +6 -0
  118. package/dist/trial.js.map +1 -0
  119. package/dist/usage.d.ts +34 -0
  120. package/dist/usage.d.ts.map +1 -0
  121. package/dist/usage.js +6 -0
  122. package/dist/usage.js.map +1 -0
  123. package/dist/warehouse.d.ts +49 -0
  124. package/dist/warehouse.d.ts.map +1 -0
  125. package/dist/warehouse.js +8 -0
  126. package/dist/warehouse.js.map +1 -0
  127. package/dist/workspaceSettings.d.ts +116 -0
  128. package/dist/workspaceSettings.d.ts.map +1 -0
  129. package/dist/workspaceSettings.js +50 -0
  130. package/dist/workspaceSettings.js.map +1 -0
  131. package/package.json +24 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../src/enums.ts"],"names":[],"mappings":"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"}
package/dist/enums.js ADDED
@@ -0,0 +1,243 @@
1
+ "use strict";
2
+ /**
3
+ * Domain enums for the Intutic governance platform.
4
+ *
5
+ * Each enum is defined as a frozen `as const` object with a corresponding
6
+ * TypeScript union type extracted via `typeof Obj[keyof typeof Obj]`.
7
+ * This pattern gives us runtime values (for comparisons, iteration) and
8
+ * compile-time narrowing without Drizzle or Postgres dependencies.
9
+ *
10
+ * These mirror the Postgres enum types defined in
11
+ * LLD 01-data-architecture §3.1.
12
+ *
13
+ * @module
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.DriftDetectionMode = exports.DriftClassification = exports.BypassEnforcementTier = exports.McpProxyMode = exports.McpProxyFailBehavior = exports.WorkspaceRole = exports.RoutingTier = exports.HookPhase = exports.SopType = exports.SopLifecycleState = exports.PlanLifecycleState = exports.IncidentStatus = exports.ExecutionMode = exports.HarnessType = exports.AnomalyType = exports.ChangeClassification = exports.ComplexityTier = exports.BudgetTier = exports.TokenUtility = exports.EnforcementAction = exports.RiskLevel = void 0;
17
+ // ─── Risk Level ──────────────────────────────────────────────────────
18
+ // HLD §3.5, LLD §3.1 — risk_level enum
19
+ /** Risk severity classification for SOPs, anomalies, and incidents. */
20
+ exports.RiskLevel = {
21
+ LOW: 'LOW',
22
+ MEDIUM: 'MEDIUM',
23
+ HIGH: 'HIGH',
24
+ CRITICAL: 'CRITICAL',
25
+ };
26
+ // ─── Enforcement Action ──────────────────────────────────────────────
27
+ // HLD §3.3, LLD §3.1 — enforcement_action_type enum
28
+ /** PCAS enforcement action applied to a tool call. */
29
+ exports.EnforcementAction = {
30
+ BYPASS: 'BYPASS',
31
+ ENHANCE: 'ENHANCE',
32
+ HIJACK: 'HIJACK',
33
+ KILL: 'KILL',
34
+ };
35
+ // ─── Token Utility ───────────────────────────────────────────────────
36
+ // HLD §3.6, LLD §3.1 — token_utility_type enum
37
+ /** Classification of whether a token expenditure was useful or wasted. */
38
+ exports.TokenUtility = {
39
+ USEFUL: 'USEFUL',
40
+ WASTED: 'WASTED',
41
+ };
42
+ // ─── Budget Tier ─────────────────────────────────────────────────────
43
+ // HLD §3.3, LLD §3.1 — budget_tier_type enum
44
+ /** Budget authority level assigned to a user or agent session. */
45
+ exports.BudgetTier = {
46
+ JUNIOR: 'JUNIOR',
47
+ SENIOR: 'SENIOR',
48
+ STAFF: 'STAFF',
49
+ PRINCIPAL: 'PRINCIPAL',
50
+ };
51
+ // ─── Complexity Tier ─────────────────────────────────────────────────
52
+ // HLD §3.4, LLD §3.1 — complexity_tier enum
53
+ /** Task complexity classification for model routing. */
54
+ exports.ComplexityTier = {
55
+ TIER_0: 'TIER_0',
56
+ TIER_1: 'TIER_1',
57
+ TIER_2: 'TIER_2',
58
+ };
59
+ // ─── Change Classification ──────────────────────────────────────────
60
+ // HLD §3.4, LLD §3.1 — change_classification enum
61
+ /** Classification of how an SOP change affects the prior version. */
62
+ exports.ChangeClassification = {
63
+ STRENGTHEN: 'STRENGTHEN',
64
+ CLARIFY: 'CLARIFY',
65
+ NARROW: 'NARROW',
66
+ WEAKEN: 'WEAKEN',
67
+ };
68
+ // ─── Anomaly Type ────────────────────────────────────────────────────
69
+ // HLD §3.5, LLD §3.1 — anomaly_type enum (12-category runtime taxonomy)
70
+ /** Runtime anomaly classification taxonomy. */
71
+ exports.AnomalyType = {
72
+ TOOL_ABUSE: 'TOOL_ABUSE',
73
+ TOKEN_WASTE: 'TOKEN_WASTE',
74
+ LOOP_DETECTED: 'LOOP_DETECTED',
75
+ UNAUTHORIZED_TOOL: 'UNAUTHORIZED_TOOL',
76
+ DATA_EXFILTRATION: 'DATA_EXFILTRATION',
77
+ PROMPT_INJECTION: 'PROMPT_INJECTION',
78
+ HALLUCINATION: 'HALLUCINATION',
79
+ SCOPE_VIOLATION: 'SCOPE_VIOLATION',
80
+ BUDGET_BREACH: 'BUDGET_BREACH',
81
+ SPAWN_BUDGET_BREACH: 'SPAWN_BUDGET_BREACH',
82
+ WORKFLOW_BUDGET_BREACH: 'WORKFLOW_BUDGET_BREACH',
83
+ WORKFLOW_GOAL_DRIFT: 'WORKFLOW_GOAL_DRIFT',
84
+ };
85
+ // ─── Harness Type ────────────────────────────────────────────────────
86
+ // HLD §3.14, §4.5 — Supported AI agent harness integrations
87
+ // Full matrix: HLD §3.14 Harness Onboarding Matrix (8 harnesses)
88
+ /** Supported AI agent harness/IDE integrations. */
89
+ exports.HarnessType = {
90
+ CURSOR: 'cursor',
91
+ CLAUDE_CODE: 'claude-code',
92
+ ANTIGRAVITY: 'antigravity',
93
+ N8N: 'n8n',
94
+ CODEX: 'codex',
95
+ WINDSURF: 'windsurf',
96
+ AIDER: 'aider',
97
+ OPENHANDS: 'openhands',
98
+ OPENCLAW: 'openclaw',
99
+ HERMES: 'hermes',
100
+ PI: 'pi',
101
+ CLINE: 'cline',
102
+ ROO_CODE: 'roo-code',
103
+ CONTINUE: 'continue',
104
+ CLAUDE_DESKTOP: 'claude-desktop',
105
+ GOOSE: 'goose',
106
+ OPEN_WEBUI: 'open-webui',
107
+ GITHUB_COPILOT: 'github-copilot',
108
+ };
109
+ // ─── Execution Mode ──────────────────────────────────────────────────
110
+ // HLD §3.4 — Agent execution modes
111
+ /** Agent execution mode controlling autonomy level. */
112
+ exports.ExecutionMode = {
113
+ STANDARD: 'STANDARD',
114
+ PLAN_ONLY: 'PLAN_ONLY',
115
+ SHADOW: 'SHADOW',
116
+ AUTONOMOUS: 'AUTONOMOUS',
117
+ };
118
+ // ─── Incident Status ─────────────────────────────────────────────────
119
+ // HLD §3.6.1, LLD §3.1 — Governance incident lifecycle
120
+ /** Lifecycle state of a governance incident. */
121
+ exports.IncidentStatus = {
122
+ OPEN: 'OPEN',
123
+ ACKNOWLEDGED: 'ACKNOWLEDGED',
124
+ RESOLVED: 'RESOLVED',
125
+ FALSE_POSITIVE: 'FALSE_POSITIVE',
126
+ };
127
+ // ─── Plan Lifecycle State ────────────────────────────────────────────
128
+ // HLD §3.4.1 — Stored plan compliance trail lifecycle
129
+ /** Lifecycle state for stored execution plans. */
130
+ exports.PlanLifecycleState = {
131
+ PENDING_APPROVAL: 'PENDING_APPROVAL',
132
+ APPROVED: 'APPROVED',
133
+ REJECTED: 'REJECTED',
134
+ EXECUTING: 'EXECUTING',
135
+ COMPLETED: 'COMPLETED',
136
+ };
137
+ // ─── SOP Lifecycle State ─────────────────────────────────────────────
138
+ // HLD §3.4, LLD #6 §4.2 — 7-state FSM: DRAFT → PENDING_REVIEW → GENERATED
139
+ // → HYPOTHESIZED → REFINED → VALIDATED → INVALIDATED
140
+ /** Lifecycle state for SOPs in the registry. */
141
+ exports.SopLifecycleState = {
142
+ DRAFT: 'DRAFT',
143
+ PENDING_REVIEW: 'PENDING_REVIEW',
144
+ GENERATED: 'GENERATED',
145
+ HYPOTHESIZED: 'HYPOTHESIZED',
146
+ REFINED: 'REFINED',
147
+ VALIDATED: 'VALIDATED',
148
+ INVALIDATED: 'INVALIDATED',
149
+ };
150
+ // ─── SOP Type ────────────────────────────────────────────────────────
151
+ // TD-022 item 0.4 — SOP classification for hook pipeline
152
+ /** SOP type: standard markdown or executable V8 hook. */
153
+ exports.SopType = {
154
+ /** Standard SOP — markdown content enforced via SSL. */
155
+ STANDARD: 'standard',
156
+ /** Hook SOP — V8-executable script that fires at a pipeline phase. */
157
+ HOOK: 'hook',
158
+ };
159
+ // ─── Hook Phase ──────────────────────────────────────────────────────
160
+ // TD-022 item 0.4 — Pipeline phase for hook-type SOPs
161
+ /** Pipeline phase where a hook-type SOP fires. */
162
+ exports.HookPhase = {
163
+ /** Before tool call evaluation. */
164
+ PRE_TOOL: 'PRE_TOOL',
165
+ /** After tool call evaluation. */
166
+ POST_TOOL: 'POST_TOOL',
167
+ /** Before forwarding to LLM provider. */
168
+ PRE_RESPONSE: 'PRE_RESPONSE',
169
+ /** After LLM response received. */
170
+ POST_RESPONSE: 'POST_RESPONSE',
171
+ };
172
+ // ─── Routing Tier ────────────────────────────────────────────────────
173
+ // HLD §3.6, LLD §3.1 — Model routing tier classification
174
+ /** Model routing tier for cost optimization. */
175
+ exports.RoutingTier = {
176
+ FRONTIER: 'frontier',
177
+ ECONOMY: 'economy',
178
+ LOCAL: 'local',
179
+ };
180
+ // ─── Workspace Role ──────────────────────────────────────────────────
181
+ // HLD §5.1, LLD #7 — RBAC role hierarchy
182
+ /** Workspace member role for RBAC. OWNER > ADMIN > EM > DEVELOPER > VIEWER. */
183
+ exports.WorkspaceRole = {
184
+ OWNER: 'OWNER',
185
+ ADMIN: 'ADMIN',
186
+ EM: 'EM',
187
+ DEVELOPER: 'DEVELOPER',
188
+ VIEWER: 'VIEWER',
189
+ };
190
+ // ─── MCP Proxy Settings ──────────────────────────────────────────────
191
+ // WS-5 — Q1 fail behavior, Q2 deployment model, Q3 bypass enforcement
192
+ // TD-151, TD-152, TD-153, TD-154, TD-155
193
+ /**
194
+ * MCP proxy fail behavior when the Intutic control plane is unreachable.
195
+ * - `open` (default): pass through the tool call + emit a warning event
196
+ * - `closed`: block the tool call with a user-visible error message
197
+ *
198
+ * Note: `closed` only affects harnesses with MCP proxy injection (13/17).
199
+ * For harnesses without proxy (n8n, pi, codex, open-webui), see TD-151.
200
+ */
201
+ exports.McpProxyFailBehavior = {
202
+ OPEN: 'open',
203
+ CLOSED: 'closed',
204
+ };
205
+ /**
206
+ * MCP proxy deployment model.
207
+ * - `per-session` (default, Phase 4): new proxy process per MCP connection
208
+ * - `daemon` (Phase 5): long-lived daemon, per-session shims delegate via Unix socket
209
+ *
210
+ * See TD-153 — daemon requires macOS notarization. Per-session is the only active mode in Phase 4.
211
+ */
212
+ exports.McpProxyMode = {
213
+ PER_SESSION: 'per-session',
214
+ DAEMON: 'daemon',
215
+ };
216
+ /**
217
+ * Bypass enforcement tier — how aggressively the sync-daemon defends harness configs
218
+ * against manual edits.
219
+ * - `rewrite` (default): drift watcher detects edits → immediate config rewrite (~1s)
220
+ * - `immutable` (opt-in): after each write, sets macOS `chflags uchg` (user-immutable flag)
221
+ * - `alert-only`: no rewrite; drift creates a governance incident only (audit mode)
222
+ *
223
+ * See TD-154 for immutable-flag UX risk notes.
224
+ */
225
+ exports.BypassEnforcementTier = {
226
+ REWRITE: 'rewrite',
227
+ IMMUTABLE: 'immutable',
228
+ ALERT_ONLY: 'alert-only',
229
+ };
230
+ // ─── Phase 5 Enums ───────────────────────────────────────────────────
231
+ // LLD #27: Production Hardening & SOC 2
232
+ /** TurboVec behavioral drift classification. @see HLD §7.7 */
233
+ exports.DriftClassification = {
234
+ POSITIVE_DRIFT: 'POSITIVE_DRIFT',
235
+ NEGATIVE_DRIFT: 'NEGATIVE_DRIFT',
236
+ NEUTRAL_DRIFT: 'NEUTRAL_DRIFT',
237
+ };
238
+ /** Drift detection mode — TurboVec cosine-distance or compliance-score fallback. */
239
+ exports.DriftDetectionMode = {
240
+ TURBOVEC: 'turbovec',
241
+ COMPLIANCE_SCORE_FALLBACK: 'compliance_score_fallback',
242
+ };
243
+ //# sourceMappingURL=enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../src/enums.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Shared error codes and error class for the Intutic platform.
3
+ *
4
+ * All services throw `IntuticError` instances so that HTTP handlers can
5
+ * reliably extract `code`, `statusCode`, and `details` for structured
6
+ * error responses.
7
+ *
8
+ * @module
9
+ */
10
+ /** Resource not found. */
11
+ export declare const E_NOT_FOUND: "E_NOT_FOUND";
12
+ /** Cache service is down or temporarily unreachable. */
13
+ export declare const E_CACHE_UNAVAILABLE: "E_CACHE_UNAVAILABLE";
14
+ /** Missing or invalid authentication credentials. */
15
+ export declare const E_UNAUTHORIZED: "E_UNAUTHORIZED";
16
+ /** Authenticated but insufficient permissions. */
17
+ export declare const E_FORBIDDEN: "E_FORBIDDEN";
18
+ /** Budget limit exceeded — HLD §3.6 FinOps guardrail. */
19
+ export declare const E_BUDGET_EXCEEDED: "E_BUDGET_EXCEEDED";
20
+ /** Request rate limit exceeded. */
21
+ export declare const E_RATE_LIMITED: "E_RATE_LIMITED";
22
+ /** Attempted UPDATE/DELETE on an append-only table (e.g., execution_traces). */
23
+ export declare const E_APPEND_ONLY_VIOLATION: "E_APPEND_ONLY_VIOLATION";
24
+ /** High-risk plan approval requires a human-written rationale (EU AI Act Art. 14). */
25
+ export declare const E_APPROVAL_RATIONALE_REQUIRED: "E_APPROVAL_RATIONALE_REQUIRED";
26
+ /** Request payload failed Zod schema validation. */
27
+ export declare const E_VALIDATION_FAILED: "E_VALIDATION_FAILED";
28
+ /** Stripe/billing checkout disabled or unavailable. */
29
+ export declare const E_CHECKOUT_DISABLED: "CHECKOUT_DISABLED";
30
+ /** Workspace already on the requested tier. */
31
+ export declare const E_ALREADY_ON_TIER: "ALREADY_ON_TIER";
32
+ /** Stripe API error. */
33
+ export declare const E_STRIPE_ERROR: "STRIPE_ERROR";
34
+ /** Webhook signature validation failed. */
35
+ export declare const E_SIGNATURE_INVALID: "SIGNATURE_INVALID";
36
+ /** Workspace free trial has expired. */
37
+ export declare const E_TRIAL_EXPIRED: "TRIAL_EXPIRED";
38
+ /** Email already registered. */
39
+ export declare const E_EMAIL_ALREADY_EXISTS: "EMAIL_ALREADY_EXISTS";
40
+ /** OAuth flow failure. */
41
+ export declare const E_OAUTH_FAILED: "OAUTH_FAILED";
42
+ /** Token is invalid or malformed. */
43
+ export declare const E_TOKEN_INVALID: "TOKEN_INVALID";
44
+ /** Token has expired. */
45
+ export declare const E_TOKEN_EXPIRED: "TOKEN_EXPIRED";
46
+ /** Resource is already in the target state. */
47
+ export declare const E_ALREADY_VERIFIED: "ALREADY_VERIFIED";
48
+ /** Generic validation failure (legacy alias). */
49
+ export declare const E_VALIDATION: "E_VALIDATION";
50
+ /** SSO is not configured or disabled for this workspace. */
51
+ export declare const E_SSO_DISABLED: "SSO_DISABLED";
52
+ /** SSO user has no workspace membership. */
53
+ export declare const E_SSO_NO_MEMBERSHIP: "SSO_NO_MEMBERSHIP";
54
+ /** OIDC state parameter is invalid or expired. */
55
+ export declare const E_OIDC_INVALID_STATE: "OIDC_INVALID_STATE";
56
+ /** OIDC token exchange with the IdP failed. */
57
+ export declare const E_OIDC_TOKEN_EXCHANGE_FAILED: "OIDC_TOKEN_EXCHANGE_FAILED";
58
+ /** Required claims missing from OIDC id_token. */
59
+ export declare const E_OIDC_CLAIMS_MISSING: "OIDC_CLAIMS_MISSING";
60
+ /** SSO provider exists but is disabled. */
61
+ export declare const E_PROVIDER_DISABLED: "PROVIDER_DISABLED";
62
+ /** Cannot delete provider — active members are using it. */
63
+ export declare const E_PROVIDER_IN_USE: "PROVIDER_IN_USE";
64
+ /** SCIM bearer token authentication failed. */
65
+ export declare const E_SCIM_AUTH_FAILED: "SCIM_AUTH_FAILED";
66
+ /** SCIM resource already exists (duplicate externalId). */
67
+ export declare const E_SCIM_DUPLICATE: "SCIM_DUPLICATE";
68
+ /** Offboarding cascade is already running for this user. */
69
+ export declare const E_OFFBOARDING_IN_PROGRESS: "OFFBOARDING_IN_PROGRESS";
70
+ /** Feature is not available on the current plan tier. */
71
+ export declare const E_FEATURE_NOT_AVAILABLE: "FEATURE_NOT_AVAILABLE";
72
+ /**
73
+ * Requested child capabilities are not a subset of the parent key's capabilities.
74
+ * HLD §5.6 — DCT Token Attenuation (Patent Family A).
75
+ */
76
+ export declare const E_ATTENUATION_CAP_VIOLATION: "ATTENUATION_CAP_VIOLATION";
77
+ /**
78
+ * Daily spend cap exceeded with hard enforcement mode active.
79
+ * Proxy returns this when budget:hard_block:{wid} Valkey key is set.
80
+ */
81
+ export declare const E_OVERAGE_HARD_CAP_EXCEEDED: "OVERAGE_HARD_CAP_EXCEEDED";
82
+ /**
83
+ * Union of all Intutic error code constants.
84
+ *
85
+ * Use this type to constrain error handling branches:
86
+ * ```ts
87
+ * function handle(code: IntuticErrorCode) { ... }
88
+ * ```
89
+ */
90
+ export type IntuticErrorCode = typeof E_NOT_FOUND | typeof E_CACHE_UNAVAILABLE | typeof E_UNAUTHORIZED | typeof E_FORBIDDEN | typeof E_BUDGET_EXCEEDED | typeof E_RATE_LIMITED | typeof E_APPEND_ONLY_VIOLATION | typeof E_APPROVAL_RATIONALE_REQUIRED | typeof E_VALIDATION_FAILED | typeof E_CHECKOUT_DISABLED | typeof E_ALREADY_ON_TIER | typeof E_STRIPE_ERROR | typeof E_SIGNATURE_INVALID | typeof E_TRIAL_EXPIRED | typeof E_EMAIL_ALREADY_EXISTS | typeof E_OAUTH_FAILED | typeof E_TOKEN_INVALID | typeof E_TOKEN_EXPIRED | typeof E_ALREADY_VERIFIED | typeof E_VALIDATION | typeof E_SSO_DISABLED | typeof E_SSO_NO_MEMBERSHIP | typeof E_OIDC_INVALID_STATE | typeof E_OIDC_TOKEN_EXCHANGE_FAILED | typeof E_OIDC_CLAIMS_MISSING | typeof E_PROVIDER_DISABLED | typeof E_PROVIDER_IN_USE | typeof E_SCIM_AUTH_FAILED | typeof E_SCIM_DUPLICATE | typeof E_OFFBOARDING_IN_PROGRESS | typeof E_FEATURE_NOT_AVAILABLE | typeof E_ATTENUATION_CAP_VIOLATION | typeof E_OVERAGE_HARD_CAP_EXCEEDED;
91
+ /**
92
+ * Structured error class used across all Intutic services.
93
+ *
94
+ * Every error carries a machine-readable `code`, an HTTP `statusCode`,
95
+ * and optional `details` for diagnostics.
96
+ *
97
+ * @example
98
+ * ```typescript
99
+ * import { IntuticError, E_BUDGET_EXCEEDED } from '@intutic/shared-types'
100
+ *
101
+ * throw new IntuticError(
102
+ * E_BUDGET_EXCEEDED,
103
+ * 402,
104
+ * 'Monthly budget of $500.00 exceeded',
105
+ * { currentSpend: 512.34, limit: 500.00 }
106
+ * )
107
+ * ```
108
+ */
109
+ export declare class IntuticError extends Error {
110
+ /** Machine-readable error code (e.g., `E_BUDGET_EXCEEDED`). */
111
+ readonly code: IntuticErrorCode;
112
+ /** HTTP status code to return (e.g., 402, 403, 404). */
113
+ readonly statusCode: number;
114
+ /** Optional structured details for diagnostics. */
115
+ readonly details?: Record<string, unknown>;
116
+ constructor(code: IntuticErrorCode, statusCode: number, message: string, details?: Record<string, unknown>);
117
+ }
118
+ /**
119
+ * Type guard for IntuticError. Highly robust against duplicate prototype imports.
120
+ */
121
+ export declare function isIntuticError(err: unknown): err is IntuticError;
122
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/dist/errors.js ADDED
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ /**
3
+ * Shared error codes and error class for the Intutic platform.
4
+ *
5
+ * All services throw `IntuticError` instances so that HTTP handlers can
6
+ * reliably extract `code`, `statusCode`, and `details` for structured
7
+ * error responses.
8
+ *
9
+ * @module
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.IntuticError = exports.E_OVERAGE_HARD_CAP_EXCEEDED = exports.E_ATTENUATION_CAP_VIOLATION = exports.E_FEATURE_NOT_AVAILABLE = exports.E_OFFBOARDING_IN_PROGRESS = exports.E_SCIM_DUPLICATE = exports.E_SCIM_AUTH_FAILED = exports.E_PROVIDER_IN_USE = exports.E_PROVIDER_DISABLED = exports.E_OIDC_CLAIMS_MISSING = exports.E_OIDC_TOKEN_EXCHANGE_FAILED = exports.E_OIDC_INVALID_STATE = exports.E_SSO_NO_MEMBERSHIP = exports.E_SSO_DISABLED = exports.E_VALIDATION = exports.E_ALREADY_VERIFIED = exports.E_TOKEN_EXPIRED = exports.E_TOKEN_INVALID = exports.E_OAUTH_FAILED = exports.E_EMAIL_ALREADY_EXISTS = exports.E_TRIAL_EXPIRED = exports.E_SIGNATURE_INVALID = exports.E_STRIPE_ERROR = exports.E_ALREADY_ON_TIER = exports.E_CHECKOUT_DISABLED = exports.E_VALIDATION_FAILED = exports.E_APPROVAL_RATIONALE_REQUIRED = exports.E_APPEND_ONLY_VIOLATION = exports.E_RATE_LIMITED = exports.E_BUDGET_EXCEEDED = exports.E_FORBIDDEN = exports.E_UNAUTHORIZED = exports.E_CACHE_UNAVAILABLE = exports.E_NOT_FOUND = void 0;
13
+ exports.isIntuticError = isIntuticError;
14
+ // ─── Error Code Constants ────────────────────────────────────────────
15
+ /** Resource not found. */
16
+ exports.E_NOT_FOUND = 'E_NOT_FOUND';
17
+ /** Cache service is down or temporarily unreachable. */
18
+ exports.E_CACHE_UNAVAILABLE = 'E_CACHE_UNAVAILABLE';
19
+ /** Missing or invalid authentication credentials. */
20
+ exports.E_UNAUTHORIZED = 'E_UNAUTHORIZED';
21
+ /** Authenticated but insufficient permissions. */
22
+ exports.E_FORBIDDEN = 'E_FORBIDDEN';
23
+ /** Budget limit exceeded — HLD §3.6 FinOps guardrail. */
24
+ exports.E_BUDGET_EXCEEDED = 'E_BUDGET_EXCEEDED';
25
+ /** Request rate limit exceeded. */
26
+ exports.E_RATE_LIMITED = 'E_RATE_LIMITED';
27
+ /** Attempted UPDATE/DELETE on an append-only table (e.g., execution_traces). */
28
+ exports.E_APPEND_ONLY_VIOLATION = 'E_APPEND_ONLY_VIOLATION';
29
+ /** High-risk plan approval requires a human-written rationale (EU AI Act Art. 14). */
30
+ exports.E_APPROVAL_RATIONALE_REQUIRED = 'E_APPROVAL_RATIONALE_REQUIRED';
31
+ /** Request payload failed Zod schema validation. */
32
+ exports.E_VALIDATION_FAILED = 'E_VALIDATION_FAILED';
33
+ /** Stripe/billing checkout disabled or unavailable. */
34
+ exports.E_CHECKOUT_DISABLED = 'CHECKOUT_DISABLED';
35
+ /** Workspace already on the requested tier. */
36
+ exports.E_ALREADY_ON_TIER = 'ALREADY_ON_TIER';
37
+ /** Stripe API error. */
38
+ exports.E_STRIPE_ERROR = 'STRIPE_ERROR';
39
+ /** Webhook signature validation failed. */
40
+ exports.E_SIGNATURE_INVALID = 'SIGNATURE_INVALID';
41
+ /** Workspace free trial has expired. */
42
+ exports.E_TRIAL_EXPIRED = 'TRIAL_EXPIRED';
43
+ /** Email already registered. */
44
+ exports.E_EMAIL_ALREADY_EXISTS = 'EMAIL_ALREADY_EXISTS';
45
+ /** OAuth flow failure. */
46
+ exports.E_OAUTH_FAILED = 'OAUTH_FAILED';
47
+ /** Token is invalid or malformed. */
48
+ exports.E_TOKEN_INVALID = 'TOKEN_INVALID';
49
+ /** Token has expired. */
50
+ exports.E_TOKEN_EXPIRED = 'TOKEN_EXPIRED';
51
+ /** Resource is already in the target state. */
52
+ exports.E_ALREADY_VERIFIED = 'ALREADY_VERIFIED';
53
+ /** Generic validation failure (legacy alias). */
54
+ exports.E_VALIDATION = 'E_VALIDATION';
55
+ // ─── Identity Federation Error Codes (LLD #11) ─────────────────────
56
+ /** SSO is not configured or disabled for this workspace. */
57
+ exports.E_SSO_DISABLED = 'SSO_DISABLED';
58
+ /** SSO user has no workspace membership. */
59
+ exports.E_SSO_NO_MEMBERSHIP = 'SSO_NO_MEMBERSHIP';
60
+ /** OIDC state parameter is invalid or expired. */
61
+ exports.E_OIDC_INVALID_STATE = 'OIDC_INVALID_STATE';
62
+ /** OIDC token exchange with the IdP failed. */
63
+ exports.E_OIDC_TOKEN_EXCHANGE_FAILED = 'OIDC_TOKEN_EXCHANGE_FAILED';
64
+ /** Required claims missing from OIDC id_token. */
65
+ exports.E_OIDC_CLAIMS_MISSING = 'OIDC_CLAIMS_MISSING';
66
+ /** SSO provider exists but is disabled. */
67
+ exports.E_PROVIDER_DISABLED = 'PROVIDER_DISABLED';
68
+ /** Cannot delete provider — active members are using it. */
69
+ exports.E_PROVIDER_IN_USE = 'PROVIDER_IN_USE';
70
+ /** SCIM bearer token authentication failed. */
71
+ exports.E_SCIM_AUTH_FAILED = 'SCIM_AUTH_FAILED';
72
+ /** SCIM resource already exists (duplicate externalId). */
73
+ exports.E_SCIM_DUPLICATE = 'SCIM_DUPLICATE';
74
+ /** Offboarding cascade is already running for this user. */
75
+ exports.E_OFFBOARDING_IN_PROGRESS = 'OFFBOARDING_IN_PROGRESS';
76
+ /** Feature is not available on the current plan tier. */
77
+ exports.E_FEATURE_NOT_AVAILABLE = 'FEATURE_NOT_AVAILABLE';
78
+ // ─── WS4 — Enterprise Identity & Compliance (LLD #19) ───────────────
79
+ /**
80
+ * Requested child capabilities are not a subset of the parent key's capabilities.
81
+ * HLD §5.6 — DCT Token Attenuation (Patent Family A).
82
+ */
83
+ exports.E_ATTENUATION_CAP_VIOLATION = 'ATTENUATION_CAP_VIOLATION';
84
+ // ─── WS5 — Monetization & Financial Ledger (LLD #20) ────────────────
85
+ /**
86
+ * Daily spend cap exceeded with hard enforcement mode active.
87
+ * Proxy returns this when budget:hard_block:{wid} Valkey key is set.
88
+ */
89
+ exports.E_OVERAGE_HARD_CAP_EXCEEDED = 'OVERAGE_HARD_CAP_EXCEEDED';
90
+ // ─── Error Class ─────────────────────────────────────────────────────
91
+ /**
92
+ * Structured error class used across all Intutic services.
93
+ *
94
+ * Every error carries a machine-readable `code`, an HTTP `statusCode`,
95
+ * and optional `details` for diagnostics.
96
+ *
97
+ * @example
98
+ * ```typescript
99
+ * import { IntuticError, E_BUDGET_EXCEEDED } from '@intutic/shared-types'
100
+ *
101
+ * throw new IntuticError(
102
+ * E_BUDGET_EXCEEDED,
103
+ * 402,
104
+ * 'Monthly budget of $500.00 exceeded',
105
+ * { currentSpend: 512.34, limit: 500.00 }
106
+ * )
107
+ * ```
108
+ */
109
+ class IntuticError extends Error {
110
+ /** Machine-readable error code (e.g., `E_BUDGET_EXCEEDED`). */
111
+ code;
112
+ /** HTTP status code to return (e.g., 402, 403, 404). */
113
+ statusCode;
114
+ /** Optional structured details for diagnostics. */
115
+ details;
116
+ constructor(code, statusCode, message, details) {
117
+ super(message);
118
+ this.name = 'IntuticError';
119
+ this.code = code;
120
+ this.statusCode = statusCode;
121
+ this.details = details;
122
+ }
123
+ }
124
+ exports.IntuticError = IntuticError;
125
+ /**
126
+ * Type guard for IntuticError. Highly robust against duplicate prototype imports.
127
+ */
128
+ function isIntuticError(err) {
129
+ return (err instanceof Error &&
130
+ (err.name === 'IntuticError' ||
131
+ err.constructor.name === 'IntuticError' ||
132
+ ('_isIntuticError' in err && err._isIntuticError === true) ||
133
+ ('code' in err && 'statusCode' in err)));
134
+ }
135
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Evaluator Sandbox Types
3
+ *
4
+ * WS-4E Advanced / E6 Evaluator Sandbox
5
+ */
6
+ export interface DatasetSample {
7
+ id: string;
8
+ prompt: string;
9
+ expectedOutput: string;
10
+ tags?: string[];
11
+ }
12
+ export interface EvaluatorDataset {
13
+ datasetId: string;
14
+ workspaceId: string;
15
+ name: string;
16
+ description?: string | null;
17
+ samples: DatasetSample[];
18
+ sampleCount: number;
19
+ createdBy: string;
20
+ createdAt: string;
21
+ updatedAt: string;
22
+ }
23
+ export interface CreateDatasetInput {
24
+ name: string;
25
+ description?: string;
26
+ samples: DatasetSample[];
27
+ }
28
+ export interface TriggerRunInput {
29
+ datasetId: string;
30
+ sopId?: string;
31
+ sopSnapshot?: unknown;
32
+ triggeredBy: 'manual' | 'ci' | 'deploy_gate';
33
+ }
34
+ export interface EvaluatorRun {
35
+ runId: string;
36
+ workspaceId: string;
37
+ datasetId: string;
38
+ sopId?: string | null;
39
+ sopSnapshot?: unknown;
40
+ status: 'pending' | 'running' | 'completed' | 'failed';
41
+ passRate?: string | null;
42
+ avgScore?: string | null;
43
+ weakeningDetected: boolean;
44
+ deployApproved: boolean;
45
+ triggeredBy: string;
46
+ triggeredByUser?: string | null;
47
+ startedAt?: string | null;
48
+ completedAt?: string | null;
49
+ errorMessage?: string | null;
50
+ createdAt: string;
51
+ updatedAt: string;
52
+ }
53
+ export interface EvaluatorResult {
54
+ resultId: string;
55
+ runId: string;
56
+ sampleId: string;
57
+ prompt: string;
58
+ expectedOutput: string;
59
+ actualOutput?: string | null;
60
+ score?: string | null;
61
+ passed?: boolean | null;
62
+ modelUsed?: string | null;
63
+ latencyMs?: number | null;
64
+ createdAt: string;
65
+ }
66
+ export interface DeployGuardResult {
67
+ approved: boolean;
68
+ reason: string;
69
+ }
70
+ //# sourceMappingURL=evaluator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../src/evaluator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,OAAO,EAAE,aAAa,EAAE,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,aAAa,EAAE,CAAA;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,WAAW,EAAE,QAAQ,GAAG,IAAI,GAAG,aAAa,CAAA;CAC7C;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAA;IACtD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,cAAc,EAAE,OAAO,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;CACf"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * Evaluator Sandbox Types
4
+ *
5
+ * WS-4E Advanced / E6 Evaluator Sandbox
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=evaluator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../src/evaluator.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}