@intrig/mcp 0.0.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.
Files changed (30) hide show
  1. package/README.md +229 -0
  2. package/dist/app/intrig-mcp/src/formatters/documentation.d.ts +73 -0
  3. package/dist/app/intrig-mcp/src/formatters/documentation.d.ts.map +1 -0
  4. package/dist/app/intrig-mcp/src/main.d.ts +9 -0
  5. package/dist/app/intrig-mcp/src/main.d.ts.map +1 -0
  6. package/dist/app/intrig-mcp/src/mcp/server.d.ts +14 -0
  7. package/dist/app/intrig-mcp/src/mcp/server.d.ts.map +1 -0
  8. package/dist/app/intrig-mcp/src/mcp/tools/get-documentation.d.ts +23 -0
  9. package/dist/app/intrig-mcp/src/mcp/tools/get-documentation.d.ts.map +1 -0
  10. package/dist/app/intrig-mcp/src/mcp/tools/get-project.d.ts +21 -0
  11. package/dist/app/intrig-mcp/src/mcp/tools/get-project.d.ts.map +1 -0
  12. package/dist/app/intrig-mcp/src/mcp/tools/list-projects.d.ts +13 -0
  13. package/dist/app/intrig-mcp/src/mcp/tools/list-projects.d.ts.map +1 -0
  14. package/dist/app/intrig-mcp/src/mcp/tools/search.d.ts +24 -0
  15. package/dist/app/intrig-mcp/src/mcp/tools/search.d.ts.map +1 -0
  16. package/dist/app/intrig-mcp/src/services/daemon-client.d.ts +54 -0
  17. package/dist/app/intrig-mcp/src/services/daemon-client.d.ts.map +1 -0
  18. package/dist/app/intrig-mcp/src/services/discovery.service.d.ts +60 -0
  19. package/dist/app/intrig-mcp/src/services/discovery.service.d.ts.map +1 -0
  20. package/dist/app/intrig-mcp/src/types/daemon-api.d.ts +150 -0
  21. package/dist/app/intrig-mcp/src/types/daemon-api.d.ts.map +1 -0
  22. package/dist/app/intrig-mcp/src/types/discovery.d.ts +61 -0
  23. package/dist/app/intrig-mcp/src/types/discovery.d.ts.map +1 -0
  24. package/dist/app/intrig-mcp/src/utils/errors.d.ts +25 -0
  25. package/dist/app/intrig-mcp/src/utils/errors.d.ts.map +1 -0
  26. package/dist/app/intrig-mcp/src/utils/logger.d.ts +25 -0
  27. package/dist/app/intrig-mcp/src/utils/logger.d.ts.map +1 -0
  28. package/dist/main.js +1426 -0
  29. package/dist/tsconfig.app.tsbuildinfo +1 -0
  30. package/package.json +118 -0
