@neuroverseos/governance 0.7.0 → 0.8.1
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 +95 -4
- package/dist/{chunk-T6EQ7ZBG.js → chunk-ETDIEVAX.js} +880 -134
- package/dist/{chunk-VGFDMPVB.js → chunk-F2LWMOM5.js} +283 -1
- package/dist/cli/neuroverse.cjs +1599 -360
- package/dist/cli/radiant.cjs +1190 -227
- package/dist/cli/radiant.js +25 -7
- package/dist/cli/worldmodel.cjs +300 -21
- package/dist/cli/worldmodel.js +76 -1
- package/dist/{lenses-K5FVSALR.js → lenses-YDMKSXDL.js} +5 -3
- package/dist/radiant/index.cjs +1183 -138
- package/dist/radiant/index.d.cts +382 -23
- package/dist/radiant/index.d.ts +382 -23
- package/dist/radiant/index.js +37 -3
- package/dist/{server-BXMC5NOE.js → server-ZSQ6DRSN.js} +2 -2
- package/dist/worldmodel-create-5SWHVNMQ.js +195 -0
- package/package.json +1 -1
package/dist/radiant/index.d.ts
CHANGED
|
@@ -544,6 +544,31 @@ declare function classifyActorDomain(event: Event): ActorDomain;
|
|
|
544
544
|
*/
|
|
545
545
|
declare const aukiBuilderLens: RenderingLens;
|
|
546
546
|
|
|
547
|
+
/**
|
|
548
|
+
* @neuroverseos/governance/radiant — Sovereign Conduit Lens
|
|
549
|
+
*
|
|
550
|
+
* The rendering lens for the NeuroVerseOS base worldmodel. Where the
|
|
551
|
+
* aukiBuilderLens encodes how Auki-grade builders think and speak,
|
|
552
|
+
* this lens encodes how the Sovereign Conduit thinks and speaks.
|
|
553
|
+
*
|
|
554
|
+
* The voice is fundamentally different from the builder lens:
|
|
555
|
+
* - Warm, not compressed. Accessible, not technical.
|
|
556
|
+
* - Analogies from everyday life (mom rules, friend's house, idea
|
|
557
|
+
* calculator), not from architecture (stacks, bottlenecks, territory).
|
|
558
|
+
* - Emotions named, not contained. When governance works, it feels
|
|
559
|
+
* like trust. When it fails, it feels like being funneled. Say so.
|
|
560
|
+
* - The audience is everyone — leaders, parents, people learning AI,
|
|
561
|
+
* people who don't code. If a mom can't understand the output, the
|
|
562
|
+
* voice is wrong.
|
|
563
|
+
* - Teaching, not lecturing. Every output helps people think for
|
|
564
|
+
* themselves. The difference: lecturing tells you what to think.
|
|
565
|
+
* Teaching helps you think.
|
|
566
|
+
*
|
|
567
|
+
* Tagline: Humanity first. In constant learning. In shared teaching.
|
|
568
|
+
*/
|
|
569
|
+
|
|
570
|
+
declare const sovereignConduitLens: RenderingLens;
|
|
571
|
+
|
|
547
572
|
/**
|
|
548
573
|
* @neuroverseos/governance/radiant/lenses
|
|
549
574
|
*
|
|
@@ -557,10 +582,9 @@ declare const aukiBuilderLens: RenderingLens;
|
|
|
557
582
|
* registered set.
|
|
558
583
|
*
|
|
559
584
|
* Current registry:
|
|
560
|
-
* - auki-builder — Auki's vanguard leadership lens.
|
|
561
|
-
*
|
|
562
|
-
*
|
|
563
|
-
* domain. See ./auki-builder.ts for the content.
|
|
585
|
+
* - auki-builder — Auki's vanguard leadership lens.
|
|
586
|
+
* - sovereign-conduit — NeuroVerseOS base lens. Warm, accessible,
|
|
587
|
+
* teaching. Stewardship / Sovereignty / Integration.
|
|
564
588
|
*
|
|
565
589
|
* To add a new lens:
|
|
566
590
|
* 1. Create src/radiant/lenses/<name>.ts exporting a `RenderingLens`.
|
|
@@ -777,31 +801,56 @@ declare function createMockAI(fixedResponse: string): RadiantAI;
|
|
|
777
801
|
/**
|
|
778
802
|
* @neuroverseos/governance/radiant — scope resolution
|
|
779
803
|
*
|
|
780
|
-
* Parses scope strings
|
|
781
|
-
*
|
|
804
|
+
* Parses scope strings into typed scope objects that adapters know how
|
|
805
|
+
* to fetch. Supports two levels:
|
|
806
|
+
*
|
|
807
|
+
* "owner/repo" → RepoScope (single repo)
|
|
808
|
+
* "owner/" → OrgScope (entire organization)
|
|
809
|
+
* "owner" → OrgScope (entire organization)
|
|
782
810
|
*/
|
|
783
811
|
/**
|
|
784
|
-
* A GitHub repository scope —
|
|
812
|
+
* A GitHub repository scope — single repo.
|
|
785
813
|
*/
|
|
786
814
|
interface RepoScope {
|
|
815
|
+
type: 'repo';
|
|
787
816
|
owner: string;
|
|
788
817
|
repo: string;
|
|
789
818
|
}
|
|
790
819
|
/**
|
|
791
|
-
*
|
|
820
|
+
* A GitHub organization scope — all repos in an org.
|
|
821
|
+
*/
|
|
822
|
+
interface OrgScope {
|
|
823
|
+
type: 'org';
|
|
824
|
+
owner: string;
|
|
825
|
+
}
|
|
826
|
+
type Scope = RepoScope | OrgScope;
|
|
827
|
+
/**
|
|
828
|
+
* Visibility level for a Radiant read. Controls what sources are
|
|
829
|
+
* included and where output goes.
|
|
792
830
|
*
|
|
793
|
-
*
|
|
794
|
-
*
|
|
795
|
-
*
|
|
796
|
-
|
|
831
|
+
* community — public repos + public Discord. Anyone can reproduce.
|
|
832
|
+
* team — public + private repos + team channels. Team exocortex.
|
|
833
|
+
* full — everything + cross-exocortex. Leader's personal exocortex.
|
|
834
|
+
*/
|
|
835
|
+
type ViewLevel = 'community' | 'team' | 'full';
|
|
836
|
+
/**
|
|
837
|
+
* Parse a scope string into a RepoScope or OrgScope.
|
|
797
838
|
*
|
|
798
|
-
*
|
|
839
|
+
* Accepts:
|
|
840
|
+
* "owner/repo" → RepoScope
|
|
841
|
+
* "owner/" or "owner" → OrgScope
|
|
842
|
+
* "https://github.com/owner/repo" → RepoScope
|
|
843
|
+
* "https://github.com/owner" → OrgScope
|
|
844
|
+
*/
|
|
845
|
+
declare function parseScope(scope: string): Scope;
|
|
846
|
+
/**
|
|
847
|
+
* Backward-compatible: parse as RepoScope only. Throws if org-level.
|
|
799
848
|
*/
|
|
800
849
|
declare function parseRepoScope(scope: string): RepoScope;
|
|
801
850
|
/**
|
|
802
|
-
* Format
|
|
851
|
+
* Format any scope back to a display string.
|
|
803
852
|
*/
|
|
804
|
-
declare function formatScope(scope:
|
|
853
|
+
declare function formatScope(scope: Scope): string;
|
|
805
854
|
|
|
806
855
|
/**
|
|
807
856
|
* @neuroverseos/governance/radiant — GitHub activity adapter
|
|
@@ -844,6 +893,15 @@ interface GitHubFetchOptions {
|
|
|
844
893
|
* @param options — window size and pagination
|
|
845
894
|
*/
|
|
846
895
|
declare function fetchGitHubActivity(scope: RepoScope, token: string, options?: GitHubFetchOptions): Promise<Event[]>;
|
|
896
|
+
/**
|
|
897
|
+
* Fetch recent activity across an ENTIRE GitHub organization.
|
|
898
|
+
* Uses /orgs/{org}/repos to list repos, then fetches activity from
|
|
899
|
+
* each active repo.
|
|
900
|
+
*/
|
|
901
|
+
declare function fetchGitHubOrgActivity(scope: OrgScope, token: string, options?: GitHubFetchOptions): Promise<{
|
|
902
|
+
events: Event[];
|
|
903
|
+
repos: string[];
|
|
904
|
+
}>;
|
|
847
905
|
/**
|
|
848
906
|
* Create a mock GitHub adapter for testing. Returns fixed events
|
|
849
907
|
* without calling the GitHub API.
|
|
@@ -890,23 +948,226 @@ interface ExocortexContext {
|
|
|
890
948
|
filesLoaded: number;
|
|
891
949
|
}
|
|
892
950
|
/**
|
|
893
|
-
* Read stated intent from an exocortex directory
|
|
951
|
+
* Read stated intent from an exocortex directory, optionally scoped
|
|
952
|
+
* to a specific project.
|
|
953
|
+
*
|
|
954
|
+
* When a repoName is provided (e.g. "reconstruction-server"), the reader
|
|
955
|
+
* looks for a matching subdirectory in the exocortex (symlinked project
|
|
956
|
+
* repos in the Auki exocortex pattern) and reads project-specific
|
|
957
|
+
* sprint.md and roadmap.md alongside the global personal context.
|
|
894
958
|
*
|
|
895
|
-
* Silently skips missing files.
|
|
896
|
-
* with only attention.md is still useful — partial context is better
|
|
897
|
-
* than no context.
|
|
959
|
+
* Silently skips missing files. Partial context is better than no context.
|
|
898
960
|
*/
|
|
899
|
-
declare function readExocortex(dirPath: string): ExocortexContext;
|
|
961
|
+
declare function readExocortex(dirPath: string, repoName?: string): ExocortexContext;
|
|
900
962
|
/**
|
|
901
963
|
* Format the exocortex context as a section for the AI interpretation
|
|
902
964
|
* prompt. Only includes fields that were actually loaded.
|
|
903
965
|
*/
|
|
904
966
|
declare function formatExocortexForPrompt(ctx: ExocortexContext): string;
|
|
967
|
+
/**
|
|
968
|
+
* Read multiple exocortices from a team directory. Each subdirectory
|
|
969
|
+
* (or symlink) is treated as one person's exocortex.
|
|
970
|
+
*
|
|
971
|
+
* Returns an array of { name, context } for each person.
|
|
972
|
+
*/
|
|
973
|
+
declare function readTeamExocortices(teamDir: string): Array<{
|
|
974
|
+
name: string;
|
|
975
|
+
context: ExocortexContext;
|
|
976
|
+
}>;
|
|
977
|
+
/**
|
|
978
|
+
* Format multiple exocortices for the AI prompt — shows each person's
|
|
979
|
+
* stated intent so the AI can compare them against each other and
|
|
980
|
+
* against observed activity.
|
|
981
|
+
*/
|
|
982
|
+
declare function formatTeamExocorticesForPrompt(team: Array<{
|
|
983
|
+
name: string;
|
|
984
|
+
context: ExocortexContext;
|
|
985
|
+
}>): string;
|
|
905
986
|
/**
|
|
906
987
|
* One-line summary of what was loaded, for CLI status output.
|
|
907
988
|
*/
|
|
908
989
|
declare function summarizeExocortex(ctx: ExocortexContext): string;
|
|
909
990
|
|
|
991
|
+
/**
|
|
992
|
+
* @neuroverseos/governance/radiant — Discord adapter
|
|
993
|
+
*
|
|
994
|
+
* Reads conversational activity from Discord channels and maps it to
|
|
995
|
+
* Radiant's Event type. This is where Narrative Dynamics and Shared
|
|
996
|
+
* Prosperity signals become visible — how the team communicates,
|
|
997
|
+
* coordinates, welcomes newcomers, resolves debates.
|
|
998
|
+
*
|
|
999
|
+
* Two modes:
|
|
1000
|
+
* - Channel message reading (via Discord Bot API)
|
|
1001
|
+
* - Signal compression (aggregate metrics from raw messages)
|
|
1002
|
+
*
|
|
1003
|
+
* Privacy:
|
|
1004
|
+
* - Public channels → community view (anyone can reproduce)
|
|
1005
|
+
* - Team channels → team view (team exocortex only)
|
|
1006
|
+
* - Private channels / DMs → never read unless explicitly configured
|
|
1007
|
+
* - The bot token IS consent. Radiant respects Discord's permissions.
|
|
1008
|
+
*
|
|
1009
|
+
* Rate limiting:
|
|
1010
|
+
* - Caps at 100 messages per channel per fetch
|
|
1011
|
+
* - Produces compressed signals, not raw message dumps
|
|
1012
|
+
* - AI receives a sample of 20-30 representative messages, not the firehose
|
|
1013
|
+
*/
|
|
1014
|
+
|
|
1015
|
+
interface DiscordFetchOptions {
|
|
1016
|
+
/** Channel IDs to read from. If empty, reads all accessible channels. */
|
|
1017
|
+
channelIds?: string[];
|
|
1018
|
+
/** How many days of history to fetch. Default: 14. */
|
|
1019
|
+
windowDays?: number;
|
|
1020
|
+
/** Max messages per channel. Default: 100. */
|
|
1021
|
+
perChannel?: number;
|
|
1022
|
+
/** Visibility level — determines which channels to read. */
|
|
1023
|
+
visibility?: 'public' | 'team';
|
|
1024
|
+
}
|
|
1025
|
+
interface DiscordSignals {
|
|
1026
|
+
/** Total messages across all channels in the window. */
|
|
1027
|
+
totalMessages: number;
|
|
1028
|
+
/** Number of active channels. */
|
|
1029
|
+
activeChannels: number;
|
|
1030
|
+
/** Unique participants. */
|
|
1031
|
+
uniqueParticipants: number;
|
|
1032
|
+
/** Average response time in minutes (for threaded/reply messages). */
|
|
1033
|
+
avgResponseMinutes: number | null;
|
|
1034
|
+
/** Number of help requests detected (messages containing "help", "stuck", "how do I"). */
|
|
1035
|
+
helpRequests: number;
|
|
1036
|
+
/** Number of unresolved threads (threads with no reply). */
|
|
1037
|
+
unresolvedThreads: number;
|
|
1038
|
+
/** Top discussed topics (extracted from channel names + frequent terms). */
|
|
1039
|
+
topTopics: string[];
|
|
1040
|
+
/** Messages from new participants (first seen in this window). */
|
|
1041
|
+
newcomerMessages: number;
|
|
1042
|
+
}
|
|
1043
|
+
/**
|
|
1044
|
+
* Fetch Discord activity and return Radiant Events + compressed signals.
|
|
1045
|
+
*
|
|
1046
|
+
* Uses the Discord Bot API (raw fetch, no SDK dependency).
|
|
1047
|
+
* Requires a bot token with MESSAGE_CONTENT intent enabled.
|
|
1048
|
+
*/
|
|
1049
|
+
declare function fetchDiscordActivity(guildId: string, token: string, options?: DiscordFetchOptions): Promise<{
|
|
1050
|
+
events: Event[];
|
|
1051
|
+
signals: DiscordSignals;
|
|
1052
|
+
}>;
|
|
1053
|
+
/**
|
|
1054
|
+
* Format Discord signals for the AI interpretation prompt.
|
|
1055
|
+
*/
|
|
1056
|
+
declare function formatDiscordSignalsForPrompt(signals: DiscordSignals): string;
|
|
1057
|
+
|
|
1058
|
+
/**
|
|
1059
|
+
* @neuroverseos/governance/radiant — Slack adapter
|
|
1060
|
+
*
|
|
1061
|
+
* Reads conversational activity from Slack workspaces. For Auki, Slack
|
|
1062
|
+
* is used for external client and partner communication — FairPrice,
|
|
1063
|
+
* retail pilots, Intercognitive coalition partners.
|
|
1064
|
+
*
|
|
1065
|
+
* What it captures:
|
|
1066
|
+
* - Partner coordination patterns (peaq, Mawari, GEODNET)
|
|
1067
|
+
* - Client communication quality (responsiveness, follow-through)
|
|
1068
|
+
* - External contributor onboarding
|
|
1069
|
+
* - Cross-organization alignment signals
|
|
1070
|
+
* - Decision-making in channels (debates → outcomes)
|
|
1071
|
+
*
|
|
1072
|
+
* Privacy: workspace token controls access. Bot tokens see channels
|
|
1073
|
+
* the bot is invited to. User tokens see what the user sees. Private
|
|
1074
|
+
* channels and DMs only accessible if explicitly configured.
|
|
1075
|
+
*
|
|
1076
|
+
* Uses Slack Web API via raw fetch (no SDK dependency).
|
|
1077
|
+
* Requires a Bot Token with channels:history + channels:read scopes.
|
|
1078
|
+
*/
|
|
1079
|
+
|
|
1080
|
+
interface SlackFetchOptions {
|
|
1081
|
+
/** Channel IDs to read. If empty, reads all public channels the bot can see. */
|
|
1082
|
+
channelIds?: string[];
|
|
1083
|
+
/** How many days of history to fetch. Default: 14. */
|
|
1084
|
+
windowDays?: number;
|
|
1085
|
+
/** Max messages per channel. Default: 100. */
|
|
1086
|
+
perChannel?: number;
|
|
1087
|
+
/** Visibility level. */
|
|
1088
|
+
visibility?: 'public' | 'team';
|
|
1089
|
+
}
|
|
1090
|
+
interface SlackSignals {
|
|
1091
|
+
totalMessages: number;
|
|
1092
|
+
activeChannels: number;
|
|
1093
|
+
uniqueParticipants: number;
|
|
1094
|
+
avgResponseMinutes: number | null;
|
|
1095
|
+
externalParticipants: number;
|
|
1096
|
+
unresolvedThreads: number;
|
|
1097
|
+
topChannels: string[];
|
|
1098
|
+
reactionCount: number;
|
|
1099
|
+
}
|
|
1100
|
+
/**
|
|
1101
|
+
* Fetch Slack activity and return Radiant Events + compressed signals.
|
|
1102
|
+
*/
|
|
1103
|
+
declare function fetchSlackActivity(token: string, options?: SlackFetchOptions): Promise<{
|
|
1104
|
+
events: Event[];
|
|
1105
|
+
signals: SlackSignals;
|
|
1106
|
+
}>;
|
|
1107
|
+
/**
|
|
1108
|
+
* Format Slack signals for the AI interpretation prompt.
|
|
1109
|
+
*/
|
|
1110
|
+
declare function formatSlackSignalsForPrompt(signals: SlackSignals): string;
|
|
1111
|
+
|
|
1112
|
+
/**
|
|
1113
|
+
* @neuroverseos/governance/radiant — Notion adapter
|
|
1114
|
+
*
|
|
1115
|
+
* Reads documentation and knowledge-base activity from Notion.
|
|
1116
|
+
* For Auki, Notion is where team documentation lives — specs, meeting
|
|
1117
|
+
* notes, strategy docs, project plans, decision records.
|
|
1118
|
+
*
|
|
1119
|
+
* What it captures:
|
|
1120
|
+
* - Documentation freshness (when pages were last edited)
|
|
1121
|
+
* - Who maintains what (authorship patterns across pages)
|
|
1122
|
+
* - Knowledge gaps (sprint mentions things that have no doc page)
|
|
1123
|
+
* - Decision crystallization (are debates in Discord becoming docs in Notion?)
|
|
1124
|
+
* - Documentation velocity alongside code velocity
|
|
1125
|
+
*
|
|
1126
|
+
* The behavioral signal: high code shipping + low documentation =
|
|
1127
|
+
* the team is building but not recording what they learn. That's a
|
|
1128
|
+
* Narrative Dynamics gap — the story of what's being built isn't
|
|
1129
|
+
* being told, even internally.
|
|
1130
|
+
*
|
|
1131
|
+
* Uses Notion API v1 via raw fetch (no SDK dependency).
|
|
1132
|
+
* Requires an internal integration token with read access.
|
|
1133
|
+
*/
|
|
1134
|
+
|
|
1135
|
+
interface NotionFetchOptions {
|
|
1136
|
+
/** Specific database IDs to query. If empty, searches all accessible pages. */
|
|
1137
|
+
databaseIds?: string[];
|
|
1138
|
+
/** How many days of history to fetch. Default: 14. */
|
|
1139
|
+
windowDays?: number;
|
|
1140
|
+
/** Max pages to fetch. Default: 100. */
|
|
1141
|
+
maxPages?: number;
|
|
1142
|
+
}
|
|
1143
|
+
interface NotionSignals {
|
|
1144
|
+
/** Total pages created or updated in the window. */
|
|
1145
|
+
pagesActive: number;
|
|
1146
|
+
/** Pages created (new docs). */
|
|
1147
|
+
pagesCreated: number;
|
|
1148
|
+
/** Pages updated (edited docs). */
|
|
1149
|
+
pagesUpdated: number;
|
|
1150
|
+
/** Unique editors. */
|
|
1151
|
+
uniqueEditors: number;
|
|
1152
|
+
/** Pages not touched in 30+ days. */
|
|
1153
|
+
stalePages: number;
|
|
1154
|
+
/** Average days since last edit across all tracked pages. */
|
|
1155
|
+
avgDaysSinceEdit: number | null;
|
|
1156
|
+
/** Top page titles by recent activity. */
|
|
1157
|
+
topPages: string[];
|
|
1158
|
+
}
|
|
1159
|
+
/**
|
|
1160
|
+
* Fetch Notion page activity and return Radiant Events + compressed signals.
|
|
1161
|
+
*/
|
|
1162
|
+
declare function fetchNotionActivity(token: string, options?: NotionFetchOptions): Promise<{
|
|
1163
|
+
events: Event[];
|
|
1164
|
+
signals: NotionSignals;
|
|
1165
|
+
}>;
|
|
1166
|
+
/**
|
|
1167
|
+
* Format Notion signals for the AI interpretation prompt.
|
|
1168
|
+
*/
|
|
1169
|
+
declare function formatNotionSignalsForPrompt(signals: NotionSignals): string;
|
|
1170
|
+
|
|
910
1171
|
/**
|
|
911
1172
|
* @neuroverseos/governance/radiant — AI pattern interpretation
|
|
912
1173
|
*
|
|
@@ -1037,7 +1298,7 @@ declare function auditGovernance(events: readonly ClassifiedEvent[], worldPath:
|
|
|
1037
1298
|
*/
|
|
1038
1299
|
|
|
1039
1300
|
interface RenderInput {
|
|
1040
|
-
scope:
|
|
1301
|
+
scope: Scope;
|
|
1041
1302
|
windowDays: number;
|
|
1042
1303
|
eventCount: number;
|
|
1043
1304
|
signals: readonly Signal[];
|
|
@@ -1065,6 +1326,58 @@ interface RenderOutput {
|
|
|
1065
1326
|
}
|
|
1066
1327
|
declare function render(input: RenderInput): RenderOutput;
|
|
1067
1328
|
|
|
1329
|
+
/**
|
|
1330
|
+
* @neuroverseos/governance/radiant — world discovery
|
|
1331
|
+
*
|
|
1332
|
+
* Automatically discovers and loads worldmodels from three sources,
|
|
1333
|
+
* in precedence order:
|
|
1334
|
+
*
|
|
1335
|
+
* 1. NeuroVerse base (built-in, universal — always loaded)
|
|
1336
|
+
* 2. User worlds (~/.neuroverse/worlds/ — your personal model)
|
|
1337
|
+
* 3. Repo worlds (./worlds/ in the current repo — local authority)
|
|
1338
|
+
*
|
|
1339
|
+
* Worlds live where the work lives. You don't switch between them —
|
|
1340
|
+
* you walk into them. Open an Auki repo → Auki's worlds load.
|
|
1341
|
+
* Leave → they disappear. No toggle, no config, no removal.
|
|
1342
|
+
*
|
|
1343
|
+
* Precedence: repo > user > base. When you're in someone else's
|
|
1344
|
+
* system, their worlds take authority. Your personal world stays
|
|
1345
|
+
* as your baseline perspective. The NeuroVerse base is the universal
|
|
1346
|
+
* foundation both sit on top of.
|
|
1347
|
+
*/
|
|
1348
|
+
interface DiscoveredWorld {
|
|
1349
|
+
name: string;
|
|
1350
|
+
source: 'base' | 'user' | 'repo';
|
|
1351
|
+
path: string;
|
|
1352
|
+
content: string;
|
|
1353
|
+
}
|
|
1354
|
+
interface WorldStack {
|
|
1355
|
+
worlds: DiscoveredWorld[];
|
|
1356
|
+
/** Combined content for the AI prompt (compressed by the caller). */
|
|
1357
|
+
combinedContent: string;
|
|
1358
|
+
/** Human-readable list of what's loaded. */
|
|
1359
|
+
summary: string;
|
|
1360
|
+
}
|
|
1361
|
+
/**
|
|
1362
|
+
* Discover and load worldmodels from all three sources.
|
|
1363
|
+
*
|
|
1364
|
+
* @param repoDir — the repo being analyzed (for repo-level worlds).
|
|
1365
|
+
* If not provided, skips repo-level discovery.
|
|
1366
|
+
* @param userWorldsDir — override for user worlds location.
|
|
1367
|
+
* Default: ~/.neuroverse/worlds/
|
|
1368
|
+
* @param explicitWorldsDir — explicit --worlds flag (overrides discovery).
|
|
1369
|
+
* When provided, this is used AS the repo-level source.
|
|
1370
|
+
*/
|
|
1371
|
+
declare function discoverWorlds(options?: {
|
|
1372
|
+
repoDir?: string;
|
|
1373
|
+
userWorldsDir?: string;
|
|
1374
|
+
explicitWorldsDir?: string;
|
|
1375
|
+
}): WorldStack;
|
|
1376
|
+
/**
|
|
1377
|
+
* Format the active worlds list for display in the output header.
|
|
1378
|
+
*/
|
|
1379
|
+
declare function formatActiveWorlds(stack: WorldStack): string;
|
|
1380
|
+
|
|
1068
1381
|
/**
|
|
1069
1382
|
* @neuroverseos/governance/radiant — Memory Palace file operations
|
|
1070
1383
|
*
|
|
@@ -1144,6 +1457,48 @@ declare function computePersistence(priorReads: PriorRead[], currentPatternNames
|
|
|
1144
1457
|
*/
|
|
1145
1458
|
declare function formatPriorReadsForPrompt(priorReads: PriorRead[]): string;
|
|
1146
1459
|
|
|
1460
|
+
/**
|
|
1461
|
+
* @neuroverseos/governance/radiant — Memory Palace compression
|
|
1462
|
+
*
|
|
1463
|
+
* Applies the three-tier principle to everything that enters the AI
|
|
1464
|
+
* prompt: raw data is not the memory; structured signals are.
|
|
1465
|
+
*
|
|
1466
|
+
* Compresses worldmodel content, exocortex context, lens data, and
|
|
1467
|
+
* prior reads into the minimum tokens the AI needs to produce a
|
|
1468
|
+
* good interpretation. Cuts prompt size by 60-70%.
|
|
1469
|
+
*/
|
|
1470
|
+
|
|
1471
|
+
/**
|
|
1472
|
+
* Compress a worldmodel markdown file into just the structured elements
|
|
1473
|
+
* the AI needs: invariants, decision priorities, signals, domains,
|
|
1474
|
+
* and mission (one line). Strips prose, commentary, and structure.
|
|
1475
|
+
*/
|
|
1476
|
+
declare function compressWorldmodel(content: string): string;
|
|
1477
|
+
/**
|
|
1478
|
+
* Compress exocortex context into one-line summaries per field.
|
|
1479
|
+
* The AI doesn't need the full prose — just the essence.
|
|
1480
|
+
*/
|
|
1481
|
+
declare function compressExocortex(ctx: ExocortexContext): string;
|
|
1482
|
+
/**
|
|
1483
|
+
* Compress a rendering lens into just what the AI interpreter needs:
|
|
1484
|
+
* evaluation questions + forbidden phrases + jargon translations.
|
|
1485
|
+
* Vocabulary substitutions and voice directives go to the renderer,
|
|
1486
|
+
* not the interpreter.
|
|
1487
|
+
*/
|
|
1488
|
+
declare function compressLens(lens: RenderingLens): {
|
|
1489
|
+
evaluationQuestions: string;
|
|
1490
|
+
scoringRubric: string;
|
|
1491
|
+
forbiddenPhrases: string;
|
|
1492
|
+
jargonTranslations: string;
|
|
1493
|
+
strategicPatterns: string;
|
|
1494
|
+
};
|
|
1495
|
+
/**
|
|
1496
|
+
* Compress prior reads into pattern names + occurrence counts.
|
|
1497
|
+
* The AI needs to know WHAT was seen before and HOW OFTEN — not the
|
|
1498
|
+
* full frontmatter.
|
|
1499
|
+
*/
|
|
1500
|
+
declare function compressPriorReads(reads: PriorRead[]): string;
|
|
1501
|
+
|
|
1147
1502
|
/**
|
|
1148
1503
|
* @neuroverseos/governance/radiant — `think` command
|
|
1149
1504
|
*
|
|
@@ -1224,7 +1579,7 @@ declare function think(input: ThinkInput): Promise<ThinkResult>;
|
|
|
1224
1579
|
*/
|
|
1225
1580
|
|
|
1226
1581
|
interface EmergentInput {
|
|
1227
|
-
scope: RepoScope;
|
|
1582
|
+
scope: RepoScope | OrgScope;
|
|
1228
1583
|
githubToken: string;
|
|
1229
1584
|
worldmodelContent: string;
|
|
1230
1585
|
lensId: string;
|
|
@@ -1259,6 +1614,10 @@ interface EmergentResult {
|
|
|
1259
1614
|
};
|
|
1260
1615
|
/** Event count fetched from GitHub. */
|
|
1261
1616
|
eventCount: number;
|
|
1617
|
+
/** Active adapters used in this read. */
|
|
1618
|
+
activeAdapters?: string[];
|
|
1619
|
+
/** World stack — what worlds were discovered and loaded. */
|
|
1620
|
+
worldStack?: WorldStack;
|
|
1262
1621
|
}
|
|
1263
1622
|
declare function emergent(input: EmergentInput): Promise<EmergentResult>;
|
|
1264
1623
|
|
|
@@ -1298,4 +1657,4 @@ declare function emergent(input: EmergentInput): Promise<EmergentResult>;
|
|
|
1298
1657
|
*/
|
|
1299
1658
|
declare const RADIANT_PACKAGE_VERSION = "0.0.0";
|
|
1300
1659
|
|
|
1301
|
-
export { type Actor, type ActorDomain, type ActorKind, type AlignmentStatus, type BridgingComponent, type BridgingComponentScore, type ClassifiedEvent, type CyberCapability, type CyberDimension, DEFAULT_EVIDENCE_GATE, DEFAULT_SIGNAL_EXTRACTORS, type EmergentInput, type EmergentResult, type Event, type EventReference, type EvidenceGate, type ExemplarRef, type ExocortexContext, type ExtractionResult, type GitHubFetchOptions, type GovernanceAudit, type GovernanceVerdict, type InterpretInput, type InterpretResult, LENSES, type LensVocabulary, type LifeCapability, type LifeDimension, type ObservedPattern, type OverlapDef, type PatternEvidence, type PatternPersistence, type PrimaryFrame, type PriorRead, RADIANT_PACKAGE_VERSION, type RadiantAI, type RenderInput, type RenderOutput, type RenderingLens, type RepoScope, type Score, type ScoreSentinel, type ScoredObservation, type Signal, type SignalExtractor, type SignalMatrix, type ThinkInput, type ThinkResult, type VoiceDirectives, type VoiceViolation, type WorldmodelItem, auditGovernance, aukiBuilderLens, checkForbiddenPhrases, classifyActorDomain, classifyEvents, composeSystemPrompt, computePersistence, createAnthropicAI, createMockAI, createMockGitHubAdapter, emergent, extractSignals, fetchGitHubActivity, formatExocortexForPrompt, formatPriorReadsForPrompt, formatScope, getLens, interpretPatterns, isPresent, isScored, isSentinel, listLenses, loadPriorReads, parseRepoScope, presenceAverage, readExocortex, render, scoreComposite, scoreCyber, scoreLife, scoreNeuroVerse, summarizeExocortex, think, updateKnowledge, writeRead };
|
|
1660
|
+
export { type Actor, type ActorDomain, type ActorKind, type AlignmentStatus, type BridgingComponent, type BridgingComponentScore, type ClassifiedEvent, type CyberCapability, type CyberDimension, DEFAULT_EVIDENCE_GATE, DEFAULT_SIGNAL_EXTRACTORS, type DiscordFetchOptions, type DiscordSignals, type DiscoveredWorld, type EmergentInput, type EmergentResult, type Event, type EventReference, type EvidenceGate, type ExemplarRef, type ExocortexContext, type ExtractionResult, type GitHubFetchOptions, type GovernanceAudit, type GovernanceVerdict, type InterpretInput, type InterpretResult, LENSES, type LensVocabulary, type LifeCapability, type LifeDimension, type NotionFetchOptions, type NotionSignals, type ObservedPattern, type OrgScope, type OverlapDef, type PatternEvidence, type PatternPersistence, type PrimaryFrame, type PriorRead, RADIANT_PACKAGE_VERSION, type RadiantAI, type RenderInput, type RenderOutput, type RenderingLens, type RepoScope, type Scope, type Score, type ScoreSentinel, type ScoredObservation, type Signal, type SignalExtractor, type SignalMatrix, type SlackFetchOptions, type SlackSignals, type ThinkInput, type ThinkResult, type ViewLevel, type VoiceDirectives, type VoiceViolation, type WorldStack, type WorldmodelItem, auditGovernance, aukiBuilderLens, checkForbiddenPhrases, classifyActorDomain, classifyEvents, composeSystemPrompt, compressExocortex, compressLens, compressPriorReads, compressWorldmodel, computePersistence, createAnthropicAI, createMockAI, createMockGitHubAdapter, discoverWorlds, emergent, extractSignals, fetchDiscordActivity, fetchGitHubActivity, fetchGitHubOrgActivity, fetchNotionActivity, fetchSlackActivity, formatActiveWorlds, formatDiscordSignalsForPrompt, formatExocortexForPrompt, formatNotionSignalsForPrompt, formatPriorReadsForPrompt, formatScope, formatSlackSignalsForPrompt, formatTeamExocorticesForPrompt, getLens, interpretPatterns, isPresent, isScored, isSentinel, listLenses, loadPriorReads, parseRepoScope, parseScope, presenceAverage, readExocortex, readTeamExocortices, render, scoreComposite, scoreCyber, scoreLife, scoreNeuroVerse, sovereignConduitLens, summarizeExocortex, think, updateKnowledge, writeRead };
|
package/dist/radiant/index.js
CHANGED
|
@@ -6,24 +6,40 @@ import {
|
|
|
6
6
|
classifyActorDomain,
|
|
7
7
|
classifyEvents,
|
|
8
8
|
composeSystemPrompt,
|
|
9
|
+
compressExocortex,
|
|
10
|
+
compressLens,
|
|
11
|
+
compressPriorReads,
|
|
12
|
+
compressWorldmodel,
|
|
9
13
|
computePersistence,
|
|
10
14
|
createAnthropicAI,
|
|
11
15
|
createMockAI,
|
|
12
16
|
createMockGitHubAdapter,
|
|
17
|
+
discoverWorlds,
|
|
13
18
|
emergent,
|
|
14
19
|
extractSignals,
|
|
20
|
+
fetchDiscordActivity,
|
|
15
21
|
fetchGitHubActivity,
|
|
22
|
+
fetchGitHubOrgActivity,
|
|
23
|
+
fetchNotionActivity,
|
|
24
|
+
fetchSlackActivity,
|
|
25
|
+
formatActiveWorlds,
|
|
26
|
+
formatDiscordSignalsForPrompt,
|
|
16
27
|
formatExocortexForPrompt,
|
|
28
|
+
formatNotionSignalsForPrompt,
|
|
17
29
|
formatPriorReadsForPrompt,
|
|
18
30
|
formatScope,
|
|
31
|
+
formatSlackSignalsForPrompt,
|
|
32
|
+
formatTeamExocorticesForPrompt,
|
|
19
33
|
interpretPatterns,
|
|
20
34
|
isPresent,
|
|
21
35
|
isScored,
|
|
22
36
|
isSentinel,
|
|
23
37
|
loadPriorReads,
|
|
24
38
|
parseRepoScope,
|
|
39
|
+
parseScope,
|
|
25
40
|
presenceAverage,
|
|
26
41
|
readExocortex,
|
|
42
|
+
readTeamExocortices,
|
|
27
43
|
render,
|
|
28
44
|
scoreComposite,
|
|
29
45
|
scoreCyber,
|
|
@@ -33,13 +49,14 @@ import {
|
|
|
33
49
|
think,
|
|
34
50
|
updateKnowledge,
|
|
35
51
|
writeRead
|
|
36
|
-
} from "../chunk-
|
|
52
|
+
} from "../chunk-ETDIEVAX.js";
|
|
37
53
|
import {
|
|
38
54
|
LENSES,
|
|
39
55
|
aukiBuilderLens,
|
|
40
56
|
getLens,
|
|
41
|
-
listLenses
|
|
42
|
-
|
|
57
|
+
listLenses,
|
|
58
|
+
sovereignConduitLens
|
|
59
|
+
} from "../chunk-F2LWMOM5.js";
|
|
43
60
|
import "../chunk-I4RTIMLX.js";
|
|
44
61
|
import "../chunk-ZAF6JH23.js";
|
|
45
62
|
import "../chunk-QLPTHTVB.js";
|
|
@@ -58,16 +75,30 @@ export {
|
|
|
58
75
|
classifyActorDomain,
|
|
59
76
|
classifyEvents,
|
|
60
77
|
composeSystemPrompt,
|
|
78
|
+
compressExocortex,
|
|
79
|
+
compressLens,
|
|
80
|
+
compressPriorReads,
|
|
81
|
+
compressWorldmodel,
|
|
61
82
|
computePersistence,
|
|
62
83
|
createAnthropicAI,
|
|
63
84
|
createMockAI,
|
|
64
85
|
createMockGitHubAdapter,
|
|
86
|
+
discoverWorlds,
|
|
65
87
|
emergent,
|
|
66
88
|
extractSignals,
|
|
89
|
+
fetchDiscordActivity,
|
|
67
90
|
fetchGitHubActivity,
|
|
91
|
+
fetchGitHubOrgActivity,
|
|
92
|
+
fetchNotionActivity,
|
|
93
|
+
fetchSlackActivity,
|
|
94
|
+
formatActiveWorlds,
|
|
95
|
+
formatDiscordSignalsForPrompt,
|
|
68
96
|
formatExocortexForPrompt,
|
|
97
|
+
formatNotionSignalsForPrompt,
|
|
69
98
|
formatPriorReadsForPrompt,
|
|
70
99
|
formatScope,
|
|
100
|
+
formatSlackSignalsForPrompt,
|
|
101
|
+
formatTeamExocorticesForPrompt,
|
|
71
102
|
getLens,
|
|
72
103
|
interpretPatterns,
|
|
73
104
|
isPresent,
|
|
@@ -76,13 +107,16 @@ export {
|
|
|
76
107
|
listLenses,
|
|
77
108
|
loadPriorReads,
|
|
78
109
|
parseRepoScope,
|
|
110
|
+
parseScope,
|
|
79
111
|
presenceAverage,
|
|
80
112
|
readExocortex,
|
|
113
|
+
readTeamExocortices,
|
|
81
114
|
render,
|
|
82
115
|
scoreComposite,
|
|
83
116
|
scoreCyber,
|
|
84
117
|
scoreLife,
|
|
85
118
|
scoreNeuroVerse,
|
|
119
|
+
sovereignConduitLens,
|
|
86
120
|
summarizeExocortex,
|
|
87
121
|
think,
|
|
88
122
|
updateKnowledge,
|
|
@@ -3,8 +3,8 @@ import {
|
|
|
3
3
|
emergent,
|
|
4
4
|
parseRepoScope,
|
|
5
5
|
think
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-ETDIEVAX.js";
|
|
7
|
+
import "./chunk-F2LWMOM5.js";
|
|
8
8
|
import "./chunk-I4RTIMLX.js";
|
|
9
9
|
import "./chunk-ZAF6JH23.js";
|
|
10
10
|
import "./chunk-QLPTHTVB.js";
|