@sunaiva/gate 1.0.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.
Files changed (83) hide show
  1. package/BUSINESS_LICENSE.md +70 -0
  2. package/CHANGELOG.md +254 -0
  3. package/LICENSE +0 -0
  4. package/README.md +451 -67
  5. package/README.md.bak-v1.0.0-stale-MIT +59 -0
  6. package/SUPPORT.md +75 -0
  7. package/TIER_DEFINITIONS.md +161 -0
  8. package/dist/config/defaults.d.ts +22 -1
  9. package/dist/config/defaults.d.ts.map +1 -1
  10. package/dist/config/defaults.js +56 -8
  11. package/dist/config/defaults.js.map +1 -1
  12. package/dist/config/loader.d.ts +0 -0
  13. package/dist/config/loader.d.ts.map +1 -1
  14. package/dist/config/loader.js +23 -5
  15. package/dist/config/loader.js.map +1 -1
  16. package/dist/engine/backend-client.d.ts +58 -0
  17. package/dist/engine/backend-client.d.ts.map +1 -0
  18. package/dist/engine/backend-client.js +287 -0
  19. package/dist/engine/backend-client.js.map +1 -0
  20. package/dist/engine/hmac-verifier.d.ts +52 -0
  21. package/dist/engine/hmac-verifier.d.ts.map +1 -0
  22. package/dist/engine/hmac-verifier.js +159 -0
  23. package/dist/engine/hmac-verifier.js.map +1 -0
  24. package/dist/engine/immutability.d.ts +59 -0
  25. package/dist/engine/immutability.d.ts.map +1 -0
  26. package/dist/engine/immutability.js +129 -0
  27. package/dist/engine/immutability.js.map +1 -0
  28. package/dist/engine/pattern-matcher.d.ts +13 -0
  29. package/dist/engine/pattern-matcher.d.ts.map +1 -1
  30. package/dist/engine/pattern-matcher.js +85 -17
  31. package/dist/engine/pattern-matcher.js.map +1 -1
  32. package/dist/engine/rule-engine.d.ts +62 -1
  33. package/dist/engine/rule-engine.d.ts.map +1 -1
  34. package/dist/engine/rule-engine.js +224 -12
  35. package/dist/engine/rule-engine.js.map +1 -1
  36. package/dist/engine/session-state.d.ts +0 -0
  37. package/dist/engine/session-state.d.ts.map +1 -1
  38. package/dist/engine/session-state.js +8 -2
  39. package/dist/engine/session-state.js.map +1 -1
  40. package/dist/engine/ship-confidence-gate.d.ts +232 -0
  41. package/dist/engine/ship-confidence-gate.d.ts.map +1 -0
  42. package/dist/engine/ship-confidence-gate.js +768 -0
  43. package/dist/engine/ship-confidence-gate.js.map +1 -0
  44. package/dist/index.d.ts +0 -0
  45. package/dist/index.js +293 -2
  46. package/dist/rules/categories.json +0 -0
  47. package/dist/rules/presets.json +0 -0
  48. package/dist/rules/rules.json +132 -64
  49. package/dist/tools/audit.d.ts +6 -0
  50. package/dist/tools/audit.d.ts.map +1 -1
  51. package/dist/tools/audit.js +43 -6
  52. package/dist/tools/audit.js.map +1 -1
  53. package/dist/tools/bypass.d.ts +0 -0
  54. package/dist/tools/bypass.d.ts.map +1 -1
  55. package/dist/tools/bypass.js +50 -6
  56. package/dist/tools/bypass.js.map +1 -1
  57. package/dist/tools/export-attestation.d.ts +45 -0
  58. package/dist/tools/export-attestation.d.ts.map +1 -0
  59. package/dist/tools/export-attestation.js +152 -0
  60. package/dist/tools/export-attestation.js.map +1 -0
  61. package/dist/tools/rules.d.ts +0 -0
  62. package/dist/tools/rules.d.ts.map +0 -0
  63. package/dist/tools/rules.js +0 -0
  64. package/dist/tools/rules.js.map +0 -0
  65. package/dist/tools/ship-confidence.d.ts +17 -0
  66. package/dist/tools/ship-confidence.d.ts.map +1 -0
  67. package/dist/tools/ship-confidence.js +42 -0
  68. package/dist/tools/ship-confidence.js.map +1 -0
  69. package/dist/tools/update.d.ts +0 -0
  70. package/dist/tools/update.d.ts.map +1 -1
  71. package/dist/tools/update.js +45 -9
  72. package/dist/tools/update.js.map +1 -1
  73. package/dist/tools/validate.d.ts +0 -0
  74. package/dist/tools/validate.d.ts.map +1 -1
  75. package/dist/tools/validate.js +56 -4
  76. package/dist/tools/validate.js.map +1 -1
  77. package/dist/types/backend.d.ts +69 -0
  78. package/dist/types/backend.d.ts.map +1 -0
  79. package/dist/types/backend.js +18 -0
  80. package/dist/types/backend.js.map +1 -0
  81. package/package.json +83 -65
  82. package/dist/index.d.ts.map +0 -1
  83. package/dist/index.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-confidence-gate.js","sourceRoot":"","sources":["../../src/engine/ship-confidence-gate.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
