@mandible-ai/mandible 0.3.7 → 0.3.9

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 CHANGED
@@ -288,6 +288,8 @@ Action providers wrap external capabilities into a standard interface for colony
288
288
 
289
289
  The provider assembles context by walking signal lineage (`caused_by` chains), giving the agent full awareness of the work pipeline state.
290
290
 
291
+ See [Action Providers Guide](docs/how-to/action-providers.md) for full configuration reference, output mapping, and context assembly.
292
+
291
293
  ## Signal types
292
294
 
293
295
  Signal types use a `domain:state` convention and support glob patterns for sensing:
@@ -345,7 +347,7 @@ const env = new GitHubEnvironment({
345
347
 
346
348
  ### Writing your own
347
349
 
348
- Implement the `Environment` interface:
350
+ Implement the `Environment` interface (see [Custom Environment Guide](docs/how-to/custom-environment.md) for a full walkthrough):
349
351
 
350
352
  ```typescript
351
353
  interface Environment {
@@ -380,7 +382,7 @@ Built-in hosts: `local()` (in-process), `docker()` (containers). Cloud hosts liv
380
382
 
381
383
  ## Patterns
382
384
 
383
- Reusable coordination patterns built on top of the core primitives.
385
+ Reusable coordination patterns built on top of the core primitives. See [Bridging Signals](docs/how-to/bridge-signals.md) and [Monitoring Trust](docs/how-to/monitor-trust.md) for detailed usage.
384
386
 
385
387
  ### SignalBridge
386
388
 
@@ -399,9 +401,25 @@ const bridge = createBridge({
399
401
  await bridge.start();
400
402
  ```
401
403
 
404
+ ### DebugBridge
405
+
406
+ One-way gate from a signal server into a local environment. Enables ad-hoc testing from the cloud console — deposit a signal in the console and it flows through the WebSocket into the colony's real environment.
407
+
408
+ ```typescript
409
+ import { createDebugBridge } from '@mandible-ai/mandible';
410
+
411
+ const bridge = createDebugBridge({
412
+ url: 'wss://signals.mandible.cloud/ws',
413
+ apiKey: 'mnd_...',
414
+ project: 'my-project',
415
+ environment: localEnv,
416
+ });
417
+ await bridge.start();
418
+ ```
419
+
402
420
  ### Sentinel
403
421
 
404
- Trust monitoring colony that watches an environment for signals with invalid or missing provenance. When violations are detected, the sentinel deposits `trust:violation` report signals that other colonies can react to.
422
+ Trust monitoring colony that watches an environment for signals with invalid or missing provenance. When violations are detected, the sentinel deposits `sentinel:flagged` report signals that other colonies can react to.
405
423
 
406
424
  ```typescript
407
425
  import { createSentinel } from '@mandible-ai/mandible';
@@ -446,6 +464,7 @@ src/
446
464
  context.ts Context assembly from signal lineage
447
465
  patterns/
448
466
  bridge.ts SignalBridge — cross-environment mirroring with attestation
467
+ debug-bridge.ts DebugBridge — signal server → environment gate
449
468
  sentinel.ts Sentinel — trust monitoring and violation reporting
450
469
 
451
470
  tests/
@@ -456,6 +475,13 @@ tests/
456
475
  providers/ Agent, structured output, bash provider tests
457
476
  colonies/ Integration tests for colony workflows
458
477
 
478
+ docs/
479
+ how-to/
480
+ bridge-signals.md SignalBridge + DebugBridge usage guide
481
+ action-providers.md withClaudeCode, withStructuredOutput, withBash reference
482
+ monitor-trust.md Sentinel pattern + trust policies
483
+ custom-environment.md Implementing the Environment interface
484
+
459
485
  examples/
460
486
  code-pipeline/
461
487
  colonies.ts Shared colony definitions (shaper, critic, keeper)
@@ -508,7 +534,7 @@ Both colonies are wired to real Claude agents via `withClaudeCode`. The dashboar
508
534
 
509
535
  - [x] `mandible dev` CLI + live dashboard
510
536
  - [x] `withClaudeCode` wired to Claude Code SDK
511
- - [x] Test suite (462 tests, 95%+ coverage)
537
+ - [x] Test suite (473 tests, 95%+ coverage)
512
538
  - [x] GitHub environment adapter
513
539
  - [x] `mandible()` DSL with Host/Environment separation
514
540
  - [x] `local()` and `docker()` host implementations
@@ -0,0 +1,61 @@
1
+ import type { Environment, Signal, SignalQuery, SignalMeta, Subscription, DecayResult } from '../../core/types.js';
2
+ export interface NetworkEnvironmentConfig {
3
+ /** Signal server WebSocket URL */
4
+ url: string;
5
+ /** API key for authentication */
6
+ apiKey: string;
7
+ /** Project ID for signal isolation */
8
+ project: string;
9
+ /** Human-readable environment name (default: 'network') */
10
+ name?: string;
11
+ /** Auto-reconnect on disconnect (default: true) */
12
+ reconnect?: boolean;
13
+ /** Connection timeout in ms (default: 10000) */
14
+ connectTimeout?: number;
15
+ }
16
+ export declare class NetworkEnvironment implements Environment {
17
+ readonly name: string;
18
+ readonly url: string;
19
+ readonly apiKey: string;
20
+ readonly project: string;
21
+ private shouldReconnect;
22
+ private connectTimeout;
23
+ private ws;
24
+ private connected;
25
+ private intentionalClose;
26
+ private attempt;
27
+ private msgCounter;
28
+ private pingTimer;
29
+ private pongTimer;
30
+ private reconnectTimer;
31
+ private pendingRequests;
32
+ private subscriptions;
33
+ private connectPromise;
34
+ constructor(config: NetworkEnvironmentConfig);
35
+ private ensureConnected;
36
+ private connect;
37
+ private connectWs;
38
+ private startKeepalive;
39
+ private clearTimers;
40
+ private scheduleReconnect;
41
+ private rejectAllPending;
42
+ private nextId;
43
+ private send;
44
+ private request;
45
+ deposit(input: Omit<Signal, 'id' | 'meta'> & {
46
+ meta?: Partial<SignalMeta>;
47
+ }): Promise<Signal>;
48
+ observe(query: SignalQuery): Promise<Signal[]>;
49
+ withdraw(signalId: string): Promise<void>;
50
+ claim(signalId: string, claimant: string, leaseDuration?: number): Promise<boolean>;
51
+ release(signalId: string): Promise<void>;
52
+ watch(query: SignalQuery, callback: (signal: Signal) => void): Subscription;
53
+ history(query: SignalQuery & {
54
+ includeWithdrawn?: boolean;
55
+ }): Promise<Signal[]>;
56
+ decay(): Promise<DecayResult>;
57
+ snapshot(): Promise<Signal[]>;
58
+ /** Disconnect from the signal server and clean up. */
59
+ close(): void;
60
+ }
61
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/environments/network/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EACxE,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,wBAAwB;IACvC,kCAAkC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAcD,qBAAa,kBAAmB,YAAW,WAAW;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,SAAS,CAA+C;IAChE,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,aAAa,CAA+C;IACpE,OAAO,CAAC,cAAc,CAA8B;gBAExC,MAAM,EAAE,wBAAwB;IAa5C,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,OAAO;IAgCf,OAAO,CAAC,SAAS;IAyEjB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,OAAO;IAoBT,OAAO,CACX,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC,GAAG;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;KAAE,GAClE,OAAO,CAAC,MAAM,CAAC;IAYZ,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAS9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKnF,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9C,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,YAAY;IAuCrE,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAO/E,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC;IAK7B,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IASnC,sDAAsD;IACtD,KAAK,IAAI,IAAI;CAYd"}
@@ -0,0 +1,317 @@
1
+ // PURPOSE: NetworkEnvironment — Environment backed by the signal server over WebSocket.
2
+ // PURPOSE: Enables colonies in separate zones to share signals through a common signal server substrate.
3
+ import WebSocket from 'ws';
4
+ const PING_INTERVAL = 30_000;
5
+ const PONG_TIMEOUT = 10_000;
6
+ const MAX_BACKOFF = 30_000;
7
+ const REQUEST_TIMEOUT = 30_000;
8
+ const DEFAULT_CONNECT_TIMEOUT = 10_000;
9
+ export class NetworkEnvironment {
10
+ name;
11
+ url;
12
+ apiKey;
13
+ project;
14
+ shouldReconnect;
15
+ connectTimeout;
16
+ ws = null;
17
+ connected = false;
18
+ intentionalClose = false;
19
+ attempt = 0;
20
+ msgCounter = 0;
21
+ pingTimer = null;
22
+ pongTimer = null;
23
+ reconnectTimer = null;
24
+ pendingRequests = new Map();
25
+ subscriptions = new Map();
26
+ connectPromise = null;
27
+ constructor(config) {
28
+ this.name = config.name ?? 'network';
29
+ this.url = config.url;
30
+ this.apiKey = config.apiKey;
31
+ this.project = config.project;
32
+ this.shouldReconnect = config.reconnect !== false;
33
+ this.connectTimeout = config.connectTimeout ?? DEFAULT_CONNECT_TIMEOUT;
34
+ }
35
+ // ----------------------------------------------------------
36
+ // Connection lifecycle
37
+ // ----------------------------------------------------------
38
+ ensureConnected() {
39
+ if (this.connected && this.ws?.readyState === WebSocket.OPEN) {
40
+ return Promise.resolve();
41
+ }
42
+ if (this.connectPromise)
43
+ return this.connectPromise;
44
+ this.connectPromise = this.connect();
45
+ return this.connectPromise;
46
+ }
47
+ connect() {
48
+ return new Promise((resolve, reject) => {
49
+ let settled = false;
50
+ const timeout = setTimeout(() => {
51
+ if (!settled) {
52
+ settled = true;
53
+ this.connectPromise = null;
54
+ reject(new Error(`[NetworkEnvironment:${this.name}] connection timeout after ${this.connectTimeout}ms`));
55
+ }
56
+ }, this.connectTimeout);
57
+ this.connectWs(() => {
58
+ if (!settled) {
59
+ settled = true;
60
+ clearTimeout(timeout);
61
+ this.connectPromise = null;
62
+ resolve();
63
+ }
64
+ }, (err) => {
65
+ if (!settled) {
66
+ settled = true;
67
+ clearTimeout(timeout);
68
+ this.connectPromise = null;
69
+ reject(err);
70
+ }
71
+ });
72
+ });
73
+ }
74
+ connectWs(onAuthenticated, onFailed) {
75
+ this.intentionalClose = false;
76
+ const socket = new WebSocket(this.url);
77
+ this.ws = socket;
78
+ socket.on('open', () => {
79
+ this.attempt = 0;
80
+ socket.send(JSON.stringify({ type: 'auth', apiKey: this.apiKey, project: this.project }));
81
+ });
82
+ socket.on('message', (raw) => {
83
+ let msg;
84
+ try {
85
+ msg = JSON.parse(typeof raw === 'string' ? raw : raw.toString());
86
+ }
87
+ catch {
88
+ return;
89
+ }
90
+ if (msg.type === 'authenticated') {
91
+ this.connected = true;
92
+ this.startKeepalive(socket);
93
+ onAuthenticated?.();
94
+ }
95
+ else if (msg.type === 'result' && msg.id) {
96
+ const pending = this.pendingRequests.get(msg.id);
97
+ if (pending) {
98
+ this.pendingRequests.delete(msg.id);
99
+ clearTimeout(pending.timer);
100
+ pending.resolve(msg.data);
101
+ }
102
+ }
103
+ else if (msg.type === 'error' && msg.id) {
104
+ const pending = this.pendingRequests.get(msg.id);
105
+ if (pending) {
106
+ this.pendingRequests.delete(msg.id);
107
+ clearTimeout(pending.timer);
108
+ pending.reject(new Error(`${msg.code ?? 'UNKNOWN'}: ${msg.message ?? 'Unknown error'}`));
109
+ }
110
+ }
111
+ else if (msg.type === 'error' && !msg.id) {
112
+ // Broadcast error (e.g. AUTH_FAILED)
113
+ const err = new Error(`${msg.code ?? 'UNKNOWN'}: ${msg.message ?? 'Unknown error'}`);
114
+ onFailed?.(err);
115
+ }
116
+ else if (msg.type === 'signal' && msg.signal) {
117
+ // Push notification from a subscription
118
+ const signal = msg.signal;
119
+ const subId = msg.subscriptionId;
120
+ if (subId && this.subscriptions.has(subId)) {
121
+ this.subscriptions.get(subId)(signal);
122
+ }
123
+ else {
124
+ // Broadcast to all subscriptions (server may not include subscriptionId)
125
+ for (const cb of this.subscriptions.values()) {
126
+ cb(signal);
127
+ }
128
+ }
129
+ }
130
+ });
131
+ socket.on('pong', () => {
132
+ if (this.pongTimer) {
133
+ clearTimeout(this.pongTimer);
134
+ this.pongTimer = null;
135
+ }
136
+ });
137
+ socket.on('error', (err) => {
138
+ const error = err instanceof Error ? err : new Error(String(err));
139
+ onFailed?.(error);
140
+ });
141
+ socket.on('close', () => {
142
+ this.clearTimers();
143
+ this.connected = false;
144
+ this.ws = null;
145
+ this.rejectAllPending('WebSocket closed');
146
+ if (!this.intentionalClose && this.shouldReconnect) {
147
+ this.scheduleReconnect();
148
+ }
149
+ });
150
+ }
151
+ startKeepalive(socket) {
152
+ this.pingTimer = setInterval(() => {
153
+ if (socket.readyState === WebSocket.OPEN) {
154
+ socket.ping();
155
+ this.pongTimer = setTimeout(() => {
156
+ socket.terminate();
157
+ }, PONG_TIMEOUT);
158
+ }
159
+ }, PING_INTERVAL);
160
+ }
161
+ clearTimers() {
162
+ if (this.pingTimer) {
163
+ clearInterval(this.pingTimer);
164
+ this.pingTimer = null;
165
+ }
166
+ if (this.pongTimer) {
167
+ clearTimeout(this.pongTimer);
168
+ this.pongTimer = null;
169
+ }
170
+ if (this.reconnectTimer) {
171
+ clearTimeout(this.reconnectTimer);
172
+ this.reconnectTimer = null;
173
+ }
174
+ }
175
+ scheduleReconnect() {
176
+ const delay = Math.min(1000 * 2 ** this.attempt, MAX_BACKOFF);
177
+ this.attempt++;
178
+ this.reconnectTimer = setTimeout(() => {
179
+ if (!this.intentionalClose) {
180
+ this.connectPromise = this.connect();
181
+ }
182
+ }, delay);
183
+ }
184
+ rejectAllPending(reason) {
185
+ for (const [, pending] of this.pendingRequests) {
186
+ clearTimeout(pending.timer);
187
+ pending.reject(new Error(reason));
188
+ }
189
+ this.pendingRequests.clear();
190
+ }
191
+ // ----------------------------------------------------------
192
+ // RPC helpers
193
+ // ----------------------------------------------------------
194
+ nextId() {
195
+ return `net_${++this.msgCounter}`;
196
+ }
197
+ send(msg) {
198
+ if (this.ws && this.ws.readyState === WebSocket.OPEN) {
199
+ this.ws.send(JSON.stringify(msg));
200
+ }
201
+ }
202
+ request(msg) {
203
+ return new Promise((resolve, reject) => {
204
+ const id = this.nextId();
205
+ const timer = setTimeout(() => {
206
+ this.pendingRequests.delete(id);
207
+ reject(new Error(`Request timed out: ${msg.type}`));
208
+ }, REQUEST_TIMEOUT);
209
+ this.pendingRequests.set(id, {
210
+ resolve: resolve,
211
+ reject,
212
+ timer,
213
+ });
214
+ this.send({ ...msg, id });
215
+ });
216
+ }
217
+ // ----------------------------------------------------------
218
+ // Environment interface
219
+ // ----------------------------------------------------------
220
+ async deposit(input) {
221
+ await this.ensureConnected();
222
+ return this.request({
223
+ type: 'deposit',
224
+ signal: {
225
+ type: input.type,
226
+ payload: input.payload,
227
+ meta: input.meta,
228
+ },
229
+ });
230
+ }
231
+ async observe(query) {
232
+ await this.ensureConnected();
233
+ // Strip function predicates — can't serialize to server
234
+ const { filter, ...serializableQuery } = query;
235
+ const signals = await this.request({ type: 'observe', query: serializableQuery });
236
+ // Apply local filter if provided
237
+ return filter ? signals.filter(filter) : signals;
238
+ }
239
+ async withdraw(signalId) {
240
+ await this.ensureConnected();
241
+ await this.request({ type: 'withdraw', signalId });
242
+ }
243
+ async claim(signalId, claimant, leaseDuration) {
244
+ await this.ensureConnected();
245
+ return this.request({ type: 'claim', signalId, claimant, leaseDuration });
246
+ }
247
+ async release(signalId) {
248
+ await this.ensureConnected();
249
+ await this.request({ type: 'release', signalId });
250
+ }
251
+ watch(query, callback) {
252
+ let subId = null;
253
+ let active = true;
254
+ const { filter, ...serializableQuery } = query;
255
+ const wrappedCb = filter
256
+ ? (signal) => { if (filter(signal))
257
+ callback(signal); }
258
+ : callback;
259
+ const setup = async () => {
260
+ await this.ensureConnected();
261
+ const result = await this.request({
262
+ type: 'subscribe',
263
+ query: serializableQuery,
264
+ });
265
+ if (!active) {
266
+ // Unsubscribed before subscribe completed
267
+ this.request({ type: 'unsubscribe', subscriptionId: result.subscriptionId }).catch(() => { });
268
+ return;
269
+ }
270
+ subId = result.subscriptionId;
271
+ this.subscriptions.set(subId, wrappedCb);
272
+ };
273
+ setup().catch(() => {
274
+ // Connection failed — watch silently fails, will work on reconnect
275
+ });
276
+ return {
277
+ unsubscribe: () => {
278
+ active = false;
279
+ if (subId) {
280
+ this.subscriptions.delete(subId);
281
+ this.request({ type: 'unsubscribe', subscriptionId: subId }).catch(() => { });
282
+ }
283
+ },
284
+ };
285
+ }
286
+ async history(query) {
287
+ await this.ensureConnected();
288
+ const { filter, ...serializableQuery } = query;
289
+ const signals = await this.request({ type: 'history', query: serializableQuery });
290
+ return filter ? signals.filter(filter) : signals;
291
+ }
292
+ async decay() {
293
+ await this.ensureConnected();
294
+ return this.request({ type: 'decay' });
295
+ }
296
+ async snapshot() {
297
+ await this.ensureConnected();
298
+ return this.request({ type: 'snapshot' });
299
+ }
300
+ // ----------------------------------------------------------
301
+ // Lifecycle
302
+ // ----------------------------------------------------------
303
+ /** Disconnect from the signal server and clean up. */
304
+ close() {
305
+ this.intentionalClose = true;
306
+ this.clearTimers();
307
+ this.rejectAllPending('NetworkEnvironment closed');
308
+ this.subscriptions.clear();
309
+ if (this.ws) {
310
+ this.ws.close();
311
+ this.ws = null;
312
+ }
313
+ this.connected = false;
314
+ this.connectPromise = null;
315
+ }
316
+ }
317
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/environments/network/index.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,8 @@ export { FilesystemEnvironment } from './environments/filesystem/index.js';
16
16
  export { DoltEnvironment } from './environments/dolt/index.js';
17
17
  export { GitHubEnvironment } from './environments/github/index.js';
18
18
  export type { GitHubEnvConfig } from './environments/github/index.js';
19
+ export { NetworkEnvironment } from './environments/network/index.js';
20
+ export type { NetworkEnvironmentConfig } from './environments/network/index.js';
19
21
  export { DEFAULT_DECAY_POLICY } from './core/types.js';
20
22
  export { generateIdentity, signSignal, createSigner, verifySignature, verifyAttestationChain, verifySignal, createAttestation, prepareForBridge, canonicalHash, attestationHash, } from './core/attestation.js';
21
23
  export { createBridge } from './patterns/bridge.js';
@@ -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/src/index.js CHANGED
@@ -23,6 +23,7 @@ export { SignalValidationError, validateSignalInput } from './core/validation.js
23
23
  export { FilesystemEnvironment } from './environments/filesystem/index.js';
24
24
  export { DoltEnvironment } from './environments/dolt/index.js';
25
25
  export { GitHubEnvironment } from './environments/github/index.js';
26
+ export { NetworkEnvironment } from './environments/network/index.js';
26
27
  // Default policies
27
28
  export { DEFAULT_DECAY_POLICY } from './core/types.js';
28
29
  // Attestation & signing utilities
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,wBAAwB;AACxB,+DAA+D;AAkC/D,mBAAmB;AACnB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,UAAU,GACX,MAAM,kBAAkB,CAAC;AAE1B,aAAa;AACb,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,iBAAiB;AACjB,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,qDAAqD;AACrD,qDAAqD;AACrD,gFAAgF;AAChF,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGvD,UAAU;AACV,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEjE,eAAe;AACf,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,aAAa;AACb,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAElF,uBAAuB;AACvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAInE,mBAAmB;AACnB,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,kCAAkC;AAClC,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,eAAe,EACf,sBAAsB,EACtB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAE/B,sCAAsC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAG/D,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG5F,mBAAmB;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,wBAAwB;AACxB,+DAA+D;AAkC/D,mBAAmB;AACnB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,UAAU,GACX,MAAM,kBAAkB,CAAC;AAE1B,aAAa;AACb,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,iBAAiB;AACjB,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,qDAAqD;AACrD,qDAAqD;AACrD,gFAAgF;AAChF,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGvD,UAAU;AACV,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEjE,eAAe;AACf,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,aAAa;AACb,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAElF,uBAAuB;AACvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAIrE,mBAAmB;AACnB,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,kCAAkC;AAClC,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,eAAe,EACf,sBAAsB,EACtB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAE/B,sCAAsC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAG/D,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG5F,mBAAmB;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mandible-ai/mandible",
3
- "version": "0.3.7",
3
+ "version": "0.3.9",
4
4
  "description": "Universal stigmergy framework for autonomous agent coordination — like ant colonies using pheromone trails",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",