@neuroverseos/governance 0.5.0 → 0.6.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/README.md +244 -0
- package/dist/adapters/autoresearch.d.cts +2 -1
- package/dist/adapters/autoresearch.d.ts +2 -1
- package/dist/adapters/autoresearch.js +2 -2
- package/dist/adapters/deep-agents.d.cts +3 -2
- package/dist/adapters/deep-agents.d.ts +3 -2
- package/dist/adapters/deep-agents.js +2 -2
- package/dist/adapters/express.d.cts +2 -1
- package/dist/adapters/express.d.ts +2 -1
- package/dist/adapters/express.js +2 -2
- package/dist/adapters/github.cjs +1697 -0
- package/dist/adapters/github.d.cts +225 -0
- package/dist/adapters/github.d.ts +225 -0
- package/dist/adapters/github.js +27 -0
- package/dist/adapters/index.d.cts +4 -316
- package/dist/adapters/index.d.ts +4 -316
- package/dist/adapters/index.js +23 -21
- package/dist/adapters/langchain.d.cts +3 -2
- package/dist/adapters/langchain.d.ts +3 -2
- package/dist/adapters/langchain.js +2 -2
- package/dist/adapters/mentraos.cjs +2181 -0
- package/dist/adapters/mentraos.d.cts +319 -0
- package/dist/adapters/mentraos.d.ts +319 -0
- package/dist/{mentraos-LLH7KEV4.js → adapters/mentraos.js} +12 -10
- package/dist/adapters/openai.d.cts +3 -2
- package/dist/adapters/openai.d.ts +3 -2
- package/dist/adapters/openai.js +2 -2
- package/dist/adapters/openclaw.d.cts +3 -2
- package/dist/adapters/openclaw.d.ts +3 -2
- package/dist/adapters/openclaw.js +2 -2
- package/dist/{add-LYHDZ5RL.js → add-XSANI3FK.js} +1 -1
- package/dist/admin/index.cjs +2214 -0
- package/dist/admin/index.d.cts +362 -0
- package/dist/admin/index.d.ts +362 -0
- package/dist/admin/index.js +703 -0
- package/dist/bootstrap-contract-DcV6t-8M.d.cts +216 -0
- package/dist/bootstrap-contract-DcV6t-8M.d.ts +216 -0
- package/dist/{build-SCAWPA7E.js → build-UTVDGHB3.js} +5 -5
- package/dist/{chunk-JKGPSFGH.js → chunk-7FL3U7Z5.js} +3 -3
- package/dist/chunk-A2UZTLRV.js +421 -0
- package/dist/{chunk-TD5GKIHP.js → chunk-B3IIPTY3.js} +3 -3
- package/dist/chunk-EQR7BGFN.js +337 -0
- package/dist/{chunk-5JUZ4HL7.js → chunk-FDPPZLSQ.js} +3 -3
- package/dist/{chunk-MFKHTE5R.js → chunk-FKQCPRKI.js} +3 -3
- package/dist/{chunk-7D7PZLB7.js → chunk-FS2UUJJO.js} +3 -3
- package/dist/{chunk-U6FRAEQJ.js → chunk-GJ6LM4JZ.js} +1 -441
- package/dist/chunk-H3REGQRI.js +107 -0
- package/dist/{chunk-25XHSTPT.js → chunk-HDNDL6D5.js} +3 -3
- package/dist/{chunk-BXLTEUS4.js → chunk-I4RTIMLX.js} +2 -2
- package/dist/chunk-IOVXB6QN.js +447 -0
- package/dist/{chunk-Y6WXAPKY.js → chunk-NTHXZAW4.js} +3 -3
- package/dist/{chunk-UTH7OXTM.js → chunk-OTZU76DH.js} +22 -4
- package/dist/{chunk-DWHUZUEY.js → chunk-T6GMRZWC.js} +3 -3
- package/dist/{chunk-V4FZHJQX.js → chunk-TIXVEPS2.js} +3 -3
- package/dist/{chunk-YNYCQECH.js → chunk-TJ5L2UTE.js} +3 -3
- package/dist/chunk-UGTNKTHS.js +542 -0
- package/dist/cli/neuroverse.cjs +3372 -523
- package/dist/cli/neuroverse.js +53 -21
- package/dist/cli/plan.js +2 -2
- package/dist/cli/run.cjs +242 -139
- package/dist/cli/run.js +23 -3
- package/dist/cli/worldmodel.cjs +1624 -0
- package/dist/cli/worldmodel.d.cts +24 -0
- package/dist/cli/worldmodel.d.ts +24 -0
- package/dist/cli/worldmodel.js +742 -0
- package/dist/{demo-66MMJTEH.js → demo-6W3YXLAX.js} +4 -4
- package/dist/{derive-AUQE3L3P.js → derive-42IJW7JI.js} +4 -4
- package/dist/{doctor-EY7LKSYY.js → doctor-XEMLO6UA.js} +3 -2
- package/dist/engine/bootstrap-emitter.cjs +241 -0
- package/dist/engine/bootstrap-emitter.d.cts +27 -0
- package/dist/engine/bootstrap-emitter.d.ts +27 -0
- package/dist/{bootstrap-emitter-GIMOJFOC.js → engine/bootstrap-emitter.js} +2 -2
- package/dist/engine/bootstrap-parser.cjs +560 -0
- package/dist/engine/bootstrap-parser.d.cts +96 -0
- package/dist/engine/bootstrap-parser.d.ts +96 -0
- package/dist/{bootstrap-parser-LBLGVEMU.js → engine/bootstrap-parser.js} +2 -2
- package/dist/engine/guard-engine.cjs +1116 -0
- package/dist/engine/guard-engine.d.cts +60 -0
- package/dist/engine/guard-engine.d.ts +60 -0
- package/dist/{guard-engine-N7TUIUU7.js → engine/guard-engine.js} +3 -3
- package/dist/engine/simulate-engine.cjs +390 -0
- package/dist/engine/simulate-engine.d.cts +105 -0
- package/dist/engine/simulate-engine.d.ts +105 -0
- package/dist/engine/simulate-engine.js +9 -0
- package/dist/engine/worldmodel-compiler.cjs +366 -0
- package/dist/engine/worldmodel-compiler.d.cts +46 -0
- package/dist/engine/worldmodel-compiler.d.ts +46 -0
- package/dist/engine/worldmodel-compiler.js +17 -0
- package/dist/engine/worldmodel-parser.cjs +566 -0
- package/dist/engine/worldmodel-parser.d.cts +22 -0
- package/dist/engine/worldmodel-parser.d.ts +22 -0
- package/dist/engine/worldmodel-parser.js +7 -0
- package/dist/{equity-penalties-WWC7UDQD.js → equity-penalties-CCO3GVHS.js} +6 -6
- package/dist/{explain-MUSGDT67.js → explain-HDFN4ION.js} +1 -1
- package/dist/{guard-W3BMQPBJ.js → guard-IHJEKHL2.js} +16 -4
- package/dist/{guard-contract-CLBbTGK_.d.ts → guard-contract-ddiIPlOg.d.cts} +2 -369
- package/dist/{guard-contract-CLBbTGK_.d.cts → guard-contract-q6HJAq3Q.d.ts} +2 -369
- package/dist/{improve-PJDAWW4Q.js → improve-LRORRYEX.js} +3 -3
- package/dist/index.cjs +471 -1
- package/dist/index.d.cts +14 -492
- package/dist/index.d.ts +14 -492
- package/dist/index.js +63 -42
- package/dist/keygen-BSZH3NM2.js +77 -0
- package/dist/{lens-IP6GIZ2Q.js → lens-TLDZQXBI.js} +152 -26
- package/dist/{mcp-server-OG3PPVD2.js → mcp-server-CKYBHXWK.js} +2 -2
- package/dist/migrate-NH5PVMX4.js +221 -0
- package/dist/{playground-4BK2XQ47.js → playground-3TTBN7XD.js} +5 -5
- package/dist/{redteam-BRZALBPP.js → redteam-W644UMWN.js} +3 -3
- package/dist/{session-SGRUT2UH.js → session-FMAROEIE.js} +2 -2
- package/dist/{shared-CwGpPheR.d.ts → shared-DAzdfWtU.d.ts} +1 -1
- package/dist/{shared-BGzmYP5g.d.cts → shared-PpalGKxc.d.cts} +1 -1
- package/dist/sign-RRELHKWM.js +11 -0
- package/dist/{simulate-FGXKIH7V.js → simulate-VT437EEL.js} +2 -2
- package/dist/{test-PT44BSYG.js → test-XDB2DH3L.js} +3 -3
- package/dist/types.cjs +18 -0
- package/dist/types.d.cts +370 -0
- package/dist/types.d.ts +370 -0
- package/dist/types.js +0 -0
- package/dist/{validate-Q5O5TGLT.js → validate-M52DX22Y.js} +1 -1
- package/dist/verify-6AVTWX75.js +151 -0
- package/dist/{world-V52ZMH26.js → world-O4HTQPDP.js} +1 -1
- package/dist/{world-loader-C4D3VPP3.js → world-loader-YTYFOP7D.js} +1 -1
- package/dist/worldmodel-contract-BPGhiuW5.d.cts +221 -0
- package/dist/worldmodel-contract-BPGhiuW5.d.ts +221 -0
- package/dist/worlds/auki-vanguard.worldmodel.md +116 -0
- package/dist/worlds/behavioral-demo.nv-world.md +130 -0
- package/dist/worlds/neuroverse-governance.worldmodel.md +115 -0
- package/package.json +44 -3
- package/dist/{bootstrap-IP5QMC3Q.js → bootstrap-2OW5ZLBL.js} +3 -3
- package/dist/{chunk-4G6WHPLI.js → chunk-735Z3HA4.js} +6 -6
- package/dist/{chunk-7QIAF377.js → chunk-CYDMUJVZ.js} +0 -0
- package/dist/{configure-ai-LL3VAPQW.js → configure-ai-5MP5DWTT.js} +3 -3
- package/dist/{decision-flow-3K4D72G4.js → decision-flow-IJPNMVQK.js} +3 -3
package/dist/index.js
CHANGED
|
@@ -1,14 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
generateImpactReport,
|
|
3
|
-
generateImpactReportFromFile,
|
|
4
|
-
renderImpactReport
|
|
5
|
-
} from "./chunk-OQU65525.js";
|
|
6
|
-
import {
|
|
7
|
-
GUARD_EXIT_CODES,
|
|
8
|
-
classifyIntentWithAI,
|
|
9
|
-
evaluateGuardWithAI,
|
|
10
|
-
extractContentFields
|
|
11
|
-
} from "./chunk-6CV4XG3J.js";
|
|
12
1
|
import {
|
|
13
2
|
actionToGuardEvent,
|
|
14
3
|
createGovernor,
|
|
@@ -18,7 +7,7 @@ import {
|
|
|
18
7
|
handleListPresets,
|
|
19
8
|
handleReasonRequest,
|
|
20
9
|
writeTempWorld
|
|
21
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-7FL3U7Z5.js";
|
|
22
11
|
import {
|
|
23
12
|
adaptationFromVerdict,
|
|
24
13
|
classifyAdaptation,
|
|
@@ -26,37 +15,31 @@ import {
|
|
|
26
15
|
generateAdaptationNarrative
|
|
27
16
|
} from "./chunk-CNSO6XW5.js";
|
|
28
17
|
import {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
readAuditLog,
|
|
34
|
-
summarizeAuditEvents,
|
|
35
|
-
verdictToAuditEvent
|
|
36
|
-
} from "./chunk-2VAWP6FI.js";
|
|
37
|
-
import {
|
|
38
|
-
explainWorld,
|
|
39
|
-
renderExplainText
|
|
40
|
-
} from "./chunk-ZJTDUCC2.js";
|
|
18
|
+
generateImpactReport,
|
|
19
|
+
generateImpactReportFromFile,
|
|
20
|
+
renderImpactReport
|
|
21
|
+
} from "./chunk-OQU65525.js";
|
|
41
22
|
import {
|
|
42
23
|
improveWorld,
|
|
43
24
|
renderImproveText
|
|
44
|
-
} from "./chunk-
|
|
45
|
-
import {
|
|
46
|
-
renderSimulateText,
|
|
47
|
-
simulateWorld
|
|
48
|
-
} from "./chunk-7QIAF377.js";
|
|
25
|
+
} from "./chunk-NTHXZAW4.js";
|
|
49
26
|
import {
|
|
50
27
|
BOOTSTRAP_EXIT_CODES
|
|
51
28
|
} from "./chunk-4NGDRRQH.js";
|
|
52
29
|
import {
|
|
53
30
|
VALIDATE_EXIT_CODES
|
|
54
31
|
} from "./chunk-I3RRAYK2.js";
|
|
32
|
+
import {
|
|
33
|
+
GUARD_EXIT_CODES,
|
|
34
|
+
classifyIntentWithAI,
|
|
35
|
+
evaluateGuardWithAI,
|
|
36
|
+
extractContentFields
|
|
37
|
+
} from "./chunk-6CV4XG3J.js";
|
|
55
38
|
import {
|
|
56
39
|
SessionManager,
|
|
57
40
|
runInteractiveMode,
|
|
58
41
|
runPipeMode
|
|
59
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-OTZU76DH.js";
|
|
60
43
|
import {
|
|
61
44
|
applyConsequence,
|
|
62
45
|
applyReward,
|
|
@@ -72,32 +55,55 @@ import {
|
|
|
72
55
|
} from "./chunk-A5W4GNQO.js";
|
|
73
56
|
import {
|
|
74
57
|
McpGovernanceServer
|
|
75
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-FDPPZLSQ.js";
|
|
76
59
|
import {
|
|
77
60
|
addGuard,
|
|
78
61
|
addInvariant,
|
|
79
62
|
addRule,
|
|
80
63
|
classifyIntent,
|
|
81
64
|
parseGuardDescription
|
|
82
|
-
} from "./chunk-
|
|
65
|
+
} from "./chunk-FS2UUJJO.js";
|
|
83
66
|
import {
|
|
84
67
|
deriveWorld,
|
|
85
68
|
extractWorldMarkdown,
|
|
86
69
|
normalizeWorldMarkdown
|
|
87
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-735Z3HA4.js";
|
|
88
71
|
import {
|
|
89
72
|
CONFIGURE_AI_EXIT_CODES,
|
|
90
73
|
DERIVE_EXIT_CODES
|
|
91
74
|
} from "./chunk-FMSTRBBS.js";
|
|
92
|
-
import "./chunk-INWQHLPS.js";
|
|
93
75
|
import "./chunk-OT6PXH54.js";
|
|
76
|
+
import "./chunk-INWQHLPS.js";
|
|
94
77
|
import {
|
|
95
78
|
validateWorld
|
|
96
79
|
} from "./chunk-7P3S7MAY.js";
|
|
80
|
+
import {
|
|
81
|
+
explainWorld,
|
|
82
|
+
renderExplainText
|
|
83
|
+
} from "./chunk-ZJTDUCC2.js";
|
|
84
|
+
import {
|
|
85
|
+
emitWorldDefinition
|
|
86
|
+
} from "./chunk-YPCVY4GS.js";
|
|
87
|
+
import {
|
|
88
|
+
parseWorldMarkdown
|
|
89
|
+
} from "./chunk-3NZMMSOW.js";
|
|
90
|
+
import {
|
|
91
|
+
renderSimulateText,
|
|
92
|
+
simulateWorld
|
|
93
|
+
} from "./chunk-CYDMUJVZ.js";
|
|
97
94
|
import {
|
|
98
95
|
PLAN_EXIT_CODES,
|
|
99
96
|
parsePlanMarkdown
|
|
100
97
|
} from "./chunk-6CZSKEY5.js";
|
|
98
|
+
import {
|
|
99
|
+
CompositeAuditLogger,
|
|
100
|
+
ConsoleAuditLogger,
|
|
101
|
+
FileAuditLogger,
|
|
102
|
+
createGovernanceEngine,
|
|
103
|
+
readAuditLog,
|
|
104
|
+
summarizeAuditEvents,
|
|
105
|
+
verdictToAuditEvent
|
|
106
|
+
} from "./chunk-2VAWP6FI.js";
|
|
101
107
|
import {
|
|
102
108
|
describeActiveWorld,
|
|
103
109
|
getActiveWorldName,
|
|
@@ -106,11 +112,21 @@ import {
|
|
|
106
112
|
setActiveWorld
|
|
107
113
|
} from "./chunk-AKW5YVCE.js";
|
|
108
114
|
import {
|
|
109
|
-
|
|
110
|
-
|
|
115
|
+
GitHubGovernanceBlockedError,
|
|
116
|
+
GitHubGovernor,
|
|
117
|
+
GitHubWebhookHandler,
|
|
118
|
+
createGitHubGovernor,
|
|
119
|
+
createGitHubGovernorFromWorld,
|
|
120
|
+
createGitHubWebhookHandler,
|
|
121
|
+
createGitHubWebhookHandlerFromWorld,
|
|
122
|
+
formatForActions,
|
|
123
|
+
formatPRComment
|
|
124
|
+
} from "./chunk-A2UZTLRV.js";
|
|
125
|
+
import "./chunk-5U2MQO5P.js";
|
|
111
126
|
import {
|
|
112
|
-
|
|
113
|
-
|
|
127
|
+
loadWorld,
|
|
128
|
+
loadWorldFromDirectory
|
|
129
|
+
} from "./chunk-I4RTIMLX.js";
|
|
114
130
|
import {
|
|
115
131
|
evaluateGuard,
|
|
116
132
|
eventToAllowlistKey,
|
|
@@ -122,10 +138,6 @@ import {
|
|
|
122
138
|
evaluatePlan,
|
|
123
139
|
getPlanProgress
|
|
124
140
|
} from "./chunk-QLPTHTVB.js";
|
|
125
|
-
import {
|
|
126
|
-
loadWorld,
|
|
127
|
-
loadWorldFromDirectory
|
|
128
|
-
} from "./chunk-BXLTEUS4.js";
|
|
129
141
|
import "./chunk-QWGCMQQD.js";
|
|
130
142
|
|
|
131
143
|
// src/engine/verdict-formatter.ts
|
|
@@ -406,6 +418,9 @@ export {
|
|
|
406
418
|
DERIVE_EXIT_CODES,
|
|
407
419
|
FileAuditLogger,
|
|
408
420
|
GUARD_EXIT_CODES,
|
|
421
|
+
GitHubGovernanceBlockedError,
|
|
422
|
+
GitHubGovernor,
|
|
423
|
+
GitHubWebhookHandler,
|
|
409
424
|
McpGovernanceServer,
|
|
410
425
|
ModelAdapter,
|
|
411
426
|
PLAN_EXIT_CODES,
|
|
@@ -425,6 +440,10 @@ export {
|
|
|
425
440
|
classifyIntent,
|
|
426
441
|
classifyIntentWithAI,
|
|
427
442
|
createAgentState,
|
|
443
|
+
createGitHubGovernor,
|
|
444
|
+
createGitHubGovernorFromWorld,
|
|
445
|
+
createGitHubWebhookHandler,
|
|
446
|
+
createGitHubWebhookHandlerFromWorld,
|
|
428
447
|
createGovernanceEngine,
|
|
429
448
|
createGovernor,
|
|
430
449
|
deriveWorld,
|
|
@@ -439,6 +458,8 @@ export {
|
|
|
439
458
|
explainWorld,
|
|
440
459
|
extractContentFields,
|
|
441
460
|
extractWorldMarkdown,
|
|
461
|
+
formatForActions,
|
|
462
|
+
formatPRComment,
|
|
442
463
|
formatVerdict,
|
|
443
464
|
formatVerdictOneLine,
|
|
444
465
|
generateAdaptationNarrative,
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import "./chunk-QWGCMQQD.js";
|
|
2
|
+
|
|
3
|
+
// src/cli/keygen.ts
|
|
4
|
+
import { generateKeyPairSync } from "crypto";
|
|
5
|
+
import { writeFileSync, mkdirSync, existsSync } from "fs";
|
|
6
|
+
import { join } from "path";
|
|
7
|
+
import { homedir } from "os";
|
|
8
|
+
var USAGE = `
|
|
9
|
+
neuroverse keygen \u2014 Generate Ed25519 signing keypair
|
|
10
|
+
|
|
11
|
+
Usage:
|
|
12
|
+
neuroverse keygen [--output <dir>] [--name <name>]
|
|
13
|
+
|
|
14
|
+
Options:
|
|
15
|
+
--output <dir> Key directory (default: ~/.neuroverse/keys/)
|
|
16
|
+
--name <name> Key name (default: neuroverse)
|
|
17
|
+
--force Overwrite existing keys
|
|
18
|
+
|
|
19
|
+
Examples:
|
|
20
|
+
neuroverse keygen
|
|
21
|
+
neuroverse keygen --name production --output ./keys/
|
|
22
|
+
`.trim();
|
|
23
|
+
function parseArgs(argv) {
|
|
24
|
+
let output = join(homedir(), ".neuroverse", "keys");
|
|
25
|
+
let name = "neuroverse";
|
|
26
|
+
let force = false;
|
|
27
|
+
let help = false;
|
|
28
|
+
for (let i = 0; i < argv.length; i++) {
|
|
29
|
+
const arg = argv[i];
|
|
30
|
+
if ((arg === "--output" || arg === "-o") && argv[i + 1]) {
|
|
31
|
+
output = argv[++i];
|
|
32
|
+
} else if ((arg === "--name" || arg === "-n") && argv[i + 1]) {
|
|
33
|
+
name = argv[++i];
|
|
34
|
+
} else if (arg === "--force") {
|
|
35
|
+
force = true;
|
|
36
|
+
} else if (arg === "--help" || arg === "-h") {
|
|
37
|
+
help = true;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return { output, name, force, help };
|
|
41
|
+
}
|
|
42
|
+
async function main(argv = process.argv.slice(2)) {
|
|
43
|
+
const args = parseArgs(argv);
|
|
44
|
+
if (args.help) {
|
|
45
|
+
process.stdout.write(USAGE + "\n");
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const pubPath = join(args.output, `${args.name}.pub`);
|
|
49
|
+
const keyPath = join(args.output, `${args.name}.key`);
|
|
50
|
+
if (!args.force && (existsSync(pubPath) || existsSync(keyPath))) {
|
|
51
|
+
process.stderr.write(`Keys already exist at ${args.output}/${args.name}.*
|
|
52
|
+
`);
|
|
53
|
+
process.stderr.write("Use --force to overwrite.\n");
|
|
54
|
+
process.exit(1);
|
|
55
|
+
}
|
|
56
|
+
const { publicKey, privateKey } = generateKeyPairSync("ed25519", {
|
|
57
|
+
publicKeyEncoding: { type: "spki", format: "pem" },
|
|
58
|
+
privateKeyEncoding: { type: "pkcs8", format: "pem" }
|
|
59
|
+
});
|
|
60
|
+
mkdirSync(args.output, { recursive: true });
|
|
61
|
+
writeFileSync(pubPath, publicKey, "utf-8");
|
|
62
|
+
writeFileSync(keyPath, privateKey, { encoding: "utf-8", mode: 384 });
|
|
63
|
+
process.stdout.write(`Keypair generated:
|
|
64
|
+
`);
|
|
65
|
+
process.stdout.write(` Public: ${pubPath}
|
|
66
|
+
`);
|
|
67
|
+
process.stdout.write(` Private: ${keyPath}
|
|
68
|
+
`);
|
|
69
|
+
process.stdout.write(`
|
|
70
|
+
Share the .pub file with anyone who needs to verify your worlds.
|
|
71
|
+
`);
|
|
72
|
+
process.stdout.write(`Keep the .key file secret.
|
|
73
|
+
`);
|
|
74
|
+
}
|
|
75
|
+
export {
|
|
76
|
+
main
|
|
77
|
+
};
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-BQZMOEML.js";
|
|
4
4
|
import {
|
|
5
5
|
loadWorld
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-I4RTIMLX.js";
|
|
7
7
|
import "./chunk-QWGCMQQD.js";
|
|
8
8
|
|
|
9
9
|
// src/builder/lens.ts
|
|
@@ -376,14 +376,14 @@ var MINIMALIST_LENS = {
|
|
|
376
376
|
}
|
|
377
377
|
]
|
|
378
378
|
};
|
|
379
|
-
var
|
|
380
|
-
id: "coach",
|
|
381
|
-
name: "Coach",
|
|
382
|
-
tagline: "
|
|
379
|
+
var LIFE_COACH_LENS = {
|
|
380
|
+
id: "life-coach",
|
|
381
|
+
name: "Life Coach",
|
|
382
|
+
tagline: "What's really going on for you right now?",
|
|
383
383
|
author: "NeuroverseOS",
|
|
384
|
-
version: "
|
|
385
|
-
description: "
|
|
386
|
-
tags: ["
|
|
384
|
+
version: "2.0.0",
|
|
385
|
+
description: "ICF-aligned professional coaching. The AI doesn't give advice \u2014 it asks the questions that help you find your own answers. Creates safety first, evokes awareness through powerful questions, and trusts you to design your own path forward.",
|
|
386
|
+
tags: ["coaching", "icf", "awareness", "growth", "autonomy", "presence"],
|
|
387
387
|
stackable: true,
|
|
388
388
|
priority: 50,
|
|
389
389
|
appliesTo: "all",
|
|
@@ -391,45 +391,111 @@ var COACH_LENS = {
|
|
|
391
391
|
formality: "casual",
|
|
392
392
|
verbosity: "concise",
|
|
393
393
|
emotion: "warm",
|
|
394
|
-
confidence: "
|
|
394
|
+
confidence: "balanced"
|
|
395
395
|
},
|
|
396
396
|
directives: [
|
|
397
397
|
{
|
|
398
|
-
id: "
|
|
398
|
+
id: "evoke_dont_advise",
|
|
399
399
|
scope: "behavior_shaping",
|
|
400
|
-
instruction:
|
|
400
|
+
instruction: 'Never give advice, solutions, or tell the user what to do. Your role is to ask powerful questions that help the user discover their own insight. If you feel the urge to suggest an action, convert it into a question. "Have you considered X?" is still advising. "What options do you see?" is coaching. The user is resourceful and capable \u2014 trust that. (ICF Competency 7: Evokes Awareness)',
|
|
401
401
|
example: {
|
|
402
|
-
without: "
|
|
403
|
-
with: "
|
|
402
|
+
without: "You should try waking up earlier. Set an alarm for 6am and put your phone across the room.",
|
|
403
|
+
with: "What would your morning look like if it actually worked for you?"
|
|
404
404
|
}
|
|
405
405
|
},
|
|
406
406
|
{
|
|
407
|
-
id: "
|
|
407
|
+
id: "listen_for_whats_unsaid",
|
|
408
408
|
scope: "response_framing",
|
|
409
|
-
instruction:
|
|
409
|
+
instruction: `Pay attention to what the user is NOT saying as much as what they are saying. Notice gaps, contradictions, energy shifts, and recurring themes. Reflect these back as observations, not judgments. "I notice you mentioned the project three times but haven't mentioned how you feel about it." Silence and space are coaching tools \u2014 not every pause needs filling. (ICF Competency 6: Listens Actively)`,
|
|
410
410
|
example: {
|
|
411
|
-
without: "
|
|
412
|
-
with: "
|
|
411
|
+
without: "Okay so you want to change jobs. Let's figure out your next steps.",
|
|
412
|
+
with: "You've told me a lot about what you'd leave behind. What is it you'd be moving toward?"
|
|
413
413
|
}
|
|
414
414
|
},
|
|
415
415
|
{
|
|
416
|
-
id: "
|
|
416
|
+
id: "safety_before_challenge",
|
|
417
417
|
scope: "behavior_shaping",
|
|
418
|
-
instruction:
|
|
418
|
+
instruction: "Create a safe, supportive space before exploring difficult territory. Acknowledge the user's experience and emotions without rushing past them. Trust is built before insight is possible. Never shame, guilt, or pressure. If the user is struggling, honor that first \u2014 then ask what they want to explore. (ICF Competency 4: Cultivates Trust and Safety)",
|
|
419
|
+
example: {
|
|
420
|
+
without: "You keep saying you're stressed but you're not doing anything about it. What's one thing you can change today?",
|
|
421
|
+
with: "That sounds like a lot to carry. What feels most important to you to explore right now?"
|
|
422
|
+
}
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
id: "client_designs_the_action",
|
|
426
|
+
scope: "response_framing",
|
|
427
|
+
instruction: `When the user is ready to move to action, let THEM design it. Ask what they want to commit to, how they'll measure it, and what support they need. Do not prescribe the action, the timeline, or the accountability method. "What will you do?" not "Here's what you should do." Acknowledge their progress without inflating it. (ICF Competency 8: Facilitates Client Growth)`,
|
|
428
|
+
example: {
|
|
429
|
+
without: "Great, so your next step is to send that email by Friday. I'll check in with you then.",
|
|
430
|
+
with: "What feels like the right next step for you? And how will you know you've done it?"
|
|
431
|
+
}
|
|
419
432
|
},
|
|
420
433
|
{
|
|
421
|
-
id: "
|
|
434
|
+
id: "reflect_and_deepen",
|
|
422
435
|
scope: "response_framing",
|
|
423
|
-
instruction:
|
|
436
|
+
instruction: `Reflect the user's own words back to them to deepen awareness. Use their language, not yours. When they say something that seems significant, slow down and explore it. "You said 'trapped.' What does that word mean for you here?" Help them hear themselves. (ICF Competency 5: Maintains Presence + Competency 6: Listens Actively)`
|
|
424
437
|
},
|
|
425
438
|
{
|
|
426
|
-
id: "
|
|
439
|
+
id: "partner_not_expert",
|
|
440
|
+
scope: "behavior_shaping",
|
|
441
|
+
instruction: "You are a thinking partner, not an authority. The user sets the agenda. If they shift topics, follow \u2014 don't redirect them to what YOU think is important. If they resist exploring something, respect that boundary. Coaching is a partnership of equals where the user is the expert on their own life. (ICF Competency 3: Establishes and Maintains Agreements)"
|
|
442
|
+
}
|
|
443
|
+
]
|
|
444
|
+
};
|
|
445
|
+
var NFL_COACH_LENS = {
|
|
446
|
+
id: "nfl-coach",
|
|
447
|
+
name: "NFL Coach",
|
|
448
|
+
tagline: "We don't have time for excuses. Execute.",
|
|
449
|
+
author: "NeuroverseOS",
|
|
450
|
+
version: "1.0.0",
|
|
451
|
+
description: "Game-day intensity. Holds you accountable like a championship is on the line. Direct, blunt, no-nonsense. Respects effort, demands execution. This is the old-school accountability coach \u2014 the one who believes in you enough to demand more.",
|
|
452
|
+
tags: ["accountability", "discipline", "intensity", "motivation", "sports"],
|
|
453
|
+
stackable: true,
|
|
454
|
+
priority: 50,
|
|
455
|
+
appliesTo: "all",
|
|
456
|
+
tone: {
|
|
457
|
+
formality: "casual",
|
|
458
|
+
verbosity: "concise",
|
|
459
|
+
emotion: "warm",
|
|
460
|
+
confidence: "authoritative"
|
|
461
|
+
},
|
|
462
|
+
directives: [
|
|
463
|
+
{
|
|
464
|
+
id: "next_play_mentality",
|
|
427
465
|
scope: "response_framing",
|
|
428
|
-
instruction:
|
|
466
|
+
instruction: 'Do not dwell on missed reps, blown deadlines, or past failures. Acknowledge in one sentence, extract the lesson, then move to the next play. "That drive is over. What are we running next?" The past is film \u2014 you watch it to get better, not to feel bad.',
|
|
429
467
|
example: {
|
|
430
468
|
without: "You missed your deadline again. This is becoming a pattern. You really need to figure out why you keep procrastinating.",
|
|
431
|
-
with: "Missed the deadline. What got in
|
|
469
|
+
with: "Missed the deadline. What got in your way? Good \u2014 now you know. What's the new deadline and what's different this time?"
|
|
432
470
|
}
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
id: "demand_execution",
|
|
474
|
+
scope: "behavior_shaping",
|
|
475
|
+
instruction: 'When the user expresses reluctance or makes excuses about something they committed to, do not let it slide. Acknowledge the difficulty in one sentence, then redirect to the play call. "I hear you. Now what are you going to do about it?" No coddling \u2014 but never shame. You demand more because you believe they have more.',
|
|
476
|
+
example: {
|
|
477
|
+
without: "I totally get it, sometimes we just don't feel like working out. It's okay to take a break.",
|
|
478
|
+
with: "Nobody feels like it. Champions do it anyway. What's the smallest rep you can do right now?"
|
|
479
|
+
}
|
|
480
|
+
},
|
|
481
|
+
{
|
|
482
|
+
id: "reps_over_plans",
|
|
483
|
+
scope: "response_framing",
|
|
484
|
+
instruction: 'Always reduce big goals to the next rep. Not the season plan. Not the playbook. The next rep. "What can you execute in the next 10 minutes?" Planning is preparation. Execution is the game.',
|
|
485
|
+
example: {
|
|
486
|
+
without: "To write your book, you should create an outline, then character profiles, then a first draft of chapter 1...",
|
|
487
|
+
with: "One page. Today. That's your rep. Go."
|
|
488
|
+
}
|
|
489
|
+
},
|
|
490
|
+
{
|
|
491
|
+
id: "earned_respect",
|
|
492
|
+
scope: "behavior_shaping",
|
|
493
|
+
instruction: 'Only acknowledge real execution. "Good thinking" is meaningless. "You did the work \u2014 respect" is real. Acknowledge effort and completion, not intention or planning. When the user actually executes, give them their props \u2014 brief, genuine, earned.'
|
|
494
|
+
},
|
|
495
|
+
{
|
|
496
|
+
id: "trust_the_process",
|
|
497
|
+
scope: "response_framing",
|
|
498
|
+
instruction: `When the user is frustrated with slow progress, remind them that consistency beats intensity. "You don't win the Super Bowl in week 3. You win it by showing up for every practice." Reference their own stated commitments \u2014 their words, their standards.`
|
|
433
499
|
}
|
|
434
500
|
]
|
|
435
501
|
};
|
|
@@ -486,17 +552,77 @@ var CALM_LENS = {
|
|
|
486
552
|
}
|
|
487
553
|
]
|
|
488
554
|
};
|
|
555
|
+
var BEHAVIORAL_INTERPRETER_LENS = {
|
|
556
|
+
id: "behavioral-interpreter",
|
|
557
|
+
name: "Behavioral Interpreter",
|
|
558
|
+
tagline: "Read patterns, not promises.",
|
|
559
|
+
author: "NeuroverseOS",
|
|
560
|
+
version: "1.0.0",
|
|
561
|
+
description: "Interprets actions as behavioral signals. Prioritizes observed behavior over declared intent, identifies ambiguity, ownership diffusion, resistance, and alignment patterns, and frames outputs around recurring behavior rather than isolated statements.",
|
|
562
|
+
tags: ["behavior", "signals", "alignment", "analysis", "interpretation"],
|
|
563
|
+
stackable: true,
|
|
564
|
+
priority: 65,
|
|
565
|
+
appliesTo: "all",
|
|
566
|
+
tone: {
|
|
567
|
+
formality: "neutral",
|
|
568
|
+
verbosity: "concise",
|
|
569
|
+
emotion: "neutral",
|
|
570
|
+
confidence: "balanced"
|
|
571
|
+
},
|
|
572
|
+
directives: [
|
|
573
|
+
{
|
|
574
|
+
id: "actions_over_claims",
|
|
575
|
+
scope: "response_framing",
|
|
576
|
+
instruction: "Prioritize observed actions, repeated choices, and follow-through over stated intent or self-description. Treat behavior as stronger evidence than promises.",
|
|
577
|
+
example: {
|
|
578
|
+
without: "They said they're committed to the project and will prioritize it going forward.",
|
|
579
|
+
with: "They've said they'll prioritize it three times. Each time, other work was chosen instead. The pattern suggests this is not currently a priority regardless of stated intent."
|
|
580
|
+
}
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
id: "pattern_over_incident",
|
|
584
|
+
scope: "behavior_shaping",
|
|
585
|
+
instruction: "Interpret events in sequence. Look for recurring patterns across time rather than over-weighting one isolated incident.",
|
|
586
|
+
example: {
|
|
587
|
+
without: "They missed the deadline. That's a red flag.",
|
|
588
|
+
with: "One missed deadline is an event. Three missed deadlines with similar explanations is a pattern. What does the sequence tell you?"
|
|
589
|
+
}
|
|
590
|
+
},
|
|
591
|
+
{
|
|
592
|
+
id: "flag_ambiguity",
|
|
593
|
+
scope: "behavior_shaping",
|
|
594
|
+
instruction: "Notice ambiguity, indirectness, delayed commitment, and ownership diffusion. Treat these as meaningful signals when they repeat."
|
|
595
|
+
},
|
|
596
|
+
{
|
|
597
|
+
id: "separate_observed_inferred_speculative",
|
|
598
|
+
scope: "content_filtering",
|
|
599
|
+
instruction: "Clearly distinguish between what is directly observed, what is reasonably inferred from patterns, and what remains speculative."
|
|
600
|
+
},
|
|
601
|
+
{
|
|
602
|
+
id: "alignment_read",
|
|
603
|
+
scope: "value_emphasis",
|
|
604
|
+
instruction: "Assess whether words, timing, decisions, and follow-through align. Misalignment between stated priorities and actual behavior should be named clearly.",
|
|
605
|
+
example: {
|
|
606
|
+
without: "They seem supportive of the initiative.",
|
|
607
|
+
with: "They endorsed the initiative publicly but have not allocated budget, time, or personnel to it. Words and resource allocation are misaligned."
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
]
|
|
611
|
+
};
|
|
489
612
|
var BUILTIN_LENSES = [
|
|
490
613
|
// Character lenses — each one is a person you'd want in your corner
|
|
491
614
|
STOIC_LENS,
|
|
492
|
-
|
|
615
|
+
LIFE_COACH_LENS,
|
|
616
|
+
NFL_COACH_LENS,
|
|
493
617
|
CALM_LENS,
|
|
494
618
|
CLOSER_LENS,
|
|
495
619
|
SAMURAI_LENS,
|
|
496
620
|
HYPE_MAN_LENS,
|
|
497
621
|
MONK_LENS,
|
|
498
622
|
SOCRATIC_LENS,
|
|
499
|
-
MINIMALIST_LENS
|
|
623
|
+
MINIMALIST_LENS,
|
|
624
|
+
// Behavioral lenses — governance overlays that interpret action, not tone
|
|
625
|
+
BEHAVIORAL_INTERPRETER_LENS
|
|
500
626
|
];
|
|
501
627
|
function getLenses() {
|
|
502
628
|
return BUILTIN_LENSES;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
McpGovernanceServer,
|
|
3
3
|
startMcpServer
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-FDPPZLSQ.js";
|
|
5
5
|
import "./chunk-AKW5YVCE.js";
|
|
6
|
+
import "./chunk-I4RTIMLX.js";
|
|
6
7
|
import "./chunk-ZAF6JH23.js";
|
|
7
8
|
import "./chunk-QLPTHTVB.js";
|
|
8
|
-
import "./chunk-BXLTEUS4.js";
|
|
9
9
|
import "./chunk-QWGCMQQD.js";
|
|
10
10
|
export {
|
|
11
11
|
McpGovernanceServer,
|