@aiassesstech/nole 0.1.1 → 0.1.3

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.
@@ -1,3 +1,4 @@
1
+ import { getTimeoutForRisk, assessVetoQuality } from './types.js';
1
2
  import { ActionProposer } from './action-proposer.js';
2
3
  import { VetoTracker } from './veto-tracker.js';
3
4
  import { AuditTrail } from './audit-trail.js';
@@ -5,14 +6,20 @@ import { computeAuditHash, GENESIS_HASH } from '../store/hash-chain.js';
5
6
  /**
6
7
  * The Governance Router — core of the three-tier decision engine.
7
8
  *
8
- * Decision flow (Patent Section 3.2):
9
+ * Decision flow (Patent Section 3.2, updated with async escalation):
9
10
  * 1. Nole creates a proposal
10
11
  * 2. If pre-assessment required → Grillo assesses
11
- * 3. If Grillo flags concerns → escalate to Commander
12
- * 4. Commander vetoes or approves
13
- * 5. If vetoed explanation delivered, learning tracked
14
- * 6. If approvedaction marked for execution
12
+ * 3. If Grillo flags concerns → queue for Commander review (async)
13
+ * 4. Commander reviews pending queue via nole_review_pending tool
14
+ * 5. Commander vetoes or approves via nole_veto / nole_approve tools
15
+ * 6. If no Commander response within risk-tiered timeout auto-approve or expire
15
16
  * 7. Entire chain logged in immutable audit trail
17
+ *
18
+ * BB Modifications Applied:
19
+ * - #1: Risk-tiered auto-approval timeouts (low=24h, med=48h, high=72h, critical=NEVER)
20
+ * - #2: Access control (Nole cannot self-approve — enforced in plugin tools)
21
+ * - #4: Notification callback when proposals enter pending_review
22
+ * - #6: Veto explanation quality metric
16
23
  */