@@ -0,0 +1,150 @@
1
+ /**
2
+ * Daemon API type definitions.
3
+ * Based on the OpenAPI spec at .intrig/specs/daemon_api-latest.json
4
+ */
5
+ import { Result } from './discovery.js';
6
+ /**
7
+ * Error codes specific to daemon client operations.
8
+ */
9
+ export type DaemonClientErrorCode = 'DAEMON_UNAVAILABLE' | 'RESOURCE_NOT_FOUND' | 'REQUEST_TIMEOUT' | 'INVALID_RESPONSE';
10
+ /**
11
+ * Error type for daemon client operations.
12
+ */
13
+ export interface DaemonClientError {
14
+ code: DaemonClientErrorCode;
15
+ message: string;
16
+ statusCode?: number;
17
+ cause?: unknown;
18
+ }
19
+ /**
20
+ * Create a daemon client error.
21
+ */
22
+ export declare function daemonClientError(code: DaemonClientErrorCode, message: string, statusCode?: number, cause?: unknown): DaemonClientError;
23
+ /**
24
+ * Result type for daemon client operations.
25
+ */
26
+ export type DaemonResult<T> = Result<T, DaemonClientError>;
27
+ /**
28
+ * Tab containing documentation content.
29
+ */
30
+ export interface Tab {
31
+ name: string;
32
+ content: string;
33
+ }
34
+ /**
35
+ * Reference to a related type.
36
+ */
37
+ export interface RelatedType {
38
+ name: string;
39
+ id: string;
40
+ }
41
+ /**
42
+ * Reference to a related endpoint.
43
+ */
44
+ export interface RelatedEndpoint {
45
+ id: string;
46
+ name: string;
47
+ method: string;
48
+ path: string;
49
+ }
50
+ /**
51
+ * Variable in an endpoint request.
52
+ */
53
+ export interface Variable {
54
+ name: string;
55
+ in: string;
56
+ ref: string;
57
+ relatedType: RelatedType;
58
+ }
59
+ /**
60
+ * Resource type filter for search.
61
+ */
62
+ export type ResourceType = 'rest' | 'schema';
63
+ /**
64
+ * Search query parameters.
65
+ */
66
+ export interface SearchParams {
67
+ query?: string;
68
+ type?: ResourceType;
69
+ source?: string;
70
+ page?: number;
71
+ size?: number;
72
+ }
73
+ /**
74
+ * A resource descriptor returned from search.
75
+ */
76
+ export interface ResourceDescriptor {
77
+ id: string;
78
+ name: string;
79
+ type: ResourceType;
80
+ source: string;
81
+ path?: string;
82
+ description?: string;
83
+ method?: string;
84
+ data?: Record<string, unknown>;
85
+ lastAccessed?: number;
86
+ }
87
+ /**
88
+ * Pagination information.
89
+ */
90
+ export interface PageInfo {
91
+ total: number;
92
+ page: number;
93
+ limit: number;
94
+ totalPages: number;
95
+ hasNext: boolean;
96
+ hasPrevious: boolean;
97
+ }
98
+ /**
99
+ * Search response with paginated results.
100
+ */
101
+ export interface SearchResponse extends PageInfo {
102
+ data: ResourceDescriptor[];
103
+ }
104
+ /**
105
+ * REST endpoint documentation.
106
+ */
107
+ export interface RestDocumentation {
108
+ id: string;
109
+ name: string;
110
+ method: string;
111
+ path: string;
112
+ description?: string;
113
+ requestBody?: RelatedType;
114
+ contentType?: string;
115
+ response?: RelatedType;
116
+ responseType?: string;
117
+ requestUrl: string;
118
+ variables: Variable[];
119
+ responseExamples?: Record<string, unknown>;
120
+ tabs: Tab[];
121
+ }
122
+ /**
123
+ * Schema documentation.
124
+ */
125
+ export interface SchemaDocumentation {
126
+ id: string;
127
+ name: string;
128
+ description?: string;
129
+ jsonSchema: Record<string, unknown>;
130
+ tabs: Tab[];
131
+ relatedTypes: RelatedType[];
132
+ relatedEndpoints: RelatedEndpoint[];
133
+ }
134
+ /**
135
+ * API source configuration.
136
+ */
137
+ export interface IntrigSourceConfig {
138
+ id: string;
139
+ name: string;
140
+ specUrl: string;
141
+ }
142
+ /**
143
+ * Simplified source info for MCP responses.
144
+ */
145
+ export interface SourceInfo {
146
+ id: string;
147
+ name: string;
148
+ specUrl: string;
149
+ }
150
+ //# sourceMappingURL=daemon-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon-api.d.ts","sourceRoot":"","sources":["../../../../../src/types/daemon-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Metadata written by daemon when registering itself.
3
+ * Stored in {os.tmpdir()}/{username}.intrig/{sha1(projectPath)}.json
4
+ */
5
+ export interface DiscoveryMetadata {
6
+ projectName: string;
7
+ url: string;
8
+ port: number;
9
+ pid: number;
10
+ timestamp: string;
11
+ path: string;
12
+ type: string;
13
+ }
14
+ /**
15
+ * Project info with resolved running status.
16
+ */
17
+ export interface ProjectInfo {
18
+ projectName: string;
19
+ path: string;
20
+ url: string;
21
+ port: number;
22
+ type: string;
23
+ running: boolean;
24
+ metadata: DiscoveryMetadata;
25
+ }
26
+ /**
27
+ * Error codes for discovery operations.
28
+ */
29
+ export type DiscoveryErrorCode = 'PROJECT_NOT_FOUND' | 'DAEMON_START_FAILED' | 'DAEMON_UNAVAILABLE' | 'REGISTRY_ERROR';
30
+ /**
31
+ * Explicit error type for discovery operations.
32
+ */
33
+ export interface DiscoveryError {
34
+ code: DiscoveryErrorCode;
35
+ message: string;
36
+ cause?: unknown;
37
+ }
38
+ /**
39
+ * Result type for operations that can fail with expected errors.
40
+ * Using discriminated union for type-safe error handling.
41
+ */
42
+ export type Result<T, E = DiscoveryError> = {
43
+ ok: true;
44
+ value: T;
45
+ } | {
46
+ ok: false;
47
+ error: E;
48
+ };
49
+ /**
50
+ * Helper to create success result.
51
+ */
52
+ export declare function ok<T>(value: T): Result<T, never>;
53
+ /**
54
+ * Helper to create error result.
55
+ */
56
+ export declare function err<E>(error: E): Result<never, E>;
57
+ /**
58
+ * Create a discovery error with code and message.
59
+ */
60
+ export declare function discoveryError(code: DiscoveryErrorCode, message: string, cause?: unknown): DiscoveryError;
61
+ //# sourceMappingURL=discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../../../src/types/discovery.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,mBAAmB,GACnB,qBAAqB,GACrB,oBAAoB,GACpB,gBAAgB,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,cAAc,IACpC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GACtB;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAE5B;;GAEG;AACH,wBAAgB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAEhD;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAEjD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,GACd,cAAc,CAEhB"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Error message formatting utilities.
3
+ * Provides user-friendly error messages with actionable suggestions.
4
+ */
5
+ import type { DiscoveryErrorCode } from '../types/discovery.js';
6
+ import type { DaemonClientErrorCode } from '../types/daemon-api.js';
7
+ type ErrorCode = DiscoveryErrorCode | DaemonClientErrorCode;
8
+ /**
9
+ * Format an error message with actionable suggestion.
10
+ */
11
+ export declare function formatError(code: ErrorCode, message: string): string;
12
+ /**
13
+ * Format a validation error message.
14
+ */
15
+ export declare function formatValidationError(field: string, expected: string): string;
16
+ /**
17
+ * Format an "empty state" message when no projects are found.
18
+ */
19
+ export declare function formatNoProjectsMessage(): string;
20
+ /**
21
+ * Format a message when sources are not yet synced.
22
+ */
23
+ export declare function formatNoSourcesMessage(projectName: string): string;
24
+ export {};
25
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEpE,KAAK,SAAS,GAAG,kBAAkB,GAAG,qBAAqB,CAAC;AAgC5D;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAUpE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAShD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAWlE"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Debug logging utility for intrig-mcp.
3
+ * Logs to stderr to avoid interfering with MCP protocol on stdout.
4
+ *
5
+ * Enable debug logging by setting the environment variable:
6
+ * DEBUG=intrig-mcp
7
+ *
8
+ * Or for more verbose output:
9
+ * DEBUG=intrig-mcp:*
10
+ */
11
+ /**
12
+ * Log a debug message to stderr.
13
+ * Only outputs when DEBUG=intrig-mcp is set.
14
+ */
15
+ export declare function debug(message: string, ...args: unknown[]): void;
16
+ /**
17
+ * Log an error message to stderr.
18
+ * Always outputs regardless of debug setting.
19
+ */
20
+ export declare function logError(message: string, error?: unknown): void;
21
+ /**
22
+ * Create a namespaced debug logger.
23
+ */
24
+ export declare function createDebugger(namespace: string): (message: string, ...args: unknown[]) => void;
25
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH;;;GAGG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAa/D;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAc/D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAqB/F"}