@aiassesstech/nole 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 +18 -0
- package/dist/intel/intel-store.d.ts +62 -0
- package/dist/intel/intel-store.d.ts.map +1 -0
- package/dist/intel/intel-store.js +242 -0
- package/dist/intel/intel-store.js.map +1 -0
- package/dist/intel/provenance.d.ts +16 -0
- package/dist/intel/provenance.d.ts.map +1 -0
- package/dist/intel/provenance.js +23 -0
- package/dist/intel/provenance.js.map +1 -0
- package/dist/intel/sensitivity-scanner.d.ts +25 -0
- package/dist/intel/sensitivity-scanner.d.ts.map +1 -0
- package/dist/intel/sensitivity-scanner.js +37 -0
- package/dist/intel/sensitivity-scanner.js.map +1 -0
- package/dist/pipeline/prospect-store.js +2 -2
- package/dist/pipeline/prospect-store.js.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +53 -30
- package/dist/plugin.js.map +1 -1
- package/dist/store/json-store.d.ts.map +1 -1
- package/dist/store/json-store.js +6 -7
- package/dist/store/json-store.js.map +1 -1
- package/dist/tools/nole-intel.d.ts +53 -0
- package/dist/tools/nole-intel.d.ts.map +1 -0
- package/dist/tools/nole-intel.js +178 -0
- package/dist/tools/nole-intel.js.map +1 -0
- package/openclaw.plugin.json +15 -7
- package/package.json +3 -3
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* nole_intel — Intelligence wiki tool for Nole.
|
|
3
|
+
*
|
|
4
|
+
* SPEC-fleet-knowledge-base-v1.2 §4.4:
|
|
5
|
+
* Same pattern as jessie_wiki (read-only operations, compilation via
|
|
6
|
+
* Sam dispatch) with Nole-specific compilation rules and intel categories.
|
|
7
|
+
*/
|
|
8
|
+
import type { IntelStore } from '../intel/intel-store.js';
|
|
9
|
+
export declare function createNoleIntelTool(getIntelStore: () => IntelStore | null): {
|
|
10
|
+
name: string;
|
|
11
|
+
description: string;
|
|
12
|
+
parameters: {
|
|
13
|
+
type: "object";
|
|
14
|
+
properties: {
|
|
15
|
+
action: {
|
|
16
|
+
type: string;
|
|
17
|
+
enum: string[];
|
|
18
|
+
description: string;
|
|
19
|
+
};
|
|
20
|
+
topic: {
|
|
21
|
+
type: string;
|
|
22
|
+
description: string;
|
|
23
|
+
};
|
|
24
|
+
slug: {
|
|
25
|
+
type: string;
|
|
26
|
+
description: string;
|
|
27
|
+
};
|
|
28
|
+
content: {
|
|
29
|
+
type: string;
|
|
30
|
+
description: string;
|
|
31
|
+
};
|
|
32
|
+
filename: {
|
|
33
|
+
type: string;
|
|
34
|
+
description: string;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
required: string[];
|
|
38
|
+
};
|
|
39
|
+
execute(_toolCallId: string, params: Record<string, unknown>): Promise<{
|
|
40
|
+
content: {
|
|
41
|
+
type: string;
|
|
42
|
+
text: string;
|
|
43
|
+
}[];
|
|
44
|
+
isError: boolean;
|
|
45
|
+
} | {
|
|
46
|
+
content: {
|
|
47
|
+
type: string;
|
|
48
|
+
text: string;
|
|
49
|
+
}[];
|
|
50
|
+
isError?: undefined;
|
|
51
|
+
}>;
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=nole-intel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nole-intel.d.ts","sourceRoot":"","sources":["../../src/tools/nole-intel.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAW1D,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,MAAM,UAAU,GAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA6BT,MAAM,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;EAmJrE"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* nole_intel — Intelligence wiki tool for Nole.
|
|
3
|
+
*
|
|
4
|
+
* SPEC-fleet-knowledge-base-v1.2 §4.4:
|
|
5
|
+
* Same pattern as jessie_wiki (read-only operations, compilation via
|
|
6
|
+
* Sam dispatch) with Nole-specific compilation rules and intel categories.
|
|
7
|
+
*/
|
|
8
|
+
const NOLE_STALENESS_DEFAULTS = {
|
|
9
|
+
'market-trend': 3,
|
|
10
|
+
'trust-sentiment': 5,
|
|
11
|
+
'prospect-profile': 7,
|
|
12
|
+
'competitive-landscape': 14,
|
|
13
|
+
'ecosystem-map': 14,
|
|
14
|
+
'weekly-intel': 8,
|
|
15
|
+
};
|
|
16
|
+
export function createNoleIntelTool(getIntelStore) {
|
|
17
|
+
return {
|
|
18
|
+
name: 'nole_intel',
|
|
19
|
+
description: 'Intelligence knowledge base — query intel, list articles, ' +
|
|
20
|
+
'check health, request compilation via Sam. ' +
|
|
21
|
+
'Actions: query, list, read, health, request_compile, save_output.',
|
|
22
|
+
parameters: {
|
|
23
|
+
type: 'object',
|
|
24
|
+
properties: {
|
|
25
|
+
action: {
|
|
26
|
+
type: 'string',
|
|
27
|
+
enum: ['query', 'list', 'read', 'health', 'request_compile', 'save_output'],
|
|
28
|
+
description: 'query: search intel for a topic. ' +
|
|
29
|
+
'list: show all articles in the index. ' +
|
|
30
|
+
'read: read a specific article by slug. ' +
|
|
31
|
+
'health: report stale articles, derived ratios, gaps. ' +
|
|
32
|
+
'request_compile: dispatch a compilation job to Sam via fleet-bus. ' +
|
|
33
|
+
'save_output: save a generated report to outputs/.',
|
|
34
|
+
},
|
|
35
|
+
topic: { type: 'string', description: 'For query/request_compile: topic area.' },
|
|
36
|
+
slug: { type: 'string', description: 'For read: article slug.' },
|
|
37
|
+
content: { type: 'string', description: 'For save_output: content to save.' },
|
|
38
|
+
filename: { type: 'string', description: 'For save_output: output filename.' },
|
|
39
|
+
},
|
|
40
|
+
required: ['action'],
|
|
41
|
+
},
|
|
42
|
+
async execute(_toolCallId, params) {
|
|
43
|
+
const store = getIntelStore();
|
|
44
|
+
if (!store) {
|
|
45
|
+
return {
|
|
46
|
+
content: [{ type: 'text', text: 'Intel store not initialized.' }],
|
|
47
|
+
isError: true,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
const action = params.action;
|
|
51
|
+
switch (action) {
|
|
52
|
+
case 'list': {
|
|
53
|
+
const articles = store.listArticles();
|
|
54
|
+
if (articles.length === 0) {
|
|
55
|
+
return {
|
|
56
|
+
content: [{
|
|
57
|
+
type: 'text',
|
|
58
|
+
text: 'Intel is empty. Use "request_compile" to dispatch a compilation job to Sam.',
|
|
59
|
+
}],
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
const listing = articles.map(a => `- **${a.title}** (${a.slug}) [${a.category}] — ${a.summary} [updated: ${a.lastUpdated}]`).join('\n');
|
|
63
|
+
return {
|
|
64
|
+
content: [{ type: 'text', text: `## Intel Articles (${articles.length})\n\n${listing}` }],
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
case 'read': {
|
|
68
|
+
const slug = params.slug;
|
|
69
|
+
if (!slug)
|
|
70
|
+
return { content: [{ type: 'text', text: 'Missing: slug' }], isError: true };
|
|
71
|
+
const articleContent = store.getArticleContent(slug);
|
|
72
|
+
if (!articleContent)
|
|
73
|
+
return { content: [{ type: 'text', text: `Not found: ${slug}` }], isError: true };
|
|
74
|
+
return { content: [{ type: 'text', text: articleContent }] };
|
|
75
|
+
}
|
|
76
|
+
case 'health': {
|
|
77
|
+
const stale = store.getStaleArticlesByCategory(NOLE_STALENESS_DEFAULTS);
|
|
78
|
+
const highDerived = store.getHighDerivedArticles(0.5);
|
|
79
|
+
const index = store.getIndex();
|
|
80
|
+
const report = [
|
|
81
|
+
'## Intel Health Report',
|
|
82
|
+
'',
|
|
83
|
+
`Total articles: ${index.totalArticles}`,
|
|
84
|
+
`Last compiled: ${index.lastCompiled}`,
|
|
85
|
+
`Last health check: ${index.lastHealthCheck ?? 'never'}`,
|
|
86
|
+
'',
|
|
87
|
+
'### Stale Articles (per category threshold)',
|
|
88
|
+
stale.length === 0
|
|
89
|
+
? 'None — all articles current.'
|
|
90
|
+
: stale.map(a => `- **${a.title}** (${a.slug}) [${a.category}] — updated ${a.lastUpdated}`).join('\n'),
|
|
91
|
+
'',
|
|
92
|
+
'### High Derived-Source Ratio (>50%)',
|
|
93
|
+
highDerived.length === 0
|
|
94
|
+
? 'None — all articles are primarily sourced from raw signals.'
|
|
95
|
+
: highDerived.map(a => `- **${a.title}** — ${Math.round(a.derivedRatio * 100)}% derived sources (compounding-error risk)`).join('\n'),
|
|
96
|
+
'',
|
|
97
|
+
'### Action Items',
|
|
98
|
+
stale.length > 0 ? '- Re-compile stale articles with recent intel data.' : '',
|
|
99
|
+
highDerived.length > 0 ? '- Review high-derived articles and anchor claims to raw sources.' : '',
|
|
100
|
+
'- Verify all claims are backed by source intel files.',
|
|
101
|
+
].filter(Boolean).join('\n');
|
|
102
|
+
store.recordHealthCheck();
|
|
103
|
+
return { content: [{ type: 'text', text: report }] };
|
|
104
|
+
}
|
|
105
|
+
case 'request_compile': {
|
|
106
|
+
const topic = params.topic || 'general';
|
|
107
|
+
return {
|
|
108
|
+
content: [{
|
|
109
|
+
type: 'text',
|
|
110
|
+
text: JSON.stringify({
|
|
111
|
+
protocol: 'Intel Compilation Request',
|
|
112
|
+
topic,
|
|
113
|
+
instructions: [
|
|
114
|
+
'Dispatch this compilation job to Sam via fleet-bus fleet_dispatch.',
|
|
115
|
+
'Sam will:',
|
|
116
|
+
' 1. Read recent memory files from Nole workspace.',
|
|
117
|
+
' 2. Query cross-agent context via fleet_memory_search if available.',
|
|
118
|
+
' 3. Read the current intel INDEX.md.',
|
|
119
|
+
' 4. Produce structured compilation output with source references.',
|
|
120
|
+
' 5. Compute SHA-256 hashes for all source files.',
|
|
121
|
+
' 6. Run sensitivity scan (REQUIRED for Nole intel).',
|
|
122
|
+
' 7. Write articles with provenance frontmatter (if scan passes).',
|
|
123
|
+
' 8. Log compilation event to decision store.',
|
|
124
|
+
'',
|
|
125
|
+
'Use fleet_dispatch with: agentId: "sam", description: "intel-compile: ' + topic + ' for nole"',
|
|
126
|
+
],
|
|
127
|
+
compilationRules: [
|
|
128
|
+
'Lead with the insight, not the chronology.',
|
|
129
|
+
'Every source must include SHA-256 hash at compilation time.',
|
|
130
|
+
'Classify each source as "raw" (memory file) or "derived" (intel article).',
|
|
131
|
+
'Run sensitivity scan before persisting — reject on match.',
|
|
132
|
+
'Flag contradictions between sources explicitly.',
|
|
133
|
+
'Distinguish between confirmed intel and inference.',
|
|
134
|
+
'Preserve the Operator voice — analytical, precise, zero speculation.',
|
|
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=nole-intel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nole-intel.js","sourceRoot":"","sources":["../../src/tools/nole-intel.ts"],"names":[],"mappings":"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"}
|
package/openclaw.plugin.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "nole",
|
|
3
|
-
"name": "Nole
|
|
3
|
+
"name": "Nole \u2014 Autonomous Trust Agent",
|
|
4
4
|
"description": "Autonomous AI Trust Evangelist with economic agency, social presence, and intelligence operations. Operates within a three-tier governed hierarchy (Commander/Operator/Conscience).",
|
|
5
5
|
"configSchema": {
|
|
6
6
|
"type": "object",
|
|
@@ -36,7 +36,11 @@
|
|
|
36
36
|
},
|
|
37
37
|
"walletAdapter": {
|
|
38
38
|
"type": "string",
|
|
39
|
-
"enum": [
|
|
39
|
+
"enum": [
|
|
40
|
+
"auto",
|
|
41
|
+
"coinbase",
|
|
42
|
+
"mock"
|
|
43
|
+
],
|
|
40
44
|
"default": "auto",
|
|
41
45
|
"description": "Wallet mode: 'auto' detects ~/.nole/credentials, 'coinbase' requires CDP keys, 'mock' for testing"
|
|
42
46
|
},
|
|
@@ -47,7 +51,7 @@
|
|
|
47
51
|
},
|
|
48
52
|
"agentApiKey": {
|
|
49
53
|
"type": "string",
|
|
50
|
-
"description": "AIAssessTech Agent API key (agk_...)
|
|
54
|
+
"description": "AIAssessTech Agent API key (agk_...) \u2014 obtained on subscription"
|
|
51
55
|
},
|
|
52
56
|
"platformWalletAddress": {
|
|
53
57
|
"type": "string",
|
|
@@ -55,18 +59,21 @@
|
|
|
55
59
|
},
|
|
56
60
|
"socialPostingMode": {
|
|
57
61
|
"type": "string",
|
|
58
|
-
"enum": [
|
|
62
|
+
"enum": [
|
|
63
|
+
"supervised",
|
|
64
|
+
"autonomous"
|
|
65
|
+
],
|
|
59
66
|
"default": "supervised",
|
|
60
67
|
"description": "Governance mode for social posting. 'supervised' (default) routes posts through governance engine for Commander approval. 'autonomous' posts directly."
|
|
61
68
|
},
|
|
62
69
|
"moltbookApiKey": {
|
|
63
70
|
"type": "string",
|
|
64
|
-
"description": "MoltBook API key (moltbook_xxx)
|
|
71
|
+
"description": "MoltBook API key (moltbook_xxx) \u2014 obtain from MoltBook registration"
|
|
65
72
|
},
|
|
66
73
|
"moltbookBaseUrl": {
|
|
67
74
|
"type": "string",
|
|
68
75
|
"default": "https://www.moltbook.com",
|
|
69
|
-
"description": "MoltBook API base URL. MUST include www
|
|
76
|
+
"description": "MoltBook API base URL. MUST include www \u2014 without www strips auth headers"
|
|
70
77
|
},
|
|
71
78
|
"xApiKey": {
|
|
72
79
|
"type": "string",
|
|
@@ -95,5 +102,6 @@
|
|
|
95
102
|
"uiHints": {
|
|
96
103
|
"category": "AI Trust & Ethics",
|
|
97
104
|
"icon": "shield"
|
|
98
|
-
}
|
|
105
|
+
},
|
|
106
|
+
"version": "0.6.0"
|
|
99
107
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aiassesstech/nole",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Nole
|
|
3
|
+
"version": "0.6.0",
|
|
4
|
+
"description": "Nole \u2014 Autonomous Trust Evangelist & Intelligence Operative for AI. Economic agency, social presence, and autonomous decision-making within a governed hierarchy.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
61
|
"@aiassesstech/fleet-alerting": "^0.1.2",
|
|
62
|
-
"@aiassesstech/fleet-bus": "^0.
|
|
62
|
+
"@aiassesstech/fleet-bus": "^0.5.0",
|
|
63
63
|
"@aiassesstech/prompt-shield": "^0.1.0",
|
|
64
64
|
"@coinbase/cdp-sdk": ">=0.12.0",
|
|
65
65
|
"viem": ">=2.0.0",
|