@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.
Files changed (328) hide show
  1. package/.agent/CSD.md +39 -0
  2. package/.agent/MANIFEST.md +4 -0
  3. package/.agent/MANIFEST.md.template +4 -0
  4. package/.agent/agent-contractor.md +45 -0
  5. package/.agent/architecture/consent-model-fsm.md +77 -0
  6. package/.agent/architecture/governor-maturity-fsm.md +101 -0
  7. package/.agent/architecture/governor-validation-fsm.md +106 -0
  8. package/.agent/architecture/humanized-audit-fsm.md +76 -0
  9. package/.agent/architecture/pingala-csi-fsm.md +81 -0
  10. package/.agent/architecture.md +34 -0
  11. package/.agent/behavior.md +29 -0
  12. package/.agent/compute.md +32 -0
  13. package/.agent/consent-prompts.md +41 -0
  14. package/.agent/governance.yaml +5 -0
  15. package/.agent/identity.md +29 -0
  16. package/.agent/knowledge-lattice.json +96 -0
  17. package/.agent/knowledge-lattice.md +53 -0
  18. package/.agent/lattice-viz.html +157 -0
  19. package/.agent/mission.md +37 -0
  20. package/.agent/pairing-protocol.md +89 -0
  21. package/.agent/pairing.csp +108 -0
  22. package/.agent/personas/reflective-operator.md +67 -0
  23. package/.agent/personas/research.md +62 -0
  24. package/.agent/pingala.md +47 -0
  25. package/.agent/roadmap.md +56 -0
  26. package/.agent/scripts/lattice-extract.py +100 -0
  27. package/.agent/scripts/sync-agents.sh +82 -0
  28. package/.agent/scripts/vault-ingest.py +80 -0
  29. package/.agent/seo-strategy.md +71 -0
  30. package/.agent/skills/agent-orchestrator/SKILL.md +22 -0
  31. package/.agent/skills/agent-orchestrator/scripts/sync-agents.sh +61 -0
  32. package/.agent/skills/knowledge-lattice/SKILL.md +23 -0
  33. package/.agent/skills/knowledge-lattice/scripts/lattice-extract.py +107 -0
  34. package/.agent/skills/resource-vault/SKILL.md +30 -0
  35. package/.agent/skills/resource-vault/scripts/vault-ingest.py +80 -0
  36. package/.agent/skills/sites-integrity/SKILL.md +28 -0
  37. package/.agent/skills/stack-auditor/SKILL.md +25 -0
  38. package/.agent/sources.md +20 -0
  39. package/.agent/stack-auditor.md +47 -0
  40. package/.agent/standards.md +36 -0
  41. package/.agent/strategy.md +65 -0
  42. package/.agent/vault-schema.md +53 -0
  43. package/.agent/voice.md +27 -0
  44. package/.agent/workflows/sync-agents.md +14 -0
  45. package/.env.example +5 -0
  46. package/.env.production +3 -0
  47. package/DISTRIBUTION-PLAN.md +33 -0
  48. package/HOSTED_SETUP.md +54 -0
  49. package/LANDING_PAGE_DESIGN.md +46 -0
  50. package/MANUAL_VERCEL_STEPS.md +39 -0
  51. package/PRODUCT-ROADMAP.md +241 -0
  52. package/PROVISIONING_GUIDE.md +39 -0
  53. package/README.md +38 -0
  54. package/ROADMAP.md +21 -0
  55. package/SYNC-ENGINE-SPEC.md +257 -0
  56. package/build/core/531-protocol.d.ts +26 -0
  57. package/build/core/531-protocol.js +87 -0
  58. package/build/core/531-protocol.js.map +1 -0
  59. package/build/core/531-rule.d.ts +26 -0
  60. package/build/core/531-rule.js +106 -0
  61. package/build/core/531-rule.js.map +1 -0
  62. package/build/core/auth.d.ts +1 -0
  63. package/build/core/auth.js +24 -0
  64. package/build/core/auth.js.map +1 -0
  65. package/build/core/consent-manager.d.ts +17 -0
  66. package/build/core/consent-manager.js +104 -0
  67. package/build/core/consent-manager.js.map +1 -0
  68. package/build/core/csp.d.ts +12 -0
  69. package/build/core/csp.js +20 -0
  70. package/build/core/csp.js.map +1 -0
  71. package/build/core/engagement-analyzer.d.ts +42 -0
  72. package/build/core/engagement-analyzer.js +71 -0
  73. package/build/core/engagement-analyzer.js.map +1 -0
  74. package/build/core/governor.d.ts +106 -0
  75. package/build/core/governor.js +405 -0
  76. package/build/core/governor.js.map +1 -0
  77. package/build/core/life-area-mapper.d.ts +39 -0
  78. package/build/core/life-area-mapper.js +73 -0
  79. package/build/core/life-area-mapper.js.map +1 -0
  80. package/build/core/methodology.d.ts +39 -0
  81. package/build/core/methodology.js +164 -0
  82. package/build/core/methodology.js.map +1 -0
  83. package/build/core/pingala.d.ts +31 -0
  84. package/build/core/pingala.js +56 -0
  85. package/build/core/pingala.js.map +1 -0
  86. package/build/core/sdk-adapter.d.ts +6 -0
  87. package/build/core/sdk-adapter.js +33 -0
  88. package/build/core/sdk-adapter.js.map +1 -0
  89. package/build/cs-agent-core/sdk/index.d.ts +6 -0
  90. package/build/cs-agent-core/sdk/index.js +18 -0
  91. package/build/cs-agent-core/sdk/index.js.map +1 -0
  92. package/build/cs-agent-core/sdk/patterns/index.d.ts +3 -0
  93. package/build/cs-agent-core/sdk/patterns/index.js +37 -0
  94. package/build/cs-agent-core/sdk/patterns/index.js.map +1 -0
  95. package/build/cs-agent-core/sdk/patterns/registry.d.ts +4 -0
  96. package/build/cs-agent-core/sdk/patterns/registry.js +80 -0
  97. package/build/cs-agent-core/sdk/patterns/registry.js.map +1 -0
  98. package/build/cs-agent-core/sdk/telemetry/buffer.d.ts +9 -0
  99. package/build/cs-agent-core/sdk/telemetry/buffer.js +47 -0
  100. package/build/cs-agent-core/sdk/telemetry/buffer.js.map +1 -0
  101. package/build/cs-agent-core/sdk/telemetry/scrubber.d.ts +3 -0
  102. package/build/cs-agent-core/sdk/telemetry/scrubber.js +13 -0
  103. package/build/cs-agent-core/sdk/telemetry/scrubber.js.map +1 -0
  104. package/build/cs-agent-core/sdk/telemetry/types.d.ts +50 -0
  105. package/build/cs-agent-core/sdk/telemetry/types.js +2 -0
  106. package/build/cs-agent-core/sdk/telemetry/types.js.map +1 -0
  107. package/build/cs-agent-core/sdk/types/decision.d.ts +18 -0
  108. package/build/cs-agent-core/sdk/types/decision.js +2 -0
  109. package/build/cs-agent-core/sdk/types/decision.js.map +1 -0
  110. package/build/cs-agent-core/sdk/types/index.d.ts +4 -0
  111. package/build/cs-agent-core/sdk/types/index.js +5 -0
  112. package/build/cs-agent-core/sdk/types/index.js.map +1 -0
  113. package/build/cs-agent-core/sdk/types/pattern.d.ts +17 -0
  114. package/build/cs-agent-core/sdk/types/pattern.js +2 -0
  115. package/build/cs-agent-core/sdk/types/pattern.js.map +1 -0
  116. package/build/cs-agent-core/sdk/types/stack.d.ts +8 -0
  117. package/build/cs-agent-core/sdk/types/stack.js +2 -0
  118. package/build/cs-agent-core/sdk/types/stack.js.map +1 -0
  119. package/build/cs-agent-core/sdk/types/tool.d.ts +9 -0
  120. package/build/cs-agent-core/sdk/types/tool.js +2 -0
  121. package/build/cs-agent-core/sdk/types/tool.js.map +1 -0
  122. package/build/cs-agent-core/sdk/validator/csi.d.ts +2 -0
  123. package/build/cs-agent-core/sdk/validator/csi.js +24 -0
  124. package/build/cs-agent-core/sdk/validator/csi.js.map +1 -0
  125. package/build/cs-agent-core/sdk/validator/index.d.ts +2 -0
  126. package/build/cs-agent-core/sdk/validator/index.js +3 -0
  127. package/build/cs-agent-core/sdk/validator/index.js.map +1 -0
  128. package/build/cs-agent-core/sdk/validator/rules/geometry.d.ts +11 -0
  129. package/build/cs-agent-core/sdk/validator/rules/geometry.js +22 -0
  130. package/build/cs-agent-core/sdk/validator/rules/geometry.js.map +1 -0
  131. package/build/cs-agent-core/sdk/validator/validate.d.ts +2 -0
  132. package/build/cs-agent-core/sdk/validator/validate.js +46 -0
  133. package/build/cs-agent-core/sdk/validator/validate.js.map +1 -0
  134. package/build/index.d.ts +2 -0
  135. package/build/index.js +444 -0
  136. package/build/index.js.map +1 -0
  137. package/build/pingala-mcp/src/core/531-rule.d.ts +26 -0
  138. package/build/pingala-mcp/src/core/531-rule.js +96 -0
  139. package/build/pingala-mcp/src/core/531-rule.js.map +1 -0
  140. package/build/pingala-mcp/src/core/auth.d.ts +1 -0
  141. package/build/pingala-mcp/src/core/auth.js +15 -0
  142. package/build/pingala-mcp/src/core/auth.js.map +1 -0
  143. package/build/pingala-mcp/src/core/consent-manager.d.ts +17 -0
  144. package/build/pingala-mcp/src/core/consent-manager.js +104 -0
  145. package/build/pingala-mcp/src/core/consent-manager.js.map +1 -0
  146. package/build/pingala-mcp/src/core/csp.d.ts +12 -0
  147. package/build/pingala-mcp/src/core/csp.js +20 -0
  148. package/build/pingala-mcp/src/core/csp.js.map +1 -0
  149. package/build/pingala-mcp/src/core/engagement-analyzer.d.ts +42 -0
  150. package/build/pingala-mcp/src/core/engagement-analyzer.js +71 -0
  151. package/build/pingala-mcp/src/core/engagement-analyzer.js.map +1 -0
  152. package/build/pingala-mcp/src/core/governor.d.ts +104 -0
  153. package/build/pingala-mcp/src/core/governor.js +359 -0
  154. package/build/pingala-mcp/src/core/governor.js.map +1 -0
  155. package/build/pingala-mcp/src/core/life-area-mapper.d.ts +39 -0
  156. package/build/pingala-mcp/src/core/life-area-mapper.js +73 -0
  157. package/build/pingala-mcp/src/core/life-area-mapper.js.map +1 -0
  158. package/build/pingala-mcp/src/core/methodology.d.ts +39 -0
  159. package/build/pingala-mcp/src/core/methodology.js +164 -0
  160. package/build/pingala-mcp/src/core/methodology.js.map +1 -0
  161. package/build/pingala-mcp/src/core/pingala.d.ts +25 -0
  162. package/build/pingala-mcp/src/core/pingala.js +56 -0
  163. package/build/pingala-mcp/src/core/pingala.js.map +1 -0
  164. package/build/pingala-mcp/src/core/sdk-adapter.d.ts +6 -0
  165. package/build/pingala-mcp/src/core/sdk-adapter.js +33 -0
  166. package/build/pingala-mcp/src/core/sdk-adapter.js.map +1 -0
  167. package/build/pingala-mcp/src/index.d.ts +1 -0
  168. package/build/pingala-mcp/src/index.js +221 -0
  169. package/build/pingala-mcp/src/index.js.map +1 -0
  170. package/build/pingala-mcp/src/test-l3.d.ts +1 -0
  171. package/build/pingala-mcp/src/test-l3.js +35 -0
  172. package/build/pingala-mcp/src/test-l3.js.map +1 -0
  173. package/build/pingala-mcp/src/tools/audit-workspace.d.ts +16 -0
  174. package/build/pingala-mcp/src/tools/audit-workspace.js +39 -0
  175. package/build/pingala-mcp/src/tools/audit-workspace.js.map +1 -0
  176. package/build/pingala-mcp/src/tools/calculate-csi.d.ts +24 -0
  177. package/build/pingala-mcp/src/tools/calculate-csi.js +29 -0
  178. package/build/pingala-mcp/src/tools/calculate-csi.js.map +1 -0
  179. package/build/pingala-mcp/src/tools/cs-audit.d.ts +54 -0
  180. package/build/pingala-mcp/src/tools/cs-audit.js +310 -0
  181. package/build/pingala-mcp/src/tools/cs-audit.js.map +1 -0
  182. package/build/pingala-mcp/src/tools/get-governance-context.d.ts +11 -0
  183. package/build/pingala-mcp/src/tools/get-governance-context.js +16 -0
  184. package/build/pingala-mcp/src/tools/get-governance-context.js.map +1 -0
  185. package/build/pingala-mcp/src/tools/validate-stack-change.d.ts +41 -0
  186. package/build/pingala-mcp/src/tools/validate-stack-change.js +35 -0
  187. package/build/pingala-mcp/src/tools/validate-stack-change.js.map +1 -0
  188. package/build/sdk/index.d.ts +6 -0
  189. package/build/sdk/index.js +18 -0
  190. package/build/sdk/index.js.map +1 -0
  191. package/build/sdk/patterns/index.d.ts +3 -0
  192. package/build/sdk/patterns/index.js +37 -0
  193. package/build/sdk/patterns/index.js.map +1 -0
  194. package/build/sdk/patterns/registry.d.ts +4 -0
  195. package/build/sdk/patterns/registry.js +80 -0
  196. package/build/sdk/patterns/registry.js.map +1 -0
  197. package/build/sdk/telemetry/buffer.d.ts +9 -0
  198. package/build/sdk/telemetry/buffer.js +47 -0
  199. package/build/sdk/telemetry/buffer.js.map +1 -0
  200. package/build/sdk/telemetry/scrubber.d.ts +3 -0
  201. package/build/sdk/telemetry/scrubber.js +13 -0
  202. package/build/sdk/telemetry/scrubber.js.map +1 -0
  203. package/build/sdk/telemetry/types.d.ts +50 -0
  204. package/build/sdk/telemetry/types.js +2 -0
  205. package/build/sdk/telemetry/types.js.map +1 -0
  206. package/build/sdk/types/decision.d.ts +18 -0
  207. package/build/sdk/types/decision.js +2 -0
  208. package/build/sdk/types/decision.js.map +1 -0
  209. package/build/sdk/types/index.d.ts +4 -0
  210. package/build/sdk/types/index.js +5 -0
  211. package/build/sdk/types/index.js.map +1 -0
  212. package/build/sdk/types/pattern.d.ts +17 -0
  213. package/build/sdk/types/pattern.js +2 -0
  214. package/build/sdk/types/pattern.js.map +1 -0
  215. package/build/sdk/types/stack.d.ts +8 -0
  216. package/build/sdk/types/stack.js +2 -0
  217. package/build/sdk/types/stack.js.map +1 -0
  218. package/build/sdk/types/tool.d.ts +9 -0
  219. package/build/sdk/types/tool.js +2 -0
  220. package/build/sdk/types/tool.js.map +1 -0
  221. package/build/sdk/validator/csi.d.ts +2 -0
  222. package/build/sdk/validator/csi.js +24 -0
  223. package/build/sdk/validator/csi.js.map +1 -0
  224. package/build/sdk/validator/index.d.ts +2 -0
  225. package/build/sdk/validator/index.js +3 -0
  226. package/build/sdk/validator/index.js.map +1 -0
  227. package/build/sdk/validator/rules/geometry.d.ts +11 -0
  228. package/build/sdk/validator/rules/geometry.js +22 -0
  229. package/build/sdk/validator/rules/geometry.js.map +1 -0
  230. package/build/sdk/validator/validate.d.ts +2 -0
  231. package/build/sdk/validator/validate.js +46 -0
  232. package/build/sdk/validator/validate.js.map +1 -0
  233. package/build/src/core/531-rule.d.ts +26 -0
  234. package/build/src/core/531-rule.js +96 -0
  235. package/build/src/core/531-rule.js.map +1 -0
  236. package/build/src/core/auth.d.ts +1 -0
  237. package/build/src/core/auth.js +15 -0
  238. package/build/src/core/auth.js.map +1 -0
  239. package/build/src/core/consent-manager.d.ts +17 -0
  240. package/build/src/core/consent-manager.js +104 -0
  241. package/build/src/core/consent-manager.js.map +1 -0
  242. package/build/src/core/csp.d.ts +12 -0
  243. package/build/src/core/csp.js +20 -0
  244. package/build/src/core/csp.js.map +1 -0
  245. package/build/src/core/engagement-analyzer.d.ts +42 -0
  246. package/build/src/core/engagement-analyzer.js +71 -0
  247. package/build/src/core/engagement-analyzer.js.map +1 -0
  248. package/build/src/core/governor.d.ts +104 -0
  249. package/build/src/core/governor.js +371 -0
  250. package/build/src/core/governor.js.map +1 -0
  251. package/build/src/core/life-area-mapper.d.ts +39 -0
  252. package/build/src/core/life-area-mapper.js +73 -0
  253. package/build/src/core/life-area-mapper.js.map +1 -0
  254. package/build/src/core/methodology.d.ts +39 -0
  255. package/build/src/core/methodology.js +164 -0
  256. package/build/src/core/methodology.js.map +1 -0
  257. package/build/src/core/pingala.d.ts +25 -0
  258. package/build/src/core/pingala.js +56 -0
  259. package/build/src/core/pingala.js.map +1 -0
  260. package/build/src/core/sdk-adapter.d.ts +8 -0
  261. package/build/src/core/sdk-adapter.js +34 -0
  262. package/build/src/core/sdk-adapter.js.map +1 -0
  263. package/build/src/index.d.ts +2 -0
  264. package/build/src/index.js +333 -0
  265. package/build/src/index.js.map +1 -0
  266. package/build/src/test-l3.d.ts +1 -0
  267. package/build/src/test-l3.js +35 -0
  268. package/build/src/test-l3.js.map +1 -0
  269. package/build/src/tools/audit-workspace.d.ts +16 -0
  270. package/build/src/tools/audit-workspace.js +39 -0
  271. package/build/src/tools/audit-workspace.js.map +1 -0
  272. package/build/src/tools/calculate-csi.d.ts +24 -0
  273. package/build/src/tools/calculate-csi.js +29 -0
  274. package/build/src/tools/calculate-csi.js.map +1 -0
  275. package/build/src/tools/cs-audit.d.ts +54 -0
  276. package/build/src/tools/cs-audit.js +310 -0
  277. package/build/src/tools/cs-audit.js.map +1 -0
  278. package/build/src/tools/get-governance-context.d.ts +11 -0
  279. package/build/src/tools/get-governance-context.js +16 -0
  280. package/build/src/tools/get-governance-context.js.map +1 -0
  281. package/build/src/tools/validate-stack-change.d.ts +41 -0
  282. package/build/src/tools/validate-stack-change.js +35 -0
  283. package/build/src/tools/validate-stack-change.js.map +1 -0
  284. package/build/test-l3.d.ts +1 -0
  285. package/build/test-l3.js +35 -0
  286. package/build/test-l3.js.map +1 -0
  287. package/build/tools/analyze-stack.d.ts +40 -0
  288. package/build/tools/analyze-stack.js +121 -0
  289. package/build/tools/analyze-stack.js.map +1 -0
  290. package/build/tools/audit-workspace.d.ts +16 -0
  291. package/build/tools/audit-workspace.js +39 -0
  292. package/build/tools/audit-workspace.js.map +1 -0
  293. package/build/tools/calculate-csi.d.ts +26 -0
  294. package/build/tools/calculate-csi.js +30 -0
  295. package/build/tools/calculate-csi.js.map +1 -0
  296. package/build/tools/cs-audit.d.ts +43 -0
  297. package/build/tools/cs-audit.js +330 -0
  298. package/build/tools/cs-audit.js.map +1 -0
  299. package/build/tools/get-governance-context.d.ts +11 -0
  300. package/build/tools/get-governance-context.js +61 -0
  301. package/build/tools/get-governance-context.js.map +1 -0
  302. package/build/tools/validate-stack-change.d.ts +41 -0
  303. package/build/tools/validate-stack-change.js +54 -0
  304. package/build/tools/validate-stack-change.js.map +1 -0
  305. package/package.json +34 -0
  306. package/scripts/cloud-bridge.js +62 -0
  307. package/scripts/generate-token.js +13 -0
  308. package/src/core/531-rule.ts +148 -0
  309. package/src/core/auth.ts +42 -0
  310. package/src/core/consent-manager.ts +134 -0
  311. package/src/core/csp.ts +40 -0
  312. package/src/core/engagement-analyzer.ts +122 -0
  313. package/src/core/governor.ts +522 -0
  314. package/src/core/life-area-mapper.ts +138 -0
  315. package/src/core/methodology.ts +256 -0
  316. package/src/core/pingala.ts +77 -0
  317. package/src/core/sdk-adapter.ts +52 -0
  318. package/src/index.ts +562 -0
  319. package/src/test-l3.ts +45 -0
  320. package/src/tools/analyze-stack.ts +153 -0
  321. package/src/tools/audit-workspace.ts +50 -0
  322. package/src/tools/calculate-csi.ts +38 -0
  323. package/src/tools/cs-audit.ts +384 -0
  324. package/src/tools/get-governance-context.ts +69 -0
  325. package/src/tools/validate-stack-change.ts +71 -0
  326. package/src/types.d.ts +2 -0
  327. package/tsconfig.json +40 -0
  328. 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,8 @@
