visionclaw 0.1.32 → 0.1.34

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 (87) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/assets/avatars/abstract.jpg +0 -0
  3. package/assets/avatars/cat.jpg +0 -0
  4. package/assets/avatars/fox.jpg +0 -0
  5. package/assets/avatars/orb.jpg +0 -0
  6. package/assets/avatars/owl.jpg +0 -0
  7. package/assets/avatars/robot.jpg +0 -0
  8. package/assets/avatars/visionclaw.jpg +0 -0
  9. package/dist/agent/context.d.ts +2 -1
  10. package/dist/agent/context.d.ts.map +1 -1
  11. package/dist/agent/context.js +2 -2
  12. package/dist/agent/context.js.map +1 -1
  13. package/dist/agent/loop.d.ts +2 -1
  14. package/dist/agent/loop.d.ts.map +1 -1
  15. package/dist/agent/loop.js +111 -8
  16. package/dist/agent/loop.js.map +1 -1
  17. package/dist/agent/session.d.ts +3 -1
  18. package/dist/agent/session.d.ts.map +1 -1
  19. package/dist/agent/session.js +7 -4
  20. package/dist/agent/session.js.map +1 -1
  21. package/dist/agent/system-prompt.d.ts +2 -2
  22. package/dist/agent/system-prompt.d.ts.map +1 -1
  23. package/dist/agent/system-prompt.js +14 -10
  24. package/dist/agent/system-prompt.js.map +1 -1
  25. package/dist/channels/discord.d.ts +7 -0
  26. package/dist/channels/discord.d.ts.map +1 -1
  27. package/dist/channels/discord.js +10 -2
  28. package/dist/channels/discord.js.map +1 -1
  29. package/dist/channels/gmail.js +1 -1
  30. package/dist/channels/gmail.js.map +1 -1
  31. package/dist/channels/interface.d.ts +8 -0
  32. package/dist/channels/interface.d.ts.map +1 -1
  33. package/dist/channels/manager.d.ts +10 -0
  34. package/dist/channels/manager.d.ts.map +1 -1
  35. package/dist/channels/manager.js +23 -0
  36. package/dist/channels/manager.js.map +1 -1
  37. package/dist/channels/telegram.d.ts +7 -0
  38. package/dist/channels/telegram.d.ts.map +1 -1
  39. package/dist/channels/telegram.js +18 -4
  40. package/dist/channels/telegram.js.map +1 -1
  41. package/dist/config/index.d.ts +10 -1
  42. package/dist/config/index.d.ts.map +1 -1
  43. package/dist/config/index.js +56 -1
  44. package/dist/config/index.js.map +1 -1
  45. package/dist/config/types.d.ts +23 -9
  46. package/dist/config/types.d.ts.map +1 -1
  47. package/dist/config/types.js +22 -7
  48. package/dist/config/types.js.map +1 -1
  49. package/dist/index.js +31 -16
  50. package/dist/index.js.map +1 -1
  51. package/dist/obs/notify.d.ts.map +1 -1
  52. package/dist/obs/notify.js +6 -5
  53. package/dist/obs/notify.js.map +1 -1
  54. package/dist/onboarding/index.d.ts +6 -1
  55. package/dist/onboarding/index.d.ts.map +1 -1
  56. package/dist/onboarding/index.js +25 -83
  57. package/dist/onboarding/index.js.map +1 -1
  58. package/dist/onboarding/onboarding-session.d.ts +33 -0
  59. package/dist/onboarding/onboarding-session.d.ts.map +1 -0
  60. package/dist/onboarding/onboarding-session.js +207 -0
  61. package/dist/onboarding/onboarding-session.js.map +1 -0
  62. package/dist/onboarding/onboarding-tools.d.ts +43 -0
  63. package/dist/onboarding/onboarding-tools.d.ts.map +1 -0
  64. package/dist/onboarding/onboarding-tools.js +178 -0
  65. package/dist/onboarding/onboarding-tools.js.map +1 -0
  66. package/dist/onboarding/send-invite.d.ts +7 -0
  67. package/dist/onboarding/send-invite.d.ts.map +1 -0
  68. package/dist/onboarding/send-invite.js +61 -0
  69. package/dist/onboarding/send-invite.js.map +1 -0
  70. package/dist/onboarding/set-owner.d.ts +8 -0
  71. package/dist/onboarding/set-owner.d.ts.map +1 -0
  72. package/dist/onboarding/set-owner.js +53 -0
  73. package/dist/onboarding/set-owner.js.map +1 -0
  74. package/dist/onboarding/telegram-onboarding.d.ts +47 -0
  75. package/dist/onboarding/telegram-onboarding.d.ts.map +1 -0
  76. package/dist/onboarding/telegram-onboarding.js +208 -0
  77. package/dist/onboarding/telegram-onboarding.js.map +1 -0
  78. package/dist/reconfigure.d.ts.map +1 -1
  79. package/dist/reconfigure.js +49 -47
  80. package/dist/reconfigure.js.map +1 -1
  81. package/dist/tools/notify.d.ts +1 -0
  82. package/dist/tools/notify.d.ts.map +1 -1
  83. package/dist/tools/notify.js +27 -0
  84. package/dist/tools/notify.js.map +1 -1
  85. package/dist/tools/sleep-interval.js +5 -5
  86. package/dist/tools/sleep-interval.js.map +1 -1
  87. package/package.json +5 -2
