@neuroverseos/governance 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/LICENSE.md +190 -0
  2. package/README.md +472 -115
  3. package/dist/adapters/express.cjs +874 -0
  4. package/dist/adapters/express.d.cts +66 -0
  5. package/dist/adapters/express.d.ts +66 -0
  6. package/dist/adapters/express.js +10 -0
  7. package/dist/adapters/index.cjs +1166 -0
  8. package/dist/adapters/index.d.cts +5 -0
  9. package/dist/adapters/index.d.ts +5 -0
  10. package/dist/adapters/index.js +40 -0
  11. package/dist/adapters/langchain.cjs +861 -0
  12. package/dist/adapters/langchain.d.cts +82 -0
  13. package/dist/adapters/langchain.d.ts +82 -0
  14. package/dist/adapters/langchain.js +14 -0
  15. package/dist/adapters/openai.cjs +891 -0
  16. package/dist/adapters/openai.d.cts +92 -0
  17. package/dist/adapters/openai.d.ts +92 -0
  18. package/dist/adapters/openai.js +14 -0
  19. package/dist/adapters/openclaw.cjs +883 -0
  20. package/dist/adapters/openclaw.d.cts +92 -0
  21. package/dist/adapters/openclaw.d.ts +92 -0
  22. package/dist/adapters/openclaw.js +14 -0
  23. package/dist/bootstrap-H4HHKQ5G.js +113 -0
  24. package/dist/build-73KAVHEY.js +308 -0
  25. package/dist/chunk-4NGDRRQH.js +10 -0
  26. package/dist/chunk-B4NF3OLW.js +673 -0
  27. package/dist/chunk-BUWWN2NX.js +192 -0
  28. package/dist/chunk-CROPZ75A.js +107 -0
  29. package/dist/chunk-D7BGWV2J.js +620 -0
  30. package/dist/chunk-EIUHJXBB.js +340 -0
  31. package/dist/chunk-EQXFOKH2.js +85 -0
  32. package/dist/chunk-FYPYZFV5.js +187 -0
  33. package/dist/chunk-FYS2CBUW.js +304 -0
  34. package/dist/chunk-FZQCRGUU.js +115 -0
  35. package/dist/chunk-I3RRAYK2.js +11 -0
  36. package/dist/chunk-ITJ3LCPG.js +225 -0
  37. package/dist/chunk-M3TZFGHO.js +79 -0
  38. package/dist/chunk-MWDQ4MJB.js +11 -0
  39. package/dist/chunk-O5OMJMIE.js +590 -0
  40. package/dist/chunk-T4X42QXC.js +121 -0
  41. package/dist/chunk-XPDMYECO.js +642 -0
  42. package/dist/chunk-Z2S2HIV5.js +100 -0
  43. package/dist/cli/neuroverse.cjs +5864 -0
  44. package/dist/cli/neuroverse.d.cts +1 -0
  45. package/dist/cli/neuroverse.d.ts +1 -0
  46. package/dist/cli/neuroverse.js +128 -0
  47. package/dist/configure-ai-46JVG56I.js +129 -0
  48. package/dist/derive-6NAEWLM5.js +150 -0
  49. package/dist/explain-3B3VB6TL.js +69 -0
  50. package/dist/guard-67Y66P3I.js +82 -0
  51. package/dist/guard-contract-D_RQz9kt.d.cts +529 -0
  52. package/dist/guard-contract-D_RQz9kt.d.ts +529 -0
  53. package/dist/impact-CHERK3O6.js +57 -0
  54. package/dist/improve-YG6I6ERG.js +84 -0
  55. package/dist/index.cjs +4227 -0
  56. package/dist/index.d.cts +1147 -0
  57. package/dist/index.d.ts +1139 -25
  58. package/dist/index.js +318 -1159
  59. package/dist/init-Z66T6TDI.js +142 -0
  60. package/dist/simulate-ETHHINZ4.js +107 -0
  61. package/dist/trace-3YODSSIP.js +164 -0
  62. package/dist/validate-UVE6GKQU.js +72 -0
  63. package/dist/validate-engine-657D75OG.js +6 -0
  64. package/dist/world-WLNHL5XC.js +298 -0
  65. package/dist/worlds/derivation-world.nv-world.md +278 -0
  66. package/package.json +74 -26
  67. package/LICENSE +0 -21
  68. package/dist/audit-logger.d.ts +0 -38
  69. package/dist/audit-logger.d.ts.map +0 -1
  70. package/dist/audit-logger.js +0 -100
  71. package/dist/audit-logger.js.map +0 -1
  72. package/dist/condition-engine.d.ts +0 -16
  73. package/dist/condition-engine.d.ts.map +0 -1
  74. package/dist/condition-engine.js +0 -186
  75. package/dist/condition-engine.js.map +0 -1
  76. package/dist/drift-monitor.d.ts +0 -81
  77. package/dist/drift-monitor.d.ts.map +0 -1
  78. package/dist/drift-monitor.js +0 -228
  79. package/dist/drift-monitor.js.map +0 -1
  80. package/dist/governance-engine.d.ts +0 -131
  81. package/dist/governance-engine.d.ts.map +0 -1
  82. package/dist/governance-engine.js +0 -660
  83. package/dist/governance-engine.js.map +0 -1
  84. package/dist/index.d.ts.map +0 -1
  85. package/dist/index.js.map +0 -1
  86. package/dist/types.d.ts +0 -196
  87. package/dist/types.d.ts.map +0 -1
  88. package/dist/types.js +0 -9
  89. package/dist/types.js.map +0 -1
  90. package/dist/world-bootstrap.d.ts +0 -31
  91. package/dist/world-bootstrap.d.ts.map +0 -1
  92. package/dist/world-bootstrap.js +0 -415
  93. package/dist/world-bootstrap.js.map +0 -1
  94. package/openclaw.plugin.json +0 -59
