shieldcortex 2.18.0 → 2.19.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 (129) hide show
  1. package/README.md +42 -12
  2. package/dashboard/.next/standalone/dashboard/.next/BUILD_ID +1 -1
  3. package/dashboard/.next/standalone/dashboard/.next/build-manifest.json +2 -2
  4. package/dashboard/.next/standalone/dashboard/.next/prerender-manifest.json +3 -3
  5. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.html +2 -2
  6. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.rsc +1 -1
  7. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  8. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  10. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  11. package/dashboard/.next/standalone/dashboard/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  13. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.html +1 -1
  14. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.rsc +2 -2
  15. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  16. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  17. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  18. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  19. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  20. package/dashboard/.next/standalone/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  21. package/dashboard/.next/standalone/dashboard/.next/server/app/index.html +1 -1
  22. package/dashboard/.next/standalone/dashboard/.next/server/app/index.rsc +3 -3
  23. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  24. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_full.segment.rsc +3 -3
  25. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_head.segment.rsc +1 -1
  26. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_index.segment.rsc +2 -2
  27. package/dashboard/.next/standalone/dashboard/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  28. package/dashboard/.next/standalone/dashboard/.next/server/app/page_client-reference-manifest.js +1 -1
  29. package/dashboard/.next/standalone/dashboard/.next/server/chunks/ssr/dashboard_25b1b286._.js +1 -1
  30. package/dashboard/.next/standalone/dashboard/.next/server/pages/404.html +1 -1
  31. package/dashboard/.next/standalone/dashboard/.next/server/pages/500.html +2 -2
  32. package/dashboard/.next/standalone/dashboard/.next/server/server-reference-manifest.js +1 -1
  33. package/dashboard/.next/standalone/dashboard/.next/server/server-reference-manifest.json +1 -1
  34. package/dashboard/.next/standalone/dashboard/.next/static/chunks/1a71c9a52f0c9b16.css +3 -0
  35. package/dashboard/.next/standalone/dashboard/.next/static/chunks/6bf7d89d34068ecb.js +9 -0
  36. package/dashboard/.next/standalone/dashboard/.next/static/chunks/d0dcb5e0e04ae015.js +1 -0
  37. package/dashboard/.next/standalone/dashboard/package.json +1 -1
  38. package/dist/api/visualization-server.d.ts.map +1 -1
  39. package/dist/api/visualization-server.js +306 -0
  40. package/dist/api/visualization-server.js.map +1 -1
  41. package/dist/cloud/config.d.ts +13 -1
  42. package/dist/cloud/config.d.ts.map +1 -1
  43. package/dist/cloud/config.js +28 -3
  44. package/dist/cloud/config.js.map +1 -1
  45. package/dist/database/init.d.ts.map +1 -1
  46. package/dist/database/init.js +77 -0
  47. package/dist/database/init.js.map +1 -1
  48. package/dist/defence/__tests__/tool-response-scanner.test.d.ts +8 -0
  49. package/dist/defence/__tests__/tool-response-scanner.test.d.ts.map +1 -0
  50. package/dist/defence/__tests__/tool-response-scanner.test.js +106 -0
  51. package/dist/defence/__tests__/tool-response-scanner.test.js.map +1 -0
  52. package/dist/defence/audit/export.d.ts +6 -0
  53. package/dist/defence/audit/export.d.ts.map +1 -0
  54. package/dist/defence/audit/export.js +43 -0
  55. package/dist/defence/audit/export.js.map +1 -0
  56. package/dist/defence/custom-patterns/store.d.ts +52 -0
  57. package/dist/defence/custom-patterns/store.d.ts.map +1 -0
  58. package/dist/defence/custom-patterns/store.js +108 -0
  59. package/dist/defence/custom-patterns/store.js.map +1 -0
  60. package/dist/defence/custom-rules/store.d.ts +36 -0
  61. package/dist/defence/custom-rules/store.d.ts.map +1 -0
  62. package/dist/defence/custom-rules/store.js +57 -0
  63. package/dist/defence/custom-rules/store.js.map +1 -0
  64. package/dist/defence/iron-dome/custom-policies.d.ts +31 -0
  65. package/dist/defence/iron-dome/custom-policies.d.ts.map +1 -0
  66. package/dist/defence/iron-dome/custom-policies.js +79 -0
  67. package/dist/defence/iron-dome/custom-policies.js.map +1 -0
  68. package/dist/defence/iron-dome/index.d.ts +5 -5
  69. package/dist/defence/iron-dome/index.d.ts.map +1 -1
  70. package/dist/defence/iron-dome/index.js +51 -7
  71. package/dist/defence/iron-dome/index.js.map +1 -1
  72. package/dist/defence/pipeline.d.ts.map +1 -1
  73. package/dist/defence/pipeline.js +73 -0
  74. package/dist/defence/pipeline.js.map +1 -1
  75. package/dist/defence/skill-scanner/deep-scan.d.ts +30 -0
  76. package/dist/defence/skill-scanner/deep-scan.d.ts.map +1 -0
  77. package/dist/defence/skill-scanner/deep-scan.js +112 -0
  78. package/dist/defence/skill-scanner/deep-scan.js.map +1 -0
  79. package/dist/defence/tool-response-scanner.d.ts +23 -0
  80. package/dist/defence/tool-response-scanner.d.ts.map +1 -0
  81. package/dist/defence/tool-response-scanner.js +157 -0
  82. package/dist/defence/tool-response-scanner.js.map +1 -0
  83. package/dist/defence/trust/source-scorer.d.ts.map +1 -1
  84. package/dist/defence/trust/source-scorer.js +2 -1
  85. package/dist/defence/trust/source-scorer.js.map +1 -1
  86. package/dist/defence/types.d.ts +13 -2
  87. package/dist/defence/types.d.ts.map +1 -1
  88. package/dist/defence/types.js.map +1 -1
  89. package/dist/lib.d.ts +2 -0
  90. package/dist/lib.d.ts.map +1 -1
  91. package/dist/lib.js +2 -0
  92. package/dist/lib.js.map +1 -1
  93. package/dist/license/__tests__/feature-gating.test.d.ts +10 -0
  94. package/dist/license/__tests__/feature-gating.test.d.ts.map +1 -0
  95. package/dist/license/__tests__/feature-gating.test.js +188 -0
  96. package/dist/license/__tests__/feature-gating.test.js.map +1 -0
  97. package/dist/license/index.d.ts +1 -0
  98. package/dist/license/index.d.ts.map +1 -1
  99. package/dist/license/index.js.map +1 -1
  100. package/dist/license/types.d.ts +16 -0
  101. package/dist/license/types.d.ts.map +1 -0
  102. package/dist/license/types.js +6 -0
  103. package/dist/license/types.js.map +1 -0
  104. package/dist/server.d.ts.map +1 -1
  105. package/dist/server.js +99 -16
  106. package/dist/server.js.map +1 -1
  107. package/dist/tools/context.d.ts +5 -5
  108. package/dist/tools/context.js +1 -1
  109. package/dist/tools/context.js.map +1 -1
  110. package/dist/tools/forget.d.ts +5 -5
  111. package/dist/tools/forget.js +1 -1
  112. package/dist/tools/forget.js.map +1 -1
  113. package/dist/tools/recall.d.ts +10 -10
  114. package/dist/tools/recall.js +1 -1
  115. package/dist/tools/recall.js.map +1 -1
  116. package/dist/tools/remember.d.ts +7 -7
  117. package/dist/tools/remember.js +1 -1
  118. package/dist/tools/remember.js.map +1 -1
  119. package/hooks/openclaw/cortex-memory/HOOK.md +7 -7
  120. package/hooks/openclaw/cortex-memory/handler.ts +1 -1
  121. package/package.json +2 -1
  122. package/plugins/openclaw/README.md +8 -8
  123. package/plugins/openclaw/index.ts +1 -1
  124. package/dashboard/.next/standalone/dashboard/.next/static/chunks/42d01b77019fd208.js +0 -1
  125. package/dashboard/.next/standalone/dashboard/.next/static/chunks/8a1c0cc0ae709e3d.js +0 -9
  126. package/dashboard/.next/standalone/dashboard/.next/static/chunks/c252c4de65df6d09.css +0 -3
  127. /package/dashboard/.next/standalone/dashboard/.next/static/{h890EBq1H-89xzeQf-gx5 → vxPliVFK4FIBIPl1JPL0U}/_buildManifest.js +0 -0
  128. /package/dashboard/.next/standalone/dashboard/.next/static/{h890EBq1H-89xzeQf-gx5 → vxPliVFK4FIBIPl1JPL0U}/_clientMiddlewareManifest.json +0 -0
  129. /package/dashboard/.next/standalone/dashboard/.next/static/{h890EBq1H-89xzeQf-gx5 → vxPliVFK4FIBIPl1JPL0U}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-response-scanner.js","sourceRoot":"","sources":["../../src/defence/tool-response-scanner.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"source-scorer.d.ts","sourceRoot":"","sources":["../../../src/defence/trust/source-scorer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA+B7D,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,CA0B7D"}
