@sonde/shared 0.1.0 → 0.1.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 (54) hide show
  1. package/.turbo/turbo-build.log +4 -0
  2. package/.turbo/turbo-test.log +15 -0
  3. package/.turbo/turbo-typecheck.log +4 -0
  4. package/CHANGELOG.md +13 -0
  5. package/dist/crypto/pack-signing.d.ts +18 -0
  6. package/dist/crypto/pack-signing.d.ts.map +1 -0
  7. package/dist/crypto/pack-signing.js +31 -0
  8. package/dist/crypto/pack-signing.js.map +1 -0
  9. package/dist/crypto/pack-signing.test.d.ts +2 -0
  10. package/dist/crypto/pack-signing.test.d.ts.map +1 -0
  11. package/dist/crypto/pack-signing.test.js +61 -0
  12. package/dist/crypto/pack-signing.test.js.map +1 -0
  13. package/dist/crypto/signing.test (# Edit conflict 2026-02-17 HtKiQM9 #).js +57 -0
  14. package/dist/crypto/signing.test.d.ts (# Edit conflict 2026-02-17 EtwzGam #).map +1 -0
  15. package/dist/crypto/signing.test.js (# Edit conflict 2026-02-17 FD0ZiNy #).map +1 -0
  16. package/dist/index.d.ts +3 -1
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +3 -1
  19. package/dist/index.js.map +1 -1
  20. package/dist/schemas/mcp.d.ts +130 -41
  21. package/dist/schemas/mcp.d.ts.map +1 -1
  22. package/dist/schemas/mcp.js +34 -11
  23. package/dist/schemas/mcp.js.map +1 -1
  24. package/dist/schemas/packs.d.ts +19 -15
  25. package/dist/schemas/packs.d.ts.map +1 -1
  26. package/dist/schemas/packs.js +2 -0
  27. package/dist/schemas/packs.js.map +1 -1
  28. package/dist/schemas/probes.d.ts +8 -0
  29. package/dist/schemas/probes.d.ts.map +1 -1
  30. package/dist/schemas/probes.js +4 -0
  31. package/dist/schemas/probes.js.map +1 -1
  32. package/dist/schemas/protocol.d.ts +50 -3
  33. package/dist/schemas/protocol.d.ts.map +1 -1
  34. package/dist/schemas/protocol.js +16 -0
  35. package/dist/schemas/protocol.js.map +1 -1
  36. package/dist/types/common.d.ts +1 -1
  37. package/dist/types/common.d.ts.map +1 -1
  38. package/dist/types/common.js +1 -0
  39. package/dist/types/common.js.map +1 -1
  40. package/dist/types/integrations.d.ts +38 -0
  41. package/dist/types/integrations.d.ts.map +1 -0
  42. package/dist/types/integrations.js +2 -0
  43. package/dist/types/integrations.js.map +1 -0
  44. package/package.json +1 -1
  45. package/src/crypto/pack-signing.test.ts +72 -0
  46. package/src/crypto/pack-signing.ts +36 -0
  47. package/src/index.ts +17 -1
  48. package/src/schemas/mcp.ts +38 -11
  49. package/src/schemas/packs.ts +2 -0
  50. package/src/schemas/probes.ts +4 -0
  51. package/src/schemas/protocol.ts +20 -0
  52. package/src/types/common.ts +1 -0
  53. package/src/types/integrations.ts +53 -0
  54. package/tsconfig.tsbuildinfo +1 -0
@@ -0,0 +1,4 @@
1
+
2
+ > @sonde/shared@0.1.1 build
3
+ > tsc
4
+
@@ -0,0 +1,15 @@
1
+
2
+ > @sonde/shared@0.1.1 test
3
+ > vitest run
4
+
5
+
6
+ RUN v2.1.9 /Users/joshowen/Library/CloudStorage/ProtonDrive-joshowen@protonmail.com-folder/AI/ClaudeCode/sonde/packages/shared
7
+
8
+ ✓ src/crypto/pack-signing.test.ts (5 tests) 7ms
9
+ ✓ src/crypto/signing.test.ts (6 tests) 45ms
10
+
11
+ Test Files 2 passed (2)
12
+ Tests 11 passed (11)
13
+ Start at 13:22:02
14
+ Duration 911ms (transform 49ms, setup 0ms, collect 165ms, tests 52ms, environment 0ms, prepare 515ms)
15
+
@@ -0,0 +1,4 @@
1
+
2
+ > @sonde/shared@0.1.0 typecheck
3
+ > tsc --noEmit
4
+
package/CHANGELOG.md ADDED
@@ -0,0 +1,13 @@
1
+ # @sonde/shared
2
+
3
+ ## 0.1.2
4
+
5
+ ### Patch Changes
6
+
7
+ - updates
8
+
9
+ ## 0.1.1
10
+
11
+ ### Patch Changes
12
+
13
+ - latest updates
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Public key for verifying pack manifest signatures.
3
+ * Populated after running `scripts/generate-pack-keypair.ts`.
4
+ * When empty, verification is skipped (unsigned packs allowed).
5
+ */
6
+ export declare const PACK_SIGNING_PUBLIC_KEY = "";
7
+ /**
8
+ * Sign a pack manifest. Strips the `signature` field before signing.
9
+ * Returns a base64-encoded RSA-SHA256 signature.
10
+ */
11
+ export declare function signPackManifest(manifest: Record<string, unknown>, privateKeyPem: string): string;
12
+ /**
13
+ * Verify a pack manifest signature. Strips the `signature` field before verifying.
14
+ * Uses the embedded public key by default, or a provided one.
15
+ * Returns false if signature is missing or verification fails.
16
+ */
17
+ export declare function verifyPackManifest(manifest: Record<string, unknown>, publicKeyPem?: string): boolean;
18
+ //# sourceMappingURL=pack-signing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pack-signing.d.ts","sourceRoot":"","sources":["../../src/crypto/pack-signing.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAGjG;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAST"}
@@ -0,0 +1,31 @@
1
+ import { signPayload, verifyPayload } from './signing.js';
2
+ /**
3
+ * Public key for verifying pack manifest signatures.
4
+ * Populated after running `scripts/generate-pack-keypair.ts`.
5
+ * When empty, verification is skipped (unsigned packs allowed).
6
+ */
7
+ export const PACK_SIGNING_PUBLIC_KEY = '';
8
+ /**
9
+ * Sign a pack manifest. Strips the `signature` field before signing.
10
+ * Returns a base64-encoded RSA-SHA256 signature.
11
+ */
12
+ export function signPackManifest(manifest, privateKeyPem) {
13
+ const { signature: _, ...rest } = manifest;
14
+ return signPayload(rest, privateKeyPem);
15
+ }
16
+ /**
17
+ * Verify a pack manifest signature. Strips the `signature` field before verifying.
18
+ * Uses the embedded public key by default, or a provided one.
19
+ * Returns false if signature is missing or verification fails.
20
+ */
21
+ export function verifyPackManifest(manifest, publicKeyPem) {
22
+ const key = publicKeyPem ?? PACK_SIGNING_PUBLIC_KEY;
23
+ if (!key)
24
+ return false;
25
+ const sig = manifest.signature;
26
+ if (!sig || typeof sig !== 'string')
27
+ return false;
28
+ const { signature: _, ...rest } = manifest;
29
+ return verifyPayload(rest, sig, key);
30
+ }
31
+ //# sourceMappingURL=pack-signing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pack-signing.js","sourceRoot":"","sources":["../../src/crypto/pack-signing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE1D;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAiC,EAAE,aAAqB;IACvF,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC;IAC3C,OAAO,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;AAC1C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAiC,EACjC,YAAqB;IAErB,MAAM,GAAG,GAAG,YAAY,IAAI,uBAAuB,CAAC;IACpD,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IAEvB,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC;IAC/B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAElD,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC;IAC3C,OAAO,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pack-signing.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pack-signing.test.d.ts","sourceRoot":"","sources":["../../src/crypto/pack-signing.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,61 @@
1
+ import crypto from 'node:crypto';
2
+ import { describe, expect, it } from 'vitest';
3
+ import { signPackManifest, verifyPackManifest } from './pack-signing.js';
4
+ function generateTestKeypair() {
5
+ const { publicKey, privateKey } = crypto.generateKeyPairSync('rsa', {
6
+ modulusLength: 2048,
7
+ publicKeyEncoding: { type: 'spki', format: 'pem' },
8
+ privateKeyEncoding: { type: 'pkcs8', format: 'pem' },
9
+ });
10
+ return { publicKey: publicKey, privateKey: privateKey };
11
+ }
12
+ const testManifest = {
13
+ name: 'system',
14
+ version: '0.1.0',
15
+ description: 'System monitoring probes',
16
+ requires: { groups: [], files: [], commands: [] },
17
+ probes: [
18
+ {
19
+ name: 'disk.usage',
20
+ description: 'Disk usage',
21
+ capability: 'observe',
22
+ timeout: 30000,
23
+ },
24
+ ],
25
+ };
26
+ describe('pack-signing', () => {
27
+ const { publicKey, privateKey } = generateTestKeypair();
28
+ it('should sign and verify a pack manifest', () => {
29
+ const sig = signPackManifest(testManifest, privateKey);
30
+ expect(sig).toBeTruthy();
31
+ expect(typeof sig).toBe('string');
32
+ const signedManifest = { ...testManifest, signature: sig };
33
+ const valid = verifyPackManifest(signedManifest, publicKey);
34
+ expect(valid).toBe(true);
35
+ });
36
+ it('should reject a tampered manifest', () => {
37
+ const sig = signPackManifest(testManifest, privateKey);
38
+ const tampered = { ...testManifest, signature: sig, version: '9.9.9' };
39
+ const valid = verifyPackManifest(tampered, publicKey);
40
+ expect(valid).toBe(false);
41
+ });
42
+ it('should return false for missing signature', () => {
43
+ const valid = verifyPackManifest(testManifest, publicKey);
44
+ expect(valid).toBe(false);
45
+ });
46
+ it('should return false when no public key is available', () => {
47
+ const sig = signPackManifest(testManifest, privateKey);
48
+ const signedManifest = { ...testManifest, signature: sig };
49
+ // No public key passed and PACK_SIGNING_PUBLIC_KEY is empty
50
+ const valid = verifyPackManifest(signedManifest);
51
+ expect(valid).toBe(false);
52
+ });
53
+ it('should ignore existing signature field when signing', () => {
54
+ const manifestWithSig = { ...testManifest, signature: 'old-sig' };
55
+ const sig = signPackManifest(manifestWithSig, privateKey);
56
+ // Should produce same signature as manifest without signature field
57
+ const sigClean = signPackManifest(testManifest, privateKey);
58
+ expect(sig).toBe(sigClean);
59
+ });
60
+ });
61
+ //# sourceMappingURL=pack-signing.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pack-signing.test.js","sourceRoot":"","sources":["../../src/crypto/pack-signing.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import crypto from 'node:crypto';
2
+ import { describe, expect, it } from 'vitest';
3
+ import { signPayload, verifyPayload } from './signing.js';
4
+ function generateKeyPair() {
5
+ return crypto.generateKeyPairSync('rsa', {
6
+ modulusLength: 2048,
7
+ publicKeyEncoding: { type: 'spki', format: 'pem' },
8
+ privateKeyEncoding: { type: 'pkcs8', format: 'pem' },
9
+ });
10
+ }
11
+ describe('signPayload / verifyPayload', () => {
12
+ const { publicKey, privateKey } = generateKeyPair();
13
+ it('sign + verify with matching RSA keypair succeeds', () => {
14
+ const payload = { probe: 'system.disk.usage', data: { usedPct: 42 } };
15
+ const sig = signPayload(payload, privateKey);
16
+ expect(sig).toBeTruthy();
17
+ expect(verifyPayload(payload, sig, publicKey)).toBe(true);
18
+ });
19
+ it('wrong key → verify returns false', () => {
20
+ const other = generateKeyPair();
21
+ const payload = { msg: 'hello' };
22
+ const sig = signPayload(payload, privateKey);
23
+ expect(verifyPayload(payload, sig, other.publicKey)).toBe(false);
24
+ });
25
+ it('tampered payload → verify returns false', () => {
26
+ const payload = { value: 1 };
27
+ const sig = signPayload(payload, privateKey);
28
+ expect(verifyPayload({ value: 2 }, sig, publicKey)).toBe(false);
29
+ });
30
+ it('various payload types serialize consistently', () => {
31
+ const payloads = [null, 42, 'hello', [1, 2, 3], { nested: { a: 1 } }];
32
+ for (const p of payloads) {
33
+ const sig = signPayload(p, privateKey);
34
+ expect(sig).toBeTruthy();
35
+ expect(verifyPayload(p, sig, publicKey)).toBe(true);
36
+ }
37
+ });
38
+ it('invalid inputs return empty string / false (not throw)', () => {
39
+ expect(signPayload({ a: 1 }, 'not-a-key')).toBe('');
40
+ expect(verifyPayload({ a: 1 }, 'bad-sig', publicKey)).toBe(false);
41
+ expect(verifyPayload({ a: 1 }, 'bad-sig', 'not-a-key')).toBe(false);
42
+ });
43
+ it('verify with certificate PEM works', () => {
44
+ // Generate a self-signed cert wrapping the public key
45
+ const payload = { test: true };
46
+ const sig = signPayload(payload, privateKey);
47
+ // Node's createVerify can accept a cert PEM that contains the public key
48
+ // We'll create a minimal self-signed cert for this test
49
+ const cert = crypto.X509Certificate;
50
+ // Use the public key PEM directly as Node also accepts it; for cert-based
51
+ // verification, we rely on the hub's ca.ts issuing real certs. Here we just
52
+ // confirm that the function doesn't choke on cert-like input and that
53
+ // standard public key PEM works in the verifyPayload path.
54
+ expect(verifyPayload(payload, sig, publicKey)).toBe(true);
55
+ });
56
+ });
57
+ //# sourceMappingURL=signing.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signing.test.d.ts","sourceRoot":"","sources":["../../src/crypto/signing.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signing.test.js","sourceRoot":"","sources":["../../src/crypto/signing.test.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,10 +1,12 @@
1
1
  export { CapabilityLevel, AgentStatus, PackStatus, ProbeStatus, MessageType, DEFAULT_PROBE_TIMEOUT_MS, DEFAULT_HUB_PORT, HEARTBEAT_INTERVAL_MS, } from './types/common.js';
2
2
  export { AgentPackInfo, AgentInfo } from './types/agent.js';
3
3
  export { HubConfig } from './types/hub.js';
4
- export { MessageEnvelope } from './schemas/protocol.js';
4
+ export type { FetchFn, AuthMethod, OAuth2Credentials, IntegrationCredentials, IntegrationConfig, IntegrationProbeHandler, IntegrationPack, } from './types/integrations.js';
5
+ export { MessageEnvelope, RegisterPayload } from './schemas/protocol.js';
5
6
  export { ProbeRequest, ProbeResponse } from './schemas/probes.js';
6
7
  export { ProbeParamDef, DbRoleRequirement, PackRequirements, ProbeDefinition, RunbookDefinition, DetectRules, PackManifest, } from './schemas/packs.js';
7
8
  export { AttestationData } from './schemas/attestation.js';
8
9
  export { signPayload, verifyPayload } from './crypto/signing.js';
10
+ export { PACK_SIGNING_PUBLIC_KEY, signPackManifest, verifyPackManifest, } from './crypto/pack-signing.js';
9
11
  export { ProbeInput, DiagnoseInput, DiagnoseOutput, ListAgentsOutput, } from './schemas/mcp.js';
10
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGlE,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,YAAY,GACb,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGjE,OAAO,EACL,UAAU,EACV,aAAa,EACb,cAAc,EACd,gBAAgB,GACjB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EACV,OAAO,EACP,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGzE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGlE,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,YAAY,GACb,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGjE,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,UAAU,EACV,aAAa,EACb,cAAc,EACd,gBAAgB,GACjB,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ export { CapabilityLevel, AgentStatus, PackStatus, ProbeStatus, MessageType, DEF
3
3
  export { AgentPackInfo, AgentInfo } from './types/agent.js';
4
4
  export { HubConfig } from './types/hub.js';
5
5
  // Schemas — Protocol
6
- export { MessageEnvelope } from './schemas/protocol.js';
6
+ export { MessageEnvelope, RegisterPayload } from './schemas/protocol.js';
7
7
  // Schemas — Probes
8
8
  export { ProbeRequest, ProbeResponse } from './schemas/probes.js';
9
9
  // Schemas — Packs
@@ -12,6 +12,8 @@ export { ProbeParamDef, DbRoleRequirement, PackRequirements, ProbeDefinition, Ru
12
12
  export { AttestationData } from './schemas/attestation.js';
13
13
  // Crypto — Signing
14
14
  export { signPayload, verifyPayload } from './crypto/signing.js';
15
+ // Crypto — Pack Signing
16
+ export { PACK_SIGNING_PUBLIC_KEY, signPackManifest, verifyPackManifest, } from './crypto/pack-signing.js';
15
17
  // Schemas — MCP
16
18
  export { ProbeInput, DiagnoseInput, DiagnoseOutput, ListAgentsOutput, } from './schemas/mcp.js';
17
19
  //# 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,QAAQ;AACR,OAAO,EACL,eAAe,EACf,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,qBAAqB;AACrB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,mBAAmB;AACnB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAElE,kBAAkB;AAClB,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B,wBAAwB;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,mBAAmB;AACnB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjE,gBAAgB;AAChB,OAAO,EACL,UAAU,EACV,aAAa,EACb,cAAc,EACd,gBAAgB,GACjB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,OAAO,EACL,eAAe,EACf,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAW3C,qBAAqB;AACrB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEzE,mBAAmB;AACnB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAElE,kBAAkB;AAClB,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B,wBAAwB;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,mBAAmB;AACnB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjE,wBAAwB;AACxB,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAElC,gBAAgB;AAChB,OAAO,EACL,UAAU,EACV,aAAa,EACb,cAAc,EACd,gBAAgB,GACjB,MAAM,kBAAkB,CAAC"}
@@ -4,19 +4,19 @@ import { z } from 'zod';
4
4
  * MVP's primary MCP tool — sends a single probe to an agent.
5
5
  */
6
6
  export declare const ProbeInput: z.ZodObject<{
7
- /** Agent name or ID */
8
- agent: z.ZodString;
7
+ /** Agent name or ID (required for agent probes, omit for integration probes) */
8
+ agent: z.ZodOptional<z.ZodString>;
9
9
  /** Full probe name, e.g. "system.disk.usage" */
10
10
  probe: z.ZodString;
11
11
  /** Probe-specific parameters */
12
12
  params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
13
13
  }, "strip", z.ZodTypeAny, {
14
14
  probe: string;
15
- agent: string;
15
+ agent?: string | undefined;
16
16
  params?: Record<string, unknown> | undefined;
17
17
  }, {
18
18
  probe: string;
19
- agent: string;
19
+ agent?: string | undefined;
20
20
  params?: Record<string, unknown> | undefined;
21
21
  }>;
22
22
  export type ProbeInput = z.infer<typeof ProbeInput>;
@@ -24,19 +24,23 @@ export type ProbeInput = z.infer<typeof ProbeInput>;
24
24
  * Input schema for the `diagnose` MCP tool (post-MVP).
25
25
  */
26
26
  export declare const DiagnoseInput: z.ZodObject<{
27
- /** Agent name or ID */
28
- agent: z.ZodString;
27
+ /** Agent name or ID (required for agent probes, omit for integration probes) */
28
+ agent: z.ZodOptional<z.ZodString>;
29
29
  /** Pack category, e.g. "docker", "system" */
30
30
  category: z.ZodString;
31
31
  /** Natural language problem description */
32
32
  description: z.ZodOptional<z.ZodString>;
33
+ /** Parameters for diagnostic runbooks (e.g. { vmid: 100 }) */
34
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
33
35
  }, "strip", z.ZodTypeAny, {
34
36
  category: string;
35
- agent: string;
37
+ agent?: string | undefined;
38
+ params?: Record<string, unknown> | undefined;
36
39
  description?: string | undefined;
37
40
  }, {
38
41
  category: string;
39
- agent: string;
42
+ agent?: string | undefined;
43
+ params?: Record<string, unknown> | undefined;
40
44
  description?: string | undefined;
41
45
  }>;
42
46
  export type DiagnoseInput = z.infer<typeof DiagnoseInput>;
@@ -44,52 +48,137 @@ export type DiagnoseInput = z.infer<typeof DiagnoseInput>;
44
48
  * Output schema for the `diagnose` MCP tool (post-MVP).
45
49
  */
46
50
  export declare const DiagnoseOutput: z.ZodObject<{
47
- agent: z.ZodString;
48
- timestamp: z.ZodString;
49
- category: z.ZodString;
50
- runbookId: z.ZodString;
51
- /** Keyed by probe name → result */
52
- findings: z.ZodRecord<z.ZodString, z.ZodUnknown>;
53
- summary: z.ZodObject<{
51
+ /** Execution metadata */
52
+ meta: z.ZodObject<{
53
+ agent: z.ZodString;
54
+ timestamp: z.ZodString;
55
+ category: z.ZodString;
56
+ runbookId: z.ZodString;
54
57
  probesRun: z.ZodNumber;
55
58
  probesSucceeded: z.ZodNumber;
56
59
  probesFailed: z.ZodNumber;
57
60
  durationMs: z.ZodNumber;
61
+ summaryText: z.ZodOptional<z.ZodString>;
62
+ /** Whether any probe data was truncated */
63
+ truncated: z.ZodOptional<z.ZodBoolean>;
64
+ /** Whether runbook timed out with partial results */
65
+ timedOut: z.ZodOptional<z.ZodBoolean>;
58
66
  }, "strip", z.ZodTypeAny, {
59
- durationMs: number;
67
+ agent: string;
68
+ category: string;
69
+ timestamp: string;
70
+ runbookId: string;
60
71
  probesRun: number;
61
72
  probesSucceeded: number;
62
73
  probesFailed: number;
63
- }, {
64
74
  durationMs: number;
75
+ summaryText?: string | undefined;
76
+ truncated?: boolean | undefined;
77
+ timedOut?: boolean | undefined;
78
+ }, {
79
+ agent: string;
80
+ category: string;
81
+ timestamp: string;
82
+ runbookId: string;
65
83
  probesRun: number;
66
84
  probesSucceeded: number;
67
85
  probesFailed: number;
86
+ durationMs: number;
87
+ summaryText?: string | undefined;
88
+ truncated?: boolean | undefined;
89
+ timedOut?: boolean | undefined;
68
90
  }>;
69
- }, "strip", z.ZodTypeAny, {
70
- timestamp: string;
71
- runbookId: string;
72
- category: string;
73
- agent: string;
74
- findings: Record<string, unknown>;
75
- summary: {
91
+ /** Raw probe data keyed by probe name */
92
+ probes: z.ZodRecord<z.ZodString, z.ZodObject<{
93
+ status: z.ZodEnum<["success", "error", "timeout"]>;
94
+ data: z.ZodUnknown;
95
+ durationMs: z.ZodNumber;
96
+ error: z.ZodOptional<z.ZodString>;
97
+ }, "strip", z.ZodTypeAny, {
98
+ status: "success" | "error" | "timeout";
99
+ durationMs: number;
100
+ error?: string | undefined;
101
+ data?: unknown;
102
+ }, {
103
+ status: "success" | "error" | "timeout";
76
104
  durationMs: number;
105
+ error?: string | undefined;
106
+ data?: unknown;
107
+ }>>;
108
+ /** Structured analysis findings from diagnostic runbooks */
109
+ findings: z.ZodOptional<z.ZodArray<z.ZodObject<{
110
+ severity: z.ZodEnum<["info", "warning", "critical"]>;
111
+ title: z.ZodString;
112
+ detail: z.ZodString;
113
+ remediation: z.ZodOptional<z.ZodString>;
114
+ relatedProbes: z.ZodArray<z.ZodString, "many">;
115
+ }, "strip", z.ZodTypeAny, {
116
+ severity: "info" | "warning" | "critical";
117
+ title: string;
118
+ detail: string;
119
+ relatedProbes: string[];
120
+ remediation?: string | undefined;
121
+ }, {
122
+ severity: "info" | "warning" | "critical";
123
+ title: string;
124
+ detail: string;
125
+ relatedProbes: string[];
126
+ remediation?: string | undefined;
127
+ }>, "many">>;
128
+ }, "strip", z.ZodTypeAny, {
129
+ meta: {
130
+ agent: string;
131
+ category: string;
132
+ timestamp: string;
133
+ runbookId: string;
77
134
  probesRun: number;
78
135
  probesSucceeded: number;
79
136
  probesFailed: number;
137
+ durationMs: number;
138
+ summaryText?: string | undefined;
139
+ truncated?: boolean | undefined;
140
+ timedOut?: boolean | undefined;
80
141
  };
81
- }, {
82
- timestamp: string;
83
- runbookId: string;
84
- category: string;
85
- agent: string;
86
- findings: Record<string, unknown>;
87
- summary: {
142
+ probes: Record<string, {
143
+ status: "success" | "error" | "timeout";
88
144
  durationMs: number;
145
+ error?: string | undefined;
146
+ data?: unknown;
147
+ }>;
148
+ findings?: {
149
+ severity: "info" | "warning" | "critical";
150
+ title: string;
151
+ detail: string;
152
+ relatedProbes: string[];
153
+ remediation?: string | undefined;
154
+ }[] | undefined;
155
+ }, {
156
+ meta: {
157
+ agent: string;
158
+ category: string;
159
+ timestamp: string;
160
+ runbookId: string;
89
161
  probesRun: number;
90
162
  probesSucceeded: number;
91
163
  probesFailed: number;
164
+ durationMs: number;
165
+ summaryText?: string | undefined;
166
+ truncated?: boolean | undefined;
167
+ timedOut?: boolean | undefined;
92
168
  };
169
+ probes: Record<string, {
170
+ status: "success" | "error" | "timeout";
171
+ durationMs: number;
172
+ error?: string | undefined;
173
+ data?: unknown;
174
+ }>;
175
+ findings?: {
176
+ severity: "info" | "warning" | "critical";
177
+ title: string;
178
+ detail: string;
179
+ relatedProbes: string[];
180
+ remediation?: string | undefined;
181
+ }[] | undefined;
93
182
  }>;
94
183
  export type DiagnoseOutput = z.infer<typeof DiagnoseOutput>;
95
184
  /**
@@ -106,11 +195,11 @@ export declare const ListAgentsOutput: z.ZodObject<{
106
195
  version: z.ZodString;
107
196
  status: z.ZodEnum<["active", "pending", "error"]>;
108
197
  }, "strip", z.ZodTypeAny, {
109
- status: "active" | "pending" | "error";
198
+ status: "error" | "active" | "pending";
110
199
  name: string;
111
200
  version: string;
112
201
  }, {
113
- status: "active" | "pending" | "error";
202
+ status: "error" | "active" | "pending";
114
203
  name: string;
115
204
  version: string;
116
205
  }>, "many">;
@@ -118,11 +207,11 @@ export declare const ListAgentsOutput: z.ZodObject<{
118
207
  agentVersion: z.ZodString;
119
208
  }, "strip", z.ZodTypeAny, {
120
209
  status: "online" | "offline" | "degraded";
121
- name: string;
122
210
  id: string;
211
+ name: string;
123
212
  lastSeen: string;
124
213
  packs: {
125
- status: "active" | "pending" | "error";
214
+ status: "error" | "active" | "pending";
126
215
  name: string;
127
216
  version: string;
128
217
  }[];
@@ -130,11 +219,11 @@ export declare const ListAgentsOutput: z.ZodObject<{
130
219
  agentVersion: string;
131
220
  }, {
132
221
  status: "online" | "offline" | "degraded";
133
- name: string;
134
222
  id: string;
223
+ name: string;
135
224
  lastSeen: string;
136
225
  packs: {
137
- status: "active" | "pending" | "error";
226
+ status: "error" | "active" | "pending";
138
227
  name: string;
139
228
  version: string;
140
229
  }[];
@@ -144,11 +233,11 @@ export declare const ListAgentsOutput: z.ZodObject<{
144
233
  }, "strip", z.ZodTypeAny, {
145
234
  agents: {
146
235
  status: "online" | "offline" | "degraded";
147
- name: string;
148
236
  id: string;
237
+ name: string;
149
238
  lastSeen: string;
150
239
  packs: {
151
- status: "active" | "pending" | "error";
240
+ status: "error" | "active" | "pending";
152
241
  name: string;
153
242
  version: string;
154
243
  }[];
@@ -158,11 +247,11 @@ export declare const ListAgentsOutput: z.ZodObject<{
158
247
  }, {
159
248
  agents: {
160
249
  status: "online" | "offline" | "degraded";
161
- name: string;
162
250
  id: string;
251
+ name: string;
163
252
  lastSeen: string;
164
253
  packs: {
165
- status: "active" | "pending" | "error";
254
+ status: "error" | "active" | "pending";
166
255
  name: string;
167
256
  version: string;
168
257
  }[];
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/schemas/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;GAGG;AACH,eAAO,MAAM,UAAU;IACrB,uBAAuB;;IAEvB,gDAAgD;;IAEhD,gCAAgC;;;;;;;;;;EAEhC,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,aAAa;IACxB,uBAAuB;;IAEvB,6CAA6C;;IAE7C,2CAA2C;;;;;;;;;;EAE3C,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;IAKzB,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQnC,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/schemas/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;GAGG;AACH,eAAO,MAAM,UAAU;IACrB,gFAAgF;;IAEhF,gDAAgD;;IAEhD,gCAAgC;;;;;;;;;;EAEhC,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,aAAa;IACxB,gFAAgF;;IAEhF,6CAA6C;;IAE7C,2CAA2C;;IAE3C,8DAA8D;;;;;;;;;;;;EAE9D,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,cAAc;IACzB,yBAAyB;;;;;;;;;;;QAWvB,2CAA2C;;QAE3C,qDAAqD;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGvD,yCAAyC;;;;;;;;;;;;;;;;;IASzC,4DAA4D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY5D,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}