1
+ import { ToolInstance } from './531-rule.js';
2
+ import { getRegistryMode as sdkGetRegistryMode, flushTelemetry as sdkFlushTelemetry } from '../../sdk/index.js';
3
+ import type { StackProfile } from '../../sdk/index.js';
4
+ export declare function mapToSDK(tools: ToolInstance[], operatorId?: string): StackProfile;
5
+ export declare function performSDKValidation(tools: ToolInstance[], operatorId?: string): Promise<import("sdk/types/decision.js").GovernanceDecision>;
6
+ export declare function initPingalaTelemetry(consentTier?: 'observer' | 'contributor' | 'sentinel'): void;
7
+ export declare const getRegistryMode: typeof sdkGetRegistryMode;
8
+ export declare const flushTelemetry: typeof sdkFlushTelemetry;
@@ -0,0 +1,34 @@
1
+ import { validate as sdkValidate, initTelemetry as sdkInitTelemetry, getRegistryMode as sdkGetRegistryMode, flushTelemetry as sdkFlushTelemetry } from '../../sdk/index.js';
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 const getRegistryMode = sdkGetRegistryMode;
33
+ export const flushTelemetry = sdkFlushTelemetry;
34
+ //# sourceMappingURL=sdk-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-adapter.js","sourceRoot":"","sources":["../../../src/core/sdk-adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAE,aAAa,IAAI,gBAAgB,EAAE,eAAe,IAAI,kBAAkB,EAAE,cAAc,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAO5K,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;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAClD,MAAM,CAAC,MAAM,cAAc,GAAG,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ declare const app: any;
2
+ export default app;
@@ -0,0 +1,333 @@
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 { initPingalaTelemetry, 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
+ try {
25
+ initPingalaTelemetry('contributor');
26
+ }
27
+ catch (e) {
28
+ console.error("[Pingala] Telemetry initialization failed (likely missing SDK)", e);
29
+ }
30
+ const rules = MethodologyLoader.load531Rules();
31
+ const protocolDesc = rules.rawDescription || "1 Anchor, 3 Active, 5 Supporting";
32
+ server.tool(csAuditTool.name, `${csAuditTool.description} (Protocol Rule: ${protocolDesc})`, csAuditTool.schema, csAuditTool.handler);
33
+ server.tool(validateStackChangeTool.name, validateStackChangeTool.description, validateStackChangeTool.schema, validateStackChangeTool.handler);
34
+ server.tool(getGovernanceContextTool.name, getGovernanceContextTool.description, getGovernanceContextTool.schema, getGovernanceContextTool.handler);
35
+ server.tool(calculateCsiTool.name, calculateCsiTool.description, calculateCsiTool.schema, calculateCsiTool.handler);
36
+ server.resource("current-stack", "cstack://stack-map/current", {
37
+ description: "The current 5:3:1 hierarchy of tools",
38
+ mimeType: "application/json"
39
+ }, async (uri) => {
40
+ const stack = Governor.getStack();
41
+ return {
42
+ contents: [{
43
+ uri: uri.href,
44
+ text: JSON.stringify({
45
+ anchor: stack.find(t => t.role === 'Anchor') || null,
46
+ active: stack.filter(t => t.role === 'Active'),
47
+ supporting: stack.filter(t => t.role === 'Supporting')
48
+ }, null, 2)
49
+ }]
50
+ };
51
+ });
52
+ server.resource("maturity-status", "cstack://maturity/status", {
53
+ description: "Current maturity level and days of stability",
54
+ mimeType: "application/json"
55
+ }, async (uri) => {
56
+ const state = Governor.getMaturityState();
57
+ return {
58
+ contents: [{
59
+ uri: uri.href,
60
+ text: JSON.stringify(state, null, 2)
61
+ }]
62
+ };
63
+ });
64
+ server.resource("latest-csi", "cstack://csi/latest", {
65
+ description: "Current Conscious Stack Index (CSI) with component breakdown",
66
+ mimeType: "application/json"
67
+ }, async (uri) => {
68
+ const stack = Governor.getStack();
69
+ const diagnosis = await PingalaEngine.diagnose({ tools: stack });
70
+ return {
71
+ contents: [{
72
+ uri: uri.href,
73
+ text: JSON.stringify(diagnosis, null, 2)
74
+ }]
75
+ };
76
+ });
77
+ server.resource("stack-drift", "cstack://drift/current", {
78
+ description: "Current architectural drift signals and score",
79
+ mimeType: "application/json"
80
+ }, async (uri) => {
81
+ const drift = Governor.getStackDriftScore();
82
+ return {
83
+ contents: [{
84
+ uri: uri.href,
85
+ text: JSON.stringify(drift, null, 2)
86
+ }]
87
+ };
88
+ });
89
+ server.prompt("inject-constraints", {
90
+ base_prompt: z.string().describe("The user's original request")
91
+ }, async (args) => {
92
+ const stack = Governor.getStack();
93
+ const state = Governor.getMaturityState();
94
+ const diagnosis = await PingalaEngine.diagnose({ tools: stack });
95
+ const context = Governor.getGovernanceContext();
96
+ const mode = getRegistryMode();
97
+ const modeFlag = mode === 'Authorized' ? 'COLLECTIVE MODE (Authorized)' : 'SOVEREIGN MODE (Local-First)';
98
+ const connectionDetails = mode === 'Authorized'
99
+ ? 'Connected to patterns.consciousstack.com (Live Registry)'
100
+ : 'Using local patterns and public registry fallback.';
101
+ return {
102
+ messages: [{
103
+ role: "user",
104
+ content: {
105
+ type: "text",
106
+ text: `GOVERNANCE CONTEXT [${modeFlag}]:
107
+ - Functional Nodes: ${JSON.stringify(context.functional_nodes)}
108
+ - Maturity Level: ${state.level} (${state.level_name}) - ${state.stability_days} days stable
109
+ - CSI Score: ${diagnosis.csi_score} [${diagnosis.risk_band}] (Blended: SDK Logic + Fragmentation)
110
+ - CSI Delta: ${context.progression.csi_delta > 0 ? '+' : ''}${context.progression.csi_delta}
111
+ - SDK Violations: ${diagnosis.protocol_analysis.violations.length > 0 ? diagnosis.protocol_analysis.violations.join('; ') : 'None'}
112
+ - Allowed Actions: ${context.allowed_actions.join(", ")}
113
+ - Blocked Actions: ${context.blocked_actions.join(", ")}
114
+
115
+ REGISTRY & MOAT:
116
+ - Status: ${connectionDetails}
117
+ - Data Moat: ${mode === 'Authorized' ? 'ACTIVE (Contributing anonymized signals)' : 'PENDING (Key required for contribution)'}
118
+ - Privacy Guard: Tool names are NEVER captured, only Categories (e.g., 'Productivity').
119
+
120
+ CONSTRAINTS (Horizon 1.5 - Functional Scaling):
121
+ - 5:3:1 Protocol: Max 1 Anchor Node, 3 Active Nodes, 5 Supporting Nodes (9 Functional Slots Total).
122
+ - Subtraction over addition: Always explore removal before addition.
123
+ - CSI threshold: No destabilizing changes if CSI < 70.
124
+ - Maturity gate: Level ${state.level} requires specific stability before expansion (${context.progression.days_remaining} days remaining).
125
+
126
+ INSTRUCTIONS:
127
+ 1. Review 'SDK Violations' first. These represent specific Failure Patterns (e.g., 'Anchor Void') from the registry.
128
+ 2. If tool changes are requested, call validate_stack_change() immediately.
129
+ 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."
130
+ 4. Your goal: High Resonance (CSI > 85). Minimize Fragmentation and maximize Decision Provenance.
131
+
132
+ USER REQUEST:
133
+ ${args.base_prompt}`
134
+ }
135
+ }]
136
+ };
137
+ });
138
+ server.prompt("canonical-output", {
139
+ analysis_type: z.enum(["audit", "mirror", "zoning"]).describe("Type of analysis being performed")
140
+ }, async (args) => {
141
+ return {
142
+ messages: [{
143
+ role: "user",
144
+ content: {
145
+ type: "text",
146
+ text: `Respond using the Pingala canonical structure for ${args.analysis_type}:
147
+
148
+ ## 1. Target State
149
+ [Define desired operating condition with specific metrics]
150
+
151
+ ## 2. Current State
152
+ [Summarize present signals from stack, CSI, telemetry]
153
+
154
+ ## 3. Recommendations
155
+ [3-5 actionable changes tied to Target State]
156
+
157
+ ## 4. Guardrails
158
+ [Rules that prevent erosion]
159
+
160
+ ## 5. Workflow Improvements
161
+ [Concrete protocol changes]
162
+
163
+ ## 6. Crystalline Geometry
164
+ [Identify hex/cubic patterns and evolution path]
165
+
166
+ ## 7. Additional Info
167
+ [Assumptions, caveats, telemetry notes]`
168
+ }
169
+ }]
170
+ };
171
+ });
172
+ server.prompt("augmentation-only", {
173
+ decision_context: z.string().describe("What decision needs to be made")
174
+ }, async (args) => {
175
+ return {
176
+ messages: [{
177
+ role: "user",
178
+ content: {
179
+ type: "text",
180
+ text: `AUGMENTATION MODE ACTIVE
181
+
182
+ Your role: Provide analysis and options
183
+ Human's role: Make final decision and own the outcome
184
+
185
+ Decision context: ${args.decision_context}
186
+
187
+ Provide:
188
+ 1. Key factors to consider
189
+ 2. 2-3 options with tradeoffs
190
+ 3. Data/evidence supporting each option
191
+ 4. Potential risks and mitigations
192
+
193
+ Do NOT:
194
+ - Make the decision for the human
195
+ - Use language like 'you should' or 'I recommend'
196
+ - Provide a single answer without alternatives
197
+
198
+ End with: 'What do you decide?'`
199
+ }
200
+ }]
201
+ };
202
+ });
203
+ import { validateToken } from "./core/auth.js";
204
+ const app = express();
205
+ app.use(cors());
206
+ let transport = null;
207
+ app.use("/sse", validateToken);
208
+ app.use("/messages", validateToken);
209
+ app.get("/health", (req, res) => {
210
+ res.json({
211
+ status: "alive",
212
+ engine: "Pingala 0.4.0-cloud",
213
+ time: new Date().toISOString(),
214
+ env: {
215
+ vercel: !!process.env.VERCEL,
216
+ node_env: process.env.NODE_ENV
217
+ }
218
+ });
219
+ });
220
+ app.get("/", (req, res) => {
221
+ res.send(`
222
+ <!DOCTYPE html>
223
+ <html lang="en">
224
+ <head>
225
+ <meta charset="UTF-8">
226
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
227
+ <title>Pingala Cloud Governance</title>
228
+ <link rel="preconnect" href="https://fonts.googleapis.com">
229
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
230
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;700&family=Outfit:wght@300;600&display=swap" rel="stylesheet">
231
+ <style>
232
+ :root {
233
+ --bg: #0a0a0c;
234
+ --fg: #e2e2e4;
235
+ --accent: #9a86fd;
236
+ --glass: rgba(255, 255, 255, 0.05);
237
+ }
238
+ body {
239
+ margin: 0;
240
+ padding: 0;
241
+ background: var(--bg);
242
+ color: var(--fg);
243
+ font-family: 'Inter', sans-serif;
244
+ display: flex;
245
+ flex-direction: column;
246
+ align-items: center;
247
+ justify-content: center;
248
+ min-height: 100vh;
249
+ overflow: hidden;
250
+ }
251
+ .container {
252
+ text-align: center;
253
+ z-index: 10;
254
+ padding: 2rem;
255
+ background: var(--glass);
256
+ backdrop-filter: blur(20px);
257
+ border: 1px solid rgba(255, 255, 255, 0.1);
258
+ border-radius: 24px;
259
+ max-width: 600px;
260
+ }
261
+ h1 {
262
+ font-family: 'Outfit', sans-serif;
263
+ font-size: 3rem;
264
+ margin: 0;
265
+ background: linear-gradient(135deg, #fff 0%, var(--accent) 100%);
266
+ -webkit-background-clip: text;
267
+ -webkit-text-fill-color: transparent;
268
+ }
269
+ p {
270
+ color: #a1a1aa;
271
+ line-height: 1.6;
272
+ margin: 1.5rem 0;
273
+ }
274
+ .details {
275
+ text-align: left;
276
+ background: rgba(0,0,0,0.3);
277
+ padding: 1.5rem;
278
+ border-radius: 12px;
279
+ margin-top: 2rem;
280
+ font-family: monospace;
281
+ font-size: 0.9rem;
282
+ border-left: 4px solid var(--accent);
283
+ }
284
+ .glow {
285
+ position: absolute;
286
+ width: 600px;
287
+ height: 600px;
288
+ background: radial-gradient(circle, rgba(154, 134, 253, 0.15) 0%, transparent 70%);
289
+ top: 50%;
290
+ left: 50%;
291
+ transform: translate(-50%, -50%);
292
+ z-index: 1;
293
+ }
294
+ </style>
295
+ </head>
296
+ <body>
297
+ <div class="glow"></div>
298
+ <div class="container">
299
+ <h1>Pingala Cloud</h1>
300
+ <p>Architectural Guardrails for AI Autonomy.<br>The first Governance Layer for the Post-Clock Era.</p>
301
+ <div class="details">
302
+ <strong>Endpoint:</strong> mcp.consciousstack.com/sse<br>
303
+ <strong>Transport:</strong> SSE (Server-Sent Events)<br>
304
+ <strong>Auth:</strong> Bearer Token Required
305
+ </div>
306
+ <p style="font-size: 0.8rem; opacity: 0.5; margin-top: 2rem;">&copy; 2026 Conscious Stack Protocol</p>
307
+ </div>
308
+ </body>
309
+ </html>
310
+ `);
311
+ });
312
+ app.get("/sse", async (req, res) => {
313
+ transport = new SSEServerTransport("/messages", res);
314
+ await server.connect(transport);
315
+ });
316
+ app.post("/messages", async (req, res) => {
317
+ if (transport) {
318
+ await transport.handlePostMessage(req, res);
319
+ }
320
+ else {
321
+ res.status(400).send("No active SSE connection");
322
+ }
323
+ });
324
+ const PORT = process.env.PORT || 3000;
325
+ if (process.env.NODE_ENV !== 'production' || !process.env.VERCEL) {
326
+ app.listen(PORT, () => {
327
+ console.log(`Pingala MCP Cloud Server running on port ${PORT}`);
328
+ console.log(`SSE endpoint: /sse`);
329
+ console.log(`Messages endpoint: /messages`);
330
+ });
331
+ }
332
+ export default app;
333
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}