@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,164 @@
|
|
|
1
|
+
import * as fs from "node:fs";
|
|
2
|
+
import * as path from "node:path";
|
|
3
|
+
import process from "node:process";
|
|
4
|
+
export class MethodologyLoader {
|
|
5
|
+
static basePath = null;
|
|
6
|
+
static apiKey = null;
|
|
7
|
+
static init() {
|
|
8
|
+
this.basePath = process.env.CSTACK_AGENT_CORE_PATH || null;
|
|
9
|
+
this.apiKey = process.env.CSTACK_API_KEY || null;
|
|
10
|
+
if (this.basePath) {
|
|
11
|
+
console.error(`[MethodologyLoader] Creator Mode: Loading from ${this.basePath}`);
|
|
12
|
+
}
|
|
13
|
+
else if (this.apiKey) {
|
|
14
|
+
console.error(`[MethodologyLoader] Public Mode: API key detected (API fetch TODO)`);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
console.error(`[MethodologyLoader] Fallback Mode: Using hardcoded defaults`);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
static loadCSIPillars() {
|
|
21
|
+
if (this.basePath) {
|
|
22
|
+
const filePath = path.join(this.basePath, "stack-auditor.md");
|
|
23
|
+
if (fs.existsSync(filePath)) {
|
|
24
|
+
return this.parseCSIPillarsFromFile(filePath);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return [
|
|
28
|
+
{ name: "Attention Depth (AD)", description: "Quality of deep work and focus (0–100)", weight: 0.35 },
|
|
29
|
+
{ name: "Dependency Exposure (DE)", description: "Workflow independence from non-sovereign AI (0–100)", weight: 0.35 },
|
|
30
|
+
{ name: "Decision Provenance (DP)", description: "Rationale clarity and protocol adherence (0–100)", weight: 0.30 },
|
|
31
|
+
{ name: "Alignment (SAS)", description: "Adherence to CSP (5:3:1 Node) constraints", weight: 0.00 }
|
|
32
|
+
];
|
|
33
|
+
}
|
|
34
|
+
static load531Rules() {
|
|
35
|
+
const defaults = {
|
|
36
|
+
maxTools: 9,
|
|
37
|
+
anchorCount: 1,
|
|
38
|
+
activeCount: 3,
|
|
39
|
+
supportingCount: 5,
|
|
40
|
+
rawDescription: "1 Anchor, 3 Active, 5 Supporting"
|
|
41
|
+
};
|
|
42
|
+
if (this.basePath) {
|
|
43
|
+
const identityPath = path.join(this.basePath, "identity.md");
|
|
44
|
+
if (fs.existsSync(identityPath)) {
|
|
45
|
+
try {
|
|
46
|
+
const content = fs.readFileSync(identityPath, "utf-8");
|
|
47
|
+
const match = content.match(/\d+:\d+:\d+ Rule.*?\((.*?)\)/i);
|
|
48
|
+
if (match && match[1]) {
|
|
49
|
+
const desc = match[1];
|
|
50
|
+
return {
|
|
51
|
+
...defaults,
|
|
52
|
+
rawDescription: desc
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
catch (e) {
|
|
57
|
+
console.error("[MethodologyLoader] Error parsing 531 rules:", e);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return defaults;
|
|
62
|
+
}
|
|
63
|
+
static loadBaguaCategories() {
|
|
64
|
+
if (this.basePath) {
|
|
65
|
+
const filePath = path.join(this.basePath, "architecture.md");
|
|
66
|
+
if (fs.existsSync(filePath)) {
|
|
67
|
+
return this.parseBaguaCategoriesFromFile(filePath);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return [
|
|
71
|
+
{ name: "Li", description: "Fame, reputation, how one is seen by the world.", userFacingLabel: "Social Connection & Visibility" },
|
|
72
|
+
{ name: "Kun", description: "Love, partnerships, and intimate energy management.", userFacingLabel: "Relationships & Self-Care" },
|
|
73
|
+
{ name: "Dui", description: "Creativity, joy, projects, and the 'inner child.'", userFacingLabel: "Creative Expression & Hobbies" },
|
|
74
|
+
{ name: "Qian", description: "Helpful people, travel, and external systems.", userFacingLabel: "Communication & Networking" },
|
|
75
|
+
{ name: "Kan", description: "Life path, professional trajectory, and deep purpose.", userFacingLabel: "Career & Goals" },
|
|
76
|
+
{ name: "Gen", description: "Self-cultivation, knowledge, and wisdom building.", userFacingLabel: "Learning & Growth" },
|
|
77
|
+
{ name: "Zhen", description: "Ancestry, fundamental support systems, and family.", userFacingLabel: "Family & Roots" },
|
|
78
|
+
{ name: "Xun", description: "Wealth, abundance, and resource flow.", userFacingLabel: "Financial Management" },
|
|
79
|
+
{ name: "Tai Ji", description: "The 'Operating System,' physical health, and core stability.", userFacingLabel: "Physical Health & Routines" }
|
|
80
|
+
];
|
|
81
|
+
}
|
|
82
|
+
static loadInnerDiamondCategories() {
|
|
83
|
+
return [
|
|
84
|
+
{ name: "Identity", description: "How your digital choices reflect who you are becoming.", userFacingLabel: "Identity Reflection" },
|
|
85
|
+
{ name: "Purpose", description: "Alignment between your daily actions and your sovereign mission.", userFacingLabel: "Purpose Alignment" },
|
|
86
|
+
{ name: "Sovereignty", description: "Your capacity to act independently of algorithmic nudge.", userFacingLabel: "Sovereignty Forecast" }
|
|
87
|
+
];
|
|
88
|
+
}
|
|
89
|
+
static loadConsentPrompts() {
|
|
90
|
+
const defaults = {
|
|
91
|
+
l2: "Would you like me to include a life balance view?",
|
|
92
|
+
l3: "Want to explore your inner operating system?"
|
|
93
|
+
};
|
|
94
|
+
if (this.basePath) {
|
|
95
|
+
const filePath = path.join(this.basePath, "consent-prompts.md");
|
|
96
|
+
if (fs.existsSync(filePath)) {
|
|
97
|
+
try {
|
|
98
|
+
const content = fs.readFileSync(filePath, "utf-8");
|
|
99
|
+
const l2Match = content.match(/## Level 2.*?Prompt:\s*> "(.*?)"/s);
|
|
100
|
+
const l3Match = content.match(/## Level 3.*?Prompt:\s*> "(.*?)"/s);
|
|
101
|
+
return {
|
|
102
|
+
l2: l2Match ? l2Match[1].trim() : defaults.l2,
|
|
103
|
+
l3: l3Match ? l3Match[1].trim() : defaults.l3
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
catch (e) {
|
|
107
|
+
console.error("[MethodologyLoader] Error parsing consent prompts:", e);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return defaults;
|
|
112
|
+
}
|
|
113
|
+
static parseCSIPillarsFromFile(filePath) {
|
|
114
|
+
try {
|
|
115
|
+
const content = fs.readFileSync(filePath, "utf-8");
|
|
116
|
+
const csiMatch = content.match(/### Step 3: Compute CSI[\s\S]*?(?=###|$)/);
|
|
117
|
+
if (!csiMatch) {
|
|
118
|
+
return this.loadCSIPillars();
|
|
119
|
+
}
|
|
120
|
+
const pillars = [];
|
|
121
|
+
const pillarPattern = /\d+\.\s*\*\*(\w+)\*\*:\s*(.+)/g;
|
|
122
|
+
let match;
|
|
123
|
+
while ((match = pillarPattern.exec(csiMatch[0])) !== null) {
|
|
124
|
+
pillars.push({
|
|
125
|
+
name: match[1],
|
|
126
|
+
description: match[2].trim(),
|
|
127
|
+
weight: 0.25
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
return pillars.length > 0 ? pillars : this.loadCSIPillars();
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
return this.loadCSIPillars();
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
static parseBaguaCategoriesFromFile(filePath) {
|
|
137
|
+
try {
|
|
138
|
+
const content = fs.readFileSync(filePath, "utf-8");
|
|
139
|
+
const categories = [];
|
|
140
|
+
const tablePattern = /\|\s*\*\*?(\w+)\*\*?\s*\|\s*([^|]+)\s*\|\s*([^|]+)\s*\|/g;
|
|
141
|
+
let match;
|
|
142
|
+
while ((match = tablePattern.exec(content)) !== null) {
|
|
143
|
+
categories.push({
|
|
144
|
+
name: match[1],
|
|
145
|
+
userFacingLabel: match[2].trim(),
|
|
146
|
+
description: match[3].trim()
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
return categories.length > 0 ? categories : this.loadBaguaCategories();
|
|
150
|
+
}
|
|
151
|
+
catch {
|
|
152
|
+
return this.loadBaguaCategories();
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
static getSourceMode() {
|
|
156
|
+
if (this.basePath)
|
|
157
|
+
return "creator";
|
|
158
|
+
if (this.apiKey)
|
|
159
|
+
return "api";
|
|
160
|
+
return "fallback";
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
MethodologyLoader.init();
|
|
164
|
+
//# sourceMappingURL=methodology.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"methodology.js","sourceRoot":"","sources":["../../../../src/core/methodology.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { StackConfiguration } from './531-rule.js';
|
|
2
|
+
export declare class PingalaEngine {
|
|
3
|
+
static diagnose(config: StackConfiguration): Promise<{
|
|
4
|
+
engine: string;
|
|
5
|
+
methodology_source: "creator" | "api" | "fallback";
|
|
6
|
+
csi_score: number;
|
|
7
|
+
pillars: {
|
|
8
|
+
attention_depth: number;
|
|
9
|
+
dependency_exposure: number;
|
|
10
|
+
decision_provenance: number;
|
|
11
|
+
fragmentation_score: number;
|
|
12
|
+
};
|
|
13
|
+
risk_band: string;
|
|
14
|
+
status: string;
|
|
15
|
+
protocol_analysis: {
|
|
16
|
+
isValid: boolean;
|
|
17
|
+
score: number;
|
|
18
|
+
violations: string[];
|
|
19
|
+
recommendations: string[];
|
|
20
|
+
};
|
|
21
|
+
attribution: string;
|
|
22
|
+
}>;
|
|
23
|
+
static getRiskBand(csi: number): string;
|
|
24
|
+
private static getStatusLabel;
|
|
25
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { MethodologyLoader } from './methodology.js';
|
|
2
|
+
import { Governor } from './governor.js';
|
|
3
|
+
import { EngagementAnalyzer } from './engagement-analyzer.js';
|
|
4
|
+
import { performSDKValidation } from './sdk-adapter.js';
|
|
5
|
+
export class PingalaEngine {
|
|
6
|
+
static async diagnose(config) {
|
|
7
|
+
const sdkResult = await performSDKValidation(config.tools);
|
|
8
|
+
const sourceMode = MethodologyLoader.getSourceMode();
|
|
9
|
+
const state = Governor.getMaturityState();
|
|
10
|
+
const ad = state.telemetry?.attention_depth ?? 50;
|
|
11
|
+
const de = state.telemetry?.dependency_exposure ?? 50;
|
|
12
|
+
const dp = Governor.getDecisionProvenanceScore();
|
|
13
|
+
const fs = EngagementAnalyzer.getFragmentationScore(config.tools);
|
|
14
|
+
const blendedCsi = Math.round((sdkResult.csi * 0.7) + (fs * 0.3));
|
|
15
|
+
Governor.updateCsi(blendedCsi);
|
|
16
|
+
return {
|
|
17
|
+
engine: "Pingala v0.3.0 (Powered by CSTACK SDK)",
|
|
18
|
+
methodology_source: sourceMode,
|
|
19
|
+
csi_score: blendedCsi,
|
|
20
|
+
pillars: {
|
|
21
|
+
attention_depth: ad,
|
|
22
|
+
dependency_exposure: de,
|
|
23
|
+
decision_provenance: dp,
|
|
24
|
+
fragmentation_score: fs
|
|
25
|
+
},
|
|
26
|
+
risk_band: this.getRiskBand(blendedCsi),
|
|
27
|
+
status: this.getStatusLabel(blendedCsi),
|
|
28
|
+
protocol_analysis: {
|
|
29
|
+
isValid: sdkResult.status === 'approved',
|
|
30
|
+
score: sdkResult.csi,
|
|
31
|
+
violations: sdkResult.violations.map(v => `${v.name}: ${v.description}`),
|
|
32
|
+
recommendations: sdkResult.recommendations
|
|
33
|
+
},
|
|
34
|
+
attribution: "CSI framework powered by the Conscious Stack Protocol (CSP) Registry."
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
static getRiskBand(csi) {
|
|
38
|
+
if (csi >= 85)
|
|
39
|
+
return "safe";
|
|
40
|
+
if (csi >= 70)
|
|
41
|
+
return "stable";
|
|
42
|
+
if (csi >= 50)
|
|
43
|
+
return "erosion";
|
|
44
|
+
return "system_risk";
|
|
45
|
+
}
|
|
46
|
+
static getStatusLabel(score) {
|
|
47
|
+
if (score >= 85)
|
|
48
|
+
return "Sovereign Resonance";
|
|
49
|
+
if (score >= 70)
|
|
50
|
+
return "Aligned Flow";
|
|
51
|
+
if (score >= 50)
|
|
52
|
+
return "Congested Flux";
|
|
53
|
+
return "Conscious Debt Crisis";
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=pingala.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pingala.js","sourceRoot":"","sources":["../../../../src/core/pingala.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAMxD,MAAM,OAAO,aAAa;IAItB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAA0B;QAE5C,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE3D,MAAM,UAAU,GAAG,iBAAiB,CAAC,aAAa,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAG1C,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,eAAe,IAAI,EAAE,CAAC;QAClD,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,mBAAmB,IAAI,EAAE,CAAC;QACtD,MAAM,EAAE,GAAG,QAAQ,CAAC,0BAA0B,EAAE,CAAC;QACjD,MAAM,EAAE,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAGlE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;QAElE,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAE/B,OAAO;YACH,MAAM,EAAE,wCAAwC;YAChD,kBAAkB,EAAE,UAAU;YAC9B,SAAS,EAAE,UAAU;YACrB,OAAO,EAAE;gBACL,eAAe,EAAE,EAAE;gBACnB,mBAAmB,EAAE,EAAE;gBACvB,mBAAmB,EAAE,EAAE;gBACvB,mBAAmB,EAAE,EAAE;aAC1B;YACD,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YACvC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;YACvC,iBAAiB,EAAE;gBACf,OAAO,EAAE,SAAS,CAAC,MAAM,KAAK,UAAU;gBACxC,KAAK,EAAE,SAAS,CAAC,GAAG;gBACpB,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;gBACxE,eAAe,EAAE,SAAS,CAAC,eAAe;aAC7C;YACD,WAAW,EAAE,uEAAuE;SACvF,CAAC;IACN,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,GAAW;QAC1B,IAAI,GAAG,IAAI,EAAE;YAAE,OAAO,MAAM,CAAC;QAC7B,IAAI,GAAG,IAAI,EAAE;YAAE,OAAO,QAAQ,CAAC;QAC/B,IAAI,GAAG,IAAI,EAAE;YAAE,OAAO,SAAS,CAAC;QAChC,OAAO,aAAa,CAAC;IACzB,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,KAAa;QACvC,IAAI,KAAK,IAAI,EAAE;YAAE,OAAO,qBAAqB,CAAC;QAC9C,IAAI,KAAK,IAAI,EAAE;YAAE,OAAO,cAAc,CAAC;QACvC,IAAI,KAAK,IAAI,EAAE;YAAE,OAAO,gBAAgB,CAAC;QACzC,OAAO,uBAAuB,CAAC;IACnC,CAAC;CACJ"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ToolInstance } from './531-rule.js';
|
|
2
|
+
import type { StackProfile } from '@cstack/sdk';
|
|
3
|
+
export declare function mapToSDK(tools: ToolInstance[], operatorId?: string): StackProfile;
|
|
4
|
+
export declare function performSDKValidation(tools: ToolInstance[], operatorId?: string): Promise<import("@cstack/sdk").GovernanceDecision>;
|
|
5
|
+
export declare function initPingalaTelemetry(consentTier?: 'observer' | 'contributor' | 'sentinel'): void;
|
|
6
|
+
export { getRegistryMode, flushTelemetry } from '@cstack/sdk';
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { validate as sdkValidate, initTelemetry as sdkInitTelemetry } from '@cstack/sdk';
|
|
2
|
+
function mapRole(role) {
|
|
3
|
+
switch (role) {
|
|
4
|
+
case 'Anchor': return 'anchor';
|
|
5
|
+
case 'Active': return 'utility';
|
|
6
|
+
case 'Supporting': return 'periphery';
|
|
7
|
+
default: return 'periphery';
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export function mapToSDK(tools, operatorId) {
|
|
11
|
+
return {
|
|
12
|
+
id: `pingala-${Date.now()}`,
|
|
13
|
+
operatorId: operatorId || 'anonymous-pingala',
|
|
14
|
+
tools: tools.map((t, idx) => ({
|
|
15
|
+
id: t.functionId || `t-${idx}`,
|
|
16
|
+
name: t.name,
|
|
17
|
+
category: t.category,
|
|
18
|
+
role: mapRole(t.role)
|
|
19
|
+
})),
|
|
20
|
+
createdAt: new Date(),
|
|
21
|
+
updatedAt: new Date()
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export async function performSDKValidation(tools, operatorId) {
|
|
25
|
+
const profile = mapToSDK(tools, operatorId);
|
|
26
|
+
return await sdkValidate(profile);
|
|
27
|
+
}
|
|
28
|
+
export function initPingalaTelemetry(consentTier = 'contributor') {
|
|
29
|
+
sdkInitTelemetry({ consentTier });
|
|
30
|
+
console.log(`🛡️ Pingala: Telemetry initialized with tier: ${consentTier}`);
|
|
31
|
+
}
|
|
32
|
+
export { getRegistryMode, flushTelemetry } from '@cstack/sdk';
|
|
33
|
+
//# sourceMappingURL=sdk-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-adapter.js","sourceRoot":"","sources":["../../../../src/core/sdk-adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAE,aAAa,IAAI,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAOzF,SAAS,OAAO,CAAC,IAAY;IACzB,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,QAAQ,CAAC,CAAC,OAAO,QAAQ,CAAC;QAC/B,KAAK,QAAQ,CAAC,CAAC,OAAO,SAAS,CAAC;QAChC,KAAK,YAAY,CAAC,CAAC,OAAO,WAAW,CAAC;QACtC,OAAO,CAAC,CAAC,OAAO,WAAW,CAAC;IAChC,CAAC;AACL,CAAC;AAKD,MAAM,UAAU,QAAQ,CAAC,KAAqB,EAAE,UAAmB;IAC/D,OAAO;QACH,EAAE,EAAE,WAAW,IAAI,CAAC,GAAG,EAAE,EAAE;QAC3B,UAAU,EAAE,UAAU,IAAI,mBAAmB;QAC7C,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YAC1B,EAAE,EAAE,CAAC,CAAC,UAAU,IAAI,KAAK,GAAG,EAAE;YAC9B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;SACxB,CAAC,CAAC;QACH,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,SAAS,EAAE,IAAI,IAAI,EAAE;KACxB,CAAC;AACN,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,KAAqB,EAAE,UAAmB;IACjF,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC5C,OAAO,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAKD,MAAM,UAAU,oBAAoB,CAAC,cAAuD,aAAa;IACrG,gBAAgB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,iDAAiD,WAAW,EAAE,CAAC,CAAC;AAChF,CAAC;AACD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import { SSEServerTransport } from "@modelcontextprotocol/sdk/server/sse.js";
|
|
3
|
+
import { csAuditTool } from "./tools/cs-audit.js";
|
|
4
|
+
import { validateStackChangeTool } from "./tools/validate-stack-change.js";
|
|
5
|
+
import { getGovernanceContextTool } from "./tools/get-governance-context.js";
|
|
6
|
+
import { calculateCsiTool } from "./tools/calculate-csi.js";
|
|
7
|
+
import { MethodologyLoader } from "./core/methodology.js";
|
|
8
|
+
import { Governor } from "./core/governor.js";
|
|
9
|
+
import { PingalaEngine } from "./core/pingala.js";
|
|
10
|
+
import { getRegistryMode } from "./core/sdk-adapter.js";
|
|
11
|
+
import process from "node:process";
|
|
12
|
+
import { z } from "zod";
|
|
13
|
+
import express from "express";
|
|
14
|
+
import cors from "cors";
|
|
15
|
+
try {
|
|
16
|
+
process.loadEnvFile();
|
|
17
|
+
}
|
|
18
|
+
catch (e) {
|
|
19
|
+
}
|
|
20
|
+
const server = new McpServer({
|
|
21
|
+
name: "cstack-mcp",
|
|
22
|
+
version: "0.4.0-cloud",
|
|
23
|
+
});
|
|
24
|
+
const rules = MethodologyLoader.load531Rules();
|
|
25
|
+
const protocolDesc = rules.rawDescription || "1 Anchor, 3 Active, 5 Supporting";
|
|
26
|
+
server.tool(csAuditTool.name, `${csAuditTool.description} (Protocol Rule: ${protocolDesc})`, csAuditTool.schema, csAuditTool.handler);
|
|
27
|
+
server.tool(validateStackChangeTool.name, validateStackChangeTool.description, validateStackChangeTool.schema, validateStackChangeTool.handler);
|
|
28
|
+
server.tool(getGovernanceContextTool.name, getGovernanceContextTool.description, getGovernanceContextTool.schema, getGovernanceContextTool.handler);
|
|
29
|
+
server.tool(calculateCsiTool.name, calculateCsiTool.description, calculateCsiTool.schema, calculateCsiTool.handler);
|
|
30
|
+
server.resource("current-stack", "cstack://stack-map/current", {
|
|
31
|
+
description: "The current 5:3:1 hierarchy of tools",
|
|
32
|
+
mimeType: "application/json"
|
|
33
|
+
}, async (uri) => {
|
|
34
|
+
const stack = Governor.getStack();
|
|
35
|
+
return {
|
|
36
|
+
contents: [{
|
|
37
|
+
uri: uri.href,
|
|
38
|
+
text: JSON.stringify({
|
|
39
|
+
anchor: stack.find(t => t.role === 'Anchor') || null,
|
|
40
|
+
active: stack.filter(t => t.role === 'Active'),
|
|
41
|
+
supporting: stack.filter(t => t.role === 'Supporting')
|
|
42
|
+
}, null, 2)
|
|
43
|
+
}]
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
server.resource("maturity-status", "cstack://maturity/status", {
|
|
47
|
+
description: "Current maturity level and days of stability",
|
|
48
|
+
mimeType: "application/json"
|
|
49
|
+
}, async (uri) => {
|
|
50
|
+
const state = Governor.getMaturityState();
|
|
51
|
+
return {
|
|
52
|
+
contents: [{
|
|
53
|
+
uri: uri.href,
|
|
54
|
+
text: JSON.stringify(state, null, 2)
|
|
55
|
+
}]
|
|
56
|
+
};
|
|
57
|
+
});
|
|
58
|
+
server.resource("latest-csi", "cstack://csi/latest", {
|
|
59
|
+
description: "Current Conscious Stack Index (CSI) with component breakdown",
|
|
60
|
+
mimeType: "application/json"
|
|
61
|
+
}, async (uri) => {
|
|
62
|
+
const stack = Governor.getStack();
|
|
63
|
+
const diagnosis = await PingalaEngine.diagnose({ tools: stack });
|
|
64
|
+
return {
|
|
65
|
+
contents: [{
|
|
66
|
+
uri: uri.href,
|
|
67
|
+
text: JSON.stringify(diagnosis, null, 2)
|
|
68
|
+
}]
|
|
69
|
+
};
|
|
70
|
+
});
|
|
71
|
+
server.resource("stack-drift", "cstack://drift/current", {
|
|
72
|
+
description: "Current architectural drift signals and score",
|
|
73
|
+
mimeType: "application/json"
|
|
74
|
+
}, async (uri) => {
|
|
75
|
+
const drift = Governor.getStackDriftScore();
|
|
76
|
+
return {
|
|
77
|
+
contents: [{
|
|
78
|
+
uri: uri.href,
|
|
79
|
+
text: JSON.stringify(drift, null, 2)
|
|
80
|
+
}]
|
|
81
|
+
};
|
|
82
|
+
});
|
|
83
|
+
server.prompt("inject-constraints", {
|
|
84
|
+
base_prompt: z.string().describe("The user's original request")
|
|
85
|
+
}, async (args) => {
|
|
86
|
+
const stack = Governor.getStack();
|
|
87
|
+
const state = Governor.getMaturityState();
|
|
88
|
+
const diagnosis = await PingalaEngine.diagnose({ tools: stack });
|
|
89
|
+
const context = Governor.getGovernanceContext();
|
|
90
|
+
const mode = getRegistryMode();
|
|
91
|
+
const modeFlag = mode === 'Authorized' ? 'COLLECTIVE MODE (Authorized)' : 'SOVEREIGN MODE (Local-First)';
|
|
92
|
+
const connectionDetails = mode === 'Authorized'
|
|
93
|
+
? 'Connected to patterns.consciousstack.com (Live Registry)'
|
|
94
|
+
: 'Using local patterns and public registry fallback.';
|
|
95
|
+
return {
|
|
96
|
+
messages: [{
|
|
97
|
+
role: "user",
|
|
98
|
+
content: {
|
|
99
|
+
type: "text",
|
|
100
|
+
text: `GOVERNANCE CONTEXT [${modeFlag}]:
|
|
101
|
+
- Functional Nodes: ${JSON.stringify(context.functional_nodes)}
|
|
102
|
+
- Maturity Level: ${state.level} (${state.level_name}) - ${state.stability_days} days stable
|
|
103
|
+
- CSI Score: ${diagnosis.csi_score} [${diagnosis.risk_band}] (Blended: SDK Logic + Fragmentation)
|
|
104
|
+
- CSI Delta: ${context.progression.csi_delta > 0 ? '+' : ''}${context.progression.csi_delta}
|
|
105
|
+
- SDK Violations: ${diagnosis.protocol_analysis.violations.length > 0 ? diagnosis.protocol_analysis.violations.join('; ') : 'None'}
|
|
106
|
+
- Allowed Actions: ${context.allowed_actions.join(", ")}
|
|
107
|
+
- Blocked Actions: ${context.blocked_actions.join(", ")}
|
|
108
|
+
|
|
109
|
+
REGISTRY & MOAT:
|
|
110
|
+
- Status: ${connectionDetails}
|
|
111
|
+
- Data Moat: ${mode === 'Authorized' ? 'ACTIVE (Contributing anonymized signals)' : 'PENDING (Key required for contribution)'}
|
|
112
|
+
- Privacy Guard: Tool names are NEVER captured, only Categories (e.g., 'Productivity').
|
|
113
|
+
|
|
114
|
+
CONSTRAINTS (Horizon 1.5 - Functional Scaling):
|
|
115
|
+
- 5:3:1 Protocol: Max 1 Anchor Node, 3 Active Nodes, 5 Supporting Nodes (9 Functional Slots Total).
|
|
116
|
+
- Subtraction over addition: Always explore removal before addition.
|
|
117
|
+
- CSI threshold: No destabilizing changes if CSI < 70.
|
|
118
|
+
- Maturity gate: Level ${state.level} requires specific stability before expansion (${context.progression.days_remaining} days remaining).
|
|
119
|
+
|
|
120
|
+
INSTRUCTIONS:
|
|
121
|
+
1. Review 'SDK Violations' first. These represent specific Failure Patterns (e.g., 'Anchor Void') from the registry.
|
|
122
|
+
2. If tool changes are requested, call validate_stack_change() immediately.
|
|
123
|
+
3. PROTOCOL HANDSHAKE: If in COLLECTIVE MODE and you detect a significant CSI shift or a novel pattern match, inform the user: "Significant stack shift detected. Signal buffered for collective intelligence."
|
|
124
|
+
4. Your goal: High Resonance (CSI > 85). Minimize Fragmentation and maximize Decision Provenance.
|
|
125
|
+
|
|
126
|
+
USER REQUEST:
|
|
127
|
+
${args.base_prompt}`
|
|
128
|
+
}
|
|
129
|
+
}]
|
|
130
|
+
};
|
|
131
|
+
});
|
|
132
|
+
server.prompt("canonical-output", {
|
|
133
|
+
analysis_type: z.enum(["audit", "mirror", "zoning"]).describe("Type of analysis being performed")
|
|
134
|
+
}, async (args) => {
|
|
135
|
+
return {
|
|
136
|
+
messages: [{
|
|
137
|
+
role: "user",
|
|
138
|
+
content: {
|
|
139
|
+
type: "text",
|
|
140
|
+
text: `Respond using the Pingala canonical structure for ${args.analysis_type}:
|
|
141
|
+
|
|
142
|
+
## 1. Target State
|
|
143
|
+
[Define desired operating condition with specific metrics]
|
|
144
|
+
|
|
145
|
+
## 2. Current State
|
|
146
|
+
[Summarize present signals from stack, CSI, telemetry]
|
|
147
|
+
|
|
148
|
+
## 3. Recommendations
|
|
149
|
+
[3-5 actionable changes tied to Target State]
|
|
150
|
+
|
|
151
|
+
## 4. Guardrails
|
|
152
|
+
[Rules that prevent erosion]
|
|
153
|
+
|
|
154
|
+
## 5. Workflow Improvements
|
|
155
|
+
[Concrete protocol changes]
|
|
156
|
+
|
|
157
|
+
## 6. Crystalline Geometry
|
|
158
|
+
[Identify hex/cubic patterns and evolution path]
|
|
159
|
+
|
|
160
|
+
## 7. Additional Info
|
|
161
|
+
[Assumptions, caveats, telemetry notes]`
|
|
162
|
+
}
|
|
163
|
+
}]
|
|
164
|
+
};
|
|
165
|
+
});
|
|
166
|
+
server.prompt("augmentation-only", {
|
|
167
|
+
decision_context: z.string().describe("What decision needs to be made")
|
|
168
|
+
}, async (args) => {
|
|
169
|
+
return {
|
|
170
|
+
messages: [{
|
|
171
|
+
role: "user",
|
|
172
|
+
content: {
|
|
173
|
+
type: "text",
|
|
174
|
+
text: `AUGMENTATION MODE ACTIVE
|
|
175
|
+
|
|
176
|
+
Your role: Provide analysis and options
|
|
177
|
+
Human's role: Make final decision and own the outcome
|
|
178
|
+
|
|
179
|
+
Decision context: ${args.decision_context}
|
|
180
|
+
|
|
181
|
+
Provide:
|
|
182
|
+
1. Key factors to consider
|
|
183
|
+
2. 2-3 options with tradeoffs
|
|
184
|
+
3. Data/evidence supporting each option
|
|
185
|
+
4. Potential risks and mitigations
|
|
186
|
+
|
|
187
|
+
Do NOT:
|
|
188
|
+
- Make the decision for the human
|
|
189
|
+
- Use language like 'you should' or 'I recommend'
|
|
190
|
+
- Provide a single answer without alternatives
|
|
191
|
+
|
|
192
|
+
End with: 'What do you decide?'`
|
|
193
|
+
}
|
|
194
|
+
}]
|
|
195
|
+
};
|
|
196
|
+
});
|
|
197
|
+
import { validateToken } from "./core/auth.js";
|
|
198
|
+
const app = express();
|
|
199
|
+
app.use(cors());
|
|
200
|
+
let transport = null;
|
|
201
|
+
app.use("/sse", validateToken);
|
|
202
|
+
app.use("/messages", validateToken);
|
|
203
|
+
app.get("/sse", async (req, res) => {
|
|
204
|
+
transport = new SSEServerTransport("/messages", res);
|
|
205
|
+
await server.connect(transport);
|
|
206
|
+
});
|
|
207
|
+
app.post("/messages", async (req, res) => {
|
|
208
|
+
if (transport) {
|
|
209
|
+
await transport.handlePostMessage(req, res);
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
res.status(400).send("No active SSE connection");
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
const PORT = process.env.PORT || 3000;
|
|
216
|
+
app.listen(PORT, () => {
|
|
217
|
+
console.log(`Pingala MCP Cloud Server running on port ${PORT}`);
|
|
218
|
+
console.log(`SSE endpoint: /sse`);
|
|
219
|
+
console.log(`Messages endpoint: /messages`);
|
|
220
|
+
});
|
|
221
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAwB,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,IAAI,CAAC;IACA,OAAe,CAAC,WAAW,EAAE,CAAC;AACnC,CAAC;AAAC,OAAO,CAAC,EAAE,CAAC;AAEb,CAAC;AAQD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IACzB,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,aAAa;CACzB,CAAC,CAAC;AAGH,MAAM,KAAK,GAAG,iBAAiB,CAAC,YAAY,EAAE,CAAC;AAC/C,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,IAAI,kCAAkC,CAAC;AAGhF,MAAM,CAAC,IAAI,CACP,WAAW,CAAC,IAAI,EAChB,GAAG,WAAW,CAAC,WAAW,oBAAoB,YAAY,GAAG,EAC7D,WAAW,CAAC,MAAM,EAClB,WAAW,CAAC,OAAO,CACtB,CAAC;AAEF,MAAM,CAAC,IAAI,CACP,uBAAuB,CAAC,IAAI,EAC5B,uBAAuB,CAAC,WAAW,EACnC,uBAAuB,CAAC,MAAa,EACrC,uBAAuB,CAAC,OAAO,CAClC,CAAC;AAEF,MAAM,CAAC,IAAI,CACP,wBAAwB,CAAC,IAAI,EAC7B,wBAAwB,CAAC,WAAW,EACpC,wBAAwB,CAAC,MAAM,EAC/B,wBAAwB,CAAC,OAAO,CACnC,CAAC;AAEF,MAAM,CAAC,IAAI,CACP,gBAAgB,CAAC,IAAI,EACrB,gBAAgB,CAAC,WAAW,EAC5B,gBAAgB,CAAC,MAAa,EAC9B,gBAAgB,CAAC,OAAO,CAC3B,CAAC;AAGF,MAAM,CAAC,QAAQ,CACX,eAAe,EACf,4BAA4B,EAC5B;IACI,WAAW,EAAE,sCAAsC;IACnD,QAAQ,EAAE,kBAAkB;CAC/B,EACD,KAAK,EAAE,GAAQ,EAAE,EAAE;IACf,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAClC,OAAO;QACH,QAAQ,EAAE,CAAC;gBACP,GAAG,EAAE,GAAG,CAAC,IAAI;gBACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACjB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,IAAI;oBACpD,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;oBAC9C,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC;iBACzD,EAAE,IAAI,EAAE,CAAC,CAAC;aACd,CAAC;KACL,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,MAAM,CAAC,QAAQ,CACX,iBAAiB,EACjB,0BAA0B,EAC1B;IACI,WAAW,EAAE,8CAA8C;IAC3D,QAAQ,EAAE,kBAAkB;CAC/B,EACD,KAAK,EAAE,GAAQ,EAAE,EAAE;IACf,MAAM,KAAK,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC;IAC1C,OAAO;QACH,QAAQ,EAAE,CAAC;gBACP,GAAG,EAAE,GAAG,CAAC,IAAI;gBACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;aACvC,CAAC;KACL,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,MAAM,CAAC,QAAQ,CACX,YAAY,EACZ,qBAAqB,EACrB;IACI,WAAW,EAAE,8DAA8D;IAC3E,QAAQ,EAAE,kBAAkB;CAC/B,EACD,KAAK,EAAE,GAAQ,EAAE,EAAE;IACf,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACjE,OAAO;QACH,QAAQ,EAAE,CAAC;gBACP,GAAG,EAAE,GAAG,CAAC,IAAI;gBACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;aAC3C,CAAC;KACL,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,MAAM,CAAC,QAAQ,CACX,aAAa,EACb,wBAAwB,EACxB;IACI,WAAW,EAAE,+CAA+C;IAC5D,QAAQ,EAAE,kBAAkB;CAC/B,EACD,KAAK,EAAE,GAAQ,EAAE,EAAE;IACf,MAAM,KAAK,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC;IAC5C,OAAO;QACH,QAAQ,EAAE,CAAC;gBACP,GAAG,EAAE,GAAG,CAAC,IAAI;gBACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;aACvC,CAAC;KACL,CAAC;AACN,CAAC,CACJ,CAAC;AAGF,MAAM,CAAC,MAAM,CACT,oBAAoB,EACpB;IACI,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;CAClE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;IACX,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,QAAQ,CAAC,oBAAoB,EAAE,CAAC;IAChD,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAE/B,MAAM,QAAQ,GAAG,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,8BAA8B,CAAC;IACzG,MAAM,iBAAiB,GAAG,IAAI,KAAK,YAAY;QAC3C,CAAC,CAAC,0DAA0D;QAC5D,CAAC,CAAC,oDAAoD,CAAC;IAE3D,OAAO;QACH,QAAQ,EAAE,CAAC;gBACP,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACL,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,uBAAuB,QAAQ;sBACnC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC;oBAC1C,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,UAAU,OAAO,KAAK,CAAC,cAAc;eAChE,SAAS,CAAC,SAAS,KAAK,SAAS,CAAC,SAAS;eAC3C,OAAO,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS;oBACvE,SAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;qBAC7G,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;qBAClC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;;;YAG3C,iBAAiB;eACd,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,yCAAyC;;;;;;;yBAOpG,KAAK,CAAC,KAAK,kDAAkD,OAAO,CAAC,WAAW,CAAC,cAAc;;;;;;;;;EAStH,IAAI,CAAC,WAAW,EAAE;iBACH;aACJ,CAAC;KACL,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,CACT,kBAAkB,EAClB;IACI,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC;CACpG,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;IACX,OAAO;QACH,QAAQ,EAAE,CAAC;gBACP,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACL,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,qDAAqD,IAAI,CAAC,aAAa;;;;;;;;;;;;;;;;;;;;;wCAqBzD;iBACvB;aACJ,CAAC;KACL,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,CACT,mBAAmB,EACnB;IACI,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;CAC1E,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;IACX,OAAO;QACH,QAAQ,EAAE,CAAC;gBACP,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACL,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;;;;;oBAKN,IAAI,CAAC,gBAAgB;;;;;;;;;;;;;gCAaT;iBACf;aACJ,CAAC;KACL,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;AACtB,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;AAEhB,IAAI,SAAS,GAA8B,IAAI,CAAC;AAGhD,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAC/B,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AAEpC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,GAAQ,EAAE,GAAQ,EAAE,EAAE;IACzC,SAAS,GAAG,IAAI,kBAAkB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACrD,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,GAAQ,EAAE,GAAQ,EAAE,EAAE;IAC/C,IAAI,SAAS,EAAE,CAAC;QACZ,MAAM,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACJ,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACrD,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;AACtC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;IAClB,OAAO,CAAC,GAAG,CAAC,4CAA4C,IAAI,EAAE,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { csAuditTool } from "./tools/cs-audit.js";
|
|
2
|
+
import { MethodologyLoader } from "./core/methodology.js";
|
|
3
|
+
import { ConsentManager } from "./core/consent-manager.js";
|
|
4
|
+
async function test_l3_audit() {
|
|
5
|
+
process.env.CSTACK_AGENT_CORE_PATH = "/Users/georgesiosi/Documents/GitHub/conscious-stack/_active/cs-agent-core";
|
|
6
|
+
MethodologyLoader.init();
|
|
7
|
+
const workspacePath = "/Users/georgesiosi/Documents/GitHub/conscious-stack/_active/cs-mcp-core";
|
|
8
|
+
ConsentManager.setWorkspace(workspacePath);
|
|
9
|
+
const tools = [
|
|
10
|
+
{ name: "FocusMonitor", role: "Anchor", functionId: "Tai Ji", category: "OS" },
|
|
11
|
+
{ name: "Cursor", role: "Active", functionId: "Gen", category: "Development" },
|
|
12
|
+
{ name: "Notion", role: "Active", functionId: "Qian", category: "Knowledge" },
|
|
13
|
+
{ name: "Obsidian", role: "Active", functionId: "Dui", category: "Knowledge" },
|
|
14
|
+
{ name: "Slack", role: "Supporting", functionId: "Li", category: "Communication" },
|
|
15
|
+
{ name: "Linear", role: "Supporting", functionId: "Kan", category: "Task" }
|
|
16
|
+
];
|
|
17
|
+
console.log("--- TEST 1: L3 Audit Without Consent ---");
|
|
18
|
+
const result1 = await csAuditTool.handler({
|
|
19
|
+
tools,
|
|
20
|
+
path: workspacePath,
|
|
21
|
+
depth_level: "L3"
|
|
22
|
+
});
|
|
23
|
+
console.log(JSON.stringify(result1, null, 2));
|
|
24
|
+
console.log("\n--- TEST 2: L3 Audit WITH CONSENT ---");
|
|
25
|
+
ConsentManager.setConsent("L2", true);
|
|
26
|
+
ConsentManager.setConsent("L3", true);
|
|
27
|
+
const result2 = await csAuditTool.handler({
|
|
28
|
+
tools,
|
|
29
|
+
path: workspacePath,
|
|
30
|
+
depth_level: "L3"
|
|
31
|
+
});
|
|
32
|
+
console.log(JSON.stringify(result2, null, 2));
|
|
33
|
+
}
|
|
34
|
+
test_l3_audit().catch(console.error);
|
|
35
|
+
//# sourceMappingURL=test-l3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-l3.js","sourceRoot":"","sources":["../../../src/test-l3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,KAAK,UAAU,aAAa;IACxB,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,2EAA2E,CAAC;IACjH,iBAAiB,CAAC,IAAI,EAAE,CAAC;IAGzB,MAAM,aAAa,GAAG,yEAAyE,CAAC;IAChG,cAAc,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IAG3C,MAAM,KAAK,GAAG;QACV,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC9E,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE;QAC9E,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE;QAC7E,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE;QAC9E,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE;QAClF,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE;KAC9E,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC;QACtC,KAAK;QACL,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,IAAI;KACpB,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAE9C,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IAEvD,cAAc,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtC,cAAc,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAEtC,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC;QACtC,KAAK;QACL,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,IAAI;KACpB,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,aAAa,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const auditWorkspaceTool: {
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
schema: {
|
|
6
|
+
path: z.ZodString;
|
|
7
|
+
};
|
|
8
|
+
handler: (args: {
|
|
9
|
+
path: string;
|
|
10
|
+
}) => Promise<{
|
|
11
|
+
content: {
|
|
12
|
+
type: "text";
|
|
13
|
+
text: string;
|
|
14
|
+
}[];
|
|
15
|
+
}>;
|
|
16
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import * as fs from "node:fs";
|
|
3
|
+
import * as path from "node:path";
|
|
4
|
+
import { PingalaEngine } from "../core/pingala.js";
|
|
5
|
+
export const auditWorkspaceTool = {
|
|
6
|
+
name: "audit_workspace",
|
|
7
|
+
description: "Scans a workspace for .agent configuration and evaluates 5:3:1 protocol alignment (CSI/SAS).",
|
|
8
|
+
schema: {
|
|
9
|
+
path: z.string().describe("The absolute path to the workspace directory to audit.")
|
|
10
|
+
},
|
|
11
|
+
handler: async (args) => {
|
|
12
|
+
const workspacePath = args.path;
|
|
13
|
+
const agentPath = path.join(workspacePath, ".agent");
|
|
14
|
+
const report = {
|
|
15
|
+
workspace: workspacePath,
|
|
16
|
+
agent_found: fs.existsSync(agentPath),
|
|
17
|
+
timestamp: new Date().toISOString()
|
|
18
|
+
};
|
|
19
|
+
if (!report.agent_found) {
|
|
20
|
+
return {
|
|
21
|
+
content: [{
|
|
22
|
+
type: "text",
|
|
23
|
+
text: `Pingala Analysis: Workspace '${workspacePath}' is unmapped. No '.agent' directory found. High risk of cognitive erosion.`
|
|
24
|
+
}]
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
const mockTools = [
|
|
28
|
+
{ name: "Claude/Antigravity", category: "Intelligence", role: "Anchor" }
|
|
29
|
+
];
|
|
30
|
+
const diagnosis = PingalaEngine.diagnose({ tools: mockTools });
|
|
31
|
+
return {
|
|
32
|
+
content: [{
|
|
33
|
+
type: "text",
|
|
34
|
+
text: JSON.stringify({ ...report, diagnosis }, null, 2)
|
|
35
|
+
}]
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=audit-workspace.js.map
|