17
24
  export class GovernanceRouter {
18
25
  store;
@@ -20,7 +27,7 @@ export class GovernanceRouter {
20
27
  vetoTracker;
21
28
  auditTrail;
22
29
  assessmentCallback = null;
23
- commanderCallback = null;
30
+ notificationCallback = null;
24
31
  constructor(store, financialThreshold = 10, agentId = 'nole') {
25
32
  this.store = store;
26
33
  this.proposer = new ActionProposer(financialThreshold);
@@ -31,13 +38,16 @@ export class GovernanceRouter {
31
38
  onAssessment(callback) {
32
39
  this.assessmentCallback = callback;
33
40
  }
34
- /** Register the Commander escalation callback */
35
- onCommanderEscalation(callback) {
36
- this.commanderCallback = callback;
41
+ /** Register the notification callback (BB modification #4) */
42
+ onNotification(callback) {
43
+ this.notificationCallback = callback;
37
44
  }
38
45
  /**
39
46
  * Propose and process an action through the full governance pipeline.
40
47
  * This is the main entry point for all Nole decisions.
48
+ *
49
+ * If Grillo flags the proposal, it enters a pending_review queue
50
+ * instead of blocking for a synchronous Commander response.
41
51
  */
42
52
  async propose(input) {
43
53
  // Step 1: Create the proposal
@@ -50,53 +60,193 @@ export class GovernanceRouter {
50
60
  await this.auditTrail.record('proposal_created', `Proposed: ${proposal.actionType} — ${proposal.description}`, proposal.id);
51
61
  // Step 2: Assess if required
52
62
  let assessment = null;
53
- let escalated = false;
54
- let commanderDecision;
55
- let vetoExplanation;
56
63
  if (proposal.requiresPreAssessment && this.assessmentCallback) {
57
64
  await this.auditTrail.record('assessment_requested', `Pre-action assessment requested for ${proposal.actionType}`, proposal.id);
58
65
  assessment = await this.assessmentCallback(proposal);
59
66
  if (assessment) {
60
67
  await this.auditTrail.record('assessment_completed', `Assessment: ${assessment.archetype}, passed=${assessment.passed}`, proposal.id);
61
- // Step 3: Escalate to Commander if Grillo flags concerns
62
- if (!assessment.passed && this.commanderCallback) {
63
- escalated = true;
64
- await this.auditTrail.record('escalated_to_commander', `Grillo flagged: ${assessment.archetype}. Escalating to Commander.`, proposal.id);
65
- const commanderResult = await this.commanderCallback(proposal, assessment);
66
- commanderDecision = commanderResult.decision;
67
- if (commanderDecision === 'vetoed') {
68
- vetoExplanation = commanderResult.explanation ?? 'No explanation provided';
69
- await this.auditTrail.record('commander_vetoed', `Commander vetoed: ${vetoExplanation}`, proposal.id);
70
- // Track veto for learning metrics
71
- await this.vetoTracker.recordVeto(proposal.id, vetoExplanation, proposal.actionType);
72
- }
73
- else {
74
- await this.auditTrail.record('commander_approved', 'Commander approved after Grillo flag.', proposal.id);
75
- }
68
+ // Step 3: If Grillo flags queue for async Commander review
69
+ if (!assessment.passed) {
70
+ return this.escalateToCommander(proposal, assessment);
76
71
  }
77
72
  }
78
73
  }
79
- // Step 4: Determine final outcome
80
- let finalOutcome;
81
- if (commanderDecision === 'vetoed') {
82
- finalOutcome = 'vetoed';
83
- await this.auditTrail.record('veto_explanation_received', `Veto explanation: ${vetoExplanation}`, proposal.id);
74
+ // No escalation needed auto-execute
75
+ return this.executeProposal(proposal, assessment ?? undefined);
76
+ }
77
+ /**
78
+ * Escalate a flagged proposal to the Commander review queue (async model).
79
+ * The Commander reviews via nole_review_pending and decides via nole_approve/nole_veto.
80
+ */
81
+ async escalateToCommander(proposal, assessment) {
82
+ const review = {
83
+ proposalId: proposal.id,
84
+ proposal,
85
+ grilloAssessment: assessment,
86
+ escalatedAt: new Date(),
87
+ status: 'pending',
88
+ };
89
+ await this.store.savePendingReview(review);
90
+ await this.auditTrail.record('escalated_to_commander', `Grillo flagged: ${assessment.archetype}. Queued for Commander review. ` +
91
+ `Risk: ${proposal.riskLevel}. Timeout: ${getTimeoutForRisk(proposal.riskLevel) ?? 'NEVER (critical)'}h.`, proposal.id);
92
+ // BB modification #4: Notify Commander and other channels
93
+ if (this.notificationCallback) {
94
+ const timeoutHours = getTimeoutForRisk(proposal.riskLevel);
95
+ const timeoutStr = timeoutHours
96
+ ? `Auto-approval in ${timeoutHours}h if no response.`
97
+ : 'CRITICAL: Will NOT auto-approve. Commander decision required.';
98
+ const message = [
99
+ `[NOLE ESCALATION] Proposal requires Commander review.`,
100
+ `Action: ${proposal.actionType} — ${proposal.description}`,
101
+ `Risk: ${proposal.riskLevel.toUpperCase()}`,
102
+ `Grillo: ${assessment.archetype} (${assessment.passed ? 'passed' : 'FAILED'})`,
103
+ timeoutStr,
104
+ `Review: use nole_review_pending tool to see all pending proposals.`,
105
+ ].join('\n');
106
+ try {
107
+ await this.notificationCallback(review, message);
108
+ await this.auditTrail.record('notification_sent', `Escalation notification sent for proposal ${proposal.id}`, proposal.id);
109
+ }
110
+ catch (err) {
111
+ const msg = err instanceof Error ? err.message : String(err);
112
+ console.error(`[nole] Notification failed: ${msg}`);
113
+ }
84
114
  }
85
- else {
86
- finalOutcome = 'executed';
87
- await this.auditTrail.record('action_executed', `Action approved and executed: ${proposal.description}`, proposal.id);
115
+ // Return pending result — Commander decides later
116
+ const latestAudit = await this.auditTrail.getLatest();
117
+ const result = {
118
+ proposalId: proposal.id,
119
+ proposal,
120
+ grilloAssessment: assessment,
121
+ escalatedToCommander: true,
122
+ finalOutcome: 'pending',
123
+ processedAt: new Date(),
124
+ auditHash: latestAudit?.hash ?? GENESIS_HASH,
125
+ };
126
+ await this.store.saveGovernanceResult(result);
127
+ return result;
128
+ }
129
+ /**
130
+ * Commander approves a pending proposal (called from nole_approve tool).
131
+ *
132
+ * BB modification #2: Access control — callingAgentId must NOT be 'nole'.
133
+ * Enforced at the tool level, but double-checked here.
134
+ */
135
+ async commanderApprove(proposalId, callingAgentId, note) {
136
+ if (callingAgentId === 'nole') {
137
+ await this.auditTrail.record('self_approve_blocked', `BLOCKED: Nole attempted to self-approve proposal ${proposalId}`, proposalId);
138
+ throw new Error('Nole cannot approve his own proposals. This incident has been logged.');
88
139
  }
89
- // Step 5: Build and store result
140
+ const review = await this.store.getPendingReview(proposalId);
141
+ if (!review) {
142
+ throw new Error(`No pending review found for proposal: ${proposalId}`);
143
+ }
144
+ const decision = {
145
+ decision: 'approved',
146
+ note,
147
+ decidedAt: new Date(),
148
+ commanderId: callingAgentId,
149
+ };
150
+ await this.store.resolvePendingReview(proposalId, decision);
151
+ await this.auditTrail.record('commander_approved', `Commander (${callingAgentId}) approved. ${note ? `Note: ${note}` : ''}`, proposalId);
152
+ return this.executeProposal(review.proposal, review.grilloAssessment, true, 'approved');
153
+ }
154
+ /**
155
+ * Commander vetoes a pending proposal (called from nole_veto tool).
156
+ *
157
+ * BB modification #2: Access control — callingAgentId must NOT be 'nole'.
158
+ * BB modification #6: Veto explanation quality check.
159
+ */
160
+ async commanderVeto(proposalId, callingAgentId, explanation) {
161
+ if (callingAgentId === 'nole') {
162
+ await this.auditTrail.record('self_approve_blocked', `BLOCKED: Nole attempted to self-veto proposal ${proposalId}`, proposalId);
163
+ throw new Error('Nole cannot veto his own proposals. This incident has been logged.');
164
+ }
165
+ const review = await this.store.getPendingReview(proposalId);
166
+ if (!review) {
167
+ throw new Error(`No pending review found for proposal: ${proposalId}`);
168
+ }
169
+ // BB modification #6: Assess veto explanation quality
170
+ const quality = assessVetoQuality(explanation);
171
+ const decision = {
172
+ decision: 'vetoed',
173
+ explanation,
174
+ decidedAt: new Date(),
175
+ commanderId: callingAgentId,
176
+ };
177
+ await this.store.resolvePendingReview(proposalId, decision);
178
+ const qualityNote = quality.warning ? ` [QUALITY WARNING: ${quality.warning}]` : '';
179
+ await this.auditTrail.record('commander_vetoed', `Commander (${callingAgentId}) vetoed: ${explanation}${qualityNote}`, proposalId);
180
+ // Track veto for learning metrics
181
+ await this.vetoTracker.recordVeto(proposalId, explanation, review.proposal.actionType);
182
+ const latestAudit = await this.auditTrail.getLatest();
183
+ const result = {
184
+ proposalId,
185
+ proposal: review.proposal,
186
+ grilloAssessment: review.grilloAssessment,
187
+ escalatedToCommander: true,
188
+ commanderDecision: 'vetoed',
189
+ vetoExplanation: explanation,
190
+ finalOutcome: 'vetoed',
191
+ processedAt: new Date(),
192
+ auditHash: latestAudit?.hash ?? GENESIS_HASH,
193
+ };
194
+ await this.store.saveGovernanceResult(result);
195
+ return result;
196
+ }
197
+ /**
198
+ * Process timed-out pending reviews.
199
+ * BB modification #1: Risk-tiered timeouts.
200
+ * - Low: 24h, Medium: 48h, High: 72h, Critical: NEVER auto-approve
201
+ */
202
+ async processTimeouts() {
203
+ const pending = await this.store.listPendingReviews();
204
+ const now = new Date();
205
+ const results = [];
206
+ for (const review of pending) {
207
+ const timeoutHours = getTimeoutForRisk(review.proposal.riskLevel);
208
+ // Critical proposals NEVER auto-approve (BB modification #1)
209
+ if (timeoutHours === null)
210
+ continue;
211
+ const escalatedAt = new Date(review.escalatedAt);
212
+ const timeoutMs = timeoutHours * 60 * 60 * 1000;
213
+ const deadline = new Date(escalatedAt.getTime() + timeoutMs);
214
+ if (now >= deadline) {
215
+ // Auto-approve after timeout
216
+ const decision = {
217
+ decision: 'approved',
218
+ note: `Auto-approved: Commander did not respond within ${timeoutHours}h timeout (risk: ${review.proposal.riskLevel}).`,
219
+ decidedAt: now,
220
+ commanderId: 'system_timeout',
221
+ };
222
+ await this.store.resolvePendingReview(review.proposalId, decision);
223
+ await this.auditTrail.record('commander_timeout', `Auto-approved after ${timeoutHours}h timeout. Risk level: ${review.proposal.riskLevel}.`, review.proposalId);
224
+ const result = await this.executeProposal(review.proposal, review.grilloAssessment, true, 'approved');
225
+ results.push(result);
226
+ }
227
+ }
228
+ return results;
229
+ }
230
+ /** Get all pending reviews for Commander */
231
+ async getPendingReviews() {
232
+ return this.store.listPendingReviews();
233
+ }
234
+ /** Get a specific pending review */
235
+ async getPendingReview(proposalId) {
236
+ return this.store.getPendingReview(proposalId);
237
+ }
238
+ /** Execute a proposal (either direct or after Commander approval) */
239
+ async executeProposal(proposal, assessment, escalated = false, commanderDecision) {
240
+ await this.auditTrail.record('action_executed', `Action approved and executed: ${proposal.description}`, proposal.id);
90
241
  const latestAudit = await this.auditTrail.getLatest();
91
242
  const auditHash = latestAudit?.hash ?? computeAuditHash(GENESIS_HASH, new Date(), 'action_executed', proposal.description, 'nole');
92
243
  const result = {
93
244
  proposalId: proposal.id,
94
245
  proposal,
95
- grilloAssessment: assessment ?? undefined,
246
+ grilloAssessment: assessment,
96
247
  escalatedToCommander: escalated,
97
248
  commanderDecision,
98
- vetoExplanation,
99
- finalOutcome,
249
+ finalOutcome: 'executed',
100
250
  processedAt: new Date(),
101
251
  auditHash,
102
252
  };
@@ -125,6 +275,7 @@ export class GovernanceRouter {
125
275
  /** Get governance statistics */
126
276
  async getStats() {
127
277
  const results = await this.store.listGovernanceResults(10000);
278
+ const pendingReviews = await this.store.listPendingReviews();
128
279
  const executed = results.filter((r) => r.finalOutcome === 'executed').length;
129
280
  const vetoed = results.filter((r) => r.finalOutcome === 'vetoed').length;
130
281
  const withdrawn = results.filter((r) => r.finalOutcome === 'withdrawn').length;
@@ -135,6 +286,7 @@ export class GovernanceRouter {
135
286
  executed,
136
287
  vetoed,
137
288
  withdrawn,
289
+ pending: pendingReviews.length,
138
290
  vetoRate: total > 0 ? vetoed / total : 0,
139
291
  auditChainValid: chainVerification.valid,
140
292
  };
@@ -1 +1 @@
1
- {"version":3,"file":"governance-router.js","sourceRoot":"","sources":["../../src/governance/governance-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"governance-router.js","sourceRoot":"","sources":["../../src/governance/governance-router.ts"],"names":[],"mappings":"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"}
@@ -69,7 +69,39 @@ export interface AuditEntry {
69
69
  hash: AuditHash;
70
70
  }
71
71
  /** Audit action categories */
72
- export type AuditAction = 'proposal_created' | 'assessment_requested' | 'assessment_completed' | 'escalated_to_commander' | 'commander_approved' | 'commander_vetoed' | 'action_executed' | 'action_withdrawn' | 'veto_explanation_received' | 'config_changed' | 'agent_started' | 'agent_stopped' | 'daily_assessment' | 'score_published';
72
+ export type AuditAction = 'proposal_created' | 'assessment_requested' | 'assessment_completed' | 'escalated_to_commander' | 'commander_approved' | 'commander_vetoed' | 'commander_timeout' | 'action_executed' | 'action_withdrawn' | 'veto_explanation_received' | 'self_approve_blocked' | 'notification_sent' | 'config_changed' | 'agent_started' | 'agent_stopped' | 'daily_assessment' | 'score_published';
73
+ /** Commander decision on a pending proposal */
74
+ export interface CommanderDecision {
75
+ decision: 'approved' | 'vetoed';
76
+ explanation?: string;
77
+ note?: string;
78
+ decidedAt: Date;
79
+ commanderId: string;
80
+ }
81
+ /** A proposal queued for Commander review (async escalation model) */
82
+ export interface PendingReview {
83
+ proposalId: NoleId;
84
+ proposal: ActionProposal;
85
+ grilloAssessment: GrilloAssessmentSummary;
86
+ escalatedAt: Date;
87
+ status: 'pending' | 'approved' | 'vetoed' | 'timeout';
88
+ commanderDecision?: CommanderDecision;
89
+ }
90
+ /**
91
+ * Risk-tiered auto-approval timeouts (BB modification #1).
92
+ * Critical actions NEVER auto-approve.
93
+ */
94
+ export declare const RISK_TIMEOUT_HOURS: Record<RiskLevel, number | null>;
95
+ /** Get the timeout for a given risk level. null = never auto-approve. */
96
+ export declare function getTimeoutForRisk(riskLevel: RiskLevel): number | null;
97
+ /** Veto explanation quality assessment (BB modification #6) */
98
+ export interface VetoQuality {
99
+ explanationLength: number;
100
+ isActionable: boolean;
101
+ warning?: string;
102
+ }
103
+ /** Assess veto explanation quality. Short/vague vetoes trigger warnings. */
104
+ export declare function assessVetoQuality(explanation: string): VetoQuality;
73
105
  /** Input for creating a proposal */
74
106
  export interface CreateProposalInput {
75
107
  actionType: ActionCategory;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/governance/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/governance/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,SAAS,EACT,uBAAuB,EACvB,MAAM,EACP,MAAM,oBAAoB,CAAC;AAE5B;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,cAAc,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED,0CAA0C;AAC1C,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;AAE9E,4CAA4C;AAC5C,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,cAAc,CAAC;IACzB,gBAAgB,CAAC,EAAE,uBAAuB,CAAC;IAC3C,oBAAoB,EAAE,OAAO,CAAC;IAC9B,iBAAiB,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,eAAe,CAAC;IAC9B,WAAW,EAAE,IAAI,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,yDAAyD;AACzD,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,IAAI,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,cAAc,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,iCAAiC;AACjC,MAAM,WAAW,WAAW;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAChD,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,uBAAuB,EAAE,MAAM,CAAC;IAChC,wBAAwB,EAAE,MAAM,CAAC;CAClC;AAED,4CAA4C;AAC5C,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,IAAI,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,kCAAkC;AAClC,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,SAAS,CAAC;IACxB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,8BAA8B;AAC9B,MAAM,MAAM,WAAW,GACnB,kBAAkB,GAClB,sBAAsB,GACtB,sBAAsB,GACtB,wBAAwB,GACxB,oBAAoB,GACpB,kBAAkB,GAClB,mBAAmB,GACnB,iBAAiB,GACjB,kBAAkB,GAClB,2BAA2B,GAC3B,sBAAsB,GACtB,mBAAmB,GACnB,gBAAgB,GAChB,eAAe,GACf,eAAe,GACf,kBAAkB,GAClB,iBAAiB,CAAC;AAEtB,+CAA+C;AAC/C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,UAAU,GAAG,QAAQ,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,sEAAsE;AACtE,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,cAAc,CAAC;IACzB,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,WAAW,EAAE,IAAI,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;IACtD,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAK/D,CAAC;AAEF,yEAAyE;AACzE,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAErE;AAED,+DAA+D;AAC/D,MAAM,WAAW,WAAW;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,CAqBlE;AAED,oCAAoC;AACpC,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,cAAc,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,8FAA8F;AAC9F,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,cAAc,EAC1B,gBAAgB,EAAE,MAAM,EACxB,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAOT;AAED,kDAAkD;AAClD,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAUvF"}
@@ -1,3 +1,39 @@
1
+ /**
2
+ * Risk-tiered auto-approval timeouts (BB modification #1).
3
+ * Critical actions NEVER auto-approve.
4
+ */
5
+ export const RISK_TIMEOUT_HOURS = {
6
+ low: 24,
7
+ medium: 48,
8
+ high: 72,
9
+ critical: null, // NEVER auto-approve
10
+ };
11
+ /** Get the timeout for a given risk level. null = never auto-approve. */
12
+ export function getTimeoutForRisk(riskLevel) {
13
+ return RISK_TIMEOUT_HOURS[riskLevel];
14
+ }
15
+ /** Assess veto explanation quality. Short/vague vetoes trigger warnings. */
16
+ export function assessVetoQuality(explanation) {
17
+ const length = explanation.trim().length;
18
+ const vaguePatterns = [
19
+ /^too risky$/i,
20
+ /^no$/i,
21
+ /^denied$/i,
22
+ /^rejected$/i,
23
+ /^not approved$/i,
24
+ /^risky$/i,
25
+ /^bad idea$/i,
26
+ ];
27
+ const isVague = vaguePatterns.some((p) => p.test(explanation.trim()));
28
+ const isActionable = length >= 20 && !isVague;
29
+ return {
30
+ explanationLength: length,
31
+ isActionable,
32
+ warning: !isActionable
33
+ ? `Veto explanation is too short or vague (${length} chars). Nole learns from specific, actionable feedback.`
34
+ : undefined,
35
+ };
36
+ }
1
37
  /** Determines if an action requires pre-assessment based on triggers (Patent Section 10.1) */
2
38
  export function requiresPreAssessment(actionType, estimatedCostUsd, financialThreshold) {
3
39
  if (actionType === 'financial' && estimatedCostUsd > financialThreshold)
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/governance/types.ts"],"names":[],"mappings":"AAgHA,8FAA8F;AAC9F,MAAM,UAAU,qBAAqB,CACnC,UAA0B,EAC1B,gBAAwB,EACxB,kBAA0B;IAE1B,IAAI,UAAU,KAAK,WAAW,IAAI,gBAAgB,GAAG,kBAAkB;QAAE,OAAO,IAAI,CAAC;IACrF,IAAI,UAAU,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC;IAC9C,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,UAAU,KAAK,eAAe;QAAE,OAAO,IAAI,CAAC;IAChD,IAAI,UAAU,KAAK,sBAAsB;QAAE,OAAO,IAAI,CAAC;IACvD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,gBAAgB,CAAC,UAA0B,EAAE,OAAe;IAC1E,IAAI,UAAU,KAAK,eAAe;QAAE,OAAO,MAAM,CAAC;IAClD,IAAI,UAAU,KAAK,sBAAsB;QAAE,OAAO,MAAM,CAAC;IACzD,IAAI,UAAU,KAAK,WAAW,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,MAAM,CAAC;IAC9D,IAAI,UAAU,KAAK,WAAW,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,QAAQ,CAAC;IAChE,IAAI,UAAU,KAAK,aAAa;QAAE,OAAO,QAAQ,CAAC;IAClD,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC9C,IAAI,UAAU,KAAK,cAAc;QAAE,OAAO,KAAK,CAAC;IAChD,IAAI,UAAU,KAAK,iBAAiB;QAAE,OAAO,KAAK,CAAC;IACnD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/governance/types.ts"],"names":[],"mappings":"AA2HA;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAqC;IAClE,GAAG,EAAE,EAAE;IACP,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,EAAE;IACR,QAAQ,EAAE,IAAI,EAAE,qBAAqB;CACtC,CAAC;AAEF,yEAAyE;AACzE,MAAM,UAAU,iBAAiB,CAAC,SAAoB;IACpD,OAAO,kBAAkB,CAAC,SAAS,CAAC,CAAC;AACvC,CAAC;AASD,4EAA4E;AAC5E,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;IACzC,MAAM,aAAa,GAAG;QACpB,cAAc;QACd,OAAO;QACP,WAAW;QACX,aAAa;QACb,iBAAiB;QACjB,UAAU;QACV,aAAa;KACd,CAAC;IACF,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACtE,MAAM,YAAY,GAAG,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;IAE9C,OAAO;QACL,iBAAiB,EAAE,MAAM;QACzB,YAAY;QACZ,OAAO,EAAE,CAAC,YAAY;YACpB,CAAC,CAAC,2CAA2C,MAAM,0DAA0D;YAC7G,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAaD,8FAA8F;AAC9F,MAAM,UAAU,qBAAqB,CACnC,UAA0B,EAC1B,gBAAwB,EACxB,kBAA0B;IAE1B,IAAI,UAAU,KAAK,WAAW,IAAI,gBAAgB,GAAG,kBAAkB;QAAE,OAAO,IAAI,CAAC;IACrF,IAAI,UAAU,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC;IAC9C,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,UAAU,KAAK,eAAe;QAAE,OAAO,IAAI,CAAC;IAChD,IAAI,UAAU,KAAK,sBAAsB;QAAE,OAAO,IAAI,CAAC;IACvD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,gBAAgB,CAAC,UAA0B,EAAE,OAAe;IAC1E,IAAI,UAAU,KAAK,eAAe;QAAE,OAAO,MAAM,CAAC;IAClD,IAAI,UAAU,KAAK,sBAAsB;QAAE,OAAO,MAAM,CAAC;IACzD,IAAI,UAAU,KAAK,WAAW,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,MAAM,CAAC;IAC9D,IAAI,UAAU,KAAK,WAAW,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,QAAQ,CAAC;IAChE,IAAI,UAAU,KAAK,aAAa;QAAE,OAAO,QAAQ,CAAC;IAClD,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC9C,IAAI,UAAU,KAAK,cAAc;QAAE,OAAO,KAAK,CAAC;IAChD,IAAI,UAAU,KAAK,iBAAiB;QAAE,OAAO,KAAK,CAAC;IACnD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -18,6 +18,8 @@ export declare class VetoTracker {
18
18
  recordVeto(proposalId: string, explanation: string, actionType: ActionCategory, lessonsLearned?: string): Promise<VetoRecord>;
19
19
  /** Get veto metrics for a time period */
20
20
  getMetrics(totalProposals: number): Promise<VetoMetrics>;
21
+ /** Get recent vetoes (for quality analysis) */
22
+ getRecentVetoes(limit?: number): Promise<VetoRecord[]>;
21
23
  /** Is the veto rate declining? (indicates learning) */
22
24
  isLearning(): Promise<{
23
25
  learning: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"veto-tracker.d.ts","sourceRoot":"","sources":["../../src/governance/veto-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAkB,MAAM,YAAY,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;;;;;;;GASG;AACH,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,SAAS;IAE7C,wBAAwB;IAClB,UAAU,CACd,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,cAAc,EAC1B,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,UAAU,CAAC;IAYtB,yCAAyC;IACnC,UAAU,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAqC9D,uDAAuD;IACjD,UAAU,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAA;KAAE,CAAC;IA0BhG,OAAO,CAAC,kBAAkB;CA2B3B"}
1
+ {"version":3,"file":"veto-tracker.d.ts","sourceRoot":"","sources":["../../src/governance/veto-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAkB,MAAM,YAAY,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;;;;;;;GASG;AACH,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,SAAS;IAE7C,wBAAwB;IAClB,UAAU,CACd,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,cAAc,EAC1B,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,UAAU,CAAC;IAYtB,yCAAyC;IACnC,UAAU,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAqC9D,+CAA+C;IACzC,eAAe,CAAC,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAKhE,uDAAuD;IACjD,UAAU,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAA;KAAE,CAAC;IA0BhG,OAAO,CAAC,kBAAkB;CA2B3B"}
@@ -51,6 +51,11 @@ export class VetoTracker {
51
51
  averageVetoRateLastMonth: vetoesLastMonth.length > 0 ? vetoesLastMonth.length / Math.max(1, totalProposals) : 0,
52
52
  };
53
53
  }
54
+ /** Get recent vetoes (for quality analysis) */
55
+ async getRecentVetoes(limit = 10) {
56
+ const all = await this.store.listVetoRecords();
57
+ return all.slice(0, limit);
58
+ }
54
59
  /** Is the veto rate declining? (indicates learning) */
55
60
  async isLearning() {
56
61
  const allVetoes = await this.store.listVetoRecords();
@@ -1 +1 @@
1
- {"version":3,"file":"veto-tracker.js","sourceRoot":"","sources":["../../src/governance/veto-tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"veto-tracker.js","sourceRoot":"","sources":["../../src/governance/veto-tracker.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,12 +7,13 @@
7
7
  * Library entry: import { GovernanceRouter, ... } from '@aiassesstech/nole'
8
8
  */
9
9
  export { GovernanceRouter } from './governance/governance-router.js';
10
- export type { AssessmentCallback, CommanderCallback } from './governance/governance-router.js';
10
+ export type { AssessmentCallback, NotificationCallback } from './governance/governance-router.js';
11
11
  export { ActionProposer } from './governance/action-proposer.js';
12
12
  export { VetoTracker } from './governance/veto-tracker.js';
13
13
  export { AuditTrail } from './governance/audit-trail.js';
14
14
  export { requiresPreAssessment, defaultRiskLevel, } from './governance/types.js';
15
- export type { ActionProposal, GovernanceResult, VetoRecord, VetoMetrics, VetoTrendPoint, AuditEntry, AuditAction, CreateProposalInput, ProposalOutcome, } from './governance/types.js';
15
+ export type { ActionProposal, GovernanceResult, VetoRecord, VetoMetrics, VetoTrendPoint, AuditEntry, AuditAction, CreateProposalInput, ProposalOutcome, PendingReview, CommanderDecision, VetoQuality, } from './governance/types.js';
16
+ export { getTimeoutForRisk, assessVetoQuality, RISK_TIMEOUT_HOURS, } from './governance/types.js';
16
17
  export { TriggerEvaluator } from './assessment/trigger-evaluator.js';
17
18
  export { AssessmentScheduler } from './assessment/assessment-scheduler.js';
18
19
  export { ScorePublisher } from './assessment/score-publisher.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EACL,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,YAAY,EACV,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG5F,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC3E,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACjG,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D,YAAY,EACV,UAAU,EACV,uBAAuB,EACvB,cAAc,EACd,SAAS,EACT,QAAQ,EACR,SAAS,EACT,MAAM,GACP,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EACL,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,YAAY,EACV,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG5F,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC3E,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACjG,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D,YAAY,EACV,UAAU,EACV,uBAAuB,EACvB,cAAc,EACd,SAAS,EACT,QAAQ,EACR,SAAS,EACT,MAAM,GACP,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -12,6 +12,7 @@ export { ActionProposer } from './governance/action-proposer.js';
12
12
  export { VetoTracker } from './governance/veto-tracker.js';
13
13
  export { AuditTrail } from './governance/audit-trail.js';
14
14
  export { requiresPreAssessment, defaultRiskLevel, } from './governance/types.js';
15
+ export { getTimeoutForRisk, assessVetoQuality, RISK_TIMEOUT_HOURS, } from './governance/types.js';
15
16
  // ── Assessment Protocol (Module 4) ──
16
17
  export { TriggerEvaluator } from './assessment/trigger-evaluator.js';
17
18
  export { AssessmentScheduler } from './assessment/assessment-scheduler.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,qCAAqC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EACL,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAa/B,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AASjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,cAAc;AACd,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE5F,sBAAsB;AACtB,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG3E,iBAAiB;AACjB,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAajG,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,qCAAqC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EACL,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAe/B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAE/B,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AASjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,cAAc;AACd,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE5F,sBAAsB;AACtB,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG3E,iBAAiB;AACjB,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAajG,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/plugin.d.ts CHANGED
@@ -7,6 +7,13 @@
7
7
  * - Separate config reading from network calls (security warning mitigation)
8
8
  * - Tools: snake_case with nole_ prefix
9
9
  * - Commands: /nole
10
+ *
11
+ * BB Modifications (v0.1.2 — Commander Upgrade):
12
+ * #1: Risk-tiered auto-approval timeouts
13
+ * #2: Access control — Nole cannot self-approve/veto
14
+ * #4: Notification to Commander when proposals enter pending_review
15
+ * #5: SOUL.md updated with "DO NOT veto commercial risk"
16
+ * #6: Veto explanation quality metric
10
17
  */
11
18
  export default function register(api: any): void;
12
19
  //# sourceMappingURL=plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAgBA;;;;;;;;;GASG;AAGH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CA6Q/C"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;;;;GAgBG;AAGH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAynB/C"}