atproto-mcp 0.1.0

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 (131) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +293 -0
  3. package/dist/cli.d.ts +10 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +261 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/health-check.d.ts +7 -0
  8. package/dist/health-check.d.ts.map +1 -0
  9. package/dist/health-check.js +57 -0
  10. package/dist/health-check.js.map +1 -0
  11. package/dist/index.d.ts +122 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +612 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/prompts/index.d.ts +77 -0
  16. package/dist/prompts/index.d.ts.map +1 -0
  17. package/dist/prompts/index.js +186 -0
  18. package/dist/prompts/index.js.map +1 -0
  19. package/dist/resources/index.d.ts +75 -0
  20. package/dist/resources/index.d.ts.map +1 -0
  21. package/dist/resources/index.js +218 -0
  22. package/dist/resources/index.js.map +1 -0
  23. package/dist/test/setup.d.ts +78 -0
  24. package/dist/test/setup.d.ts.map +1 -0
  25. package/dist/test/setup.js +138 -0
  26. package/dist/test/setup.js.map +1 -0
  27. package/dist/tools/implementations/advanced-social-tools.d.ts +250 -0
  28. package/dist/tools/implementations/advanced-social-tools.d.ts.map +1 -0
  29. package/dist/tools/implementations/advanced-social-tools.js +380 -0
  30. package/dist/tools/implementations/advanced-social-tools.js.map +1 -0
  31. package/dist/tools/implementations/base-tool.d.ts +73 -0
  32. package/dist/tools/implementations/base-tool.d.ts.map +1 -0
  33. package/dist/tools/implementations/base-tool.js +225 -0
  34. package/dist/tools/implementations/base-tool.js.map +1 -0
  35. package/dist/tools/implementations/content-management-tools.d.ts +81 -0
  36. package/dist/tools/implementations/content-management-tools.d.ts.map +1 -0
  37. package/dist/tools/implementations/content-management-tools.js +236 -0
  38. package/dist/tools/implementations/content-management-tools.js.map +1 -0
  39. package/dist/tools/implementations/create-post-tool.d.ts +131 -0
  40. package/dist/tools/implementations/create-post-tool.d.ts.map +1 -0
  41. package/dist/tools/implementations/create-post-tool.js +182 -0
  42. package/dist/tools/implementations/create-post-tool.js.map +1 -0
  43. package/dist/tools/implementations/follow-user-tool.d.ts +69 -0
  44. package/dist/tools/implementations/follow-user-tool.d.ts.map +1 -0
  45. package/dist/tools/implementations/follow-user-tool.js +200 -0
  46. package/dist/tools/implementations/follow-user-tool.js.map +1 -0
  47. package/dist/tools/implementations/get-user-profile-tool.d.ts +61 -0
  48. package/dist/tools/implementations/get-user-profile-tool.d.ts.map +1 -0
  49. package/dist/tools/implementations/get-user-profile-tool.js +139 -0
  50. package/dist/tools/implementations/get-user-profile-tool.js.map +1 -0
  51. package/dist/tools/implementations/index.d.ts +22 -0
  52. package/dist/tools/implementations/index.d.ts.map +1 -0
  53. package/dist/tools/implementations/index.js +32 -0
  54. package/dist/tools/implementations/index.js.map +1 -0
  55. package/dist/tools/implementations/like-post-tool.d.ts +68 -0
  56. package/dist/tools/implementations/like-post-tool.d.ts.map +1 -0
  57. package/dist/tools/implementations/like-post-tool.js +184 -0
  58. package/dist/tools/implementations/like-post-tool.js.map +1 -0
  59. package/dist/tools/implementations/media-tools.d.ts +360 -0
  60. package/dist/tools/implementations/media-tools.d.ts.map +1 -0
  61. package/dist/tools/implementations/media-tools.js +444 -0
  62. package/dist/tools/implementations/media-tools.js.map +1 -0
  63. package/dist/tools/implementations/moderation-tools.d.ts +189 -0
  64. package/dist/tools/implementations/moderation-tools.d.ts.map +1 -0
  65. package/dist/tools/implementations/moderation-tools.js +289 -0
  66. package/dist/tools/implementations/moderation-tools.js.map +1 -0
  67. package/dist/tools/implementations/oauth-tools.d.ts +108 -0
  68. package/dist/tools/implementations/oauth-tools.d.ts.map +1 -0
  69. package/dist/tools/implementations/oauth-tools.js +183 -0
  70. package/dist/tools/implementations/oauth-tools.js.map +1 -0
  71. package/dist/tools/implementations/reply-to-post-tool.d.ts +52 -0
  72. package/dist/tools/implementations/reply-to-post-tool.d.ts.map +1 -0
  73. package/dist/tools/implementations/reply-to-post-tool.js +167 -0
  74. package/dist/tools/implementations/reply-to-post-tool.js.map +1 -0
  75. package/dist/tools/implementations/repost-tool.d.ts +76 -0
  76. package/dist/tools/implementations/repost-tool.d.ts.map +1 -0
  77. package/dist/tools/implementations/repost-tool.js +181 -0
  78. package/dist/tools/implementations/repost-tool.js.map +1 -0
  79. package/dist/tools/implementations/search-posts-tool.d.ts +95 -0
  80. package/dist/tools/implementations/search-posts-tool.d.ts.map +1 -0
  81. package/dist/tools/implementations/search-posts-tool.js +208 -0
  82. package/dist/tools/implementations/search-posts-tool.js.map +1 -0
  83. package/dist/tools/implementations/social-graph-tools.d.ts +119 -0
  84. package/dist/tools/implementations/social-graph-tools.d.ts.map +1 -0
  85. package/dist/tools/implementations/social-graph-tools.js +262 -0
  86. package/dist/tools/implementations/social-graph-tools.js.map +1 -0
  87. package/dist/tools/implementations/streaming-tools.d.ts +130 -0
  88. package/dist/tools/implementations/streaming-tools.d.ts.map +1 -0
  89. package/dist/tools/implementations/streaming-tools.js +241 -0
  90. package/dist/tools/implementations/streaming-tools.js.map +1 -0
  91. package/dist/tools/implementations/timeline-tools.d.ts +69 -0
  92. package/dist/tools/implementations/timeline-tools.d.ts.map +1 -0
  93. package/dist/tools/implementations/timeline-tools.js +194 -0
  94. package/dist/tools/implementations/timeline-tools.js.map +1 -0
  95. package/dist/tools/index.d.ts +23 -0
  96. package/dist/tools/index.d.ts.map +1 -0
  97. package/dist/tools/index.js +73 -0
  98. package/dist/tools/index.js.map +1 -0
  99. package/dist/types/index.d.ts +242 -0
  100. package/dist/types/index.d.ts.map +1 -0
  101. package/dist/types/index.js +73 -0
  102. package/dist/types/index.js.map +1 -0
  103. package/dist/utils/atp-client.d.ts +109 -0
  104. package/dist/utils/atp-client.d.ts.map +1 -0
  105. package/dist/utils/atp-client.js +451 -0
  106. package/dist/utils/atp-client.js.map +1 -0
  107. package/dist/utils/config.d.ts +74 -0
  108. package/dist/utils/config.d.ts.map +1 -0
  109. package/dist/utils/config.js +311 -0
  110. package/dist/utils/config.js.map +1 -0
  111. package/dist/utils/firehose-client.d.ts +96 -0
  112. package/dist/utils/firehose-client.d.ts.map +1 -0
  113. package/dist/utils/firehose-client.js +252 -0
  114. package/dist/utils/firehose-client.js.map +1 -0
  115. package/dist/utils/logger.d.ts +74 -0
  116. package/dist/utils/logger.d.ts.map +1 -0
  117. package/dist/utils/logger.js +142 -0
  118. package/dist/utils/logger.js.map +1 -0
  119. package/dist/utils/oauth-client.d.ts +61 -0
  120. package/dist/utils/oauth-client.d.ts.map +1 -0
  121. package/dist/utils/oauth-client.js +224 -0
  122. package/dist/utils/oauth-client.js.map +1 -0
  123. package/dist/utils/performance.d.ts +102 -0
  124. package/dist/utils/performance.d.ts.map +1 -0
  125. package/dist/utils/performance.js +302 -0
  126. package/dist/utils/performance.js.map +1 -0
  127. package/dist/utils/security.d.ts +154 -0
  128. package/dist/utils/security.d.ts.map +1 -0
  129. package/dist/utils/security.js +358 -0
  130. package/dist/utils/security.js.map +1 -0
  131. package/package.json +93 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firehose-client.js","sourceRoot":"","sources":["../../src/utils/firehose-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Structured logging utility for the AT Protocol MCP Server
