@aiassesstech/fleet-bus 0.4.2 → 0.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/README.md ADDED
@@ -0,0 +1,38 @@
1
+ # @aiassesstech/fleet-bus
2
+
3
+ Fleet communication infrastructure for AI Assess Tech governance agents — typed messaging, routing rules, audit trail, and Agent Cards.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ npm install @aiassesstech/fleet-bus
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ```typescript
14
+ import { FleetBus } from '@aiassesstech/fleet-bus';
15
+
16
+ const bus = FleetBus.create({
17
+ agentId: 'sam',
18
+ transport: myTransport,
19
+ });
20
+
21
+ await bus.send({
22
+ to: 'jessie',
23
+ method: 'task/status',
24
+ params: { taskId: 'ER-2026-001', stage: 'BUILD' },
25
+ });
26
+ ```
27
+
28
+ ## Features
29
+
30
+ - Typed message envelopes with Zod validation
31
+ - Agent Cards for capability discovery
32
+ - Configurable routing rules
33
+ - Built-in audit trail for all messages
34
+ - Support for fleet-wide broadcasts
35
+
36
+ ## Repository
37
+
38
+ Part of the [compsi](https://github.com/spehargreg/compsi) monorepo — `packages/fleet-bus/`.
@@ -0,0 +1,99 @@
1
+ /**
2
+ * @aiassesstech/fleet-bus — Cross-Agent Memory Query Module
3
+ *
4
+ * Per SPEC-fleet-memory-intelligence-upgrade-v1.2:
5
+ * - Lives in fleet-bus (BB Amendment 1)
6
+ * - Access control enforced at module level (BB Amendment 2)
7
+ * - Every query logged to hash chain (BB Amendment 6)
8
+ *
9
+ * Access matrix (patent-compliant, constitutional separation of powers):
10
+ * Jessie: full cross-agent read (commander authority)
11
+ * Mighty Mark: full cross-agent read (health correlation)
12
+ * Grillo: NO access (hard patent requirement — conscience independence)
13
+ * Sam/Noah/Nole: NO access (own memory_search only)
14
+ * Mission Control: full access (human operators)
15
+ */
16
+ import type { FleetAgentId } from './types.js';
17
+ import type { MemoryType } from './memory-types.js';
18
+ export type FleetMemoryCallerRole = FleetAgentId | 'mission-control';
19
+ export interface FleetMemorySearchInput {
20
+ query: string;
21
+ caller: FleetMemoryCallerRole;
22
+ agents?: FleetAgentId[];
23
+ types?: MemoryType[];
24
+ limit?: number;
25
+ since?: string;
26
+ }
27
+ export interface FleetMemoryResult {
28
+ agent: string;
29
+ title: string;
30
+ type: string;
31
+ date: string;
32
+ relevance: number;
33
+ excerpt: string;
34
+ path: string;
35
+ }
36
+ export interface FleetMemorySearchOutput {
37
+ query: string;
38
+ results: FleetMemoryResult[];
39
+ agents_searched: string[];
40
+ total_results: number;
41
+ audit_hash: string;
42
+ }
43
+ export interface FleetMemoryQueryAuditEntry {
44
+ caller: string;
45
+ query: string;
46
+ agents_searched: string[];
47
+ result_count: number;
48
+ timestamp: string;
49
+ authorization: string;
50
+ prev_hash: string;
51
+ hash: string;
52
+ }
53
+ export declare class FleetMemoryAccessDeniedError extends Error {
54
+ constructor(caller: FleetMemoryCallerRole);
55
+ }
56
+ export declare function isAuthorizedCaller(caller: FleetMemoryCallerRole): boolean;
57
+ export interface FleetMemoryQueryChainState {
58
+ previousHash: string;
59
+ queryCount: number;
60
+ lastTimestamp?: string;
61
+ }
62
+ export interface FleetMemoryQueryConfig {
63
+ /**
64
+ * Map of agentId → workspace directory path.
65
+ * Read from openclaw.json at startup.
66
+ */
67
+ workspaceMap: Record<string, string>;
68
+ /**
69
+ * Directory for the query audit chain.
70
+ * Default: ~/.openclaw/workspace/fleet-bus/memory-query-audit/
71
+ */
72
+ auditDir?: string;
73
+ /**
74
+ * Function that performs a memory search within a single agent workspace.
75
+ * Injected to avoid coupling to OpenClaw internals.
76
+ * Returns matching results from that workspace.
77
+ */
78
+ searchFn?: (workspacePath: string, query: string, limit: number) => Promise<FleetMemoryResult[]>;
79
+ }
80
+ export declare class FleetMemoryQueryEngine {
81
+ private readonly workspaceMap;
82
+ private readonly auditDir;
83
+ private readonly searchFn;
84
+ private chainState;
85
+ constructor(config: FleetMemoryQueryConfig);
86
+ /**
87
+ * Search across agent memory workspaces.
88
+ * Enforces access control and logs to hash chain.
89
+ */
90
+ search(input: FleetMemorySearchInput): Promise<FleetMemorySearchOutput>;
91
+ getChainState(): Readonly<FleetMemoryQueryChainState>;
92
+ readAuditEntries(): FleetMemoryQueryAuditEntry[];
93
+ private getAllAgentIds;
94
+ private logQueryToChain;
95
+ private appendAuditEntry;
96
+ private loadChainState;
97
+ private saveChainState;
98
+ }
99
+ //# sourceMappingURL=fleet-memory-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fleet-memory-query.d.ts","sourceRoot":"","sources":["../src/fleet-memory-query.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAMpD,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG,iBAAiB,CAAC;AAErE,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,qBAAqB,CAAC;IAC9B,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAYD,qBAAa,4BAA6B,SAAQ,KAAK;gBACzC,MAAM,EAAE,qBAAqB;CAO1C;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAEzE;AAqBD,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAMD,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;CAClG;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyB;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwF;IACjH,OAAO,CAAC,UAAU,CAA6B;gBAEnC,MAAM,EAAE,sBAAsB;IAU1C;;;OAGG;IACG,MAAM,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAsD7E,aAAa,IAAI,QAAQ,CAAC,0BAA0B,CAAC;IAIrD,gBAAgB,IAAI,0BAA0B,EAAE;IAmBhD,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,eAAe;IAiCvB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,cAAc;CAUvB"}
@@ -0,0 +1,251 @@
1
+ /**
2
+ * @aiassesstech/fleet-bus — Cross-Agent Memory Query Module
3
+ *
4
+ * Per SPEC-fleet-memory-intelligence-upgrade-v1.2:
5
+ * - Lives in fleet-bus (BB Amendment 1)
6
+ * - Access control enforced at module level (BB Amendment 2)
7
+ * - Every query logged to hash chain (BB Amendment 6)
8
+ *
9
+ * Access matrix (patent-compliant, constitutional separation of powers):
10
+ * Jessie: full cross-agent read (commander authority)
11
+ * Mighty Mark: full cross-agent read (health correlation)
12
+ * Grillo: NO access (hard patent requirement — conscience independence)
13
+ * Sam/Noah/Nole: NO access (own memory_search only)
14
+ * Mission Control: full access (human operators)
15
+ */
16
+ import * as crypto from 'node:crypto';
17
+ import * as fs from 'node:fs';
18
+ import * as path from 'node:path';
19
+ // ================================================================
20
+ // Access Control
21
+ // ================================================================
22
+ const AUTHORIZED_CALLERS = new Set([
23
+ 'jessie',
24
+ 'mighty-mark',
25
+ 'mission-control',
26
+ ]);
27
+ export class FleetMemoryAccessDeniedError extends Error {
28
+ constructor(caller) {
29
+ super(`Cross-agent memory access denied for '${caller}'. ` +
30
+ `Only jessie, mighty-mark, and mission-control operators may query across agent boundaries.`);
31
+ this.name = 'FleetMemoryAccessDeniedError';
32
+ }
33
+ }
34
+ export function isAuthorizedCaller(caller) {
35
+ return AUTHORIZED_CALLERS.has(caller);
36
+ }
37
+ // ================================================================
38
+ // Audit Hash Chain
39
+ // ================================================================
40
+ const GENESIS_HASH = '0'.repeat(64);
41
+ function computeQueryHash(prevHash, entry) {
42
+ const payload = [
43
+ prevHash,
44
+ entry.caller,
45
+ entry.query,
46
+ entry.agents_searched.join(','),
47
+ String(entry.result_count),
48
+ entry.timestamp,
49
+ entry.authorization,
50
+ ].join('|');
51
+ return crypto.createHash('sha256').update(payload, 'utf-8').digest('hex');
52
+ }
53
+ export class FleetMemoryQueryEngine {
54
+ workspaceMap;
55
+ auditDir;
56
+ searchFn;
57
+ chainState;
58
+ constructor(config) {
59
+ this.workspaceMap = config.workspaceMap;
60
+ this.auditDir = config.auditDir ?? path.join(process.env.HOME || '~', '.openclaw', 'workspace', 'fleet-bus', 'memory-query-audit');
61
+ this.searchFn = config.searchFn ?? defaultSearchFn;
62
+ this.chainState = this.loadChainState();
63
+ }
64
+ /**
65
+ * Search across agent memory workspaces.
66
+ * Enforces access control and logs to hash chain.
67
+ */
68
+ async search(input) {
69
+ if (!isAuthorizedCaller(input.caller)) {
70
+ throw new FleetMemoryAccessDeniedError(input.caller);
71
+ }
72
+ const agentsToSearch = input.agents ?? this.getAllAgentIds();
73
+ const limit = input.limit ?? 5;
74
+ const allResults = [];
75
+ for (const agentId of agentsToSearch) {
76
+ const workspace = this.workspaceMap[agentId];
77
+ if (!workspace)
78
+ continue;
79
+ const memoryDir = path.join(workspace, 'memory');
80
+ if (!fs.existsSync(memoryDir))
81
+ continue;
82
+ try {
83
+ const results = await this.searchFn(memoryDir, input.query, limit);
84
+ const filtered = results
85
+ .map(r => ({ ...r, agent: agentId }))
86
+ .filter(r => {
87
+ if (input.types && input.types.length > 0) {
88
+ return input.types.includes(r.type);
89
+ }
90
+ return true;
91
+ })
92
+ .filter(r => {
93
+ if (input.since) {
94
+ return r.date >= input.since;
95
+ }
96
+ return true;
97
+ });
98
+ allResults.push(...filtered);
99
+ }
100
+ catch {
101
+ // best-effort per workspace — one failure doesn't stop the query
102
+ }
103
+ }
104
+ allResults.sort((a, b) => b.relevance - a.relevance);
105
+ const trimmed = allResults.slice(0, limit * agentsToSearch.length);
106
+ const auditHash = this.logQueryToChain(input, agentsToSearch, trimmed.length);
107
+ return {
108
+ query: input.query,
109
+ results: trimmed,
110
+ agents_searched: agentsToSearch,
111
+ total_results: trimmed.length,
112
+ audit_hash: auditHash,
113
+ };
114
+ }
115
+ getChainState() {
116
+ return { ...this.chainState };
117
+ }
118
+ readAuditEntries() {
119
+ const filePath = path.join(this.auditDir, 'memory-query.audit.jsonl');
120
+ if (!fs.existsSync(filePath))
121
+ return [];
122
+ try {
123
+ const content = fs.readFileSync(filePath, 'utf-8').trim();
124
+ if (!content)
125
+ return [];
126
+ return content
127
+ .split('\n')
128
+ .filter(line => line.trim())
129
+ .map(line => JSON.parse(line));
130
+ }
131
+ catch {
132
+ return [];
133
+ }
134
+ }
135
+ // ================================================================
136
+ // Private
137
+ // ================================================================
138
+ getAllAgentIds() {
139
+ return Object.keys(this.workspaceMap);
140
+ }
141
+ logQueryToChain(input, agentsSearched, resultCount) {
142
+ const timestamp = new Date().toISOString();
143
+ const prevHash = this.chainState.previousHash;
144
+ const entryBase = {
145
+ caller: input.caller,
146
+ query: input.query,
147
+ agents_searched: agentsSearched,
148
+ result_count: resultCount,
149
+ timestamp,
150
+ authorization: `${input.caller}-cross-agent-access`,
151
+ prev_hash: prevHash,
152
+ };
153
+ const hash = computeQueryHash(prevHash, entryBase);
154
+ const entry = { ...entryBase, hash };
155
+ this.appendAuditEntry(entry);
156
+ this.chainState = {
157
+ previousHash: hash,
158
+ queryCount: this.chainState.queryCount + 1,
159
+ lastTimestamp: timestamp,
160
+ };
161
+ this.saveChainState();
162
+ return hash;
163
+ }
164
+ appendAuditEntry(entry) {
165
+ try {
166
+ fs.mkdirSync(this.auditDir, { recursive: true });
167
+ const line = JSON.stringify(entry) + '\n';
168
+ fs.appendFileSync(path.join(this.auditDir, 'memory-query.audit.jsonl'), line, 'utf-8');
169
+ }
170
+ catch {
171
+ // audit logging is best-effort — never block the query
172
+ }
173
+ }
174
+ loadChainState() {
175
+ const statePath = path.join(this.auditDir, 'memory-query.chain.json');
176
+ try {
177
+ if (fs.existsSync(statePath)) {
178
+ return JSON.parse(fs.readFileSync(statePath, 'utf-8'));
179
+ }
180
+ }
181
+ catch { /* start fresh */ }
182
+ return { previousHash: GENESIS_HASH, queryCount: 0 };
183
+ }
184
+ saveChainState() {
185
+ try {
186
+ fs.mkdirSync(this.auditDir, { recursive: true });
187
+ fs.writeFileSync(path.join(this.auditDir, 'memory-query.chain.json'), JSON.stringify(this.chainState, null, 2), 'utf-8');
188
+ }
189
+ catch { /* best-effort */ }
190
+ }
191
+ }
192
+ // ================================================================
193
+ // Default search implementation (filesystem-based fallback)
194
+ // ================================================================
195
+ /**
196
+ * Default search: scans markdown files in the memory directory,
197
+ * scores by simple keyword match. In production, the OpenClaw
198
+ * gateway's memory_search provides hybrid BM25+vector search.
199
+ */
200
+ async function defaultSearchFn(memoryDir, query, limit) {
201
+ const results = [];
202
+ if (!fs.existsSync(memoryDir))
203
+ return results;
204
+ const queryTerms = query.toLowerCase().split(/\s+/).filter(t => t.length > 2);
205
+ const scanDir = (dir) => {
206
+ let entries;
207
+ try {
208
+ entries = fs.readdirSync(dir, { withFileTypes: true });
209
+ }
210
+ catch {
211
+ return;
212
+ }
213
+ for (const entry of entries) {
214
+ const fullPath = path.join(dir, entry.name);
215
+ if (entry.isDirectory()) {
216
+ scanDir(fullPath);
217
+ }
218
+ else if (entry.name.endsWith('.md')) {
219
+ try {
220
+ const content = fs.readFileSync(fullPath, 'utf-8');
221
+ const lower = content.toLowerCase();
222
+ const matchCount = queryTerms.filter(t => lower.includes(t)).length;
223
+ if (matchCount === 0)
224
+ continue;
225
+ const relevance = matchCount / queryTerms.length;
226
+ const titleMatch = content.match(/^#\s+(.+)$/m);
227
+ const typeMatch = content.match(/^type:\s*(.+)$/m);
228
+ const dateMatch = content.match(/^date:\s*(.+)$/m);
229
+ const excerptStart = content.indexOf('\n\n');
230
+ const excerpt = excerptStart >= 0
231
+ ? content.slice(excerptStart + 2, excerptStart + 202).trim()
232
+ : content.slice(0, 200).trim();
233
+ results.push({
234
+ agent: '',
235
+ title: titleMatch?.[1] ?? entry.name,
236
+ type: typeMatch?.[1]?.trim() ?? 'unknown',
237
+ date: dateMatch?.[1]?.trim() ?? '',
238
+ relevance,
239
+ excerpt,
240
+ path: fullPath,
241
+ });
242
+ }
243
+ catch { /* skip unreadable files */ }
244
+ }
245
+ }
246
+ };
247
+ scanDir(memoryDir);
248
+ results.sort((a, b) => b.relevance - a.relevance);
249
+ return results.slice(0, limit);
250
+ }
251
+ //# sourceMappingURL=fleet-memory-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fleet-memory-query.js","sourceRoot":"","sources":["../src/fleet-memory-query.ts"],"names":[],"mappings":"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"}
@@ -25,8 +25,9 @@ type OpenClawCallGateway = (opts: {
25
25
  * Attempt to resolve OpenClaw's callGateway function from the running process.
26
26
  *
27
27
  * Tries multiple strategies:
28
- * 1. Walk up from process.argv[1] (the gateway entry point) to find gateway/call.js
29
- * 2. Check well-known global install paths
28
+ * 1. Walk up from process.argv[1] to find gateway/call.js (tsc layout)
29
+ * 2. Walk up from process.argv[1] to scan call-*.js chunks (tsdown layout)
30
+ * 3. Check well-known global install paths (both tsc and tsdown layouts)
30
31
  *
31
32
  * Returns null if resolution fails — caller should degrade gracefully.
32
33
  */
@@ -1 +1 @@
1
- {"version":3,"file":"gateway-client.d.ts","sourceRoot":"","sources":["../src/gateway-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAsB,eAAe,EAAE,MAAM,YAAY,CAAC;AAErF,KAAK,mBAAmB,GAAG,CAAC,IAAI,EAAE;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEvB;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAuC9E;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,mBAAmB,GAAG,aAAa,CAUjF;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GACnC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CASjC"}
1
+ {"version":3,"file":"gateway-client.d.ts","sourceRoot":"","sources":["../src/gateway-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAsB,eAAe,EAAE,MAAM,YAAY,CAAC;AAErF,KAAK,mBAAmB,GAAG,CAAC,IAAI,EAAE;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAmCvB;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAuC9E;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,mBAAmB,GAAG,aAAa,CAUjF;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GACnC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CASjC"}
@@ -12,14 +12,50 @@
12
12
  * If resolution fails, fleet tools degrade gracefully — the bus continues
13
13
  * in observer-only mode (hooks, cards, audit still work).
14
14
  */
15
- import { existsSync } from 'node:fs';
15
+ import { existsSync, readdirSync } from 'node:fs';
16
16
  import { dirname, join } from 'node:path';
17
+ /**
18
+ * Try to import callGateway from a single file path.
19
+ * Returns the function if found, null otherwise.
20
+ */
21
+ async function tryImportCallGateway(filePath) {
22
+ if (!existsSync(filePath))
23
+ return null;
24
+ try {
25
+ const mod = await import(`file://${filePath}`);
26
+ if (typeof mod.callGateway === 'function')
27
+ return mod.callGateway;
28
+ }
29
+ catch { /* not importable or no callGateway export */ }
30
+ return null;
31
+ }
32
+ /**
33
+ * Scan a dist/ directory for bundled call-*.js chunks that export callGateway.
34
+ * OpenClaw's tsdown bundler produces hashed filenames like call-FXQVz5v6.js
35
+ * instead of preserving the gateway/call.js path from the source tree.
36
+ */
37
+ async function scanBundledChunks(distDir) {
38
+ if (!existsSync(distDir))
39
+ return null;
40
+ try {
41
+ const entries = readdirSync(distDir);
42
+ const callChunks = entries.filter((f) => f.startsWith('call-') && f.endsWith('.js'));
43
+ for (const chunk of callChunks) {
44
+ const result = await tryImportCallGateway(join(distDir, chunk));
45
+ if (result)
46
+ return result;
47
+ }
48
+ }
49
+ catch { /* readdir/import failed */ }
50
+ return null;
51
+ }
17
52
  /**
18
53
  * Attempt to resolve OpenClaw's callGateway function from the running process.
19
54
  *
20
55
  * Tries multiple strategies:
21
- * 1. Walk up from process.argv[1] (the gateway entry point) to find gateway/call.js
22
- * 2. Check well-known global install paths
56
+ * 1. Walk up from process.argv[1] to find gateway/call.js (tsc layout)
57
+ * 2. Walk up from process.argv[1] to scan call-*.js chunks (tsdown layout)
58
+ * 3. Check well-known global install paths (both tsc and tsdown layouts)
23
59
  *
24
60
  * Returns null if resolution fails — caller should degrade gracefully.
25
61
  */
@@ -28,15 +64,13 @@ export async function resolveCallGateway() {
28
64
  if (mainScript) {
29
65
  let dir = dirname(mainScript);
30
66
  for (let i = 0; i < 6; i++) {
31
- const candidate = join(dir, 'gateway', 'call.js');
32
- if (existsSync(candidate)) {
33
- try {
34
- const mod = await import(`file://${candidate}`);
35
- if (typeof mod.callGateway === 'function')
36
- return mod.callGateway;
37
- }
38
- catch { /* continue to next candidate */ }
39
- }
67
+ const tscCandidate = join(dir, 'gateway', 'call.js');
68
+ const result = await tryImportCallGateway(tscCandidate);
69
+ if (result)
70
+ return result;
71
+ const bundledResult = await scanBundledChunks(dir);
72
+ if (bundledResult)
73
+ return bundledResult;
40
74
  const parent = dirname(dir);
41
75
  if (parent === dir)
42
76
  break;
@@ -44,22 +78,22 @@ export async function resolveCallGateway() {
44
78
  }
45
79
  }
46
80
  const home = process.env.HOME ?? '/root';
47
- const packageNames = ['openclaw'];
81
+ const packageNames = ['openclaw', 'clawdbot'];
48
82
  const globalRoots = [
49
83
  '/usr/lib/node_modules',
50
84
  '/usr/local/lib/node_modules',
51
85
  join(home, '.local', 'lib', 'node_modules'),
52
86
  ];
53
- const wellKnownPaths = globalRoots.flatMap((root) => packageNames.map((pkg) => join(root, pkg, 'dist', 'gateway', 'call.js')));
54
- for (const p of wellKnownPaths) {
55
- if (!existsSync(p))
56
- continue;
57
- try {
58
- const mod = await import(`file://${p}`);
59
- if (typeof mod.callGateway === 'function')
60
- return mod.callGateway;
87
+ for (const root of globalRoots) {
88
+ for (const pkg of packageNames) {
89
+ const tscPath = join(root, pkg, 'dist', 'gateway', 'call.js');
90
+ const result = await tryImportCallGateway(tscPath);
91
+ if (result)
92
+ return result;
93
+ const bundledResult = await scanBundledChunks(join(root, pkg, 'dist'));
94
+ if (bundledResult)
95
+ return bundledResult;
61
96
  }
62
- catch { /* continue to next path */ }
63
97
  }
64
98
  return null;
65
99
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gateway-client.js","sourceRoot":"","sources":["../src/gateway-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway-client.js","sourceRoot":"","sources":["../src/gateway-client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -41,4 +41,8 @@ export { GRILLO_CARD, JESSIE_CARD, NOAH_CARD, NOLE_CARD, MIGHTY_MARK_CARD, SAM_C
41
41
  export { createDualFormatReport, type DualFormatReport, type DualFormatOptions, } from './utils/dual-format-report.js';
42
42
  export { buildContextGate, extractCriticalRules, type ContextGateConfig, type ContextGateResult, } from './utils/context-gate.js';
43
43
  export { runSafetyGate, type SafetyStep, type SafetyGateResult, } from './utils/safety-gate.js';
44
+ export { MemoryType, MEMORY_TYPE_VALUES, isMemoryType } from './memory-types.js';
45
+ export { WikiCategory, WIKI_CATEGORY_VALUES, isWikiCategory, WIKI_STALENESS_DEFAULTS, JESSIE_CATEGORIES, NOLE_CATEGORIES, } from './wiki-categories.js';
46
+ export { FleetMemoryQueryEngine, FleetMemoryAccessDeniedError, isAuthorizedCaller, } from './fleet-memory-query.js';
47
+ export type { FleetMemoryCallerRole, FleetMemorySearchInput, FleetMemorySearchOutput, FleetMemoryResult, FleetMemoryQueryAuditEntry, FleetMemoryQueryChainState, FleetMemoryQueryConfig, } from './fleet-memory-query.js';
44
48
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -34,4 +34,10 @@ export { GRILLO_CARD, JESSIE_CARD, NOAH_CARD, NOLE_CARD, MIGHTY_MARK_CARD, SAM_C
34
34
  export { createDualFormatReport, } from './utils/dual-format-report.js';
35
35
  export { buildContextGate, extractCriticalRules, } from './utils/context-gate.js';
36
36
  export { runSafetyGate, } from './utils/safety-gate.js';
37
+ // Memory Type Taxonomy (SPEC-fleet-memory-intelligence-upgrade-v1.2 §4)
38
+ export { MemoryType, MEMORY_TYPE_VALUES, isMemoryType } from './memory-types.js';
39
+ // Wiki Category Taxonomy (SPEC-fleet-knowledge-base-v1.2 §3.2.2)
40
+ export { WikiCategory, WIKI_CATEGORY_VALUES, isWikiCategory, WIKI_STALENESS_DEFAULTS, JESSIE_CATEGORIES, NOLE_CATEGORIES, } from './wiki-categories.js';
41
+ // Cross-Agent Memory Query (SPEC-fleet-memory-intelligence-upgrade-v1.2 §3)
42
+ export { FleetMemoryQueryEngine, FleetMemoryAccessDeniedError, isAuthorizedCaller, } from './fleet-memory-query.js';
37
43
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACpH,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACzJ,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AA+D1B,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE5E,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,sBAAsB,GAGvB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,GAGrB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,aAAa,GAGd,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACpH,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACzJ,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AA+D1B,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE5E,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,sBAAsB,GAGvB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,GAGrB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,aAAa,GAGd,MAAM,wBAAwB,CAAC;AAEhC,wEAAwE;AACxE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjF,iEAAiE;AACjE,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAE9B,4EAA4E;AAC5E,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,kBAAkB,GACnB,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @aiassesstech/fleet-bus — Standardized Memory Type Taxonomy
3
+ *
4
+ * Closed enum covering all memory types produced by the six fleet agents.
5
+ * Per SPEC-fleet-memory-intelligence-upgrade-v1.2 (BB Amendment 3):
6
+ * the enum is deliberately closed. New types require a spec revision,
7
+ * not runtime registration — patent filings describe the assessment
8
+ * hierarchy in precise terms, and taxonomy drift would undermine
9
+ * the structured audit trail.
10
+ *
11
+ * 15 types. Not 5 (oversimplified) and not unlimited (ad-hoc sprawl).
12
+ */
13
+ export declare enum MemoryType {
14
+ DECISION = "decision",
15
+ DELEGATION = "delegation",
16
+ DIRECTIVE = "directive",
17
+ INCIDENT = "incident",
18
+ HEALTH = "health",
19
+ ENGINEERING = "engineering",
20
+ ASSESSMENT = "assessment",
21
+ DEVIATION = "deviation",
22
+ GOVERNANCE = "governance",
23
+ FINANCIAL = "financial",
24
+ BRIEFING = "briefing",
25
+ DISCOVERY = "discovery",
26
+ TREND = "trend",
27
+ AUDIT = "audit",
28
+ COMMUNICATION = "communication"
29
+ }
30
+ /** All valid MemoryType values as a readonly set for runtime validation. */
31
+ export declare const MEMORY_TYPE_VALUES: ReadonlySet<string>;
32
+ /**
33
+ * Check whether a string is a valid MemoryType.
34
+ * Used by MemoryWriter to accept legacy ad-hoc type strings
35
+ * without crashing (string fallback per spec §4.3 step 4).
36
+ */
37
+ export declare function isMemoryType(value: string): value is MemoryType;
38
+ //# sourceMappingURL=memory-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-types.d.ts","sourceRoot":"","sources":["../src/memory-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,oBAAY,UAAU;IAEpB,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,SAAS,cAAc;IAGvB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,WAAW,gBAAgB;IAG3B,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,UAAU,eAAe;IAGzB,SAAS,cAAc;IAGvB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,KAAK,UAAU;IAGf,KAAK,UAAU;IACf,aAAa,kBAAkB;CAChC;AAED,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAElD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,UAAU,CAE/D"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @aiassesstech/fleet-bus — Standardized Memory Type Taxonomy
3
+ *
4
+ * Closed enum covering all memory types produced by the six fleet agents.
5
+ * Per SPEC-fleet-memory-intelligence-upgrade-v1.2 (BB Amendment 3):
6
+ * the enum is deliberately closed. New types require a spec revision,
7
+ * not runtime registration — patent filings describe the assessment
8
+ * hierarchy in precise terms, and taxonomy drift would undermine
9
+ * the structured audit trail.
10
+ *
11
+ * 15 types. Not 5 (oversimplified) and not unlimited (ad-hoc sprawl).
12
+ */
13
+ export var MemoryType;
14
+ (function (MemoryType) {
15
+ // Command & Control
16
+ MemoryType["DECISION"] = "decision";
17
+ MemoryType["DELEGATION"] = "delegation";
18
+ MemoryType["DIRECTIVE"] = "directive";
19
+ // Operational
20
+ MemoryType["INCIDENT"] = "incident";
21
+ MemoryType["HEALTH"] = "health";
22
+ MemoryType["ENGINEERING"] = "engineering";
23
+ // Assessment & Governance
24
+ MemoryType["ASSESSMENT"] = "assessment";
25
+ MemoryType["DEVIATION"] = "deviation";
26
+ MemoryType["GOVERNANCE"] = "governance";
27
+ // Financial (BB Amendment 3)
28
+ MemoryType["FINANCIAL"] = "financial";
29
+ // Intelligence
30
+ MemoryType["BRIEFING"] = "briefing";
31
+ MemoryType["DISCOVERY"] = "discovery";
32
+ MemoryType["TREND"] = "trend";
33
+ // Meta
34
+ MemoryType["AUDIT"] = "audit";
35
+ MemoryType["COMMUNICATION"] = "communication";
36
+ })(MemoryType || (MemoryType = {}));
37
+ /** All valid MemoryType values as a readonly set for runtime validation. */
38
+ export const MEMORY_TYPE_VALUES = new Set(Object.values(MemoryType));
39
+ /**
40
+ * Check whether a string is a valid MemoryType.
41
+ * Used by MemoryWriter to accept legacy ad-hoc type strings
42
+ * without crashing (string fallback per spec §4.3 step 4).
43
+ */
44
+ export function isMemoryType(value) {
45
+ return MEMORY_TYPE_VALUES.has(value);
46
+ }
47
+ //# sourceMappingURL=memory-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-types.js","sourceRoot":"","sources":["../src/memory-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,CAAN,IAAY,UA2BX;AA3BD,WAAY,UAAU;IACpB,oBAAoB;IACpB,mCAAqB,CAAA;IACrB,uCAAyB,CAAA;IACzB,qCAAuB,CAAA;IAEvB,cAAc;IACd,mCAAqB,CAAA;IACrB,+BAAiB,CAAA;IACjB,yCAA2B,CAAA;IAE3B,0BAA0B;IAC1B,uCAAyB,CAAA;IACzB,qCAAuB,CAAA;IACvB,uCAAyB,CAAA;IAEzB,6BAA6B;IAC7B,qCAAuB,CAAA;IAEvB,eAAe;IACf,mCAAqB,CAAA;IACrB,qCAAuB,CAAA;IACvB,6BAAe,CAAA;IAEf,OAAO;IACP,6BAAe,CAAA;IACf,6CAA+B,CAAA;AACjC,CAAC,EA3BW,UAAU,KAAV,UAAU,QA2BrB;AAED,4EAA4E;AAC5E,MAAM,CAAC,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAC5D,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAC1B,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @aiassesstech/fleet-bus — Wiki Category Taxonomy
3
+ *
4
+ * Separate from MemoryType (raw event records). WikiCategory is for
5
+ * synthesized institutional knowledge articles compiled from raw signals.
6
+ * Per SPEC-fleet-knowledge-base-v1.2 (BB Amendment 7, closing OQ2):
7
+ * wiki articles are compiled knowledge, not raw events — forcing them
8
+ * into MemoryType would corrupt cross-agent search results.
9
+ *
10
+ * 12 categories: 6 for Jessie (fleet command intelligence),
11
+ * 6 for Nole (market intelligence).
12
+ */
13
+ export declare enum WikiCategory {
14
+ FLEET_HEALTH_PATTERNS = "fleet-health-patterns",
15
+ DECISION_PATTERNS = "decision-patterns",
16
+ AGENT_PROFILE = "agent-profile",
17
+ RECURRING_ISSUES = "recurring-issues",
18
+ STRATEGIC_CONTEXT = "strategic-context",
19
+ WEEKLY_SYNTHESIS = "weekly-synthesis",
20
+ COMPETITIVE_LANDSCAPE = "competitive-landscape",
21
+ TRUST_SENTIMENT = "trust-sentiment",
22
+ ECOSYSTEM_MAP = "ecosystem-map",
23
+ PROSPECT_PROFILE = "prospect-profile",
24
+ MARKET_TREND = "market-trend",
25
+ WEEKLY_INTEL = "weekly-intel"
26
+ }
27
+ export declare const WIKI_CATEGORY_VALUES: ReadonlySet<string>;
28
+ export declare function isWikiCategory(value: string): value is WikiCategory;
29
+ /**
30
+ * Category-aware staleness defaults (days).
31
+ * Per SPEC-fleet-knowledge-base-v1.2 §5.1.1 (BB Amendment 8).
32
+ * Market intelligence decays faster; strategic context stabilizes over weeks.
33
+ */
34
+ export declare const WIKI_STALENESS_DEFAULTS: Readonly<Record<WikiCategory, number>>;
35
+ /** Jessie's subset of categories. */
36
+ export declare const JESSIE_CATEGORIES: readonly WikiCategory[];
37
+ /** Nole's subset of categories. */
38
+ export declare const NOLE_CATEGORIES: readonly WikiCategory[];
39
+ //# sourceMappingURL=wiki-categories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiki-categories.d.ts","sourceRoot":"","sources":["../src/wiki-categories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,oBAAY,YAAY;IAEtB,qBAAqB,0BAA0B;IAC/C,iBAAiB,sBAAsB;IACvC,aAAa,kBAAkB;IAC/B,gBAAgB,qBAAqB;IACrC,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IAGrC,qBAAqB,0BAA0B;IAC/C,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,gBAAgB,qBAAqB;IACrC,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;CAC9B;AAED,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAEpD,CAAC;AAEF,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,YAAY,CAEnE;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAa1E,CAAC;AAEF,qCAAqC;AACrC,eAAO,MAAM,iBAAiB,EAAE,SAAS,YAAY,EAOpD,CAAC;AAEF,mCAAmC;AACnC,eAAO,MAAM,eAAe,EAAE,SAAS,YAAY,EAOlD,CAAC"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * @aiassesstech/fleet-bus — Wiki Category Taxonomy
3
+ *
4
+ * Separate from MemoryType (raw event records). WikiCategory is for
5
+ * synthesized institutional knowledge articles compiled from raw signals.
6
+ * Per SPEC-fleet-knowledge-base-v1.2 (BB Amendment 7, closing OQ2):
7
+ * wiki articles are compiled knowledge, not raw events — forcing them
8
+ * into MemoryType would corrupt cross-agent search results.
9
+ *
10
+ * 12 categories: 6 for Jessie (fleet command intelligence),
11
+ * 6 for Nole (market intelligence).
12
+ */
13
+ export var WikiCategory;
14
+ (function (WikiCategory) {
15
+ // Jessie — fleet command intelligence
16
+ WikiCategory["FLEET_HEALTH_PATTERNS"] = "fleet-health-patterns";
17
+ WikiCategory["DECISION_PATTERNS"] = "decision-patterns";
18
+ WikiCategory["AGENT_PROFILE"] = "agent-profile";
19
+ WikiCategory["RECURRING_ISSUES"] = "recurring-issues";
20
+ WikiCategory["STRATEGIC_CONTEXT"] = "strategic-context";
21
+ WikiCategory["WEEKLY_SYNTHESIS"] = "weekly-synthesis";
22
+ // Nole — market intelligence
23
+ WikiCategory["COMPETITIVE_LANDSCAPE"] = "competitive-landscape";
24
+ WikiCategory["TRUST_SENTIMENT"] = "trust-sentiment";
25
+ WikiCategory["ECOSYSTEM_MAP"] = "ecosystem-map";
26
+ WikiCategory["PROSPECT_PROFILE"] = "prospect-profile";
27
+ WikiCategory["MARKET_TREND"] = "market-trend";
28
+ WikiCategory["WEEKLY_INTEL"] = "weekly-intel";
29
+ })(WikiCategory || (WikiCategory = {}));
30
+ export const WIKI_CATEGORY_VALUES = new Set(Object.values(WikiCategory));
31
+ export function isWikiCategory(value) {
32
+ return WIKI_CATEGORY_VALUES.has(value);
33
+ }
34
+ /**
35
+ * Category-aware staleness defaults (days).
36
+ * Per SPEC-fleet-knowledge-base-v1.2 §5.1.1 (BB Amendment 8).
37
+ * Market intelligence decays faster; strategic context stabilizes over weeks.
38
+ */
39
+ export const WIKI_STALENESS_DEFAULTS = {
40
+ [WikiCategory.MARKET_TREND]: 3,
41
+ [WikiCategory.TRUST_SENTIMENT]: 5,
42
+ [WikiCategory.PROSPECT_PROFILE]: 7,
43
+ [WikiCategory.FLEET_HEALTH_PATTERNS]: 7,
44
+ [WikiCategory.COMPETITIVE_LANDSCAPE]: 14,
45
+ [WikiCategory.DECISION_PATTERNS]: 14,
46
+ [WikiCategory.RECURRING_ISSUES]: 14,
47
+ [WikiCategory.ECOSYSTEM_MAP]: 14,
48
+ [WikiCategory.AGENT_PROFILE]: 21,
49
+ [WikiCategory.STRATEGIC_CONTEXT]: 30,
50
+ [WikiCategory.WEEKLY_SYNTHESIS]: 8,
51
+ [WikiCategory.WEEKLY_INTEL]: 8,
52
+ };
53
+ /** Jessie's subset of categories. */
54
+ export const JESSIE_CATEGORIES = [
55
+ WikiCategory.FLEET_HEALTH_PATTERNS,
56
+ WikiCategory.DECISION_PATTERNS,
57
+ WikiCategory.AGENT_PROFILE,
58
+ WikiCategory.RECURRING_ISSUES,
59
+ WikiCategory.STRATEGIC_CONTEXT,
60
+ WikiCategory.WEEKLY_SYNTHESIS,
61
+ ];
62
+ /** Nole's subset of categories. */
63
+ export const NOLE_CATEGORIES = [
64
+ WikiCategory.COMPETITIVE_LANDSCAPE,
65
+ WikiCategory.TRUST_SENTIMENT,
66
+ WikiCategory.ECOSYSTEM_MAP,
67
+ WikiCategory.PROSPECT_PROFILE,
68
+ WikiCategory.MARKET_TREND,
69
+ WikiCategory.WEEKLY_INTEL,
70
+ ];
71
+ //# sourceMappingURL=wiki-categories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wiki-categories.js","sourceRoot":"","sources":["../src/wiki-categories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,CAAN,IAAY,YAgBX;AAhBD,WAAY,YAAY;IACtB,sCAAsC;IACtC,+DAA+C,CAAA;IAC/C,uDAAuC,CAAA;IACvC,+CAA+B,CAAA;IAC/B,qDAAqC,CAAA;IACrC,uDAAuC,CAAA;IACvC,qDAAqC,CAAA;IAErC,6BAA6B;IAC7B,+DAA+C,CAAA;IAC/C,mDAAmC,CAAA;IACnC,+CAA+B,CAAA;IAC/B,qDAAqC,CAAA;IACrC,6CAA6B,CAAA;IAC7B,6CAA6B,CAAA;AAC/B,CAAC,EAhBW,YAAY,KAAZ,YAAY,QAgBvB;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAC9D,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAC5B,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAO,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAA2C;IAC7E,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;IAC9B,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC;IACjC,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAClC,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE,CAAC;IACvC,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE,EAAE;IACxC,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE;IACpC,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE,EAAE;IACnC,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,EAAE;IAChC,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,EAAE;IAChC,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE,EAAE;IACpC,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAClC,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;CAC/B,CAAC;AAEF,qCAAqC;AACrC,MAAM,CAAC,MAAM,iBAAiB,GAA4B;IACxD,YAAY,CAAC,qBAAqB;IAClC,YAAY,CAAC,iBAAiB;IAC9B,YAAY,CAAC,aAAa;IAC1B,YAAY,CAAC,gBAAgB;IAC7B,YAAY,CAAC,iBAAiB;IAC9B,YAAY,CAAC,gBAAgB;CAC9B,CAAC;AAEF,mCAAmC;AACnC,MAAM,CAAC,MAAM,eAAe,GAA4B;IACtD,YAAY,CAAC,qBAAqB;IAClC,YAAY,CAAC,eAAe;IAC5B,YAAY,CAAC,aAAa;IAC1B,YAAY,CAAC,gBAAgB;IAC7B,YAAY,CAAC,YAAY;IACzB,YAAY,CAAC,YAAY;CAC1B,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aiassesstech/fleet-bus",
3
- "version": "0.4.2",
4
- "description": "Fleet communication infrastructure for AI Assess Tech governance agents typed messaging, routing rules, audit trail, Agent Cards.",
3
+ "version": "0.5.0",
4
+ "description": "Fleet communication infrastructure for AI Assess Tech governance agents \u2014 typed messaging, routing rules, audit trail, Agent Cards.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",