@claude-flow/plugin-agent-federation 1.0.0-alpha.2

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.
Files changed (70) hide show
  1. package/README.md +45 -0
  2. package/dist/application/federation-coordinator.d.ts +51 -0
  3. package/dist/application/federation-coordinator.d.ts.map +1 -0
  4. package/dist/application/federation-coordinator.js +201 -0
  5. package/dist/application/federation-coordinator.js.map +1 -0
  6. package/dist/application/policy-engine.d.ts +41 -0
  7. package/dist/application/policy-engine.d.ts.map +1 -0
  8. package/dist/application/policy-engine.js +175 -0
  9. package/dist/application/policy-engine.js.map +1 -0
  10. package/dist/application/trust-evaluator.d.ts +42 -0
  11. package/dist/application/trust-evaluator.d.ts.map +1 -0
  12. package/dist/application/trust-evaluator.js +132 -0
  13. package/dist/application/trust-evaluator.js.map +1 -0
  14. package/dist/bin.d.ts +13 -0
  15. package/dist/bin.d.ts.map +1 -0
  16. package/dist/bin.js +189 -0
  17. package/dist/bin.js.map +1 -0
  18. package/dist/cli-commands.d.ts +7 -0
  19. package/dist/cli-commands.d.ts.map +1 -0
  20. package/dist/cli-commands.js +198 -0
  21. package/dist/cli-commands.js.map +1 -0
  22. package/dist/domain/entities/federation-envelope.d.ts +45 -0
  23. package/dist/domain/entities/federation-envelope.d.ts.map +1 -0
  24. package/dist/domain/entities/federation-envelope.js +68 -0
  25. package/dist/domain/entities/federation-envelope.js.map +1 -0
  26. package/dist/domain/entities/federation-node.d.ts +49 -0
  27. package/dist/domain/entities/federation-node.d.ts.map +1 -0
  28. package/dist/domain/entities/federation-node.js +66 -0
  29. package/dist/domain/entities/federation-node.js.map +1 -0
  30. package/dist/domain/entities/federation-session.d.ts +55 -0
  31. package/dist/domain/entities/federation-session.d.ts.map +1 -0
  32. package/dist/domain/entities/federation-session.js +105 -0
  33. package/dist/domain/entities/federation-session.js.map +1 -0
  34. package/dist/domain/entities/trust-level.d.ts +17 -0
  35. package/dist/domain/entities/trust-level.d.ts.map +1 -0
  36. package/dist/domain/entities/trust-level.js +35 -0
  37. package/dist/domain/entities/trust-level.js.map +1 -0
  38. package/dist/domain/services/audit-service.d.ts +69 -0
  39. package/dist/domain/services/audit-service.d.ts.map +1 -0
  40. package/dist/domain/services/audit-service.js +149 -0
  41. package/dist/domain/services/audit-service.js.map +1 -0
  42. package/dist/domain/services/discovery-service.d.ts +51 -0
  43. package/dist/domain/services/discovery-service.d.ts.map +1 -0
  44. package/dist/domain/services/discovery-service.js +140 -0
  45. package/dist/domain/services/discovery-service.js.map +1 -0
  46. package/dist/domain/services/handshake-service.d.ts +48 -0
  47. package/dist/domain/services/handshake-service.d.ts.map +1 -0
  48. package/dist/domain/services/handshake-service.js +94 -0
  49. package/dist/domain/services/handshake-service.js.map +1 -0
  50. package/dist/domain/services/pii-pipeline-service.d.ts +65 -0
  51. package/dist/domain/services/pii-pipeline-service.d.ts.map +1 -0
  52. package/dist/domain/services/pii-pipeline-service.js +208 -0
  53. package/dist/domain/services/pii-pipeline-service.js.map +1 -0
  54. package/dist/domain/services/routing-service.d.ts +51 -0
  55. package/dist/domain/services/routing-service.d.ts.map +1 -0
  56. package/dist/domain/services/routing-service.js +147 -0
  57. package/dist/domain/services/routing-service.js.map +1 -0
  58. package/dist/index.d.ts +14 -0
  59. package/dist/index.d.ts.map +1 -0
  60. package/dist/index.js +14 -0
  61. package/dist/index.js.map +1 -0
  62. package/dist/mcp-tools.d.ts +8 -0
  63. package/dist/mcp-tools.d.ts.map +1 -0
  64. package/dist/mcp-tools.js +217 -0
  65. package/dist/mcp-tools.js.map +1 -0
  66. package/dist/plugin.d.ts +17 -0
  67. package/dist/plugin.d.ts.map +1 -0
  68. package/dist/plugin.js +174 -0
  69. package/dist/plugin.js.map +1 -0
  70. package/package.json +33 -0
