heron-ai 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +423 -0
- package/dist/bin/heron.d.ts +3 -0
- package/dist/bin/heron.d.ts.map +1 -0
- package/dist/bin/heron.js +198 -0
- package/dist/bin/heron.js.map +1 -0
- package/dist/src/analysis/analyzer.d.ts +14 -0
- package/dist/src/analysis/analyzer.d.ts.map +1 -0
- package/dist/src/analysis/analyzer.js +130 -0
- package/dist/src/analysis/analyzer.js.map +1 -0
- package/dist/src/analysis/risk-scorer.d.ts +20 -0
- package/dist/src/analysis/risk-scorer.d.ts.map +1 -0
- package/dist/src/analysis/risk-scorer.js +143 -0
- package/dist/src/analysis/risk-scorer.js.map +1 -0
- package/dist/src/config/loader.d.ts +15 -0
- package/dist/src/config/loader.d.ts.map +1 -0
- package/dist/src/config/loader.js +39 -0
- package/dist/src/config/loader.js.map +1 -0
- package/dist/src/config/schema.d.ts +146 -0
- package/dist/src/config/schema.d.ts.map +1 -0
- package/dist/src/config/schema.js +27 -0
- package/dist/src/config/schema.js.map +1 -0
- package/dist/src/connectors/http-connector.d.ts +17 -0
- package/dist/src/connectors/http-connector.d.ts.map +1 -0
- package/dist/src/connectors/http-connector.js +56 -0
- package/dist/src/connectors/http-connector.js.map +1 -0
- package/dist/src/connectors/index.d.ts +5 -0
- package/dist/src/connectors/index.d.ts.map +1 -0
- package/dist/src/connectors/index.js +13 -0
- package/dist/src/connectors/index.js.map +1 -0
- package/dist/src/connectors/interactive-connector.d.ts +13 -0
- package/dist/src/connectors/interactive-connector.d.ts.map +1 -0
- package/dist/src/connectors/interactive-connector.js +44 -0
- package/dist/src/connectors/interactive-connector.js.map +1 -0
- package/dist/src/connectors/types.d.ts +15 -0
- package/dist/src/connectors/types.d.ts.map +1 -0
- package/dist/src/connectors/types.js +2 -0
- package/dist/src/connectors/types.js.map +1 -0
- package/dist/src/index.d.ts +12 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +60 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/interview/interviewer.d.ts +19 -0
- package/dist/src/interview/interviewer.d.ts.map +1 -0
- package/dist/src/interview/interviewer.js +68 -0
- package/dist/src/interview/interviewer.js.map +1 -0
- package/dist/src/interview/protocol.d.ts +38 -0
- package/dist/src/interview/protocol.d.ts.map +1 -0
- package/dist/src/interview/protocol.js +290 -0
- package/dist/src/interview/protocol.js.map +1 -0
- package/dist/src/interview/questions.d.ts +20 -0
- package/dist/src/interview/questions.d.ts.map +1 -0
- package/dist/src/interview/questions.js +131 -0
- package/dist/src/interview/questions.js.map +1 -0
- package/dist/src/llm/client.d.ts +13 -0
- package/dist/src/llm/client.d.ts.map +1 -0
- package/dist/src/llm/client.js +128 -0
- package/dist/src/llm/client.js.map +1 -0
- package/dist/src/llm/prompts.d.ts +13 -0
- package/dist/src/llm/prompts.d.ts.map +1 -0
- package/dist/src/llm/prompts.js +192 -0
- package/dist/src/llm/prompts.js.map +1 -0
- package/dist/src/report/generator.d.ts +23 -0
- package/dist/src/report/generator.d.ts.map +1 -0
- package/dist/src/report/generator.js +304 -0
- package/dist/src/report/generator.js.map +1 -0
- package/dist/src/report/templates.d.ts +3 -0
- package/dist/src/report/templates.d.ts.map +1 -0
- package/dist/src/report/templates.js +386 -0
- package/dist/src/report/templates.js.map +1 -0
- package/dist/src/report/types.d.ts +954 -0
- package/dist/src/report/types.d.ts.map +1 -0
- package/dist/src/report/types.js +161 -0
- package/dist/src/report/types.js.map +1 -0
- package/dist/src/server/index.d.ts +17 -0
- package/dist/src/server/index.d.ts.map +1 -0
- package/dist/src/server/index.js +650 -0
- package/dist/src/server/index.js.map +1 -0
- package/dist/src/server/sessions.d.ts +68 -0
- package/dist/src/server/sessions.d.ts.map +1 -0
- package/dist/src/server/sessions.js +268 -0
- package/dist/src/server/sessions.js.map +1 -0
- package/dist/src/util/id.d.ts +2 -0
- package/dist/src/util/id.d.ts.map +1 -0
- package/dist/src/util/id.js +5 -0
- package/dist/src/util/id.js.map +1 -0
- package/dist/src/util/logger.d.ts +9 -0
- package/dist/src/util/logger.d.ts.map +1 -0
- package/dist/src/util/logger.js +32 -0
- package/dist/src/util/logger.js.map +1 -0
- package/heron.example.yaml +46 -0
- package/package.json +40 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { type InterviewProtocol } from '../interview/protocol.js';
|
|
2
|
+
import type { LLMClient } from '../llm/client.js';
|
|
3
|
+
import type { AuditReport, QAPair } from '../report/types.js';
|
|
4
|
+
import type { InterviewQuestion } from '../interview/questions.js';
|
|
5
|
+
export type SessionStatus = 'interviewing' | 'analyzing' | 'complete' | 'error';
|
|
6
|
+
export interface SessionEvent {
|
|
7
|
+
timestamp: string;
|
|
8
|
+
type: 'question' | 'answer' | 'followup' | 'greeting_skipped' | 'analysis_start' | 'analysis_complete' | 'error';
|
|
9
|
+
data: Record<string, unknown>;
|
|
10
|
+
}
|
|
11
|
+
export interface Session {
|
|
12
|
+
id: string;
|
|
13
|
+
status: SessionStatus;
|
|
14
|
+
protocol: InterviewProtocol;
|
|
15
|
+
/** The question Heron is currently waiting for the agent to answer */
|
|
16
|
+
pendingQuestion: InterviewQuestion | null;
|
|
17
|
+
/** Category of the last answered question (for follow-up generation) */
|
|
18
|
+
lastCategory: QAPair['category'] | null;
|
|
19
|
+
/** Whether we need to try generating a follow-up before the next core question */
|
|
20
|
+
needsFollowUp: boolean;
|
|
21
|
+
/** Queue of questions to ask before resuming core questions */
|
|
22
|
+
questionQueue: InterviewQuestion[];
|
|
23
|
+
report: string | null;
|
|
24
|
+
reportJson: AuditReport | null;
|
|
25
|
+
createdAt: Date;
|
|
26
|
+
updatedAt: Date;
|
|
27
|
+
questionsAsked: number;
|
|
28
|
+
/** Structured event log for ground truth comparison */
|
|
29
|
+
eventLog: SessionEvent[];
|
|
30
|
+
error?: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Manages interrogation sessions for server mode.
|
|
34
|
+
* Each agent that connects gets its own session with its own interview state.
|
|
35
|
+
*/
|
|
36
|
+
export declare class SessionManager {
|
|
37
|
+
private sessions;
|
|
38
|
+
private llmClient;
|
|
39
|
+
private maxFollowUps;
|
|
40
|
+
private reportDir;
|
|
41
|
+
constructor(llmClient: LLMClient, options?: {
|
|
42
|
+
maxFollowUps?: number;
|
|
43
|
+
reportDir?: string;
|
|
44
|
+
});
|
|
45
|
+
/** Create a new session and return the first question */
|
|
46
|
+
createSession(): {
|
|
47
|
+
session: Session;
|
|
48
|
+
firstQuestion: string;
|
|
49
|
+
};
|
|
50
|
+
/** Process an agent's answer and return the next question or final result */
|
|
51
|
+
processAnswer(sessionId: string, answer: string): Promise<{
|
|
52
|
+
done: false;
|
|
53
|
+
question: string;
|
|
54
|
+
} | {
|
|
55
|
+
done: true;
|
|
56
|
+
report: string;
|
|
57
|
+
reportJson: AuditReport;
|
|
58
|
+
} | {
|
|
59
|
+
done: true;
|
|
60
|
+
analyzing: true;
|
|
61
|
+
}>;
|
|
62
|
+
getSession(id: string): Session | undefined;
|
|
63
|
+
listSessions(): Session[];
|
|
64
|
+
private getNextQuestion;
|
|
65
|
+
private finishSession;
|
|
66
|
+
private logEvent;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=sessions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../src/server/sessions.ts"],"names":[],"mappings":"AACA,OAAO,EAAiC,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAKjG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAInE,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC;AAEhF,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,OAAO,CAAC;IACjH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,sEAAsE;IACtE,eAAe,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC1C,wEAAwE;IACxE,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IACxC,kFAAkF;IAClF,aAAa,EAAE,OAAO,CAAC;IACvB,+DAA+D;IAC/D,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,uDAAuD;IACvD,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAqB;gBAE1B,SAAS,EAAE,SAAS,EAAE,OAAO,GAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO;IAM7F,yDAAyD;IACzD,aAAa,IAAI;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;IAiC5D,6EAA6E;IACvE,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,IAAI,EAAE,KAAK,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,WAAW,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE,CAAC;IAgEzI,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAI3C,YAAY,IAAI,OAAO,EAAE;YAKX,eAAe;YA4Bf,aAAa;IAmF3B,OAAO,CAAC,QAAQ;CAOjB"}
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
import { generateId } from '../util/id.js';
|
|
2
|
+
import { createProtocol, isStaleAnswer } from '../interview/protocol.js';
|
|
3
|
+
import { analyzeTranscript } from '../analysis/analyzer.js';
|
|
4
|
+
import { computeRiskScore } from '../analysis/risk-scorer.js';
|
|
5
|
+
import { computeRegulatoryFlags } from '../report/generator.js';
|
|
6
|
+
import { renderMarkdownReport } from '../report/templates.js';
|
|
7
|
+
import * as logger from '../util/logger.js';
|
|
8
|
+
/**
|
|
9
|
+
* Manages interrogation sessions for server mode.
|
|
10
|
+
* Each agent that connects gets its own session with its own interview state.
|
|
11
|
+
*/
|
|
12
|
+
export class SessionManager {
|
|
13
|
+
sessions = new Map();
|
|
14
|
+
llmClient;
|
|
15
|
+
maxFollowUps;
|
|
16
|
+
reportDir;
|
|
17
|
+
constructor(llmClient, options = {}) {
|
|
18
|
+
this.llmClient = llmClient;
|
|
19
|
+
this.maxFollowUps = options.maxFollowUps ?? 6;
|
|
20
|
+
this.reportDir = options.reportDir;
|
|
21
|
+
}
|
|
22
|
+
/** Create a new session and return the first question */
|
|
23
|
+
createSession() {
|
|
24
|
+
const id = generateId('sess');
|
|
25
|
+
const protocol = createProtocol(this.llmClient, this.maxFollowUps);
|
|
26
|
+
const firstQ = protocol.nextQuestion();
|
|
27
|
+
const session = {
|
|
28
|
+
id,
|
|
29
|
+
status: 'interviewing',
|
|
30
|
+
protocol,
|
|
31
|
+
pendingQuestion: firstQ,
|
|
32
|
+
lastCategory: null,
|
|
33
|
+
needsFollowUp: false,
|
|
34
|
+
questionQueue: [],
|
|
35
|
+
report: null,
|
|
36
|
+
reportJson: null,
|
|
37
|
+
createdAt: new Date(),
|
|
38
|
+
updatedAt: new Date(),
|
|
39
|
+
questionsAsked: 0,
|
|
40
|
+
eventLog: [],
|
|
41
|
+
};
|
|
42
|
+
this.logEvent(session, 'question', { questionId: firstQ.id, text: firstQ.text, category: firstQ.category });
|
|
43
|
+
this.sessions.set(id, session);
|
|
44
|
+
logger.raw('');
|
|
45
|
+
logger.raw(` \x1b[1mNew session: ${id}\x1b[0m`);
|
|
46
|
+
logger.raw(` Dashboard: http://localhost:3700/sessions/${id}`);
|
|
47
|
+
const total = protocol.totalCoreQuestions;
|
|
48
|
+
logger.raw('');
|
|
49
|
+
logger.raw(` \x1b[36mQ1/${total}\x1b[0m \x1b[2m[${firstQ.category}]\x1b[0m`);
|
|
50
|
+
logger.raw(` \x1b[36mQ:\x1b[0m ${firstQ.text}`);
|
|
51
|
+
return { session, firstQuestion: firstQ.text };
|
|
52
|
+
}
|
|
53
|
+
/** Process an agent's answer and return the next question or final result */
|
|
54
|
+
async processAnswer(sessionId, answer) {
|
|
55
|
+
const session = this.sessions.get(sessionId);
|
|
56
|
+
if (!session)
|
|
57
|
+
throw new Error(`Session not found: ${sessionId}`);
|
|
58
|
+
if (session.status !== 'interviewing') {
|
|
59
|
+
throw new Error(`Session ${sessionId} is in status "${session.status}", not interviewing`);
|
|
60
|
+
}
|
|
61
|
+
// Record the answer to the pending question
|
|
62
|
+
if (session.pendingQuestion) {
|
|
63
|
+
const recorded = session.protocol.recordAnswer(session.pendingQuestion, answer);
|
|
64
|
+
if (!recorded) {
|
|
65
|
+
// Greeting or stale answer was skipped — re-ask the same question
|
|
66
|
+
const isStale = answer.length >= 100 && isStaleAnswer(session.pendingQuestion, answer);
|
|
67
|
+
if (isStale) {
|
|
68
|
+
this.logEvent(session, 'greeting_skipped', { reason: 'stale_answer', answerLength: answer.length });
|
|
69
|
+
logger.raw(` \x1b[2mGreeting skipped (stale answer, ${answer.length} chars) — re-asking\x1b[0m`);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
this.logEvent(session, 'greeting_skipped', { answer: answer.slice(0, 100) });
|
|
73
|
+
logger.raw(` \x1b[2mGreeting skipped — re-asking\x1b[0m`);
|
|
74
|
+
}
|
|
75
|
+
// pendingQuestion stays the same, just return it again
|
|
76
|
+
return { done: false, question: session.pendingQuestion.text };
|
|
77
|
+
}
|
|
78
|
+
this.logEvent(session, 'answer', {
|
|
79
|
+
questionId: session.pendingQuestion.id,
|
|
80
|
+
category: session.pendingQuestion.category,
|
|
81
|
+
answerLength: answer.length,
|
|
82
|
+
});
|
|
83
|
+
session.lastCategory = session.pendingQuestion.category;
|
|
84
|
+
session.questionsAsked++;
|
|
85
|
+
session.needsFollowUp = true;
|
|
86
|
+
// Live terminal output — show answer (question was already printed when sent)
|
|
87
|
+
logger.raw(` \x1b[2mA:\x1b[0m ${answer}`);
|
|
88
|
+
}
|
|
89
|
+
session.updatedAt = new Date();
|
|
90
|
+
// Try to get the next question (follow-up or core)
|
|
91
|
+
const nextQ = await this.getNextQuestion(session);
|
|
92
|
+
if (nextQ) {
|
|
93
|
+
session.pendingQuestion = nextQ;
|
|
94
|
+
this.logEvent(session, 'question', { questionId: nextQ.id, text: nextQ.text, category: nextQ.category });
|
|
95
|
+
const total = session.protocol.totalCoreQuestions;
|
|
96
|
+
const isFollowUp = nextQ.id.startsWith('followup_');
|
|
97
|
+
const qLabel = isFollowUp ? 'Follow-up' : `Q${session.questionsAsked + 1}/${total}`;
|
|
98
|
+
logger.raw('');
|
|
99
|
+
logger.raw(` \x1b[36m${qLabel}\x1b[0m \x1b[2m[${nextQ.category}]\x1b[0m`);
|
|
100
|
+
logger.raw(` \x1b[36mQ:\x1b[0m ${nextQ.text}`);
|
|
101
|
+
return { done: false, question: nextQ.text };
|
|
102
|
+
}
|
|
103
|
+
// No more questions — start analysis in background, return immediately
|
|
104
|
+
logger.raw('');
|
|
105
|
+
logger.raw(` \x1b[33m⏳ Analyzing transcript...\x1b[0m`);
|
|
106
|
+
this.finishSession(session).catch(err => {
|
|
107
|
+
logger.error(`Background analysis failed for ${session.id}: ${err instanceof Error ? err.message : String(err)}`);
|
|
108
|
+
});
|
|
109
|
+
return { done: true, analyzing: true };
|
|
110
|
+
}
|
|
111
|
+
getSession(id) {
|
|
112
|
+
return this.sessions.get(id);
|
|
113
|
+
}
|
|
114
|
+
listSessions() {
|
|
115
|
+
return Array.from(this.sessions.values());
|
|
116
|
+
}
|
|
117
|
+
async getNextQuestion(session) {
|
|
118
|
+
// Drain the question queue first (clean replacement for monkey-patching)
|
|
119
|
+
if (session.questionQueue.length > 0) {
|
|
120
|
+
return session.questionQueue.shift();
|
|
121
|
+
}
|
|
122
|
+
// Try a follow-up if category just changed
|
|
123
|
+
if (session.needsFollowUp && session.lastCategory) {
|
|
124
|
+
session.needsFollowUp = false;
|
|
125
|
+
const nextCore = session.protocol.nextQuestion();
|
|
126
|
+
// If the next core question is a different category, generate follow-up for the previous
|
|
127
|
+
if (nextCore && nextCore.category !== session.lastCategory) {
|
|
128
|
+
const followUp = await session.protocol.generateFollowUp(session.lastCategory);
|
|
129
|
+
if (followUp) {
|
|
130
|
+
// Enqueue the core question, return the follow-up first
|
|
131
|
+
session.questionQueue.push(nextCore);
|
|
132
|
+
this.logEvent(session, 'followup', { questionId: followUp.id, text: followUp.text, category: followUp.category });
|
|
133
|
+
return followUp;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return nextCore;
|
|
137
|
+
}
|
|
138
|
+
return session.protocol.nextQuestion();
|
|
139
|
+
}
|
|
140
|
+
async finishSession(session) {
|
|
141
|
+
session.status = 'analyzing';
|
|
142
|
+
this.logEvent(session, 'analysis_start', {});
|
|
143
|
+
try {
|
|
144
|
+
const transcript = session.protocol.getTranscript();
|
|
145
|
+
const dataQuality = computeDataQuality(transcript);
|
|
146
|
+
const analysis = await analyzeTranscript(this.llmClient, transcript);
|
|
147
|
+
const riskScore = computeRiskScore(analysis.systems, analysis.risks);
|
|
148
|
+
const regulatoryCompliance = computeRegulatoryFlags(analysis, transcript);
|
|
149
|
+
const reportJson = {
|
|
150
|
+
summary: analysis.summary,
|
|
151
|
+
agentPurpose: analysis.agentPurpose,
|
|
152
|
+
agentTrigger: analysis.agentTrigger,
|
|
153
|
+
agentOwner: analysis.agentOwner,
|
|
154
|
+
systems: analysis.systems,
|
|
155
|
+
dataNeeds: analysis.dataNeeds,
|
|
156
|
+
accessAssessment: analysis.accessAssessment,
|
|
157
|
+
risks: analysis.risks,
|
|
158
|
+
recommendations: analysis.recommendations,
|
|
159
|
+
recommendation: analysis.recommendation,
|
|
160
|
+
overallRiskLevel: riskScore.overall,
|
|
161
|
+
transcript,
|
|
162
|
+
dataQuality,
|
|
163
|
+
makesDecisionsAboutPeople: analysis.makesDecisionsAboutPeople,
|
|
164
|
+
decisionMakingDetails: analysis.decisionMakingDetails,
|
|
165
|
+
regulatoryCompliance,
|
|
166
|
+
metadata: {
|
|
167
|
+
date: session.createdAt.toISOString().split('T')[0],
|
|
168
|
+
target: `session:${session.id}`,
|
|
169
|
+
interviewDuration: Date.now() - session.createdAt.getTime(),
|
|
170
|
+
questionsAsked: session.questionsAsked,
|
|
171
|
+
},
|
|
172
|
+
};
|
|
173
|
+
const report = renderMarkdownReport(reportJson);
|
|
174
|
+
// Save report + event log to disk if reportDir is set
|
|
175
|
+
if (this.reportDir) {
|
|
176
|
+
const { writeFileSync, mkdirSync } = await import('node:fs');
|
|
177
|
+
mkdirSync(this.reportDir, { recursive: true });
|
|
178
|
+
const filePath = `${this.reportDir}/${session.id}.md`;
|
|
179
|
+
writeFileSync(filePath, report, 'utf-8');
|
|
180
|
+
// JSON session event log for ground truth comparison
|
|
181
|
+
const logPath = `${this.reportDir}/${session.id}.events.json`;
|
|
182
|
+
writeFileSync(logPath, JSON.stringify(session.eventLog, null, 2), 'utf-8');
|
|
183
|
+
logger.success(`Report saved: ${filePath}`);
|
|
184
|
+
logger.raw(` Event log: ${logPath}`);
|
|
185
|
+
}
|
|
186
|
+
session.report = report;
|
|
187
|
+
session.reportJson = reportJson;
|
|
188
|
+
session.status = 'complete';
|
|
189
|
+
session.updatedAt = new Date();
|
|
190
|
+
this.logEvent(session, 'analysis_complete', { riskLevel: riskScore.overall, riskScore: riskScore.score });
|
|
191
|
+
const riskColor = riskScore.overall === 'high' ? '\x1b[31m' // red
|
|
192
|
+
: riskScore.overall === 'medium' ? '\x1b[33m' // yellow
|
|
193
|
+
: '\x1b[32m'; // green
|
|
194
|
+
logger.raw('');
|
|
195
|
+
logger.raw(` \x1b[1mAudit complete: ${session.id}\x1b[0m`);
|
|
196
|
+
logger.raw(` Risk: ${riskColor}${riskScore.overall.toUpperCase()}\x1b[0m`);
|
|
197
|
+
logger.raw(` Data quality: ${dataQuality.score}/100`);
|
|
198
|
+
logger.raw(` Verdict: ${reportJson.recommendation ?? 'APPROVE WITH CONDITIONS'}`);
|
|
199
|
+
logger.raw(` Findings: ${reportJson.risks.length}`);
|
|
200
|
+
if (this.reportDir) {
|
|
201
|
+
logger.raw(` Report: ${this.reportDir}/${session.id}.md`);
|
|
202
|
+
}
|
|
203
|
+
logger.raw(` Dashboard: http://localhost:3700/sessions/${session.id}`);
|
|
204
|
+
logger.raw('');
|
|
205
|
+
return { done: true, report, reportJson };
|
|
206
|
+
}
|
|
207
|
+
catch (err) {
|
|
208
|
+
session.status = 'error';
|
|
209
|
+
session.error = err instanceof Error ? err.message : String(err);
|
|
210
|
+
this.logEvent(session, 'error', { message: session.error });
|
|
211
|
+
throw err;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
logEvent(session, type, data) {
|
|
215
|
+
session.eventLog.push({
|
|
216
|
+
timestamp: new Date().toISOString(),
|
|
217
|
+
type,
|
|
218
|
+
data,
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
// ─── Data Quality Computation ────────────────────────────────────────────────
|
|
223
|
+
/** Compute data quality metrics from the interview transcript */
|
|
224
|
+
function computeDataQuality(transcript) {
|
|
225
|
+
const totalQuestions = transcript.length;
|
|
226
|
+
// Count repeated/canned answers
|
|
227
|
+
const repeatedAnswers = transcript.filter(qa => qa.answer.startsWith('[REPEATED RESPONSE]')).length;
|
|
228
|
+
// Count greetings that slipped through
|
|
229
|
+
const greetingCount = transcript.filter(qa => /^hi\b|^hello\b|ready to answer|ready for questions|^i am ready/i.test(qa.answer.trim())).length;
|
|
230
|
+
const uniqueAnswers = totalQuestions - repeatedAnswers - greetingCount;
|
|
231
|
+
// Check which compliance fields have real data
|
|
232
|
+
const nonRepeatedText = transcript
|
|
233
|
+
.filter(qa => !qa.answer.startsWith('[REPEATED RESPONSE]'))
|
|
234
|
+
.map(qa => qa.answer.toLowerCase())
|
|
235
|
+
.join(' ');
|
|
236
|
+
const fieldsProvided = [];
|
|
237
|
+
const fieldsMissing = [];
|
|
238
|
+
const fieldChecks = {
|
|
239
|
+
systemId: /\b(api|oauth|sdk|via|using|rest|webhook|token)\b/i,
|
|
240
|
+
scopesRequested: /\b(scope|permission|role|\.readonly|\.send|\.modify|\.admin|\.edit|\.file|spreadsheets|drive)\b/i,
|
|
241
|
+
dataSensitivity: /\b(pii|sensitive|confidential|financial|personal|classified|non.?sensitive|credentials?)\b/i,
|
|
242
|
+
blastRadius: /\b(single.?record|single.?user|team|org.?wide|cross.?tenant|one record|one user|affected)\b/i,
|
|
243
|
+
frequencyAndVolume: /\b(\d+\s*(times?|per|\/|calls?|runs?|operations?)\s*(day|hour|minute|week|session|run)|batch|\d+\/day)\b/i,
|
|
244
|
+
writeOperations: /\b(write|create|update|append|send|modify|delete|insert|post)\b/i,
|
|
245
|
+
reversibility: /\b(revers|rollback|undo|irrevers|cannot be undone|can be restored|can be undone|can be deleted|can be corrected|cannot be unsent|already sent|no.?undo)\b/i,
|
|
246
|
+
};
|
|
247
|
+
for (const [field, pattern] of Object.entries(fieldChecks)) {
|
|
248
|
+
if (pattern.test(nonRepeatedText)) {
|
|
249
|
+
fieldsProvided.push(field);
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
fieldsMissing.push(field);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
// Score: percentage of fields provided, penalized by repeats
|
|
256
|
+
const fieldScore = (fieldsProvided.length / Object.keys(fieldChecks).length) * 100;
|
|
257
|
+
const repeatPenalty = (repeatedAnswers / Math.max(totalQuestions, 1)) * 50;
|
|
258
|
+
const score = Math.max(0, Math.min(100, Math.round(fieldScore - repeatPenalty)));
|
|
259
|
+
return {
|
|
260
|
+
score,
|
|
261
|
+
uniqueAnswers,
|
|
262
|
+
totalQuestions,
|
|
263
|
+
fieldsProvided,
|
|
264
|
+
fieldsMissing,
|
|
265
|
+
repeatedAnswers,
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
//# sourceMappingURL=sessions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/server/sessions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../../src/util/id.ts"],"names":[],"mappings":"AAEA,wBAAgB,UAAU,CAAC,MAAM,SAAU,GAAG,MAAM,CAEnD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id.js","sourceRoot":"","sources":["../../../src/util/id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,UAAU,UAAU,CAAC,MAAM,GAAG,OAAO;IACzC,OAAO,GAAG,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function log(message: string): void;
|
|
2
|
+
export declare function success(message: string): void;
|
|
3
|
+
export declare function warn(message: string): void;
|
|
4
|
+
export declare function error(message: string): void;
|
|
5
|
+
export declare function step(n: number, total: number, message: string): void;
|
|
6
|
+
export declare function heading(message: string): void;
|
|
7
|
+
/** Raw output without [heron] prefix — for banners and formatted blocks */
|
|
8
|
+
export declare function raw(message: string): void;
|
|
9
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/util/logger.ts"],"names":[],"mappings":"AAUA,wBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEzC;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE1C;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE3C;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAEpE;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED,2EAA2E;AAC3E,wBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEzC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
const COLORS = {
|
|
2
|
+
reset: '\x1b[0m',
|
|
3
|
+
dim: '\x1b[2m',
|
|
4
|
+
green: '\x1b[32m',
|
|
5
|
+
yellow: '\x1b[33m',
|
|
6
|
+
red: '\x1b[31m',
|
|
7
|
+
cyan: '\x1b[36m',
|
|
8
|
+
bold: '\x1b[1m',
|
|
9
|
+
};
|
|
10
|
+
export function log(message) {
|
|
11
|
+
console.error(`${COLORS.dim}[heron]${COLORS.reset} ${message}`);
|
|
12
|
+
}
|
|
13
|
+
export function success(message) {
|
|
14
|
+
console.error(`${COLORS.green}\u2713${COLORS.reset} ${message}`);
|
|
15
|
+
}
|
|
16
|
+
export function warn(message) {
|
|
17
|
+
console.error(`${COLORS.yellow}\u26A0${COLORS.reset} ${message}`);
|
|
18
|
+
}
|
|
19
|
+
export function error(message) {
|
|
20
|
+
console.error(`${COLORS.red}\u2717${COLORS.reset} ${message}`);
|
|
21
|
+
}
|
|
22
|
+
export function step(n, total, message) {
|
|
23
|
+
console.error(`${COLORS.cyan}[${n}/${total}]${COLORS.reset} ${message}`);
|
|
24
|
+
}
|
|
25
|
+
export function heading(message) {
|
|
26
|
+
console.error(`\n${COLORS.bold}${message}${COLORS.reset}`);
|
|
27
|
+
}
|
|
28
|
+
/** Raw output without [heron] prefix — for banners and formatted blocks */
|
|
29
|
+
export function raw(message) {
|
|
30
|
+
console.error(message);
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/util/logger.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,GAAG;IACb,KAAK,EAAE,SAAS;IAChB,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,UAAU;IAClB,GAAG,EAAE,UAAU;IACf,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,SAAS;CAChB,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,OAAe;IACjC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,UAAU,MAAM,CAAC,KAAK,IAAI,OAAO,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAe;IACrC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,KAAK,IAAI,OAAO,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,OAAe;IAClC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,KAAK,IAAI,OAAO,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,OAAe;IACnC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,SAAS,MAAM,CAAC,KAAK,IAAI,OAAO,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,CAAS,EAAE,KAAa,EAAE,OAAe;IAC5D,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,OAAO,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAe;IACrC,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,IAAI,GAAG,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,GAAG,CAAC,OAAe;IACjC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Heron Agent Checkpoint — Configuration Example
|
|
2
|
+
# Copy this file to heron.yaml and fill in your values
|
|
3
|
+
|
|
4
|
+
# ─── Scan mode (Heron → Agent) ─────────────────────────────────
|
|
5
|
+
target:
|
|
6
|
+
# How to connect to the agent you want to audit
|
|
7
|
+
# Options: http, interactive
|
|
8
|
+
type: http
|
|
9
|
+
|
|
10
|
+
# For HTTP targets (OpenAI-compatible chat API)
|
|
11
|
+
url: http://localhost:8080/v1/chat/completions
|
|
12
|
+
# apiKey: sk-...
|
|
13
|
+
# model: gpt-4o # optional, depends on target
|
|
14
|
+
|
|
15
|
+
# For interactive mode (you copy questions to the agent manually):
|
|
16
|
+
# type: interactive
|
|
17
|
+
|
|
18
|
+
# ─── Server mode (Agent → Heron) ───────────────────────────────
|
|
19
|
+
# Start with: npx heron-ai serve
|
|
20
|
+
# server:
|
|
21
|
+
# port: 3700
|
|
22
|
+
# host: 0.0.0.0
|
|
23
|
+
# reportDir: ./reports
|
|
24
|
+
|
|
25
|
+
# ─── LLM for analysis ──────────────────────────────────────────
|
|
26
|
+
llm:
|
|
27
|
+
# LLM used by Heron to analyze agent responses
|
|
28
|
+
# Options: anthropic, openai, gemini
|
|
29
|
+
provider: anthropic
|
|
30
|
+
|
|
31
|
+
# API key resolution (in order):
|
|
32
|
+
# 1. Explicit key below or --llm-key flag
|
|
33
|
+
# 2. HERON_LLM_API_KEY env var
|
|
34
|
+
# 3. Stored credentials from `heron login <provider>`
|
|
35
|
+
#
|
|
36
|
+
# apiKey: sk-ant-...
|
|
37
|
+
|
|
38
|
+
model: claude-sonnet-4-20250514
|
|
39
|
+
# For OpenAI: gpt-4o
|
|
40
|
+
# For Gemini: gemini-2.0-flash
|
|
41
|
+
|
|
42
|
+
output:
|
|
43
|
+
# Output format: markdown or json
|
|
44
|
+
format: markdown
|
|
45
|
+
# Where to save the report (default: stdout)
|
|
46
|
+
# path: ./reports/audit-report.md
|
package/package.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "heron-ai",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Open-source agent interrogator — audit what your AI agents do, need, and access",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"heron": "./dist/bin/heron.js"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"dev": "tsx bin/heron.ts",
|
|
11
|
+
"build": "tsc",
|
|
12
|
+
"test": "vitest run",
|
|
13
|
+
"test:watch": "vitest",
|
|
14
|
+
"lint": "tsc --noEmit"
|
|
15
|
+
},
|
|
16
|
+
"keywords": ["ai", "agent", "audit", "security", "mcp", "interrogation", "access-control"],
|
|
17
|
+
"license": "MIT",
|
|
18
|
+
"files": [
|
|
19
|
+
"dist/",
|
|
20
|
+
"README.md",
|
|
21
|
+
"LICENSE",
|
|
22
|
+
"heron.example.yaml"
|
|
23
|
+
],
|
|
24
|
+
"engines": {
|
|
25
|
+
"node": ">=20.0.0"
|
|
26
|
+
},
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"@anthropic-ai/sdk": "^0.39.0",
|
|
29
|
+
"commander": "^12.0.0",
|
|
30
|
+
"openai": "^4.70.0",
|
|
31
|
+
"yaml": "^2.4.0",
|
|
32
|
+
"zod": "^3.23.0"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"@types/node": "^22.0.0",
|
|
36
|
+
"tsx": "^4.21.0",
|
|
37
|
+
"typescript": "~5.8.0",
|
|
38
|
+
"vitest": "^2.0.0"
|
|
39
|
+
}
|
|
40
|
+
}
|