wyrm-mcp 5.3.0 → 5.5.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/autoconfig.d.ts.map +1 -1
- package/dist/autoconfig.js +2 -0
- package/dist/autoconfig.js.map +1 -1
- package/dist/buddy.d.ts +81 -0
- package/dist/buddy.d.ts.map +1 -0
- package/dist/buddy.js +337 -0
- package/dist/buddy.js.map +1 -0
- package/dist/context-ranking.d.ts +43 -0
- package/dist/context-ranking.d.ts.map +1 -0
- package/dist/context-ranking.js +69 -0
- package/dist/context-ranking.js.map +1 -0
- package/dist/index.js +257 -4
- package/dist/index.js.map +1 -1
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js +24 -0
- package/dist/migrations.js.map +1 -1
- package/dist/session-seen.d.ts +39 -0
- package/dist/session-seen.d.ts.map +1 -0
- package/dist/session-seen.js +59 -0
- package/dist/session-seen.js.map +1 -0
- package/dist/token-budget.d.ts +89 -0
- package/dist/token-budget.d.ts.map +1 -0
- package/dist/token-budget.js +143 -0
- package/dist/token-budget.js.map +1 -0
- package/package.json +1 -1
package/dist/autoconfig.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autoconfig.d.ts","sourceRoot":"","sources":["../src/autoconfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,QAAQ,GAAG,UAAU,GAAG,KAAK,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA2HD;;GAEG;AACH,wBAAgB,aAAa,IAAI,QAAQ,EAAE,CA0B1C;AAoDD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAwC3C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AA2CD;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,GAAG,WAAW,CAyFrF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,WAAW,CAqD9D;AAID;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,WAAW,EAAE,CAwBhF;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,WAAW,EAAE,CAS7C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,WAAW,EAAE,CAmBtG;AAID,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;CACrB;AAsBD;;GAEG;AACH,wBAAgB,YAAY,IAAI,QAAQ,GAAG,IAAI,CAS9C;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,WAAW,EAAE,CAWzC;
|
|
1
|
+
{"version":3,"file":"autoconfig.d.ts","sourceRoot":"","sources":["../src/autoconfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,QAAQ,GAAG,UAAU,GAAG,KAAK,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA2HD;;GAEG;AACH,wBAAgB,aAAa,IAAI,QAAQ,EAAE,CA0B1C;AAoDD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAwC3C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AA2CD;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,GAAG,WAAW,CAyFrF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,WAAW,CAqD9D;AAID;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,WAAW,EAAE,CAwBhF;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,WAAW,EAAE,CAS7C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,WAAW,EAAE,CAmBtG;AAID,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;CACrB;AAsBD;;GAEG;AACH,wBAAgB,YAAY,IAAI,QAAQ,GAAG,IAAI,CAS9C;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,WAAW,EAAE,CAWzC;AA4BD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,GAChB,YAAY,CAmDd;AAkBD;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAkCzC"}
|
package/dist/autoconfig.js
CHANGED
|
@@ -549,6 +549,8 @@ const WYRM_INJECT_BLOCK = `${WYRM_MARKER_START}
|
|
|
549
549
|
**Know what Wyrm can do** — call \`wyrm_capabilities\` once per session to get the full feature inventory (counter-patterns, ground truths, scaffolds, agent loop, outbound MCP, federation, audit chain, …). Reach for the right tool the first time instead of re-discovering the surface mid-conversation.
|
|
550
550
|
|
|
551
551
|
**Keep wyrm-mcp current** — \`wyrm_check_update\` returns whether a newer version is on npm (cached 24h). When one is, surface it to the operator and offer \`wyrm_self_update\` (with \`confirm:true\`) to upgrade.
|
|
552
|
+
|
|
553
|
+
**Buddy companion** — call \`wyrm_buddy\` for warm, data-grounded check-ins. At session start (after \`wyrm_session_prime\`) for long-running work, and when the operator completes a quest or hits a milestone. The buddy speaks in a chosen persona but every claim sources a real DB row — speak it verbatim, never invent additional encouragement. Auto-federates with other registered MCPs that expose \`*_buddy\` tools.
|
|
552
554
|
${WYRM_MARKER_END}`;
|
|
553
555
|
/**
|
|
554
556
|
* Inject Wyrm's session-prime instruction block into AI client instruction files.
|
package/dist/autoconfig.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autoconfig.js","sourceRoot":"","sources":["../src/autoconfig.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"autoconfig.js","sourceRoot":"","sources":["../src/autoconfig.ts"],"names":[],"mappings":"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"}
|
package/dist/buddy.d.ts
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wyrm Buddy — data-grounded coding companion (spec 015).
|
|
3
|
+
*
|
|
4
|
+
* Returns a brief markdown greeting + project state + suggested next
|
|
5
|
+
* step. Every claim sources from a real Wyrm row; no hallucinated
|
|
6
|
+
* encouragement. Persona is voice-only — the AI speaks it verbatim.
|
|
7
|
+
*
|
|
8
|
+
* Also federates with other "buddy"-capable MCPs registered via
|
|
9
|
+
* `wyrm_mcp_register`: any external tool name matching `*_buddy` or
|
|
10
|
+
* `buddy_*` is queried via `wyrm_call_external` and its output is
|
|
11
|
+
* folded into the response.
|
|
12
|
+
*
|
|
13
|
+
* @copyright 2026 Ghost Protocol (Pvt) Ltd. All Rights Reserved.
|
|
14
|
+
* @license Proprietary
|
|
15
|
+
*/
|
|
16
|
+
import type Database from 'better-sqlite3';
|
|
17
|
+
export type BuddyMood = 'normal' | 'celebratory' | 'stuck' | 'quiet';
|
|
18
|
+
export type BuddyPersona = 'wyrm' | 'drogo' | 'berlin' | 'sumair' | 'custom';
|
|
19
|
+
export interface BuddyInputs {
|
|
20
|
+
projectId: number;
|
|
21
|
+
projectName: string;
|
|
22
|
+
now: Date;
|
|
23
|
+
streakDays: number;
|
|
24
|
+
hoursThisWeek: number;
|
|
25
|
+
lastSession: {
|
|
26
|
+
id: number;
|
|
27
|
+
date: string;
|
|
28
|
+
objectives: string | null;
|
|
29
|
+
completed: string | null;
|
|
30
|
+
} | null;
|
|
31
|
+
topPendingQuest: {
|
|
32
|
+
id: number;
|
|
33
|
+
title: string;
|
|
34
|
+
priority: string;
|
|
35
|
+
tags: string | null;
|
|
36
|
+
} | null;
|
|
37
|
+
recentlyCompletedQuest: {
|
|
38
|
+
id: number;
|
|
39
|
+
title: string;
|
|
40
|
+
completed_at: string;
|
|
41
|
+
} | null;
|
|
42
|
+
unresolvedFailures: Array<{
|
|
43
|
+
id: number;
|
|
44
|
+
scope: string;
|
|
45
|
+
target: string;
|
|
46
|
+
description: string;
|
|
47
|
+
occurrences: number;
|
|
48
|
+
}>;
|
|
49
|
+
matchingScaffold: {
|
|
50
|
+
id: number;
|
|
51
|
+
problem_type: string;
|
|
52
|
+
} | null;
|
|
53
|
+
activeGoal: {
|
|
54
|
+
id: number;
|
|
55
|
+
title: string;
|
|
56
|
+
last_iteration_at: string | null;
|
|
57
|
+
} | null;
|
|
58
|
+
externalBuddies?: Array<{
|
|
59
|
+
server: string;
|
|
60
|
+
tool: string;
|
|
61
|
+
reply: string;
|
|
62
|
+
}>;
|
|
63
|
+
}
|
|
64
|
+
export interface BuddyOutput {
|
|
65
|
+
markdown: string;
|
|
66
|
+
resolvedMood: BuddyMood;
|
|
67
|
+
resolvedPersona: {
|
|
68
|
+
kind: BuddyPersona;
|
|
69
|
+
name: string;
|
|
70
|
+
};
|
|
71
|
+
dataPoints: number;
|
|
72
|
+
}
|
|
73
|
+
export declare function gatherBuddyInputs(db: Database.Database, projectId: number, now?: Date): BuddyInputs;
|
|
74
|
+
export declare function resolveMood(inputs: BuddyInputs, override?: BuddyMood): BuddyMood;
|
|
75
|
+
export interface BuddyOptions {
|
|
76
|
+
mood?: BuddyMood;
|
|
77
|
+
persona?: BuddyPersona;
|
|
78
|
+
personaName?: string;
|
|
79
|
+
}
|
|
80
|
+
export declare function buildBuddyOutput(inputs: BuddyInputs, opts?: BuddyOptions): BuddyOutput;
|
|
81
|
+
//# sourceMappingURL=buddy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buddy.d.ts","sourceRoot":"","sources":["../src/buddy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,aAAa,GAAG,OAAO,GAAG,OAAO,CAAC;AACrE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE7E,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,IAAI,CAAC;IACV,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACtG,eAAe,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7F,sBAAsB,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnF,kBAAkB,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnH,gBAAgB,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9D,UAAU,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACnF,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1E;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,SAAS,CAAC;IACxB,eAAe,EAAE;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,UAAU,EAAE,MAAM,CAAC;CACpB;AA4GD,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,GAAE,IAAiB,GAAG,WAAW,CA+F/G;AAMD,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,CAKhF;AAMD,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,GAAE,YAAiB,GAAG,WAAW,CAwH1F"}
|
package/dist/buddy.js
ADDED
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wyrm Buddy — data-grounded coding companion (spec 015).
|
|
3
|
+
*
|
|
4
|
+
* Returns a brief markdown greeting + project state + suggested next
|
|
5
|
+
* step. Every claim sources from a real Wyrm row; no hallucinated
|
|
6
|
+
* encouragement. Persona is voice-only — the AI speaks it verbatim.
|
|
7
|
+
*
|
|
8
|
+
* Also federates with other "buddy"-capable MCPs registered via
|
|
9
|
+
* `wyrm_mcp_register`: any external tool name matching `*_buddy` or
|
|
10
|
+
* `buddy_*` is queried via `wyrm_call_external` and its output is
|
|
11
|
+
* folded into the response.
|
|
12
|
+
*
|
|
13
|
+
* @copyright 2026 Ghost Protocol (Pvt) Ltd. All Rights Reserved.
|
|
14
|
+
* @license Proprietary
|
|
15
|
+
*/
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
// Phrase library — small, deterministic, no randomness in selection.
|
|
18
|
+
// ---------------------------------------------------------------------------
|
|
19
|
+
const GREETINGS = {
|
|
20
|
+
wyrm: {
|
|
21
|
+
morning: [
|
|
22
|
+
'morning, operator. the hoard is intact.',
|
|
23
|
+
'morning. the wyrm watches.',
|
|
24
|
+
'sun up. fresh scales, fresh code.',
|
|
25
|
+
"morning, operator. yesterday's work is in the hoard.",
|
|
26
|
+
"morning. nothing's missing from the cave.",
|
|
27
|
+
"morning. the wyrm uncoils.",
|
|
28
|
+
],
|
|
29
|
+
midday: [
|
|
30
|
+
'back from lunch?',
|
|
31
|
+
'midday. the wyrm has been counting truths.',
|
|
32
|
+
'returning to the work?',
|
|
33
|
+
'good — half a day left.',
|
|
34
|
+
'the hoard is quiet. ready when you are.',
|
|
35
|
+
'midday check-in. all rows accounted for.',
|
|
36
|
+
],
|
|
37
|
+
evening: [
|
|
38
|
+
'evening. golden hour for the patient operator.',
|
|
39
|
+
'evening. the wyrm sees you.',
|
|
40
|
+
'still at it? the cave is dim but the hoard glints.',
|
|
41
|
+
'evening. the day yields good code.',
|
|
42
|
+
'evening, operator. one more push?',
|
|
43
|
+
'evening. the wyrm warms the coils.',
|
|
44
|
+
],
|
|
45
|
+
late: [
|
|
46
|
+
"still up at this hour. pace yourself — the hoard isn't going anywhere.",
|
|
47
|
+
'late. the wyrm sleeps with one eye open.',
|
|
48
|
+
'late hours. the work is good but rest is also good.',
|
|
49
|
+
'past midnight. wyrm watches over the hoard while you finish.',
|
|
50
|
+
"late. don't let the dragon outlast the rider.",
|
|
51
|
+
'late. one final commit, then go.',
|
|
52
|
+
],
|
|
53
|
+
},
|
|
54
|
+
drogo: {
|
|
55
|
+
morning: ['back. let\'s work.', 'morning. ready.', 'on the clock.', 'good. start.', 'no time wasted.', 'set.'],
|
|
56
|
+
midday: ['returning.', 'pick up where you left.', 'back to it.', 'half day done.', 'work continues.', 'next.'],
|
|
57
|
+
evening: ['evening. still focused.', 'long day. keep going.', 'evening shift.', 'one more.', 'time left.', 'finish strong.'],
|
|
58
|
+
late: ['late. fine.', 'past hours. work or rest.', 'midnight code.', 'still here. fine.', 'late shift.', 'one last push.'],
|
|
59
|
+
},
|
|
60
|
+
berlin: {
|
|
61
|
+
morning: ['Good morning. I have your queue ready.', 'Morning. Today\'s priorities below.', 'Welcome back. Status follows.', 'Morning. Allow me to brief you.', 'Good day. The state is current.', 'Morning. Ready when you are.'],
|
|
62
|
+
midday: ['Welcome back. State summary:', 'Midday review.', 'Status remains current.', 'Continuing.', 'Picking up.', 'Resuming.'],
|
|
63
|
+
evening: ['Good evening. End-of-day summary:', 'Evening status.', 'Late update.', 'Evening review.', 'End of working hours.', 'Wrapping up?'],
|
|
64
|
+
late: ['It is late. Briefly:', 'Late hour. Concise update:', 'Past hours. Quick brief:', 'Midnight passed. Status:', 'Late shift. State:', 'Brief late update.'],
|
|
65
|
+
},
|
|
66
|
+
sumair: {
|
|
67
|
+
morning: ["hey — glad you're back.", 'morning, friend.', 'good to see you.', 'morning. you good?', 'welcome back.', "morning. let's go."],
|
|
68
|
+
midday: ['back! how\'s it going?', 'midday vibes.', "you're doing great. keep going.", 'glad you\'re here.', 'pick a quest, any quest.', 'no pressure — just progress.'],
|
|
69
|
+
evening: ['evening. proud of today already.', 'still here? love that.', 'evening, friend.', "you've shown up. that's the win.", 'late but here.', 'one more thing?'],
|
|
70
|
+
late: ['hey — late, but I\'m here too.', 'still up? sleep is part of the work.', 'rest soon, ok?', 'late hour, soft work.', 'be kind to yourself.', 'we\'ll be here tomorrow.'],
|
|
71
|
+
},
|
|
72
|
+
custom: {
|
|
73
|
+
morning: ['morning.', 'morning, friend.', 'back at it.', 'good morning.', 'starting fresh.', 'morning check.'],
|
|
74
|
+
midday: ['midday.', 'back.', 'returning.', 'midday check.', 'half done.', 'continuing.'],
|
|
75
|
+
evening: ['evening.', 'evening check.', 'long day.', 'almost done.', 'evening shift.', 'one more.'],
|
|
76
|
+
late: ['late.', 'late hour.', 'midnight work.', 'past hours.', 'late shift.', 'wind down soon.'],
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
const CELEBRATIONS = {
|
|
80
|
+
wyrm: ['the hoard grows.', 'one more scale on the wyrm.', 'good work — quest closed.', 'the cave deepens.'],
|
|
81
|
+
drogo: ['done.', 'closed.', 'ship.', 'next.'],
|
|
82
|
+
berlin: ['Quest completed. Noted.', 'Resolution recorded.', 'Closed and logged.', 'Completion noted.'],
|
|
83
|
+
sumair: ['nice!! 🎉', 'proud of you.', 'love that.', 'huge.'],
|
|
84
|
+
custom: ['closed.', 'done.', 'good.', 'next.'],
|
|
85
|
+
};
|
|
86
|
+
const STUCK_PHRASES = {
|
|
87
|
+
wyrm: ['we have hit this scale before. let me show you where.', 'the wyrm remembers this failure pattern.', 'familiar territory — last time we routed around it.'],
|
|
88
|
+
drogo: ['we have hit this. avoid it.', 'pattern. block it.', 'known failure. route around.'],
|
|
89
|
+
berlin: ['I notice a recurring failure pattern. Allow me to highlight it.', 'This area has prior failures on record.', 'Caution: prior failures clustered here.'],
|
|
90
|
+
sumair: ["we hit this one before — let's not repeat it.", "I see we've been here. let's go around.", "we know this trap. let's avoid it."],
|
|
91
|
+
custom: ['known failure pattern.', 'we hit this before.', 'recurring issue.'],
|
|
92
|
+
};
|
|
93
|
+
// ---------------------------------------------------------------------------
|
|
94
|
+
// Deterministic phrase selection
|
|
95
|
+
// ---------------------------------------------------------------------------
|
|
96
|
+
function pickPhrase(phrases, projectId, now) {
|
|
97
|
+
// Deterministic selection by hash(projectId, dayOfYear). Same response
|
|
98
|
+
// within a day, varies across days.
|
|
99
|
+
const start = new Date(now.getFullYear(), 0, 0);
|
|
100
|
+
const dayOfYear = Math.floor((now.getTime() - start.getTime()) / (24 * 60 * 60 * 1000));
|
|
101
|
+
const idx = Math.abs((projectId * 31 + dayOfYear) % phrases.length);
|
|
102
|
+
return phrases[idx];
|
|
103
|
+
}
|
|
104
|
+
function timeOfDay(now) {
|
|
105
|
+
const h = now.getHours();
|
|
106
|
+
if (h >= 5 && h < 12)
|
|
107
|
+
return 'morning';
|
|
108
|
+
if (h >= 12 && h < 17)
|
|
109
|
+
return 'midday';
|
|
110
|
+
if (h >= 17 && h < 23)
|
|
111
|
+
return 'evening';
|
|
112
|
+
return 'late';
|
|
113
|
+
}
|
|
114
|
+
// ---------------------------------------------------------------------------
|
|
115
|
+
// Input gathering — single function pulls all needed data from Wyrm
|
|
116
|
+
// ---------------------------------------------------------------------------
|
|
117
|
+
export function gatherBuddyInputs(db, projectId, now = new Date()) {
|
|
118
|
+
// Project
|
|
119
|
+
const project = db.prepare('SELECT name FROM projects WHERE id = ?').get(projectId);
|
|
120
|
+
const projectName = project?.name ?? `project:${projectId}`;
|
|
121
|
+
// Streak — consecutive days with session_update or quest_complete activity.
|
|
122
|
+
// Cheap implementation: look at distinct session dates over last 30d, walk back from today.
|
|
123
|
+
const recentDates = db
|
|
124
|
+
.prepare(`SELECT DISTINCT date FROM sessions WHERE project_id = ? AND date >= date('now', '-30 days') ORDER BY date DESC`)
|
|
125
|
+
.all(projectId)
|
|
126
|
+
.map((r) => r.date);
|
|
127
|
+
let streakDays = 0;
|
|
128
|
+
if (recentDates.length > 0) {
|
|
129
|
+
const today = now.toISOString().slice(0, 10);
|
|
130
|
+
const yesterday = new Date(now.getTime() - 24 * 60 * 60 * 1000).toISOString().slice(0, 10);
|
|
131
|
+
if (recentDates[0] === today || recentDates[0] === yesterday) {
|
|
132
|
+
streakDays = 1;
|
|
133
|
+
for (let i = 1; i < recentDates.length; i++) {
|
|
134
|
+
const expected = new Date(new Date(recentDates[i - 1]).getTime() - 24 * 60 * 60 * 1000).toISOString().slice(0, 10);
|
|
135
|
+
if (recentDates[i] === expected)
|
|
136
|
+
streakDays++;
|
|
137
|
+
else
|
|
138
|
+
break;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
// Last session
|
|
143
|
+
const lastSessionRow = db
|
|
144
|
+
.prepare('SELECT id, date, objectives, completed FROM sessions WHERE project_id = ? ORDER BY id DESC LIMIT 1')
|
|
145
|
+
.get(projectId);
|
|
146
|
+
// Top pending quest
|
|
147
|
+
const topQuestRow = db
|
|
148
|
+
.prepare(`SELECT id, title, priority, tags FROM quests WHERE project_id = ? AND status = 'pending'
|
|
149
|
+
ORDER BY CASE priority WHEN 'critical' THEN 0 WHEN 'high' THEN 1 WHEN 'medium' THEN 2 ELSE 3 END LIMIT 1`)
|
|
150
|
+
.get(projectId);
|
|
151
|
+
// Recently completed quest (within last hour)
|
|
152
|
+
const recentlyCompleted = (() => {
|
|
153
|
+
try {
|
|
154
|
+
return db.prepare(`SELECT id, title, completed_at FROM quests WHERE project_id = ? AND status = 'completed'
|
|
155
|
+
AND completed_at >= datetime('now', '-1 hour') ORDER BY completed_at DESC LIMIT 1`)
|
|
156
|
+
.get(projectId);
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
return undefined;
|
|
160
|
+
}
|
|
161
|
+
})();
|
|
162
|
+
// Unresolved failures in last 7 days
|
|
163
|
+
let unresolvedFailures = [];
|
|
164
|
+
try {
|
|
165
|
+
unresolvedFailures = db.prepare(`SELECT id, scope, target, description, occurrences FROM failure_patterns
|
|
166
|
+
WHERE (project_id = ? OR project_id IS NULL) AND resolved_at IS NULL
|
|
167
|
+
AND last_seen_at >= datetime('now', '-7 days')
|
|
168
|
+
ORDER BY occurrences DESC, last_seen_at DESC LIMIT 5`)
|
|
169
|
+
.all(projectId);
|
|
170
|
+
}
|
|
171
|
+
catch { /* table may not exist on very old DBs */ }
|
|
172
|
+
// Matching scaffold (cheap: just look for any scaffold whose problem_type matches a token in last session objectives)
|
|
173
|
+
let matchingScaffold = null;
|
|
174
|
+
try {
|
|
175
|
+
if (lastSessionRow?.objectives) {
|
|
176
|
+
const obj = lastSessionRow.objectives.toLowerCase();
|
|
177
|
+
const scaffolds = db.prepare('SELECT id, problem_type FROM reasoning_scaffolds WHERE project_id = ? OR project_id IS NULL').all(projectId);
|
|
178
|
+
matchingScaffold = scaffolds.find((s) => obj.includes(s.problem_type.toLowerCase())) ?? null;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
catch { /* table may not exist */ }
|
|
182
|
+
// Active goal with running daemon
|
|
183
|
+
let activeGoal = null;
|
|
184
|
+
try {
|
|
185
|
+
activeGoal = db.prepare(`SELECT g.id, g.title, MAX(gi.created_at) as last_iteration_at
|
|
186
|
+
FROM goals g LEFT JOIN goal_iterations gi ON gi.goal_id = g.id
|
|
187
|
+
WHERE g.project_id = ? AND g.status = 'active'
|
|
188
|
+
GROUP BY g.id ORDER BY g.priority, g.id LIMIT 1`)
|
|
189
|
+
.get(projectId) ?? null;
|
|
190
|
+
}
|
|
191
|
+
catch { /* table may not exist */ }
|
|
192
|
+
// Hours this week
|
|
193
|
+
let hoursThisWeek = 0;
|
|
194
|
+
try {
|
|
195
|
+
const h = db.prepare(`SELECT SUM(hours) as h FROM hour_entries WHERE project_id = ? AND date >= date('now', 'weekday 0', '-7 days')`).get(projectId);
|
|
196
|
+
hoursThisWeek = h?.h ?? 0;
|
|
197
|
+
}
|
|
198
|
+
catch { /* table may not exist */ }
|
|
199
|
+
return {
|
|
200
|
+
projectId,
|
|
201
|
+
projectName,
|
|
202
|
+
now,
|
|
203
|
+
streakDays,
|
|
204
|
+
hoursThisWeek,
|
|
205
|
+
lastSession: lastSessionRow ?? null,
|
|
206
|
+
topPendingQuest: topQuestRow ?? null,
|
|
207
|
+
recentlyCompletedQuest: recentlyCompleted ?? null,
|
|
208
|
+
unresolvedFailures,
|
|
209
|
+
matchingScaffold,
|
|
210
|
+
activeGoal,
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
// ---------------------------------------------------------------------------
|
|
214
|
+
// Auto-mood + composition
|
|
215
|
+
// ---------------------------------------------------------------------------
|
|
216
|
+
export function resolveMood(inputs, override) {
|
|
217
|
+
if (override)
|
|
218
|
+
return override;
|
|
219
|
+
if (inputs.recentlyCompletedQuest)
|
|
220
|
+
return 'celebratory';
|
|
221
|
+
if (inputs.unresolvedFailures.length > 2)
|
|
222
|
+
return 'stuck';
|
|
223
|
+
return 'normal';
|
|
224
|
+
}
|
|
225
|
+
function sanitizePersonaName(s) {
|
|
226
|
+
return s.replace(/[^a-zA-Z0-9 _-]/g, '').slice(0, 32) || 'buddy';
|
|
227
|
+
}
|
|
228
|
+
export function buildBuddyOutput(inputs, opts = {}) {
|
|
229
|
+
const persona = opts.persona ?? 'wyrm';
|
|
230
|
+
const personaName = persona === 'custom' ? sanitizePersonaName(opts.personaName ?? 'buddy') : persona;
|
|
231
|
+
const mood = resolveMood(inputs, opts.mood);
|
|
232
|
+
const lines = [];
|
|
233
|
+
let dataPoints = 0;
|
|
234
|
+
// Quiet mode: one-liner only.
|
|
235
|
+
if (mood === 'quiet') {
|
|
236
|
+
const greet = pickPhrase(GREETINGS[persona][timeOfDay(inputs.now)], inputs.projectId, inputs.now);
|
|
237
|
+
if (inputs.topPendingQuest) {
|
|
238
|
+
lines.push(`${greet} next up — quest:${inputs.topPendingQuest.id} (${inputs.topPendingQuest.title}).`);
|
|
239
|
+
dataPoints++;
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
lines.push(greet);
|
|
243
|
+
}
|
|
244
|
+
return {
|
|
245
|
+
markdown: lines.join('\n'),
|
|
246
|
+
resolvedMood: mood,
|
|
247
|
+
resolvedPersona: { kind: persona, name: personaName },
|
|
248
|
+
dataPoints,
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
// Greeting
|
|
252
|
+
lines.push(pickPhrase(GREETINGS[persona][timeOfDay(inputs.now)], inputs.projectId, inputs.now));
|
|
253
|
+
lines.push('');
|
|
254
|
+
// Streak (3+ days only)
|
|
255
|
+
if (inputs.streakDays >= 3) {
|
|
256
|
+
lines.push(`📅 ${inputs.streakDays}-day streak on ${inputs.projectName} — the wyrm approves.`);
|
|
257
|
+
lines.push('');
|
|
258
|
+
dataPoints++;
|
|
259
|
+
}
|
|
260
|
+
// Celebratory: highlight the recent completion first
|
|
261
|
+
if (mood === 'celebratory' && inputs.recentlyCompletedQuest) {
|
|
262
|
+
lines.push(`🎉 quest:${inputs.recentlyCompletedQuest.id} closed — *${inputs.recentlyCompletedQuest.title}*. ${pickPhrase(CELEBRATIONS[persona], inputs.projectId, inputs.now)}`);
|
|
263
|
+
lines.push('');
|
|
264
|
+
dataPoints++;
|
|
265
|
+
}
|
|
266
|
+
// Last session recap
|
|
267
|
+
if (inputs.lastSession) {
|
|
268
|
+
const obj = (inputs.lastSession.objectives ?? '').slice(0, 100);
|
|
269
|
+
if (obj) {
|
|
270
|
+
lines.push(`📜 session #${inputs.lastSession.id} (${inputs.lastSession.date}) — ${obj}${obj.length === 100 ? '…' : ''}`);
|
|
271
|
+
lines.push('');
|
|
272
|
+
dataPoints++;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
// Next quest
|
|
276
|
+
if (inputs.topPendingQuest) {
|
|
277
|
+
const tags = inputs.topPendingQuest.tags ? ` · tags: ${inputs.topPendingQuest.tags}` : '';
|
|
278
|
+
lines.push(`⚔️ next up — quest:${inputs.topPendingQuest.id} (${inputs.topPendingQuest.priority}) — *${inputs.topPendingQuest.title}*${tags}`);
|
|
279
|
+
lines.push('');
|
|
280
|
+
dataPoints++;
|
|
281
|
+
}
|
|
282
|
+
else if (mood !== 'stuck') {
|
|
283
|
+
lines.push(`⚔️ no pending quests. add one with \`wyrm_quest_add\` or just code.`);
|
|
284
|
+
lines.push('');
|
|
285
|
+
}
|
|
286
|
+
// Stuck mode: surface failures
|
|
287
|
+
if (mood === 'stuck' && inputs.unresolvedFailures.length > 0) {
|
|
288
|
+
lines.push(`⛔ ${pickPhrase(STUCK_PHRASES[persona], inputs.projectId, inputs.now)}`);
|
|
289
|
+
for (const f of inputs.unresolvedFailures.slice(0, 3)) {
|
|
290
|
+
lines.push(` - failure:${f.id} · ${f.scope}:${f.target} · ${f.occurrences}× — ${f.description.slice(0, 80)}`);
|
|
291
|
+
dataPoints++;
|
|
292
|
+
}
|
|
293
|
+
lines.push('');
|
|
294
|
+
}
|
|
295
|
+
// Scaffold match
|
|
296
|
+
if (inputs.matchingScaffold) {
|
|
297
|
+
lines.push(`🧭 looks like a *${inputs.matchingScaffold.problem_type}* job — scaffold:${inputs.matchingScaffold.id} is ready.`);
|
|
298
|
+
lines.push('');
|
|
299
|
+
dataPoints++;
|
|
300
|
+
}
|
|
301
|
+
// Active goal
|
|
302
|
+
if (inputs.activeGoal) {
|
|
303
|
+
const last = inputs.activeGoal.last_iteration_at
|
|
304
|
+
? `last loop iteration: ${new Date(inputs.activeGoal.last_iteration_at).toISOString().slice(0, 16).replace('T', ' ')} UTC`
|
|
305
|
+
: 'not yet iterated';
|
|
306
|
+
lines.push(`🔥 active goal — goal:${inputs.activeGoal.id} *${inputs.activeGoal.title}* · ${last}`);
|
|
307
|
+
lines.push('');
|
|
308
|
+
dataPoints++;
|
|
309
|
+
}
|
|
310
|
+
// Hours
|
|
311
|
+
if (inputs.hoursThisWeek > 0) {
|
|
312
|
+
lines.push(`⏱ ${inputs.hoursThisWeek.toFixed(1)}h logged on this project this week.`);
|
|
313
|
+
lines.push('');
|
|
314
|
+
dataPoints++;
|
|
315
|
+
}
|
|
316
|
+
// External buddy federation
|
|
317
|
+
if (inputs.externalBuddies && inputs.externalBuddies.length > 0) {
|
|
318
|
+
lines.push('---');
|
|
319
|
+
lines.push('## From other buddies');
|
|
320
|
+
lines.push('');
|
|
321
|
+
for (const eb of inputs.externalBuddies) {
|
|
322
|
+
lines.push(`### ${eb.server} / ${eb.tool}`);
|
|
323
|
+
lines.push(eb.reply.slice(0, 400));
|
|
324
|
+
lines.push('');
|
|
325
|
+
}
|
|
326
|
+
dataPoints += inputs.externalBuddies.length;
|
|
327
|
+
}
|
|
328
|
+
// Sign-off (one of two pleasant defaults)
|
|
329
|
+
lines.push('ready when you are.');
|
|
330
|
+
return {
|
|
331
|
+
markdown: lines.join('\n'),
|
|
332
|
+
resolvedMood: mood,
|
|
333
|
+
resolvedPersona: { kind: persona, name: personaName },
|
|
334
|
+
dataPoints,
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
//# sourceMappingURL=buddy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buddy.js","sourceRoot":"","sources":["../src/buddy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Combined-score computation for context-build candidates (spec 014).
|
|
3
|
+
*
|
|
4
|
+
* Combines four signals into a single score in [0, 1]:
|
|
5
|
+
*
|
|
6
|
+
* confidence × wC + recency × wR + relevance × wU + usefulness × wU
|
|
7
|
+
*
|
|
8
|
+
* Weights load from WYRM_RANK_WEIGHTS env (JSON) with sane defaults.
|
|
9
|
+
*
|
|
10
|
+
* @copyright 2026 Ghost Protocol (Pvt) Ltd. All Rights Reserved.
|
|
11
|
+
* @license Proprietary
|
|
12
|
+
*/
|
|
13
|
+
export interface RankWeights {
|
|
14
|
+
confidence: number;
|
|
15
|
+
recency: number;
|
|
16
|
+
relevance: number;
|
|
17
|
+
usefulness: number;
|
|
18
|
+
}
|
|
19
|
+
export declare const DEFAULT_WEIGHTS: Readonly<RankWeights>;
|
|
20
|
+
/**
|
|
21
|
+
* Load weights from WYRM_RANK_WEIGHTS env var. Falls back to defaults
|
|
22
|
+
* on any parse/validation error. Logs the active weights at startup.
|
|
23
|
+
*/
|
|
24
|
+
export declare function loadWeightsFromEnv(env?: NodeJS.ProcessEnv): RankWeights;
|
|
25
|
+
export interface ScoreableItem {
|
|
26
|
+
/** [0, 1] — confidence the item is correct/true */
|
|
27
|
+
confidence?: number;
|
|
28
|
+
/** ISO timestamp — used for recency decay */
|
|
29
|
+
updatedAt?: string;
|
|
30
|
+
/** [0, 1] — pre-computed relevance (FTS5 rank / vector score) */
|
|
31
|
+
relevance?: number;
|
|
32
|
+
/** [0, 1] — usefulness inferred from wyrm_feedback signals */
|
|
33
|
+
usefulness?: number;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Compute the combined score in [0, 1].
|
|
37
|
+
*
|
|
38
|
+
* Recency uses exponential decay over 30 days from updatedAt to now.
|
|
39
|
+
* Missing signals default to neutral (0.5 confidence, 0.5 relevance, 0.5
|
|
40
|
+
* usefulness; recency to 0 if no updatedAt).
|
|
41
|
+
*/
|
|
42
|
+
export declare function score(item: ScoreableItem, weights: RankWeights, now?: Date): number;
|
|
43
|
+
//# sourceMappingURL=context-ranking.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-ranking.d.ts","sourceRoot":"","sources":["../src/context-ranking.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,WAAW,CAKjD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,WAAW,CAgBpF;AAOD,MAAM,WAAW,aAAa;IAC5B,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CACnB,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,WAAW,EACpB,GAAG,GAAE,IAAiB,GACrB,MAAM,CAgBR"}
|