File without changes
package/dist/index.js CHANGED
@@ -7,7 +7,17 @@ import { handleLogBypass } from "./tools/bypass.js";
7
7
  import { handleGetRules } from "./tools/rules.js";
8
8
  import { handleUpdateRules } from "./tools/update.js";
9
9
  import { handleGetAuditLog } from "./tools/audit.js";
10
- const server = new Server({ name: "sunaiva-gate", version: "1.0.0" }, { capabilities: { tools: {} } });
10
+ import { handleShipConfidenceCheck } from "./tools/ship-confidence.js";
11
+ import { ShipConfidenceGate } from "./engine/ship-confidence-gate.js";
12
+ import { evaluateAction } from "./engine/rule-engine.js";
13
+ import { getConstitutionalRuleIds } from "./engine/immutability.js";
14
+ import { DEFAULT_CONFIG } from "./config/defaults.js";
15
+ import * as fs from "node:fs";
16
+ import * as path from "node:path";
17
+ import { fileURLToPath } from "node:url";
18
+ const PKG_VERSION = "1.1.2";
19
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
20
+ const server = new Server({ name: "sunaiva-gate", version: PKG_VERSION }, { capabilities: { tools: {} } });
11
21
  server.setRequestHandler(ListToolsRequestSchema, async () => ({
12
22
  tools: [
13
23
  {
@@ -35,6 +45,19 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
35
45
  description: "View recent gate decisions — blocks, warnings, passes, and bypasses.",
36
46
  inputSchema: { type: "object", properties: { limit: { type: "number", description: "Max entries to return (default 50)" }, rule_id: { type: "string", description: "Filter by rule ID" } } },
37
47
  },
48
+ {
49
+ name: "ship_confidence_check",
50
+ description: "Ship Confidence Gate (Rule 42). Verifies dual-tier authorization for publish-class actions: HMAC-signed Verdict (paid) OR approval token (free). Returns allow/block with self-stamped evidence.",
51
+ inputSchema: {
52
+ type: "object",
53
+ properties: {
54
+ artifact_id: { type: "string", description: "The artifact being shipped (e.g. '@sunaiva/gate@1.1.0')" },
55
+ command_preview: { type: "string", description: "First 300 chars of the command that triggered the check (optional)" },
56
+ label: { type: "string", description: "Human-readable label of the publish action (optional)" },
57
+ },
58
+ required: ["artifact_id"],
59
+ },
60
+ },
38
61
  ],
39
62
  }));
