sylas-ai 0.2.21 → 0.2.23

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 (96) hide show
  1. package/LICENSE +21 -0
  2. package/dist/app.js +2 -2
  3. package/dist/app.js.map +1 -1
  4. package/dist/commands/RefreshTokenCommand.js +2 -2
  5. package/dist/commands/RefreshTokenCommand.js.map +1 -1
  6. package/dist/commands/SelfAddRepoCommand.d.ts +1 -0
  7. package/dist/commands/SelfAddRepoCommand.d.ts.map +1 -1
  8. package/dist/commands/SelfAddRepoCommand.js +20 -101
  9. package/dist/commands/SelfAddRepoCommand.js.map +1 -1
  10. package/dist/commands/SelfAuthCommand.d.ts +1 -7
  11. package/dist/commands/SelfAuthCommand.d.ts.map +1 -1
  12. package/dist/commands/SelfAuthCommand.js +9 -142
  13. package/dist/commands/SelfAuthCommand.js.map +1 -1
  14. package/dist/commands/StartCommand.d.ts.map +1 -1
  15. package/dist/commands/StartCommand.js +16 -1
  16. package/dist/commands/StartCommand.js.map +1 -1
  17. package/dist/services/AuthFlowService.d.ts +20 -0
  18. package/dist/services/AuthFlowService.d.ts.map +1 -0
  19. package/dist/{src/commands/SelfAuthCommand.js → services/AuthFlowService.js} +10 -82
  20. package/dist/services/AuthFlowService.js.map +1 -0
  21. package/dist/services/OnboardingService.d.ts +15 -0
  22. package/dist/services/OnboardingService.d.ts.map +1 -0
  23. package/dist/services/OnboardingService.js +111 -0
  24. package/dist/services/OnboardingService.js.map +1 -0
  25. package/dist/services/RepoService.d.ts +33 -0
  26. package/dist/services/RepoService.d.ts.map +1 -0
  27. package/dist/services/RepoService.js +118 -0
  28. package/dist/services/RepoService.js.map +1 -0
  29. package/dist/utils/openUrl.d.ts +7 -0
  30. package/dist/utils/openUrl.d.ts.map +1 -0
  31. package/dist/utils/openUrl.js +33 -0
  32. package/dist/utils/openUrl.js.map +1 -0
  33. package/package.json +12 -11
  34. package/dist/src/Application.d.ts +0 -75
  35. package/dist/src/Application.d.ts.map +0 -1
  36. package/dist/src/Application.js +0 -289
  37. package/dist/src/Application.js.map +0 -1
  38. package/dist/src/app.d.ts +0 -3
  39. package/dist/src/app.d.ts.map +0 -1
  40. package/dist/src/app.js +0 -93
  41. package/dist/src/app.js.map +0 -1
  42. package/dist/src/commands/AuthCommand.d.ts +0 -8
  43. package/dist/src/commands/AuthCommand.d.ts.map +0 -1
  44. package/dist/src/commands/AuthCommand.js +0 -70
  45. package/dist/src/commands/AuthCommand.js.map +0 -1
  46. package/dist/src/commands/CheckTokensCommand.d.ts +0 -8
  47. package/dist/src/commands/CheckTokensCommand.d.ts.map +0 -1
  48. package/dist/src/commands/CheckTokensCommand.js +0 -53
  49. package/dist/src/commands/CheckTokensCommand.js.map +0 -1
  50. package/dist/src/commands/ICommand.d.ts +0 -38
  51. package/dist/src/commands/ICommand.d.ts.map +0 -1
  52. package/dist/src/commands/ICommand.js +0 -37
  53. package/dist/src/commands/ICommand.js.map +0 -1
  54. package/dist/src/commands/RefreshTokenCommand.d.ts +0 -8
  55. package/dist/src/commands/RefreshTokenCommand.d.ts.map +0 -1
  56. package/dist/src/commands/RefreshTokenCommand.js +0 -152
  57. package/dist/src/commands/RefreshTokenCommand.js.map +0 -1
  58. package/dist/src/commands/SelfAddRepoCommand.d.ts +0 -17
  59. package/dist/src/commands/SelfAddRepoCommand.d.ts.map +0 -1
  60. package/dist/src/commands/SelfAddRepoCommand.js +0 -164
  61. package/dist/src/commands/SelfAddRepoCommand.js.map +0 -1
  62. package/dist/src/commands/SelfAuthCommand.d.ts +0 -16
  63. package/dist/src/commands/SelfAuthCommand.d.ts.map +0 -1
  64. package/dist/src/commands/SelfAuthCommand.js.map +0 -1
  65. package/dist/src/commands/StartCommand.d.ts +0 -8
  66. package/dist/src/commands/StartCommand.d.ts.map +0 -1
  67. package/dist/src/commands/StartCommand.js +0 -76
  68. package/dist/src/commands/StartCommand.js.map +0 -1
  69. package/dist/src/config/constants.d.ts +0 -12
  70. package/dist/src/config/constants.d.ts.map +0 -1
  71. package/dist/src/config/constants.js +0 -19
  72. package/dist/src/config/constants.js.map +0 -1
  73. package/dist/src/config/types.d.ts +0 -21
  74. package/dist/src/config/types.d.ts.map +0 -1
  75. package/dist/src/config/types.js +0 -2
  76. package/dist/src/config/types.js.map +0 -1
  77. package/dist/src/services/ConfigService.d.ts +0 -37
  78. package/dist/src/services/ConfigService.d.ts.map +0 -1
  79. package/dist/src/services/ConfigService.js +0 -121
  80. package/dist/src/services/ConfigService.js.map +0 -1
  81. package/dist/src/services/Logger.d.ts +0 -77
  82. package/dist/src/services/Logger.d.ts.map +0 -1
  83. package/dist/src/services/Logger.js +0 -100
  84. package/dist/src/services/Logger.js.map +0 -1
  85. package/dist/src/services/WorkerService.d.ts +0 -59
  86. package/dist/src/services/WorkerService.d.ts.map +0 -1
  87. package/dist/src/services/WorkerService.js +0 -220
  88. package/dist/src/services/WorkerService.js.map +0 -1
  89. package/dist/src/ui/CLIPrompts.d.ts +0 -18
  90. package/dist/src/ui/CLIPrompts.d.ts.map +0 -1
  91. package/dist/src/ui/CLIPrompts.js +0 -53
  92. package/dist/src/ui/CLIPrompts.js.map +0 -1
  93. package/dist/vitest.config.d.ts +0 -3
  94. package/dist/vitest.config.d.ts.map +0 -1
  95. package/dist/vitest.config.js +0 -13
  96. package/dist/vitest.config.js.map +0 -1
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 smilebank7
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/dist/app.js CHANGED
@@ -15,8 +15,8 @@ import { StartCommand } from "./commands/StartCommand.js";
15
15
  const __filename = fileURLToPath(import.meta.url);
