onboardconnect-agent 0.1.1 → 1.1.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAKA,iBAAe,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CA2PtC;AAkHD,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAKA,iBAAe,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CA6DtC;AAmHD,eAAe,OAAO,CAAC"}
package/dist/setup.js CHANGED
@@ -3,239 +3,66 @@ import ora from "ora";
3
3
  import inquirer from "inquirer";
4
4
  import { OcStore } from "./store.js";
5
5
  async function ocSetup() {
6
- console.log(chalk.bold.blue("\n OnboardConnect On-Prem Agent — Setup Wizard\n"));
7
- console.log(chalk.gray(" This wizard will configure your on-premises agent.\n"));
8
- // Step 1: Prerequisites
9
- const spinner = ora("Checking prerequisites...").start();
10
- const nodeVersion = process.version;
11
- const major = parseInt(nodeVersion.slice(1).split(".")[0] ?? "0", 10);
6
+ console.log(chalk.bold.blue("\n OnboardConnect On-Prem Agent — Setup\n"));
7
+ // Node.js version check
8
+ const nodeSpinner = ora("Checking Node.js...").start();
9
+ const major = parseInt(process.version.slice(1).split(".")[0] ?? "0", 10);
12
10
  if (major < 18) {
13
- spinner.fail(`Node.js >= 18 required. Found: ${nodeVersion}`);
11
+ nodeSpinner.fail(`Node.js >= 18 required. Found: ${process.version}`);
14
12
  process.exit(1);
15
13
  }
16
- spinner.succeed(`Node.js ${nodeVersion} ✓`);
17
- // Check cloudflared
18
- const cloudflaredCheck = ora("Checking for cloudflared...").start();
19
- try {
20
- const { execSync } = await import("child_process");
21
- execSync("cloudflared --version", { stdio: "pipe" });
22
- cloudflaredCheck.succeed("cloudflared found ");
14
+ nodeSpinner.succeed(`Node.js ${process.version} ✓`);
15
+ // Accept token via --token flag or plain prompt
16
+ const tokenFlagIdx = process.argv.findIndex((a) => a === "--token" || a.startsWith("--token="));
17
+ let setupToken;
18
+ if (tokenFlagIdx !== -1) {
19
+ const arg = process.argv[tokenFlagIdx];
20
+ setupToken = arg.includes("=") ? arg.split("=").slice(1).join("=") : (process.argv[tokenFlagIdx + 1] ?? "");
21
+ console.log(chalk.gray(" Using token from --token flag."));
23
22
  }
24
- catch {
25
- cloudflaredCheck.warn("cloudflared not found");
26
- console.log(chalk.yellow("\n Please install cloudflared first:\n" +
27
- " https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/\n"));
28
- const { proceed } = await inquirer.prompt([{
29
- type: "confirm",
30
- name: "proceed",
31
- message: "Continue anyway?",
32
- default: false,
23
+ else {
24
+ const answer = await inquirer.prompt([{
25
+ type: "input",
26
+ name: "t",
27
+ message: "Paste your one-time setup token:",
28
+ validate: (v) => v.trim().length > 0 || "Token is required",
33
29
  }]);
34
- if (!proceed)
35
- process.exit(0);
30
+ setupToken = answer.t.trim();
36
31
  }
37
- // Step 2: Setup token
38
- console.log(chalk.bold("\n Step 1: Setup Token\n"));
39
- const { setupToken } = await inquirer.prompt([{
40
- type: "password",
41
- name: "setupToken",
42
- message: "Enter the one-time setup token from your Tenant Portal:",
43
- validate: (v) => v.length > 0 || "Token is required",
44
- }]);
45
- const tokenSpinner = ora("Exchanging setup token...").start();
32
+ // Exchange token
33
+ const tokenSpinner = ora("Registering agent...").start();
46
34
  let credentials;
47
35
  try {
48
- const response = await fetch(`${process.env["OC_API_BASE"] ?? "https://api.onboardconnectapp.com"}/api/tenant/agent/exchange-token`, {
36
+ const apiBase = process.env["OC_API_BASE"] ?? "https://api.onboardconnectapp.com";
37
+ const res = await fetch(`${apiBase}/api/tenant/agent/exchange-token`, {
49
38
  method: "POST",
50
39
  headers: { "Content-Type": "application/json" },
51
40
  body: JSON.stringify({ setupToken }),
52
41
  });
53
- if (!response.ok)
54
- throw new Error(`Token exchange failed: ${response.status}`);
55
- credentials = await response.json();
56
- tokenSpinner.succeed("Token exchanged successfully ✓");
42
+ if (!res.ok)
43
+ throw new Error(`${res.status}`);
44
+ credentials = await res.json();
45
+ tokenSpinner.succeed("Agent registered ✓");
57
46
  }
58
47
  catch (err) {
59
- tokenSpinner.fail(`Token exchange failed: ${err instanceof Error ? err.message : String(err)}`);
48
+ tokenSpinner.fail(`Registration failed: ${err instanceof Error ? err.message : String(err)}`);
60
49
  process.exit(1);
61
50
  }
62
- // Step 3: Agent name
63
- console.log(chalk.bold("\n Step 2: Agent Name\n"));
64
- const { agentName } = await inquirer.prompt([{
65
- type: "input",
66
- name: "agentName",
67
- message: "Name this agent (e.g. Main Campus DC):",
68
- validate: (v) => v.length > 0 || "Name is required",
69
- }]);
70
- // Step 4: LDAP configuration
71
- console.log(chalk.bold("\n Step 3: LDAP Configuration\n"));
72
- const { authMode } = await inquirer.prompt([{
73
- type: "list",
74
- name: "authMode",
75
- message: "LDAP authentication mode:",
76
- choices: [
77
- { name: "Explicit credentials (bind DN + password)", value: "explicit" },
78
- { name: "Windows Service Account (service runs as domain account — no password stored)", value: "service_account" },
79
- ],
80
- default: "explicit",
81
- }]);
82
- const ldapBase = await inquirer.prompt([
83
- { type: "input", name: "host", message: "LDAP server hostname or IP:", validate: (v) => v.length > 0 || "Required" },
84
- { type: "number", name: "port", message: "LDAP port:", default: authMode === "service_account" ? 389 : 636 },
85
- { type: "input", name: "baseDn", message: "Base DN (e.g. DC=university,DC=edu):", validate: (v) => v.length > 0 || "Required" },
86
- { type: "input", name: "defaultOu", message: "Default OU for new accounts (e.g. OU=Students,DC=university,DC=edu):", validate: (v) => v.length > 0 || "Required" },
87
- ]);
88
- let bindDn = "";
89
- let bindPassword = "";
90
- if (authMode === "explicit") {
91
- const creds = await inquirer.prompt([
92
- { type: "input", name: "bindDn", message: "Bind DN (e.g. CN=oc-service,OU=ServiceAccounts,DC=university,DC=edu):", validate: (v) => v.length > 0 || "Required" },
93
- { type: "password", name: "bindPassword", message: "Bind password:", validate: (v) => v.length > 0 || "Required" },
94
- ]);
95
- bindDn = creds.bindDn;
96
- bindPassword = creds.bindPassword;
97
- }
98
- else {
99
- console.log(chalk.gray("\n Service Account mode: the Windows service will authenticate to LDAP using\n" +
100
- " the domain account it runs as. Configure the service account in Windows\n" +
101
- " Services after setup completes (Services → OnboardConnect Agent → Log On).\n"));
102
- }
103
- const ldapAnswers = { ...ldapBase, bindDn, bindPassword, authMode, disabledOu: "" };
104
- const ldapSpinner = ora("Testing LDAP connection...").start();
105
- try {
106
- const { Client } = await import("ldapts");
107
- const proto = ldapAnswers.port === 636 ? "ldaps" : "ldap";
108
- const client = new Client({ url: `${proto}://${ldapAnswers.host}:${ldapAnswers.port}` });
109
- if (authMode === "explicit") {
110
- await client.bind(ldapAnswers.bindDn, ldapAnswers.bindPassword);
111
- }
112
- await client.unbind();
113
- ldapSpinner.succeed("LDAP connection successful ✓");
114
- }
115
- catch (err) {
116
- ldapSpinner.fail(`LDAP connection failed: ${err instanceof Error ? err.message : String(err)}`);
117
- const { cont } = await inquirer.prompt([{
118
- type: "confirm", name: "cont", message: "Continue setup anyway?", default: false,
119
- }]);
120
- if (!cont)
121
- process.exit(1);
122
- }
123
- // Step 5: Required file paths
124
- console.log(chalk.bold("\n Step 4: File Paths\n"));
125
- console.log(chalk.gray(" These directories are used by workflow steps that read from or write to\n" +
126
- " files on this machine. Use absolute paths the service account can access.\n"));
127
- const pathAnswers = await inquirer.prompt([
128
- {
129
- type: "input",
130
- name: "fileReadPath",
131
- message: "File read directory (agent reads input files from here):",
132
- validate: (v) => v.trim().length > 0 || "Required — e.g. C:\\OC\\Imports",
133
- },
134
- {
135
- type: "input",
136
- name: "fileWritePath",
137
- message: "File write directory (agent writes output files here):",
138
- validate: (v) => v.trim().length > 0 || "Required — e.g. C:\\OC\\Exports",
139
- },
140
- ]);
141
- // Step 6: Additional path aliases (optional)
142
- console.log(chalk.bold("\n Step 5: Additional Path Aliases (optional)\n"));
143
- console.log(chalk.gray(" Aliases let workflow steps reference files by a short token\n" +
144
- " (e.g. {slate_export}) instead of a full absolute path.\n" +
145
- " The read/write directories above are registered automatically.\n" +
146
- " Press Enter with a blank alias to skip.\n"));
147
- const paths = {
148
- read: pathAnswers.fileReadPath.trim(),
149
- write: pathAnswers.fileWritePath.trim(),
150
- };
151
- let addMore = true;
152
- while (addMore) {
153
- const { alias } = await inquirer.prompt([{
154
- type: "input",
155
- name: "alias",
156
- message: "Alias name (e.g. slate_export), or leave blank to finish:",
157
- }]);
158
- if (!alias.trim()) {
159
- addMore = false;
160
- }
161
- else {
162
- const { filePath } = await inquirer.prompt([{
163
- type: "input",
164
- name: "filePath",
165
- message: `Absolute path for {${alias}}:`,
166
- validate: (v) => v.length > 0 || "Path is required",
167
- }]);
168
- paths[alias.trim()] = filePath.trim();
169
- const { more } = await inquirer.prompt([{
170
- type: "confirm",
171
- name: "more",
172
- message: "Add another path alias?",
173
- default: false,
174
- }]);
175
- addMore = more;
176
- }
177
- }
178
- // Step 7: Service install
179
- console.log(chalk.bold("\n Step 6: Service Install\n"));
180
- const { installService } = await inquirer.prompt([{
181
- type: "confirm",
182
- name: "installService",
183
- message: "Install agent as a system service (auto-start on boot)?",
184
- default: true,
185
- }]);
186
- let serviceAccountUser = "";
187
- let serviceAccountPassword = "";
188
- if (installService && authMode === "service_account" && process.platform === "win32") {
189
- console.log(chalk.gray("\n Enter the domain account the service will run as for LDAP access.\n"));
190
- const svcAcct = await inquirer.prompt([
191
- { type: "input", name: "user", message: "Service account (DOMAIN\\username):", validate: (v) => v.includes("\\") || "Use DOMAIN\\username format" },
192
- { type: "password", name: "password", message: "Service account password:", validate: (v) => v.length > 0 || "Required" },
193
- ]);
194
- serviceAccountUser = svcAcct.user;
195
- serviceAccountPassword = svcAcct.password;
196
- }
197
- // Save all credentials and paths
51
+ // Save credentials
198
52
  const store = new OcStore();
199
53
  await store.saveCredentials({ ...credentials });
200
- await store.saveLdapCredentials({
201
- host: ldapAnswers.host,
202
- port: ldapAnswers.port,
203
- baseDn: ldapAnswers.baseDn,
204
- bindDn: ldapAnswers.bindDn,
205
- bindPassword: ldapAnswers.bindPassword,
206
- authMode: ldapAnswers.authMode,
207
- defaultOu: ldapAnswers.defaultOu,
208
- disabledOu: null,
209
- });
210
- await store.savePaths(paths);
211
- if (installService) {
212
- await installSystemService(agentName, serviceAccountUser, serviceAccountPassword);
213
- await ocOpenAgentUi();
214
- }
54
+ // Install and start Windows service
55
+ await installSystemService();
56
+ // Open the UI — all further config is done there
57
+ await ocOpenAgentUi();
215
58
  console.log(chalk.bold.green("\n ✓ Setup complete!\n"));
216
59
  console.log(chalk.gray(` Agent ID: ${credentials.agentId}`));
217
- console.log(chalk.gray(` Tenant ID: ${credentials.tenantId}`));
218
- console.log(chalk.gray(` Read path: ${pathAnswers.fileReadPath}`));
219
- console.log(chalk.gray(` Write path: ${pathAnswers.fileWritePath}`));
220
- console.log(chalk.gray(` Config file: ${store.configPath}`));
221
- if (Object.keys(paths).length > 2) {
222
- console.log(chalk.gray(` Path aliases:`));
223
- for (const [k, v] of Object.entries(paths)) {
224
- if (k !== "read" && k !== "write")
225
- console.log(chalk.gray(` {${k}} → ${v}`));
226
- }
227
- }
228
- if (authMode === "service_account" && installService) {
229
- console.log(chalk.yellow("\n Remember: set the service Log On account in Windows Services → OnboardConnect Agent → Properties → Log On.\n"));
230
- }
231
- console.log(chalk.gray(`\n View agent status: https://portal.onboardconnectapp.com/agents\n`));
232
- if (!installService) {
233
- console.log(chalk.yellow(" To start the agent manually: npx onboardconnect-agent start\n"));
234
- }
60
+ console.log(chalk.gray(` Config: ${store.configPath}`));
61
+ console.log(chalk.cyan(`\n Open http://localhost:7432 to configure LDAP, file paths, and more.\n`));
235
62
  }
236
63
  async function ocOpenAgentUi() {
237
64
  const UI_URL = "http://localhost:7432";
238
- const spinner = ora("Waiting for agent UI to start...").start();
65
+ const spinner = ora("Waiting for agent UI...").start();
239
66
  const deadline = Date.now() + 30_000;
240
67
  let ready = false;
241
68
  while (Date.now() < deadline) {
@@ -250,10 +77,10 @@ async function ocOpenAgentUi() {
250
77
  await new Promise((r) => setTimeout(r, 1500));
251
78
  }
252
79
  if (!ready) {
253
- spinner.warn(`Agent UI not responding. Open ${UI_URL} in your browser manually.`);
80
+ spinner.warn(`Agent UI not responding yet — open ${UI_URL} in your browser manually.`);
254
81
  return;
255
82
  }
256
- spinner.succeed(`Agent UI ready at ${UI_URL}`);
83
+ spinner.succeed(`Agent UI ready ${UI_URL}`);
257
84
  try {
258
85
  const { exec } = await import("child_process");
259
86
  const openCmd = process.platform === "win32" ? `cmd /c start "" "${UI_URL}"` :
@@ -261,54 +88,50 @@ async function ocOpenAgentUi() {
261
88
  `xdg-open ${UI_URL}`;
262
89
  exec(openCmd);
263
90
  }
264
- catch {
265
- console.log(chalk.gray(` Open your browser and navigate to: ${UI_URL}`));
266
- }
91
+ catch { /* browser open is best-effort */ }
267
92
  }
268
- async function installSystemService(agentName, serviceAccountUser = "", serviceAccountPassword = "") {
269
- const spinner = ora("Installing OnboardConnect Agent as a Windows service...").start();
93
+ async function installSystemService() {
94
+ const spinner = ora("Installing Windows service...").start();
270
95
  try {
271
96
  if (process.platform === "win32") {
272
97
  const { spawnSync } = await import("child_process");
273
- // Require Administrator — sc.exe will silently fail without it
274
98
  const adminCheck = spawnSync("net", ["session"], { stdio: "pipe" });
275
99
  if (adminCheck.status !== 0) {
276
- spinner.fail("Administrator privileges required. Re-run from an elevated PowerShell prompt (Run as Administrator).");
100
+ spinner.fail("Administrator privileges required. Re-run from an elevated PowerShell prompt.");
277
101
  return;
278
102
  }
279
103
  const nodePath = process.execPath;
280
104
  const scriptPath = process.argv[1];
281
105
  if (!scriptPath) {
282
- spinner.fail("Could not determine agent script path (process.argv[1] is empty).");
106
+ spinner.fail("Could not determine agent script path.");
283
107
  return;
284
108
  }
285
109
  const svcName = "OnboardConnectAgent";
286
- // binPath= value: node.exe + script, both quoted so spaces are handled
287
110
  const binPath = `"${nodePath}" "${scriptPath}"`;
288
- const logOnAcct = serviceAccountUser || "LocalSystem";
289
111
  // Remove any previous install
290
112
  spawnSync("sc", ["stop", svcName], { stdio: "pipe" });
291
113
  await new Promise((r) => setTimeout(r, 1500));
292
114
  spawnSync("sc", ["delete", svcName], { stdio: "pipe" });
293
115
  await new Promise((r) => setTimeout(r, 1000));
294
- // Create and configure the service
295
- const createArgs = [
116
+ // Create as LocalSystem no domain account prompts
117
+ const createResult = spawnSync("sc", [
296
118
  "create", svcName,
297
119
  "binPath=", binPath,
298
120
  "start=", "auto",
299
121
  "DisplayName=", "OnboardConnect Agent",
300
- "obj=", logOnAcct,
301
- ...(serviceAccountUser ? ["password=", serviceAccountPassword] : []),
302
- ];
303
- const createResult = spawnSync("sc", createArgs, { stdio: "pipe" });
122
+ "obj=", "LocalSystem",
123
+ ], { stdio: "pipe" });
304
124
  if (createResult.status !== 0) {
305
- throw new Error(createResult.stderr?.toString().trim() || createResult.stdout?.toString().trim() || "sc create failed");
125
+ throw new Error(createResult.stderr?.toString().trim() ||
126
+ createResult.stdout?.toString().trim() ||
127
+ "sc create failed");
306
128
  }
307
- const descSafe = agentName.replace(/"/g, "");
308
- spawnSync("sc", ["description", svcName, descSafe], { stdio: "pipe" });
129
+ spawnSync("sc", ["description", svcName, "OnboardConnect On-Prem Agent"], { stdio: "pipe" });
309
130
  const startResult = spawnSync("sc", ["start", svcName], { stdio: "pipe" });
310
131
  if (startResult.status !== 0) {
311
- throw new Error(startResult.stderr?.toString().trim() || startResult.stdout?.toString().trim() || "sc start failed");
132
+ throw new Error(startResult.stderr?.toString().trim() ||
133
+ startResult.stdout?.toString().trim() ||
134
+ "sc start failed");
312
135
  }
313
136
  }
314
137
  else {
package/dist/setup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "onboardconnect-agent",
3
- "version": "0.1.1",
3
+ "version": "1.1.3",
4
4
  "description": "OnboardConnect On-Prem Agent — LDAP provisioning bridge for on-premises Active Directory",
5
5
  "keywords": [
6
6
  "onboardconnect",