@neuroverseos/governance 0.10.0 → 0.12.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 (95) hide show
  1. package/dist/adapters/autoresearch.cjs +19 -1
  2. package/dist/adapters/autoresearch.d.cts +1 -1
  3. package/dist/adapters/autoresearch.d.ts +1 -1
  4. package/dist/adapters/autoresearch.js +2 -2
  5. package/dist/adapters/deep-agents.cjs +19 -1
  6. package/dist/adapters/deep-agents.d.cts +2 -2
  7. package/dist/adapters/deep-agents.d.ts +2 -2
  8. package/dist/adapters/deep-agents.js +2 -2
  9. package/dist/adapters/express.cjs +19 -1
  10. package/dist/adapters/express.d.cts +1 -1
  11. package/dist/adapters/express.d.ts +1 -1
  12. package/dist/adapters/express.js +2 -2
  13. package/dist/adapters/github.cjs +19 -1
  14. package/dist/adapters/github.d.cts +2 -2
  15. package/dist/adapters/github.d.ts +2 -2
  16. package/dist/adapters/github.js +2 -2
  17. package/dist/adapters/index.cjs +19 -1
  18. package/dist/adapters/index.d.cts +2 -2
  19. package/dist/adapters/index.d.ts +2 -2
  20. package/dist/adapters/index.js +8 -8
  21. package/dist/adapters/langchain.cjs +19 -1
  22. package/dist/adapters/langchain.d.cts +2 -2
  23. package/dist/adapters/langchain.d.ts +2 -2
  24. package/dist/adapters/langchain.js +2 -2
  25. package/dist/adapters/mentraos.cjs +19 -1
  26. package/dist/adapters/mentraos.d.cts +2 -2
  27. package/dist/adapters/mentraos.d.ts +2 -2
  28. package/dist/adapters/mentraos.js +2 -2
  29. package/dist/adapters/openai.cjs +19 -1
  30. package/dist/adapters/openai.d.cts +2 -2
  31. package/dist/adapters/openai.d.ts +2 -2
  32. package/dist/adapters/openai.js +2 -2
  33. package/dist/adapters/openclaw.cjs +19 -1
  34. package/dist/adapters/openclaw.d.cts +2 -2
  35. package/dist/adapters/openclaw.d.ts +2 -2
  36. package/dist/adapters/openclaw.js +2 -2
  37. package/dist/admin/index.cjs +19 -1
  38. package/dist/admin/index.js +1 -1
  39. package/dist/audit-JYNN3MOQ.js +98 -0
  40. package/dist/audit-behavior-C62FdRAC.d.cts +100 -0
  41. package/dist/audit-behavior-DFy7LeYv.d.ts +100 -0
  42. package/dist/{behavioral-SPWPGYXL.js → behavioral-4TKMHZQZ.js} +2 -2
  43. package/dist/{chunk-OQU65525.js → chunk-24YW7BHC.js} +1 -1
  44. package/dist/{chunk-BZYQHJDM.js → chunk-2KTPIE57.js} +25 -5
  45. package/dist/{chunk-TJ5L2UTE.js → chunk-5K3LATTM.js} +1 -1
  46. package/dist/{chunk-HDNDL6D5.js → chunk-5LDBYOSJ.js} +1 -1
  47. package/dist/{chunk-FDPPZLSQ.js → chunk-5ZWKM7MO.js} +1 -1
  48. package/dist/{chunk-B3IIPTY3.js → chunk-6MB6TMAG.js} +1 -1
  49. package/dist/{chunk-IOVXB6QN.js → chunk-GXTAHCND.js} +1 -1
  50. package/dist/{chunk-FKQCPRKI.js → chunk-MAOIHKFO.js} +1 -1
  51. package/dist/{chunk-ZAF6JH23.js → chunk-MBOW6YXN.js} +19 -1
  52. package/dist/{chunk-A2UZTLRV.js → chunk-MLXKSX3L.js} +1 -1
  53. package/dist/{chunk-7FL3U7Z5.js → chunk-MWGEXHOD.js} +1 -1
  54. package/dist/{chunk-6CV4XG3J.js → chunk-QFDFAWZ6.js} +1 -1
  55. package/dist/{chunk-2VAWP6FI.js → chunk-RAS62JXV.js} +1 -1
  56. package/dist/{chunk-OTZU76DH.js → chunk-XAF3CYCW.js} +1 -1
  57. package/dist/{chunk-T6GMRZWC.js → chunk-XTYQCTDD.js} +1 -1
  58. package/dist/{chunk-TIXVEPS2.js → chunk-YN7OI5ZV.js} +1 -1
  59. package/dist/cli/neuroverse.cjs +229 -93
  60. package/dist/cli/neuroverse.js +16 -12
  61. package/dist/cli/plan.cjs +18 -0
  62. package/dist/cli/radiant.cjs +42 -4
  63. package/dist/cli/radiant.js +3 -3
  64. package/dist/cli/run.cjs +18 -0
  65. package/dist/cli/run.js +4 -4
  66. package/dist/{decision-flow-IJPNMVQK.js → decision-flow-5VI5YG6A.js} +2 -2
  67. package/dist/{demo-6W3YXLAX.js → demo-GYX6CYHC.js} +2 -2
  68. package/dist/engine/guard-engine.cjs +19 -1
  69. package/dist/engine/guard-engine.d.cts +21 -1
  70. package/dist/engine/guard-engine.d.ts +21 -1
  71. package/dist/engine/guard-engine.js +1 -1
  72. package/dist/{equity-penalties-CCO3GVHS.js → equity-penalties-NOM46NEO.js} +2 -2
  73. package/dist/{guard-IHJEKHL2.js → guard-PQ3SYV4Y.js} +3 -3
  74. package/dist/{guard-contract-ddiIPlOg.d.cts → guard-contract-Oznf-Kgq.d.cts} +32 -0
  75. package/dist/{guard-contract-q6HJAq3Q.d.ts → guard-contract-w_i_6gh-.d.ts} +32 -0
  76. package/dist/{impact-WIAM66IH.js → impact-LDJLTVRU.js} +3 -3
  77. package/dist/index.cjs +62 -1
  78. package/dist/index.d.cts +4 -3
  79. package/dist/index.d.ts +4 -3
  80. package/dist/index.js +49 -8
  81. package/dist/{mcp-server-CKYBHXWK.js → mcp-server-W3MWSKD7.js} +2 -2
  82. package/dist/{playground-3TTBN7XD.js → playground-SSZRNUAF.js} +1 -1
  83. package/dist/radiant/index.cjs +450 -5
  84. package/dist/radiant/index.d.cts +151 -1
  85. package/dist/radiant/index.d.ts +151 -1
  86. package/dist/radiant/index.js +405 -2
  87. package/dist/{redteam-W644UMWN.js → redteam-KCULS7EW.js} +1 -1
  88. package/dist/{server-EI5JCIBU.js → server-EGRGGSM2.js} +2 -2
  89. package/dist/{session-FMAROEIE.js → session-PZLTL22G.js} +2 -2
  90. package/dist/{shared-PpalGKxc.d.cts → shared-BC8mOpt0.d.cts} +1 -1
  91. package/dist/{shared-DAzdfWtU.d.ts → shared-CP63gNNW.d.ts} +1 -1
  92. package/dist/{test-XDB2DH3L.js → test-LIHGWHBA.js} +1 -1
  93. package/dist/{trace-2YDNAXMK.js → trace-DC3D7XPD.js} +2 -2
  94. package/package.json +1 -1
  95. /package/dist/{doctor-XEMLO6UA.js → doctor-SIWQGTAO.js} +0 -0
