sqlew 5.0.0 → 5.0.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 (62) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/backend/backend-factory.js +1 -1
  3. package/dist/backend/backend-factory.js.map +1 -1
  4. package/dist/cli.js +2 -2
  5. package/dist/cli.js.map +1 -1
  6. package/dist/help-data/decision.toml +845 -833
  7. package/dist/index.js +2 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/saas-connector/auth/auth-manager.d.ts.map +1 -0
  10. package/dist/saas-connector/auth/auth-manager.js +13 -0
  11. package/dist/saas-connector/auth/auth-manager.js.map +1 -0
  12. package/{saas-connector/dist → dist/saas-connector}/backend/saas-backend.d.ts +1 -1
  13. package/dist/saas-connector/backend/saas-backend.d.ts.map +1 -0
  14. package/dist/saas-connector/backend/saas-backend.js +71 -0
  15. package/dist/saas-connector/backend/saas-backend.js.map +1 -0
  16. package/{saas-connector/dist → dist/saas-connector}/client/http-client.d.ts +2 -2
  17. package/dist/saas-connector/client/http-client.d.ts.map +1 -0
  18. package/dist/saas-connector/client/http-client.js +196 -0
  19. package/dist/saas-connector/client/http-client.js.map +1 -0
  20. package/dist/saas-connector/client/types.d.ts.map +1 -0
  21. package/dist/saas-connector/client/types.js +2 -0
  22. package/dist/saas-connector/client/types.js.map +1 -0
  23. package/dist/saas-connector/config/constants.d.ts.map +1 -0
  24. package/dist/saas-connector/config/constants.js +37 -0
  25. package/dist/saas-connector/config/constants.js.map +1 -0
  26. package/dist/saas-connector/errors/api-error.d.ts.map +1 -0
  27. package/dist/saas-connector/errors/api-error.js +38 -0
  28. package/dist/saas-connector/errors/api-error.js.map +1 -0
  29. package/{saas-connector/dist → dist/saas-connector}/index.d.ts +4 -4
  30. package/dist/saas-connector/index.d.ts.map +1 -0
  31. package/dist/saas-connector/index.js +20 -0
  32. package/dist/saas-connector/index.js.map +1 -0
  33. package/package.json +1 -4
  34. package/saas-connector/LICENSE +0 -190
  35. package/saas-connector/README.md +0 -122
  36. package/saas-connector/dist/auth/auth-manager.d.ts.map +0 -1
  37. package/saas-connector/dist/auth/auth-manager.js +0 -39
  38. package/saas-connector/dist/auth/auth-manager.js.map +0 -7
  39. package/saas-connector/dist/backend/saas-backend.d.ts.map +0 -1
  40. package/saas-connector/dist/backend/saas-backend.js +0 -104
  41. package/saas-connector/dist/backend/saas-backend.js.map +0 -7
  42. package/saas-connector/dist/client/http-client.d.ts.map +0 -1
  43. package/saas-connector/dist/client/http-client.js +0 -226
  44. package/saas-connector/dist/client/http-client.js.map +0 -7
  45. package/saas-connector/dist/client/types.d.ts.map +0 -1
  46. package/saas-connector/dist/client/types.js +0 -17
  47. package/saas-connector/dist/client/types.js.map +0 -7
  48. package/saas-connector/dist/config/constants.d.ts.map +0 -1
  49. package/saas-connector/dist/config/constants.js +0 -68
  50. package/saas-connector/dist/config/constants.js.map +0 -7
  51. package/saas-connector/dist/errors/api-error.d.ts.map +0 -1
  52. package/saas-connector/dist/errors/api-error.js +0 -62
  53. package/saas-connector/dist/errors/api-error.js.map +0 -7
  54. package/saas-connector/dist/index.d.ts.map +0 -1
  55. package/saas-connector/dist/index.js +0 -51
  56. package/saas-connector/dist/index.js.map +0 -7
  57. package/saas-connector/package-lock.json +0 -518
  58. package/saas-connector/package.json +0 -34
  59. /package/{saas-connector/dist → dist/saas-connector}/auth/auth-manager.d.ts +0 -0
  60. /package/{saas-connector/dist → dist/saas-connector}/client/types.d.ts +0 -0
  61. /package/{saas-connector/dist → dist/saas-connector}/config/constants.d.ts +0 -0
  62. /package/{saas-connector/dist → dist/saas-connector}/errors/api-error.d.ts +0 -0