package/dist/plugin.js ADDED
@@ -0,0 +1,174 @@
1
+ import { FederationCoordinator } from './application/federation-coordinator.js';
2
+ import { DiscoveryService } from './domain/services/discovery-service.js';
3
+ import { HandshakeService } from './domain/services/handshake-service.js';
4
+ import { RoutingService } from './domain/services/routing-service.js';
5
+ import { AuditService } from './domain/services/audit-service.js';
6
+ import { PIIPipelineService } from './domain/services/pii-pipeline-service.js';
7
+ import { TrustEvaluator } from './application/trust-evaluator.js';
8
+ import { PolicyEngine } from './application/policy-engine.js';
9
+ import { getTrustLevelLabel } from './domain/entities/trust-level.js';
10
+ import { createMcpTools } from './mcp-tools.js';
11
+ import { createCliCommands } from './cli-commands.js';
12
+ export class AgentFederationPlugin {
13
+ name = '@claude-flow/plugin-agent-federation';
14
+ version = '1.0.0-alpha.1';
15
+ description = 'Cross-installation agent federation with PII protection and AI defence';
16
+ author = 'Claude Flow Team';
17
+ dependencies = ['@claude-flow/security', '@claude-flow/aidefence'];
18
+ coordinator = null;
19
+ context = null;
20
+ async initialize(context) {
21
+ this.context = context;
22
+ const config = context.config;
23
+ const nodeId = config['nodeId'] ?? `node-${Date.now().toString(36)}`;
24
+ const endpoint = config['endpoint'] ?? 'ws://localhost:9100';
25
+ const complianceMode = config['complianceMode'] ?? 'none';
26
+ const staticPeers = config['staticPeers'] ?? [];
27
+ const hashSalt = config['hashSalt'] ?? `salt-${nodeId}`;
28
+ const coordConfig = {
29
+ nodeId,
30
+ publicKey: '',
31
+ endpoint,
32
+ capabilities: ['send', 'receive', 'query-redacted', 'status', 'ping', 'discovery'],
33
+ };
34
+ const generateId = () => `${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
35
+ const discovery = new DiscoveryService({
36
+ signManifest: async () => 'stub-signature',
37
+ verifyManifest: async () => true,
38
+ onPeerDiscovered: (node) => {
39
+ context.logger.info(`Peer discovered: ${node.nodeId} at ${node.endpoint}`);
40
+ },
41
+ }, { staticPeers });
42
+ const handshake = new HandshakeService({
43
+ generateSessionId: generateId,
44
+ generateSessionToken: () => `token-${generateId()}`,
45
+ generateNonce: () => `nonce-${Math.random().toString(36).slice(2)}`,
46
+ signChallenge: async (nonce) => `sig-${nonce}`,
47
+ verifySignature: async () => true,
48
+ getLocalNodeId: () => nodeId,
49
+ getLocalPublicKey: () => '',
50
+ getLocalCapabilities: () => coordConfig.capabilities,
51
+ });
52
+ const piiPipeline = new PIIPipelineService({ hashFunction: (val, salt) => `hash-${salt}-${val.slice(0, 4)}` }, { hashSalt });
53
+ const auditEvents = [];
54
+ const audit = new AuditService({
55
+ generateEventId: generateId,
56
+ getLocalNodeId: () => nodeId,
57
+ persistEvent: async (event) => { auditEvents.push(event); },
58
+ queryEvents: async (query) => {
59
+ return auditEvents
60
+ .filter(e => {
61
+ if (query.eventType && e['eventType'] !== query.eventType)
62
+ return false;
63
+ if (query.severity && e['severity'] !== query.severity)
64
+ return false;
65
+ if (query.category && e['category'] !== query.category)
66
+ return false;
67
+ return true;
68
+ })
69
+ .slice(query.offset ?? 0, (query.offset ?? 0) + (query.limit ?? 100));
70
+ },
71
+ onAuditEvent: (event) => {
72
+ context.eventBus.emit('federation:audit', event);
73
+ },
74
+ }, { complianceMode });
75
+ const trustEvaluator = new TrustEvaluator({
76
+ onTrustChange: (nid, result) => {
77
+ context.logger.info(`Trust change for ${nid}: ${getTrustLevelLabel(result.previousLevel)} -> ${getTrustLevelLabel(result.newLevel)}`);
78
+ context.eventBus.emit('federation:trust-change', { nodeId: nid, ...result });
79
+ },
80
+ });
81
+ const policyEngine = new PolicyEngine({ checkClaim: () => true });
82
+ const sessions = new Map();
83
+ const routing = new RoutingService({
84
+ generateEnvelopeId: generateId,
85
+ generateNonce: () => `nonce-${Math.random().toString(36).slice(2)}`,
86
+ signEnvelope: (payload, token) => `hmac-${token.slice(0, 6)}-${payload.length}`,
87
+ verifyEnvelope: () => true,
88
+ scanPii: (text, trustLevel) => {
89
+ const result = piiPipeline.transform(text, trustLevel);
90
+ return {
91
+ transformedText: result.transformedText,
92
+ scanResult: {
93
+ scanned: true,
94
+ piiFound: result.detections.length > 0,
95
+ detections: result.detections.map(d => ({
96
+ type: d.type,
97
+ action: result.actionsApplied.find(a => a.type === d.type)?.action ?? 'pass',
98
+ confidence: d.confidence,
99
+ })),
100
+ actionsApplied: result.actionsApplied.map(a => a.action),
101
+ scanDurationMs: 0,
102
+ },
103
+ };
104
+ },
105
+ sendToNode: async (targetNodeId, envelope) => {
106
+ context.logger.debug(`Sending envelope ${envelope.envelopeId} to ${targetNodeId}`);
107
+ },
108
+ getActiveSessions: () => Array.from(sessions.values()).filter(s => s.active),
109
+ getLocalNodeId: () => nodeId,
110
+ });
111
+ this.coordinator = new FederationCoordinator(coordConfig, discovery, handshake, routing, audit, piiPipeline, trustEvaluator, policyEngine);
112
+ context.services.register('federation:coordinator', this.coordinator);
113
+ context.services.register('federation:discovery', discovery);
114
+ context.services.register('federation:audit', audit);
115
+ context.services.register('federation:pii', piiPipeline);
116
+ context.services.register('federation:trust', trustEvaluator);
117
+ context.services.register('federation:policy', policyEngine);
118
+ context.services.register('federation:routing', routing);
119
+ context.logger.info('Agent Federation plugin initialized');
120
+ }
121
+ async shutdown() {
122
+ if (this.coordinator) {
123
+ await this.coordinator.shutdown();
124
+ this.coordinator = null;
125
+ }
126
+ this.context?.logger.info('Agent Federation plugin shut down');
127
+ this.context = null;
128
+ }
129
+ registerMCPTools() {
130
+ return createMcpTools(() => this.coordinator, () => this.context);
131
+ }
132
+ registerCLICommands() {
133
+ return createCliCommands(() => this.coordinator, () => this.context);
134
+ }
135
+ registerAgentTypes() {
136
+ return [
137
+ {
138
+ type: 'federation-coordinator',
139
+ name: 'Federation Coordinator',
140
+ description: 'Coordinates cross-installation agent federation, managing discovery, handshake, trust evaluation, and secure message routing between federated nodes.',
141
+ defaultConfig: {
142
+ id: '',
143
+ name: 'federation-coordinator',
144
+ type: 'coordinator',
145
+ capabilities: [
146
+ 'federation:discover',
147
+ 'federation:connect',
148
+ 'federation:read',
149
+ 'federation:write',
150
+ 'federation:admin',
151
+ ],
152
+ maxConcurrentTasks: 10,
153
+ priority: 90,
154
+ timeout: 300_000,
155
+ metadata: {
156
+ pluginSource: '@claude-flow/plugin-agent-federation',
157
+ },
158
+ },
159
+ requiredCapabilities: ['federation:discover', 'federation:connect'],
160
+ metadata: {
161
+ trustAware: true,
162
+ piiAware: true,
163
+ },
164
+ },
165
+ ];
166
+ }
167
+ async healthCheck() {
168
+ if (!this.coordinator)
169
+ return false;
170
+ const status = this.coordinator.getStatus();
171
+ return status.healthy;
172
+ }
173
+ }
174
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,qBAAqB,EAAoC,MAAM,yCAAyC,CAAC;AAClH,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAuB,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,YAAY,EAA4B,MAAM,gCAAgC,CAAC;AACxF,OAAO,EAAc,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAElF,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,OAAO,qBAAqB;IACvB,IAAI,GAAG,sCAAsC,CAAC;IAC9C,OAAO,GAAG,eAAe,CAAC;IAC1B,WAAW,GAAG,wEAAwE,CAAC;IACvF,MAAM,GAAG,kBAAkB,CAAC;IAC5B,YAAY,GAAG,CAAC,uBAAuB,EAAE,wBAAwB,CAAC,CAAC;IAEpE,WAAW,GAAiC,IAAI,CAAC;IACjD,OAAO,GAAyB,IAAI,CAAC;IAE7C,KAAK,CAAC,UAAU,CAAC,OAAsB;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAE9B,MAAM,MAAM,GAAI,MAAM,CAAC,QAAQ,CAAY,IAAI,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACjF,MAAM,QAAQ,GAAI,MAAM,CAAC,UAAU,CAAY,IAAI,qBAAqB,CAAC;QACzE,MAAM,cAAc,GAAI,MAAM,CAAC,gBAAgB,CAAoB,IAAI,MAAM,CAAC;QAC9E,MAAM,WAAW,GAAI,MAAM,CAAC,aAAa,CAAc,IAAI,EAAE,CAAC;QAC9D,MAAM,QAAQ,GAAI,MAAM,CAAC,UAAU,CAAY,IAAI,QAAQ,MAAM,EAAE,CAAC;QAEpE,MAAM,WAAW,GAAgC;YAC/C,MAAM;YACN,SAAS,EAAE,EAAE;YACb,QAAQ;YACR,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC;SACnF,CAAC;QAEF,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAEhG,MAAM,SAAS,GAAG,IAAI,gBAAgB,CACpC;YACE,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,gBAAgB;YAC1C,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;YAChC,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,MAAM,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7E,CAAC;SACF,EACD,EAAE,WAAW,EAAE,CAChB,CAAC;QAEF,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC;YACrC,iBAAiB,EAAE,UAAU;YAC7B,oBAAoB,EAAE,GAAG,EAAE,CAAC,SAAS,UAAU,EAAE,EAAE;YACnD,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACnE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE;YAC9C,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;YACjC,cAAc,EAAE,GAAG,EAAE,CAAC,MAAM;YAC5B,iBAAiB,EAAE,GAAG,EAAE,CAAC,EAAE;YAC3B,oBAAoB,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,YAAY;SACrD,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,IAAI,kBAAkB,CACxC,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAClE,EAAE,QAAQ,EAAE,CACb,CAAC;QAEF,MAAM,WAAW,GAAmC,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,YAAY,CAC5B;YACE,eAAe,EAAE,UAAU;YAC3B,cAAc,EAAE,GAAG,EAAE,CAAC,MAAM;YAC5B,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,KAA2C,CAAC,CAAC,CAAC,CAAC;YACjG,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC3B,OAAO,WAAW;qBACf,MAAM,CAAC,CAAC,CAAC,EAAE;oBACV,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,SAAS;wBAAE,OAAO,KAAK,CAAC;oBACxE,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,KAAK,CAAC,QAAQ;wBAAE,OAAO,KAAK,CAAC;oBACrE,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,KAAK,CAAC,QAAQ;wBAAE,OAAO,KAAK,CAAC;oBACrE,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC;qBACD,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC,CAAQ,CAAC;YACjF,CAAC;YACD,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE;gBACtB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;YACnD,CAAC;SACF,EACD,EAAE,cAAc,EAAE,CACnB,CAAC;QAEF,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC;YACxC,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;gBAC7B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,GAAG,KAAK,kBAAkB,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACtI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;YAC/E,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,IAAI,YAAY,CACnC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAC3B,CAAC;QAEF,MAAM,QAAQ,GAAqF,IAAI,GAAG,EAAE,CAAC;QAE7G,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC;YACjC,kBAAkB,EAAE,UAAU;YAC9B,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACnE,YAAY,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE;YAC/E,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI;YAC1B,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE;gBAC5B,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,UAAwB,CAAC,CAAC;gBACrE,OAAO;oBACL,eAAe,EAAE,MAAM,CAAC,eAAe;oBACvC,UAAU,EAAE;wBACV,OAAO,EAAE,IAAI;wBACb,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;wBACtC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;4BACtC,IAAI,EAAE,CAAC,CAAC,IAAI;4BACZ,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,MAAM;4BAC5E,UAAU,EAAE,CAAC,CAAC,UAAU;yBACzB,CAAC,CAAC;wBACH,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;wBACxD,cAAc,EAAE,CAAC;qBAClB;iBACF,CAAC;YACJ,CAAC;YACD,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE;gBAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,QAAQ,CAAC,UAAU,OAAO,YAAY,EAAE,CAAC,CAAC;YACrF,CAAC;YACD,iBAAiB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YAC5E,cAAc,EAAE,GAAG,EAAE,CAAC,MAAM;SAC7B,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,IAAI,qBAAqB,CAC1C,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EACjD,WAAW,EAAE,cAAc,EAAE,YAAY,CAC1C,CAAC;QAEF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACtE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;QAC7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;QACzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;QAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;QAC7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QAEzD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,gBAAgB;QACd,OAAO,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpE,CAAC;IAED,mBAAmB;QACjB,OAAO,iBAAiB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvE,CAAC;IAED,kBAAkB;QAChB,OAAO;YACL;gBACE,IAAI,EAAE,wBAAwB;gBAC9B,IAAI,EAAE,wBAAwB;gBAC9B,WAAW,EAAE,uJAAuJ;gBACpK,aAAa,EAAE;oBACb,EAAE,EAAE,EAAE;oBACN,IAAI,EAAE,wBAAwB;oBAC9B,IAAI,EAAE,aAAa;oBACnB,YAAY,EAAE;wBACZ,qBAAqB;wBACrB,oBAAoB;wBACpB,iBAAiB;wBACjB,kBAAkB;wBAClB,kBAAkB;qBACnB;oBACD,kBAAkB,EAAE,EAAE;oBACtB,QAAQ,EAAE,EAAE;oBACZ,OAAO,EAAE,OAAO;oBAChB,QAAQ,EAAE;wBACR,YAAY,EAAE,sCAAsC;qBACrD;iBACF;gBACD,oBAAoB,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,CAAC;gBACnE,QAAQ,EAAE;oBACR,UAAU,EAAE,IAAI;oBAChB,QAAQ,EAAE,IAAI;iBACf;aACF;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;CACF"}
package/package.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "@claude-flow/plugin-agent-federation",
3
+ "version": "1.0.0-alpha.2",
4
+ "description": "Cross-installation agent federation with zero-trust security, PII-gated data flow, and compliance-grade audit trails.",
5
+ "homepage": "https://github.com/ruvnet/ruflo",
6
+ "type": "module",
7
+ "main": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "bin": {
10
+ "ruflo-federation": "dist/bin.js"
11
+ },
12
+ "files": [
13
+ "dist/**",
14
+ "README.md",
15
+ "LICENSE"
16
+ ],
17
+ "scripts": {
18
+ "build": "tsc",
19
+ "test": "vitest run",
20
+ "test:watch": "vitest",
21
+ "clean": "rm -rf dist"
22
+ },
23
+ "dependencies": {},
24
+ "devDependencies": {
25
+ "@claude-flow/shared": "workspace:*",
26
+ "@claude-flow/security": "workspace:*",
27
+ "typescript": "^5.4.0",
28
+ "vitest": "^1.6.0"
29
+ },
30
+ "keywords": ["federation", "multi-agent", "trust", "pii", "security", "audit", "compliance"],
31
+ "author": "Claude Flow Team",
32
+ "license": "MIT"
33
+ }