sentinel-agentos 0.3.3 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1797 -1769
- package/dist/adapters/memory-bridge.d.ts +1 -7
- package/dist/adapters/memory-bridge.d.ts.map +1 -1
- package/dist/core.d.ts +11 -3
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +84 -10
- package/dist/core.js.map +1 -1
- package/dist/evaluator/feedback.d.ts +20 -29
- package/dist/evaluator/feedback.d.ts.map +1 -1
- package/dist/evaluator/feedback.js +76 -48
- package/dist/evaluator/feedback.js.map +1 -1
- package/dist/evaluator/profiler.d.ts +3 -3
- package/dist/evaluator/profiler.d.ts.map +1 -1
- package/dist/evaluator/profiler.js +4 -4
- package/dist/evaluator/profiler.js.map +1 -1
- package/dist/memory/semantic.d.ts +10 -18
- package/dist/memory/semantic.d.ts.map +1 -1
- package/dist/memory/semantic.js +51 -29
- package/dist/memory/semantic.js.map +1 -1
- package/dist/types/index.d.ts +9 -3
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +69 -69
|
@@ -75,13 +75,7 @@ export declare class MemoryBridge {
|
|
|
75
75
|
knownIssues?: string[];
|
|
76
76
|
}): void;
|
|
77
77
|
/** 获取项目上下文 */
|
|
78
|
-
getProjectContext(name: string):
|
|
79
|
-
description: string;
|
|
80
|
-
techStack: string[];
|
|
81
|
-
conventions: string[];
|
|
82
|
-
architecture: string;
|
|
83
|
-
knownIssues: string[];
|
|
84
|
-
} | undefined;
|
|
78
|
+
getProjectContext(name: string): Record<string, unknown> | undefined;
|
|
85
79
|
/** 获取完整记忆状态快照 */
|
|
86
80
|
getSnapshot(): MemorySnapshot;
|
|
87
81
|
/** 获取 Working Memory 实例(供中间件使用) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-bridge.d.ts","sourceRoot":"","sources":["../../src/adapters/memory-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGrC,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAS;gBAEd,aAAa,EAAE,MAAM;IAWjC;;;OAGG;IACH,cAAc,IAAI,MAAM;IAqBxB;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAIrE;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAIxD;;;;OAIG;IACH,YAAY,CAAC,UAAU,UAAO,GAAG,IAAI;IAYrC;;OAEG;IACH,WAAW,CACT,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,MAAM,EAAO,EACnB,eAAe,GAAE,MAAM,EAAO,EAC9B,eAAe,SAAI,GAClB,IAAI;IAMP,YAAY;IACZ,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAI7C,aAAa;IACb,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAIhD,aAAa;IACb,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,cAAc;IACd,iBAAiB,CACf,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;KACxB,GACA,IAAI;IAIP,cAAc;IACd,iBAAiB,CAAC,IAAI,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"memory-bridge.d.ts","sourceRoot":"","sources":["../../src/adapters/memory-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGrC,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAS;gBAEd,aAAa,EAAE,MAAM;IAWjC;;;OAGG;IACH,cAAc,IAAI,MAAM;IAqBxB;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAIrE;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAIxD;;;;OAIG;IACH,YAAY,CAAC,UAAU,UAAO,GAAG,IAAI;IAYrC;;OAEG;IACH,WAAW,CACT,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,MAAM,EAAO,EACnB,eAAe,GAAE,MAAM,EAAO,EAC9B,eAAe,SAAI,GAClB,IAAI;IAMP,YAAY;IACZ,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAI7C,aAAa;IACb,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAIhD,aAAa;IACb,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,cAAc;IACd,iBAAiB,CACf,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;KACxB,GACA,IAAI;IAIP,cAAc;IACd,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAM9B,iBAAiB;IACjB,WAAW,IAAI,cAAc;IAQ7B,mCAAmC;IACnC,gBAAgB,IAAI,aAAa;IAIjC,4BAA4B;IAC5B,iBAAiB,IAAI,mBAAmB;IAIxC,4BAA4B;IAC5B,iBAAiB,IAAI,cAAc;IAInC,0BAA0B;IAC1B,YAAY,IAAI,MAAM;IAMtB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA6B7B,sBAAsB;IACtB,KAAK,IAAI,IAAI;IAIb,aAAa;IACb,YAAY,IAAI,MAAM;IAgBtB;;;OAGG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAsF/E;AAKD,2BAA2B;AAC3B,wBAAgB,eAAe,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,YAAY,CAQpE;AAED,mBAAmB;AACnB,wBAAgB,iBAAiB,IAAI,IAAI,CAKxC"}
|
package/dist/core.d.ts
CHANGED
|
@@ -123,10 +123,18 @@ export declare class AgentOS {
|
|
|
123
123
|
*/
|
|
124
124
|
injectContext(): string;
|
|
125
125
|
/**
|
|
126
|
-
* End current session — promote
|
|
127
|
-
*
|
|
126
|
+
* End current session — auto-detect feedback, promote events to episodic,
|
|
127
|
+
* append daily log, clear working memory.
|
|
128
128
|
*/
|
|
129
|
-
endSession(sessionId: string): void;
|
|
129
|
+
endSession(sessionId: string, workspaceRoot?: string): void;
|
|
130
|
+
/**
|
|
131
|
+
* Append evaluation summary to daily log file.
|
|
132
|
+
*/
|
|
133
|
+
private appendDailyLog;
|
|
134
|
+
/**
|
|
135
|
+
* Detect if this tool call's parameters reference a previous result.
|
|
136
|
+
*/
|
|
137
|
+
private detectResultUtilization;
|
|
130
138
|
/**
|
|
131
139
|
* Get audit statistics.
|
|
132
140
|
*/
|
package/dist/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,WAAW,EACX,QAAQ,EACR,UAAU,EACV,cAAc,EACd,cAAc,EACd,eAAe,EAChB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACnG,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAgB;IAG9B,QAAQ,CAAC,MAAM,EAAE;QACf,OAAO,EAAE,aAAa,CAAC;QACvB,QAAQ,EAAE,cAAc,CAAC;QACzB,QAAQ,EAAE,mBAAmB,CAAC;KAC/B,CAAC;IAGF,QAAQ,CAAC,KAAK,EAAE;QACd,MAAM,EAAE,UAAU,CAAC;QACnB,IAAI,EAAE,QAAQ,CAAC;QACf,QAAQ,EAAE,YAAY,CAAC;QACvB,MAAM,EAAE,UAAU,CAAC;QACnB,KAAK,EAAE,QAAQ,CAAC;KACjB,CAAC;IAGF,QAAQ,CAAC,SAAS,EAAE;QAClB,OAAO,EAAE,gBAAgB,CAAC;QAC1B,OAAO,EAAE,gBAAgB,CAAC;QAC1B,QAAQ,EAAE,iBAAiB,CAAC;QAC5B,QAAQ,EAAE,sBAAsB,CAAC;QACjC,QAAQ,EAAE,aAAa,CAAC;KACzB,CAAC;gBAEU,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAqD3C;;OAEG;IACH,SAAS,IAAI,QAAQ,CAAC,aAAa,CAAC;IAIpC;;;;;;OAMG;IACH,eAAe,CAAC,OAAO,EAAE;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QACzB,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B,GAAG;QACF,OAAO,EAAE,cAAc,CAAC;QACxB,OAAO,CAAC,EAAE,cAAc,CAAC;QACzB,QAAQ,CAAC,EAAE,eAAe,CAAC;QAC3B,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;QAC1B,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,OAAO,EAAE,YAAY,CAAC;KACvB;
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|
package/dist/core.js
CHANGED
|
@@ -95,6 +95,8 @@ class AgentOS {
|
|
|
95
95
|
// --- Phase 1: Pre-exec evaluation ---
|
|
96
96
|
const preExec = this.evaluator.preExec.evaluate(toolName, parameters);
|
|
97
97
|
this.memory.working.addMessage('tool', JSON.stringify(parameters));
|
|
98
|
+
// Auto-detect if this call references a previous result
|
|
99
|
+
this.detectResultUtilization(parameters, sessionId);
|
|
98
100
|
// --- Phase 2: Snapshot before execution ---
|
|
99
101
|
const snapshot = this.guard.snapshot.takeSnapshot(`call_${Date.now()}`, toolName, affectedFiles ?? [], 'file');
|
|
100
102
|
// --- Phase 3: Execute (delegated to runtime — here we return pre-exec state) ---
|
|
@@ -147,10 +149,11 @@ class AgentOS {
|
|
|
147
149
|
verifyStatus: verifyResult.status,
|
|
148
150
|
verifyChecks: verifyResult.checks,
|
|
149
151
|
});
|
|
150
|
-
// --- Phase 5:
|
|
151
|
-
this.evaluator.
|
|
152
|
-
//
|
|
153
|
-
this.evaluator.preExec.evaluate(toolName, toolParameters)
|
|
152
|
+
// --- Phase 5: Track result for utilization scoring ---
|
|
153
|
+
this.evaluator.postExec.trackResult(auditEntry.id, toolResult);
|
|
154
|
+
// --- Phase 6: Record in profiler (reuse pre-exec from pipeline start) ---
|
|
155
|
+
const preExecMetric = this.evaluator.preExec.evaluate(toolName, toolParameters);
|
|
156
|
+
this.evaluator.profiler.recordCycle(sessionId, preExecMetric, runtime, postExec);
|
|
154
157
|
return {
|
|
155
158
|
runtime,
|
|
156
159
|
postExec,
|
|
@@ -197,22 +200,93 @@ class AgentOS {
|
|
|
197
200
|
return parts.join('\n\n---\n\n');
|
|
198
201
|
}
|
|
199
202
|
/**
|
|
200
|
-
* End current session — promote
|
|
201
|
-
*
|
|
203
|
+
* End current session — auto-detect feedback, promote events to episodic,
|
|
204
|
+
* append daily log, clear working memory.
|
|
202
205
|
*/
|
|
203
|
-
endSession(sessionId) {
|
|
204
|
-
//
|
|
206
|
+
endSession(sessionId, workspaceRoot) {
|
|
207
|
+
// Phase 1: Auto-detect feedback from audit log
|
|
208
|
+
const recentAudit = this.guard.audit.query({ sessionId, limit: 100 });
|
|
209
|
+
const detected = this.evaluator.feedback.autoDetect(recentAudit, sessionId);
|
|
210
|
+
// Phase 2: Promote important working memory items to episodic
|
|
205
211
|
if (this.memory.working.currentTask) {
|
|
206
212
|
this.memory.episodic.record('milestone', `Task completed: ${this.memory.working.currentTask.description}`, ['task', 'session-end'], [sessionId]);
|
|
207
213
|
}
|
|
208
|
-
// Log learned rules from this session
|
|
214
|
+
// Phase 3: Log learned rules from this session
|
|
209
215
|
const rules = this.memory.semantic.getRules(0.6);
|
|
210
216
|
for (const rule of rules.slice(0, 3)) {
|
|
211
217
|
this.memory.episodic.record('note', `Rule: ${rule.rule} (confidence: ${Math.round(rule.confidence * 100)}%)`, ['rule', 'semantic'], []);
|
|
212
218
|
}
|
|
213
|
-
//
|
|
219
|
+
// Phase 4: Record session end event with stats
|
|
220
|
+
const profile = this.evaluator.profiler.getProfile(sessionId);
|
|
221
|
+
const auditStats = this.guard.audit.stats();
|
|
222
|
+
this.memory.episodic.record('note', `Session ended — Score: ${profile.overallScore}/100 | Ops: ${auditStats.totalOperations} | Feedback signals detected: ${detected}`, ['session-end', 'summary'], [sessionId]);
|
|
223
|
+
// Phase 5: Append daily log if workspaceRoot provided
|
|
224
|
+
if (workspaceRoot) {
|
|
225
|
+
this.appendDailyLog(sessionId, workspaceRoot);
|
|
226
|
+
}
|
|
227
|
+
// Phase 5: Decay unused semantic rules
|
|
228
|
+
this.memory.semantic.decayUnusedRules();
|
|
229
|
+
// Phase 6: Clear working memory for next session
|
|
214
230
|
this.memory.working.clear();
|
|
215
231
|
}
|
|
232
|
+
/**
|
|
233
|
+
* Append evaluation summary to daily log file.
|
|
234
|
+
*/
|
|
235
|
+
appendDailyLog(sessionId, workspaceRoot) {
|
|
236
|
+
try {
|
|
237
|
+
const { appendFileSync, existsSync, mkdirSync } = require('fs');
|
|
238
|
+
const path = require('path');
|
|
239
|
+
const dateKey = new Date().toISOString().split('T')[0];
|
|
240
|
+
const memDir = path.join(workspaceRoot, 'memory');
|
|
241
|
+
if (!existsSync(memDir))
|
|
242
|
+
mkdirSync(memDir, { recursive: true });
|
|
243
|
+
const dailyFile = path.join(memDir, `${dateKey}.md`);
|
|
244
|
+
const profile = this.evaluator.profiler.getProfile(sessionId);
|
|
245
|
+
const auditStats = this.guard.audit.stats();
|
|
246
|
+
const satisfaction = this.evaluator.feedback.getSatisfactionScore(sessionId);
|
|
247
|
+
const report = [
|
|
248
|
+
'',
|
|
249
|
+
'## 📊 AgentOS Evaluator 今日评估',
|
|
250
|
+
'',
|
|
251
|
+
`**综合评分**: ${profile.overallScore}/100 | Pre:${profile.breakdown.preExec ?? 'N/A'}/100 | Run:${profile.breakdown.runtime ?? 'N/A'}/100 | Post:${profile.breakdown.postExec ?? 'N/A'}/100`,
|
|
252
|
+
`**趋势**: ${profile.trends.improving ? '📈 上升' : '📉 下降'} | **操作数**: ${auditStats.totalOperations} | **满意度**: ${satisfaction}`,
|
|
253
|
+
profile.warnings.length > 0 ? `**⚠️**: ${profile.warnings.join('; ')}` : '',
|
|
254
|
+
profile.strengths.length > 0 ? `**✅**: ${profile.strengths.join('; ')}` : '',
|
|
255
|
+
'',
|
|
256
|
+
].filter(Boolean).join('\n');
|
|
257
|
+
const existing = existsSync(dailyFile) ? require('fs').readFileSync(dailyFile, 'utf-8') : '';
|
|
258
|
+
if (!existing.includes('AgentOS Evaluator')) {
|
|
259
|
+
appendFileSync(dailyFile, report, 'utf-8');
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
catch (e) {
|
|
263
|
+
console.warn('[AgentOS] Failed to append daily log:', e);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Detect if this tool call's parameters reference a previous result.
|
|
268
|
+
*/
|
|
269
|
+
detectResultUtilization(params, sessionId) {
|
|
270
|
+
try {
|
|
271
|
+
const allValues = Object.values(params).join(' ');
|
|
272
|
+
const tracker = this.evaluator.postExec['resultReferenceTracker'];
|
|
273
|
+
if (!tracker)
|
|
274
|
+
return;
|
|
275
|
+
for (const [opId, entry] of tracker) {
|
|
276
|
+
if (entry.referenced)
|
|
277
|
+
continue;
|
|
278
|
+
const resultStr = JSON.stringify(entry.result);
|
|
279
|
+
// Check if parameters contain a reference to previous result
|
|
280
|
+
if (resultStr.length > 10 && allValues.includes(resultStr.substring(0, 20))) {
|
|
281
|
+
this.evaluator.postExec.markResultReferenced(opId);
|
|
282
|
+
this.evaluator.feedback.record('user_used_result', sessionId, opId, 0.5, 'auto-param-match');
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
catch {
|
|
287
|
+
// Non-critical, silently ignore detection failures
|
|
288
|
+
}
|
|
289
|
+
}
|
|
216
290
|
/**
|
|
217
291
|
* Get audit statistics.
|
|
218
292
|
*/
|
package/dist/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":";;;AASA,qDAAiD;AACjD,iDAA6C;AAC7C,6DAAmE;AACnE,iDAA6C;AAC7C,8CAAiD;AACjD,gDAAmD;AACnD,gDAAwD;AACxD,+DAAmG;AACnG,mDAA8D;AAC9D,mDAAqD;AAGrD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAa,OAAO;IACV,MAAM,CAAgB;IAE9B,eAAe;IACN,MAAM,CAIb;IAEF,cAAc;IACL,KAAK,CAMZ;IAEF,kBAAkB;IACT,SAAS,CAMhB;IAEF,YAAY,MAA+B;QACzC,IAAI,CAAC,MAAM,GAAG;YACZ,aAAa,EAAE,OAAO,CAAC,GAAG,EAAE;YAC5B,gBAAgB,EAAE,KAAK;YACvB,iBAAiB,EAAE,GAAG;YACtB,WAAW,EAAE,EAAE;YACf,GAAG,MAAM;SACV,CAAC;QAEF,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,IAAI,8BAAmB,EAAE,CAAC;QAC3C,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,aAAc,CAAC,CAAC;QAEvD,MAAM,QAAQ,GAAG,IAAI,yBAAc,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACnE,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,aAAc,CAAC,CAAC;QAEvD,MAAM,OAAO,GAAG,IAAI,uBAAa,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAEhE,IAAI,CAAC,MAAM,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAE9C,2BAA2B;QAC3B,MAAM,MAAM,GAAG,IAAI,wBAAU,EAAE,CAAC;QAEhC,MAAM,IAAI,GAAG,IAAI,oBAAQ,EAAE,CAAC;QAE5B,MAAM,QAAQ,GAAG,IAAI,8BAAY,CAAC,IAAI,CAAC,MAAM,CAAC,aAAc,CAAC,CAAC;QAE9D,MAAM,MAAM,GAAG,IAAI,4BAAU,CAAC,IAAI,CAAC,MAAM,CAAC,aAAc,CAAC,CAAC;QAE1D,MAAM,KAAK,GAAG,IAAI,oBAAQ,CACxB,IAAI,CAAC,MAAM,CAAC,aAAc,EAC1B,MAAM,EACN,IAAI,CACL,CAAC;QAEF,IAAI,CAAC,KAAK,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAEvD,+BAA+B;QAC/B,MAAM,WAAW,GAAG,IAAI,iCAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,IAAI,iCAAgB,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,IAAI,kCAAiB,EAAE,CAAC;QAC7C,MAAM,cAAc,GAAG,IAAI,iCAAsB,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,wBAAa,CAAC,cAAc,CAAC,CAAC;QAEnD,IAAI,CAAC,SAAS,GAAG;YACf,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE,WAAW;YACpB,QAAQ,EAAE,YAAY;YACtB,QAAQ,EAAE,cAAc;YACxB,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;;;OAMG;IACH,eAAe,CAAC,OAOf;QAQC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;QAEnE,uCAAuC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAEnE,wDAAwD;QACxD,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAEpD,6CAA6C;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAC/C,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE,EACpB,QAAQ,EACR,aAAa,IAAI,EAAE,EACnB,MAAM,CACP,CAAC;QAEF,kFAAkF;QAElF,wDAAwD;QACxD,OAAO;YACL,OAAO;YACP,QAAQ;YACR,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;SACvD,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,OAejB;QAMC,MAAM,EACJ,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EACxD,QAAQ,EAAE,SAAS,EAAE,OAAO,EAC5B,UAAU,EAAE,gBAAgB,EAAE,UAAU,EACxC,YAAY,EAAE,gBAAgB,EAAE,aAAa,GAC9C,GAAG,OAAO,CAAC;QAEZ,sCAAsC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC9C,QAAQ;YACR,SAAS;YACT,OAAO;YACP,UAAU;YACV,gBAAgB;YAChB,UAAU;YACV,UAAU;SACX,CAAC,CAAC;QAEH,0CAA0C;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAC3C,QAAQ,EACR,QAAS,EACT,EAAE,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CACjF,CAAC;QAEF,wCAAwC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAChD,YAAY,EAAE,YAAY,CAAC,MAAM,KAAK,MAAM;YAC5C,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM;YACxC,cAAc,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM;YAC7E,YAAY;YACZ,gBAAgB;YAChB,aAAa;SACd,CAAC,CAAC;QAEH,6BAA6B;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;YACzC,SAAS;YACT,OAAO;YACP,SAAS,EAAE,SAAS;YACpB,WAAW,EAAE,OAAO;YACpB,QAAQ;YACR,cAAc;YACd,UAAU;YACV,QAAQ;YACR,YAAY,EAAE,YAAY,CAAC,MAAM;YACjC,YAAY,EAAE,YAAY,CAAC,MAAM;SAClC,CAAC,CAAC;QAEH,wDAAwD;QACxD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAE/D,2EAA2E;QAC3E,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAChF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CACjC,SAAS,EACT,aAAa,EACb,OAAO,EACP,QAAQ,CACT,CAAC;QAEF,OAAO;YACL,OAAO;YACP,QAAQ;YACR,UAAU;YACV,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;SACvD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,cAAc,CACZ,MAAuD,EACvD,SAAiB,EACjB,WAAoB,EACpB,UAAmB,EACnB,MAAe;QAEf,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACrF,CAAC;IAED;;OAEG;IACH,SAAS;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACnC,OAAO;YACL,OAAO,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE;YACjF,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE;YACnB,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,gBAAgB,IAAI,CAAC;YACrD,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE;YACjF,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;YAC/C,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,aAAa;QACX,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC1E,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAE1E,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,eAAe;YAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,eAAe;YAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEjD,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACnC,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,SAAiB,EAAE,aAAsB;QAClD,+CAA+C;QAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAE5E,8DAA8D;QAC9D,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CACzB,WAAW,EACX,mBAAmB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,EAChE,CAAC,MAAM,EAAE,aAAa,CAAC,EACvB,CAAC,SAAS,CAAC,CACZ,CAAC;QACJ,CAAC;QAED,+CAA+C;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CACzB,MAAM,EACN,SAAS,IAAI,CAAC,IAAI,iBAAiB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,IAAI,EACxE,CAAC,MAAM,EAAE,UAAU,CAAC,EACpB,EAAE,CACH,CAAC;QACJ,CAAC;QAED,+CAA+C;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CACzB,MAAM,EACN,0BAA0B,OAAO,CAAC,YAAY,eAAe,UAAU,CAAC,eAAe,iCAAiC,QAAQ,EAAE,EAClI,CAAC,aAAa,EAAE,SAAS,CAAC,EAC1B,CAAC,SAAS,CAAC,CACZ,CAAC;QAEF,sDAAsD;QACtD,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAChD,CAAC;QAED,uCAAuC;QACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAExC,iDAAiD;QACjD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,SAAiB,EAAE,aAAqB;QAC7D,IAAI,CAAC;YACH,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAChE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7B,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YAClD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAEhE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,KAAK,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAE7E,MAAM,MAAM,GAAG;gBACb,EAAE;gBACF,8BAA8B;gBAC9B,EAAE;gBACF,aAAa,OAAO,CAAC,YAAY,cAAc,OAAO,CAAC,SAAS,CAAC,OAAO,IAAI,KAAK,cAAc,OAAO,CAAC,SAAS,CAAC,OAAO,IAAI,KAAK,eAAe,OAAO,CAAC,SAAS,CAAC,QAAQ,IAAI,KAAK,MAAM;gBACzL,WAAW,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,eAAe,UAAU,CAAC,eAAe,eAAe,YAAY,EAAE;gBAC7H,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;gBAC3E,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;gBAC5E,EAAE;aACH,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE7B,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7F,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAC5C,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,uCAAuC,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,MAA+B,EAAE,SAAiB;QAChF,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;YAClE,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;gBACpC,IAAI,KAAK,CAAC,UAAU;oBAAE,SAAS;gBAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC/C,6DAA6D;gBAC7D,IAAI,SAAS,CAAC,MAAM,GAAG,EAAE,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;oBAC5E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;oBACnD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC;gBAC/F,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,mDAAmD;QACrD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,SAAkB;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,YAAY;QACV,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAEnC,MAAM,KAAK,GAAG;YACZ,+BAA+B;YAC/B,EAAE;YACF,kBAAkB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE;YAClG,qBAAqB,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,MAAM,CAAC,SAAS,eAAe;YACjF,EAAE;YACF,mBAAmB;YACnB,eAAe,OAAO,CAAC,SAAS,CAAC,OAAO,MAAM;YAC9C,eAAe,OAAO,CAAC,SAAS,CAAC,OAAO,MAAM;YAC9C,eAAe,OAAO,CAAC,SAAS,CAAC,QAAQ,MAAM;YAC/C,iBAAiB,OAAO,CAAC,SAAS,CAAC,gBAAgB,MAAM;YACzD,EAAE;YACF,eAAe;YACf,UAAU,KAAK,CAAC,eAAe,gBAAgB,KAAK,CAAC,cAAc,iBAAiB,KAAK,CAAC,WAAW,EAAE;SACxG,CAAC;QAEF,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,qBAAqB,CAAC,CAAC;YACtC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,qBAAqB,CAAC,CAAC;YACtC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CACF;AAzbD,0BAybC"}
|
|
@@ -1,49 +1,43 @@
|
|
|
1
1
|
import { ImplicitFeedback, SignalType } from '../types';
|
|
2
|
+
import { AuditEntry } from '../types';
|
|
2
3
|
/**
|
|
3
4
|
* ImplicitFeedbackEngine — captures and interprets implicit user signals.
|
|
4
5
|
*
|
|
5
6
|
* Instead of relying on explicit "thumbs up/down", this engine
|
|
6
7
|
* detects subtle signals from user behavior to infer satisfaction.
|
|
7
8
|
*
|
|
9
|
+
* Two modes:
|
|
10
|
+
* - Manual: caller provides explicit signals via record()
|
|
11
|
+
* - Auto-detect: scans audit log to infer signals (results unused,
|
|
12
|
+
* results modified later, repeated same tool, verify failures)
|
|
13
|
+
*
|
|
8
14
|
* This is the key differentiator of AgentOS: it learns from
|
|
9
15
|
* what users DO, not just what they SAY.
|
|
10
|
-
*
|
|
11
|
-
* Signal rules (based on DESIGN.md §6.3):
|
|
12
|
-
* - user_deleted_code: User deleted what agent wrote → strong negative (-0.8)
|
|
13
|
-
* - user_modified_output: User modified agent's output → moderate negative (-0.5)
|
|
14
|
-
* - user_repeated_instruction: User repeated same command → mild negative (-0.3)
|
|
15
|
-
* - user_immediate_continue: User immediately continued without edit → positive (+0.3)
|
|
16
|
-
* - user_used_result: User referenced agent's output later → strong positive (+0.7)
|
|
17
|
-
* - user_silence_followed_by_praise: Gap then "谢谢" → mild positive (+0.2)
|
|
18
|
-
* - user_interrupted: User stopped agent mid-execution → negative (-0.6)
|
|
19
|
-
* - agent_self_corrected: Agent caught its own mistake → mild positive for agent (+0.3)
|
|
20
16
|
*/
|
|
21
17
|
export declare class ImplicitFeedbackEngine {
|
|
22
18
|
private feedbackLog;
|
|
23
19
|
/**
|
|
24
20
|
* Record an implicit feedback signal.
|
|
25
|
-
*
|
|
26
|
-
* @param signal - Type of implicit signal detected
|
|
27
|
-
* @param sessionId - Session where signal was detected
|
|
28
|
-
* @param operationId - Related tool call or request ID
|
|
29
|
-
* @param confidence - How confident we are about this interpretation (0-1)
|
|
30
|
-
* @param source - Where the signal was detected (audit_log, message_pattern, diff)
|
|
31
21
|
*/
|
|
32
22
|
record(signal: SignalType, sessionId: string, operationId?: string, confidence?: number, source?: string): ImplicitFeedback;
|
|
33
23
|
/**
|
|
34
|
-
*
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
*
|
|
24
|
+
* Scan the audit log and auto-detect implicit feedback signals.
|
|
25
|
+
*
|
|
26
|
+
* Detection rules (conservative — low confidence to avoid false positives):
|
|
27
|
+
* - verify FAIL or WARN → user_provided_correction (agent made mistakes)
|
|
28
|
+
* - same tool+params called within 60s → user_repeated_instruction (low confidence, noisy)
|
|
29
|
+
* - high risk operations that were retried and eventually passed → agent_self_corrected
|
|
39
30
|
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
31
|
+
* Note: auto-detected signals carry lower confidence than explicit user feedback.
|
|
32
|
+
* They serve as supplementary data, not primary quality indicators.
|
|
33
|
+
*
|
|
34
|
+
* @param entries Recent audit entries to analyze
|
|
35
|
+
* @param sessionId Session to attribute signals to
|
|
36
|
+
* @returns Number of signals auto-detected
|
|
42
37
|
*/
|
|
38
|
+
autoDetect(entries: AuditEntry[], sessionId: string): number;
|
|
39
|
+
private getSignalStrength;
|
|
43
40
|
getSatisfactionScore(sessionId?: string, recentHours?: number): number;
|
|
44
|
-
/**
|
|
45
|
-
* Get feedback events, optionally filtered.
|
|
46
|
-
*/
|
|
47
41
|
query(filter?: {
|
|
48
42
|
signal?: SignalType;
|
|
49
43
|
sessionId?: string;
|
|
@@ -52,9 +46,6 @@ export declare class ImplicitFeedbackEngine {
|
|
|
52
46
|
since?: number;
|
|
53
47
|
limit?: number;
|
|
54
48
|
}): ImplicitFeedback[];
|
|
55
|
-
/**
|
|
56
|
-
* Get feedback summary statistics.
|
|
57
|
-
*/
|
|
58
49
|
stats(): {
|
|
59
50
|
totalSignals: number;
|
|
60
51
|
positiveSignals: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/evaluator/feedback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/evaluator/feedback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAUtC;;;;;;;;;;;;;GAaG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,WAAW,CAA0B;IAE7C;;OAEG;IACH,MAAM,CACJ,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,SAAM,EAChB,MAAM,SAAkB,GACvB,gBAAgB;IAsBnB;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAqE5D,OAAO,CAAC,iBAAiB;IAkBzB,oBAAoB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,SAAK,GAAG,MAAM;IA4BlE,KAAK,CAAC,MAAM,GAAE;QACZ,MAAM,CAAC,EAAE,UAAU,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KACX,GAAG,gBAAgB,EAAE;IAa3B,KAAK,IAAI;QACP,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,EAAE,UAAU,GAAG,IAAI,CAAC;KACrC;CAuBF"}
|
|
@@ -47,29 +47,18 @@ function generateFeedbackId() {
|
|
|
47
47
|
* Instead of relying on explicit "thumbs up/down", this engine
|
|
48
48
|
* detects subtle signals from user behavior to infer satisfaction.
|
|
49
49
|
*
|
|
50
|
+
* Two modes:
|
|
51
|
+
* - Manual: caller provides explicit signals via record()
|
|
52
|
+
* - Auto-detect: scans audit log to infer signals (results unused,
|
|
53
|
+
* results modified later, repeated same tool, verify failures)
|
|
54
|
+
*
|
|
50
55
|
* This is the key differentiator of AgentOS: it learns from
|
|
51
56
|
* what users DO, not just what they SAY.
|
|
52
|
-
*
|
|
53
|
-
* Signal rules (based on DESIGN.md §6.3):
|
|
54
|
-
* - user_deleted_code: User deleted what agent wrote → strong negative (-0.8)
|
|
55
|
-
* - user_modified_output: User modified agent's output → moderate negative (-0.5)
|
|
56
|
-
* - user_repeated_instruction: User repeated same command → mild negative (-0.3)
|
|
57
|
-
* - user_immediate_continue: User immediately continued without edit → positive (+0.3)
|
|
58
|
-
* - user_used_result: User referenced agent's output later → strong positive (+0.7)
|
|
59
|
-
* - user_silence_followed_by_praise: Gap then "谢谢" → mild positive (+0.2)
|
|
60
|
-
* - user_interrupted: User stopped agent mid-execution → negative (-0.6)
|
|
61
|
-
* - agent_self_corrected: Agent caught its own mistake → mild positive for agent (+0.3)
|
|
62
57
|
*/
|
|
63
58
|
class ImplicitFeedbackEngine {
|
|
64
59
|
feedbackLog = [];
|
|
65
60
|
/**
|
|
66
61
|
* Record an implicit feedback signal.
|
|
67
|
-
*
|
|
68
|
-
* @param signal - Type of implicit signal detected
|
|
69
|
-
* @param sessionId - Session where signal was detected
|
|
70
|
-
* @param operationId - Related tool call or request ID
|
|
71
|
-
* @param confidence - How confident we are about this interpretation (0-1)
|
|
72
|
-
* @param source - Where the signal was detected (audit_log, message_pattern, diff)
|
|
73
62
|
*/
|
|
74
63
|
record(signal, sessionId, operationId, confidence = 0.8, source = 'auto-detected') {
|
|
75
64
|
const strength = this.getSignalStrength(signal);
|
|
@@ -86,38 +75,92 @@ class ImplicitFeedbackEngine {
|
|
|
86
75
|
this.feedbackLog.push(feedback);
|
|
87
76
|
return feedback;
|
|
88
77
|
}
|
|
78
|
+
// ══════════════════════════════════
|
|
79
|
+
// Auto-detect feedback from audit log
|
|
80
|
+
// ══════════════════════════════════
|
|
89
81
|
/**
|
|
90
|
-
*
|
|
82
|
+
* Scan the audit log and auto-detect implicit feedback signals.
|
|
83
|
+
*
|
|
84
|
+
* Detection rules (conservative — low confidence to avoid false positives):
|
|
85
|
+
* - verify FAIL or WARN → user_provided_correction (agent made mistakes)
|
|
86
|
+
* - same tool+params called within 60s → user_repeated_instruction (low confidence, noisy)
|
|
87
|
+
* - high risk operations that were retried and eventually passed → agent_self_corrected
|
|
88
|
+
*
|
|
89
|
+
* Note: auto-detected signals carry lower confidence than explicit user feedback.
|
|
90
|
+
* They serve as supplementary data, not primary quality indicators.
|
|
91
|
+
*
|
|
92
|
+
* @param entries Recent audit entries to analyze
|
|
93
|
+
* @param sessionId Session to attribute signals to
|
|
94
|
+
* @returns Number of signals auto-detected
|
|
91
95
|
*/
|
|
96
|
+
autoDetect(entries, sessionId) {
|
|
97
|
+
let detected = 0;
|
|
98
|
+
// Rule 1: Verify failures → agent made errors (confidence 0.7)
|
|
99
|
+
for (const entry of entries) {
|
|
100
|
+
if (entry.verifyGate.status !== 'PASS') {
|
|
101
|
+
this.record('user_provided_correction', sessionId, entry.id, 0.7, 'auto-audit-verify');
|
|
102
|
+
detected++;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
// Rule 2: Repeated same tool call within 60s → user had to repeat
|
|
106
|
+
// Low confidence (0.3) because some tools (read, exec) are legitimately called multiple times
|
|
107
|
+
for (let i = 0; i < entries.length; i++) {
|
|
108
|
+
for (let j = i + 1; j < entries.length; j++) {
|
|
109
|
+
const ei = entries[i];
|
|
110
|
+
const ej = entries[j];
|
|
111
|
+
if (!ei || !ej)
|
|
112
|
+
continue;
|
|
113
|
+
if (ei.toolName === ej.toolName &&
|
|
114
|
+
JSON.stringify(ei.toolParameters) === JSON.stringify(ej.toolParameters) &&
|
|
115
|
+
Math.abs(ei.completedAt - ej.startedAt) < 60_000) {
|
|
116
|
+
this.record('user_repeated_instruction', sessionId, ej.id, 0.3, 'auto-audit-repeat');
|
|
117
|
+
detected++;
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
// Rule 3: Agent self-corrected — only when retry eventually succeeded
|
|
123
|
+
// (NOT "high risk passed" — that's coincidence, not demonstrated skill)
|
|
124
|
+
// Detected by: same tool+params failed once, then passed later in the same session
|
|
125
|
+
const failures = new Set();
|
|
126
|
+
for (const entry of entries) {
|
|
127
|
+
if (entry.verifyGate.status !== 'PASS') {
|
|
128
|
+
failures.add(JSON.stringify({ t: entry.toolName, p: entry.toolParameters }));
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
for (const entry of entries) {
|
|
132
|
+
const key = JSON.stringify({ t: entry.toolName, p: entry.toolParameters });
|
|
133
|
+
if (entry.verifyGate.status === 'PASS' && failures.has(key)) {
|
|
134
|
+
this.record('agent_self_corrected', sessionId, entry.id, 0.5, 'auto-audit-self-corrected');
|
|
135
|
+
detected++;
|
|
136
|
+
failures.delete(key); // one signal per correction
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return detected;
|
|
140
|
+
}
|
|
141
|
+
// ══════════════════════════════════
|
|
92
142
|
getSignalStrength(signal) {
|
|
93
143
|
switch (signal) {
|
|
94
144
|
case 'user_deleted_code': return -0.8;
|
|
95
145
|
case 'user_interrupted': return -0.6;
|
|
96
146
|
case 'user_provided_correction': return -0.7;
|
|
97
147
|
case 'user_modified_output': return -0.5;
|
|
98
|
-
case 'user_repeated_instruction': return -0.
|
|
148
|
+
case 'user_repeated_instruction': return -0.15;
|
|
99
149
|
case 'user_ignored_result': return -0.4;
|
|
100
150
|
case 'user_silence_then_praise': return 0.2;
|
|
101
151
|
case 'user_immediate_continue': return 0.3;
|
|
102
152
|
case 'agent_self_corrected': return 0.3;
|
|
103
153
|
case 'user_explicit_approval': return 0.6;
|
|
104
154
|
case 'user_used_result': return 0.7;
|
|
105
|
-
case 'user_shared_output': return 0.8;
|
|
155
|
+
case 'user_shared_output': return 0.8;
|
|
106
156
|
default: return 0;
|
|
107
157
|
}
|
|
108
158
|
}
|
|
109
|
-
/**
|
|
110
|
-
* Compute the aggregate satisfaction score from all feedback.
|
|
111
|
-
*
|
|
112
|
-
* Weighted by confidence and recency (newer signals matter more).
|
|
113
|
-
* Returns a score from -1.0 (very unhappy) to +1.0 (very happy).
|
|
114
|
-
*/
|
|
115
159
|
getSatisfactionScore(sessionId, recentHours = 24) {
|
|
116
160
|
let relevant = this.feedbackLog;
|
|
117
161
|
if (sessionId) {
|
|
118
162
|
relevant = relevant.filter((f) => f.sessionId === sessionId);
|
|
119
163
|
}
|
|
120
|
-
// Only consider recent signals
|
|
121
164
|
const cutoff = Date.now() - recentHours * 60 * 60 * 1000;
|
|
122
165
|
relevant = relevant.filter((f) => f.timestamp >= cutoff);
|
|
123
166
|
if (relevant.length === 0)
|
|
@@ -125,7 +168,6 @@ class ImplicitFeedbackEngine {
|
|
|
125
168
|
let weightedSum = 0;
|
|
126
169
|
let totalWeight = 0;
|
|
127
170
|
for (const fb of relevant) {
|
|
128
|
-
// Recency weight: newer = more important
|
|
129
171
|
const ageHours = (Date.now() - fb.timestamp) / (60 * 60 * 1000);
|
|
130
172
|
const recencyWeight = Math.max(0.1, 1 - ageHours / recentHours);
|
|
131
173
|
const weight = fb.confidence * recencyWeight;
|
|
@@ -136,44 +178,30 @@ class ImplicitFeedbackEngine {
|
|
|
136
178
|
? Math.round((weightedSum / totalWeight) * 100) / 100
|
|
137
179
|
: 0;
|
|
138
180
|
}
|
|
139
|
-
/**
|
|
140
|
-
* Get feedback events, optionally filtered.
|
|
141
|
-
*/
|
|
142
181
|
query(filter = {}) {
|
|
143
182
|
let results = this.feedbackLog;
|
|
144
|
-
if (filter.signal)
|
|
183
|
+
if (filter.signal)
|
|
145
184
|
results = results.filter((f) => f.signal === filter.signal);
|
|
146
|
-
|
|
147
|
-
if (filter.sessionId) {
|
|
185
|
+
if (filter.sessionId)
|
|
148
186
|
results = results.filter((f) => f.sessionId === filter.sessionId);
|
|
149
|
-
|
|
150
|
-
if (filter.minStrength !== undefined) {
|
|
187
|
+
if (filter.minStrength !== undefined)
|
|
151
188
|
results = results.filter((f) => f.strength >= filter.minStrength);
|
|
152
|
-
|
|
153
|
-
if (filter.maxStrength !== undefined) {
|
|
189
|
+
if (filter.maxStrength !== undefined)
|
|
154
190
|
results = results.filter((f) => f.strength <= filter.maxStrength);
|
|
155
|
-
|
|
156
|
-
if (filter.since !== undefined) {
|
|
191
|
+
if (filter.since !== undefined)
|
|
157
192
|
results = results.filter((f) => f.timestamp >= filter.since);
|
|
158
|
-
}
|
|
159
193
|
results.sort((a, b) => b.timestamp - a.timestamp);
|
|
160
|
-
|
|
161
|
-
return results.slice(0, limit);
|
|
194
|
+
return results.slice(0, filter.limit ?? 50);
|
|
162
195
|
}
|
|
163
|
-
/**
|
|
164
|
-
* Get feedback summary statistics.
|
|
165
|
-
*/
|
|
166
196
|
stats() {
|
|
167
197
|
const positive = this.feedbackLog.filter((f) => f.strength > 0);
|
|
168
198
|
const negative = this.feedbackLog.filter((f) => f.strength < 0);
|
|
169
199
|
const avgStrength = this.feedbackLog.length > 0
|
|
170
200
|
? this.feedbackLog.reduce((s, f) => s + f.strength, 0) / this.feedbackLog.length
|
|
171
201
|
: 0;
|
|
172
|
-
// Most common signal
|
|
173
202
|
const counts = new Map();
|
|
174
|
-
for (const fb of this.feedbackLog)
|
|
203
|
+
for (const fb of this.feedbackLog)
|
|
175
204
|
counts.set(fb.signal, (counts.get(fb.signal) || 0) + 1);
|
|
176
|
-
}
|
|
177
205
|
let mostCommon = null;
|
|
178
206
|
let maxCount = 0;
|
|
179
207
|
for (const [sig, count] of counts) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/evaluator/feedback.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/evaluator/feedback.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,+CAAiC;AAEjC;;GAEG;AACH,SAAS,kBAAkB;IACzB,OAAO,MAAM,IAAI,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;AACrE,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAa,sBAAsB;IACzB,WAAW,GAAuB,EAAE,CAAC;IAE7C;;OAEG;IACH,MAAM,CACJ,MAAkB,EAClB,SAAiB,EACjB,WAAoB,EACpB,UAAU,GAAG,GAAG,EAChB,MAAM,GAAG,eAAe;QAExB,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAEhD,MAAM,QAAQ,GAAqB;YACjC,EAAE,EAAE,kBAAkB,EAAE;YACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,MAAM;YACN,QAAQ;YACR,UAAU;YACV,SAAS;YACT,WAAW;YACX,MAAM;SACP,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,qCAAqC;IACrC,uCAAuC;IACvC,qCAAqC;IAErC;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,OAAqB,EAAE,SAAiB;QACjD,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,+DAA+D;QAC/D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACvC,IAAI,CAAC,MAAM,CACT,0BAA0B,EAC1B,SAAS,EACT,KAAK,CAAC,EAAE,EACR,GAAG,EACH,mBAAmB,CACpB,CAAC;gBACF,QAAQ,EAAE,CAAC;YACb,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,8FAA8F;QAC9F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACtB,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;oBAAE,SAAS;gBACzB,IAAI,EAAE,CAAC,QAAQ,KAAK,EAAE,CAAC,QAAQ;oBAC3B,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,cAAc,CAAC;oBACvE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,MAAM,EAAE,CAAC;oBACrD,IAAI,CAAC,MAAM,CACT,2BAA2B,EAC3B,SAAS,EACT,EAAE,CAAC,EAAE,EACL,GAAG,EACH,mBAAmB,CACpB,CAAC;oBACF,QAAQ,EAAE,CAAC;oBACX,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,wEAAwE;QACxE,mFAAmF;QACnF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACvC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;YAC3E,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5D,IAAI,CAAC,MAAM,CACT,sBAAsB,EACtB,SAAS,EACT,KAAK,CAAC,EAAE,EACR,GAAG,EACH,2BAA2B,CAC5B,CAAC;gBACF,QAAQ,EAAE,CAAC;gBACX,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,4BAA4B;YACpD,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,qCAAqC;IAE7B,iBAAiB,CAAC,MAAkB;QAC1C,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,mBAAmB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;YACtC,KAAK,kBAAkB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;YACrC,KAAK,0BAA0B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;YAC7C,KAAK,sBAAsB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;YACzC,KAAK,2BAA2B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;YAC/C,KAAK,qBAAqB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;YACxC,KAAK,0BAA0B,CAAC,CAAC,OAAO,GAAG,CAAC;YAC5C,KAAK,yBAAyB,CAAC,CAAC,OAAO,GAAG,CAAC;YAC3C,KAAK,sBAAsB,CAAC,CAAC,OAAO,GAAG,CAAC;YACxC,KAAK,wBAAwB,CAAC,CAAC,OAAO,GAAG,CAAC;YAC1C,KAAK,kBAAkB,CAAC,CAAC,OAAO,GAAG,CAAC;YACpC,KAAK,oBAAoB,CAAC,CAAC,OAAO,GAAG,CAAC;YACtC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,oBAAoB,CAAC,SAAkB,EAAE,WAAW,GAAG,EAAE;QACvD,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC;QAEhC,IAAI,SAAS,EAAE,CAAC;YACd,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACzD,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;QAEzD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAEpC,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YAChE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,QAAQ,GAAG,WAAW,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,GAAG,aAAa,CAAC;YAC7C,WAAW,IAAI,EAAE,CAAC,QAAQ,GAAG,MAAM,CAAC;YACpC,WAAW,IAAI,MAAM,CAAC;QACxB,CAAC;QAED,OAAO,WAAW,GAAG,CAAC;YACpB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG;YACrD,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,KAAK,CAAC,SAOF,EAAE;QACJ,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;QAE/B,IAAI,MAAM,CAAC,MAAM;YAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/E,IAAI,MAAM,CAAC,SAAS;YAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC;QACxF,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,WAAY,CAAC,CAAC;QACzG,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,WAAY,CAAC,CAAC;QACzG,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,KAAM,CAAC,CAAC;QAE9F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;QAClD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK;QAOH,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM;YAChF,CAAC,CAAC,CAAC,CAAC;QAEN,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAC;QAC7C,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,WAAW;YAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3F,IAAI,UAAU,GAAsB,IAAI,CAAC;QACzC,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;YAClC,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;gBAAC,QAAQ,GAAG,KAAK,CAAC;gBAAC,UAAU,GAAG,GAAG,CAAC;YAAC,CAAC;QAC/D,CAAC;QAED,OAAO;YACL,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM;YACrC,eAAe,EAAE,QAAQ,CAAC,MAAM;YAChC,eAAe,EAAE,QAAQ,CAAC,MAAM;YAChC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,GAAG,GAAG;YACpD,gBAAgB,EAAE,UAAU;SAC7B,CAAC;IACJ,CAAC;CACF;AArND,wDAqNC"}
|
|
@@ -10,9 +10,9 @@ export interface AgentProfile {
|
|
|
10
10
|
totalOps: number;
|
|
11
11
|
/** Score breakdown by metric category */
|
|
12
12
|
breakdown: {
|
|
13
|
-
preExec: number;
|
|
14
|
-
runtime: number;
|
|
15
|
-
postExec: number;
|
|
13
|
+
preExec: number | null;
|
|
14
|
+
runtime: number | null;
|
|
15
|
+
postExec: number | null;
|
|
16
16
|
userSatisfaction: number;
|
|
17
17
|
};
|
|
18
18
|
/** Trend data */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profiler.d.ts","sourceRoot":"","sources":["../../src/evaluator/profiler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,cAAc,EACd,eAAe,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,SAAS,EAAE;QACT,OAAO,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"profiler.d.ts","sourceRoot":"","sources":["../../src/evaluator/profiler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,cAAc,EACd,eAAe,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,SAAS,EAAE;QACT,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,iBAAiB;IACjB,MAAM,EAAE;QACN,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;;GAMG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,cAAc,CAAyB;IAE/C,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,aAAa,CAAoC;gBAE7C,cAAc,EAAE,sBAAsB;IAIlD;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI;IAcrG;;OAEG;IACH,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,YAAY;IA0F5C,OAAO,CAAC,OAAO;CAKhB"}
|
|
@@ -86,12 +86,12 @@ class AgentProfiler {
|
|
|
86
86
|
strengths.push('Strong positive user feedback');
|
|
87
87
|
}
|
|
88
88
|
return {
|
|
89
|
-
overallScore: overallScore, // 0-100
|
|
89
|
+
overallScore: Number.isNaN(overallScore) ? 50 : overallScore, // 0-100, default 50 if no data
|
|
90
90
|
totalOps,
|
|
91
91
|
breakdown: {
|
|
92
|
-
preExec: Math.round(preExecScore * 100) / 100,
|
|
93
|
-
runtime: Math.round(runtimeScore * 100) / 100,
|
|
94
|
-
postExec: Math.round(postExecScore * 100) / 100,
|
|
92
|
+
preExec: totalOps > 0 ? Math.round(preExecScore * 100) / 100 : null,
|
|
93
|
+
runtime: totalOps > 0 ? Math.round(runtimeScore * 100) / 100 : null,
|
|
94
|
+
postExec: totalOps > 0 ? Math.round(postExecScore * 100) / 100 : null,
|
|
95
95
|
userSatisfaction: Math.round(satisfactionScore * 100) / 100,
|
|
96
96
|
},
|
|
97
97
|
trends: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profiler.js","sourceRoot":"","sources":["../../src/evaluator/profiler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"profiler.js","sourceRoot":"","sources":["../../src/evaluator/profiler.ts"],"names":[],"mappings":"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"}
|