@@ -1,3 +1,7 @@
1
+ import { C as Crossing } from '../audit-behavior-C62FdRAC.cjs';
2
+ import '../guard-contract-Oznf-Kgq.cjs';
3
+ import '../types.cjs';
4
+
1
5
  /**
2
6
  * @neuroverseos/governance/radiant — core types
3
7
  *
@@ -1240,6 +1244,136 @@ declare function fetchLinearActivity(apiKey: string, options?: LinearFetchOption
1240
1244
  */
1241
1245
  declare function formatLinearSignalsForPrompt(signals: LinearSignals): string;
1242
1246
 
1247
+ /**
1248
+ * @neuroverseos/governance/radiant — Google Workspace adapter
1249
+ *
1250
+ * Reads the leader's Gmail (sent messages) + Calendar (events in the
1251
+ * window) and normalizes both into Event[] for the Radiant pipeline.
1252
+ *
1253
+ * Why Google Workspace matters:
1254
+ * - It's the most universal source. Every non-MS-shop leader has
1255
+ * Gmail + Calendar. Non-engineering leaders who never touch GitHub
1256
+ * or Linear still live in these two apps.
1257
+ * - Gmail sent folder = external coordination signal. What the
1258
+ * leader's actually pushing out into the world. Drift between
1259
+ * stated strategy and actual outreach shows up here first.
1260
+ * - Calendar = meeting load vs. output. Heavy meetings + thin
1261
+ * shipping = the drift pattern leaders most want to catch.
1262
+ *
1263
+ * v1 scope:
1264
+ * - Gmail: list the leader's own sent messages in the window.
1265
+ * Subject + snippet + recipients + timestamp. No body (privacy +
1266
+ * payload size).
1267
+ * - Calendar: list events in the window from the primary calendar.
1268
+ * Title + attendees count + duration + whether the leader
1269
+ * organized.
1270
+ *
1271
+ * Auth: Google OAuth access token with scopes
1272
+ * https://www.googleapis.com/auth/gmail.readonly
1273
+ * https://www.googleapis.com/auth/calendar.readonly
1274
+ * Token lifecycle (refresh) is the caller's job — this adapter takes
1275
+ * a valid access token as input.
1276
+ *
1277
+ * Deno / browser / Node all work — uses native fetch only.
1278
+ */
1279
+
1280
+ interface GoogleWorkspaceFetchOptions {
1281
+ /** Access token with gmail.readonly + calendar.readonly scopes. */
1282
+ accessToken: string;
1283
+ /** How many days of history to fetch. Default: 14. */
1284
+ windowDays?: number;
1285
+ /** Max emails to include. Default: 100. */
1286
+ maxEmails?: number;
1287
+ /** Max calendar events to include. Default: 100. */
1288
+ maxEvents?: number;
1289
+ /** The leader's own email address — used to identify their events. */
1290
+ leaderEmail?: string;
1291
+ }
1292
+ interface GoogleWorkspaceSignals {
1293
+ emailsSent: number;
1294
+ uniqueRecipients: number;
1295
+ topRecipients: string[];
1296
+ meetingsHeld: number;
1297
+ meetingsOrganized: number;
1298
+ uniqueAttendees: number;
1299
+ totalMeetingMinutes: number;
1300
+ avgMeetingAttendees: number | null;
1301
+ }
1302
+ declare function fetchGoogleWorkspaceActivity(options: GoogleWorkspaceFetchOptions): Promise<{
1303
+ events: Event[];
1304
+ signals: GoogleWorkspaceSignals;
1305
+ }>;
1306
+ /**
1307
+ * Format Google Workspace signals for the AI interpretation prompt.
1308
+ */
1309
+ declare function formatGoogleWorkspaceSignalsForPrompt(signals: GoogleWorkspaceSignals): string;
1310
+
1311
+ /**
1312
+ * @neuroverseos/governance/radiant — Salesforce adapter
1313
+ *
1314
+ * Reads the leader's Salesforce activity and normalizes it into Event[]
1315
+ * for the Radiant pipeline. Opens the entire sales-leader market —
1316
+ * every sales org of any scale runs on Salesforce, and "is the pipeline
1317
+ * drifting from what we declared we'd close" is the exact job Radiant
1318
+ * does for that audience.
1319
+ *
1320
+ * v1 scope:
1321
+ * - Recent Opportunity changes: stage transitions, amount updates,
1322
+ * close-date changes (the signal set for deal-drift detection)
1323
+ * - Recent Tasks + logged Calls (activity per rep)
1324
+ * - Chatter FeedItems if accessible (how the team talks about deals)
1325
+ *
1326
+ * Auth: Salesforce OAuth — access token + instance URL. Each org has
1327
+ * its own `my.salesforce.com` endpoint; the token alone isn't enough,
1328
+ * the caller must also pass the instance URL.
1329
+ *
1330
+ * Individual-rep or individual-manager OAuth works without admin
1331
+ * consent — this adapter assumes one Salesforce user's view. For
1332
+ * enterprise admin-consent + org-wide access, a later adapter
1333
+ * variant can use the Reports API or a service-user token.
1334
+ *
1335
+ * Deno / browser / Node — native fetch only.
1336
+ */
1337
+
1338
+ interface SalesforceFetchOptions {
1339
+ /** OAuth access token with api + refresh_token scopes. */
1340
+ accessToken: string;
1341
+ /**
1342
+ * Salesforce instance URL — e.g. https://acme.my.salesforce.com.
1343
+ * Comes back in the token response; caller must persist it.
1344
+ */
1345
+ instanceUrl: string;
1346
+ /** How many days of history to fetch. Default: 14. */
1347
+ windowDays?: number;
1348
+ /** Max records per entity. Default: 200 (hard cap on SOQL page). */
1349
+ maxRecords?: number;
1350
+ /** The leader's own Salesforce user name / email, if known. */
1351
+ leaderName?: string;
1352
+ }
1353
+ interface SalesforceSignals {
1354
+ opportunitiesMoved: number;
1355
+ stageTransitions: number;
1356
+ amountChanges: number;
1357
+ closedWon: number;
1358
+ closedLost: number;
1359
+ tasksLogged: number;
1360
+ callsLogged: number;
1361
+ feedPostsByLeader: number;
1362
+ totalPipelineAmount: number;
1363
+ topStages: Array<{
1364
+ stage: string;
1365
+ count: number;
1366
+ }>;
1367
+ }
1368
+ declare function fetchSalesforceActivity(options: SalesforceFetchOptions): Promise<{
1369
+ events: Event[];
1370
+ signals: SalesforceSignals;
1371
+ }>;
1372
+ /**
1373
+ * Format Salesforce signals for the AI interpretation prompt.
1374
+ */
1375
+ declare function formatSalesforceSignalsForPrompt(signals: SalesforceSignals): string;
1376
+
1243
1377
  /**
1244
1378
  * @neuroverseos/governance/radiant — declared vocabulary extraction
1245
1379
  *
@@ -1411,6 +1545,15 @@ interface GovernanceAudit {
1411
1545
  block: number;
1412
1546
  details: GovernanceVerdict[];
1413
1547
  };
1548
+ /**
1549
+ * Crossings — events that WOULD have been blocked/paused/modified in
1550
+ * enforce mode. Populated by running the guard engine in observe mode,
1551
+ * so nothing is actually stopped; callers record the crossing for the
1552
+ * leader to see. Each crossing carries shadowStatus + shadowReason so
1553
+ * downstream tooling (Bevia, Radiant UIs, audit logs) can surface
1554
+ * specific moments the worldmodel was touched.
1555
+ */
1556
+ crossings: Crossing[];
1414
1557
  /** Summary for rendering — most important findings. */
