@diggerhq/anyware 0.7.3 → 0.7.5

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.
@@ -7,6 +7,8 @@ export interface ClaudeLocalOptions {
7
7
  claudeArgs?: string[];
8
8
  /** Path to temporary settings file with SessionStart hook (required for session tracking) */
9
9
  hookSettingsPath: string;
10
+ /** Callback to register a permission response handler - returns cleanup function */
11
+ onPermissionResponseReady?: (handler: (response: 'yes' | 'no' | 'always') => void) => () => void;
10
12
  }
11
13
  /**
12
14
  * Spawn Claude Code in local (interactive) mode
@@ -1 +1 @@
1
- {"version":3,"file":"claudeLocal.d.ts","sourceRoot":"","sources":["../../src/claude/claudeLocal.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,6FAA6F;IAC7F,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AA2CD;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA+IlF"}
1
+ {"version":3,"file":"claudeLocal.d.ts","sourceRoot":"","sources":["../../src/claude/claudeLocal.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,6FAA6F;IAC7F,gBAAgB,EAAE,MAAM,CAAC;IACzB,oFAAoF;IACpF,yBAAyB,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,GAAG,IAAI,GAAG,QAAQ,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;CAClG;AA2CD;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiLlF"}
@@ -84,11 +84,28 @@ export async function claudeLocal(opts) {
84
84
  // Add hook settings for session tracking (always passed)
85
85
  args.push('--settings', opts.hookSettingsPath);
86
86
  const child = spawn(claudePath, args, {
87
- stdio: ['inherit', 'inherit', 'inherit', 'pipe'],
87
+ stdio: ['pipe', 'inherit', 'inherit', 'pipe'],
88
88
  signal: opts.abort,
89
89
  cwd: opts.path,
90
90
  env: process.env,
91
91
  });
92
+ // Pipe stdin to child, but also allow programmatic input
93
+ const childStdin = child.stdin;
94
+ // Set up permission response handler
95
+ let cleanupPermissionHandler = null;
96
+ if (opts.onPermissionResponseReady) {
97
+ const permissionHandler = (response) => {
98
+ // Map response to what Claude expects
99
+ const keyMap = {
100
+ 'yes': 'y',
101
+ 'no': 'n',
102
+ 'always': 'a',
103
+ };
104
+ const key = keyMap[response] || 'y';
105
+ childStdin.write(key + '\n');
106
+ };
107
+ cleanupPermissionHandler = opts.onPermissionResponseReady(permissionHandler);
108
+ }
92
109
  // Listen to fd3 for thinking state tracking (if available)
93
110
  if (child.stdio[3]) {
94
111
  const rl = createInterface({
@@ -145,7 +162,19 @@ export async function claudeLocal(opts) {
145
162
  console.error('[local] Spawn error:', error);
146
163
  }
147
164
  });
165
+ // Track stdin data handler for cleanup
166
+ const stdinHandler = (data) => {
167
+ childStdin.write(data);
168
+ };
169
+ process.stdin.removeAllListeners('data');
170
+ process.stdin.on('data', stdinHandler);
148
171
  child.on('exit', (code, signal) => {
172
+ // Cleanup stdin handler
173
+ process.stdin.removeListener('data', stdinHandler);
174
+ // Cleanup permission handler
175
+ if (cleanupPermissionHandler) {
176
+ cleanupPermissionHandler();
177
+ }
149
178
  if (signal === 'SIGTERM' && opts.abort.aborted) {
150
179
  resolve();
151
180
  }
@@ -1 +1 @@
1
- {"version":3,"file":"claudeLocal.js","sourceRoot":"","sources":["../../src/claude/claudeLocal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claudeLocal.js","sourceRoot":"","sources":["../../src/claude/claudeLocal.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"claudeLocalLauncher.d.ts","sourceRoot":"","sources":["../../src/claude/claudeLocalLauncher.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAI5C,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEhD;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAiKpF"}
1
+ {"version":3,"file":"claudeLocalLauncher.d.ts","sourceRoot":"","sources":["../../src/claude/claudeLocalLauncher.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAsB,MAAM,cAAc,CAAC;AAIhE,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEhD;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAqLpF"}
@@ -92,6 +92,15 @@ export async function claudeLocalLauncher(session) {
92
92
  session.onSwitch(() => {
93
93
  doSwitch();
94
94
  });
95
+ // Track permission response handler for cleanup
96
+ let permissionResponseHandler = null;
97
+ // Set up permission response handler for local mode
98
+ // This allows web users to approve permissions while CLI is in local mode
99
+ session.onPermissionResponse((response) => {
100
+ if (permissionResponseHandler) {
101
+ permissionResponseHandler(response);
102
+ }
103
+ });
95
104
  // If there are already messages in the queue, switch to remote immediately
96
105
  if (session.queue.size() > 0) {
97
106
  return 'switch';
@@ -115,6 +124,14 @@ export async function claudeLocalLauncher(session) {
115
124
  abort: processAbortController.signal,
116
125
  claudeArgs: session.claudeArgs,
117
126
  hookSettingsPath,
127
+ onPermissionResponseReady: (handler) => {
128
+ // Register the handler so permission responses from web can be forwarded
129
+ permissionResponseHandler = handler;
130
+ // Return cleanup function
131
+ return () => {
132
+ permissionResponseHandler = null;
133
+ };
134
+ },
118
135
  });
119
136
  // Consume one-time flags after first spawn
120
137
  session.consumeOneTimeFlags();
@@ -141,6 +158,7 @@ export async function claudeLocalLauncher(session) {
141
158
  // Cleanup handlers
142
159
  session.onUserInput(null);
143
160
  session.onSwitch(null);
161
+ session.onPermissionResponse(null);
144
162
  session.removeSessionFoundCallback(scannerSessionCallback);
145
163
  // Cleanup scanner
146
164
  await scanner.cleanup();
@@ -1 +1 @@
1
- {"version":3,"file":"claudeLocalLauncher.js","sourceRoot":"","sources":["../../src/claude/claudeLocalLauncher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claudeLocalLauncher.js","sourceRoot":"","sources":["../../src/claude/claudeLocalLauncher.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ export declare class Session {
21
21
  private userInputHandler;
22
22
  private switchHandler;
23
23
  private permissionResolver;
24
+ private permissionResponseHandler;
24
25
  constructor(opts: SessionOptions);
25
26
  /**
26
27
  * Connect to the server WebSocket
@@ -62,6 +63,10 @@ export declare class Session {
62
63
  * Set handler for switch request
63
64
  */
