@aiassesstech/fleet-bus 0.4.3 → 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 +38 -0
- package/dist/fleet-memory-query.d.ts +99 -0
- package/dist/fleet-memory-query.d.ts.map +1 -0
- package/dist/fleet-memory-query.js +251 -0
- package/dist/fleet-memory-query.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/memory-types.d.ts +38 -0
- package/dist/memory-types.d.ts.map +1 -0
- package/dist/memory-types.js +47 -0
- package/dist/memory-types.js.map +1 -0
- package/dist/wiki-categories.d.ts +39 -0
- package/dist/wiki-categories.d.ts.map +1 -0
- package/dist/wiki-categories.js +71 -0
- package/dist/wiki-categories.js.map +1 -0
- package/package.json +2 -2
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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"}
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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
|
-
"description": "Fleet communication infrastructure for AI Assess Tech governance agents
|
|
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",
|