@aiassesstech/jessie 0.5.0 → 0.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/agent/AGENTS.md +14 -1
- package/agent/SOUL.md +16 -0
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +3 -1
- package/dist/cli/setup.js.map +1 -1
- package/dist/command/decision-store.d.ts +4 -1
- package/dist/command/decision-store.d.ts.map +1 -1
- package/dist/command/decision-store.js +28 -0
- package/dist/command/decision-store.js.map +1 -1
- package/dist/command/types.d.ts +14 -1
- package/dist/command/types.d.ts.map +1 -1
- package/dist/command/types.js +4 -6
- package/dist/command/types.js.map +1 -1
- package/dist/knowledge/knowledge-store.d.ts +62 -0
- package/dist/knowledge/knowledge-store.d.ts.map +1 -0
- package/dist/knowledge/knowledge-store.js +248 -0
- package/dist/knowledge/knowledge-store.js.map +1 -0
- package/dist/knowledge/provenance.d.ts +16 -0
- package/dist/knowledge/provenance.d.ts.map +1 -0
- package/dist/knowledge/provenance.js +23 -0
- package/dist/knowledge/provenance.js.map +1 -0
- package/dist/knowledge/verify-provenance.d.ts +17 -0
- package/dist/knowledge/verify-provenance.d.ts.map +1 -0
- package/dist/knowledge/verify-provenance.js +38 -0
- package/dist/knowledge/verify-provenance.js.map +1 -0
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +84 -2
- package/dist/plugin.js.map +1 -1
- package/dist/tools/fleet-memory-search.d.ts +87 -0
- package/dist/tools/fleet-memory-search.d.ts.map +1 -0
- package/dist/tools/fleet-memory-search.js +73 -0
- package/dist/tools/fleet-memory-search.js.map +1 -0
- package/dist/tools/fleet-snapshot.d.ts +63 -0
- package/dist/tools/fleet-snapshot.d.ts.map +1 -0
- package/dist/tools/fleet-snapshot.js +137 -0
- package/dist/tools/fleet-snapshot.js.map +1 -0
- package/dist/tools/jessie-briefing.d.ts.map +1 -1
- package/dist/tools/jessie-briefing.js +1 -0
- package/dist/tools/jessie-briefing.js.map +1 -1
- package/dist/tools/jessie-decide.js +2 -2
- package/dist/tools/jessie-decide.js.map +1 -1
- package/dist/tools/jessie-delegate.js +1 -1
- package/dist/tools/jessie-delegate.js.map +1 -1
- package/dist/tools/jessie-wiki.d.ts +55 -0
- package/dist/tools/jessie-wiki.d.ts.map +1 -0
- package/dist/tools/jessie-wiki.js +178 -0
- package/dist/tools/jessie-wiki.js.map +1 -0
- package/openclaw.plugin.json +40 -9
- package/package.json +3 -3
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* jessie_wiki — Fleet knowledge base tool for Jessie.
|
|
3
|
+
*
|
|
4
|
+
* SPEC-fleet-knowledge-base-v1.2 §3.3 (BB Amendment 5):
|
|
5
|
+
* Read-only access to the knowledge store. Write operations are
|
|
6
|
+
* executed by Sam through the compilation pipeline (§4).
|
|
7
|
+
*
|
|
8
|
+
* Actions: query, list, read, health, request_compile, save_output.
|
|
9
|
+
*/
|
|
10
|
+
const JESSIE_STALENESS_DEFAULTS = {
|
|
11
|
+
'fleet-health-patterns': 7,
|
|
12
|
+
'decision-patterns': 14,
|
|
13
|
+
'agent-profile': 21,
|
|
14
|
+
'recurring-issues': 14,
|
|
15
|
+
'strategic-context': 30,
|
|
16
|
+
'weekly-synthesis': 8,
|
|
17
|
+
};
|
|
18
|
+
export function createJessieWikiTool(getKnowledgeStore) {
|
|
19
|
+
return {
|
|
20
|
+
name: 'jessie_wiki',
|
|
21
|
+
description: 'Fleet knowledge base — query existing knowledge, list articles, ' +
|
|
22
|
+
'check health, request compilation via Sam. ' +
|
|
23
|
+
'Actions: query, list, read, health, request_compile, save_output.',
|
|
24
|
+
parameters: {
|
|
25
|
+
type: 'object',
|
|
26
|
+
properties: {
|
|
27
|
+
action: {
|
|
28
|
+
type: 'string',
|
|
29
|
+
enum: ['query', 'list', 'read', 'health', 'request_compile', 'save_output'],
|
|
30
|
+
description: 'query: search wiki for a topic. ' +
|
|
31
|
+
'list: show all articles in the index. ' +
|
|
32
|
+
'read: read a specific article by slug. ' +
|
|
33
|
+
'health: report stale articles, derived ratios, gaps. ' +
|
|
34
|
+
'request_compile: dispatch a compilation job to Sam via fleet-bus. ' +
|
|
35
|
+
'save_output: save a generated report to outputs/.',
|
|
36
|
+
},
|
|
37
|
+
topic: { type: 'string', description: 'For query/request_compile: topic area.' },
|
|
38
|
+
slug: { type: 'string', description: 'For read: article slug.' },
|
|
39
|
+
content: { type: 'string', description: 'For save_output: content to save.' },
|
|
40
|
+
filename: { type: 'string', description: 'For save_output: output filename.' },
|
|
41
|
+
},
|
|
42
|
+
required: ['action'],
|
|
43
|
+
},
|
|
44
|
+
async execute(_toolCallId, params) {
|
|
45
|
+
const store = getKnowledgeStore();
|
|
46
|
+
if (!store) {
|
|
47
|
+
return {
|
|
48
|
+
content: [{ type: 'text', text: 'Knowledge store not initialized.' }],
|
|
49
|
+
isError: true,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
const action = params.action;
|
|
53
|
+
switch (action) {
|
|
54
|
+
case 'list': {
|
|
55
|
+
const articles = store.listArticles();
|
|
56
|
+
if (articles.length === 0) {
|
|
57
|
+
return {
|
|
58
|
+
content: [{
|
|
59
|
+
type: 'text',
|
|
60
|
+
text: 'Wiki is empty. Use "request_compile" to dispatch a compilation job to Sam.',
|
|
61
|
+
}],
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
const listing = articles.map(a => `- **${a.title}** (${a.slug}) [${a.category}] — ${a.summary} [updated: ${a.lastUpdated}]`).join('\n');
|
|
65
|
+
return {
|
|
66
|
+
content: [{ type: 'text', text: `## Wiki Articles (${articles.length})\n\n${listing}` }],
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
case 'read': {
|
|
70
|
+
const slug = params.slug;
|
|
71
|
+
if (!slug)
|
|
72
|
+
return { content: [{ type: 'text', text: 'Missing: slug' }], isError: true };
|
|
73
|
+
const articleContent = store.getArticleContent(slug);
|
|
74
|
+
if (!articleContent)
|
|
75
|
+
return { content: [{ type: 'text', text: `Not found: ${slug}` }], isError: true };
|
|
76
|
+
return { content: [{ type: 'text', text: articleContent }] };
|
|
77
|
+
}
|
|
78
|
+
case 'health': {
|
|
79
|
+
const stale = store.getStaleArticlesByCategory(JESSIE_STALENESS_DEFAULTS);
|
|
80
|
+
const highDerived = store.getHighDerivedArticles(0.5);
|
|
81
|
+
const index = store.getIndex();
|
|
82
|
+
const report = [
|
|
83
|
+
'## Wiki Health Report',
|
|
84
|
+
'',
|
|
85
|
+
`Total articles: ${index.totalArticles}`,
|
|
86
|
+
`Last compiled: ${index.lastCompiled}`,
|
|
87
|
+
`Last health check: ${index.lastHealthCheck ?? 'never'}`,
|
|
88
|
+
'',
|
|
89
|
+
'### Stale Articles (per category threshold)',
|
|
90
|
+
stale.length === 0
|
|
91
|
+
? 'None — all articles current.'
|
|
92
|
+
: stale.map(a => `- **${a.title}** (${a.slug}) [${a.category}] — updated ${a.lastUpdated}`).join('\n'),
|
|
93
|
+
'',
|
|
94
|
+
'### High Derived-Source Ratio (>50%)',
|
|
95
|
+
highDerived.length === 0
|
|
96
|
+
? 'None — all articles are primarily sourced from raw signals.'
|
|
97
|
+
: highDerived.map(a => `- **${a.title}** — ${Math.round(a.derivedRatio * 100)}% derived sources (compounding-error risk)`).join('\n'),
|
|
98
|
+
'',
|
|
99
|
+
'### Action Items',
|
|
100
|
+
stale.length > 0 ? '- Re-compile stale articles with recent memory data.' : '',
|
|
101
|
+
highDerived.length > 0 ? '- Review high-derived articles and anchor claims to raw sources.' : '',
|
|
102
|
+
'- Verify all claims are backed by source memory files.',
|
|
103
|
+
].filter(Boolean).join('\n');
|
|
104
|
+
store.recordHealthCheck();
|
|
105
|
+
return { content: [{ type: 'text', text: report }] };
|
|
106
|
+
}
|
|
107
|
+
case 'request_compile': {
|
|
108
|
+
const topic = params.topic || 'general';
|
|
109
|
+
return {
|
|
110
|
+
content: [{
|
|
111
|
+
type: 'text',
|
|
112
|
+
text: JSON.stringify({
|
|
113
|
+
protocol: 'Wiki Compilation Request',
|
|
114
|
+
topic,
|
|
115
|
+
instructions: [
|
|
116
|
+
'Dispatch this compilation job to Sam via fleet-bus fleet_dispatch.',
|
|
117
|
+
'Sam will:',
|
|
118
|
+
' 1. Read recent memory files from Jessie workspace.',
|
|
119
|
+
' 2. Query cross-agent context via fleet_memory_search if available.',
|
|
120
|
+
' 3. Read the current wiki INDEX.md.',
|
|
121
|
+
' 4. Produce structured compilation output with source references.',
|
|
122
|
+
' 5. Compute SHA-256 hashes for all source files.',
|
|
123
|
+
' 6. Write articles with provenance frontmatter.',
|
|
124
|
+
' 7. Log compilation event to decision store.',
|
|
125
|
+
'',
|
|
126
|
+
'Use fleet_dispatch with: agentId: "sam", description: "wiki-compile: ' + topic + ' for jessie"',
|
|
127
|
+
],
|
|
128
|
+
compilationRules: [
|
|
129
|
+
'Lead with the insight, not the chronology.',
|
|
130
|
+
'Every source must include SHA-256 hash at compilation time.',
|
|
131
|
+
'Classify each source as "raw" (memory file) or "derived" (wiki article).',
|
|
132
|
+
'Flag contradictions between sources explicitly.',
|
|
133
|
+
'Distinguish between confirmed facts and inferences.',
|
|
134
|
+
'Preserve the Commander voice — concise, data-driven, actionable.',
|
|
135
|
+
'Never use expired outputs (check expires_at) as compilation sources.',
|
|
136
|
+
],
|
|
137
|
+
}, null, 2),
|
|
138
|
+
}],
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
case 'save_output': {
|
|
142
|
+
const content = params.content;
|
|
143
|
+
const filename = params.filename;
|
|
144
|
+
if (!content || !filename) {
|
|
145
|
+
return { content: [{ type: 'text', text: 'Missing: content, filename' }], isError: true };
|
|
146
|
+
}
|
|
147
|
+
const outputPath = store.saveOutput(filename, content);
|
|
148
|
+
return { content: [{ type: 'text', text: `Output saved: ${outputPath}` }] };
|
|
149
|
+
}
|
|
150
|
+
case 'query': {
|
|
151
|
+
const topic = params.topic;
|
|
152
|
+
if (!topic)
|
|
153
|
+
return { content: [{ type: 'text', text: 'Missing: topic' }], isError: true };
|
|
154
|
+
const articles = store.listArticles();
|
|
155
|
+
const matches = articles.filter(a => a.title.toLowerCase().includes(topic.toLowerCase()) ||
|
|
156
|
+
a.tags.some(t => t.toLowerCase().includes(topic.toLowerCase())) ||
|
|
157
|
+
a.summary.toLowerCase().includes(topic.toLowerCase()) ||
|
|
158
|
+
a.category.toLowerCase().includes(topic.toLowerCase()));
|
|
159
|
+
if (matches.length === 0) {
|
|
160
|
+
return {
|
|
161
|
+
content: [{ type: 'text', text: `No articles match "${topic}". Use "request_compile" to generate new articles.` }],
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
const result = matches.map(a => `- **${a.title}** (${a.slug}) [${a.category}] — ${a.summary}`).join('\n');
|
|
165
|
+
return {
|
|
166
|
+
content: [{ type: 'text', text: `## Results for "${topic}"\n\n${result}\n\nUse "read" with a slug for the full article.` }],
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
default:
|
|
170
|
+
return {
|
|
171
|
+
content: [{ type: 'text', text: `Unknown action: ${action}. Valid: query, list, read, health, request_compile, save_output.` }],
|
|
172
|
+
isError: true,
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=jessie-wiki.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jessie-wiki.js","sourceRoot":"","sources":["../../src/tools/jessie-wiki.ts"],"names":[],"mappings":"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"}
|
package/openclaw.plugin.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "jessie",
|
|
3
|
-
"name": "Jessie
|
|
4
|
-
"description": "Fleet Commander plugin
|
|
5
|
-
"version": "0.
|
|
3
|
+
"name": "Jessie \u2014 Fleet Commander",
|
|
4
|
+
"description": "Fleet Commander plugin \u2014 morning briefings, decision tracking (veto/approve), task delegation, policy-driven triage, fleet-wide status synthesis, fleet-bus communications, searchable Commander memory, fleet task management, trend analysis, structured corrections, meeting-note ingestion, and configurable channel abstraction.",
|
|
5
|
+
"version": "0.6.0",
|
|
6
6
|
"entry": "dist/plugin.js",
|
|
7
7
|
"configSchema": {
|
|
8
8
|
"type": "object",
|
|
@@ -20,17 +20,48 @@
|
|
|
20
20
|
"primary": {
|
|
21
21
|
"type": "object",
|
|
22
22
|
"properties": {
|
|
23
|
-
"type": {
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
"type": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"enum": [
|
|
26
|
+
"telegram",
|
|
27
|
+
"slack",
|
|
28
|
+
"discord",
|
|
29
|
+
"signal",
|
|
30
|
+
"googlechat",
|
|
31
|
+
"custom"
|
|
32
|
+
],
|
|
33
|
+
"default": "telegram"
|
|
34
|
+
},
|
|
35
|
+
"target": {
|
|
36
|
+
"type": "string",
|
|
37
|
+
"description": "Channel target (chat ID, channel name, etc.)"
|
|
38
|
+
},
|
|
39
|
+
"label": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"description": "Human-readable label for this channel"
|
|
42
|
+
}
|
|
26
43
|
}
|
|
27
44
|
},
|
|
28
45
|
"fallback": {
|
|
29
46
|
"type": "object",
|
|
30
47
|
"properties": {
|
|
31
|
-
"type": {
|
|
32
|
-
|
|
33
|
-
|
|
48
|
+
"type": {
|
|
49
|
+
"type": "string",
|
|
50
|
+
"enum": [
|
|
51
|
+
"telegram",
|
|
52
|
+
"slack",
|
|
53
|
+
"discord",
|
|
54
|
+
"signal",
|
|
55
|
+
"googlechat",
|
|
56
|
+
"custom"
|
|
57
|
+
]
|
|
58
|
+
},
|
|
59
|
+
"target": {
|
|
60
|
+
"type": "string"
|
|
61
|
+
},
|
|
62
|
+
"label": {
|
|
63
|
+
"type": "string"
|
|
64
|
+
}
|
|
34
65
|
}
|
|
35
66
|
}
|
|
36
67
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aiassesstech/jessie",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Jessie
|
|
3
|
+
"version": "0.6.0",
|
|
4
|
+
"description": "Jessie \u2014 Fleet Commander plugin for OpenClaw. Morning briefings, decision tracking, task delegation, policy-driven triage, fleet-bus communications.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
54
|
"@aiassesstech/fleet-alerting": "^0.1.2",
|
|
55
|
-
"@aiassesstech/fleet-bus": "^0.
|
|
55
|
+
"@aiassesstech/fleet-bus": "^0.5.0",
|
|
56
56
|
"@aiassesstech/prompt-shield": "^0.1.0"
|
|
57
57
|
},
|
|
58
58
|
"peerDependencies": {
|