3
+ */
4
+ export declare enum LogLevel {
5
+ DEBUG = 0,
6
+ INFO = 1,
7
+ WARN = 2,
8
+ ERROR = 3
9
+ }
10
+ export interface ILogEntry {
11
+ timestamp: string;
12
+ level: LogLevel;
13
+ component: string;
14
+ message: string;
15
+ data?: unknown;
16
+ error?: Error;
17
+ }
18
+ /**
19
+ * Logger class with structured logging support
20
+ */
21
+ export declare class Logger {
22
+ private component;
23
+ private logLevel;
24
+ constructor(component: string, logLevel?: LogLevel);
25
+ /**
26
+ * Get log level from environment variable
27
+ */
28
+ private getLogLevelFromEnv;
29
+ /**
30
+ * Create a log entry
31
+ */
32
+ private createLogEntry;
33
+ /**
34
+ * Format log entry for output
35
+ */
36
+ private formatLogEntry;
37
+ /**
38
+ * Log a message at the specified level
39
+ */
40
+ private log;
41
+ /**
42
+ * Log debug message
43
+ */
44
+ debug(message: string, data?: unknown): void;
45
+ /**
46
+ * Log info message
47
+ */
48
+ info(message: string, data?: unknown): void;
49
+ /**
50
+ * Log warning message
51
+ */
52
+ warn(message: string, data?: unknown, error?: Error): void;
53
+ /**
54
+ * Log error message
55
+ */
56
+ error(message: string, error?: Error | unknown, data?: unknown): void;
57
+ /**
58
+ * Create a child logger with additional context
59
+ */
60
+ child(childComponent: string): Logger;
61
+ /**
62
+ * Set log level
63
+ */
64
+ setLogLevel(level: LogLevel): void;
65
+ /**
66
+ * Get current log level
67
+ */
68
+ getLogLevel(): LogLevel;
69
+ }
70
+ /**
71
+ * Default logger instance
72
+ */
73
+ export declare const logger: Logger;
74
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;CACV;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAW;gBAEf,SAAS,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAwB;IAKjE;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgB1B;;OAEG;IACH,OAAO,CAAC,cAAc;IAwBtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAsBtB;;OAEG;IACH,OAAO,CAAC,GAAG;IAgBX;;OAEG;IACI,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAInD;;OAEG;IACI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAIlD;;OAEG;IACI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IAIjE;;OAEG;IACI,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAK5E;;OAEG;IACI,KAAK,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;IAI5C;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAIzC;;OAEG;IACI,WAAW,IAAI,QAAQ;CAG/B;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,QAAuB,CAAC"}
@@ -0,0 +1,142 @@
1
+ /**
2
+ * Structured logging utility for the AT Protocol MCP Server
3
+ */
4
+ export var LogLevel;
5
+ (function (LogLevel) {
6
+ LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
7
+ LogLevel[LogLevel["INFO"] = 1] = "INFO";
8
+ LogLevel[LogLevel["WARN"] = 2] = "WARN";
9
+ LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
10
+ })(LogLevel || (LogLevel = {}));
11
+ /**
12
+ * Logger class with structured logging support
13
+ */
14
+ export class Logger {
15
+ component;
16
+ logLevel;
17
+ constructor(component, logLevel = LogLevel.INFO) {
18
+ this.component = component;
19
+ this.logLevel = this.getLogLevelFromEnv() ?? logLevel;
20
+ }
21
+ /**
22
+ * Get log level from environment variable
23
+ */
24
+ getLogLevelFromEnv() {
25
+ const envLevel = process.env['LOG_LEVEL']?.toUpperCase();
26
+ switch (envLevel) {
27
+ case 'DEBUG':
28
+ return LogLevel.DEBUG;
29
+ case 'INFO':
30
+ return LogLevel.INFO;
31
+ case 'WARN':
32
+ return LogLevel.WARN;
33
+ case 'ERROR':
34
+ return LogLevel.ERROR;
35
+ default:
36
+ return null;
37
+ }
38
+ }
39
+ /**
40
+ * Create a log entry
41
+ */
42
+ createLogEntry(level, message, data, error) {
43
+ const entry = {
44
+ timestamp: new Date().toISOString(),
45
+ level,
46
+ component: this.component,
47
+ message,
48
+ };
49
+ if (data !== undefined) {
50
+ entry.data = data;
51
+ }
52
+ if (error !== undefined) {
53
+ entry.error = error;
54
+ }
55
+ return entry;
56
+ }
57
+ /**
58
+ * Format log entry for output
59
+ */
60
+ formatLogEntry(entry) {
61
+ const levelName = LogLevel[entry.level];
62
+ const timestamp = entry.timestamp;
63
+ const component = entry.component;
64
+ const message = entry.message;
65
+ let formatted = `[${timestamp}] ${levelName.padEnd(5)} [${component}] ${message}`;
66
+ if (entry.data) {
67
+ formatted += `\n Data: ${JSON.stringify(entry.data, null, 2)}`;
68
+ }
69
+ if (entry.error) {
70
+ formatted += `\n Error: ${entry.error.message}`;
71
+ if (entry.error.stack) {
72
+ formatted += `\n Stack: ${entry.error.stack}`;
73
+ }
74
+ }
75
+ return formatted;
76
+ }
77
+ /**
78
+ * Log a message at the specified level
79
+ */
80
+ log(level, message, data, error) {
81
+ if (level < this.logLevel) {
82
+ return;
83
+ }
84
+ const entry = this.createLogEntry(level, message, data, error);
85
+ const formatted = this.formatLogEntry(entry);
86
+ // Output to appropriate stream
87
+ if (level >= LogLevel.ERROR) {
88
+ console.error(formatted);
89
+ }
90
+ else {
91
+ console.log(formatted);
92
+ }
93
+ }
94
+ /**
95
+ * Log debug message
96
+ */
97
+ debug(message, data) {
98
+ this.log(LogLevel.DEBUG, message, data);
99
+ }
100
+ /**
101
+ * Log info message
102
+ */
103
+ info(message, data) {
104
+ this.log(LogLevel.INFO, message, data);
105
+ }
106
+ /**
107
+ * Log warning message
108
+ */
109
+ warn(message, data, error) {
110
+ this.log(LogLevel.WARN, message, data, error);
111
+ }
112
+ /**
113
+ * Log error message
114
+ */
115
+ error(message, error, data) {
116
+ const errorObj = error instanceof Error ? error : new Error(String(error));
117
+ this.log(LogLevel.ERROR, message, data, errorObj);
118
+ }
119
+ /**
120
+ * Create a child logger with additional context
121
+ */
122
+ child(childComponent) {
123
+ return new Logger(`${this.component}:${childComponent}`, this.logLevel);
124
+ }
125
+ /**
126
+ * Set log level
127
+ */
128
+ setLogLevel(level) {
129
+ this.logLevel = level;
130
+ }
131
+ /**
132
+ * Get current log level
133
+ */
134
+ getLogLevel() {
135
+ return this.logLevel;
136
+ }
137
+ }
138
+ /**
139
+ * Default logger instance
140
+ */
141
+ export const logger = new Logger('AtpMcp');
142
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * OAuth Client for AT Protocol authentication
3
+ */
4
+ import { type IAtpConfig } from '../types/index.js';
5
+ import { EventEmitter } from 'events';
6
+ export interface IOAuthSession {
7
+ accessToken: string;
8
+ refreshToken: string;
9
+ did: string;
10
+ handle: string;
11
+ expiresAt: Date;
12
+ }
13
+ export interface IOAuthAuthorizationRequest {
14
+ authUrl: string;
15
+ state: string;
16
+ codeVerifier: string;
17
+ codeChallenge: string;
18
+ }
19
+ export declare class AtpOAuthClient extends EventEmitter {
20
+ private logger;
21
+ private config;
22
+ private pendingAuthorizations;
23
+ constructor(config: IAtpConfig);
24
+ /**
25
+ * Start OAuth authorization flow
26
+ */
27
+ startAuthorization(identifier: string): Promise<IOAuthAuthorizationRequest>;
28
+ /**
29
+ * Handle OAuth callback and exchange code for tokens
30
+ */
31
+ handleCallback(code: string, state: string): Promise<IOAuthSession>;
32
+ /**
33
+ * Refresh OAuth tokens
34
+ */
35
+ refreshTokens(refreshToken: string): Promise<IOAuthSession>;
36
+ /**
37
+ * Revoke OAuth tokens
38
+ */
39
+ revokeTokens(accessToken: string, refreshToken?: string): Promise<void>;
40
+ /**
41
+ * Generate PKCE code verifier
42
+ */
43
+ private generateCodeVerifier;
44
+ /**
45
+ * Generate PKCE code challenge
46
+ */
47
+ private generateCodeChallenge;
48
+ /**
49
+ * Generate random state parameter
50
+ */
51
+ private generateState;
52
+ /**
53
+ * Clean up expired authorization requests
54
+ */
55
+ private cleanupExpiredAuthorizations;
56
+ /**
57
+ * Get pending authorization count (for monitoring)
58
+ */
59
+ getPendingAuthorizationCount(): number;
60
+ }
61
+ //# sourceMappingURL=oauth-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-client.d.ts","sourceRoot":"","sources":["../../src/utils/oauth-client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGzE,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,qBAAqB,CAMzB;gBAEQ,MAAM,EAAE,UAAU;IAe9B;;OAEG;IACG,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IA8CjF;;OAEG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAuDzE;;OAEG;IACG,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAuCjE;;OAEG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB7E;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAsBpC;;OAEG;IACH,4BAA4B,IAAI,MAAM;CAGvC"}
@@ -0,0 +1,224 @@
1
+ /**
2
+ * OAuth Client for AT Protocol authentication
3
+ */
4
+ // Note: @atproto/oauth-client-node doesn't exist yet, this is a mock implementation
5
+ // In production, use the actual AT Protocol OAuth client when available
6
+ import { AuthenticationError } from '../types/index.js';
7
+ import { Logger } from './logger.js';
8
+ import crypto from 'crypto';
9
+ import { EventEmitter } from 'events';
10
+ export class AtpOAuthClient extends EventEmitter {
11
+ logger;
12
+ config;
13
+ pendingAuthorizations = new Map();
14
+ constructor(config) {
15
+ super();
16
+ this.logger = new Logger('AtpOAuthClient');
17
+ this.config = config;
18
+ if (!config.clientId || !config.clientSecret) {
19
+ throw new AuthenticationError('OAuth requires clientId and clientSecret', undefined, {
20
+ authMethod: 'oauth',
21
+ });
22
+ }
23
+ // Clean up expired authorization requests every 10 minutes
24
+ setInterval(() => this.cleanupExpiredAuthorizations(), 10 * 60 * 1000);
25
+ }
26
+ /**
27
+ * Start OAuth authorization flow
28
+ */
29
+ async startAuthorization(identifier) {
30
+ try {
31
+ this.logger.info('Starting OAuth authorization flow', { identifier });
32
+ // Generate PKCE parameters
33
+ const codeVerifier = this.generateCodeVerifier();
34
+ const codeChallenge = this.generateCodeChallenge(codeVerifier);
35
+ const state = this.generateState();
36
+ // Store the code verifier for later use
37
+ this.pendingAuthorizations.set(state, {
38
+ codeVerifier,
39
+ timestamp: Date.now(),
40
+ });
41
+ // Generate authorization URL (mock implementation)
42
+ const baseUrl = this.config.service.replace(/^https?:\/\//, '');
43
+ const authUrl = `https://${baseUrl}/oauth/authorize?` +
44
+ `client_id=${encodeURIComponent(this.config.clientId)}&` +
45
+ `redirect_uri=${encodeURIComponent(this.config.redirectUri ?? 'http://localhost:3000/oauth/callback')}&` +
46
+ `response_type=code&` +
47
+ `scope=atproto&` +
48
+ `state=${encodeURIComponent(state)}&` +
49
+ `code_challenge=${encodeURIComponent(codeChallenge)}&` +
50
+ `code_challenge_method=S256`;
51
+ this.logger.info('OAuth authorization URL generated', {
52
+ identifier,
53
+ state: `${state.substring(0, 8)}...`,
54
+ });
55
+ return {
56
+ authUrl,
57
+ state,
58
+ codeVerifier,
59
+ codeChallenge,
60
+ };
61
+ }
62
+ catch (error) {
63
+ this.logger.error('OAuth authorization failed', error);
64
+ throw new AuthenticationError('Failed to start OAuth authorization flow', error, {
65
+ identifier,
66
+ });
67
+ }
68
+ }
69
+ /**
70
+ * Handle OAuth callback and exchange code for tokens
71
+ */
72
+ async handleCallback(code, state) {
73
+ try {
74
+ this.logger.info('Handling OAuth callback', {
75
+ state: `${state.substring(0, 8)}...`,
76
+ code: `${code.substring(0, 10)}...`,
77
+ });
78
+ // Retrieve the stored code verifier
79
+ const pending = this.pendingAuthorizations.get(state);
80
+ if (!pending) {
81
+ throw new AuthenticationError('Invalid or expired OAuth state parameter', undefined, {
82
+ state: `${state.substring(0, 8)}...`,
83
+ });
84
+ }
85
+ // Clean up the pending authorization
86
+ this.pendingAuthorizations.delete(state);
87
+ // Exchange authorization code for tokens (mock implementation)
88
+ // In a real implementation, this would make an HTTP request to the token endpoint
89
+ const tokenResponse = {
90
+ accessJwt: `mock_access_token_${Date.now()}`,
91
+ refreshJwt: `mock_refresh_token_${Date.now()}`,
92
+ did: 'did:plc:mock123',
93
+ handle: 'mock.bsky.social',
94
+ expiresIn: 3600,
95
+ };
96
+ const session = {
97
+ accessToken: tokenResponse.accessJwt,
98
+ refreshToken: tokenResponse.refreshJwt,
99
+ did: tokenResponse.did,
100
+ handle: tokenResponse.handle,
101
+ expiresAt: new Date(Date.now() + (tokenResponse.expiresIn ?? 3600) * 1000),
102
+ };
103
+ this.logger.info('OAuth authentication successful', {
104
+ did: session.did,
105
+ handle: session.handle,
106
+ expiresAt: session.expiresAt.toISOString(),
107
+ });
108
+ // Emit session event
109
+ this.emit('session', session);
110
+ return session;
111
+ }
112
+ catch (error) {
113
+ this.logger.error('OAuth callback failed', error);
114
+ throw new AuthenticationError('OAuth callback processing failed', error, {
115
+ code: `${code.substring(0, 10)}...`,
116
+ state: `${state.substring(0, 8)}...`,
117
+ });
118
+ }
119
+ }
120
+ /**
121
+ * Refresh OAuth tokens
122
+ */
123
+ async refreshTokens(refreshToken) {
124
+ try {
125
+ this.logger.info('Refreshing OAuth tokens');
126
+ // Refresh tokens (mock implementation)
127
+ const tokenResponse = {
128
+ accessJwt: `mock_refreshed_access_token_${Date.now()}`,
129
+ refreshJwt: `mock_refreshed_refresh_token_${Date.now()}`,
130
+ did: 'did:plc:mock123',
131
+ handle: 'mock.bsky.social',
132
+ expiresIn: 3600,
133
+ };
134
+ const session = {
135
+ accessToken: tokenResponse.accessJwt,
136
+ refreshToken: tokenResponse.refreshJwt ?? refreshToken, // Keep old refresh token if new one not provided
137
+ did: tokenResponse.did,
138
+ handle: tokenResponse.handle,
139
+ expiresAt: new Date(Date.now() + (tokenResponse.expiresIn ?? 3600) * 1000),
140
+ };
141
+ this.logger.info('OAuth tokens refreshed successfully', {
142
+ did: session.did,
143
+ handle: session.handle,
144
+ expiresAt: session.expiresAt.toISOString(),
145
+ });
146
+ // Emit session event
147
+ this.emit('session', session);
148
+ return session;
149
+ }
150
+ catch (error) {
151
+ this.logger.error('OAuth token refresh failed', error);
152
+ throw new AuthenticationError('Failed to refresh OAuth tokens', error, {
153
+ refreshToken: `${refreshToken.substring(0, 10)}...`,
154
+ });
155
+ }
156
+ }
157
+ /**
158
+ * Revoke OAuth tokens
159
+ */
160
+ async revokeTokens(accessToken, refreshToken) {
161
+ try {
162
+ this.logger.info('Revoking OAuth tokens');
163
+ // Revoke tokens (mock implementation)
164
+ // In a real implementation, this would make HTTP requests to revoke the tokens
165
+ this.logger.debug('Mock token revocation', {
166
+ accessToken: `${accessToken.substring(0, 10)}...`,
167
+ hasRefreshToken: !!refreshToken,
168
+ });
169
+ this.logger.info('OAuth tokens revoked successfully');
170
+ // Emit revocation event
171
+ this.emit('revoked');
172
+ }
173
+ catch (error) {
174
+ this.logger.error('OAuth token revocation failed', error);
175
+ throw new AuthenticationError('Failed to revoke OAuth tokens', error);
176
+ }
177
+ }
178
+ /**
179
+ * Generate PKCE code verifier
180
+ */
181
+ generateCodeVerifier() {
182
+ return crypto.randomBytes(32).toString('base64url');
183
+ }
184
+ /**
185
+ * Generate PKCE code challenge
186
+ */
187
+ generateCodeChallenge(codeVerifier) {
188
+ return crypto.createHash('sha256').update(codeVerifier).digest('base64url');
189
+ }
190
+ /**
191
+ * Generate random state parameter
192
+ */
193
+ generateState() {
194
+ return crypto.randomBytes(16).toString('base64url');
195
+ }
196
+ /**
197
+ * Clean up expired authorization requests
198
+ */
199
+ cleanupExpiredAuthorizations() {
200
+ const now = Date.now();
201
+ const expiredStates = [];
202
+ for (const [state, { timestamp }] of this.pendingAuthorizations) {
203
+ // Remove authorizations older than 30 minutes
204
+ if (now - timestamp > 30 * 60 * 1000) {
205
+ expiredStates.push(state);
206
+ }
207
+ }
208
+ for (const state of expiredStates) {
209
+ this.pendingAuthorizations.delete(state);
210
+ }
211
+ if (expiredStates.length > 0) {
212
+ this.logger.debug('Cleaned up expired OAuth authorizations', {
213
+ count: expiredStates.length,
214
+ });
215
+ }
216
+ }
217
+ /**
218
+ * Get pending authorization count (for monitoring)
219
+ */
220
+ getPendingAuthorizationCount() {
221
+ return this.pendingAuthorizations.size;
222
+ }
223
+ }
224
+ //# sourceMappingURL=oauth-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-client.js","sourceRoot":"","sources":["../../src/utils/oauth-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Performance optimization utilities for production deployment
3
+ */
4
+ import type { Logger } from './logger.js';
5
+ export interface IConnectionPoolConfig {
6
+ maxConnections: number;
7
+ minConnections: number;
8
+ acquireTimeoutMs: number;
9
+ idleTimeoutMs: number;
10
+ maxRetries: number;
11
+ }
12
+ export interface ICacheConfig {
13
+ maxSize: number;
14
+ ttlMs: number;
15
+ cleanupIntervalMs: number;
16
+ }
17
+ export interface IPerformanceMetrics {
18
+ connectionPoolSize: number;
19
+ activeConnections: number;
20
+ cacheHitRate: number;
21
+ cacheSize: number;
22
+ memoryUsage: NodeJS.MemoryUsage;
23
+ uptime: number;
24
+ }
25
+ /**
26
+ * Simple connection pool for managing AT Protocol connections
27
+ */
28
+ export declare class ConnectionPool {
29
+ private connections;
30
+ private activeConnections;
31
+ private config;
32
+ private logger;
33
+ constructor(config: IConnectionPoolConfig, logger: Logger);
34
+ acquire(key: string): Promise<any>;
35
+ release(key: string): void;
36
+ cleanup(): void;
37
+ getMetrics(): {
38
+ totalConnections: number;
39
+ activeConnections: number;
40
+ idleConnections: number;
41
+ };
42
+ }
43
+ /**
44
+ * LRU Cache implementation for caching API responses
45
+ */
46
+ export declare class LRUCache<T> {
47
+ private cache;
48
+ private config;
49
+ private logger;
50
+ private hits;
51
+ private misses;
52
+ constructor(config: ICacheConfig, logger: Logger);
53
+ get(key: string): T | undefined;
54
+ set(key: string, value: T): void;
55
+ delete(key: string): boolean;
56
+ clear(): void;
57
+ private evictLRU;
58
+ private cleanup;
59
+ getMetrics(): {
60
+ size: number;
61
+ hits: number;
62
+ misses: number;
63
+ hitRate: number;
64
+ };
65
+ }
66
+ /**
67
+ * WebSocket connection manager for efficient streaming
68
+ */
69
+ export declare class WebSocketManager {
70
+ private connections;
71
+ private reconnectAttempts;
72
+ private logger;
73
+ private maxReconnectAttempts;
74
+ private reconnectDelay;
75
+ constructor(logger: Logger);
76
+ connect(url: string, key: string): Promise<WebSocket>;
77
+ private handleReconnect;
78
+ disconnect(key: string): void;
79
+ disconnectAll(): void;
80
+ getMetrics(): {
81
+ activeConnections: number;
82
+ reconnectAttempts: number;
83
+ };
84
+ }
85
+ /**
86
+ * Performance monitor for tracking system metrics
87
+ */
88
+ export declare class PerformanceMonitor {
89
+ private logger;
90
+ private startTime;
91
+ private connectionPool?;
92
+ private cache?;
93
+ private wsManager?;
94
+ constructor(logger: Logger);
95
+ setConnectionPool(pool: ConnectionPool): void;
96
+ setCache(cache: LRUCache<any>): void;
97
+ setWebSocketManager(wsManager: WebSocketManager): void;
98
+ getMetrics(): IPerformanceMetrics;
99
+ logMetrics(): void;
100
+ startPeriodicLogging(intervalMs?: number): NodeJS.Timeout;
101
+ }
102
+ //# sourceMappingURL=performance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../src/utils/performance.ts"],"names":[],"mappings":"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"}