16
16
  const __dirname = dirname(__filename);
17
17
  // Read package.json to get the actual version
18
- // When compiled, this is in dist/src/, so we need to go up two levels
19
- const packageJsonPath = resolve(__dirname, "..", "..", "package.json");
18
+ // When compiled, this is in dist/, so we need to go up one level
19
+ const packageJsonPath = resolve(__dirname, "..", "package.json");
20
20
  const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
21
21
  // Setup Commander program
22
22
  const program = new Command();
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import http from "node:http";
2
- import open from "open";
3
2
  import { CLIPrompts } from "../ui/CLIPrompts.js";
3
+ import { openUrl } from "../utils/openUrl.js";
4
4
  import { BaseCommand } from "./ICommand.js";
5
5
  /**
6
6
  * Helper function to check Linear token status
@@ -110,7 +110,7 @@ export class RefreshTokenCommand extends BaseCommand {
110
110
  resolve(s);
111
111
  });
112
112
  });
113
- await open(oauthUrl);
113
+ await openUrl(oauthUrl);
114
114
  // Wait for the token with timeout
115
115
  const startTime = Date.now();
116
116
  while (!tokenReceived && Date.now() - startTime < 120000) {
@@ -1 +1 @@
1
- {"version":3,"file":"RefreshTokenCommand.js","sourceRoot":"","sources":["../../src/commands/RefreshTokenCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RefreshTokenCommand.js","sourceRoot":"","sources":["../../src/commands/RefreshTokenCommand.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { BaseCommand } from "./ICommand.js";
9
9
  */
