olympus-ai 2.5.3 → 2.6.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/dist/__tests__/learning/agent-evaluator.test.d.ts +2 -0
- package/dist/__tests__/learning/agent-evaluator.test.d.ts.map +1 -0
- package/dist/__tests__/learning/agent-evaluator.test.js +29 -0
- package/dist/__tests__/learning/agent-evaluator.test.js.map +1 -0
- package/dist/__tests__/learning/discovery.test.d.ts +2 -0
- package/dist/__tests__/learning/discovery.test.d.ts.map +1 -0
- package/dist/__tests__/learning/discovery.test.js +70 -0
- package/dist/__tests__/learning/discovery.test.js.map +1 -0
- package/dist/__tests__/learning/fixtures/mock-feedback.d.ts +14 -0
- package/dist/__tests__/learning/fixtures/mock-feedback.d.ts.map +1 -0
- package/dist/__tests__/learning/fixtures/mock-feedback.js +146 -0
- package/dist/__tests__/learning/fixtures/mock-feedback.js.map +1 -0
- package/dist/__tests__/learning/pattern-extractor.test.d.ts +2 -0
- package/dist/__tests__/learning/pattern-extractor.test.d.ts.map +1 -0
- package/dist/__tests__/learning/pattern-extractor.test.js +30 -0
- package/dist/__tests__/learning/pattern-extractor.test.js.map +1 -0
- package/dist/__tests__/learning/revision-detector.test.d.ts +2 -0
- package/dist/__tests__/learning/revision-detector.test.d.ts.map +1 -0
- package/dist/__tests__/learning/revision-detector.test.js +54 -0
- package/dist/__tests__/learning/revision-detector.test.js.map +1 -0
- package/dist/cli/index.js +264 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/hooks/agent-usage-reminder/index.d.ts +1 -0
- package/dist/hooks/agent-usage-reminder/index.d.ts.map +1 -1
- package/dist/hooks/agent-usage-reminder/index.js +107 -0
- package/dist/hooks/agent-usage-reminder/index.js.map +1 -1
- package/dist/hooks/agent-usage-reminder/index.test.d.ts +5 -0
- package/dist/hooks/agent-usage-reminder/index.test.d.ts.map +1 -0
- package/dist/hooks/agent-usage-reminder/index.test.js +141 -0
- package/dist/hooks/agent-usage-reminder/index.test.js.map +1 -0
- package/dist/hooks/bridge.d.ts.map +1 -1
- package/dist/hooks/bridge.js +14 -2
- package/dist/hooks/bridge.js.map +1 -1
- package/dist/hooks/keyword-detector/index.d.ts +1 -1
- package/dist/hooks/keyword-detector/index.d.ts.map +1 -1
- package/dist/hooks/keyword-detector/index.js +2 -1
- package/dist/hooks/keyword-detector/index.js.map +1 -1
- package/dist/hooks/olympus-hooks.cjs +162 -67
- package/dist/hooks/olympus-state/index.d.ts +69 -0
- package/dist/hooks/olympus-state/index.d.ts.map +1 -0
- package/dist/hooks/olympus-state/index.js +226 -0
- package/dist/hooks/olympus-state/index.js.map +1 -0
- package/dist/hooks/persistent-mode/index.d.ts +7 -6
- package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
- package/dist/hooks/persistent-mode/index.js +94 -5
- package/dist/hooks/persistent-mode/index.js.map +1 -1
- package/dist/hooks/registrations/session-start.d.ts.map +1 -1
- package/dist/hooks/registrations/session-start.js +26 -0
- package/dist/hooks/registrations/session-start.js.map +1 -1
- package/dist/hooks/registrations/stop.d.ts.map +1 -1
- package/dist/hooks/registrations/stop.js +25 -0
- package/dist/hooks/registrations/stop.js.map +1 -1
- package/dist/hooks/registrations/user-prompt-submit.d.ts.map +1 -1
- package/dist/hooks/registrations/user-prompt-submit.js +34 -0
- package/dist/hooks/registrations/user-prompt-submit.js.map +1 -1
- package/dist/installer/hooks.d.ts +7 -1
- package/dist/installer/hooks.d.ts.map +1 -1
- package/dist/installer/hooks.js +61 -2
- package/dist/installer/hooks.js.map +1 -1
- package/dist/installer/index.d.ts +1 -1
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +40 -14
- package/dist/installer/index.js.map +1 -1
- package/dist/learning/agent-evaluator.d.ts +6 -0
- package/dist/learning/agent-evaluator.d.ts.map +1 -0
- package/dist/learning/agent-evaluator.js +116 -0
- package/dist/learning/agent-evaluator.js.map +1 -0
- package/dist/learning/discovery-validator.d.ts +21 -0
- package/dist/learning/discovery-validator.d.ts.map +1 -0
- package/dist/learning/discovery-validator.js +75 -0
- package/dist/learning/discovery-validator.js.map +1 -0
- package/dist/learning/discovery.d.ts +20 -0
- package/dist/learning/discovery.d.ts.map +1 -0
- package/dist/learning/discovery.js +141 -0
- package/dist/learning/discovery.js.map +1 -0
- package/dist/learning/hooks/cancellation-detector.d.ts +8 -0
- package/dist/learning/hooks/cancellation-detector.d.ts.map +1 -0
- package/dist/learning/hooks/cancellation-detector.js +64 -0
- package/dist/learning/hooks/cancellation-detector.js.map +1 -0
- package/dist/learning/hooks/learned-context.d.ts +6 -0
- package/dist/learning/hooks/learned-context.d.ts.map +1 -0
- package/dist/learning/hooks/learned-context.js +104 -0
- package/dist/learning/hooks/learned-context.js.map +1 -0
- package/dist/learning/hooks/revision-detector.d.ts +9 -0
- package/dist/learning/hooks/revision-detector.d.ts.map +1 -0
- package/dist/learning/hooks/revision-detector.js +92 -0
- package/dist/learning/hooks/revision-detector.js.map +1 -0
- package/dist/learning/hooks/success-detector.d.ts +4 -0
- package/dist/learning/hooks/success-detector.d.ts.map +1 -0
- package/dist/learning/hooks/success-detector.js +58 -0
- package/dist/learning/hooks/success-detector.js.map +1 -0
- package/dist/learning/index.d.ts +10 -0
- package/dist/learning/index.d.ts.map +1 -0
- package/dist/learning/index.js +17 -0
- package/dist/learning/index.js.map +1 -0
- package/dist/learning/migrate-notepads.d.ts +6 -0
- package/dist/learning/migrate-notepads.d.ts.map +1 -0
- package/dist/learning/migrate-notepads.js +77 -0
- package/dist/learning/migrate-notepads.js.map +1 -0
- package/dist/learning/pattern-extractor.d.ts +6 -0
- package/dist/learning/pattern-extractor.d.ts.map +1 -0
- package/dist/learning/pattern-extractor.js +106 -0
- package/dist/learning/pattern-extractor.js.map +1 -0
- package/dist/learning/preference-learner.d.ts +6 -0
- package/dist/learning/preference-learner.d.ts.map +1 -0
- package/dist/learning/preference-learner.js +96 -0
- package/dist/learning/preference-learner.js.map +1 -0
- package/dist/learning/prompt-patcher.d.ts +24 -0
- package/dist/learning/prompt-patcher.d.ts.map +1 -0
- package/dist/learning/prompt-patcher.js +120 -0
- package/dist/learning/prompt-patcher.js.map +1 -0
- package/dist/learning/session-state.d.ts +18 -0
- package/dist/learning/session-state.d.ts.map +1 -0
- package/dist/learning/session-state.js +78 -0
- package/dist/learning/session-state.js.map +1 -0
- package/dist/learning/storage.d.ts +18 -0
- package/dist/learning/storage.d.ts.map +1 -0
- package/dist/learning/storage.js +74 -0
- package/dist/learning/storage.js.map +1 -0
- package/dist/learning/types.d.ts +138 -0
- package/dist/learning/types.d.ts.map +1 -0
- package/dist/learning/types.js +6 -0
- package/dist/learning/types.js.map +1 -0
- package/dist/shared/types.d.ts +12 -0
- package/dist/shared/types.d.ts.map +1 -1
- package/package.json +4 -3
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for Agent Usage Reminder Hook
|
|
3
|
+
*/
|
|
4
|
+
import { describe, it, expect, afterEach } from 'vitest';
|
|
5
|
+
import { createAgentUsageReminderHook } from './index.js';
|
|
6
|
+
import { writeAscentState, clearAscentState } from '../ascent/index.js';
|
|
7
|
+
import { writeUltraworkState, deactivateUltrawork } from '../ultrawork-state/index.js';
|
|
8
|
+
import { writeOlympusState, deactivateOlympus } from '../olympus-state/index.js';
|
|
9
|
+
describe('Agent Usage Reminder Hook - Strict Conductor Mode', () => {
|
|
10
|
+
const testDir = process.cwd();
|
|
11
|
+
afterEach(() => {
|
|
12
|
+
// Clean up state files
|
|
13
|
+
clearAscentState(testDir);
|
|
14
|
+
deactivateUltrawork(testDir);
|
|
15
|
+
deactivateOlympus(testDir);
|
|
16
|
+
});
|
|
17
|
+
it('should not trigger strict mode when no persistent mode is active', async () => {
|
|
18
|
+
const hook = createAgentUsageReminderHook();
|
|
19
|
+
const toolExecuteAfter = hook['tool.execute.after'];
|
|
20
|
+
const input = {
|
|
21
|
+
tool: 'Edit',
|
|
22
|
+
sessionID: 'test-session-1',
|
|
23
|
+
callID: 'call-1',
|
|
24
|
+
properties: { file_path: '/test/file.ts' }
|
|
25
|
+
};
|
|
26
|
+
const output = {
|
|
27
|
+
title: 'Edit',
|
|
28
|
+
output: 'File edited successfully',
|
|
29
|
+
metadata: {}
|
|
30
|
+
};
|
|
31
|
+
await toolExecuteAfter(input, output);
|
|
32
|
+
// Should not add strict conductor violation
|
|
33
|
+
expect(output.output).not.toContain('CONDUCTOR MODE VIOLATION');
|
|
34
|
+
});
|
|
35
|
+
it('should trigger strict mode after 3 consecutive edits in ascent mode', async () => {
|
|
36
|
+
// Activate ascent mode
|
|
37
|
+
const ascentState = {
|
|
38
|
+
active: true,
|
|
39
|
+
iteration: 1,
|
|
40
|
+
max_iterations: 10,
|
|
41
|
+
completion_promise: 'TASK_COMPLETE',
|
|
42
|
+
started_at: new Date().toISOString(),
|
|
43
|
+
prompt: 'Test task',
|
|
44
|
+
session_id: 'test-session-2'
|
|
45
|
+
};
|
|
46
|
+
writeAscentState(testDir, ascentState);
|
|
47
|
+
const hook = createAgentUsageReminderHook();
|
|
48
|
+
const toolExecuteAfter = hook['tool.execute.after'];
|
|
49
|
+
const sessionID = 'test-session-2';
|
|
50
|
+
// First edit
|
|
51
|
+
await toolExecuteAfter({ tool: 'Edit', sessionID, callID: 'call-1', properties: { file_path: '/test/file1.ts' } }, { title: 'Edit', output: '', metadata: {} });
|
|
52
|
+
// Second edit
|
|
53
|
+
await toolExecuteAfter({ tool: 'Edit', sessionID, callID: 'call-2', properties: { file_path: '/test/file2.ts' } }, { title: 'Edit', output: '', metadata: {} });
|
|
54
|
+
// Third edit - should trigger warning
|
|
55
|
+
const output3 = { title: 'Edit', output: '', metadata: {} };
|
|
56
|
+
await toolExecuteAfter({ tool: 'Edit', sessionID, callID: 'call-3', properties: { file_path: '/test/file3.ts' } }, output3);
|
|
57
|
+
expect(output3.output).toContain('CONDUCTOR MODE VIOLATION');
|
|
58
|
+
expect(output3.output).toContain('WARNING');
|
|
59
|
+
expect(output3.output).toContain('ASCENT ACTIVE');
|
|
60
|
+
});
|
|
61
|
+
it('should trigger critical mode after 5 consecutive edits', async () => {
|
|
62
|
+
// Activate ultrawork mode
|
|
63
|
+
const ultraworkState = {
|
|
64
|
+
active: true,
|
|
65
|
+
started_at: new Date().toISOString(),
|
|
66
|
+
original_prompt: 'Test task',
|
|
67
|
+
session_id: 'test-session-3',
|
|
68
|
+
reinforcement_count: 0,
|
|
69
|
+
last_checked_at: new Date().toISOString()
|
|
70
|
+
};
|
|
71
|
+
writeUltraworkState(ultraworkState, testDir);
|
|
72
|
+
const hook = createAgentUsageReminderHook();
|
|
73
|
+
const toolExecuteAfter = hook['tool.execute.after'];
|
|
74
|
+
const sessionID = 'test-session-3';
|
|
75
|
+
// Make 5 consecutive edits
|
|
76
|
+
for (let i = 1; i <= 5; i++) {
|
|
77
|
+
const output = { title: 'Edit', output: '', metadata: {} };
|
|
78
|
+
await toolExecuteAfter({ tool: 'Edit', sessionID, callID: `call-${i}`, properties: { file_path: `/test/file${i}.ts` } }, output);
|
|
79
|
+
if (i >= 5) {
|
|
80
|
+
expect(output.output).toContain('CRITICAL');
|
|
81
|
+
expect(output.output).toContain('Too many direct operations');
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
it('should reset counter when Task tool is used', async () => {
|
|
86
|
+
// Activate olympus mode
|
|
87
|
+
const olympusState = {
|
|
88
|
+
active: true,
|
|
89
|
+
started_at: new Date().toISOString(),
|
|
90
|
+
original_prompt: 'Test task',
|
|
91
|
+
session_id: 'test-session-4',
|
|
92
|
+
reinforcement_count: 0,
|
|
93
|
+
last_checked_at: new Date().toISOString(),
|
|
94
|
+
requires_oracle_verification: false,
|
|
95
|
+
oracle_approved: false
|
|
96
|
+
};
|
|
97
|
+
writeOlympusState(olympusState, testDir);
|
|
98
|
+
const hook = createAgentUsageReminderHook();
|
|
99
|
+
const toolExecuteAfter = hook['tool.execute.after'];
|
|
100
|
+
const sessionID = 'test-session-4';
|
|
101
|
+
// Make 2 edits
|
|
102
|
+
await toolExecuteAfter({ tool: 'Edit', sessionID, callID: 'call-1', properties: { file_path: '/test/file1.ts' } }, { title: 'Edit', output: '', metadata: {} });
|
|
103
|
+
await toolExecuteAfter({ tool: 'Edit', sessionID, callID: 'call-2', properties: { file_path: '/test/file2.ts' } }, { title: 'Edit', output: '', metadata: {} });
|
|
104
|
+
// Use Task tool (delegation)
|
|
105
|
+
await toolExecuteAfter({ tool: 'Task', sessionID, callID: 'call-3', properties: {} }, { title: 'Task', output: '', metadata: {} });
|
|
106
|
+
// Make 2 more edits - should not trigger yet since counter was reset
|
|
107
|
+
const output4 = { title: 'Edit', output: '', metadata: {} };
|
|
108
|
+
await toolExecuteAfter({ tool: 'Edit', sessionID, callID: 'call-4', properties: { file_path: '/test/file4.ts' } }, output4);
|
|
109
|
+
const output5 = { title: 'Edit', output: '', metadata: {} };
|
|
110
|
+
await toolExecuteAfter({ tool: 'Edit', sessionID, callID: 'call-5', properties: { file_path: '/test/file5.ts' } }, output5);
|
|
111
|
+
// Should not trigger yet (only 2 consecutive after reset)
|
|
112
|
+
expect(output5.output).not.toContain('CONDUCTOR MODE VIOLATION');
|
|
113
|
+
});
|
|
114
|
+
it('should identify correct mode name in violation message', async () => {
|
|
115
|
+
// Activate olympus mode
|
|
116
|
+
const olympusState = {
|
|
117
|
+
active: true,
|
|
118
|
+
started_at: new Date().toISOString(),
|
|
119
|
+
original_prompt: 'Test task',
|
|
120
|
+
session_id: 'test-session-5',
|
|
121
|
+
reinforcement_count: 0,
|
|
122
|
+
last_checked_at: new Date().toISOString(),
|
|
123
|
+
requires_oracle_verification: false,
|
|
124
|
+
oracle_approved: false
|
|
125
|
+
};
|
|
126
|
+
writeOlympusState(olympusState, testDir);
|
|
127
|
+
const hook = createAgentUsageReminderHook();
|
|
128
|
+
const toolExecuteAfter = hook['tool.execute.after'];
|
|
129
|
+
const sessionID = 'test-session-5';
|
|
130
|
+
// Make 3 consecutive edits
|
|
131
|
+
for (let i = 1; i <= 3; i++) {
|
|
132
|
+
const output = { title: 'Edit', output: '', metadata: {} };
|
|
133
|
+
await toolExecuteAfter({ tool: 'Edit', sessionID, callID: `call-${i}`, properties: { file_path: `/test/file${i}.ts` } }, output);
|
|
134
|
+
if (i === 3) {
|
|
135
|
+
expect(output.output).toContain('OLYMPUS ACTIVE');
|
|
136
|
+
expect(output.output).toContain('In olympus mode, you are a CONDUCTOR');
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
//# sourceMappingURL=index.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/hooks/agent-usage-reminder/index.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/hooks/bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/hooks/bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAuBH;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,4CAA4C;IAC5C,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wCAAwC;IACxC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,6CAA6C;IAC7C,QAAQ,EAAE,OAAO,CAAC;IAClB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAChB,kBAAkB,GAClB,mBAAmB,GACnB,QAAQ,GACR,iBAAiB,GACjB,eAAe,GACf,cAAc,GACd,eAAe,CAAC;AA2RpB;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,UAAU,CAAC,CAkCrB;AAED;;;GAGG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA+B1C"}
|
package/dist/hooks/bridge.js
CHANGED
|
@@ -18,7 +18,8 @@ import { readVerificationState, startVerification, getOracleVerificationPrompt,
|
|
|
18
18
|
import { checkIncompleteTodos } from './todo-continuation/index.js';
|
|
19
19
|
import { checkPersistentModes, createHookOutput } from './persistent-mode/index.js';
|
|
20
20
|
import { activateUltrawork, readUltraworkState } from './ultrawork-state/index.js';
|
|
21
|
-
import {
|
|
21
|
+
import { activateOlympus } from './olympus-state/index.js';
|
|
22
|
+
import { ULTRAWORK_MESSAGE, ULTRATHINK_MESSAGE, OLYMPUS_MESSAGE, SEARCH_MESSAGE, ANALYZE_MESSAGE, TODO_CONTINUATION_PROMPT } from '../installer/hooks.js';
|
|
22
23
|
/**
|
|
23
24
|
* Extract prompt text from various input formats
|
|
24
25
|
*/
|
|
@@ -54,9 +55,10 @@ function processKeywordDetector(input) {
|
|
|
54
55
|
if (keywords.length === 0) {
|
|
55
56
|
return { continue: true };
|
|
56
57
|
}
|
|
57
|
-
// Priority: ultrawork > ultrathink > search > analyze
|
|
58
|
+
// Priority: ultrawork > ultrathink > olympus > search > analyze
|
|
58
59
|
const hasUltrawork = keywords.some(k => k.type === 'ultrawork');
|
|
59
60
|
const hasUltrathink = keywords.some(k => k.type === 'ultrathink');
|
|
61
|
+
const hasOlympus = keywords.some(k => k.type === 'olympus');
|
|
60
62
|
const hasSearch = keywords.some(k => k.type === 'search');
|
|
61
63
|
const hasAnalyze = keywords.some(k => k.type === 'analyze');
|
|
62
64
|
if (hasUltrawork) {
|
|
@@ -75,6 +77,16 @@ function processKeywordDetector(input) {
|
|
|
75
77
|
message: ULTRATHINK_MESSAGE
|
|
76
78
|
};
|
|
77
79
|
}
|
|
80
|
+
if (hasOlympus) {
|
|
81
|
+
// Activate persistent olympus state
|
|
82
|
+
const sessionId = input.sessionId;
|
|
83
|
+
const directory = input.directory || process.cwd();
|
|
84
|
+
activateOlympus(promptText, sessionId, directory);
|
|
85
|
+
return {
|
|
86
|
+
continue: true,
|
|
87
|
+
message: OLYMPUS_MESSAGE
|
|
88
|
+
};
|
|
89
|
+
}
|
|
78
90
|
if (hasSearch) {
|
|
79
91
|
return {
|
|
80
92
|
continue: true,
|
package/dist/hooks/bridge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/hooks/bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACzH,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,2BAA2B,EAC3B,sBAAsB,EACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACnF,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAuD/B;;GAEG;AACH,SAAS,aAAa,CAAC,KAAgB;IACrC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC,MAAM,CAAC;IACtB,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;IAC/B,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC,KAAK;aACf,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC;aACxC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAChB,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,KAAgB;IAC9C,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,gDAAgD;IAChD,MAAM,WAAW,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAEjD,kBAAkB;IAClB,MAAM,QAAQ,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAErD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/hooks/bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Ported from oh-my-opencode's keyword-detector hook.
|
|
8
8
|
*/
|
|
9
|
-
export type KeywordType = 'ultrawork' | 'ultrathink' | 'search' | 'analyze';
|
|
9
|
+
export type KeywordType = 'ultrawork' | 'ultrathink' | 'olympus' | 'search' | 'analyze';
|
|
10
10
|
export interface DetectedKeyword {
|
|
11
11
|
type: KeywordType;
|
|
12
12
|
keyword: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/keyword-detector/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/keyword-detector/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAExF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAmBD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASrD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC,GACpE,MAAM,CAKR;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,GAClB,eAAe,EAAE,CAkBnB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGhD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAiBtE"}
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
const KEYWORD_PATTERNS = {
|
|
13
13
|
ultrawork: /\b(ultrawork|ulw)\b/i,
|
|
14
14
|
ultrathink: /\b(ultrathink|think)\b/i,
|
|
15
|
+
olympus: /\b(olympus|orchestrate|coordinate|multi-?agent|conductor)\b/i,
|
|
15
16
|
search: /\b(search|find|locate|lookup|explore|discover|scan|grep|query|browse|detect|trace|seek|track|pinpoint|hunt)\b|where\s+is|show\s+me|list\s+all/i,
|
|
16
17
|
analyze: /\b(analyze|analyse|investigate|examine|research|study|deep.?dive|inspect|audit|evaluate|assess|review|diagnose|scrutinize|dissect|debug|comprehend|interpret|breakdown|understand)\b|why\s+is|how\s+does|how\s+to/i
|
|
17
18
|
};
|
|
@@ -19,7 +20,7 @@ const KEYWORD_PATTERNS = {
|
|
|
19
20
|
* Priority order for keyword detection
|
|
20
21
|
* Higher priority keywords take precedence
|
|
21
22
|
*/
|
|
22
|
-
const KEYWORD_PRIORITY = ['ultrawork', 'ultrathink', 'search', 'analyze'];
|
|
23
|
+
const KEYWORD_PRIORITY = ['ultrawork', 'ultrathink', 'olympus', 'search', 'analyze'];
|
|
23
24
|
/**
|
|
24
25
|
* Remove code blocks from text to prevent false positives
|
|
25
26
|
* Handles both fenced code blocks and inline code
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/keyword-detector/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAUH;;GAEG;AACH,MAAM,gBAAgB,GAAgC;IACpD,SAAS,EAAE,sBAAsB;IACjC,UAAU,EAAE,yBAAyB;IACrC,MAAM,EAAE,gJAAgJ;IACxJ,OAAO,EAAE,oNAAoN;CAC9N,CAAC;AAEF;;;GAGG;AACH,MAAM,gBAAgB,GAAkB,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/keyword-detector/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAUH;;GAEG;AACH,MAAM,gBAAgB,GAAgC;IACpD,SAAS,EAAE,sBAAsB;IACjC,UAAU,EAAE,yBAAyB;IACrC,OAAO,EAAE,8DAA8D;IACvE,MAAM,EAAE,gJAAgJ;IACxJ,OAAO,EAAE,oNAAoN;CAC9N,CAAC;AAEF;;;GAGG;AACH,MAAM,gBAAgB,GAAkB,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAEpG;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,yCAAyC;IACzC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IACjD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAE/C,wCAAwC;IACxC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAExC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAqE;IAErE,OAAO,KAAK;SACT,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC;SACxC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAK,CAAC;SACjB,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAY,EACZ,UAAmB;IAEnB,MAAM,QAAQ,GAAsB,EAAE,CAAC;IAEvC,0BAA0B;IAC1B,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAElC,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI;gBACJ,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;gBACjB,QAAQ,EAAE,KAAK,CAAC,KAAK;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO,sBAAsB,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAEnD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4DAA4D;IAC5D,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAClD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC"}
|