1415
1558
  summary: string;
1416
1559
  }
@@ -1896,6 +2039,13 @@ interface EmergentResult {
1896
2039
  activeAdapters?: string[];
1897
2040
  /** World stack — what worlds were discovered and loaded. */
1898
2041
  worldStack?: WorldStack;
2042
+ /**
2043
+ * Governance audit — populated when a compiled world was loaded. Includes
2044
+ * `crossings` (events that would have blocked/modified/paused in enforce
2045
+ * mode) for surfacing in Bevia / Radiant UIs as moments the leader's
2046
+ * worldmodel was bumped against.
2047
+ */
2048
+ governance?: GovernanceAudit;
1899
2049
  }
1900
2050
  declare function emergent(input: EmergentInput): Promise<EmergentResult>;
1901
2051
  /**
@@ -1942,4 +2092,4 @@ declare function filterEventsByUser(events: readonly Event[], username: string):
1942
2092
  */
1943
2093
  declare const RADIANT_PACKAGE_VERSION = "0.0.0";
1944
2094
 
1945
- 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 DeclaredPattern, type DeclaredVocabulary, type DiscordFetchOptions, type DiscordSignals, type DiscoveredWorld, type EmergentInput, type EmergentResult, type Event, type EventReference, type EvidenceGate, type ExemplarRef, type ExocortexContext, type ExtendsConfig, type ExtendsSpec, type ExtractionResult, type Fetcher, type GitHubFetchOptions, type GovernanceAudit, type GovernanceVerdict, type InterpretInput, type InterpretResult, LENSES, type LensVocabulary, type LifeCapability, type LifeDimension, type LinearFetchOptions, type LinearSignals, type NotionFetchOptions, type NotionSignals, type ObservedPattern, type OrgScope, type OverlapDef, type ParsedRemote, type PatternEvidence, type PatternPersistence, type PrimaryFrame, type PriorRead, RADIANT_PACKAGE_VERSION, type RadiantAI, type RenderInput, type RenderOutput, type RenderingLens, type RepoScope, type ResolveResult, 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, detectOrgExtendsSpec, discoverWorlds, emergent, extractDeclaredVocabulary, extractSignals, fetchDiscordActivity, fetchGitHubActivity, fetchGitHubOrgActivity, fetchLinearActivity, fetchNotionActivity, fetchSlackActivity, filterEventsByUser, formatActiveWorlds, formatDiscordSignalsForPrompt, formatExocortexForPrompt, formatLinearSignalsForPrompt, formatNotionSignalsForPrompt, formatPriorReadsForPrompt, formatScope, formatSlackSignalsForPrompt, formatTeamExocorticesForPrompt, getCacheDir, getLens, getRepoOrigin, interpretPatterns, isPresent, isScored, isSentinel, listLenses, loadExtendsConfig, loadPriorReads, matchDeclaredPattern, parseExtendsSpec, parseRemoteUrl, parseRepoScope, parseScope, presenceAverage, readExocortex, readOriginRemote, readTeamExocortices, render, resolveAllExtends, resolveExtendsSpec, scoreComposite, scoreCyber, scoreLife, scoreNeuroVerse, sovereignConduitLens, summarizeExocortex, think, updateKnowledge, writeRead };
2095
+ 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 DeclaredPattern, type DeclaredVocabulary, type DiscordFetchOptions, type DiscordSignals, type DiscoveredWorld, type EmergentInput, type EmergentResult, type Event, type EventReference, type EvidenceGate, type ExemplarRef, type ExocortexContext, type ExtendsConfig, type ExtendsSpec, type ExtractionResult, type Fetcher, type GitHubFetchOptions, type GoogleWorkspaceFetchOptions, type GoogleWorkspaceSignals, type GovernanceAudit, type GovernanceVerdict, type InterpretInput, type InterpretResult, LENSES, type LensVocabulary, type LifeCapability, type LifeDimension, type LinearFetchOptions, type LinearSignals, type NotionFetchOptions, type NotionSignals, type ObservedPattern, type OrgScope, type OverlapDef, type ParsedRemote, type PatternEvidence, type PatternPersistence, type PrimaryFrame, type PriorRead, RADIANT_PACKAGE_VERSION, type RadiantAI, type RenderInput, type RenderOutput, type RenderingLens, type RepoScope, type ResolveResult, type SalesforceFetchOptions, type SalesforceSignals, 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, detectOrgExtendsSpec, discoverWorlds, emergent, extractDeclaredVocabulary, extractSignals, fetchDiscordActivity, fetchGitHubActivity, fetchGitHubOrgActivity, fetchGoogleWorkspaceActivity, fetchLinearActivity, fetchNotionActivity, fetchSalesforceActivity, fetchSlackActivity, filterEventsByUser, formatActiveWorlds, formatDiscordSignalsForPrompt, formatExocortexForPrompt, formatGoogleWorkspaceSignalsForPrompt, formatLinearSignalsForPrompt, formatNotionSignalsForPrompt, formatPriorReadsForPrompt, formatSalesforceSignalsForPrompt, formatScope, formatSlackSignalsForPrompt, formatTeamExocorticesForPrompt, getCacheDir, getLens, getRepoOrigin, interpretPatterns, isPresent, isScored, isSentinel, listLenses, loadExtendsConfig, loadPriorReads, matchDeclaredPattern, parseExtendsSpec, parseRemoteUrl, parseRepoScope, parseScope, presenceAverage, readExocortex, readOriginRemote, readTeamExocortices, render, resolveAllExtends, resolveExtendsSpec, scoreComposite, scoreCyber, scoreLife, scoreNeuroVerse, sovereignConduitLens, summarizeExocortex, think, updateKnowledge, writeRead };
@@ -1,3 +1,7 @@
1
+ import { C as Crossing } from '../audit-behavior-DFy7LeYv.js';
2
+ import '../guard-contract-w_i_6gh-.js';
3
+ import '../types.js';
4
+
1
5
  /**
2
6
  * @neuroverseos/governance/radiant — core types
3
7
  *
@@ -1240,6 +1244,136 @@ declare function fetchLinearActivity(apiKey: string, options?: LinearFetchOption
1240
1244
  */