10
10
  export declare class SelfAddRepoCommand extends BaseCommand {
11
11
  private rl;
12
+ private repoService;
12
13
  private getReadline;
13
14
  private prompt;
14
15
  private cleanup;
@@ -1 +1 @@
1
- {"version":3,"file":"SelfAddRepoCommand.d.ts","sourceRoot":"","sources":["../../src/commands/SelfAddRepoCommand.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAY5C;;;;;;;GAOG;AACH,qBAAa,kBAAmB,SAAQ,WAAW;IAClD,OAAO,CAAC,EAAE,CAAmC;IAE7C,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,OAAO;IAOT,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAkJ5C"}
1
+ {"version":3,"file":"SelfAddRepoCommand.d.ts","sourceRoot":"","sources":["../../src/commands/SelfAddRepoCommand.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;;;;;;GAOG;AACH,qBAAa,kBAAmB,SAAQ,WAAW;IAClD,OAAO,CAAC,EAAE,CAAmC;IAC7C,OAAO,CAAC,WAAW,CAAuC;IAE1D,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,OAAO;IAOT,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAiD5C"}
@@ -1,9 +1,8 @@
1
- import { execSync } from "node:child_process";
2
- import { randomUUID } from "node:crypto";
3
- import { existsSync, readFileSync, writeFileSync } from "node:fs";
1
+ import { readFileSync } from "node:fs";
4
2
  import { resolve } from "node:path";
5
3
  import * as readline from "node:readline";
6
- import { DEFAULT_BASE_BRANCH, DEFAULT_CONFIG_FILENAME, DEFAULT_WORKTREES_DIR, } from "sylas-core";
4
+ import { DEFAULT_CONFIG_FILENAME } from "sylas-core";
5
+ import { RepoService } from "../services/RepoService.js";
7
6
  import { BaseCommand } from "./ICommand.js";
8
7
  /**
9
8
  * Self-add-repo command - clones a repo and adds it to config.json
@@ -15,6 +14,7 @@ import { BaseCommand } from "./ICommand.js";
15
14
  */
16
15
  export class SelfAddRepoCommand extends BaseCommand {
17
16
  rl = null;
17
+ repoService = new RepoService(this.app.sylasHome);
18
18
  getReadline() {
19
19
  if (!this.rl) {
20
20
  this.rl = readline.createInterface({
@@ -54,108 +54,27 @@ export class SelfAddRepoCommand extends BaseCommand {
54
54
  }
55
55
  // Get URL if not provided
56
56
  if (!url) {
57
- url = await this.prompt("Repository URL: ");
58
- if (!url) {
59
- this.logError("URL is required");
60
- process.exit(1);
61
- }
57
+ url = await this.repoService.promptForRepoUrl((question) => this.prompt(question));
62
58
  }
63
- // Extract repo name from URL
64
- const repoName = url
65
- .split("/")
66
- .pop()
67
- ?.replace(/\.git$/, "");
68
- if (!repoName) {
69
- this.logError("Could not extract repo name from URL");
70
- process.exit(1);
71
- }
72
- // Check for duplicate
73
- if (config.repositories.some((r) => r.name === repoName)) {
74
- this.logError(`Repository '${repoName}' already exists in config`);
75
- process.exit(1);
76
- }
77
- // Find workspaces with Linear credentials
78
- const workspaces = new Map();
79
- for (const repo of config.repositories) {
80
- if (repo.linearWorkspaceId &&
81
- repo.linearToken &&
82
- !workspaces.has(repo.linearWorkspaceId)) {
83
- workspaces.set(repo.linearWorkspaceId, {
84
- id: repo.linearWorkspaceId,
85
- name: repo.linearWorkspaceName || repo.linearWorkspaceId,
86
- token: repo.linearToken,
87
- refreshToken: repo.linearRefreshToken,
88
- });
89
- }
90
- }
91
- if (workspaces.size === 0) {
92
- this.logError("No Linear credentials found. Run 'sylas self-auth' first.");
93
- process.exit(1);
94
- }
95
- // Get workspace
96
- let selectedWorkspace;
97
- const workspaceList = Array.from(workspaces.values());
98
- if (workspaceList.length === 1) {
99
- // Safe: we checked length === 1 above
100
- selectedWorkspace = workspaceList[0];
101
- }
102
- else if (workspaceName) {
103
- const foundWorkspace = workspaceList.find((w) => w.name === workspaceName);
104
- if (!foundWorkspace) {
105
- this.logError(`Workspace '${workspaceName}' not found`);
106
- process.exit(1);
107
- }
108
- selectedWorkspace = foundWorkspace;
109
- }
110
- else {
111
- console.log("\nAvailable workspaces:");
112
- workspaceList.forEach((w, i) => {
113
- console.log(` ${i + 1}. ${w.name}`);
114
- });
115
- const choice = await this.prompt(`Select workspace [1-${workspaceList.length}]: `);
116
- const idx = parseInt(choice, 10) - 1;
117
- if (idx < 0 || idx >= workspaceList.length) {
118
- this.logError("Invalid selection");
119
- process.exit(1);
120
- }
121
- // Safe: we validated idx is within bounds above
122
- selectedWorkspace = workspaceList[idx];
123
- }
124
- // Clone the repo
125
- const repositoryPath = resolve(this.app.sylasHome, "repos", repoName);
126
- if (existsSync(repositoryPath)) {
127
- console.log(`Repository already exists at ${repositoryPath}`);
128
- }
129
- else {
130
- console.log(`Cloning ${url}...`);
131
- try {
132
- execSync(`git clone ${url} ${repositoryPath}`, { stdio: "inherit" });
133
- }
134
- catch {
135
- this.logError("Failed to clone repository");
136
- process.exit(1);
137
- }
59
+ if (!url) {
60
+ throw new Error("URL is required");
138
61
  }
139
- // Generate UUID and add to config
140
- const id = randomUUID();
141
- config.repositories.push({
142
- id,
143
- name: repoName,
144
- repositoryPath,
145
- baseBranch: DEFAULT_BASE_BRANCH,
146
- workspaceBaseDir: resolve(this.app.sylasHome, DEFAULT_WORKTREES_DIR),
147
- linearWorkspaceId: selectedWorkspace.id,
148
- linearWorkspaceName: selectedWorkspace.name,
149
- linearToken: selectedWorkspace.token,
150
- linearRefreshToken: selectedWorkspace.refreshToken,
151
- isActive: true,
62
+ const result = await this.repoService.cloneAndAddRepo({
63
+ url,
64
+ config,
65
+ configPath,
66
+ workspaceName,
67
+ prompt: (question) => this.prompt(question),
152
68
  });
153
- writeFileSync(configPath, JSON.stringify(config, null, "\t"), "utf-8");
154
- console.log(`\nAdded: ${repoName}`);
155
- console.log(` ID: ${id}`);
156
- console.log(` Workspace: ${selectedWorkspace.name}`);
69
+ console.log(`\nAdded: ${result.repoName}`);
70
+ console.log(` ID: ${result.id}`);
71
+ console.log(` Workspace: ${result.workspace.name}`);
157
72
  process.exit(0);
158
73
  }
74
+ catch (error) {
75
+ this.logError(error.message);
76
+ process.exit(1);
77
+ }
159
78
  finally {
160
79
  this.cleanup();
161
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SelfAddRepoCommand.js","sourceRoot":"","sources":["../../src/commands/SelfAddRepoCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelfAddRepoCommand.js","sourceRoot":"","sources":["../../src/commands/SelfAddRepoCommand.ts"],"names":[],"mappings":"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"}
@@ -4,13 +4,7 @@ import { BaseCommand } from "./ICommand.js";
4
4
  * Handles the complete OAuth flow without requiring EdgeWorker
5
5
  */
6
6
  export declare class SelfAuthCommand extends BaseCommand {
7
- private server;
8
- private callbackPort;
7
+ private authFlow;
9
8
  execute(_args: string[]): Promise<void>;
10
- private waitForCallback;
11
- private exchangeCodeForTokens;
12
- private fetchWorkspaceInfo;
13
- private overwriteRepoConfigTokens;
14
- private cleanup;
15
9
  }
16
10
  //# sourceMappingURL=SelfAuthCommand.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelfAuthCommand.d.ts","sourceRoot":"","sources":["../../src/commands/SelfAuthCommand.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAC/C,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,YAAY,CAAyD;IAEvE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAmF/B,eAAe;YAiFf,qBAAqB;YA2CrB,kBAAkB;IAchC,OAAO,CAAC,yBAAyB;YAuBnB,OAAO;CAMrB"}
1
+ {"version":3,"file":"SelfAuthCommand.d.ts","sourceRoot":"","sources":["../../src/commands/SelfAuthCommand.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAC/C,OAAO,CAAC,QAAQ,CAAyB;IAEnC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAyF7C"}
@@ -1,17 +1,14 @@
1
- import { readFileSync, writeFileSync } from "node:fs";
1
+ import { readFileSync } from "node:fs";
2
2
  import { resolve } from "node:path";
3
- import { LinearClient } from "@linear/sdk";
4
- import Fastify from "fastify";
5
- import open from "open";
6
3
  import { DEFAULT_CONFIG_FILENAME } from "sylas-core";
4
+ import { AuthFlowService } from "../services/AuthFlowService.js";
7
5
  import { BaseCommand } from "./ICommand.js";
8
6
  /**
9
7
  * Self-auth command - authenticate with Linear OAuth directly from CLI
10
8
  * Handles the complete OAuth flow without requiring EdgeWorker
11
9
  */
12
10
  export class SelfAuthCommand extends BaseCommand {
13
- server = null;
14
- callbackPort = parseInt(process.env.SYLAS_SERVER_PORT || "3456", 10);
11
+ authFlow = new AuthFlowService();
15
12
  async execute(_args) {
16
13
  console.log("\nSylas Linear Self-Authentication");
17
14
  this.logDivider();
@@ -48,22 +45,22 @@ export class SelfAuthCommand extends BaseCommand {
48
45
  console.log(` Client ID: ${clientId.substring(0, 20)}...`);
49
46
  console.log(` Base URL: ${baseUrl}`);
50
47
  console.log(` Config: ${configPath}`);
51
- console.log(` Callback port: ${this.callbackPort}`);
48
+ console.log(` Callback port: ${this.authFlow.getCallbackPort()}`);
52
49
  console.log();
53
50
  try {
54
51
  // Start temporary server to receive OAuth callback
55
- const authCode = await this.waitForCallback(clientId);
52
+ const authCode = await this.authFlow.waitForCallback(clientId);
56
53
  // Exchange code for tokens
57
54
  console.log("Exchanging code for tokens...");
58
- const tokens = await this.exchangeCodeForTokens(authCode, clientId, clientSecret);
55
+ const tokens = await this.authFlow.exchangeCodeForTokens(authCode, clientId, clientSecret);
59
56
  this.logSuccess(`Got access token: ${tokens.accessToken.substring(0, 30)}...`);
60
57
  // Fetch workspace info
61
58
  console.log("Fetching workspace info...");
62
- const workspace = await this.fetchWorkspaceInfo(tokens.accessToken);
59
+ const workspace = await this.authFlow.fetchWorkspaceInfo(tokens.accessToken);
63
60
  this.logSuccess(`Workspace: ${workspace.name} (${workspace.id})`);
64
61
  // Update config.json
65
62
  console.log("Saving tokens to config.json...");
66
- this.overwriteRepoConfigTokens(config, configPath, tokens, workspace);
63
+ this.authFlow.overwriteRepoConfigTokens(config, configPath, tokens, workspace);
67
64
  const updatedCount = config.repositories.filter((r) => r.linearWorkspaceId === workspace.id).length;
68
65
  this.logSuccess(`Updated ${updatedCount} repository/repositories`);
69
66
  console.log();
@@ -76,137 +73,7 @@ export class SelfAuthCommand extends BaseCommand {
76
73
  }
77
74
  finally {
78
75
  // One of the key guarantees of finally — it runs regardless of how the try block exits (return, throw, or normal completion).
79
- await this.cleanup();
80
- }
81
- }
82
- async waitForCallback(clientId) {
83
- return new Promise((resolve, reject) => {
84
- const baseUrl = process.env.SYLAS_BASE_URL;
85
- if (!baseUrl) {
86
- reject(new Error("SYLAS_BASE_URL environment variable is required"));
87
- return;
88
- }
89
- const redirectUri = `${baseUrl}/callback`;
90
- // https://linear.app/developers/oauth-2-0-authentication
91
- // https://linear.app/developers/oauth-actor-authorization
92
- const oauthUrl = `https://linear.app/oauth/authorize?client_id=${clientId}&redirect_uri=${encodeURIComponent(redirectUri)}&response_type=code&scope=write,app:assignable,app:mentionable&actor=app`;
93
- this.server = Fastify({ logger: false });
94
- this.server.get("/callback", async (request, reply) => {
95
- const query = request.query;
96
- const code = query.code;
97
- const error = query.error;
98
- if (error) {
99
- reply
100
- .type("text/html; charset=utf-8")
101
- .code(400)
102
- .send(`<!DOCTYPE html>
103
- <html><head><meta charset="utf-8"></head>
104
- <body style="font-family: system-ui; padding: 40px; text-align: center;">
105
- <h2>Authorization failed</h2>
106
- <p>${error}</p>
107
- </body></html>`);
108
- reject(new Error(`OAuth error: ${error}`));
109
- return;
110
- }
111
- if (code) {
112
- reply
113
- .type("text/html; charset=utf-8")
114
- .code(200)
115
- .send(`<!DOCTYPE html>
116
- <html><head><meta charset="utf-8"></head>
117
- <body style="font-family: system-ui; padding: 40px; text-align: center;">
118
- <h2>Sylas authorized successfully</h2>
119
- <p>You can close this window and return to the terminal.</p>
120
- </body></html>`);
121
- resolve(code);
122
- return;
123
- }
124
- reply
125
- .type("text/html; charset=utf-8")
126
- .code(400)
127
- .send(`<!DOCTYPE html>
128
- <html><head><meta charset="utf-8"></head>
129
- <body style="font-family: system-ui; padding: 40px; text-align: center;">
130
- <h2>Missing authorization code</h2>
131
- </body></html>`);
132
- reject(new Error("Missing authorization code"));
133
- });
134
- this.server
135
- .listen({ port: this.callbackPort, host: "0.0.0.0" })
136
- .then(() => {
137
- console.log(`Waiting for authorization on port ${this.callbackPort}...`);
138
- console.log();
139
- console.log("Opening browser for Linear authorization...");
140
- console.log();
141
- console.log("If browser doesn't open, visit:");
142
- console.log(oauthUrl);
143
- console.log();
144
- open(oauthUrl).catch(() => {
145
- console.log("Could not open browser automatically.");
146
- });
147
- })
148
- .catch((err) => {
149
- reject(new Error(`Server error: ${err.message}`));
150
- });
151
- });
152
- }
153
- async exchangeCodeForTokens(code, clientId, clientSecret) {
154
- const baseUrl = process.env.SYLAS_BASE_URL;
155
- const redirectUri = `${baseUrl}/callback`;
156
- // https://linear.app/developers/oauth-2-0-authentication
157
- const response = await fetch("https://api.linear.app/oauth/token", {
158
- method: "POST",
159
- headers: {
160
- "Content-Type": "application/x-www-form-urlencoded",
161
- },
162
- body: new URLSearchParams({
163
- code,
164
- redirect_uri: redirectUri,
165
- client_id: clientId,
166
- client_secret: clientSecret,
167
- grant_type: "authorization_code",
168
- }).toString(),
169
- });
170
- if (!response.ok) {
171
- const errorText = await response.text();
172
- throw new Error(`Token exchange failed: ${errorText}`);
173
- }
174
- const data = (await response.json());
175
- if (!data.access_token || !data.access_token.startsWith("lin_oauth_")) {
176
- throw new Error("Invalid access token received");
177
- }
178
- return {
179
- accessToken: data.access_token,
180
- refreshToken: data.refresh_token,
181
- };
182
- }
183
- async fetchWorkspaceInfo(accessToken) {
184
- const linearClient = new LinearClient({ accessToken });
185
- const viewer = await linearClient.viewer;
186
- const organization = await viewer.organization;
187
- if (!organization?.id) {
188
- throw new Error("Failed to get workspace info from Linear");
189
- }
190
- return { id: organization.id, name: organization.name || organization.id };
191
- }
192
- overwriteRepoConfigTokens(config, configPath, tokens, workspace) {
193
- // Update all repositories matching this workspace (or unset workspace)
194
- for (const repo of config.repositories) {
195
- if (repo.linearWorkspaceId === workspace.id ||
196
- !repo.linearWorkspaceId ||
197
- repo.linearWorkspaceId === "") {
198
- repo.linearToken = tokens.accessToken;
199
- repo.linearRefreshToken = tokens.refreshToken;
200
- repo.linearWorkspaceId = workspace.id;
201
- repo.linearWorkspaceName = workspace.name;
202
- }
203
- }
204
- writeFileSync(configPath, JSON.stringify(config, null, "\t"), "utf-8");
205
- }
206
- async cleanup() {
207
- if (this.server) {
208
- await this.server.close();
209
- this.server = null;
76
+ await this.authFlow.cleanup();
210
77
  }
211
78
  }
212
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SelfAuthCommand.js","sourceRoot":"","sources":["../../src/commands/SelfAuthCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelfAuthCommand.js","sourceRoot":"","sources":["../../src/commands/SelfAuthCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAmB,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;;GAGG;AACH,MAAM,OAAO,eAAgB,SAAQ,WAAW;IACvC,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;IAEzC,KAAK,CAAC,OAAO,CAAC,KAAe;QAC5B,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,uCAAuC;QACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAC9C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACtD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QAE3C,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC;YAC5C,IAAI,CAAC,QAAQ,CAAC,yCAAyC,CAAC,CAAC;YACzD,IAAI,CAAC,QAAQ;gBAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YACpD,IAAI,CAAC,YAAY;gBAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;YAC5D,IAAI,CAAC,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QAED,2BAA2B;QAC3B,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;QACxE,IAAI,MAAkB,CAAC;QACvB,IAAI,CAAC;YACJ,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAe,CAAC;QACtE,CAAC;QAAC,MAAM,CAAC;YACR,IAAI,CAAC,QAAQ,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,iBAAiB,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,cAAc,UAAU,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,IAAI,CAAC;YACJ,mDAAmD;YACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAE/D,2BAA2B;YAC3B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CACvD,QAAQ,EACR,QAAQ,EACR,YAAY,CACZ,CAAC;YACF,IAAI,CAAC,UAAU,CACd,qBAAqB,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAC7D,CAAC;YAEF,uBAAuB;YACvB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC1C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CACvD,MAAM,CAAC,WAAW,CAClB,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,cAAc,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;YAElE,qBAAqB;YACrB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;YAC/C,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CACtC,MAAM,EACN,UAAU,EACV,MAAM,EACN,SAAS,CACT,CAAC;YAEF,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAC9C,CAAC,CAAqC,EAAE,EAAE,CACzC,CAAC,CAAC,iBAAiB,KAAK,SAAS,CAAC,EAAE,CACrC,CAAC,MAAM,CAAC;YACT,IAAI,CAAC,UAAU,CAAC,WAAW,YAAY,0BAA0B,CAAC,CAAC;YAEnE,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,UAAU,CACd,+DAA+D,CAC/D,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC,0BAA2B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;gBAAS,CAAC;YACV,8HAA8H;YAC9H,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC/B,CAAC;IACF,CAAC;CACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"StartCommand.d.ts","sourceRoot":"","sources":["../../src/commands/StartCommand.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,qBAAa,YAAa,SAAQ,WAAW;IACtC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAsF7C"}
1
+ {"version":3,"file":"StartCommand.d.ts","sourceRoot":"","sources":["../../src/commands/StartCommand.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,qBAAa,YAAa,SAAQ,WAAW;IACtC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAsG7C"}
@@ -1,4 +1,5 @@
1
1
  import { getSylasAppUrl } from "sylas-cloudflare-tunnel-client";
2
+ import { OnboardingService } from "../services/OnboardingService.js";
2
3
  import { BaseCommand } from "./ICommand.js";
3
4
  /**
4
5
  * Start command - main entry point for starting the edge worker
@@ -8,7 +9,7 @@ export class StartCommand extends BaseCommand {
8
9
  try {
9
10
  // Load edge configuration
10
11
  const edgeConfig = this.app.config.load();
11
- const repositories = edgeConfig.repositories || [];
12
+ let repositories = edgeConfig.repositories || [];
12
13
  // Check if we're in setup waiting mode (no repositories + SYLAS_SETUP_PENDING flag)
13
14
  if (repositories.length === 0 &&
14
15
  process.env.SYLAS_SETUP_PENDING === "true") {
@@ -21,6 +22,20 @@ export class StartCommand extends BaseCommand {
21
22
  // Keep process alive and wait for configuration
22
23
  return;
23
24
  }
25
+ if (repositories.length === 0) {
26
+ const onboarding = new OnboardingService(this.app);
27
+ const success = await onboarding.run();
28
+ if (!success) {
29
+ this.logger.error("Setup cancelled.");
30
+ await this.app.shutdown();
31
+ process.exit(1);
32
+ }
33
+ const updatedConfig = this.app.config.load();
34
+ const updatedRepos = updatedConfig.repositories || [];
35
+ if (updatedRepos.length > 0) {
36
+ repositories = updatedRepos;
37
+ }
38
+ }
24
39
  // Check if we're in idle mode (no repositories, post-onboarding)
25
40
  if (repositories.length === 0) {
26
41
  // Enable idle mode and start config watcher
@@ -1 +1 @@
1
- {"version":3,"file":"StartCommand.js","sourceRoot":"","sources":["../../src/commands/StartCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StartCommand.js","sourceRoot":"","sources":["../../src/commands/StartCommand.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { EdgeConfig } from "sylas-core";
2
+ export interface OAuthTokens {
3
+ accessToken: string;
4
+ refreshToken?: string;
5
+ }
6
+ export interface WorkspaceInfo {
7
+ id: string;
8
+ name: string;
9
+ }
10
+ export declare class AuthFlowService {
11
+ private server;
12
+ private callbackPort;
13
+ getCallbackPort(): number;
14
+ waitForCallback(clientId: string): Promise<string>;
15
+ exchangeCodeForTokens(code: string, clientId: string, clientSecret: string): Promise<OAuthTokens>;
16
+ fetchWorkspaceInfo(accessToken: string): Promise<WorkspaceInfo>;
17
+ overwriteRepoConfigTokens(config: EdgeConfig, configPath: string, tokens: OAuthTokens, workspace: WorkspaceInfo): void;
18
+ cleanup(): Promise<void>;
19
+ }
20
+ //# sourceMappingURL=AuthFlowService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthFlowService.d.ts","sourceRoot":"","sources":["../../src/services/AuthFlowService.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,MAAM,WAAW,WAAW;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACb;AAED,qBAAa,eAAe;IAC3B,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,YAAY,CAAyD;IAE7E,eAAe,IAAI,MAAM;IAInB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgFlD,qBAAqB,CAC1B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GAClB,OAAO,CAAC,WAAW,CAAC;IA0CjB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAYrE,yBAAyB,CACxB,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,aAAa,GACtB,IAAI;IAiBD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM9B"}