@@ -0,0 +1,121 @@
1
+ // src/providers/ai-provider.ts
2
+ var ChatCompletionsProvider = class {
3
+ model;
4
+ apiKey;
5
+ endpoint;
6
+ constructor(config) {
7
+ this.model = config.model;
8
+ this.apiKey = config.apiKey;
9
+ this.endpoint = config.endpoint ?? "https://api.openai.com/v1/chat/completions";
10
+ }
11
+ async complete(systemPrompt, userPrompt) {
12
+ const body = {
13
+ model: this.model,
14
+ messages: [
15
+ { role: "system", content: systemPrompt },
16
+ { role: "user", content: userPrompt }
17
+ ],
18
+ temperature: 0.2,
19
+ max_tokens: 16384
20
+ };
21
+ const response = await fetch(this.endpoint, {
22
+ method: "POST",
23
+ headers: {
24
+ "Content-Type": "application/json",
25
+ "Authorization": `Bearer ${this.apiKey}`
26
+ },
27
+ body: JSON.stringify(body)
28
+ });
29
+ if (!response.ok) {
30
+ const text = await response.text().catch(() => "");
31
+ throw new Error(`Provider returned ${response.status}: ${text.slice(0, 200)}`);
32
+ }
33
+ const data = await response.json();
34
+ const content = data?.choices?.[0]?.message?.content;
35
+ if (!content) {
36
+ throw new Error("Provider returned empty response \u2014 no content in choices[0].message.content");
37
+ }
38
+ return content;
39
+ }
40
+ };
41
+ function createProvider(config) {
42
+ return new ChatCompletionsProvider(config);
43
+ }
44
+
45
+ // src/providers/config-manager.ts
46
+ import { readFile, writeFile, mkdir, chmod } from "fs/promises";
47
+ import { join } from "path";
48
+ import { homedir } from "os";
49
+ function getConfigDir() {
50
+ const xdg = process.env.XDG_CONFIG_HOME;
51
+ if (xdg) return join(xdg, "neuroverse");
52
+ return join(homedir(), ".neuroverse");
53
+ }
54
+ function getConfigPath() {
55
+ return join(getConfigDir(), "config.json");
56
+ }
57
+ async function loadConfig() {
58
+ try {
59
+ const raw = await readFile(getConfigPath(), "utf-8");
60
+ const parsed = JSON.parse(raw);
61
+ if (!parsed.provider || !parsed.model || !parsed.apiKey) {
62
+ return null;
63
+ }
64
+ return {
65
+ provider: parsed.provider,
66
+ model: parsed.model,
67
+ apiKey: parsed.apiKey,
68
+ endpoint: parsed.endpoint ?? null
69
+ };
70
+ } catch {
71
+ return null;
72
+ }
73
+ }
74
+ async function saveConfig(config) {
75
+ const dir = getConfigDir();
76
+ await mkdir(dir, { recursive: true });
77
+ const configPath = getConfigPath();
78
+ const content = JSON.stringify(
79
+ {
80
+ provider: config.provider,
81
+ model: config.model,
82
+ apiKey: config.apiKey,
83
+ endpoint: config.endpoint
84
+ },
85
+ null,
86
+ 2
87
+ );
88
+ await writeFile(configPath, content, { mode: 384 });
89
+ await chmod(configPath, 384);
90
+ }
91
+ function redactConfig(config) {
92
+ return {
93
+ provider: config.provider,
94
+ model: config.model,
95
+ apiKey: config.apiKey ? `${config.apiKey.slice(0, 4)}...${config.apiKey.slice(-4)}` : "(not set)",
96
+ endpoint: config.endpoint
97
+ };
98
+ }
99
+
100
+ // src/contracts/derive-contract.ts
101
+ var DERIVE_EXIT_CODES = {
102
+ SUCCESS: 0,
103
+ VALIDATION_FAIL: 1,
104
+ INPUT_ERROR: 2,
105
+ PROVIDER_ERROR: 3
106
+ };
107
+ var CONFIGURE_AI_EXIT_CODES = {
108
+ SUCCESS: 0,
109
+ VALIDATION_FAIL: 1,
110
+ ERROR: 3
111
+ };
112
+
113
+ export {
114
+ createProvider,
115
+ getConfigPath,
116
+ loadConfig,
117
+ saveConfig,
118
+ redactConfig,
119
+ DERIVE_EXIT_CODES,
120
+ CONFIGURE_AI_EXIT_CODES
121
+ };