1
+ {"version":3,"file":"source-scorer.d.ts","sourceRoot":"","sources":["../../../src/defence/trust/source-scorer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAgC7D,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,CA0B7D"}
@@ -12,9 +12,10 @@ const TYPE_SCORES = {
12
12
  hook: 0.8,
13
13
  api: 0.7,
14
14
  file: 0.6,
15
+ tool_response: 0.5,
16
+ agent: 0.5,
15
17
  email: 0.4,
16
18
  web: 0.3,
17
- agent: 0.5,
18
19
  };
19
20
  const HIERARCHY_DISPLAY = [
20
21
  'user:direct = 1.0',
@@ -1 +1 @@
1
- {"version":3,"file":"source-scorer.js","sourceRoot":"","sources":["../../../src/defence/trust/source-scorer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAEpE,MAAM,WAAW,GAA2B;IAC1C,aAAa,EAAE,GAAG;IAClB,eAAe,EAAE,GAAG;CACrB,CAAC;AAEF,MAAM,WAAW,GAA0C;IACzD,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,GAAG;IACV,GAAG,EAAE,GAAG;IACR,KAAK,EAAE,GAAG;CACX,CAAC;AAEF,MAAM,iBAAiB,GAAG;IACxB,mBAAmB;IACnB,qBAAqB;IACrB,aAAa;IACb,cAAc;IACd,aAAa;IACb,cAAc;IACd,qBAAqB;IACrB,eAAe;IACf,aAAa;CACd,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,MAAqB;IAC/C,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;IAElD,wBAAwB;IACxB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,iBAAiB,EAAE,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC,EAAE,CAAC;IACrG,CAAC;IAED,0BAA0B;IAC1B,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC5C,OAAO;YACL,KAAK;YACL,MAAM;YACN,SAAS,EAAE;gBACT,kBAAkB;gBAClB,GAAG,mBAAmB,CAAC,MAAM,CAAC,UAAU,CAAC;gBACzC,MAAM,GAAG,MAAM,KAAK,EAAE;aACvB;SACF,CAAC;IACJ,CAAC;IAED,gBAAgB;IAChB,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,iBAAiB,EAAE,MAAM,GAAG,MAAM,KAAK,EAAE,CAAC,EAAE,CAAC;AACtF,CAAC"}
1
+ {"version":3,"file":"source-scorer.js","sourceRoot":"","sources":["../../../src/defence/trust/source-scorer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAEpE,MAAM,WAAW,GAA2B;IAC1C,aAAa,EAAE,GAAG;IAClB,eAAe,EAAE,GAAG;CACrB,CAAC;AAEF,MAAM,WAAW,GAA0C;IACzD,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,GAAG;IACT,aAAa,EAAE,GAAG;IAClB,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;IACV,GAAG,EAAE,GAAG;CACT,CAAC;AAEF,MAAM,iBAAiB,GAAG;IACxB,mBAAmB;IACnB,qBAAqB;IACrB,aAAa;IACb,cAAc;IACd,aAAa;IACb,cAAc;IACd,qBAAqB;IACrB,eAAe;IACf,aAAa;CACd,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,MAAqB;IAC/C,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;IAElD,wBAAwB;IACxB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,iBAAiB,EAAE,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC,EAAE,CAAC;IACrG,CAAC;IAED,0BAA0B;IAC1B,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC5C,OAAO;YACL,KAAK;YACL,MAAM;YACN,SAAS,EAAE;gBACT,kBAAkB;gBAClB,GAAG,mBAAmB,CAAC,MAAM,CAAC,UAAU,CAAC;gBACzC,MAAM,GAAG,MAAM,KAAK,EAAE;aACvB;SACF,CAAC;IACJ,CAAC;IAED,gBAAgB;IAChB,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,iBAAiB,EAAE,MAAM,GAAG,MAAM,KAAK,EAAE,CAAC,EAAE,CAAC;AACtF,CAAC"}
@@ -6,11 +6,22 @@
6
6
  */
7
7
  export type SensitivityLevel = 'PUBLIC' | 'INTERNAL' | 'CONFIDENTIAL' | 'RESTRICTED';
8
8
  export type FirewallResult = 'ALLOW' | 'BLOCK' | 'QUARANTINE';
9
- export type ThreatIndicator = 'instruction_injection' | 'privilege_escalation' | 'encoding_obfuscation' | 'credential_leak' | 'external_url' | 'fragmented_payload' | 'restricted_content' | 'pipeline_error';
9
+ export type ThreatIndicator = 'instruction_injection' | 'privilege_escalation' | 'encoding_obfuscation' | 'credential_leak' | 'external_url' | 'fragmented_payload' | 'restricted_content' | 'pipeline_error' | 'custom_rule' | 'custom_pattern';
10
10
  export interface DefenceSource {
11
- type: 'user' | 'cli' | 'hook' | 'email' | 'web' | 'agent' | 'file' | 'api';
11
+ type: 'user' | 'cli' | 'hook' | 'email' | 'web' | 'agent' | 'file' | 'api' | 'tool_response';
12
12
  identifier: string;
13
13
  }
14
+ export interface ToolResponseScanResult {
15
+ clean: boolean;
16
+ mode: 'advisory' | 'enforce';
17
+ toolName: string;
18
+ injection: import('./iron-dome/injection-scanner.js').InjectionScanResult;
19
+ credentials: import('./credential-leak/index.js').CredentialScanResult;
20
+ threatIndicators: ThreatIndicator[];
21
+ summary: string;
22
+ durationMs: number;
23
+ auditId: number;
24
+ }
14
25
  export interface FirewallAnalysis {
15
26
  result: FirewallResult;
16
27
  reason: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/defence/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/defence/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/defence/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA4EH,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,IAAI,EAAE,UAAU;IAChB,4BAA4B,EAAE,IAAI;IAClC,wBAAwB,EAAE,EAAE;IAC5B,wBAAwB,EAAE,GAAG;IAC7B,uBAAuB,EAAE,GAAG;IAC5B,aAAa,EAAE,GAAG;IAClB,gBAAgB,EAAE,KAAK;CACxB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/defence/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA0FH,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,IAAI,EAAE,UAAU;IAChB,4BAA4B,EAAE,IAAI;IAClC,wBAAwB,EAAE,EAAE;IAC5B,wBAAwB,EAAE,GAAG;IAC7B,uBAAuB,EAAE,GAAG;IAC5B,aAAa,EAAE,GAAG;IAClB,gBAAgB,EAAE,KAAK;CACxB,CAAC"}
package/dist/lib.d.ts CHANGED
@@ -11,6 +11,8 @@
11
11
  export { runDefencePipeline, runDefencePipelineWithVerify, DEFAULT_DEFENCE_CONFIG, scoreSource, filterByTrust, analyzeFirewall, classifySensitivity, redactContent, redactForDisplay, analyzeFragmentation, storeFragmentationData, scanForCredentials, redactCredentials, DEFAULT_CREDENTIAL_CONFIG, logAudit, queryAuditLogs, getAuditStats, getDefenceMode, setDefenceMode, isConfigTampered, getCloudConfig, setCloudConfig, clearCloudConfigCache, getOpenClawAutoMemory, setOpenClawAutoMemory, getOpenClawMemoryConfig, setOpenClawMemoryConfig, getVerifyConfig, setVerifyConfig, syncToCloud, syncQuarantineToCloud, submitVerification, pollVerification, getDeviceId, getDeviceName, } from './defence/index.js';
12
12
  export type { DefenceConfig, DefencePipelineResultWithVerify, DefenceSource, SensitivityLevel, FirewallResult, VerifyResult, VerifyThreat, } from './defence/types.js';
13
13
  export type { VerifyConfig } from './cloud/config.js';
14
+ export { scanToolResponse, shouldScanToolResponse } from './defence/tool-response-scanner.js';
15
+ export type { ToolResponseScanResult } from './defence/types.js';
14
16
  export { activateIronDome, deactivateIronDome, getIronDomeStatus, isChannelTrusted, isActionAllowed, scanForInjection, checkPII, handleKillPhrase, IRON_DOME_PROFILES, DEFAULT_IRON_DOME_CONFIG, } from './defence/iron-dome/index.js';
15
17
  export type { IronDomeConfig, IronDomeProfile, InjectionScanResult, InjectionDetection, GatewayResult, ActionGateResult, PiiCheckResult, KillSwitchResult, } from './defence/iron-dome/index.js';
16
18
  export { scanSkill, scanSkillContent, discoverSkillFiles, readSkillFile, parseSkillFile, detectFormat, detectFormatFromContent, } from './defence/skill-scanner/index.js';
package/dist/lib.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"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"}
package/dist/lib.js CHANGED
@@ -10,6 +10,8 @@
10
10
  */
11
11
  // ── Defence ────────────────────────────────────────────────
12
12
  export { runDefencePipeline, runDefencePipelineWithVerify, DEFAULT_DEFENCE_CONFIG, scoreSource, filterByTrust, analyzeFirewall, classifySensitivity, redactContent, redactForDisplay, analyzeFragmentation, storeFragmentationData, scanForCredentials, redactCredentials, DEFAULT_CREDENTIAL_CONFIG, logAudit, queryAuditLogs, getAuditStats, getDefenceMode, setDefenceMode, isConfigTampered, getCloudConfig, setCloudConfig, clearCloudConfigCache, getOpenClawAutoMemory, setOpenClawAutoMemory, getOpenClawMemoryConfig, setOpenClawMemoryConfig, getVerifyConfig, setVerifyConfig, syncToCloud, syncQuarantineToCloud, submitVerification, pollVerification, getDeviceId, getDeviceName, } from './defence/index.js';
13
+ // ── Tool Response Scanner ─────────────────────────────────
14
+ export { scanToolResponse, shouldScanToolResponse } from './defence/tool-response-scanner.js';
13
15
  // ── Iron Dome ─────────────────────────────────────────────
14
16
  export { activateIronDome, deactivateIronDome, getIronDomeStatus, isChannelTrusted, isActionAllowed, scanForInjection, checkPII, handleKillPhrase, IRON_DOME_PROFILES, DEFAULT_IRON_DOME_CONFIG, } from './defence/iron-dome/index.js';
15
17
  // ── Skill Scanner ──────────────────────────────────────────
package/dist/lib.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Feature Gating Tests
3
+ *
4
+ * Verifies tier-based feature access:
5
+ * - Free tier: isFeatureEnabled returns false, requireFeature throws FeatureGatedError
6
+ * - Pro tier: all Pro features enabled, requireFeature doesn't throw
7
+ * - FeatureGatedResponse contract matches frontend expectations
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=feature-gating.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-gating.test.d.ts","sourceRoot":"","sources":["../../../src/license/__tests__/feature-gating.test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -0,0 +1,188 @@
1
+ /**
2
+ * Feature Gating Tests
3
+ *
4
+ * Verifies tier-based feature access:
5
+ * - Free tier: isFeatureEnabled returns false, requireFeature throws FeatureGatedError
6
+ * - Pro tier: all Pro features enabled, requireFeature doesn't throw
7
+ * - FeatureGatedResponse contract matches frontend expectations
8
+ */
9
+ import { describe, it, expect, beforeEach, afterEach } from '@jest/globals';
10
+ // We test the gate module by temporarily removing the license file.
11
+ // getLicenseTier() → getLicense() reads from ~/.shieldcortex/license.json.
12
+ describe('Feature Gating', () => {
13
+ let originalEnv;
14
+ beforeEach(() => {
15
+ originalEnv = process.env.SHIELDCORTEX_LICENSE_TIER;
16
+ });
17
+ afterEach(() => {
18
+ if (originalEnv !== undefined) {
19
+ process.env.SHIELDCORTEX_LICENSE_TIER = originalEnv;
20
+ }
21
+ else {
22
+ delete process.env.SHIELDCORTEX_LICENSE_TIER;
23
+ }
24
+ });
25
+ describe('FeatureGatedError', () => {
26
+ it('should include feature name and required tier', async () => {
27
+ const { FeatureGatedError } = await import('../gate.js');
28
+ const err = new FeatureGatedError('custom_firewall_rules', 'pro');
29
+ expect(err.feature).toBe('custom_firewall_rules');
30
+ expect(err.requiredTier).toBe('pro');
31
+ expect(err.name).toBe('FeatureGatedError');
32
+ expect(err.message).toContain('Pro');
33
+ });
34
+ it('should include upgrade URL in message', async () => {
35
+ const { FeatureGatedError } = await import('../gate.js');
36
+ const err = new FeatureGatedError('audit_export', 'pro');
37
+ expect(err.message).toContain('shieldcortex.ai/pricing');
38
+ });
39
+ it('should include activate command hint', async () => {
40
+ const { FeatureGatedError } = await import('../gate.js');
41
+ const err = new FeatureGatedError('skill_scanner_deep', 'pro');
42
+ expect(err.message).toContain('license activate');
43
+ });
44
+ });
45
+ describe('isFeatureEnabled', () => {
46
+ it('should return false for Pro features on free tier', async () => {
47
+ const { isFeatureEnabled } = await import('../gate.js');
48
+ const { clearLicenseCache } = await import('../store.js');
49
+ const { existsSync, renameSync } = await import('fs');
50
+ const { join } = await import('path');
51
+ const { homedir } = await import('os');
52
+ const licensePath = join(homedir(), '.shieldcortex', 'license.json');
53
+ const backupPath = licensePath + '.test-backup-1';
54
+ let backed = false;
55
+ if (existsSync(licensePath)) {
56
+ renameSync(licensePath, backupPath);
57
+ backed = true;
58
+ }
59
+ clearLicenseCache();
60
+ try {
61
+ const proFeatures = [
62
+ 'custom_injection_patterns',
63
+ 'custom_iron_dome_policies',
64
+ 'custom_firewall_rules',
65
+ 'audit_export',
66
+ 'skill_scanner_deep',
67
+ ];
68
+ for (const feature of proFeatures) {
69
+ expect(isFeatureEnabled(feature)).toBe(false);
70
+ }
71
+ }
72
+ finally {
73
+ if (backed) {
74
+ renameSync(backupPath, licensePath);
75
+ }
76
+ clearLicenseCache();
77
+ }
78
+ });
79
+ });
80
+ describe('requireFeature', () => {
81
+ it('should throw FeatureGatedError for Pro features on free tier', async () => {
82
+ const { requireFeature, FeatureGatedError } = await import('../gate.js');
83
+ const { clearLicenseCache } = await import('../store.js');
84
+ const { existsSync, renameSync } = await import('fs');
85
+ const { join } = await import('path');
86
+ const { homedir } = await import('os');
87
+ const licensePath = join(homedir(), '.shieldcortex', 'license.json');
88
+ const backupPath = licensePath + '.test-backup-2';
89
+ let backed = false;
90
+ if (existsSync(licensePath)) {
91
+ renameSync(licensePath, backupPath);
92
+ backed = true;
93
+ }
94
+ clearLicenseCache();
95
+ try {
96
+ expect(() => requireFeature('custom_firewall_rules')).toThrow(FeatureGatedError);
97
+ expect(() => requireFeature('audit_export')).toThrow(FeatureGatedError);
98
+ expect(() => requireFeature('skill_scanner_deep')).toThrow(FeatureGatedError);
99
+ expect(() => requireFeature('custom_injection_patterns')).toThrow(FeatureGatedError);
100
+ expect(() => requireFeature('custom_iron_dome_policies')).toThrow(FeatureGatedError);
101
+ }
102
+ finally {
103
+ if (backed) {
104
+ renameSync(backupPath, licensePath);
105
+ }
106
+ clearLicenseCache();
107
+ }
108
+ });
109
+ it('should not throw for Pro features when Pro tier is active', async () => {
110
+ const { requireFeature } = await import('../gate.js');
111
+ const { clearLicenseCache } = await import('../store.js');
112
+ const { existsSync } = await import('fs');
113
+ const { join } = await import('path');
114
+ const { homedir } = await import('os');
115
+ const licensePath = join(homedir(), '.shieldcortex', 'license.json');
116
+ // This test only works if a valid Pro license is installed
117
+ if (!existsSync(licensePath)) {
118
+ // Skip - no license file available for Pro tier testing
119
+ return;
120
+ }
121
+ clearLicenseCache();
122
+ try {
123
+ // If the license is Pro, these should not throw
124
+ const { getLicenseTier } = await import('../store.js');
125
+ const tier = getLicenseTier();
126
+ if (tier === 'pro' || tier === 'team' || tier === 'enterprise') {
127
+ expect(() => requireFeature('custom_firewall_rules')).not.toThrow();
128
+ expect(() => requireFeature('audit_export')).not.toThrow();
129
+ expect(() => requireFeature('skill_scanner_deep')).not.toThrow();
130
+ }
131
+ }
132
+ finally {
133
+ clearLicenseCache();
134
+ }
135
+ });
136
+ });
137
+ describe('getRequiredTier', () => {
138
+ it('should return pro for all 5 Pro features', async () => {
139
+ const { getRequiredTier } = await import('../gate.js');
140
+ expect(getRequiredTier('custom_injection_patterns')).toBe('pro');
141
+ expect(getRequiredTier('custom_iron_dome_policies')).toBe('pro');
142
+ expect(getRequiredTier('custom_firewall_rules')).toBe('pro');
143
+ expect(getRequiredTier('audit_export')).toBe('pro');
144
+ expect(getRequiredTier('skill_scanner_deep')).toBe('pro');
145
+ });
146
+ it('should return team for team features', async () => {
147
+ const { getRequiredTier } = await import('../gate.js');
148
+ expect(getRequiredTier('cloud_sync')).toBe('team');
149
+ expect(getRequiredTier('team_management')).toBe('team');
150
+ });
151
+ });
152
+ describe('listFeatures', () => {
153
+ it('should list all features with tier, availability, and description', async () => {
154
+ const { listFeatures } = await import('../gate.js');
155
+ const features = listFeatures();
156
+ expect(features.length).toBeGreaterThanOrEqual(8);
157
+ for (const f of features) {
158
+ expect(f).toHaveProperty('feature');
159
+ expect(f).toHaveProperty('requiredTier');
160
+ expect(f).toHaveProperty('enabled');
161
+ expect(f).toHaveProperty('description');
162
+ expect(typeof f.description).toBe('string');
163
+ expect(f.description.length).toBeGreaterThan(0);
164
+ }
165
+ });
166
+ });
167
+ describe('FeatureGatedResponse contract', () => {
168
+ it('should match the shared type shape used by frontend gatedFetch', async () => {
169
+ const { FeatureGatedError } = await import('../gate.js');
170
+ const err = new FeatureGatedError('custom_firewall_rules', 'pro');
171
+ // Simulate what requireProFeature middleware builds
172
+ const body = {
173
+ error: 'Feature requires upgrade',
174
+ code: 'FEATURE_GATED',
175
+ feature: err.feature,
176
+ requiredTier: err.requiredTier,
177
+ upgradeUrl: 'https://shieldcortex.ai/pricing',
178
+ };
179
+ // Frontend gatedFetch checks: response.status === 403 && body.code === 'FEATURE_GATED'
180
+ expect(body.code).toBe('FEATURE_GATED');
181
+ expect(body.feature).toBe('custom_firewall_rules');
182
+ expect(body.requiredTier).toBe('pro');
183
+ expect(body.upgradeUrl).toContain('shieldcortex.ai');
184
+ expect(body.error).toBeTruthy();
185
+ });
186
+ });
187
+ });
188
+ //# sourceMappingURL=feature-gating.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-gating.test.js","sourceRoot":"","sources":["../../../src/license/__tests__/feature-gating.test.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export { isFeatureEnabled, requireFeature, getRequiredTier, listFeatures, Featur
7
7
  export { scheduleOnlineValidation } from './validate.js';
8
8
  export type { LicenseTier, LicenseInfo, LicensePayload, LicenseFile } from './keys.js';
9
9
  export type { GatedFeature } from './gate.js';
10
+ export type { FeatureGatedResponse } from './types.js';
10
11
  export { TIER_RANK, KEY_PREFIXES, EXPIRY_GRACE_DAYS } from './keys.js';
11
12
  export { handleLicenseCommand } from './cli.js';
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/license/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAGzD,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACvF,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAGvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/license/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAGzD,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACvF,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,YAAY,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAGvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/license/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,4DAA4D;AAC5D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAKzD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEvE,4DAA4D;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/license/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,4DAA4D;AAC5D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAMzD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEvE,4DAA4D;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Shared types for the license feature gating system.
3
+ * Used by both the backend (visualization-server) and frontend (dashboard).
4
+ */
5
+ /**
6
+ * Structured 403 response returned when a gated feature is accessed
7
+ * without the required licence tier.
8
+ */
9
+ export interface FeatureGatedResponse {
10
+ error: string;
11
+ code: 'FEATURE_GATED';
12
+ feature: string;
13
+ requiredTier: string;
14
+ upgradeUrl: string;
15
+ }
16
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/license/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Shared types for the license feature gating system.
3
+ * Used by both the backend (visualization-server) and frontend (dashboard).
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/license/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA0EpE;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CA46BvD"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgHpE;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAy+BvD"}