@@ -12,12 +12,10 @@ export declare const ChannelConfigSchema: z.ZodObject<{
12
12
  telegram: z.ZodOptional<z.ZodObject<{
13
13
  enabled: z.ZodDefault<z.ZodBoolean>;
14
14
  botToken: z.ZodOptional<z.ZodString>;
15
- allowedChatIds: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
16
15
  }, z.core.$strip>>;
17
16
  discord: z.ZodOptional<z.ZodObject<{
18
17
  enabled: z.ZodDefault<z.ZodBoolean>;
19
18
  botToken: z.ZodOptional<z.ZodString>;
20
- allowedChannelIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
21
19
  }, z.core.$strip>>;
22
20
  }, z.core.$strip>;
23
21
  export type ChannelConfig = z.infer<typeof ChannelConfigSchema>;
@@ -33,25 +31,23 @@ export declare const ObsConfigSchema: z.ZodObject<{
33
31
  }>>;
34
32
  }, z.core.$strip>;
35
33
  export type ObsConfig = z.infer<typeof ObsConfigSchema>;
34
+ /**
35
+ * Pre-ship manufacturer config.
36
+ * Contains runtime dependencies and infrastructure settings.
37
+ */
36
38
  export declare const VisionClawConfigSchema: z.ZodObject<{
37
- agentName: z.ZodDefault<z.ZodString>;
38
- ownerName: z.ZodDefault<z.ZodString>;
39
- ownerEmail: z.ZodOptional<z.ZodString>;
40
39
  gmail: z.ZodEmail;
41
40
  googleClientId: z.ZodString;
42
41
  googleClientSecret: z.ZodString;
43
- phoneNumber: z.ZodOptional<z.ZodString>;
44
42
  anthropicApiKey: z.ZodString;
45
43
  channels: z.ZodDefault<z.ZodObject<{
46
44
  telegram: z.ZodOptional<z.ZodObject<{
47
45
  enabled: z.ZodDefault<z.ZodBoolean>;
48
46
  botToken: z.ZodOptional<z.ZodString>;
49
- allowedChatIds: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
50
47
  }, z.core.$strip>>;
51
48
  discord: z.ZodOptional<z.ZodObject<{
52
49
  enabled: z.ZodDefault<z.ZodBoolean>;
53
50
  botToken: z.ZodOptional<z.ZodString>;
54
- allowedChannelIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
55
51
  }, z.core.$strip>>;
56
52
  }, z.core.$strip>>;
57
53
  obs: z.ZodDefault<z.ZodObject<{
@@ -65,8 +61,26 @@ export declare const VisionClawConfigSchema: z.ZodObject<{
65
61
  off: "off";
66
62
  }>>;
67
63
  }, z.core.$strip>>;
68
- heartbeatIntervalMs: z.ZodDefault<z.ZodNumber>;
69
64
  skillsDir: z.ZodOptional<z.ZodString>;
70
65
  }, z.core.$strip>;
71
66
  export type VisionClawConfig = z.infer<typeof VisionClawConfigSchema>;