package/dist/index.js CHANGED
@@ -16,8 +16,8 @@ const firstArg = rawArgs[0] || '';
16
16
  const cliCommands = [
17
17
  'db:dump', 'db:export', 'db:import', 'query',
18
18
  'suggest', 'track-plan', 'save', 'check-completion', 'mark-done', 'init',
19
- // New hook events (v4.2.0+)
20
- 'on-subagent-stop', 'on-stop', 'on-exit-plan',
19
+ // Hook events (v4.2.0+, v5.0.0+)
20
+ 'on-subagent-stop', 'on-stop', 'on-enter-plan', 'on-exit-plan', 'on-session-start',
21
21
  ];
22
22
  // CLI flags that should route to CLI (not MCP server)
23
23
  const cliFlags = ['--init', '--help', '--version'];
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-manager.d.ts","sourceRoot":"","sources":["../../../src/saas-connector/auth/auth-manager.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAW;IACV,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAMlC,sBAAsB,IAAI,MAAM;CAGjC"}
@@ -0,0 +1,13 @@
1
+ export class AuthManager {
2
+ apiKey;
3
+ constructor(apiKey) {
4
+ this.apiKey = apiKey;
5
+ if (!apiKey || apiKey.trim() === '') {
6
+ throw new Error('API key is required');
7
+ }
8
+ }
9
+ getAuthorizationHeader() {
10
+ return `Bearer ${this.apiKey}`;
11
+ }
12
+ }
13
+ //# sourceMappingURL=auth-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-manager.js","sourceRoot":"","sources":["../../../src/saas-connector/auth/auth-manager.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAW;IACF;IAApB,YAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAChC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,sBAAsB;QACpB,OAAO,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC;IACjC,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import type { CloudConfig, ToolBackend, HealthCheckResult } from '../client/types';
1
+ import type { CloudConfig, ToolBackend, HealthCheckResult } from '../client/types.js';
2
2
  export declare class SaaSBackend implements ToolBackend {
3
3
  readonly backendType: "saas";
4
4
  readonly pluginName = "saas-connector";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"saas-backend.d.ts","sourceRoot":"","sources":["../../../src/saas-connector/backend/saas-backend.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAE5B,qBAAa,WAAY,YAAW,WAAW;IAC7C,QAAQ,CAAC,WAAW,EAAG,MAAM,CAAU;IACvC,QAAQ,CAAC,UAAU,oBAAoB;IAEvC,OAAO,CAAC,UAAU,CAAa;gBAEnB,MAAM,EAAE,WAAW;IAUzB,OAAO,CAAC,CAAC,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,CAAC,CAAC;IA2Bb;;;OAGG;IACH,OAAO,CAAC,eAAe;IAkBjB,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAiBzC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAGjC"}
@@ -0,0 +1,71 @@
1
+ import { HttpClient } from '../client/http-client.js';
2
+ import { AuthManager } from '../auth/auth-manager.js';
3
+ import { ApiError } from '../errors/api-error.js';
4
+ import { SUPPORTED_TOOLS, isLocalOnlyAction } from '../config/constants.js';
5
+ export class SaaSBackend {
6
+ backendType = 'saas';
7
+ pluginName = 'saas-connector';
8
+ httpClient;
9
+ constructor(config) {
10
+ const authManager = new AuthManager(config.apiKey);
11
+ this.httpClient = new HttpClient(authManager, config.projectName, config.projectId, config.connectionIdentity);
12
+ }
13
+ async execute(tool, action, params) {
14
+ // Check if this action should be handled locally (no DB access required)
15
+ if (isLocalOnlyAction(tool, action)) {
16
+ throw new ApiError('LOCAL_ONLY_ACTION', `Action '${tool}.${action}' should be handled locally (no DB access required)`, 200 // Not an error, just a signal to fallback
17
+ );
18
+ }
19
+ // Validate supported tools
20
+ if (!SUPPORTED_TOOLS.includes(tool)) {
21
+ throw new ApiError('UNSUPPORTED_TOOL', `Tool '${tool}' is not supported in SaaS mode. Supported tools: ${SUPPORTED_TOOLS.join(', ')}`, 400);
22
+ }
23
+ // Normalize params for SaaS API compatibility
24
+ const normalizedParams = this.normalizeParams(tool, action, params);
25
+ // Call SaaS API
26
+ const endpoint = `/api/v1/${tool}/${action}`;
27
+ return await this.httpClient.post(endpoint, normalizedParams);
28
+ }
29
+ /**
30
+ * Normalize params for SaaS API compatibility
31
+ * Maps client param names to SaaS API expected names
32
+ */
33
+ normalizeParams(tool, action, params) {
34
+ const result = { ...params };
35
+ // constraint.deactivate/activate: constraint_id → id
36
+ if (tool === 'constraint' && (action === 'deactivate' || action === 'activate')) {
37
+ if ('constraint_id' in result && !('id' in result)) {
38
+ result.id = result.constraint_id;
39
+ delete result.constraint_id;
40
+ }
41
+ }
42
+ return result;
43
+ }
44
+ async healthCheck() {
45
+ const start = Date.now();
46
+ try {
47
+ await this.httpClient.get('/health');
48
+ return {
49
+ ok: true,
50
+ latency: Date.now() - start,
51
+ };
52
+ }
53
+ catch (error) {
54
+ return {
55
+ ok: false,
56
+ latency: Date.now() - start,
57
+ message: error instanceof Error ? error.message : String(error),
58
+ };
59
+ }
60
+ }
61
+ async disconnect() {
62
+ // HTTP client doesn't need explicit disconnect
63
+ }
64
+ /**
65
+ * Set agent name for X-Agent header (called after MCP handshake)
66
+ */
67
+ setAgentName(name) {
68
+ this.httpClient.setAgentName(name);
69
+ }
70
+ }
71
+ //# sourceMappingURL=saas-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"saas-backend.js","sourceRoot":"","sources":["../../../src/saas-connector/backend/saas-backend.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { AuthManager } from '../auth/auth-manager';
2
- import type { ConnectionIdentity } from './types';
1
+ import { AuthManager } from '../auth/auth-manager.js';
2
+ import type { ConnectionIdentity } from './types.js';
3
3
  export declare class HttpClient {
4
4
  private authManager;
5
5
  private projectName?;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../../src/saas-connector/client/http-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAStD,OAAO,KAAK,EAAe,kBAAkB,EAA0B,MAAM,YAAY,CAAC;AAE1F,qBAAa,UAAU;IAInB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,SAAS,CAAC;IAClB,OAAO,CAAC,kBAAkB,CAAC;IAN7B,OAAO,CAAC,SAAS,CAAC,CAAS;gBAGjB,WAAW,EAAE,WAAW,EACxB,WAAW,CAAC,EAAE,MAAM,YAAA,EACpB,SAAS,CAAC,EAAE,MAAM,YAAA,EAClB,kBAAkB,CAAC,EAAE,kBAAkB,YAAA;IAGjD;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI1B,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAuChE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;YAwBxB,gBAAgB;YAuChB,cAAc;IA4C5B,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,KAAK;CAGd;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CAoDjB"}
@@ -0,0 +1,196 @@
1
+ import { ApiError } from '../errors/api-error.js';
2
+ import { API_ENDPOINT, MAX_RETRIES, INITIAL_RETRY_DELAY, MAX_RETRY_DELAY, REQUEST_TIMEOUT, } from '../config/constants.js';
3
+ export class HttpClient {
4
+ authManager;
5
+ projectName;
6
+ projectId;
7
+ connectionIdentity;
8
+ agentName;
9
+ constructor(authManager, projectName, projectId, connectionIdentity) {
10
+ this.authManager = authManager;
11
+ this.projectName = projectName;
12
+ this.projectId = projectId;
13
+ this.connectionIdentity = connectionIdentity;
14
+ }
15
+ /**
16
+ * Set agent name for X-Agent header (called after MCP handshake)
17
+ */
18
+ setAgentName(name) {
19
+ this.agentName = name;
20
+ }
21
+ async post(path, body) {
22
+ const url = `${API_ENDPOINT}${path}`;
23
+ const requestBody = {
24
+ project_id: this.projectId,
25
+ project_name: this.projectName,
26
+ // Connection identification for seat-based billing (v5.0.0+)
27
+ ...(this.connectionIdentity && {
28
+ connection_hash: this.connectionIdentity.connectionHash,
29
+ connection_display: {
30
+ environment: this.connectionIdentity.environment,
31
+ path_suffix: this.connectionIdentity.pathSuffix,
32
+ },
33
+ }),
34
+ ...body,
35
+ };
36
+ return await this.executeWithRetry(async () => {
37
+ const controller = new AbortController();
38
+ const timeoutId = setTimeout(() => controller.abort(), REQUEST_TIMEOUT);
39
+ try {
40
+ const response = await fetch(url, {
41
+ method: 'POST',
42
+ headers: {
43
+ Authorization: this.authManager.getAuthorizationHeader(),
44
+ 'Content-Type': 'application/json',
45
+ ...(this.agentName && { 'X-Agent': this.agentName }),
46
+ },
47
+ body: JSON.stringify(requestBody),
48
+ signal: controller.signal,
49
+ });
50
+ return await this.handleResponse(response);
51
+ }
52
+ finally {
53
+ clearTimeout(timeoutId);
54
+ }
55
+ });
56
+ }
57
+ async get(path) {
58
+ const url = `${API_ENDPOINT}${path}`;
59
+ return await this.executeWithRetry(async () => {
60
+ const controller = new AbortController();
61
+ const timeoutId = setTimeout(() => controller.abort(), REQUEST_TIMEOUT);
62
+ try {
63
+ const response = await fetch(url, {
64
+ method: 'GET',
65
+ headers: {
66
+ Authorization: this.authManager.getAuthorizationHeader(),
67
+ ...(this.agentName && { 'X-Agent': this.agentName }),
68
+ },
69
+ signal: controller.signal,
70
+ });
71
+ return await this.handleResponse(response);
72
+ }
73
+ finally {
74
+ clearTimeout(timeoutId);
75
+ }
76
+ });
77
+ }
78
+ async executeWithRetry(operation, retryCount = 0) {
79
+ try {
80
+ return await operation();
81
+ }
82
+ catch (error) {
83
+ // Handle abort error (timeout)
84
+ if (error instanceof Error && error.name === 'AbortError') {
85
+ throw new ApiError('TIMEOUT', 'Request timed out', 408);
86
+ }
87
+ // Handle network errors
88
+ if (error instanceof TypeError && error.message.includes('fetch')) {
89
+ throw new ApiError('NETWORK_ERROR', `Network error: ${error.message}`, 0);
90
+ }
91
+ // Retry only on 429 (rate limited)
92
+ if (error instanceof ApiError &&
93
+ error.statusCode === 429 &&
94
+ retryCount < MAX_RETRIES) {
95
+ const delay = this.calculateRetryDelay(retryCount, error.details?.retryAfter);
96
+ await this.sleep(delay);
97
+ return this.executeWithRetry(operation, retryCount + 1);
98
+ }
99
+ throw error;
100
+ }
101
+ }
102
+ async handleResponse(response) {
103
+ // Try to parse response body
104
+ let body;
105
+ try {
106
+ body = (await response.json());
107
+ }
108
+ catch {
109
+ // If response is not JSON
110
+ if (!response.ok) {
111
+ throw new ApiError('INTERNAL_ERROR', `HTTP ${response.status}: ${response.statusText}`, response.status);
112
+ }
113
+ throw new ApiError('INVALID_RESPONSE', 'Invalid JSON response from server', 500);
114
+ }
115
+ // Handle HTTP errors
116
+ if (!response.ok) {
117
+ const retryAfter = response.headers.get('Retry-After');
118
+ throw new ApiError(body.error?.code || 'UNKNOWN_ERROR', body.error?.message || `HTTP ${response.status}`, response.status, retryAfter ? { retryAfter } : undefined);
119
+ }
120
+ // Handle API-level errors
121
+ if (!body.success) {
122
+ throw new ApiError(body.error?.code || 'API_ERROR', body.error?.message || 'Unknown API error', 500);
123
+ }
124
+ return body.data;
125
+ }
126
+ calculateRetryDelay(retryCount, retryAfter) {
127
+ // Use Retry-After header if available
128
+ if (retryAfter) {
129
+ const seconds = parseInt(retryAfter, 10);
130
+ if (!isNaN(seconds) && seconds > 0) {
131
+ return Math.min(seconds * 1000, MAX_RETRY_DELAY);
132
+ }
133
+ }
134
+ // Exponential backoff: 1s, 2s, 4s, ...
135
+ return Math.min(INITIAL_RETRY_DELAY * Math.pow(2, retryCount), MAX_RETRY_DELAY);
136
+ }
137
+ sleep(ms) {
138
+ return new Promise((resolve) => setTimeout(resolve, ms));
139
+ }
140
+ }
141
+ /**
142
+ * Resolve project name to UUID via /api/v1/project/resolve
143
+ *
144
+ * This is a standalone function used before HttpClient is fully initialized,
145
+ * since we need the projectId to construct HttpClient.
146
+ *
147
+ * @param apiKey - API key for authentication
148
+ * @param projectName - Project name from config.toml
149
+ * @returns Resolved project UUID
150
+ * @throws ApiError on authentication or resolution failure
151
+ */
152
+ export async function resolveProject(apiKey, projectName) {
153
+ const url = `${API_ENDPOINT}/api/v1/project/resolve`;
154
+ const controller = new AbortController();
155
+ const timeoutId = setTimeout(() => controller.abort(), REQUEST_TIMEOUT);
156
+ try {
157
+ const response = await fetch(url, {
158
+ method: 'POST',
159
+ headers: {
160
+ Authorization: `Bearer ${apiKey}`,
161
+ 'Content-Type': 'application/json',
162
+ },
163
+ body: JSON.stringify({ project_name: projectName }),
164
+ signal: controller.signal,
165
+ });
166
+ if (!response.ok) {
167
+ let errorMessage = `HTTP ${response.status}: ${response.statusText}`;
168
+ try {
169
+ const body = (await response.json());
170
+ errorMessage = body.error?.message || errorMessage;
171
+ }
172
+ catch {
173
+ // Ignore JSON parse error
174
+ }
175
+ throw new ApiError('PROJECT_RESOLVE_FAILED', errorMessage, response.status);
176
+ }
177
+ const body = (await response.json());
178
+ if (!body.success || !body.data?.project_id) {
179
+ throw new ApiError('PROJECT_RESOLVE_FAILED', body.error?.message || 'Failed to resolve project', 500);
180
+ }
181
+ return body.data.project_id;
182
+ }
183
+ catch (error) {
184
+ if (error instanceof ApiError) {
185
+ throw error;
186
+ }
187
+ if (error instanceof Error && error.name === 'AbortError') {
188
+ throw new ApiError('TIMEOUT', 'Project resolve request timed out', 408);
189
+ }
190
+ throw new ApiError('NETWORK_ERROR', `Failed to resolve project: ${error instanceof Error ? error.message : String(error)}`, 0);
191
+ }
192
+ finally {
193
+ clearTimeout(timeoutId);
194
+ }
195
+ }
196
+ //# sourceMappingURL=http-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../../src/saas-connector/client/http-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/saas-connector/client/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,OAAO,GACP,OAAO,GACP,KAAK,GACL,QAAQ,GACR,SAAS,CAAC;AAEd;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,cAAc,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,WAAW,EAAE,WAAW,CAAC;IACzB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAG3C,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,SAAS,GAAG,OAAO,EACzB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,SAAS,CAAC,CAAC;IACtB,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAGD,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAAC;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/saas-connector/client/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/saas-connector/config/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,yBAAyB,CAAC;AAGnD,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,mBAAmB,OAAO,CAAC;AACxC,eAAO,MAAM,eAAe,QAAQ,CAAC;AACrC,eAAO,MAAM,eAAe,QAAQ,CAAC;AAIrC,eAAO,MAAM,eAAe,gDAIlB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAI7D,eAAO,MAAM,kBAAkB,mLAYrB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAEvE"}
@@ -0,0 +1,37 @@
1
+ // API endpoint is determined at build time for security
2
+ // OSS side cannot modify this value
3
+ export const API_ENDPOINT = 'https://api.sqlew.io';
4
+ // Retry configuration
5
+ export const MAX_RETRIES = 3;
6
+ export const INITIAL_RETRY_DELAY = 1000; // 1 second
7
+ export const MAX_RETRY_DELAY = 30000; // 30 seconds
8
+ export const REQUEST_TIMEOUT = 30000; // 30 seconds
9
+ // Supported tools for SaaS backend
10
+ // help, example, use_case are handled locally (TOML files, no DB access)
11
+ export const SUPPORTED_TOOLS = [
12
+ 'decision',
13
+ 'constraint',
14
+ 'suggest',
15
+ ];
16
+ // Actions that should be handled locally (no DB access required)
17
+ // Format: "tool.action"
18
+ export const LOCAL_ONLY_ACTIONS = [
19
+ // decision - TOML/hardcoded help
20
+ 'decision.help',
21
+ 'decision.example',
22
+ 'decision.use_case',
23
+ // constraint - plan TOML cache + help
24
+ 'constraint.suggest_pending',
25
+ 'constraint.help',
26
+ 'constraint.example',
27
+ 'constraint.use_case',
28
+ // suggest - help only
29
+ 'suggest.help',
30
+ ];
31
+ /**
32
+ * Check if a tool.action combination should be handled locally
33
+ */
34
+ export function isLocalOnlyAction(tool, action) {
35
+ return LOCAL_ONLY_ACTIONS.includes(`${tool}.${action}`);
36
+ }
37
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/saas-connector/config/constants.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,oCAAoC;AACpC,MAAM,CAAC,MAAM,YAAY,GAAG,sBAAsB,CAAC;AAEnD,sBAAsB;AACtB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAC7B,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,CAAC,WAAW;AACpD,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,aAAa;AACnD,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,aAAa;AAEnD,mCAAmC;AACnC,yEAAyE;AACzE,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,UAAU;IACV,YAAY;IACZ,SAAS;CACD,CAAC;AAIX,iEAAiE;AACjE,wBAAwB;AACxB,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,iCAAiC;IACjC,eAAe;IACf,kBAAkB;IAClB,mBAAmB;IACnB,sCAAsC;IACtC,4BAA4B;IAC5B,iBAAiB;IACjB,oBAAoB;IACpB,qBAAqB;IACrB,sBAAsB;IACtB,cAAc;CACN,CAAC;AAIX;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,MAAc;IAC5D,OAAO,kBAAkB,CAAC,QAAQ,CAAC,GAAG,IAAI,IAAI,MAAM,EAAqB,CAAC,CAAC;AAC7E,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-error.d.ts","sourceRoot":"","sources":["../../../src/saas-connector/errors/api-error.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAS,SAAQ,KAAK;IAExB,IAAI,EAAE,MAAM;IAEZ,UAAU,EAAE,MAAM;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAHjC,IAAI,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACR,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;IAU1C,MAAM;;;;;;;CASP;AAGD,eAAO,MAAM,WAAW;;;;;;;;;;CAUd,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,WAAW,CAAC"}
@@ -0,0 +1,38 @@
1
+ export class ApiError extends Error {
2
+ code;
3
+ statusCode;
4
+ details;
5
+ constructor(code, message, statusCode, details) {
6
+ super(message);
7
+ this.code = code;
8
+ this.statusCode = statusCode;
9
+ this.details = details;
10
+ this.name = 'ApiError';
11
+ // Maintain proper stack trace in V8 environments
12
+ if (Error.captureStackTrace) {
13
+ Error.captureStackTrace(this, ApiError);
14
+ }
15
+ }
16
+ toJSON() {
17
+ return {
18
+ name: this.name,
19
+ code: this.code,
20
+ message: this.message,
21
+ statusCode: this.statusCode,
22
+ details: this.details,
23
+ };
24
+ }
25
+ }
26
+ // Error codes mapping
27
+ export const ERROR_CODES = {
28
+ INVALID_REQUEST: 400,
29
+ UNAUTHORIZED: 401,
30
+ FORBIDDEN: 403,
31
+ NOT_FOUND: 404,
32
+ RATE_LIMITED: 429,
33
+ INTERNAL_ERROR: 500,
34
+ UNSUPPORTED_TOOL: 400,
35
+ NETWORK_ERROR: 0,
36
+ TIMEOUT: 408,
37
+ };
38
+ //# sourceMappingURL=api-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-error.js","sourceRoot":"","sources":["../../../src/saas-connector/errors/api-error.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,QAAS,SAAQ,KAAK;IAExB;IAEA;IACA;IAJT,YACS,IAAY,EACnB,OAAe,EACR,UAAkB,EAClB,OAAiC;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QALR,SAAI,GAAJ,IAAI,CAAQ;QAEZ,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAA0B;QAGxC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,iDAAiD;QACjD,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC;CACF;AAED,sBAAsB;AACtB,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,eAAe,EAAE,GAAG;IACpB,YAAY,EAAE,GAAG;IACjB,SAAS,EAAE,GAAG;IACd,SAAS,EAAE,GAAG;IACd,YAAY,EAAE,GAAG;IACjB,cAAc,EAAE,GAAG;IACnB,gBAAgB,EAAE,GAAG;IACrB,aAAa,EAAE,CAAC;IAChB,OAAO,EAAE,GAAG;CACJ,CAAC"}
@@ -1,5 +1,5 @@
1
- import { resolveProject } from './client/http-client';
2
- import type { CloudConfig, ToolBackend } from './client/types';
1
+ import { resolveProject } from './client/http-client.js';
2
+ import type { CloudConfig, ToolBackend } from './client/types.js';
3
3
  export { resolveProject };
4
4
  /**
5
5
  * Create a SaaS backend instance
@@ -13,6 +13,6 @@ export declare const version = "1.0.0";
13
13
  * Minimum compatible mcp-sqlew version
14
14
  */
15
15
  export declare const minVersion = "4.4.0";
16
- export type { CloudConfig, ConnectionIdentity, Environment, ToolBackend, HealthCheckResult, } from './client/types';
17
- export { ApiError } from './errors/api-error';
16
+ export type { CloudConfig, ConnectionIdentity, Environment, ToolBackend, HealthCheckResult, } from './client/types.js';
17
+ export { ApiError } from './errors/api-error.js';
18
18
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/saas-connector/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGlE,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAE9D;AAED;;GAEG;AACH,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,UAAU,UAAU,CAAC;AAGlC,YAAY,EACV,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { SaaSBackend } from './backend/saas-backend.js';
2
+ import { resolveProject } from './client/http-client.js';
3
+ // Re-export resolveProject for use by mcp-sqlew
4
+ export { resolveProject };
5
+ /**
6
+ * Create a SaaS backend instance
7
+ */
8
+ export function createBackend(config) {
9
+ return new SaaSBackend(config);
10
+ }
11
+ /**
12
+ * Plugin version (SemVer)
13
+ */
14
+ export const version = '1.0.0';
15
+ /**
16
+ * Minimum compatible mcp-sqlew version
17
+ */
18
+ export const minVersion = '4.4.0';
19
+ export { ApiError } from './errors/api-error.js';
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/saas-connector/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGzD,gDAAgD;AAChD,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAmB;IAC/C,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC;AAUlC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sqlew",
3
3
  "description": "Automated ADR (Architecture Decision Records) for Claude Code - MCP server with SQL-backed decision repository",
4
- "version": "5.0.0",
4
+ "version": "5.0.2",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
7
7
  "bin": {
@@ -9,7 +9,6 @@
9
9
  },
10
10
  "files": [
11
11
  "dist/",
12
- "saas-connector/",
13
12
  "scripts/",
14
13
  "assets/",
15
14
  "docs/",
@@ -20,7 +19,6 @@
20
19
  "MIGRATION_v2.md"
21
20
  ],
22
21
  "scripts": {
23
- "prebuild": "cd saas-connector && npm install && npm run build",
24
22
  "build": "tsc && node scripts/copy-help-data.js",
25
23
  "start": "node dist/index.js",
26
24
  "dev": "tsc --watch",
@@ -66,7 +64,6 @@
66
64
  "author": "sqlew-io",
67
65
  "license": "Apache-2.0",
68
66
  "dependencies": {
69
- "@sqlew/saas-connector": "file:./saas-connector",
70
67
  "@modelcontextprotocol/sdk": "^1.21.1",
71
68
  "better-sqlite3": "^12.4.1",
72
69
  "chokidar": "^4.0.3",