@cstack-protocol/pingala 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent/CSD.md +39 -0
- package/.agent/MANIFEST.md +4 -0
- package/.agent/MANIFEST.md.template +4 -0
- package/.agent/agent-contractor.md +45 -0
- package/.agent/architecture/consent-model-fsm.md +77 -0
- package/.agent/architecture/governor-maturity-fsm.md +101 -0
- package/.agent/architecture/governor-validation-fsm.md +106 -0
- package/.agent/architecture/humanized-audit-fsm.md +76 -0
- package/.agent/architecture/pingala-csi-fsm.md +81 -0
- package/.agent/architecture.md +34 -0
- package/.agent/behavior.md +29 -0
- package/.agent/compute.md +32 -0
- package/.agent/consent-prompts.md +41 -0
- package/.agent/governance.yaml +5 -0
- package/.agent/identity.md +29 -0
- package/.agent/knowledge-lattice.json +96 -0
- package/.agent/knowledge-lattice.md +53 -0
- package/.agent/lattice-viz.html +157 -0
- package/.agent/mission.md +37 -0
- package/.agent/pairing-protocol.md +89 -0
- package/.agent/pairing.csp +108 -0
- package/.agent/personas/reflective-operator.md +67 -0
- package/.agent/personas/research.md +62 -0
- package/.agent/pingala.md +47 -0
- package/.agent/roadmap.md +56 -0
- package/.agent/scripts/lattice-extract.py +100 -0
- package/.agent/scripts/sync-agents.sh +82 -0
- package/.agent/scripts/vault-ingest.py +80 -0
- package/.agent/seo-strategy.md +71 -0
- package/.agent/skills/agent-orchestrator/SKILL.md +22 -0
- package/.agent/skills/agent-orchestrator/scripts/sync-agents.sh +61 -0
- package/.agent/skills/knowledge-lattice/SKILL.md +23 -0
- package/.agent/skills/knowledge-lattice/scripts/lattice-extract.py +107 -0
- package/.agent/skills/resource-vault/SKILL.md +30 -0
- package/.agent/skills/resource-vault/scripts/vault-ingest.py +80 -0
- package/.agent/skills/sites-integrity/SKILL.md +28 -0
- package/.agent/skills/stack-auditor/SKILL.md +25 -0
- package/.agent/sources.md +20 -0
- package/.agent/stack-auditor.md +47 -0
- package/.agent/standards.md +36 -0
- package/.agent/strategy.md +65 -0
- package/.agent/vault-schema.md +53 -0
- package/.agent/voice.md +27 -0
- package/.agent/workflows/sync-agents.md +14 -0
- package/.env.example +5 -0
- package/.env.production +3 -0
- package/DISTRIBUTION-PLAN.md +33 -0
- package/HOSTED_SETUP.md +54 -0
- package/LANDING_PAGE_DESIGN.md +46 -0
- package/MANUAL_VERCEL_STEPS.md +39 -0
- package/PRODUCT-ROADMAP.md +241 -0
- package/PROVISIONING_GUIDE.md +39 -0
- package/README.md +38 -0
- package/ROADMAP.md +21 -0
- package/SYNC-ENGINE-SPEC.md +257 -0
- package/build/core/531-protocol.d.ts +26 -0
- package/build/core/531-protocol.js +87 -0
- package/build/core/531-protocol.js.map +1 -0
- package/build/core/531-rule.d.ts +26 -0
- package/build/core/531-rule.js +106 -0
- package/build/core/531-rule.js.map +1 -0
- package/build/core/auth.d.ts +1 -0
- package/build/core/auth.js +24 -0
- package/build/core/auth.js.map +1 -0
- package/build/core/consent-manager.d.ts +17 -0
- package/build/core/consent-manager.js +104 -0
- package/build/core/consent-manager.js.map +1 -0
- package/build/core/csp.d.ts +12 -0
- package/build/core/csp.js +20 -0
- package/build/core/csp.js.map +1 -0
- package/build/core/engagement-analyzer.d.ts +42 -0
- package/build/core/engagement-analyzer.js +71 -0
- package/build/core/engagement-analyzer.js.map +1 -0
- package/build/core/governor.d.ts +106 -0
- package/build/core/governor.js +405 -0
- package/build/core/governor.js.map +1 -0
- package/build/core/life-area-mapper.d.ts +39 -0
- package/build/core/life-area-mapper.js +73 -0
- package/build/core/life-area-mapper.js.map +1 -0
- package/build/core/methodology.d.ts +39 -0
- package/build/core/methodology.js +164 -0
- package/build/core/methodology.js.map +1 -0
- package/build/core/pingala.d.ts +31 -0
- package/build/core/pingala.js +56 -0
- package/build/core/pingala.js.map +1 -0
- package/build/core/sdk-adapter.d.ts +6 -0
- package/build/core/sdk-adapter.js +33 -0
- package/build/core/sdk-adapter.js.map +1 -0
- package/build/cs-agent-core/sdk/index.d.ts +6 -0
- package/build/cs-agent-core/sdk/index.js +18 -0
- package/build/cs-agent-core/sdk/index.js.map +1 -0
- package/build/cs-agent-core/sdk/patterns/index.d.ts +3 -0
- package/build/cs-agent-core/sdk/patterns/index.js +37 -0
- package/build/cs-agent-core/sdk/patterns/index.js.map +1 -0
- package/build/cs-agent-core/sdk/patterns/registry.d.ts +4 -0
- package/build/cs-agent-core/sdk/patterns/registry.js +80 -0
- package/build/cs-agent-core/sdk/patterns/registry.js.map +1 -0
- package/build/cs-agent-core/sdk/telemetry/buffer.d.ts +9 -0
- package/build/cs-agent-core/sdk/telemetry/buffer.js +47 -0
- package/build/cs-agent-core/sdk/telemetry/buffer.js.map +1 -0
- package/build/cs-agent-core/sdk/telemetry/scrubber.d.ts +3 -0
- package/build/cs-agent-core/sdk/telemetry/scrubber.js +13 -0
- package/build/cs-agent-core/sdk/telemetry/scrubber.js.map +1 -0
- package/build/cs-agent-core/sdk/telemetry/types.d.ts +50 -0
- package/build/cs-agent-core/sdk/telemetry/types.js +2 -0
- package/build/cs-agent-core/sdk/telemetry/types.js.map +1 -0
- package/build/cs-agent-core/sdk/types/decision.d.ts +18 -0
- package/build/cs-agent-core/sdk/types/decision.js +2 -0
- package/build/cs-agent-core/sdk/types/decision.js.map +1 -0
- package/build/cs-agent-core/sdk/types/index.d.ts +4 -0
- package/build/cs-agent-core/sdk/types/index.js +5 -0
- package/build/cs-agent-core/sdk/types/index.js.map +1 -0
- package/build/cs-agent-core/sdk/types/pattern.d.ts +17 -0
- package/build/cs-agent-core/sdk/types/pattern.js +2 -0
- package/build/cs-agent-core/sdk/types/pattern.js.map +1 -0
- package/build/cs-agent-core/sdk/types/stack.d.ts +8 -0
- package/build/cs-agent-core/sdk/types/stack.js +2 -0
- package/build/cs-agent-core/sdk/types/stack.js.map +1 -0
- package/build/cs-agent-core/sdk/types/tool.d.ts +9 -0
- package/build/cs-agent-core/sdk/types/tool.js +2 -0
- package/build/cs-agent-core/sdk/types/tool.js.map +1 -0
- package/build/cs-agent-core/sdk/validator/csi.d.ts +2 -0
- package/build/cs-agent-core/sdk/validator/csi.js +24 -0
- package/build/cs-agent-core/sdk/validator/csi.js.map +1 -0
- package/build/cs-agent-core/sdk/validator/index.d.ts +2 -0
- package/build/cs-agent-core/sdk/validator/index.js +3 -0
- package/build/cs-agent-core/sdk/validator/index.js.map +1 -0
- package/build/cs-agent-core/sdk/validator/rules/geometry.d.ts +11 -0
- package/build/cs-agent-core/sdk/validator/rules/geometry.js +22 -0
- package/build/cs-agent-core/sdk/validator/rules/geometry.js.map +1 -0
- package/build/cs-agent-core/sdk/validator/validate.d.ts +2 -0
- package/build/cs-agent-core/sdk/validator/validate.js +46 -0
- package/build/cs-agent-core/sdk/validator/validate.js.map +1 -0
- package/build/index.d.ts +2 -0
- package/build/index.js +444 -0
- package/build/index.js.map +1 -0
- package/build/pingala-mcp/src/core/531-rule.d.ts +26 -0
- package/build/pingala-mcp/src/core/531-rule.js +96 -0
- package/build/pingala-mcp/src/core/531-rule.js.map +1 -0
- package/build/pingala-mcp/src/core/auth.d.ts +1 -0
- package/build/pingala-mcp/src/core/auth.js +15 -0
- package/build/pingala-mcp/src/core/auth.js.map +1 -0
- package/build/pingala-mcp/src/core/consent-manager.d.ts +17 -0
- package/build/pingala-mcp/src/core/consent-manager.js +104 -0
- package/build/pingala-mcp/src/core/consent-manager.js.map +1 -0
- package/build/pingala-mcp/src/core/csp.d.ts +12 -0
- package/build/pingala-mcp/src/core/csp.js +20 -0
- package/build/pingala-mcp/src/core/csp.js.map +1 -0
- package/build/pingala-mcp/src/core/engagement-analyzer.d.ts +42 -0
- package/build/pingala-mcp/src/core/engagement-analyzer.js +71 -0
- package/build/pingala-mcp/src/core/engagement-analyzer.js.map +1 -0
- package/build/pingala-mcp/src/core/governor.d.ts +104 -0
- package/build/pingala-mcp/src/core/governor.js +359 -0
- package/build/pingala-mcp/src/core/governor.js.map +1 -0
- package/build/pingala-mcp/src/core/life-area-mapper.d.ts +39 -0
- package/build/pingala-mcp/src/core/life-area-mapper.js +73 -0
- package/build/pingala-mcp/src/core/life-area-mapper.js.map +1 -0
- package/build/pingala-mcp/src/core/methodology.d.ts +39 -0
- package/build/pingala-mcp/src/core/methodology.js +164 -0
- package/build/pingala-mcp/src/core/methodology.js.map +1 -0
- package/build/pingala-mcp/src/core/pingala.d.ts +25 -0
- package/build/pingala-mcp/src/core/pingala.js +56 -0
- package/build/pingala-mcp/src/core/pingala.js.map +1 -0
- package/build/pingala-mcp/src/core/sdk-adapter.d.ts +6 -0
- package/build/pingala-mcp/src/core/sdk-adapter.js +33 -0
- package/build/pingala-mcp/src/core/sdk-adapter.js.map +1 -0
- package/build/pingala-mcp/src/index.d.ts +1 -0
- package/build/pingala-mcp/src/index.js +221 -0
- package/build/pingala-mcp/src/index.js.map +1 -0
- package/build/pingala-mcp/src/test-l3.d.ts +1 -0
- package/build/pingala-mcp/src/test-l3.js +35 -0
- package/build/pingala-mcp/src/test-l3.js.map +1 -0
- package/build/pingala-mcp/src/tools/audit-workspace.d.ts +16 -0
- package/build/pingala-mcp/src/tools/audit-workspace.js +39 -0
- package/build/pingala-mcp/src/tools/audit-workspace.js.map +1 -0
- package/build/pingala-mcp/src/tools/calculate-csi.d.ts +24 -0
- package/build/pingala-mcp/src/tools/calculate-csi.js +29 -0
- package/build/pingala-mcp/src/tools/calculate-csi.js.map +1 -0
- package/build/pingala-mcp/src/tools/cs-audit.d.ts +54 -0
- package/build/pingala-mcp/src/tools/cs-audit.js +310 -0
- package/build/pingala-mcp/src/tools/cs-audit.js.map +1 -0
- package/build/pingala-mcp/src/tools/get-governance-context.d.ts +11 -0
- package/build/pingala-mcp/src/tools/get-governance-context.js +16 -0
- package/build/pingala-mcp/src/tools/get-governance-context.js.map +1 -0
- package/build/pingala-mcp/src/tools/validate-stack-change.d.ts +41 -0
- package/build/pingala-mcp/src/tools/validate-stack-change.js +35 -0
- package/build/pingala-mcp/src/tools/validate-stack-change.js.map +1 -0
- package/build/sdk/index.d.ts +6 -0
- package/build/sdk/index.js +18 -0
- package/build/sdk/index.js.map +1 -0
- package/build/sdk/patterns/index.d.ts +3 -0
- package/build/sdk/patterns/index.js +37 -0
- package/build/sdk/patterns/index.js.map +1 -0
- package/build/sdk/patterns/registry.d.ts +4 -0
- package/build/sdk/patterns/registry.js +80 -0
- package/build/sdk/patterns/registry.js.map +1 -0
- package/build/sdk/telemetry/buffer.d.ts +9 -0
- package/build/sdk/telemetry/buffer.js +47 -0
- package/build/sdk/telemetry/buffer.js.map +1 -0
- package/build/sdk/telemetry/scrubber.d.ts +3 -0
- package/build/sdk/telemetry/scrubber.js +13 -0
- package/build/sdk/telemetry/scrubber.js.map +1 -0
- package/build/sdk/telemetry/types.d.ts +50 -0
- package/build/sdk/telemetry/types.js +2 -0
- package/build/sdk/telemetry/types.js.map +1 -0
- package/build/sdk/types/decision.d.ts +18 -0
- package/build/sdk/types/decision.js +2 -0
- package/build/sdk/types/decision.js.map +1 -0
- package/build/sdk/types/index.d.ts +4 -0
- package/build/sdk/types/index.js +5 -0
- package/build/sdk/types/index.js.map +1 -0
- package/build/sdk/types/pattern.d.ts +17 -0
- package/build/sdk/types/pattern.js +2 -0
- package/build/sdk/types/pattern.js.map +1 -0
- package/build/sdk/types/stack.d.ts +8 -0
- package/build/sdk/types/stack.js +2 -0
- package/build/sdk/types/stack.js.map +1 -0
- package/build/sdk/types/tool.d.ts +9 -0
- package/build/sdk/types/tool.js +2 -0
- package/build/sdk/types/tool.js.map +1 -0
- package/build/sdk/validator/csi.d.ts +2 -0
- package/build/sdk/validator/csi.js +24 -0
- package/build/sdk/validator/csi.js.map +1 -0
- package/build/sdk/validator/index.d.ts +2 -0
- package/build/sdk/validator/index.js +3 -0
- package/build/sdk/validator/index.js.map +1 -0
- package/build/sdk/validator/rules/geometry.d.ts +11 -0
- package/build/sdk/validator/rules/geometry.js +22 -0
- package/build/sdk/validator/rules/geometry.js.map +1 -0
- package/build/sdk/validator/validate.d.ts +2 -0
- package/build/sdk/validator/validate.js +46 -0
- package/build/sdk/validator/validate.js.map +1 -0
- package/build/src/core/531-rule.d.ts +26 -0
- package/build/src/core/531-rule.js +96 -0
- package/build/src/core/531-rule.js.map +1 -0
- package/build/src/core/auth.d.ts +1 -0
- package/build/src/core/auth.js +15 -0
- package/build/src/core/auth.js.map +1 -0
- package/build/src/core/consent-manager.d.ts +17 -0
- package/build/src/core/consent-manager.js +104 -0
- package/build/src/core/consent-manager.js.map +1 -0
- package/build/src/core/csp.d.ts +12 -0
- package/build/src/core/csp.js +20 -0
- package/build/src/core/csp.js.map +1 -0
- package/build/src/core/engagement-analyzer.d.ts +42 -0
- package/build/src/core/engagement-analyzer.js +71 -0
- package/build/src/core/engagement-analyzer.js.map +1 -0
- package/build/src/core/governor.d.ts +104 -0
- package/build/src/core/governor.js +371 -0
- package/build/src/core/governor.js.map +1 -0
- package/build/src/core/life-area-mapper.d.ts +39 -0
- package/build/src/core/life-area-mapper.js +73 -0
- package/build/src/core/life-area-mapper.js.map +1 -0
- package/build/src/core/methodology.d.ts +39 -0
- package/build/src/core/methodology.js +164 -0
- package/build/src/core/methodology.js.map +1 -0
- package/build/src/core/pingala.d.ts +25 -0
- package/build/src/core/pingala.js +56 -0
- package/build/src/core/pingala.js.map +1 -0
- package/build/src/core/sdk-adapter.d.ts +8 -0
- package/build/src/core/sdk-adapter.js +34 -0
- package/build/src/core/sdk-adapter.js.map +1 -0
- package/build/src/index.d.ts +2 -0
- package/build/src/index.js +333 -0
- package/build/src/index.js.map +1 -0
- package/build/src/test-l3.d.ts +1 -0
- package/build/src/test-l3.js +35 -0
- package/build/src/test-l3.js.map +1 -0
- package/build/src/tools/audit-workspace.d.ts +16 -0
- package/build/src/tools/audit-workspace.js +39 -0
- package/build/src/tools/audit-workspace.js.map +1 -0
- package/build/src/tools/calculate-csi.d.ts +24 -0
- package/build/src/tools/calculate-csi.js +29 -0
- package/build/src/tools/calculate-csi.js.map +1 -0
- package/build/src/tools/cs-audit.d.ts +54 -0
- package/build/src/tools/cs-audit.js +310 -0
- package/build/src/tools/cs-audit.js.map +1 -0
- package/build/src/tools/get-governance-context.d.ts +11 -0
- package/build/src/tools/get-governance-context.js +16 -0
- package/build/src/tools/get-governance-context.js.map +1 -0
- package/build/src/tools/validate-stack-change.d.ts +41 -0
- package/build/src/tools/validate-stack-change.js +35 -0
- package/build/src/tools/validate-stack-change.js.map +1 -0
- package/build/test-l3.d.ts +1 -0
- package/build/test-l3.js +35 -0
- package/build/test-l3.js.map +1 -0
- package/build/tools/analyze-stack.d.ts +40 -0
- package/build/tools/analyze-stack.js +121 -0
- package/build/tools/analyze-stack.js.map +1 -0
- package/build/tools/audit-workspace.d.ts +16 -0
- package/build/tools/audit-workspace.js +39 -0
- package/build/tools/audit-workspace.js.map +1 -0
- package/build/tools/calculate-csi.d.ts +26 -0
- package/build/tools/calculate-csi.js +30 -0
- package/build/tools/calculate-csi.js.map +1 -0
- package/build/tools/cs-audit.d.ts +43 -0
- package/build/tools/cs-audit.js +330 -0
- package/build/tools/cs-audit.js.map +1 -0
- package/build/tools/get-governance-context.d.ts +11 -0
- package/build/tools/get-governance-context.js +61 -0
- package/build/tools/get-governance-context.js.map +1 -0
- package/build/tools/validate-stack-change.d.ts +41 -0
- package/build/tools/validate-stack-change.js +54 -0
- package/build/tools/validate-stack-change.js.map +1 -0
- package/package.json +34 -0
- package/scripts/cloud-bridge.js +62 -0
- package/scripts/generate-token.js +13 -0
- package/src/core/531-rule.ts +148 -0
- package/src/core/auth.ts +42 -0
- package/src/core/consent-manager.ts +134 -0
- package/src/core/csp.ts +40 -0
- package/src/core/engagement-analyzer.ts +122 -0
- package/src/core/governor.ts +522 -0
- package/src/core/life-area-mapper.ts +138 -0
- package/src/core/methodology.ts +256 -0
- package/src/core/pingala.ts +77 -0
- package/src/core/sdk-adapter.ts +52 -0
- package/src/index.ts +562 -0
- package/src/test-l3.ts +45 -0
- package/src/tools/analyze-stack.ts +153 -0
- package/src/tools/audit-workspace.ts +50 -0
- package/src/tools/calculate-csi.ts +38 -0
- package/src/tools/cs-audit.ts +384 -0
- package/src/tools/get-governance-context.ts +69 -0
- package/src/tools/validate-stack-change.ts +71 -0
- package/src/types.d.ts +2 -0
- package/tsconfig.json +40 -0
- package/vercel.json +15 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { FailurePattern } from './pattern.js';
|
|
2
|
+
export type DecisionStatus = 'approved' | 'warning' | 'blocked';
|
|
3
|
+
export interface GovernanceDecision {
|
|
4
|
+
status: DecisionStatus;
|
|
5
|
+
csi: number;
|
|
6
|
+
violations: FailurePattern[];
|
|
7
|
+
warnings: FailurePattern[];
|
|
8
|
+
recommendations: string[];
|
|
9
|
+
reasoning: string;
|
|
10
|
+
}
|
|
11
|
+
export interface CSI {
|
|
12
|
+
score: number;
|
|
13
|
+
components: {
|
|
14
|
+
geometryScore: number;
|
|
15
|
+
patternScore: number;
|
|
16
|
+
balanceScore: number;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decision.js","sourceRoot":"","sources":["../../../../../cs-agent-core/sdk/types/decision.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../cs-agent-core/sdk/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export type PatternType = 'drift' | 'discipline' | 'structural';
|
|
2
|
+
export type Severity = 'critical' | 'warning' | 'info';
|
|
3
|
+
export interface PatternDetection {
|
|
4
|
+
type: 'rule' | 'heuristic';
|
|
5
|
+
logic: string;
|
|
6
|
+
}
|
|
7
|
+
export interface FailurePattern {
|
|
8
|
+
id: string;
|
|
9
|
+
name: string;
|
|
10
|
+
type: PatternType;
|
|
11
|
+
description: string;
|
|
12
|
+
severity: Severity;
|
|
13
|
+
csiImpact: [number, number];
|
|
14
|
+
seedPhrases: string[];
|
|
15
|
+
detection: PatternDetection;
|
|
16
|
+
remediation: string;
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pattern.js","sourceRoot":"","sources":["../../../../../cs-agent-core/sdk/types/pattern.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack.js","sourceRoot":"","sources":["../../../../../cs-agent-core/sdk/types/stack.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../../../cs-agent-core/sdk/types/tool.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { checkGeometry } from './rules/geometry.js';
|
|
2
|
+
export function calculateCSI(stack) {
|
|
3
|
+
const geometry = checkGeometry(stack);
|
|
4
|
+
let geometryScore = 0;
|
|
5
|
+
if (geometry.counts.anchor === 1)
|
|
6
|
+
geometryScore += 15;
|
|
7
|
+
if (geometry.counts.utility <= 3 && geometry.counts.utility > 0)
|
|
8
|
+
geometryScore += 15;
|
|
9
|
+
if (geometry.counts.periphery <= 5)
|
|
10
|
+
geometryScore += 10;
|
|
11
|
+
let patternScore = 40;
|
|
12
|
+
if (!geometry.isValid)
|
|
13
|
+
patternScore -= 10;
|
|
14
|
+
const balanceScore = 20;
|
|
15
|
+
return {
|
|
16
|
+
score: geometryScore + patternScore + balanceScore,
|
|
17
|
+
components: {
|
|
18
|
+
geometryScore,
|
|
19
|
+
patternScore,
|
|
20
|
+
balanceScore
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=csi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csi.js","sourceRoot":"","sources":["../../../../../cs-agent-core/sdk/validator/csi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,UAAU,YAAY,CAAC,KAAmB;IAC5C,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAGtC,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,aAAa,IAAI,EAAE,CAAC;IACtD,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC;QAAE,aAAa,IAAI,EAAE,CAAC;IACrF,IAAI,QAAQ,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC;QAAE,aAAa,IAAI,EAAE,CAAC;IAIxD,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,CAAC,QAAQ,CAAC,OAAO;QAAE,YAAY,IAAI,EAAE,CAAC;IAG1C,MAAM,YAAY,GAAG,EAAE,CAAC;IAExB,OAAO;QACH,KAAK,EAAE,aAAa,GAAG,YAAY,GAAG,YAAY;QAClD,UAAU,EAAE;YACR,aAAa;YACb,YAAY;YACZ,YAAY;SACf;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../cs-agent-core/sdk/validator/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { StackProfile } from '../../types/index.js';
|
|
2
|
+
export interface GeometryCheck {
|
|
3
|
+
isValid: boolean;
|
|
4
|
+
counts: {
|
|
5
|
+
anchor: number;
|
|
6
|
+
utility: number;
|
|
7
|
+
periphery: number;
|
|
8
|
+
};
|
|
9
|
+
violations: string[];
|
|
10
|
+
}
|
|
11
|
+
export declare function checkGeometry(stack: StackProfile): GeometryCheck;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export function checkGeometry(stack) {
|
|
2
|
+
const counts = {
|
|
3
|
+
anchor: stack.tools.filter((t) => t.role === 'anchor').length,
|
|
4
|
+
utility: stack.tools.filter((t) => t.role === 'utility').length,
|
|
5
|
+
periphery: stack.tools.filter((t) => t.role === 'periphery').length,
|
|
6
|
+
};
|
|
7
|
+
const violations = [];
|
|
8
|
+
if (counts.anchor === 0)
|
|
9
|
+
violations.push('No Anchor defined.');
|
|
10
|
+
if (counts.anchor > 1)
|
|
11
|
+
violations.push('Multiple Anchors defined (Duplicate Anchor).');
|
|
12
|
+
if (counts.utility > 3)
|
|
13
|
+
violations.push(`Too many Utilities (${counts.utility}/3).`);
|
|
14
|
+
if (counts.periphery > 5)
|
|
15
|
+
violations.push(`Too many Peripheries (${counts.periphery}/5).`);
|
|
16
|
+
return {
|
|
17
|
+
isValid: violations.length === 0,
|
|
18
|
+
counts,
|
|
19
|
+
violations
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=geometry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geometry.js","sourceRoot":"","sources":["../../../../../../cs-agent-core/sdk/validator/rules/geometry.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,aAAa,CAAC,KAAmB;IAC7C,MAAM,MAAM,GAAG;QACX,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,MAAM;QACnE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,MAAM;QACrE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,MAAM;KAC5E,CAAC;IAEF,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC/D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IACvF,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC;IACrF,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,yBAAyB,MAAM,CAAC,SAAS,MAAM,CAAC,CAAC;IAE3F,OAAO;QACH,OAAO,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC;QAChC,MAAM;QACN,UAAU;KACb,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import * as crypto from 'crypto';
|
|
2
|
+
import { calculateCSI } from './csi.js';
|
|
3
|
+
import { checkGeometry } from './rules/geometry.js';
|
|
4
|
+
import { getPatterns } from '../patterns/registry.js';
|
|
5
|
+
import { recordSignal } from '../telemetry/buffer.js';
|
|
6
|
+
import { hashId, jitterTimestamp } from '../telemetry/scrubber.js';
|
|
7
|
+
export async function validate(stack) {
|
|
8
|
+
const csi = calculateCSI(stack);
|
|
9
|
+
const geometry = checkGeometry(stack);
|
|
10
|
+
const patterns = await getPatterns();
|
|
11
|
+
const violations = [];
|
|
12
|
+
const warnings = [];
|
|
13
|
+
const recommendations = [];
|
|
14
|
+
if (geometry.counts.anchor === 0) {
|
|
15
|
+
const p = patterns.find(p => p.id === 'SP-001');
|
|
16
|
+
if (p)
|
|
17
|
+
violations.push(p);
|
|
18
|
+
}
|
|
19
|
+
if (!geometry.isValid) {
|
|
20
|
+
const p = patterns.find(p => p.id === 'SP-002');
|
|
21
|
+
if (p)
|
|
22
|
+
violations.push(p);
|
|
23
|
+
recommendations.push(...geometry.violations);
|
|
24
|
+
}
|
|
25
|
+
const status = violations.length > 0 ? 'blocked' : (warnings.length > 0 ? 'warning' : 'approved');
|
|
26
|
+
recordSignal({
|
|
27
|
+
signalId: crypto.randomUUID(),
|
|
28
|
+
signalType: 'GovernanceDecision',
|
|
29
|
+
timestamp: jitterTimestamp(Date.now()),
|
|
30
|
+
operatorHash: hashId(stack.operatorId || 'anonymous'),
|
|
31
|
+
sessionId: 'session-local',
|
|
32
|
+
newStatus: status,
|
|
33
|
+
newCsi: csi.score,
|
|
34
|
+
violationCount: violations.length,
|
|
35
|
+
warningCount: warnings.length
|
|
36
|
+
});
|
|
37
|
+
return {
|
|
38
|
+
status,
|
|
39
|
+
csi: csi.score,
|
|
40
|
+
violations,
|
|
41
|
+
warnings,
|
|
42
|
+
recommendations,
|
|
43
|
+
reasoning: status === 'approved' ? 'Stack adheres to CSP guidelines.' : `Stack drift detected: ${recommendations.join(', ')}`
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=validate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../../cs-agent-core/sdk/validator/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEnE,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,KAAmB;IAC9C,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;IAErC,MAAM,UAAU,GAAqB,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAqB,EAAE,CAAC;IACtC,MAAM,eAAe,GAAa,EAAE,CAAC;IAGrC,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,eAAe,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAGlG,YAAY,CAAC;QACT,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE;QAC7B,UAAU,EAAE,oBAAoB;QAChC,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACtC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,WAAW,CAAC;QACrD,SAAS,EAAE,eAAe;QAC1B,SAAS,EAAE,MAAM;QACjB,MAAM,EAAE,GAAG,CAAC,KAAK;QACjB,cAAc,EAAE,UAAU,CAAC,MAAM;QACjC,YAAY,EAAE,QAAQ,CAAC,MAAM;KAChC,CAAC,CAAC;IAEH,OAAO;QACH,MAAM;QACN,GAAG,EAAE,GAAG,CAAC,KAAK;QACd,UAAU;QACV,QAAQ;QACR,eAAe;QACf,SAAS,EAAE,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,yBAAyB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;KAChI,CAAC;AACN,CAAC"}
|
package/build/index.d.ts
ADDED