67
+ /**
68
+ * Post-ship owner config.
69
+ * Populated during Telegram onboarding after the agent is delivered.
70
+ */
71
+ export declare const OwnerConfigSchema: z.ZodObject<{
72
+ agentName: z.ZodDefault<z.ZodString>;
73
+ ownerName: z.ZodString;
74
+ ownerEmail: z.ZodString;
75
+ phoneNumber: z.ZodOptional<z.ZodString>;
76
+ telegramChatId: z.ZodOptional<z.ZodNumber>;
77
+ allowedTelegramChatIds: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
78
+ allowedDiscordChannelIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
79
+ heartbeatIntervalMs: z.ZodDefault<z.ZodNumber>;
80
+ onboardingComplete: z.ZodDefault<z.ZodBoolean>;
81
+ onboardingCode: z.ZodOptional<z.ZodString>;
82
+ onboardingCodeVerified: z.ZodDefault<z.ZodBoolean>;
83
+ onboardedAt: z.ZodOptional<z.ZodString>;
84
+ }, z.core.$strip>;
85
+ export type OwnerConfig = z.infer<typeof OwnerConfigSchema>;
72
86
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,6BAA6B,QAAgB,CAAC;AAE3D,eAAO,MAAM,kBAAkB;;;;;;iBAM7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,mBAAmB;;;;;;;;;;;iBAe9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,eAAe;;;;;;;;;;iBAM1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmBjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,6BAA6B,QAAgB,CAAC;AAE3D,eAAO,MAAM,kBAAkB;;;;;;iBAM7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,mBAAmB;;;;;;;;;iBAa9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,eAAe;;;;;;;;;;iBAM1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAcjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;iBAa5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
@@ -13,14 +13,12 @@ export const ChannelConfigSchema = z.object({
13
13
  .object({
14
14
  enabled: z.boolean().default(false),
15
15
  botToken: z.string().optional(),
16
- allowedChatIds: z.array(z.number()).default([]),
17
16
  })
18
17
  .optional(),
19
18
  discord: z
20
19
  .object({
21
20
  enabled: z.boolean().default(false),
22
21
  botToken: z.string().optional(),
23
- allowedChannelIds: z.array(z.string()).default([]),
24
22
  })
25
23
  .optional(),
26
24
  });
@@ -31,14 +29,14 @@ export const ObsConfigSchema = z.object({
31
29
  bufferSize: z.number().int().default(1000),
32
30
  tunnel: z.enum(["cloudflared", "ngrok", "off"]).default("cloudflared"),
33
31
  });