64
65
  onSwitch(handler: (() => void) | null): void;
66
+ /**
67
+ * Set handler for permission response (used in local mode)
68
+ */
69
+ onPermissionResponse(handler: ((response: PermissionResponse) => void) | null): void;
65
70
  /**
66
71
  * Send Claude event to server
67
72
  */
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/claude/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAC;AAEzD,qBAAa,OAAO;IAClB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAE7B,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,qBAAqB,CAA0C;IACvE,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,kBAAkB,CAAyD;gBAEvE,IAAI,EAAE,cAAc;IAQhC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAa9B;;OAEG;IACH,OAAO,CAAC,aAAa;IA2BrB;;OAEG;IACH,IAAI,eAAe,IAAI,MAAM,GAAG,IAAI,CAEnC;IAED;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAS3C;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,EAAE,GAAG,SAAS,CAErC;IAED;;OAEG;IACH,uBAAuB,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIpE;;OAEG;IACH,0BAA0B,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAOvE;;OAEG;IACH,mBAAmB,IAAI,IAAI;IAyB3B;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;IAI/C;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;IAI5C;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAMrC;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAMrC;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI;IAM9C;;OAEG;IACH,yBAAyB,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAMxD;;OAEG;IACH,KAAK,IAAI,IAAI;CAMd"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/claude/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAC;AAEzD,qBAAa,OAAO;IAClB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAE7B,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,qBAAqB,CAA0C;IACvE,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,kBAAkB,CAAyD;IACnF,OAAO,CAAC,yBAAyB,CAAyD;gBAE9E,IAAI,EAAE,cAAc;IAQhC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAa9B;;OAEG;IACH,OAAO,CAAC,aAAa;IAgCrB;;OAEG;IACH,IAAI,eAAe,IAAI,MAAM,GAAG,IAAI,CAEnC;IAED;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAS3C;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,EAAE,GAAG,SAAS,CAErC;IAED;;OAEG;IACH,uBAAuB,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIpE;;OAEG;IACH,0BAA0B,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAOvE;;OAEG;IACH,mBAAmB,IAAI,IAAI;IAyB3B;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;IAI/C;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;IAI5C;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,kBAAkB,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;IAIpF;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAMrC;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAMrC;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI;IAM9C;;OAEG;IACH,yBAAyB,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAMxD;;OAEG;IACH,KAAK,IAAI,IAAI;CAMd"}
@@ -15,6 +15,7 @@ export class Session {
15
15
  userInputHandler = null;
16
16
  switchHandler = null;
17
17
  permissionResolver = null;
18
+ permissionResponseHandler = null;
18
19
  constructor(opts) {
19
20
  this.serverSessionId = opts.serverSessionId;
20
21
  this.userId = opts.userId;
@@ -48,11 +49,16 @@ export class Session {
48
49
  }
49
50
  break;
50
51
  case 'permission_response':
52
+ // First try the resolver (used in remote mode)
51
53
  if (this.permissionResolver) {
52
54
  const resolver = this.permissionResolver;
53
55
  this.permissionResolver = null;
54
56
  resolver(message.payload.response);
55
57
  }
58
+ // Also notify the handler (used in local mode)
59
+ if (this.permissionResponseHandler) {
60
+ this.permissionResponseHandler(message.payload.response);
61
+ }
56
62
  break;
57
63
  case 'switch':
58
64
  if (this.switchHandler) {
@@ -133,6 +139,12 @@ export class Session {
133
139
  onSwitch(handler) {
134
140
  this.switchHandler = handler;
135
141
  }
142
+ /**
143
+ * Set handler for permission response (used in local mode)
144
+ */
145
+ onPermissionResponse(handler) {
146
+ this.permissionResponseHandler = handler;
147
+ }
136
148
  /**
137
149
  * Send Claude event to server
138
150
  */
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/claude/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/claude/session.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,15 @@ export interface Config {
5
5
  apiUrl: string;
6
6
  llmUrl: string;
7
7
  }
8
+ export interface VersionCache {
9
+ lastUpdateCheck?: string;
10
+ autoUpdateEnabled?: boolean;
11
+ autoUpdatePromptExpiry?: string;
12
+ }
8
13
  export declare function loadConfig(): Config;
9
14
  export declare function saveConfig(config: Partial<Config>): void;
10
15
  export declare function clearConfig(): void;
11
16
  export declare function isLoggedIn(): boolean;
17
+ export declare function loadVersionCache(): VersionCache;
18
+ export declare function saveVersionCache(cache: VersionCache): void;
12
19
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,MAAM;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAUD,wBAAgB,UAAU,IAAI,MAAM,CAYnC;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAQxD;AAED,wBAAgB,WAAW,IAAI,IAAI,CAIlC;AAED,wBAAgB,UAAU,IAAI,OAAO,CAGpC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,MAAM;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAWD,wBAAgB,UAAU,IAAI,MAAM,CAYnC;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAQxD;AAED,wBAAgB,WAAW,IAAI,IAAI,CAIlC;AAED,wBAAgB,UAAU,IAAI,OAAO,CAGpC;AAED,wBAAgB,gBAAgB,IAAI,YAAY,CAW/C;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAM1D"}
@@ -3,6 +3,7 @@ import { join } from 'node:path';
3
3
  import { homedir } from 'node:os';
4
4
  const CONFIG_DIR = join(homedir(), '.anyware');
5
5
  const CONFIG_FILE = join(CONFIG_DIR, 'config.json');
6
+ const VERSION_CACHE_FILE = join(CONFIG_DIR, 'version-cache.json');
6
7
  const DEFAULT_CONFIG = {
7
8
  apiUrl: 'https://anyware.run',
8
9
  llmUrl: 'https://llm.anyware.run',
@@ -37,4 +38,22 @@ export function isLoggedIn() {
37
38
  const config = loadConfig();
38
39
  return !!config.accessToken && !!config.userId;
39
40
  }
41
+ export function loadVersionCache() {
42
+ if (!existsSync(VERSION_CACHE_FILE)) {
43
+ return {};
44
+ }
45
+ try {
46
+ const data = readFileSync(VERSION_CACHE_FILE, 'utf-8');
47
+ return JSON.parse(data);
48
+ }
49
+ catch {
50
+ return {};
51
+ }
52
+ }
53
+ export function saveVersionCache(cache) {
54
+ if (!existsSync(CONFIG_DIR)) {
55
+ mkdirSync(CONFIG_DIR, { recursive: true });
56
+ }
57
+ writeFileSync(VERSION_CACHE_FILE, JSON.stringify(cache, null, 2));
58
+ }
40
59
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAUlC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAEpD,MAAM,cAAc,GAAW;IAC7B,MAAM,EAAE,qBAAqB;IAC7B,MAAM,EAAE,yBAAyB;CAClC,CAAC;AAEF,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,cAAc,CAAC;IACxB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAuB;IAChD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1C,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,CAAC,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAgBlC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AACpD,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;AAElE,MAAM,cAAc,GAAW;IAC7B,MAAM,EAAE,qBAAqB;IAC7B,MAAM,EAAE,yBAAyB;CAClC,CAAC;AAEF,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,cAAc,CAAC;IACxB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAuB;IAChD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1C,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,CAAC,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAmB;IAClD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,aAAa,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC"}
package/dist/main.js CHANGED
@@ -3,16 +3,20 @@
3
3
  * Anyware CLI - Claude Code with remote control
4
4
  */
5
5
  import { Command } from 'commander';
6
+ import { createRequire } from 'module';
6
7
  import { login } from './api/auth.js';
7
8
  import { createSession, endSession } from './api/session.js';
8
9
  import { loadConfig, saveConfig, clearConfig, isLoggedIn } from './config/config.js';
9
10
  import { Session } from './claude/session.js';
10
11
  import { loop } from './claude/loop.js';
12
+ import { checkForUpdate, isUpdateAvailable, performUpdate, checkAndNotify, } from './update/update.js';
13
+ const require = createRequire(import.meta.url);
14
+ const { version } = require('../package.json');
11
15
  const program = new Command();
12
16
  program
13
17
  .name('anyware')
14
18
  .description('Claude Code with remote control')
15
- .version('0.1.0');
19
+ .version(version);
16
20
  // Login command
17
21
  program
18
22
  .command('login')
@@ -48,6 +52,43 @@ program
48
52
  console.log('Not logged in. Run "anyware login" to authenticate.');
49
53
  }
50
54
  });
55
+ // Version command (with update check)
56
+ program
57
+ .command('version')
58
+ .description('Print version information')
59
+ .action(async () => {
60
+ console.log(`anyware v${version}`);
61
+ try {
62
+ const info = await checkForUpdate();
63
+ if (isUpdateAvailable(info)) {
64
+ console.log(`\nšŸ’” A new version is available: v${info.latestVersion}`);
65
+ console.log("Run 'anyware update' to upgrade");
66
+ }
67
+ }
68
+ catch {
69
+ // Silently ignore update check errors
70
+ }
71
+ });
72
+ // Update command
73
+ program
74
+ .command('update')
75
+ .description('Update anyware to the latest version')
76
+ .action(async () => {
77
+ console.log(`Current version: v${version}`);
78
+ try {
79
+ const info = await checkForUpdate();
80
+ if (!isUpdateAvailable(info)) {
81
+ console.log('āœ… You are already running the latest version!');
82
+ return;
83
+ }
84
+ console.log(`Latest version: v${info.latestVersion}\n`);
85
+ await performUpdate();
86
+ }
87
+ catch (error) {
88
+ console.error('Failed to update:', error instanceof Error ? error.message : error);
89
+ process.exit(1);
90
+ }
91
+ });
51
92
  // Config command
52
93
  program
53
94
  .command('config')
@@ -88,6 +129,9 @@ program
88
129
  console.log('Not logged in. Please run "anyware login" first.');
89
130
  process.exit(1);
90
131
  }
132
+ // Check for updates before starting Claude
133
+ // This must happen before Claude takes over stdin/stdout
134
+ await checkAndNotify();
91
135
  const config = loadConfig();
92
136
  try {
93
137
  // Create server session
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ declare const currentVersion: any;
2
+ export interface VersionInfo {
3
+ currentVersion: string;
4
+ latestVersion: string;
5
+ lastChecked: Date;
6
+ }
7
+ /**
8
+ * Check npm registry for the latest version
9
+ */
10
+ export declare function checkForUpdate(): Promise<VersionInfo>;
11
+ /**
12
+ * Check if an update is available
13
+ */
14
+ export declare function isUpdateAvailable(info: VersionInfo): boolean;
15
+ /**
16
+ * Perform the update via npm
17
+ */
18
+ export declare function performUpdate(): Promise<void>;
19
+ export interface VersionCache {
20
+ lastUpdateCheck?: string;
21
+ autoUpdateEnabled?: boolean;
22
+ autoUpdatePromptExpiry?: string;
23
+ }
24
+ /**
25
+ * Check if enough time has passed since last update check
26
+ */
27
+ export declare function shouldCheckForUpdate(): boolean;
28
+ /**
29
+ * Save the last check time
30
+ */
31
+ export declare function saveLastCheckTime(): void;
32
+ /**
33
+ * Check for updates and handle auto-update if enabled
34
+ * Called automatically when running the CLI
35
+ */
36
+ export declare function checkAndNotify(): Promise<void>;
37
+ export { currentVersion };
38
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/update/update.ts"],"names":[],"mappings":"AAKA,QAAA,MAAiB,cAAc,KAAkC,CAAC;AAOlE,MAAM,WAAW,WAAW;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,IAAI,CAAC;CACnB;AAQD;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAwB3D;AAqBD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAM5D;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAqCnD;AA4BD,MAAM,WAAW,YAAY;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAID;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAS9C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAIxC;AA4BD;;;GAGG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAoDpD;AAED,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,208 @@
1
+ import { spawn } from 'node:child_process';
2
+ import { createInterface } from 'node:readline';
3
+ import { createRequire } from 'module';
4
+ const require = createRequire(import.meta.url);
5
+ const { version: currentVersion } = require('../../package.json');
6
+ const UPDATE_CHECK_INTERVAL = 15 * 60 * 1000; // 15 minutes
7
+ const AUTO_UPDATE_PROMPT_DURATION = 24 * 60 * 60 * 1000; // 24 hours
8
+ const NPM_REGISTRY_API = 'https://registry.npmjs.org/@diggerhq/anyware';
9
+ const NPM_PACKAGE_NAME = '@diggerhq/anyware';
10
+ /**
11
+ * Check npm registry for the latest version
12
+ */
13
+ export async function checkForUpdate() {
14
+ const controller = new AbortController();
15
+ const timeout = setTimeout(() => controller.abort(), 5000);
16
+ try {
17
+ const response = await fetch(NPM_REGISTRY_API, {
18
+ signal: controller.signal,
19
+ });
20
+ if (!response.ok) {
21
+ throw new Error(`npm registry returned status ${response.status}`);
22
+ }
23
+ const pkgInfo = (await response.json());
24
+ const latestVersion = pkgInfo['dist-tags'].latest;
25
+ return {
26
+ currentVersion,
27
+ latestVersion,
28
+ lastChecked: new Date(),
29
+ };
30
+ }
31
+ finally {
32
+ clearTimeout(timeout);
33
+ }
34
+ }
35
+ /**
36
+ * Compare two semantic versions
37
+ * Returns -1 if v1 < v2, 0 if v1 == v2, 1 if v1 > v2
38
+ */
39
+ function compareVersions(v1, v2) {
40
+ const parts1 = v1.split('.').map(Number);
41
+ const parts2 = v2.split('.').map(Number);
42
+ for (let i = 0; i < Math.max(parts1.length, parts2.length); i++) {
43
+ const p1 = parts1[i] || 0;
44
+ const p2 = parts2[i] || 0;
45
+ if (p1 < p2)
46
+ return -1;
47
+ if (p1 > p2)
48
+ return 1;
49
+ }
50
+ return 0;
51
+ }
52
+ /**
53
+ * Check if an update is available
54
+ */
55
+ export function isUpdateAvailable(info) {
56
+ return (info.latestVersion !== '' &&
57
+ info.currentVersion !== info.latestVersion &&
58
+ compareVersions(info.currentVersion, info.latestVersion) < 0);
59
+ }
60
+ /**
61
+ * Perform the update via npm
62
+ */
63
+ export async function performUpdate() {
64
+ console.log('Checking for anyware installation method...');
65
+ // Check if npm is available
66
+ const npmAvailable = await new Promise((resolve) => {
67
+ const proc = spawn('npm', ['--version'], { stdio: 'ignore' });
68
+ proc.on('close', (code) => resolve(code === 0));
69
+ proc.on('error', () => resolve(false));
70
+ });
71
+ if (!npmAvailable) {
72
+ throw new Error(`npm not found. Please install anyware using npm: npm install -g ${NPM_PACKAGE_NAME}`);
73
+ }
74
+ console.log(`Updating ${NPM_PACKAGE_NAME}...`);
75
+ return new Promise((resolve, reject) => {
76
+ const proc = spawn('npm', ['install', '-g', NPM_PACKAGE_NAME], {
77
+ stdio: 'inherit',
78
+ });
79
+ proc.on('close', (code) => {
80
+ if (code === 0) {
81
+ console.log('\nāœ… Update completed successfully!');
82
+ console.log("\nRestart your terminal or run 'anyware -V' to verify the new version.");
83
+ resolve();
84
+ }
85
+ else {
86
+ reject(new Error(`npm install failed with code ${code}`));
87
+ }
88
+ });
89
+ proc.on('error', (err) => {
90
+ reject(new Error(`Failed to run npm: ${err.message}`));
91
+ });
92
+ });
93
+ }
94
+ /**
95
+ * Prompt user for auto-update preference
96
+ */
97
+ async function promptAutoUpdate() {
98
+ // Check if stdin is a TTY
99
+ if (!process.stdin.isTTY) {
100
+ return false;
101
+ }
102
+ const rl = createInterface({
103
+ input: process.stdin,
104
+ output: process.stderr,
105
+ });
106
+ return new Promise((resolve) => {
107
+ rl.question('Would you like to automatically update anyware when new versions are available? (Y/n): ', (answer) => {
108
+ rl.close();
109
+ const response = answer.trim().toLowerCase();
110
+ resolve(response === 'y' || response === 'yes' || response === '');
111
+ });
112
+ });
113
+ }
114
+ import { loadVersionCache, saveVersionCache } from '../config/config.js';
115
+ /**
116
+ * Check if enough time has passed since last update check
117
+ */
118
+ export function shouldCheckForUpdate() {
119
+ const cache = loadVersionCache();
120
+ if (!cache.lastUpdateCheck) {
121
+ return true;
122
+ }
123
+ const lastCheck = new Date(cache.lastUpdateCheck);
124
+ return Date.now() - lastCheck.getTime() > UPDATE_CHECK_INTERVAL;
125
+ }
126
+ /**
127
+ * Save the last check time
128
+ */
129
+ export function saveLastCheckTime() {
130
+ const cache = loadVersionCache();
131
+ cache.lastUpdateCheck = new Date().toISOString();
132
+ saveVersionCache(cache);
133
+ }
134
+ /**
135
+ * Check if auto-update is enabled
136
+ */
137
+ function shouldAutoUpdate(cache) {
138
+ // If preference hasn't been set or has expired, need to prompt
139
+ if (cache.autoUpdateEnabled === undefined ||
140
+ !cache.autoUpdatePromptExpiry ||
141
+ new Date() > new Date(cache.autoUpdatePromptExpiry)) {
142
+ return { autoUpdate: false, shouldPrompt: true };
143
+ }
144
+ return { autoUpdate: cache.autoUpdateEnabled, shouldPrompt: false };
145
+ }
146
+ /**
147
+ * Save auto-update preference
148
+ */
149
+ function saveAutoUpdatePreference(enabled) {
150
+ const cache = loadVersionCache();
151
+ cache.autoUpdateEnabled = enabled;
152
+ cache.autoUpdatePromptExpiry = new Date(Date.now() + AUTO_UPDATE_PROMPT_DURATION).toISOString();
153
+ saveVersionCache(cache);
154
+ }
155
+ /**
156
+ * Check for updates and handle auto-update if enabled
157
+ * Called automatically when running the CLI
158
+ */
159
+ export async function checkAndNotify() {
160
+ if (!shouldCheckForUpdate()) {
161
+ return;
162
+ }
163
+ let info;
164
+ try {
165
+ info = await checkForUpdate();
166
+ }
167
+ catch {
168
+ // Silently fail update checks to not disrupt user experience
169
+ return;
170
+ }
171
+ // Save the check time regardless of result
172
+ saveLastCheckTime();
173
+ if (!isUpdateAvailable(info)) {
174
+ return;
175
+ }
176
+ // Load version cache to check auto-update preference
177
+ const cache = loadVersionCache();
178
+ const { autoUpdate: shouldDoAutoUpdate, shouldPrompt } = shouldAutoUpdate(cache);
179
+ let autoUpdate = shouldDoAutoUpdate;
180
+ // If we need to prompt the user
181
+ if (shouldPrompt) {
182
+ console.error('\n');
183
+ console.error(' New version of anyware is available!');
184
+ console.error(` Current: v${info.currentVersion} -> Latest: v${info.latestVersion}\n`);
185
+ try {
186
+ const enabled = await promptAutoUpdate();
187
+ saveAutoUpdatePreference(enabled);
188
+ autoUpdate = enabled;
189
+ }
190
+ catch {
191
+ // If prompt fails, just return
192
+ return;
193
+ }
194
+ }
195
+ // Perform auto-update if enabled
196
+ if (autoUpdate) {
197
+ console.error(`\nšŸ”„ Auto-updating anyware to v${info.latestVersion}...`);
198
+ try {
199
+ await performUpdate();
200
+ }
201
+ catch (err) {
202
+ console.error(`\nāŒ Auto-update failed: ${err instanceof Error ? err.message : err}`);
203
+ console.error('You can manually update by running: anyware update\n');
204
+ }
205
+ }
206
+ }
207
+ export { currentVersion };
208
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/update/update.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@diggerhq/anyware",
3
- "version": "0.7.3",
3
+ "version": "0.7.5",
4
4
  "description": "Anyware CLI - Claude Code with remote control",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",