cognitive-kit 1.0.0-alpha.1
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/LICENSE +21 -0
- package/README.md +110 -0
- package/cli-wrapper.cjs +5 -0
- package/dist/Kit.d.ts +52 -0
- package/dist/Kit.js +250 -0
- package/dist/Kit.js.map +1 -0
- package/dist/agencies/AgencyOrchestrator.d.ts +24 -0
- package/dist/agencies/AgencyOrchestrator.js +219 -0
- package/dist/agencies/AgencyOrchestrator.js.map +1 -0
- package/dist/agencies/AgencyRegistry.d.ts +13 -0
- package/dist/agencies/AgencyRegistry.js +172 -0
- package/dist/agencies/AgencyRegistry.js.map +1 -0
- package/dist/agencies/AgentDefinition.d.ts +35 -0
- package/dist/agencies/AgentDefinition.js +2 -0
- package/dist/agencies/AgentDefinition.js.map +1 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +34 -0
- package/dist/cli.js.map +1 -0
- package/dist/config/ConfigurationManager.d.ts +24 -0
- package/dist/config/ConfigurationManager.js +74 -0
- package/dist/config/ConfigurationManager.js.map +1 -0
- package/dist/federation/FederationClient.d.ts +20 -0
- package/dist/federation/FederationClient.js +122 -0
- package/dist/federation/FederationClient.js.map +1 -0
- package/dist/federation/FederationManager.d.ts +30 -0
- package/dist/federation/FederationManager.js +96 -0
- package/dist/federation/FederationManager.js.map +1 -0
- package/dist/federation/FederationProtocol.d.ts +45 -0
- package/dist/federation/FederationProtocol.js +18 -0
- package/dist/federation/FederationProtocol.js.map +1 -0
- package/dist/federation/FederationServer.d.ts +20 -0
- package/dist/federation/FederationServer.js +193 -0
- package/dist/federation/FederationServer.js.map +1 -0
- package/dist/forge/ForgeRegistry.d.ts +25 -0
- package/dist/forge/ForgeRegistry.js +60 -0
- package/dist/forge/ForgeRegistry.js.map +1 -0
- package/dist/forge/PatternDetector.d.ts +38 -0
- package/dist/forge/PatternDetector.js +75 -0
- package/dist/forge/PatternDetector.js.map +1 -0
- package/dist/forge/SkillForger.d.ts +12 -0
- package/dist/forge/SkillForger.js +78 -0
- package/dist/forge/SkillForger.js.map +1 -0
- package/dist/host/HostAdapter.d.ts +8 -0
- package/dist/host/HostAdapter.js +2 -0
- package/dist/host/HostAdapter.js.map +1 -0
- package/dist/host/adapters/VSCodeAdapter.d.ts +46 -0
- package/dist/host/adapters/VSCodeAdapter.js +158 -0
- package/dist/host/adapters/VSCodeAdapter.js.map +1 -0
- package/dist/identity/IdentityManager.d.ts +18 -0
- package/dist/identity/IdentityManager.js +94 -0
- package/dist/identity/IdentityManager.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.js +38 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/MCPServer.d.ts +25 -0
- package/dist/mcp/MCPServer.js +147 -0
- package/dist/mcp/MCPServer.js.map +1 -0
- package/dist/mcp/ToolRegistry.d.ts +12 -0
- package/dist/mcp/ToolRegistry.js +45 -0
- package/dist/mcp/ToolRegistry.js.map +1 -0
- package/dist/mcp/transports/DirectTransport.d.ts +12 -0
- package/dist/mcp/transports/DirectTransport.js +25 -0
- package/dist/mcp/transports/DirectTransport.js.map +1 -0
- package/dist/mcp/transports/SSETransport.d.ts +13 -0
- package/dist/mcp/transports/SSETransport.js +77 -0
- package/dist/mcp/transports/SSETransport.js.map +1 -0
- package/dist/mcp/transports/StdioTransport.d.ts +10 -0
- package/dist/mcp/transports/StdioTransport.js +45 -0
- package/dist/mcp/transports/StdioTransport.js.map +1 -0
- package/dist/mcp/transports/Transport.d.ts +11 -0
- package/dist/mcp/transports/Transport.js +2 -0
- package/dist/mcp/transports/Transport.js.map +1 -0
- package/dist/mcp/transports/index.d.ts +4 -0
- package/dist/mcp/transports/index.js +4 -0
- package/dist/mcp/transports/index.js.map +1 -0
- package/dist/memory/MemoryManager.d.ts +17 -0
- package/dist/memory/MemoryManager.js +62 -0
- package/dist/memory/MemoryManager.js.map +1 -0
- package/dist/memory/providers/InMemoryProvider.d.ts +13 -0
- package/dist/memory/providers/InMemoryProvider.js +52 -0
- package/dist/memory/providers/InMemoryProvider.js.map +1 -0
- package/dist/memory/providers/SQLiteProvider.d.ts +17 -0
- package/dist/memory/providers/SQLiteProvider.js +129 -0
- package/dist/memory/providers/SQLiteProvider.js.map +1 -0
- package/dist/security/GuardianGate.d.ts +24 -0
- package/dist/security/GuardianGate.js +105 -0
- package/dist/security/GuardianGate.js.map +1 -0
- package/dist/security/SovereigntyManager.d.ts +46 -0
- package/dist/security/SovereigntyManager.js +111 -0
- package/dist/security/SovereigntyManager.js.map +1 -0
- package/dist/security/StateGuardian.d.ts +40 -0
- package/dist/security/StateGuardian.js +76 -0
- package/dist/security/StateGuardian.js.map +1 -0
- package/dist/security/SynapticFirewall.d.ts +38 -0
- package/dist/security/SynapticFirewall.js +65 -0
- package/dist/security/SynapticFirewall.js.map +1 -0
- package/dist/skills/SkillRegistry.d.ts +15 -0
- package/dist/skills/SkillRegistry.js +135 -0
- package/dist/skills/SkillRegistry.js.map +1 -0
- package/dist/sql.js.d.ts +22 -0
- package/dist/tools/agency/agency_execute.d.ts +3 -0
- package/dist/tools/agency/agency_execute.js +75 -0
- package/dist/tools/agency/agency_execute.js.map +1 -0
- package/dist/tools/agency/meta_orchestrator.d.ts +2 -0
- package/dist/tools/agency/meta_orchestrator.js +118 -0
- package/dist/tools/agency/meta_orchestrator.js.map +1 -0
- package/dist/tools/agency/subagent_protocol.d.ts +2 -0
- package/dist/tools/agency/subagent_protocol.js +114 -0
- package/dist/tools/agency/subagent_protocol.js.map +1 -0
- package/dist/tools/agency/swarm_orchestrator.d.ts +2 -0
- package/dist/tools/agency/swarm_orchestrator.js +125 -0
- package/dist/tools/agency/swarm_orchestrator.js.map +1 -0
- package/dist/tools/analysis/code_archaeologist.d.ts +2 -0
- package/dist/tools/analysis/code_archaeologist.js +214 -0
- package/dist/tools/analysis/code_archaeologist.js.map +1 -0
- package/dist/tools/analysis/consensus_engine.d.ts +2 -0
- package/dist/tools/analysis/consensus_engine.js +178 -0
- package/dist/tools/analysis/consensus_engine.js.map +1 -0
- package/dist/tools/analysis/execution_flow.d.ts +2 -0
- package/dist/tools/analysis/execution_flow.js +204 -0
- package/dist/tools/analysis/execution_flow.js.map +1 -0
- package/dist/tools/analysis/sentiment_adapter.d.ts +2 -0
- package/dist/tools/analysis/sentiment_adapter.js +177 -0
- package/dist/tools/analysis/sentiment_adapter.js.map +1 -0
- package/dist/tools/cognitive/creativity.d.ts +2 -0
- package/dist/tools/cognitive/creativity.js +84 -0
- package/dist/tools/cognitive/creativity.js.map +1 -0
- package/dist/tools/cognitive/planning.d.ts +2 -0
- package/dist/tools/cognitive/planning.js +65 -0
- package/dist/tools/cognitive/planning.js.map +1 -0
- package/dist/tools/cognitive/reasoning.d.ts +2 -0
- package/dist/tools/cognitive/reasoning.js +124 -0
- package/dist/tools/cognitive/reasoning.js.map +1 -0
- package/dist/tools/cognitive/reflection.d.ts +2 -0
- package/dist/tools/cognitive/reflection.js +101 -0
- package/dist/tools/cognitive/reflection.js.map +1 -0
- package/dist/tools/cognitive/research.d.ts +2 -0
- package/dist/tools/cognitive/research.js +49 -0
- package/dist/tools/cognitive/research.js.map +1 -0
- package/dist/tools/federation_tools.d.ts +3 -0
- package/dist/tools/federation_tools.js +98 -0
- package/dist/tools/federation_tools.js.map +1 -0
- package/dist/tools/forge_tools.d.ts +4 -0
- package/dist/tools/forge_tools.js +71 -0
- package/dist/tools/forge_tools.js.map +1 -0
- package/dist/tools/knowledge/context_synth.d.ts +2 -0
- package/dist/tools/knowledge/context_synth.js +199 -0
- package/dist/tools/knowledge/context_synth.js.map +1 -0
- package/dist/tools/knowledge/knowledge_evolve.d.ts +2 -0
- package/dist/tools/knowledge/knowledge_evolve.js +223 -0
- package/dist/tools/knowledge/knowledge_evolve.js.map +1 -0
- package/dist/tools/knowledge/memory_vam.d.ts +2 -0
- package/dist/tools/knowledge/memory_vam.js +148 -0
- package/dist/tools/knowledge/memory_vam.js.map +1 -0
- package/dist/tools/registry.d.ts +24 -0
- package/dist/tools/registry.js +46 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/security/blast_radius.d.ts +2 -0
- package/dist/tools/security/blast_radius.js +106 -0
- package/dist/tools/security/blast_radius.js.map +1 -0
- package/dist/tools/security/ethics_audit.d.ts +2 -0
- package/dist/tools/security/ethics_audit.js +117 -0
- package/dist/tools/security/ethics_audit.js.map +1 -0
- package/dist/tools/security/guardian_tools.d.ts +5 -0
- package/dist/tools/security/guardian_tools.js +104 -0
- package/dist/tools/security/guardian_tools.js.map +1 -0
- package/dist/tools/security/integrity_ledger.d.ts +2 -0
- package/dist/tools/security/integrity_ledger.js +111 -0
- package/dist/tools/security/integrity_ledger.js.map +1 -0
- package/dist/tools/security/red_team.d.ts +2 -0
- package/dist/tools/security/red_team.js +101 -0
- package/dist/tools/security/red_team.js.map +1 -0
- package/dist/tools/security/security_gate.d.ts +2 -0
- package/dist/tools/security/security_gate.js +93 -0
- package/dist/tools/security/security_gate.js.map +1 -0
- package/dist/tools/security/threat_mapper.d.ts +2 -0
- package/dist/tools/security/threat_mapper.js +102 -0
- package/dist/tools/security/threat_mapper.js.map +1 -0
- package/dist/types.d.ts +125 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +81 -0
- package/types/sql.js.d.ts +22 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export interface ToolUsageRecord {
|
|
2
|
+
toolId: string;
|
|
3
|
+
timestamp: number;
|
|
4
|
+
success: boolean;
|
|
5
|
+
params: Record<string, unknown>;
|
|
6
|
+
}
|
|
7
|
+
export interface Pattern {
|
|
8
|
+
id: string;
|
|
9
|
+
toolSequence: string[];
|
|
10
|
+
frequency: number;
|
|
11
|
+
avgConfidence: number;
|
|
12
|
+
firstSeen: number;
|
|
13
|
+
lastSeen: number;
|
|
14
|
+
source: string;
|
|
15
|
+
}
|
|
16
|
+
export declare class PatternDetector {
|
|
17
|
+
private usageHistory;
|
|
18
|
+
private maxHistory;
|
|
19
|
+
private minPatternLength;
|
|
20
|
+
private maxPatternLength;
|
|
21
|
+
private minPatternFrequency;
|
|
22
|
+
recordUsage(toolId: string, success: boolean, params: Record<string, unknown>): void;
|
|
23
|
+
detectPatterns(threshold?: number): Pattern[];
|
|
24
|
+
getTopTools(limit?: number): Array<{
|
|
25
|
+
toolId: string;
|
|
26
|
+
count: number;
|
|
27
|
+
}>;
|
|
28
|
+
getStats(): {
|
|
29
|
+
totalCalls: number;
|
|
30
|
+
uniqueTools: number;
|
|
31
|
+
topTools: Array<{
|
|
32
|
+
toolId: string;
|
|
33
|
+
count: number;
|
|
34
|
+
}>;
|
|
35
|
+
patternsFound: number;
|
|
36
|
+
};
|
|
37
|
+
clear(): void;
|
|
38
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
export class PatternDetector {
|
|
2
|
+
usageHistory = [];
|
|
3
|
+
maxHistory = 500;
|
|
4
|
+
minPatternLength = 2;
|
|
5
|
+
maxPatternLength = 5;
|
|
6
|
+
minPatternFrequency = 2;
|
|
7
|
+
recordUsage(toolId, success, params) {
|
|
8
|
+
this.usageHistory.push({ toolId, timestamp: Date.now(), success, params });
|
|
9
|
+
if (this.usageHistory.length > this.maxHistory) {
|
|
10
|
+
this.usageHistory = this.usageHistory.slice(-this.maxHistory);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
detectPatterns(threshold) {
|
|
14
|
+
const minFreq = threshold ?? this.minPatternFrequency;
|
|
15
|
+
const patterns = [];
|
|
16
|
+
const seen = new Set();
|
|
17
|
+
for (let len = this.minPatternLength; len <= this.maxPatternLength; len++) {
|
|
18
|
+
for (let i = 0; i <= this.usageHistory.length - len; i++) {
|
|
19
|
+
const sequence = this.usageHistory.slice(i, i + len).map(r => r.toolId);
|
|
20
|
+
const key = sequence.join('::');
|
|
21
|
+
if (seen.has(key))
|
|
22
|
+
continue;
|
|
23
|
+
let count = 0;
|
|
24
|
+
let firstSeen = Infinity;
|
|
25
|
+
let lastSeen = 0;
|
|
26
|
+
for (let j = 0; j <= this.usageHistory.length - len; j++) {
|
|
27
|
+
const match = this.usageHistory.slice(j, j + len).every((r, k) => r.toolId === sequence[k]);
|
|
28
|
+
if (match) {
|
|
29
|
+
count++;
|
|
30
|
+
const ts = this.usageHistory[j].timestamp;
|
|
31
|
+
firstSeen = Math.min(firstSeen, ts);
|
|
32
|
+
lastSeen = Math.max(lastSeen, ts);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
if (count >= minFreq) {
|
|
36
|
+
seen.add(key);
|
|
37
|
+
const successCount = count; // reusing
|
|
38
|
+
patterns.push({
|
|
39
|
+
id: `pattern-${Date.now()}-${patterns.length}`,
|
|
40
|
+
toolSequence: sequence,
|
|
41
|
+
frequency: count,
|
|
42
|
+
avgConfidence: parseFloat((count / Math.max(1, this.usageHistory.length / len)).toFixed(3)),
|
|
43
|
+
firstSeen,
|
|
44
|
+
lastSeen,
|
|
45
|
+
source: 'detected',
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return patterns.sort((a, b) => b.frequency - a.frequency).slice(0, 10);
|
|
51
|
+
}
|
|
52
|
+
getTopTools(limit = 5) {
|
|
53
|
+
const freq = new Map();
|
|
54
|
+
for (const r of this.usageHistory) {
|
|
55
|
+
freq.set(r.toolId, (freq.get(r.toolId) ?? 0) + 1);
|
|
56
|
+
}
|
|
57
|
+
return [...freq.entries()]
|
|
58
|
+
.map(([toolId, count]) => ({ toolId, count }))
|
|
59
|
+
.sort((a, b) => b.count - a.count)
|
|
60
|
+
.slice(0, limit);
|
|
61
|
+
}
|
|
62
|
+
getStats() {
|
|
63
|
+
const unique = new Set(this.usageHistory.map(r => r.toolId));
|
|
64
|
+
return {
|
|
65
|
+
totalCalls: this.usageHistory.length,
|
|
66
|
+
uniqueTools: unique.size,
|
|
67
|
+
topTools: this.getTopTools(),
|
|
68
|
+
patternsFound: this.detectPatterns().length,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
clear() {
|
|
72
|
+
this.usageHistory = [];
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=PatternDetector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PatternDetector.js","sourceRoot":"","sources":["../../src/forge/PatternDetector.ts"],"names":[],"mappings":"AAiBA,MAAM,OAAO,eAAe;IAClB,YAAY,GAAsB,EAAE,CAAC;IACrC,UAAU,GAAG,GAAG,CAAC;IACjB,gBAAgB,GAAG,CAAC,CAAC;IACrB,gBAAgB,GAAG,CAAC,CAAC;IACrB,mBAAmB,GAAG,CAAC,CAAC;IAEhC,WAAW,CAAC,MAAc,EAAE,OAAgB,EAAE,MAA+B;QAC3E,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3E,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,cAAc,CAAC,SAAkB;QAC/B,MAAM,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC,mBAAmB,CAAC;QAEtD,MAAM,QAAQ,GAAc,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAE/B,KAAK,IAAI,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,GAAG,IAAI,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE,EAAE,CAAC;YAC1E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACxE,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEhC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,SAAS;gBAE5B,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,IAAI,SAAS,GAAG,QAAQ,CAAC;gBACzB,IAAI,QAAQ,GAAG,CAAC,CAAC;gBAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CACrD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CACnC,CAAC;oBACF,IAAI,KAAK,EAAE,CAAC;wBACV,KAAK,EAAE,CAAC;wBACR,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBAC1C,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;wBACpC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;gBAED,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;oBACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACd,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,UAAU;oBACtC,QAAQ,CAAC,IAAI,CAAC;wBACZ,EAAE,EAAE,WAAW,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC,MAAM,EAAE;wBAC9C,YAAY,EAAE,QAAQ;wBACtB,SAAS,EAAE,KAAK;wBAChB,aAAa,EAAE,UAAU,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;wBAC3F,SAAS;wBACT,QAAQ;wBACR,MAAM,EAAE,UAAU;qBACnB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,WAAW,CAAC,KAAK,GAAG,CAAC;QACnB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;QACvC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAClC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;aACvB,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;aAC7C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,QAAQ;QACN,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;YACpC,WAAW,EAAE,MAAM,CAAC,IAAI;YACxB,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;YAC5B,aAAa,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM;SAC5C,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { SkillDefinition } from '../types.js';
|
|
2
|
+
import type { Pattern } from './PatternDetector.js';
|
|
3
|
+
import type { ToolRegistry } from '../mcp/ToolRegistry.js';
|
|
4
|
+
export declare class SkillForger {
|
|
5
|
+
private toolRegistry;
|
|
6
|
+
private forgeCount;
|
|
7
|
+
constructor(toolRegistry: ToolRegistry);
|
|
8
|
+
forge(pattern: Pattern): SkillDefinition;
|
|
9
|
+
forgeName(pattern: Pattern, index: number): string;
|
|
10
|
+
private inferTopic;
|
|
11
|
+
private generateTriggers;
|
|
12
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
const FORGE_TEMPLATES = [
|
|
2
|
+
{ suffix: 'Analysis Pipeline', category: 'generic/forged', proficiency: 3 },
|
|
3
|
+
{ suffix: 'Workflow', category: 'generic/forged', proficiency: 2 },
|
|
4
|
+
{ suffix: 'Automation', category: 'generic/forged', proficiency: 3 },
|
|
5
|
+
{ suffix: 'Assistant', category: 'generic/forged', proficiency: 2 },
|
|
6
|
+
{ suffix: 'Orchestrator', category: 'generic/forged', proficiency: 4 },
|
|
7
|
+
];
|
|
8
|
+
const TOPIC_INFERRERS = [
|
|
9
|
+
{ keywords: ['code', 'source', 'file', 'function', 'class'], topic: 'Code Analysis' },
|
|
10
|
+
{ keywords: ['security', 'threat', 'vulnerability', 'attack', 'protect'], topic: 'Security Assessment' },
|
|
11
|
+
{ keywords: ['memory', 'store', 'recall', 'vam'], topic: 'Memory Management' },
|
|
12
|
+
{ keywords: ['plan', 'objective', 'goal', 'strategy'], topic: 'Strategic Planning' },
|
|
13
|
+
{ keywords: ['create', 'design', 'idea', 'innovate'], topic: 'Creative Design' },
|
|
14
|
+
{ keywords: ['research', 'investigate', 'explore'], topic: 'Research' },
|
|
15
|
+
{ keywords: ['reason', 'logic', 'think', 'analyze'], topic: 'Logical Analysis' },
|
|
16
|
+
{ keywords: ['consensus', 'vote', 'agree', 'stakeholder'], topic: 'Consensus Building' },
|
|
17
|
+
{ keywords: ['flow', 'process', 'deploy', 'execution'], topic: 'Process Execution' },
|
|
18
|
+
{ keywords: ['ethics', 'audit', 'ethical', 'fair'], topic: 'Ethics & Compliance' },
|
|
19
|
+
];
|
|
20
|
+
export class SkillForger {
|
|
21
|
+
toolRegistry;
|
|
22
|
+
forgeCount = 0;
|
|
23
|
+
constructor(toolRegistry) {
|
|
24
|
+
this.toolRegistry = toolRegistry;
|
|
25
|
+
}
|
|
26
|
+
forge(pattern) {
|
|
27
|
+
const template = FORGE_TEMPLATES[this.forgeCount % FORGE_TEMPLATES.length];
|
|
28
|
+
this.forgeCount++;
|
|
29
|
+
const toolNames = pattern.toolSequence.map(id => {
|
|
30
|
+
const tool = this.toolRegistry.get(id);
|
|
31
|
+
return tool?.name ?? id;
|
|
32
|
+
});
|
|
33
|
+
const topic = this.inferTopic(pattern.toolSequence);
|
|
34
|
+
const triggerWords = this.generateTriggers(pattern.toolSequence, topic);
|
|
35
|
+
const skill = {
|
|
36
|
+
id: `skill-forged-${Date.now()}-${this.forgeCount}`,
|
|
37
|
+
name: `${topic} ${template.suffix}`,
|
|
38
|
+
description: `Auto-forged from pattern: ${toolNames.join(' → ')}. Detected ${pattern.frequency}x across sessions with ${(pattern.avgConfidence * 100).toFixed(0)}% confidence.`,
|
|
39
|
+
category: template.category,
|
|
40
|
+
triggers: triggerWords,
|
|
41
|
+
proficiency: template.proficiency,
|
|
42
|
+
source: 'forged',
|
|
43
|
+
toolsRequired: pattern.toolSequence,
|
|
44
|
+
};
|
|
45
|
+
return skill;
|
|
46
|
+
}
|
|
47
|
+
forgeName(pattern, index) {
|
|
48
|
+
const topic = this.inferTopic(pattern.toolSequence);
|
|
49
|
+
return `${topic} Pipeline v${index + 1}`;
|
|
50
|
+
}
|
|
51
|
+
inferTopic(toolSequence) {
|
|
52
|
+
const allWords = toolSequence.join(' ').toLowerCase();
|
|
53
|
+
for (const { keywords, topic } of TOPIC_INFERRERS) {
|
|
54
|
+
if (keywords.some(k => allWords.includes(k)))
|
|
55
|
+
return topic;
|
|
56
|
+
}
|
|
57
|
+
if (Math.random() > 0.5)
|
|
58
|
+
return 'Multi-Tool';
|
|
59
|
+
const tool = this.toolRegistry.get(toolSequence[0]);
|
|
60
|
+
return tool?.name?.replace(/^cognitive_|^security_|^vscode_/g, '') ?? 'General';
|
|
61
|
+
}
|
|
62
|
+
generateTriggers(toolSequence, topic) {
|
|
63
|
+
const triggers = new Set();
|
|
64
|
+
triggers.add(topic.toLowerCase().split(' ')[0]);
|
|
65
|
+
triggers.add('forge');
|
|
66
|
+
triggers.add('auto');
|
|
67
|
+
for (const id of toolSequence) {
|
|
68
|
+
const tool = this.toolRegistry.get(id);
|
|
69
|
+
if (tool?.name) {
|
|
70
|
+
triggers.add(tool.name.toLowerCase().split(' ').slice(0, 2).join('-'));
|
|
71
|
+
}
|
|
72
|
+
const words = id.split('_').filter(w => w.length > 2);
|
|
73
|
+
words.forEach(w => triggers.add(w));
|
|
74
|
+
}
|
|
75
|
+
return [...triggers].slice(0, 6);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=SkillForger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SkillForger.js","sourceRoot":"","sources":["../../src/forge/SkillForger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { HostProfile, ToolDefinition, HostCapability } from '../types.js';
|
|
2
|
+
export interface HostAdapter {
|
|
3
|
+
readonly profile: HostProfile;
|
|
4
|
+
initialize(): Promise<void>;
|
|
5
|
+
shutdown(): Promise<void>;
|
|
6
|
+
getHostTools(): ToolDefinition[];
|
|
7
|
+
getCapabilities(): HostCapability[];
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HostAdapter.js","sourceRoot":"","sources":["../../src/host/HostAdapter.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { HostAdapter } from '../HostAdapter.js';
|
|
2
|
+
import type { HostProfile, ToolDefinition } from '../../types.js';
|
|
3
|
+
export interface VSCodeAPI {
|
|
4
|
+
workspace?: {
|
|
5
|
+
name?: string;
|
|
6
|
+
rootPath?: string;
|
|
7
|
+
getConfiguration?(section: string): Record<string, unknown>;
|
|
8
|
+
};
|
|
9
|
+
editor?: {
|
|
10
|
+
document?: {
|
|
11
|
+
fileName?: string;
|
|
12
|
+
languageId?: string;
|
|
13
|
+
getText?(): string;
|
|
14
|
+
lineCount?: number;
|
|
15
|
+
};
|
|
16
|
+
selection?: {
|
|
17
|
+
text?: string;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
commands?: {
|
|
21
|
+
executeCommand?(command: string, ...args: unknown[]): Promise<unknown>;
|
|
22
|
+
};
|
|
23
|
+
environment?: {
|
|
24
|
+
machineId?: string;
|
|
25
|
+
sessionId?: string;
|
|
26
|
+
appName?: string;
|
|
27
|
+
appVersion?: string;
|
|
28
|
+
};
|
|
29
|
+
globalState?: {
|
|
30
|
+
get<T>(key: string): T | undefined;
|
|
31
|
+
update(key: string, value: unknown): Promise<void>;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export declare class VSCodeAdapter implements HostAdapter {
|
|
35
|
+
private api;
|
|
36
|
+
constructor(api: VSCodeAPI);
|
|
37
|
+
get profile(): HostProfile;
|
|
38
|
+
initialize(): Promise<void>;
|
|
39
|
+
shutdown(): Promise<void>;
|
|
40
|
+
getHostTools(): ToolDefinition[];
|
|
41
|
+
getCapabilities(): import('../../types.js').HostCapability[];
|
|
42
|
+
private createReadFileTool;
|
|
43
|
+
private createGetSelectionTool;
|
|
44
|
+
private createGetWorkspaceInfoTool;
|
|
45
|
+
private createExecuteCommandTool;
|
|
46
|
+
}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
export class VSCodeAdapter {
|
|
2
|
+
api;
|
|
3
|
+
constructor(api) {
|
|
4
|
+
this.api = api;
|
|
5
|
+
}
|
|
6
|
+
get profile() {
|
|
7
|
+
const env = this.api.environment ?? {};
|
|
8
|
+
const ws = this.api.workspace ?? {};
|
|
9
|
+
return {
|
|
10
|
+
type: 'ide',
|
|
11
|
+
name: env.appName ?? 'VS Code',
|
|
12
|
+
version: env.appVersion ?? 'unknown',
|
|
13
|
+
capabilities: this.getCapabilities(),
|
|
14
|
+
metadata: {
|
|
15
|
+
machineId: env.machineId ?? 'unknown',
|
|
16
|
+
workspaceName: ws.name ?? 'untitled',
|
|
17
|
+
rootPath: ws.rootPath ?? '',
|
|
18
|
+
sessionId: env.sessionId ?? '',
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
async initialize() {
|
|
23
|
+
const ws = this.api.workspace;
|
|
24
|
+
if (ws?.name) {
|
|
25
|
+
console.error(`[cognitive-kit] Initialized for workspace: ${ws.name}`);
|
|
26
|
+
}
|
|
27
|
+
if (this.api.globalState) {
|
|
28
|
+
const lastRun = this.api.globalState.get('cognitive-kit:lastRun');
|
|
29
|
+
console.error(`[cognitive-kit] Last run: ${lastRun ?? 'first time'}`);
|
|
30
|
+
await this.api.globalState.update('cognitive-kit:lastRun', new Date().toISOString());
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
async shutdown() {
|
|
34
|
+
console.error('[cognitive-kit] VSCodeAdapter shutting down');
|
|
35
|
+
}
|
|
36
|
+
getHostTools() {
|
|
37
|
+
const tools = [];
|
|
38
|
+
if (this.api.workspace || this.api.editor) {
|
|
39
|
+
tools.push(this.createReadFileTool());
|
|
40
|
+
tools.push(this.createGetSelectionTool());
|
|
41
|
+
tools.push(this.createGetWorkspaceInfoTool());
|
|
42
|
+
}
|
|
43
|
+
if (this.api.commands) {
|
|
44
|
+
tools.push(this.createExecuteCommandTool());
|
|
45
|
+
}
|
|
46
|
+
return tools;
|
|
47
|
+
}
|
|
48
|
+
getCapabilities() {
|
|
49
|
+
const caps = [];
|
|
50
|
+
if (this.api.workspace)
|
|
51
|
+
caps.push('filesystem');
|
|
52
|
+
if (this.api.editor)
|
|
53
|
+
caps.push('editor');
|
|
54
|
+
if (this.api.commands)
|
|
55
|
+
caps.push('terminal');
|
|
56
|
+
return caps;
|
|
57
|
+
}
|
|
58
|
+
createReadFileTool() {
|
|
59
|
+
return {
|
|
60
|
+
id: 'vscode_read_file',
|
|
61
|
+
name: 'Read File (VS Code)',
|
|
62
|
+
description: 'Read the contents of a file in the current VS Code workspace',
|
|
63
|
+
inputSchema: {
|
|
64
|
+
filePath: { type: 'string', description: 'Relative or absolute file path' },
|
|
65
|
+
},
|
|
66
|
+
category: 'host',
|
|
67
|
+
handler: async (params, _ctx) => {
|
|
68
|
+
const filePath = String(params.filePath || '');
|
|
69
|
+
if (!filePath) {
|
|
70
|
+
return { success: false, data: null, error: 'filePath is required' };
|
|
71
|
+
}
|
|
72
|
+
const root = this.api.workspace?.rootPath ?? '';
|
|
73
|
+
const fullPath = filePath.startsWith('/') || filePath.includes(':')
|
|
74
|
+
? filePath
|
|
75
|
+
: `${root}/${filePath}`;
|
|
76
|
+
try {
|
|
77
|
+
const fs = await import('node:fs/promises');
|
|
78
|
+
const content = await fs.readFile(fullPath, 'utf-8');
|
|
79
|
+
return {
|
|
80
|
+
success: true,
|
|
81
|
+
data: { filePath, content, size: content.length },
|
|
82
|
+
metadata: { path: fullPath },
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
return { success: false, data: null, error: `Cannot read file: ${err instanceof Error ? err.message : String(err)}` };
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
createGetSelectionTool() {
|
|
92
|
+
return {
|
|
93
|
+
id: 'vscode_get_selection',
|
|
94
|
+
name: 'Get Editor Selection (VS Code)',
|
|
95
|
+
description: 'Get the currently selected text in the VS Code editor',
|
|
96
|
+
inputSchema: {},
|
|
97
|
+
category: 'host',
|
|
98
|
+
handler: async (_params, _ctx) => {
|
|
99
|
+
const ed = this.api.editor;
|
|
100
|
+
if (!ed?.document) {
|
|
101
|
+
return { success: false, data: null, error: 'No active editor' };
|
|
102
|
+
}
|
|
103
|
+
const text = ed.selection?.text ?? ed.document.getText?.() ?? '';
|
|
104
|
+
return {
|
|
105
|
+
success: true,
|
|
106
|
+
data: {
|
|
107
|
+
text,
|
|
108
|
+
fileName: ed.document.fileName,
|
|
109
|
+
language: ed.document.languageId,
|
|
110
|
+
lineCount: ed.document.lineCount,
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
},
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
createGetWorkspaceInfoTool() {
|
|
117
|
+
return {
|
|
118
|
+
id: 'vscode_workspace_info',
|
|
119
|
+
name: 'Workspace Info (VS Code)',
|
|
120
|
+
description: 'Get information about the current VS Code workspace',
|
|
121
|
+
inputSchema: {},
|
|
122
|
+
category: 'host',
|
|
123
|
+
handler: async (_params, _ctx) => {
|
|
124
|
+
return {
|
|
125
|
+
success: true,
|
|
126
|
+
data: this.profile,
|
|
127
|
+
};
|
|
128
|
+
},
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
createExecuteCommandTool() {
|
|
132
|
+
return {
|
|
133
|
+
id: 'vscode_execute_command',
|
|
134
|
+
name: 'Execute Command (VS Code)',
|
|
135
|
+
description: 'Execute a VS Code command',
|
|
136
|
+
inputSchema: {
|
|
137
|
+
command: { type: 'string', description: 'VS Code command ID' },
|
|
138
|
+
args: { type: 'array', description: 'Command arguments' },
|
|
139
|
+
},
|
|
140
|
+
category: 'host',
|
|
141
|
+
handler: async (params, _ctx) => {
|
|
142
|
+
const command = String(params.command || '');
|
|
143
|
+
const args = Array.isArray(params.args) ? params.args : [];
|
|
144
|
+
if (!command || !this.api.commands?.executeCommand) {
|
|
145
|
+
return { success: false, data: null, error: 'Command execution not available' };
|
|
146
|
+
}
|
|
147
|
+
try {
|
|
148
|
+
const result = await this.api.commands.executeCommand(command, ...args);
|
|
149
|
+
return { success: true, data: result ?? { executed: command } };
|
|
150
|
+
}
|
|
151
|
+
catch (err) {
|
|
152
|
+
return { success: false, data: null, error: `Command failed: ${err instanceof Error ? err.message : String(err)}` };
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=VSCodeAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VSCodeAdapter.js","sourceRoot":"","sources":["../../../src/host/adapters/VSCodeAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { IdentityClaims, SovereigntyConfig } from '../types.js';
|
|
2
|
+
export declare class IdentityManager {
|
|
3
|
+
private hostId;
|
|
4
|
+
private hostName;
|
|
5
|
+
private hostKey?;
|
|
6
|
+
private permissions;
|
|
7
|
+
constructor(config: SovereigntyConfig);
|
|
8
|
+
get hostIdentity(): IdentityClaims;
|
|
9
|
+
get kitInternalIdentity(): IdentityClaims;
|
|
10
|
+
createAgentIdentity(agentId: string, parentSovereignty: number): IdentityClaims;
|
|
11
|
+
createUserIdentity(userId: string, sovereigntyOverride?: number): IdentityClaims;
|
|
12
|
+
authorize(action: string, resource: string, identity: IdentityClaims): boolean;
|
|
13
|
+
canDelegate(identity: IdentityClaims, requestedSovereignty: number): boolean;
|
|
14
|
+
verifyHostKey(key: string): boolean;
|
|
15
|
+
seal(payload: Record<string, unknown>, identity: IdentityClaims): string;
|
|
16
|
+
get sovereignty(): string;
|
|
17
|
+
private matches;
|
|
18
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
const KIT_INTERNAL_SOVEREIGNTY = 0.5;
|
|
2
|
+
const MAX_SOVEREIGNTY = 1.0;
|
|
3
|
+
const MIN_SOVEREIGNTY = 0.0;
|
|
4
|
+
export class IdentityManager {
|
|
5
|
+
hostId;
|
|
6
|
+
hostName;
|
|
7
|
+
hostKey;
|
|
8
|
+
permissions;
|
|
9
|
+
constructor(config) {
|
|
10
|
+
this.hostId = config.hostId;
|
|
11
|
+
this.hostName = config.hostName;
|
|
12
|
+
this.hostKey = config.hostKey;
|
|
13
|
+
this.permissions = config.permissions ?? [
|
|
14
|
+
{ resource: '*', actions: ['read', 'write', 'execute'], maxWeight: MAX_SOVEREIGNTY },
|
|
15
|
+
];
|
|
16
|
+
}
|
|
17
|
+
get hostIdentity() {
|
|
18
|
+
return {
|
|
19
|
+
actorId: this.hostId,
|
|
20
|
+
actorType: 'host',
|
|
21
|
+
sovereignty: MAX_SOVEREIGNTY,
|
|
22
|
+
permissions: ['admin', 'read', 'write', 'execute'],
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
get kitInternalIdentity() {
|
|
26
|
+
return {
|
|
27
|
+
actorId: 'kit-core',
|
|
28
|
+
actorType: 'kit-internal',
|
|
29
|
+
sovereignty: KIT_INTERNAL_SOVEREIGNTY,
|
|
30
|
+
permissions: ['read', 'execute'],
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
createAgentIdentity(agentId, parentSovereignty) {
|
|
34
|
+
const sovereignty = Math.min(parentSovereignty * 0.8, KIT_INTERNAL_SOVEREIGNTY);
|
|
35
|
+
return {
|
|
36
|
+
actorId: agentId,
|
|
37
|
+
actorType: 'agent',
|
|
38
|
+
sovereignty: Math.max(sovereignty, MIN_SOVEREIGNTY),
|
|
39
|
+
permissions: ['read', 'execute'],
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
createUserIdentity(userId, sovereigntyOverride) {
|
|
43
|
+
return {
|
|
44
|
+
actorId: userId,
|
|
45
|
+
actorType: 'user',
|
|
46
|
+
sovereignty: sovereigntyOverride ?? 0.9,
|
|
47
|
+
permissions: ['read', 'write', 'execute'],
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
authorize(action, resource, identity) {
|
|
51
|
+
if (identity.actorType === 'host')
|
|
52
|
+
return true;
|
|
53
|
+
for (const perm of this.permissions) {
|
|
54
|
+
if (this.matches(resource, perm.resource)) {
|
|
55
|
+
if (perm.actions.includes('admin'))
|
|
56
|
+
return true;
|
|
57
|
+
if (perm.actions.includes(action) && identity.sovereignty <= perm.maxWeight) {
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
canDelegate(identity, requestedSovereignty) {
|
|
65
|
+
return identity.sovereignty >= requestedSovereignty && requestedSovereignty <= KIT_INTERNAL_SOVEREIGNTY;
|
|
66
|
+
}
|
|
67
|
+
verifyHostKey(key) {
|
|
68
|
+
if (!this.hostKey)
|
|
69
|
+
return true;
|
|
70
|
+
return key === this.hostKey;
|
|
71
|
+
}
|
|
72
|
+
seal(payload, identity) {
|
|
73
|
+
const serial = JSON.stringify({ payload, actor: identity.actorId, ts: Date.now() });
|
|
74
|
+
const seed = `${serial}:${this.hostKey ?? 'default-seed'}`;
|
|
75
|
+
let hash = 0;
|
|
76
|
+
for (let i = 0; i < seed.length; i++) {
|
|
77
|
+
const char = seed.charCodeAt(i);
|
|
78
|
+
hash = ((hash << 5) - hash) + char;
|
|
79
|
+
hash |= 0;
|
|
80
|
+
}
|
|
81
|
+
return `kit:${identity.sovereignty.toFixed(2)}:${Math.abs(hash).toString(16).padStart(8, '0')}`;
|
|
82
|
+
}
|
|
83
|
+
get sovereignty() {
|
|
84
|
+
return `host(${this.hostName})@${MAX_SOVEREIGNTY} | kit@${KIT_INTERNAL_SOVEREIGNTY}`;
|
|
85
|
+
}
|
|
86
|
+
matches(resource, pattern) {
|
|
87
|
+
if (pattern === '*')
|
|
88
|
+
return true;
|
|
89
|
+
if (pattern.endsWith('*'))
|
|
90
|
+
return resource.startsWith(pattern.slice(0, -1));
|
|
91
|
+
return resource === pattern;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=IdentityManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IdentityManager.js","sourceRoot":"","sources":["../../src/identity/IdentityManager.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export { CognitiveKit } from './Kit.js';
|
|
2
|
+
export { ConfigurationManager } from './config/ConfigurationManager.js';
|
|
3
|
+
export { IdentityManager } from './identity/IdentityManager.js';
|
|
4
|
+
export { MemoryManager } from './memory/MemoryManager.js';
|
|
5
|
+
export { InMemoryProvider } from './memory/providers/InMemoryProvider.js';
|
|
6
|
+
export { SQLiteProvider } from './memory/providers/SQLiteProvider.js';
|
|
7
|
+
export { ToolRegistry } from './mcp/ToolRegistry.js';
|
|
8
|
+
export { MCPServer } from './mcp/MCPServer.js';
|
|
9
|
+
export type { ToolExecutor } from './mcp/MCPServer.js';
|
|
10
|
+
export { StdioTransport } from './mcp/transports/StdioTransport.js';
|
|
11
|
+
export { SSETransport } from './mcp/transports/SSETransport.js';
|
|
12
|
+
export { DirectTransport } from './mcp/transports/DirectTransport.js';
|
|
13
|
+
export type { Transport } from './mcp/transports/Transport.js';
|
|
14
|
+
export type { HostAdapter } from './host/HostAdapter.js';
|
|
15
|
+
export { VSCodeAdapter } from './host/adapters/VSCodeAdapter.js';
|
|
16
|
+
export { SkillRegistry } from './skills/SkillRegistry.js';
|
|
17
|
+
export { AgencyRegistry } from './agencies/AgencyRegistry.js';
|
|
18
|
+
export { AgencyOrchestrator } from './agencies/AgencyOrchestrator.js';
|
|
19
|
+
export { GuardianGate } from './security/GuardianGate.js';
|
|
20
|
+
export { SovereigntyManager } from './security/SovereigntyManager.js';
|
|
21
|
+
export { SynapticFirewall } from './security/SynapticFirewall.js';
|
|
22
|
+
export { StateGuardian } from './security/StateGuardian.js';
|
|
23
|
+
export { PatternDetector } from './forge/PatternDetector.js';
|
|
24
|
+
export { SkillForger } from './forge/SkillForger.js';
|
|
25
|
+
export { ForgeRegistry } from './forge/ForgeRegistry.js';
|
|
26
|
+
export { FederationManager } from './federation/FederationManager.js';
|
|
27
|
+
export { FederationServer } from './federation/FederationServer.js';
|
|
28
|
+
export { FederationClient } from './federation/FederationClient.js';
|
|
29
|
+
export { builtInCognitiveTools } from './tools/registry.js';
|
|
30
|
+
export type { KitConfig, HostProfile, HostType, HostCapability, ToolDefinition, ToolResult, ToolContext, ToolHandler, MemoryRecord, MemoryQuery, SkillDefinition, IdentityClaims, SovereigntyConfig, StorageConfig, TransportConfig, MemoryProvider, } from './types.js';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// Core
|
|
2
|
+
export { CognitiveKit } from './Kit.js';
|
|
3
|
+
// Config
|
|
4
|
+
export { ConfigurationManager } from './config/ConfigurationManager.js';
|
|
5
|
+
// Identity
|
|
6
|
+
export { IdentityManager } from './identity/IdentityManager.js';
|
|
7
|
+
// Memory
|
|
8
|
+
export { MemoryManager } from './memory/MemoryManager.js';
|
|
9
|
+
export { InMemoryProvider } from './memory/providers/InMemoryProvider.js';
|
|
10
|
+
export { SQLiteProvider } from './memory/providers/SQLiteProvider.js';
|
|
11
|
+
// MCP
|
|
12
|
+
export { ToolRegistry } from './mcp/ToolRegistry.js';
|
|
13
|
+
export { MCPServer } from './mcp/MCPServer.js';
|
|
14
|
+
export { StdioTransport } from './mcp/transports/StdioTransport.js';
|
|
15
|
+
export { SSETransport } from './mcp/transports/SSETransport.js';
|
|
16
|
+
export { DirectTransport } from './mcp/transports/DirectTransport.js';
|
|
17
|
+
export { VSCodeAdapter } from './host/adapters/VSCodeAdapter.js';
|
|
18
|
+
// Skills
|
|
19
|
+
export { SkillRegistry } from './skills/SkillRegistry.js';
|
|
20
|
+
// Agencies
|
|
21
|
+
export { AgencyRegistry } from './agencies/AgencyRegistry.js';
|
|
22
|
+
export { AgencyOrchestrator } from './agencies/AgencyOrchestrator.js';
|
|
23
|
+
// Security
|
|
24
|
+
export { GuardianGate } from './security/GuardianGate.js';
|
|
25
|
+
export { SovereigntyManager } from './security/SovereigntyManager.js';
|
|
26
|
+
export { SynapticFirewall } from './security/SynapticFirewall.js';
|
|
27
|
+
export { StateGuardian } from './security/StateGuardian.js';
|
|
28
|
+
// Forge
|
|
29
|
+
export { PatternDetector } from './forge/PatternDetector.js';
|
|
30
|
+
export { SkillForger } from './forge/SkillForger.js';
|
|
31
|
+
export { ForgeRegistry } from './forge/ForgeRegistry.js';
|
|
32
|
+
// Federation
|
|
33
|
+
export { FederationManager } from './federation/FederationManager.js';
|
|
34
|
+
export { FederationServer } from './federation/FederationServer.js';
|
|
35
|
+
export { FederationClient } from './federation/FederationClient.js';
|
|
36
|
+
// Built-in tool definitions
|
|
37
|
+
export { builtInCognitiveTools } from './tools/registry.js';
|
|
38
|
+
//# sourceMappingURL=index.js.map
|