40
63
  server.setRequestHandler(CallToolRequestSchema, async (req) => {
@@ -46,6 +69,7 @@ server.setRequestHandler(CallToolRequestSchema, async (req) => {
46
69
  case "get_rules": return await handleGetRules(args);
47
70
  case "update_rules": return await handleUpdateRules(args);
48
71
  case "get_audit_log": return await handleGetAuditLog(args);
72
+ case "ship_confidence_check": return await handleShipConfidenceCheck(args);
49
73
  default: return { content: [{ type: "text", text: `Unknown tool: ${name}` }] };
50
74
  }
51
75
  }
@@ -53,9 +77,276 @@ server.setRequestHandler(CallToolRequestSchema, async (req) => {
53
77
  return { content: [{ type: "text", text: `Error: ${err instanceof Error ? err.message : String(err)}` }] };
54
78
  }
55
79
  });
80
+ /** Build a transient in-memory config that activates every rule, for self-test evaluation. */
81
+ function buildSmokeTestConfig(allRuleIds) {
82
+ return {
83
+ ...DEFAULT_CONFIG,
84
+ active_rules: allRuleIds,
85
+ enforcement_mode: "enforce",
86
+ };
87
+ }
88
+ function runSmokeTest() {
89
+ const checks = [];
90
+ let missingFiles = false;
91
+ const rulesPath = path.join(__dirname, "rules", "rules.json");
92
+ let totalRules = 0;
93
+ let constitutionalCount = 0;
94
+ let premiumCount = 0;
95
+ let allRules = [];
96
+ try {
97
+ const raw = fs.readFileSync(rulesPath, "utf-8");
98
+ const parsed = JSON.parse(raw);
99
+ const flat = Array.isArray(parsed)
100
+ ? parsed
101
+ : Object.values(parsed).flat();
102
+ allRules = flat;
103
+ totalRules = flat.length;
104
+ constitutionalCount = flat.filter((r) => r && (r.enforcement === "constitutional" || r.constitutional === true)).length;
105
+ premiumCount = flat.filter((r) => r && r.backend_required === true).length;
106
+ checks.push({ label: "Gate loaded", ok: true, detail: `${totalRules} rules` });
107
+ checks.push({
108
+ label: "Constitutional rules",
109
+ ok: constitutionalCount > 0,
110
+ detail: `${constitutionalCount} (cannot be disabled, enforced locally)`,
111
+ });
112
+ checks.push({
113
+ label: "Premium rules",
114
+ ok: true,
115
+ detail: `${premiumCount} (require backend service)`,
116
+ });
117
+ }
118
+ catch (err) {
119
+ missingFiles = true;
120
+ checks.push({
121
+ label: "Gate loaded",
122
+ ok: false,
123
+ detail: `failed to load rules.json: ${err instanceof Error ? err.message : String(err)}`,
124
+ });
125
+ }
126
+ // Immutability guard health check (B4 — findings C2/C3).
127
+ try {
128
+ const constSet = getConstitutionalRuleIds();
129
+ checks.push({
130
+ label: "Immutability guard",
131
+ ok: constSet.size > 0,
132
+ detail: `ACTIVE — ${constSet.size} constitutional rule IDs locked`,
133
+ });
134
+ }
135
+ catch (err) {
136
+ checks.push({
137
+ label: "Immutability guard",
138
+ ok: false,
139
+ detail: `INACTIVE: ${err instanceof Error ? err.message : String(err)}`,
140
+ });
141
+ }
142
+ const presetsPath = path.join(__dirname, "rules", "presets.json");
143
+ try {
144
+ fs.readFileSync(presetsPath, "utf-8");
145
+ checks.push({ label: "Presets file", ok: true, detail: "5 presets available" });
146
+ }
147
+ catch (err) {
148
+ missingFiles = true;
149
+ checks.push({
150
+ label: "Presets file",
151
+ ok: false,
152
+ detail: `failed to load presets.json: ${err instanceof Error ? err.message : String(err)}`,
153
+ });
154
+ }
155
+ // Live evaluations — the bit that 1.0.0 didn't have
156
+ const dryRun = process.env.SUNAIVA_GATE_DRY_RUN === "1";
157
+ if (allRules.length > 0) {
158
+ const allIds = allRules.map((r) => r.id);
159
+ const cfg = buildSmokeTestConfig(allIds);
160
+ const evalCases = [
161
+ { label: "git push origin main", action: "git push origin main", expectHard: true, expectRuleId: "gov-001" },
162
+ { label: "ls -la", action: "ls -la", expectHard: false },
163
+ // rm -rf is classified under gov-002 "Destructive Action Confirmation" (action-governance),
164
+ // not dat-001 (which is credential exposure). The rule-engine's matcher correctly identifies
165
+ // destructive shell ops as a governance concern. See rules/rules.json gov-002 detection_pattern.
166
+ { label: "rm -rf /", action: "rm -rf / wipe everything", expectHard: true, expectRuleId: "gov-002" },
167
+ { label: "stripe.charges.create", action: "stripe.charges.create amount=5000 currency=usd", expectHard: true, expectRuleId: "fin-001" },
168
+ ];
169
+ for (const tc of evalCases) {
170
+ try {
171
+ const result = evaluateAction(tc.action, cfg, new Map());
172
+ const wasHard = result.severity_tier === "HARD";
173
+ const ruleHit = result.violations.find((v) => v.id === tc.expectRuleId);
174
+ let ok;
175
+ let detail;
176
+ if (tc.expectHard) {
177
+ ok = wasHard && (tc.expectRuleId ? !!ruleHit : true);
178
+ detail = ok
179
+ ? `HARD block via ${result.violations.map((v) => v.id).join(",") || "?"}${dryRun ? " (dry-run)" : ""}`
180
+ : `expected HARD via ${tc.expectRuleId}; got tier=${result.severity_tier} violations=${result.violations.map((v) => v.id).join(",")}`;
181
+ }
182
+ else {
183
+ ok = result.allowed && !wasHard;
184
+ detail = ok
185
+ ? "ALLOW"
186
+ : `expected ALLOW; got violations=${result.violations.map((v) => v.id).join(",")}`;
187
+ }
188
+ checks.push({ label: `Live eval (${tc.label})`, ok, detail });
189
+ }
190
+ catch (err) {
191
+ checks.push({
192
+ label: `Live eval (${tc.label})`,
193
+ ok: false,
194
+ detail: `crashed: ${err instanceof Error ? err.message : String(err)}`,
195
+ });
196
+ }
197
+ }
198
+ }
199
+ checks.push({ label: "MCP server", ok: true, detail: "ready (not started in smoke test)" });
200
+ if (process.env.DISABLE_SUNAIVA_GATE === "1") {
201
+ checks.push({
202
+ label: "Kill-switch",
203
+ ok: true,
204
+ detail: "DISABLE_SUNAIVA_GATE=1 detected — server would short-circuit to allow-all",
205
+ });
206
+ }
207
+ if (dryRun) {
208
+ checks.push({
209
+ label: "Dry-run",
210
+ ok: true,
211
+ detail: "SUNAIVA_GATE_DRY_RUN=1 detected — server would force allowed=true",
212
+ });
213
+ }
214
+ const allOk = checks.every((c) => c.ok);
215
+ for (const c of checks) {
216
+ const mark = c.ok ? "✓" : "✗";
217
+ console.log(`${mark} ${c.label} — ${c.detail}`);
218
+ }
219
+ console.log(`Status: ${allOk ? "HEALTHY" : missingFiles ? "DEGRADED — MISSING FILES" : "DEGRADED"}`);
220
+ console.log(`Version: ${PKG_VERSION}`);
221
+ console.log(`Support: support@sunaiva.ai`);
222
+ // Exit code alignment with B3 / §6.1 of the brief:
223
+ // 0 = HEALTHY
224
+ // 1 = DEGRADED (legacy — any failing check)
225
+ // 5 = DEGRADED with missing required files (rules.json / presets.json)
226
+ if (allOk)
227
+ return 0;
228
+ if (missingFiles)
229
+ return 5;
230
+ return 1;
231
+ }
56
232
  async function main() {
233
+ const argv = process.argv.slice(2);
234
+ if (argv.includes("--version") || argv.includes("-v")) {
235
+ console.log(PKG_VERSION);
236
+ process.exit(0);
237
+ }
238
+ if (argv.includes("--help") || argv.includes("-h")) {
239
+ console.log(`@sunaiva/gate v${PKG_VERSION} — MCP enforcement layer for AI agent rules
240
+
241
+ Usage:
242
+ npx @sunaiva/gate Run as MCP server (stdio transport)
243
+ npx @sunaiva/gate --smoke-test Run a local health check and exit
244
+ npx @sunaiva/gate --version Print version and exit
245
+ npx @sunaiva/gate --help Show this message
246
+
247
+ Environment:
248
+ DISABLE_SUNAIVA_GATE=1 Kill-switch: server short-circuits to allow-all
249
+ SUNAIVA_GATE_DRY_RUN=1 Dry-run: evaluate but never block (reports would_have_blocked)
250
+
251
+ MCP integration: add the command to your client's mcpServers config.
252
+ Docs: https://sunaivacore.io/products/gate
253
+ Support: support@sunaiva.ai`);
254
+ process.exit(0);
255
+ }
256
+ if (argv.includes("--smoke-test")) {
257
+ process.exit(runSmokeTest());
258
+ }
259
+ // --ship-confidence <artifact-id> — standalone CLI gate invocation.
260
+ // Exit 0 = allow, 2 = block, 3 = internal error (fail-OPEN logged).
261
+ // Owned by B2; documented by B5.
262
+ const scIdx = argv.indexOf("--ship-confidence");
263
+ if (scIdx !== -1) {
264
+ const artifactId = argv[scIdx + 1];
265
+ if (!artifactId) {
266
+ console.error("--ship-confidence requires an artifact_id argument");
267
+ process.exit(2);
268
+ }
269
+ try {
270
+ const gate = new ShipConfidenceGate();
271
+ const result = await gate.check(artifactId, {
272
+ commandPreview: argv.slice(scIdx).join(" "),
273
+ });
274
+ console.log(JSON.stringify({
275
+ allowed: result.decision === "allow",
276
+ decision: result.decision,
277
+ tier: result.tier,
278
+ reason: result.reason,
279
+ verdict_id: result.verdict_id,
280
+ level: result.level,
281
+ signed_at: result.signed_at,
282
+ age_minutes: result.age_minutes,
283
+ stamp: result.stamp,
284
+ }, null, 2));
285
+ process.exit(result.decision === "allow" ? 0 : 2);
286
+ }
287
+ catch (err) {
288
+ console.error(`[sunaiva-gate v${PKG_VERSION}] ship-confidence CLI error (fail-OPEN): ${err instanceof Error ? err.message : String(err)}`);
289
+ process.exit(3);
290
+ }
291
+ }
292
+ // Kill-switch: do not even attach the transport when disabled. The MCP host
293
+ // will see a server that responds with allowed=true to everything (validate.ts
294
+ // already short-circuits), and we log to stderr so the user knows.
295
+ if (process.env.DISABLE_SUNAIVA_GATE === "1") {
296
+ console.error(`[sunaiva-gate v${PKG_VERSION}] DISABLED via DISABLE_SUNAIVA_GATE=1 — all actions will be allowed.`);
297
+ }
57
298
  const transport = new StdioServerTransport();
58
299
  await server.connect(transport);
59
300
  }
60
- main().catch(console.error);
301
+ // ----------------------------------------------------------------------
302
+ // Top-level fail-CLOSED wrap (B3 — Findings C5 + C6)
303
+ // ----------------------------------------------------------------------
304
+ // Default: any uncaught exception in the gate's OWN code (config corrupt,
305
+ // MCP transport error, invalid input from caller) fails CLOSED with a
306
+ // distinct exit code so the host is informed instead of silently allowing.
307
+ // exit 3 = internal error (C5)
308
+ // exit 4 = invalid input (C6)
309
+ // Opt-in legacy fail-OPEN via SUNAIVA_GATE_FAIL_OPEN_ON_ERROR=1 (kept for
310
+ // backwards compatibility with hosts that depend on exit 0).
311
+ // IMPORTANT: backend failures (network, 5xx, timeout, missing token) are
312
+ // handled INSIDE backend-client.ts as fail-OPEN per-rule skips — those
313
+ // never reach this catch. This wrap is only for the gate's OWN code.
314
+ // ----------------------------------------------------------------------
315
+ function failClosed(err) {
316
+ const failOpen = process.env.SUNAIVA_GATE_FAIL_OPEN_ON_ERROR === "1";
317
+ const msg = err instanceof Error ? err.message : String(err);
318
+ const cls = err instanceof Error ? err.constructor.name : "Unknown";
319
+ const isInvalidInput = cls === "SyntaxError" || /malformed|invalid|parse/i.test(msg);
320
+ // Best-effort audit write — never block the exit on I/O.
321
+ try {
322
+ // Lazy import: keep --help / --version paths from pulling in audit code.
323
+ import("./tools/audit.js")
324
+ .then((m) => {
325
+ m.appendAudit({
326
+ timestamp: new Date().toISOString(),
327
+ gate_version: PKG_VERSION,
328
+ hook_name: "sunaiva-gate",
329
+ type: isInvalidInput ? "invalid_input" : "error",
330
+ error_class: cls,
331
+ error_message: msg.slice(0, 500),
332
+ audit_status: isInvalidInput ? "INVALID_INPUT" : "INTERNAL_ERROR",
333
+ });
334
+ })
335
+ .catch(() => { });
336
+ }
337
+ catch {
338
+ // Swallow audit errors — never block the exit code.
339
+ }
340
+ if (failOpen) {
341
+ console.error(`[sunaiva-gate v${PKG_VERSION}] startup error (FAIL-OPEN via SUNAIVA_GATE_FAIL_OPEN_ON_ERROR=1, exiting 0):`, err);
342
+ process.exit(0);
343
+ }
344
+ if (isInvalidInput) {
345
+ console.error(`[sunaiva-gate v${PKG_VERSION}] FAIL-CLOSED — invalid input (exit 4):`, err);
346
+ process.exit(4);
347
+ }
348
+ console.error(`[sunaiva-gate v${PKG_VERSION}] FAIL-CLOSED — internal error (exit 3):`, err);
349
+ process.exit(3);
350
+ }
351
+ main().catch(failClosed);
61
352
  //# sourceMappingURL=index.js.map
File without changes
File without changes