1241
1245
  declare function formatLinearSignalsForPrompt(signals: LinearSignals): string;
1242
1246
 
1247
+ /**
1248
+ * @neuroverseos/governance/radiant — Google Workspace adapter
1249
+ *
1250
+ * Reads the leader's Gmail (sent messages) + Calendar (events in the
1251
+ * window) and normalizes both into Event[] for the Radiant pipeline.
1252
+ *
1253
+ * Why Google Workspace matters:
1254
+ * - It's the most universal source. Every non-MS-shop leader has
1255
+ * Gmail + Calendar. Non-engineering leaders who never touch GitHub
1256
+ * or Linear still live in these two apps.
1257
+ * - Gmail sent folder = external coordination signal. What the
1258
+ * leader's actually pushing out into the world. Drift between
1259
+ * stated strategy and actual outreach shows up here first.
1260
+ * - Calendar = meeting load vs. output. Heavy meetings + thin
1261
+ * shipping = the drift pattern leaders most want to catch.
1262
+ *
1263
+ * v1 scope:
1264
+ * - Gmail: list the leader's own sent messages in the window.
1265
+ * Subject + snippet + recipients + timestamp. No body (privacy +
1266
+ * payload size).
1267
+ * - Calendar: list events in the window from the primary calendar.
1268
+ * Title + attendees count + duration + whether the leader
1269
+ * organized.
1270
+ *
1271
+ * Auth: Google OAuth access token with scopes
1272
+ * https://www.googleapis.com/auth/gmail.readonly
1273
+ * https://www.googleapis.com/auth/calendar.readonly
1274
+ * Token lifecycle (refresh) is the caller's job — this adapter takes
1275
+ * a valid access token as input.
1276
+ *
1277
+ * Deno / browser / Node all work — uses native fetch only.
1278
+ */
1279
+
1280
+ interface GoogleWorkspaceFetchOptions {
1281
+ /** Access token with gmail.readonly + calendar.readonly scopes. */
1282
+ accessToken: string;
1283
+ /** How many days of history to fetch. Default: 14. */
1284
+ windowDays?: number;
1285
+ /** Max emails to include. Default: 100. */
1286
+ maxEmails?: number;
1287
+ /** Max calendar events to include. Default: 100. */
1288
+ maxEvents?: number;
1289
+ /** The leader's own email address — used to identify their events. */
1290
+ leaderEmail?: string;
1291
+ }
1292
+ interface GoogleWorkspaceSignals {
1293
+ emailsSent: number;
1294
+ uniqueRecipients: number;
1295
+ topRecipients: string[];
1296
+ meetingsHeld: number;
1297
+ meetingsOrganized: number;
1298
+ uniqueAttendees: number;
1299
+ totalMeetingMinutes: number;
1300
+ avgMeetingAttendees: number | null;
1301
+ }
1302
+ declare function fetchGoogleWorkspaceActivity(options: GoogleWorkspaceFetchOptions): Promise<{
1303
+ events: Event[];
1304
+ signals: GoogleWorkspaceSignals;
1305
+ }>;
1306
+ /**
1307
+ * Format Google Workspace signals for the AI interpretation prompt.
1308
+ */
1309
+ declare function formatGoogleWorkspaceSignalsForPrompt(signals: GoogleWorkspaceSignals): string;
1310
+
1311
+ /**
1312
+ * @neuroverseos/governance/radiant — Salesforce adapter
1313
+ *
1314
+ * Reads the leader's Salesforce activity and normalizes it into Event[]
1315
+ * for the Radiant pipeline. Opens the entire sales-leader market —
1316
+ * every sales org of any scale runs on Salesforce, and "is the pipeline
1317
+ * drifting from what we declared we'd close" is the exact job Radiant
1318
+ * does for that audience.
1319
+ *
1320
+ * v1 scope:
1321
+ * - Recent Opportunity changes: stage transitions, amount updates,
1322
+ * close-date changes (the signal set for deal-drift detection)
1323
+ * - Recent Tasks + logged Calls (activity per rep)
1324
+ * - Chatter FeedItems if accessible (how the team talks about deals)
1325
+ *
1326
+ * Auth: Salesforce OAuth — access token + instance URL. Each org has
1327
+ * its own `my.salesforce.com` endpoint; the token alone isn't enough,
1328
+ * the caller must also pass the instance URL.
1329
+ *
1330
+ * Individual-rep or individual-manager OAuth works without admin
1331
+ * consent — this adapter assumes one Salesforce user's view. For
1332
+ * enterprise admin-consent + org-wide access, a later adapter
1333
+ * variant can use the Reports API or a service-user token.
1334
+ *
1335
+ * Deno / browser / Node — native fetch only.
1336
+ */
1337
+
1338
+ interface SalesforceFetchOptions {
1339
+ /** OAuth access token with api + refresh_token scopes. */
1340
+ accessToken: string;
1341
+ /**
1342
+ * Salesforce instance URL — e.g. https://acme.my.salesforce.com.
1343
+ * Comes back in the token response; caller must persist it.
1344
+ */
1345
+ instanceUrl: string;
1346
+ /** How many days of history to fetch. Default: 14. */
1347
+ windowDays?: number;
1348
+ /** Max records per entity. Default: 200 (hard cap on SOQL page). */
1349
+ maxRecords?: number;
1350
+ /** The leader's own Salesforce user name / email, if known. */
1351
+ leaderName?: string;
1352
+ }
1353
+ interface SalesforceSignals {
1354
+ opportunitiesMoved: number;
1355
+ stageTransitions: number;
1356
+ amountChanges: number;
1357
+ closedWon: number;
1358
+ closedLost: number;
1359
+ tasksLogged: number;
1360
+ callsLogged: number;
1361
+ feedPostsByLeader: number;
1362
+ totalPipelineAmount: number;
1363
+ topStages: Array<{
1364
+ stage: string;
1365
+ count: number;
1366
+ }>;
1367
+ }
1368
+ declare function fetchSalesforceActivity(options: SalesforceFetchOptions): Promise<{
1369
+ events: Event[];
1370
+ signals: SalesforceSignals;
1371
+ }>;
1372
+ /**
1373
+ * Format Salesforce signals for the AI interpretation prompt.
1374
+ */
1375
+ declare function formatSalesforceSignalsForPrompt(signals: SalesforceSignals): string;
1376
+
1243
1377
  /**
1244
1378
  * @neuroverseos/governance/radiant — declared vocabulary extraction
1245
1379
  *
@@ -1411,6 +1545,15 @@ interface GovernanceAudit {
1411
1545
  block: number;
1412
1546
  details: GovernanceVerdict[];
1413
1547
  };
1548
+ /**
1549
+ * Crossings — events that WOULD have been blocked/paused/modified in
1550
+ * enforce mode. Populated by running the guard engine in observe mode,
1551
+ * so nothing is actually stopped; callers record the crossing for the
1552
+ * leader to see. Each crossing carries shadowStatus + shadowReason so
1553
+ * downstream tooling (Bevia, Radiant UIs, audit logs) can surface
1554
+ * specific moments the worldmodel was touched.
1555
+ */
1556
+ crossings: Crossing[];
1414
1557
  /** Summary for rendering — most important findings. */