32
+ /**
33
+ * Pre-ship manufacturer config.
34
+ * Contains runtime dependencies and infrastructure settings.
35
+ */
34
36
  export const VisionClawConfigSchema = z.object({
35
- agentName: z.string().default("VisionClaw"),
36
- ownerName: z.string().default(""),
37
- ownerEmail: z.string().optional(),
38
37
  gmail: z.email(),
39
38
  googleClientId: z.string(),
40
39
  googleClientSecret: z.string(),
41
- phoneNumber: z.string().optional(),
42
40
  anthropicApiKey: z.string(),
43
41
  channels: ChannelConfigSchema.default({}),
44
42
  obs: ObsConfigSchema.default({
@@ -48,7 +46,24 @@ export const VisionClawConfigSchema = z.object({
48
46
  bufferSize: 1000,
49
47
  tunnel: "cloudflared",
50
48
  }),
51
- heartbeatIntervalMs: z.number().default(DEFAULT_HEARTBEAT_INTERVAL_MS),
52
49
  skillsDir: z.string().optional(),
53
50
  });
51
+ /**
52
+ * Post-ship owner config.
53
+ * Populated during Telegram onboarding after the agent is delivered.
54
+ */
55
+ export const OwnerConfigSchema = z.object({
56
+ agentName: z.string().default("VisionClaw"),
57
+ ownerName: z.string(),
58
+ ownerEmail: z.string().min(1).refine((v) => v.includes("@"), { message: "Invalid email" }),
59
+ phoneNumber: z.string().optional(),
60
+ telegramChatId: z.number().optional(),
61
+ allowedTelegramChatIds: z.array(z.number()).default([]),
62
+ allowedDiscordChannelIds: z.array(z.string()).default([]),
63
+ heartbeatIntervalMs: z.number().default(DEFAULT_HEARTBEAT_INTERVAL_MS),
64
+ onboardingComplete: z.boolean().default(false),
65
+ onboardingCode: z.string().optional(),
66
+ onboardingCodeVerified: z.boolean().default(false),
67
+ onboardedAt: z.string().optional(),
68
+ });
54
69
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
- import { setProfile, getProfile, configExists, loadConfig } from "./config/index.js";
2
+ import { setProfile, getProfile, configExists, loadConfig, isOnboardingComplete } from "./config/index.js";
3
3
  import { logger } from "./logger.js";
4
- import { runOnboarding } from "./onboarding/index.js";
4
+ import { runSetup } from "./onboarding/index.js";
5
5
  import { installBuiltinSkills } from "./skills/install.js";
6
6
  import { startAgentLoop, getAgentState } from "./agent/loop.js";
7
7
  import { startObsServer } from "./obs/server.js";
@@ -24,7 +24,7 @@ function printHelp() {
24
24
  console.log(`VisionClaw\n\nUsage:\n visionclaw [--profile <name>] [--debug]\n\nOptions:\n --profile <name> Use a specific profile (default: "default")\n -d, --debug Enable debug logging (sets LOG_LEVEL=debug)\n -v, --version Print version and exit\n -h, --help Show this help and exit\n`);
25
25
  }
26
26
  function printCommandHelp() {
27
- console.log(`VisionClaw\n\nUsage:\n visionclaw [command] [options]\n\nCommands:\n reconfigure Update an existing profile without starting the agent\n reinstall-skills Reinstall built-in skills (does not start the agent)\n\nGlobal options:\n --profile <name> Use a specific profile (default: "default")\n -d, --debug Enable debug logging (sets LOG_LEVEL=debug)\n -v, --version Print version and exit\n -h, --help Show this help and exit\n`);
27
+ console.log(`VisionClaw\n\nUsage:\n visionclaw [command] [options]\n\nCommands:\n setup Run manufacturer (pre-ship) setup without starting the agent\n set-owner Set the owner email for post-ship onboarding\n reconfigure Update an existing profile without starting the agent\n reinstall-skills Reinstall built-in skills (does not start the agent)\n\nGlobal options:\n --profile <name> Use a specific profile (default: "default")\n -d, --debug Enable debug logging (sets LOG_LEVEL=debug)\n -v, --version Print version and exit\n -h, --help Show this help and exit\n`);
28
28
  }
29
29
  async function printVersionAndExit() {
30
30
  try {
@@ -73,6 +73,21 @@ async function main() {
73
73
  logger.system(`VisionClaw - Personal Desktop Agent`);
74
74
  logger.system(`Profile: ${getProfile()}\n`);
75
75
  // Subcommands
76
+ if (parsed.command === "setup") {
77
+ if (configExists()) {
78
+ logger.system(`Profile "${parsed.profile}" is already configured. Use "reconfigure" to update it.`);
79
+ return;
80
+ }
81
+ logger.system(`Starting manufacturer setup for profile "${parsed.profile}"...\n`);
82
+ await runSetup();
83
+ logger.system("\nManufacturer setup complete!");
84
+ process.exit(0);
85
+ }
86
+ if (parsed.command === "set-owner") {
87
+ const { runSetOwner } = (await import("./onboarding/set-owner.js"));
88
+ runSetOwner(parsed.commandArgs);
89
+ return;
90
+ }
76
91
  if (parsed.command === "reconfigure") {
77
92
  // NOTE: Under Node16 moduleResolution, runtime ESM imports require an explicit extension.
78
93
  // This resolves at runtime after compilation because `dist/reconfigure.js` exists.
@@ -92,19 +107,17 @@ async function main() {
92
107
  printCommandHelp();
93
108
  process.exit(1);
94
109
  }
95
- // If no config exists for this profile, run onboarding
110
+ // If no config exists for this profile, run manufacturer onboarding
96
111
  if (!configExists()) {
97
- logger.system(`No configuration found for profile "${parsed.profile}". Starting onboarding...\n`);
98
- await runOnboarding();
99
- logger.system("\nOnboarding complete! Starting agent...\n");
112
+ logger.system(`No configuration found for profile "${parsed.profile}". Starting manufacturer setup...\n`);
113
+ await runSetup();
114
+ logger.system("\nManufacturer setup complete!\n");
100
115
  }
101
116
  // Install/update built-in skills (safe to call on every startup)
102
117
  installBuiltinSkills();
103
118
  const config = loadConfig();
104
119
  logger.system(`Agent identity: ${config.gmail}`);
105
- logger.system(`Heartbeat interval: ${config.heartbeatIntervalMs / 1000}s`);
106
- logger.system("");
107
- // Start runtime observability server (advanced config; not part of onboarding)
120
+ // Start runtime observability server
108
121
  if (config.obs.enabled) {
109
122
  const obs = startObsServer({
110
123
  host: config.obs.host || "0.0.0.0",
@@ -139,19 +152,21 @@ async function main() {
139
152
  obs.tunnelUrl
140
153
  .then((url) => {
141
154
  if (url) {
142
- notifyOwnerTunnelUrl(url, config).catch(() => {
143
- // notification errors are already logged inside notifyOwnerTunnelUrl
144
- });
155
+ if (isOnboardingComplete()) {
156
+ notifyOwnerTunnelUrl(url, config).catch((_err) => {
157
+ // notification errors are logged inside notifyOwnerTunnelUrl
158
+ });
159
+ }
145
160
  }
146
161
  })
147
- .catch(() => {
148
- // tunnel errors are already logged inside startTunnel
162
+ .catch((_err) => {
163
+ // tunnel errors are logged inside startTunnel
149
164
  });
150
165
  }
151
166
  // Cache display size for computer_use tools (macOS)
152
167
  const { initDisplaySize } = await import("./tools/desktop-executor.js");
153
168
  await initDisplaySize();
154
- // Start the main agent loop
169
+ // Start the main agent loop (handles onboarding gate internally)
155
170
  await startAgentLoop(config);
156
171
  }
157
172
  main().catch((err) => {
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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../src/obs/notify.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,IAAI,CAAC,CAgDf"}
1
+ {"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../src/obs/notify.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,IAAI,CAAC,CAiDf"}
@@ -16,11 +16,12 @@ export async function notifyOwnerTunnelUrl(tunnelUrl, config) {
16
16
  logger.warn("Cannot notify tunnel URL — agent state not yet initialized");
17
17
  return;
18
18
  }
19
+ const { ownerConfig } = state;
19
20
  const message = `VisionClaw console is now publicly accessible:\n${tunnelUrl}/console`;
20
- const { telegram, discord } = config.channels;
21
+ const { discord } = config.channels;
21
22
  const tasks = [];
22
- if (telegram?.enabled && telegram.allowedChatIds.length > 0) {
23
- for (const chatId of telegram.allowedChatIds) {
23
+ if (config.channels.telegram?.enabled && ownerConfig.allowedTelegramChatIds.length > 0) {
24
+ for (const chatId of ownerConfig.allowedTelegramChatIds) {
24
25
  tasks.push(state.channelManager
25
26
  .sendMessage("telegram", String(chatId), message)
26
27
  .catch((err) => {
@@ -28,8 +29,8 @@ export async function notifyOwnerTunnelUrl(tunnelUrl, config) {
28
29
  }));
29
30
  }
30
31
  }
31
- if (discord?.enabled && discord.allowedChannelIds.length > 0) {
32
- for (const channelId of discord.allowedChannelIds) {
32
+ if (discord?.enabled && ownerConfig.allowedDiscordChannelIds.length > 0) {
33
+ for (const channelId of ownerConfig.allowedDiscordChannelIds) {
33
34
  tasks.push(state.channelManager
34
35
  .sendMessage("discord", channelId, message)
35
36
  .catch((err) => {
@@ -1 +1 @@
1
- {"version":3,"file":"notify.js","sourceRoot":"","sources":["../../src/obs/notify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,SAAiB,EACjB,MAAwB;IAExB,IAAI,KAAK,CAAC;IACV,IAAI,CAAC;QACH,KAAK,GAAG,aAAa,EAAE,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,mDAAmD,SAAS,UAAU,CAAC;IACvF,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;IAE9C,MAAM,KAAK,GAAoB,EAAE,CAAC;IAElC,IAAI,QAAQ,EAAE,OAAO,IAAI,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5D,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC7C,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,cAAc;iBACjB,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;iBAChD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBACtB,MAAM,CAAC,IAAI,CACT,8CAA8C,MAAM,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC5G,CAAC;YACJ,CAAC,CAAC,CACL,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7D,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAClD,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,cAAc;iBACjB,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;iBAC1C,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBACtB,MAAM,CAAC,IAAI,CACT,gDAAgD,SAAS,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACjH,CAAC;YACJ,CAAC,CAAC,CACL,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,MAAM,CAAC,wDAAwD,SAAS,EAAE,CAAC,CAAC;QACnF,OAAO;IACT,CAAC;IAED,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"notify.js","sourceRoot":"","sources":["../../src/obs/notify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,SAAiB,EACjB,MAAwB;IAExB,IAAI,KAAK,CAAC;IACV,IAAI,CAAC;QACH,KAAK,GAAG,aAAa,EAAE,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAC9B,MAAM,OAAO,GAAG,mDAAmD,SAAS,UAAU,CAAC;IACvF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;IAEpC,MAAM,KAAK,GAAoB,EAAE,CAAC;IAElC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,IAAI,WAAW,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvF,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,sBAAsB,EAAE,CAAC;YACxD,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,cAAc;iBACjB,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;iBAChD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBACtB,MAAM,CAAC,IAAI,CACT,8CAA8C,MAAM,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC5G,CAAC;YACJ,CAAC,CAAC,CACL,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,OAAO,EAAE,OAAO,IAAI,WAAW,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxE,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,wBAAwB,EAAE,CAAC;YAC7D,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,cAAc;iBACjB,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;iBAC1C,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBACtB,MAAM,CAAC,IAAI,CACT,gDAAgD,SAAS,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACjH,CAAC;YACJ,CAAC,CAAC,CACL,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,MAAM,CAAC,wDAAwD,SAAS,EAAE,CAAC,CAAC;QACnF,OAAO;IACT,CAAC;IAED,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC"}
@@ -1,2 +1,7 @@
1
- export declare function runOnboarding(): Promise<void>;
1
+ /**
2
+ * Pre-ship manufacturer setup.
3
+ * Collects runtime dependencies and infrastructure config only.
4
+ * Owner identity is set separately via `visionclaw set-owner`.
5
+ */
6
+ export declare function runSetup(): Promise<void>;
2
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/onboarding/index.ts"],"names":[],"mappings":"AAYA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CA+SnD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/onboarding/index.ts"],"names":[],"mappings":"AAYA;;;;GAIG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAsO9C"}
@@ -4,13 +4,17 @@ import { saveConfig, ensureConfigDir } from "../config/index.js";
4
4
  import { runGoogleOAuth } from "./google-auth.js";
5
5
  import { checkMacOSPermissions } from "./macos-permissions.js";
6
6
  import { installBuiltinSkills } from "../skills/install.js";
7
- import { DEFAULT_HEARTBEAT_INTERVAL_MS } from "../config/types.js";
8
7
  function isBinaryAvailable(name) {
9
8
  return spawnSync(name, ["--version"], { stdio: "ignore" }).status === 0;
10
9
  }
11
- export async function runOnboarding() {
10
+ /**
11
+ * Pre-ship manufacturer setup.
12
+ * Collects runtime dependencies and infrastructure config only.
13
+ * Owner identity is set separately via `visionclaw set-owner`.
14
+ */
15
+ export async function runSetup() {
12
16
  ensureConfigDir();
13
- console.log("=== VisionClaw Onboarding ===\n");
17
+ console.log("=== VisionClaw Manufacturer Setup ===\n");
14
18
  // --- macOS permission check (screen recording + accessibility) ---
15
19
  const permissionsOk = await checkMacOSPermissions();
16
20
  if (!permissionsOk) {
@@ -21,29 +25,12 @@ export async function runOnboarding() {
21
25
  initial: true,
22
26
  }));
23
27
  if (!continueResult.continueSetup) {
24
- console.log("\nPlease grant the required permissions and run onboarding again.");
28
+ console.log("\nPlease grant the required permissions and run setup again.");
25
29
  process.exit(0);
26
30
  }
27
31
  }
28
32
  console.log("VisionClaw needs a dedicated Gmail account to serve as its identity.");
29
33
  console.log("The agent will use this account for email and Google Calendar.\n");
30
- // --- Required: Owner identity ---
31
- const ownerNameResult = (await prompts({
32
- type: "text",
33
- name: "ownerName",
34
- message: "Your name (the agent's owner):",
35
- validate: (v) => v.trim().length > 0 ? true : "Name is required",
36
- }));
37
- const ownerName = ownerNameResult.ownerName;
38
- if (!ownerName) {
39
- throw new Error("Onboarding cancelled");
40
- }
41
- const ownerEmailResult = (await prompts({
42
- type: "text",
43
- name: "ownerEmail",
44
- message: "Your personal email (so the agent can identify you):",
45
- }));
46
- const ownerEmail = ownerEmailResult.ownerEmail;
47
34
  // --- Required: Anthropic API Key ---
48
35
  const anthropicResult = (await prompts({
49
36
  type: "password",
@@ -53,7 +40,7 @@ export async function runOnboarding() {
53
40
  }));
54
41
  const anthropicApiKey = anthropicResult.anthropicApiKey;
55
42
  if (!anthropicApiKey) {
56
- throw new Error("Onboarding cancelled");
43
+ throw new Error("Setup cancelled");
57
44
  }
58
45
  // --- Required: Gmail address ---
59
46
  const gmailResult = (await prompts({
@@ -64,16 +51,8 @@ export async function runOnboarding() {
64
51
  }));
65
52
  const gmail = gmailResult.gmail;
66
53
  if (!gmail) {
67
- throw new Error("Onboarding cancelled");
54
+ throw new Error("Setup cancelled");
68
55
  }
69
- // --- Required: Agent name ---
70
- const agentNameResult = (await prompts({
71
- type: "text",
72
- name: "agentName",
73
- message: "Agent name:",
74
- initial: "VisionClaw",
75
- }));
76
- const agentName = agentNameResult.agentName;
77
56
  // --- Required: Google OAuth2 credentials ---
78
57
  console.log("\n--- Google Cloud OAuth2 Credentials ---");
79
58
  console.log("Create OAuth2 credentials at https://console.cloud.google.com/apis/credentials");
@@ -86,7 +65,7 @@ export async function runOnboarding() {
86
65
  }));
87
66
  const googleClientId = googleClientIdResult.googleClientId;
88
67
  if (!googleClientId) {
89
- throw new Error("Onboarding cancelled");
68
+ throw new Error("Setup cancelled");
90
69
  }
91
70
  const googleClientSecretResult = (await prompts({
92
71
  type: "password",
@@ -96,20 +75,19 @@ export async function runOnboarding() {
96
75
  }));
97
76
  const googleClientSecret = googleClientSecretResult.googleClientSecret;
98
77
  if (!googleClientSecret) {
99
- throw new Error("Onboarding cancelled");
78
+ throw new Error("Setup cancelled");
100
79
  }
101
80
  // Run Google OAuth flow
102
81
  console.log("\nStarting Google OAuth2 authorization...");
103
82
  await runGoogleOAuth(googleClientId, googleClientSecret);
104
83
  console.log("Google authorization successful!");
105
- // --- Required: At least one command channel ---
84
+ // --- Command Channels ---
106
85
  console.log("\n--- Command Channels ---");
107
- console.log("You need at least one channel to communicate with the agent.");
108
86
  console.log(`Gmail (${gmail.trim()}) is always available as a channel.\n`);
109
87
  const channelChoiceResult = (await prompts({
110
88
  type: "multiselect",
111
89
  name: "channels",
112
- message: "Which channels do you want to enable?",
90
+ message: "Which additional channels do you want to enable?",
113
91
  choices: [
114
92
  { title: `Gmail (${gmail.trim()})`, value: "gmail", selected: true },
115
93
  { title: "Telegram", value: "telegram" },
@@ -120,11 +98,10 @@ export async function runOnboarding() {
120
98
  }));
121
99
  const selectedChannels = channelChoiceResult.channels ?? ["gmail"];
122
100
  if (selectedChannels.length === 0) {
123
- throw new Error("At least one channel is required. Onboarding cancelled.");
101
+ throw new Error("At least one channel is required. Setup cancelled.");
124
102
  }
125
- // --- Telegram setup ---
103
+ // --- Telegram setup (bot token only, chat IDs come from owner setup) ---
126
104
  let telegramBotToken;
127
- let telegramChatIds = [];
128
105
  if (selectedChannels.includes("telegram")) {
129
106
  const telegramResult = (await prompts({
130
107
  type: "text",
@@ -134,22 +111,11 @@ export async function runOnboarding() {
134
111
  }));
135
112
  telegramBotToken = telegramResult.botToken;
136
113
  if (!telegramBotToken) {
137
- throw new Error("Telegram bot token is required. Onboarding cancelled.");
138
- }
139
- console.log("\nTo find your Telegram Chat ID, message @userinfobot on Telegram -- it will reply with your ID.");
140
- const chatIdResult = (await prompts({
141
- type: "text",
142
- name: "chatId",
143
- message: "Your Telegram Chat ID (numeric, e.g. 5788338436):",
144
- validate: (v) => /^\d+$/.test(v.trim()) ? true : "Must be a numeric Chat ID",
145
- }));
146
- if (chatIdResult.chatId) {
147
- telegramChatIds = [Number(chatIdResult.chatId)];
114
+ throw new Error("Telegram bot token is required. Setup cancelled.");
148
115
  }
149
116
  }
150
- // --- Discord setup ---
117
+ // --- Discord Setup ---
151
118
  let discordBotToken;
152
- let discordChannelIds = [];
153
119
  if (selectedChannels.includes("discord")) {
154
120
  console.log("\nCreate a bot at https://discord.com/developers/applications");
155
121
  console.log("Enable MESSAGE CONTENT intent under Bot settings.\n");
@@ -161,24 +127,9 @@ export async function runOnboarding() {
161
127
  }));
162
128
  discordBotToken = discordResult.botToken;
163
129
  if (!discordBotToken) {
164
- throw new Error("Discord bot token is required. Onboarding cancelled.");
165
- }
166
- const channelIdResult = (await prompts({
167
- type: "text",
168
- name: "channelId",
169
- message: "Discord channel ID to listen on (right-click channel > Copy Channel ID, or leave blank for DMs only):",
170
- }));
171
- if (channelIdResult.channelId?.trim()) {
172
- discordChannelIds = [channelIdResult.channelId.trim()];
130
+ throw new Error("Discord bot token is required. Setup cancelled.");
173
131
  }
174
132
  }
175
- // --- Optional: Phone number ---
176
- const phoneNumberResult = (await prompts({
177
- type: "text",
178
- name: "phoneNumber",
179
- message: "Phone number (optional, for reference):",
180
- }));
181
- const phoneNumber = phoneNumberResult.phoneNumber;
182
133
  // --- Remote access: OBS tunnel ---
183
134
  console.log("\n--- Remote Access (OBS Tunnel) ---");
184
135
  const hasCloudfared = isBinaryAvailable("cloudflared");
@@ -200,7 +151,6 @@ export async function runOnboarding() {
200
151
  console.log("Found: ngrok — tunnel will use ngrok by default.\n");
201
152
  }
202
153
  else {
203
- // Both available — let the user choose
204
154
  const tunnelResult = (await prompts({
205
155
  type: "select",
206
156
  name: "tunnel",
@@ -218,25 +168,18 @@ export async function runOnboarding() {
218
168
  const enabledList = selectedChannels.join(", ");
219
169
  console.log(`\nEnabled channels: ${enabledList}`);
220
170
  const config = {
221
- agentName: agentName ?? "VisionClaw",
222
- ownerName: ownerName.trim(),
223
- ownerEmail: typeof ownerEmail === "string" ? ownerEmail.trim() || undefined : undefined,
224
171
  gmail: gmail.trim(),
225
172
  googleClientId: googleClientId.trim(),
226
173
  googleClientSecret: googleClientSecret.trim(),
227
- phoneNumber: typeof phoneNumber === "string" ? phoneNumber.trim() || undefined : undefined,
228
174
  anthropicApiKey: anthropicApiKey.trim(),
229
175
  channels: {
230
176
  telegram: telegramBotToken
231
- ? { enabled: true, botToken: telegramBotToken, allowedChatIds: telegramChatIds }
232
- : { enabled: false, allowedChatIds: [] },
177
+ ? { enabled: true, botToken: telegramBotToken }
178
+ : { enabled: false },
233
179
  discord: discordBotToken
234
- ? { enabled: true, botToken: discordBotToken, allowedChannelIds: discordChannelIds }
235
- : { enabled: false, allowedChannelIds: [] },
180
+ ? { enabled: true, botToken: discordBotToken }
181
+ : { enabled: false },
236
182
  },
237
- // Advanced configuration (not prompted during onboarding)
238
- // Defaults are applied by the schema, but include explicit values to keep
239
- // the generated config file self-describing.
240
183
  obs: {
241
184
  enabled: true,
242
185
  host: "127.0.0.1",
@@ -244,11 +187,10 @@ export async function runOnboarding() {
244
187
  bufferSize: 1000,
245
188
  tunnel: tunnelChoice,
246
189
  },
247
- heartbeatIntervalMs: DEFAULT_HEARTBEAT_INTERVAL_MS,
248
190
  };
249
191
  saveConfig(config);
250
- // Install built-in skills (e.g. transcribe-audio)
251
192
  installBuiltinSkills();
252
- console.log("Configuration saved successfully!");
193
+ console.log("Manufacturer configuration saved successfully!");
194
+ console.log('\nNext step: run "visionclaw set-owner --email <owner-email>" to set up the owner.');
253
195
  }
254
196
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/onboarding/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/onboarding/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { type McpServerConfig } from "@anthropic-ai/claude-agent-sdk";
2
+ import type { VisionClawConfig } from "../config/types.js";
3
+ export interface OnboardingReply {
4
+ text: string;
5
+ completed: boolean;
6
+ }
7
+ /**
8
+ * Lightweight Agent SDK session for onboarding.
9
+ *
10
+ * Each call to `sendAndGetReply` creates a one-shot `query()` call
11
+ * (resumed from the saved session ID if available) and streams the
12
+ * response to collect text and detect tool calls.
13
+ */
14
+ export declare class OnboardingSession {
15
+ private config;
16
+ private ownerEmail;
17
+ private sessionId;
18
+ private mcpServers;
19
+ private onCompleted;
20
+ constructor(config: VisionClawConfig, ownerEmail: string, mcpServers: Record<string, McpServerConfig>);
21
+ /**
22
+ * Send a user message and collect the agent's text reply.
23
+ * Retries on timeout or transient errors when no text was collected.
24
+ * The optional `onRetry` callback is invoked before each retry attempt.
25
+ */
26
+ sendAndGetReply(userMessage: string, onRetry?: (attempt: number, maxRetries: number) => Promise<void>): Promise<OnboardingReply>;
27
+ private executeQuery;
28
+ private processMessage;
29
+ private captureSessionId;
30
+ getSessionId(): string | null;
31
+ setOnCompletedCallback(cb: () => void): void;
32
+ }
33
+ //# sourceMappingURL=onboarding-session.d.ts.map