1415
1558
  summary: string;
1416
1559
  }
@@ -1896,6 +2039,13 @@ interface EmergentResult {
1896
2039
  activeAdapters?: string[];
1897
2040
  /** World stack — what worlds were discovered and loaded. */
1898
2041
  worldStack?: WorldStack;
2042
+ /**
2043
+ * Governance audit — populated when a compiled world was loaded. Includes
2044
+ * `crossings` (events that would have blocked/modified/paused in enforce
2045
+ * mode) for surfacing in Bevia / Radiant UIs as moments the leader's
2046
+ * worldmodel was bumped against.
2047
+ */
2048
+ governance?: GovernanceAudit;
1899
2049
  }
1900
2050
  declare function emergent(input: EmergentInput): Promise<EmergentResult>;
1901
2051
  /**
@@ -1942,4 +2092,4 @@ declare function filterEventsByUser(events: readonly Event[], username: string):
1942
2092
  */
1943
2093
  declare const RADIANT_PACKAGE_VERSION = "0.0.0";
1944
2094
 
1945
- 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 DeclaredPattern, type DeclaredVocabulary, type DiscordFetchOptions, type DiscordSignals, type DiscoveredWorld, type EmergentInput, type EmergentResult, type Event, type EventReference, type EvidenceGate, type ExemplarRef, type ExocortexContext, type ExtendsConfig, type ExtendsSpec, type ExtractionResult, type Fetcher, type GitHubFetchOptions, type GovernanceAudit, type GovernanceVerdict, type InterpretInput, type InterpretResult, LENSES, type LensVocabulary, type LifeCapability, type LifeDimension, type LinearFetchOptions, type LinearSignals, type NotionFetchOptions, type NotionSignals, type ObservedPattern, type OrgScope, type OverlapDef, type ParsedRemote, type PatternEvidence, type PatternPersistence, type PrimaryFrame, type PriorRead, RADIANT_PACKAGE_VERSION, type RadiantAI, type RenderInput, type RenderOutput, type RenderingLens, type RepoScope, type ResolveResult, 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, detectOrgExtendsSpec, discoverWorlds, emergent, extractDeclaredVocabulary, extractSignals, fetchDiscordActivity, fetchGitHubActivity, fetchGitHubOrgActivity, fetchLinearActivity, fetchNotionActivity, fetchSlackActivity, filterEventsByUser, formatActiveWorlds, formatDiscordSignalsForPrompt, formatExocortexForPrompt, formatLinearSignalsForPrompt, formatNotionSignalsForPrompt, formatPriorReadsForPrompt, formatScope, formatSlackSignalsForPrompt, formatTeamExocorticesForPrompt, getCacheDir, getLens, getRepoOrigin, interpretPatterns, isPresent, isScored, isSentinel, listLenses, loadExtendsConfig, loadPriorReads, matchDeclaredPattern, parseExtendsSpec, parseRemoteUrl, parseRepoScope, parseScope, presenceAverage, readExocortex, readOriginRemote, readTeamExocortices, render, resolveAllExtends, resolveExtendsSpec, scoreComposite, scoreCyber, scoreLife, scoreNeuroVerse, sovereignConduitLens, summarizeExocortex, think, updateKnowledge, writeRead };
2095
+ 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 DeclaredPattern, type DeclaredVocabulary, type DiscordFetchOptions, type DiscordSignals, type DiscoveredWorld, type EmergentInput, type EmergentResult, type Event, type EventReference, type EvidenceGate, type ExemplarRef, type ExocortexContext, type ExtendsConfig, type ExtendsSpec, type ExtractionResult, type Fetcher, type GitHubFetchOptions, type GoogleWorkspaceFetchOptions, type GoogleWorkspaceSignals, type GovernanceAudit, type GovernanceVerdict, type InterpretInput, type InterpretResult, LENSES, type LensVocabulary, type LifeCapability, type LifeDimension, type LinearFetchOptions, type LinearSignals, type NotionFetchOptions, type NotionSignals, type ObservedPattern, type OrgScope, type OverlapDef, type ParsedRemote, type PatternEvidence, type PatternPersistence, type PrimaryFrame, type PriorRead, RADIANT_PACKAGE_VERSION, type RadiantAI, type RenderInput, type RenderOutput, type RenderingLens, type RepoScope, type ResolveResult, type SalesforceFetchOptions, type SalesforceSignals, 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, detectOrgExtendsSpec, discoverWorlds, emergent, extractDeclaredVocabulary, extractSignals, fetchDiscordActivity, fetchGitHubActivity, fetchGitHubOrgActivity, fetchGoogleWorkspaceActivity, fetchLinearActivity, fetchNotionActivity, fetchSalesforceActivity, fetchSlackActivity, filterEventsByUser, formatActiveWorlds, formatDiscordSignalsForPrompt, formatExocortexForPrompt, formatGoogleWorkspaceSignalsForPrompt, formatLinearSignalsForPrompt, formatNotionSignalsForPrompt, formatPriorReadsForPrompt, formatSalesforceSignalsForPrompt, formatScope, formatSlackSignalsForPrompt, formatTeamExocorticesForPrompt, getCacheDir, getLens, getRepoOrigin, interpretPatterns, isPresent, isScored, isSentinel, listLenses, loadExtendsConfig, loadPriorReads, matchDeclaredPattern, parseExtendsSpec, parseRemoteUrl, parseRepoScope, parseScope, presenceAverage, readExocortex, readOriginRemote, readTeamExocortices, render, resolveAllExtends, resolveExtendsSpec, scoreComposite, scoreCyber, scoreLife, scoreNeuroVerse, sovereignConduitLens, summarizeExocortex, think, updateKnowledge, writeRead };