@clappstore/connect 0.4.0 → 0.6.0

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.
@@ -0,0 +1,18 @@
1
+ import type { IntentMessage } from "@clapps/core";
2
+ import type { AgentClient } from "./agent-client.js";
3
+ import type { RelayClient } from "./relay-client.js";
4
+ export interface AgentHandlerOptions {
5
+ agentClient: AgentClient;
6
+ relay: RelayClient;
7
+ stateDir: string;
8
+ viewsDir?: string;
9
+ }
10
+ export declare class AgentHandler {
11
+ private agentClient;
12
+ private relay;
13
+ private stateDir;
14
+ private viewsDir;
15
+ constructor(options: AgentHandlerOptions);
16
+ handleIntent(intent: IntentMessage): Promise<void>;
17
+ }
18
+ //# sourceMappingURL=agent-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-handler.d.ts","sourceRoot":"","sources":["../src/agent-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAqB;gBAEzB,OAAO,EAAE,mBAAmB;IAOlC,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;CAIzD"}
@@ -0,0 +1,17 @@
1
+ export class AgentHandler {
2
+ agentClient;
3
+ relay;
4
+ stateDir;
5
+ viewsDir;
6
+ constructor(options) {
7
+ this.agentClient = options.agentClient;
8
+ this.relay = options.relay;
9
+ this.stateDir = options.stateDir;
10
+ this.viewsDir = options.viewsDir;
11
+ }
12
+ async handleIntent(intent) {
13
+ await this.agentClient.sendIntent(intent);
14
+ await this.relay.syncDir(this.stateDir, this.viewsDir);
15
+ }
16
+ }
17
+ //# sourceMappingURL=agent-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-handler.js","sourceRoot":"","sources":["../src/agent-handler.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,YAAY;IACf,WAAW,CAAc;IACzB,KAAK,CAAc;IACnB,QAAQ,CAAS;IACjB,QAAQ,CAAqB;IAErC,YAAY,OAA4B;QACtC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAqB;QACtC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;CACF"}
@@ -1,4 +1,7 @@
1
+ import type { RelayClient } from "./relay-client.js";
1
2
  export declare function seedDefaults(viewsDir: string, stateDir: string): void;
3
+ /** Push all seeded files to the relay in one shot */
4
+ export declare function pushDefaults(relay: RelayClient, viewsDir: string, stateDir: string): Promise<void>;
2
5
  /** Check if the agent has an AI provider API key configured and write _status.json */
3
6
  export declare function checkAuthStatus(stateDir: string, authPath?: string): void;
4
7
  //# sourceMappingURL=defaults.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAoIA,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAwCrE;AAED,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAmDzE"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAoJrD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAqCrE;AAED,qDAAqD;AACrD,wBAAsB,YAAY,CAChC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAmDzE"}
package/dist/defaults.js CHANGED
@@ -62,31 +62,49 @@ Module(ref=default/settings):
62
62
  const DEFAULT_SETTINGS_VIEW = `---
63
63
  name: settings
64
64
  domain: default
65
- version: 0.1.0
65
+ version: 0.2.0
66
66
  ---
67
67
 
68
68
  ## State Bindings
69
- - \`providers.anthropic.configured\` -> boolean
70
- - \`providers.anthropic.maskedKey\` -> string
69
+ - \`active.isConfigured\` -> boolean
70
+ - \`active.description\` -> string
71
+ - \`providers.anthropic.apiKey.configured\` -> boolean
72
+ - \`providers.anthropic.apiKey.maskedKey\` -> string
73
+ - \`providers.anthropic.subscription.configured\` -> boolean
71
74
 
72
75
  ## Layout
73
76
  \`\`\`clapp-layout
74
77
  Column(gap=4):
75
78
  Heading(level=2): "Settings"
79
+ Card(title=Authentication Status):
80
+ Column(gap=2):
81
+ Conditional(when=active.isConfigured):
82
+ MarkdownContent(source=active.description):
83
+ Conditional(when=!active.isConfigured):
84
+ Heading(level=4): "No authentication configured"
76
85
  Card(title=Anthropic API Key):
77
86
  Column(gap=3):
78
- Conditional(when=providers.anthropic.configured):
87
+ Conditional(when=providers.anthropic.apiKey.configured):
79
88
  Heading(level=4): "Configured"
80
- Conditional(when=!providers.anthropic.configured):
89
+ Conditional(when=!providers.anthropic.apiKey.configured):
81
90
  Heading(level=4): "Not configured"
82
91
  IntentForm(intent=settings.setAnthropicKey, submitLabel=Save Key):
83
92
  TextInput(name=apiKey, type=password, placeholder=sk-ant-...):
93
+ Card(title=Claude Subscription):
94
+ Column(gap=3):
95
+ Conditional(when=providers.anthropic.subscription.configured):
96
+ Heading(level=4): "Configured"
97
+ Conditional(when=!providers.anthropic.subscription.configured):
98
+ Heading(level=4): "Not configured"
99
+ IntentForm(intent=settings.setClaudeToken, submitLabel=Save Token):
100
+ TextInput(name=token, type=password, placeholder=Paste setup-token here...):
84
101
  \`\`\`
85
102
 
86
103
  ## Intents
87
104
  | Name | Payload | Description |
88
105
  |------|---------|-------------|
89
106
  | settings.setAnthropicKey | \`{ apiKey: string }\` | Set the Anthropic API key |
107
+ | settings.setClaudeToken | \`{ token: string }\` | Set Claude subscription setup-token |
90
108
  `;
91
109
  const DEFAULT_SETTINGS_APP_ENTRY = {
92
110
  id: "settings",
@@ -114,7 +132,7 @@ const DEFAULT_APPS = [
114
132
  },
115
133
  ];
116
134
  export function seedDefaults(viewsDir, stateDir) {
117
- // Seed app definitions and view modules
135
+ // Seed app definitions and always overwrite default view modules
118
136
  for (const { appPath, viewPath, appMd, viewMd } of DEFAULT_APPS) {
119
137
  const fullAppPath = resolve(viewsDir, appPath);
120
138
  if (!existsSync(fullAppPath)) {
@@ -122,10 +140,7 @@ export function seedDefaults(viewsDir, stateDir) {
122
140
  console.log(`📝 Created default app: ${fullAppPath}`);
123
141
  }
124
142
  const fullViewPath = resolve(viewsDir, viewPath);
125
- if (!existsSync(fullViewPath)) {
126
- writeFileSync(fullViewPath, viewMd, "utf-8");
127
- console.log(`📝 Created default view: ${fullViewPath}`);
128
- }
143
+ writeFileSync(fullViewPath, viewMd, "utf-8");
129
144
  }
130
145
  // Seed or merge _apps.json
131
146
  const appsPath = resolve(stateDir, "_apps.json");
@@ -154,6 +169,12 @@ export function seedDefaults(viewsDir, stateDir) {
154
169
  }
155
170
  }
156
171
  }
172
+ /** Push all seeded files to the relay in one shot */
173
+ export async function pushDefaults(relay, viewsDir, stateDir) {
174
+ console.log("Pushing defaults to relay...");
175
+ await relay.syncDir(stateDir, viewsDir);
176
+ console.log("Initial sync complete");
177
+ }
157
178
  /** Check if the agent has an AI provider API key configured and write _status.json */
158
179
  export function checkAuthStatus(stateDir, authPath) {
159
180
  const defaultAuthPath = resolve(homedir(), ".openclaw", "agents", "main", "agent", "auth.json");
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -3,10 +3,11 @@ import { resolve } from "node:path";
3
3
  import { homedir } from "node:os";
4
4
  import { mkdirSync } from "node:fs";
5
5
  import { AgentClient } from "./agent-client.js";
6
+ import { AgentHandler } from "./agent-handler.js";
6
7
  import { IntentPoller } from "./intent-poller.js";
7
- import { StateWatcher } from "./state-watcher.js";
8
+ import { RelayClient } from "./relay-client.js";
8
9
  import { loadToken, saveToken, CREDENTIALS_PATH } from "./credentials.js";
9
- import { seedDefaults, checkAuthStatus } from "./defaults.js";
10
+ import { seedDefaults, checkAuthStatus, pushDefaults } from "./defaults.js";
10
11
  import { SettingsHandler } from "./settings-handler.js";
11
12
  function parseArgs(args) {
12
13
  const opts = {};
@@ -69,31 +70,18 @@ async function main() {
69
70
  // Ensure directories exist
70
71
  mkdirSync(stateDir, { recursive: true });
71
72
  mkdirSync(viewsDir, { recursive: true });
72
- const agentClient = new AgentClient({
73
- session,
74
- agentToken,
75
- onError: (err) => console.error("[acp]", err.message),
76
- });
77
- const settingsHandler = new SettingsHandler({ stateDir });
78
- const intentPoller = new IntentPoller({
79
- relayUrl,
80
- token,
81
- agentId,
82
- agentClient,
83
- onIntent: settingsHandler.handleIntent,
84
- onError: (err) => console.error("[intent-poller]", err.message),
85
- });
86
- const stateWatcher = new StateWatcher({
87
- stateDir,
88
- viewsDir,
89
- relayUrl,
90
- token,
91
- agentId,
92
- onError: (err) => console.error("[state-watcher]", err.message),
93
- });
73
+ // 1. Create RelayClient
74
+ const relay = new RelayClient({ relayUrl, token, agentId });
75
+ // 2. Seed defaults to disk
76
+ seedDefaults(viewsDir, stateDir);
77
+ checkAuthStatus(stateDir);
78
+ const settingsHandler = new SettingsHandler({ stateDir, relay });
79
+ settingsHandler.writeSettingsState();
80
+ // 3. Push everything to relay (retried, awaited)
81
+ await pushDefaults(relay, viewsDir, stateDir);
94
82
  console.log(`🤖 Agent ID: ${agentId}`);
95
- console.log(`📁 Watching state: ${stateDir}`);
96
- console.log(`📄 Watching views: ${viewsDir}`);
83
+ console.log(`📁 State dir: ${stateDir}`);
84
+ console.log(`📄 Views dir: ${viewsDir}`);
97
85
  // Create/reuse a stable link token for browser access
98
86
  try {
99
87
  const linkRes = await fetch(`${relayUrl}/api/agent/links`, {
@@ -117,13 +105,12 @@ async function main() {
117
105
  catch (err) {
118
106
  console.warn(`⚠️ Could not create link: ${err instanceof Error ? err.message : err}`);
119
107
  }
120
- stateWatcher.start();
121
- // Wait for chokidar to finish initial scan, then seed defaults so writes are detected
122
- await stateWatcher.waitReady();
123
- seedDefaults(viewsDir, stateDir);
124
- checkAuthStatus(stateDir);
125
- settingsHandler.writeSettingsState();
126
- // Start ACP subprocess, then begin polling for intents
108
+ // 4. Start ACP subprocess
109
+ const agentClient = new AgentClient({
110
+ session,
111
+ agentToken,
112
+ onError: (err) => console.error("[acp]", err.message),
113
+ });
127
114
  try {
128
115
  await agentClient.start();
129
116
  }
@@ -131,13 +118,27 @@ async function main() {
131
118
  console.error(`⚠️ ACP failed to start: ${err instanceof Error ? err.message : err}`);
132
119
  console.error(" Intent processing will not work until ACP is available.");
133
120
  }
121
+ // 5. Start polling for intents
122
+ const agentHandler = new AgentHandler({
123
+ agentClient,
124
+ relay,
125
+ stateDir,
126
+ viewsDir,
127
+ });
128
+ const intentPoller = new IntentPoller({
129
+ relayUrl,
130
+ token,
131
+ agentId,
132
+ agentHandler,
133
+ onIntent: settingsHandler.handleIntent,
134
+ onError: (err) => console.error("[intent-poller]", err.message),
135
+ });
134
136
  intentPoller.start();
135
137
  // Graceful shutdown
136
- process.on("SIGINT", async () => {
138
+ process.on("SIGINT", () => {
137
139
  console.log("\nShutting down...");
138
140
  intentPoller.stop();
139
141
  agentClient.stop();
140
- await stateWatcher.stop();
141
142
  process.exit(0);
142
143
  });
143
144
  }
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,10 +1,10 @@
1
1
  import type { IntentMessage } from "@clapps/core";
2
- import { AgentClient } from "./agent-client.js";
2
+ import type { AgentHandler } from "./agent-handler.js";
3
3
  export interface IntentPollerOptions {
4
4
  relayUrl: string;
5
5
  token: string;
6
6
  agentId: string;
7
- agentClient: AgentClient;
7
+ agentHandler: AgentHandler;
8
8
  intervalMs?: number;
9
9
  onIntent?: (intent: IntentMessage) => boolean;
10
10
  onError?: (error: Error) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"intent-poller.d.ts","sourceRoot":"","sources":["../src/intent-poller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC;IAC9C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,uEAAuE;AACvE,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,QAAQ,CAAM;gBAEV,OAAO,EAAE,mBAAmB;IAIxC,KAAK,IAAI,IAAI;IASb,IAAI,IAAI,IAAI;YAOE,IAAI;CA2BnB"}
1
+ {"version":3,"file":"intent-poller.d.ts","sourceRoot":"","sources":["../src/intent-poller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC;IAC9C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,uEAAuE;AACvE,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,QAAQ,CAAM;gBAEV,OAAO,EAAE,mBAAmB;IAIxC,KAAK,IAAI,IAAI;IASb,IAAI,IAAI,IAAI;YAOE,IAAI;CA2BnB"}
@@ -1,4 +1,3 @@
1
- import { AgentClient } from "./agent-client.js";
2
1
  /** Poll the relay for pending intents and forward them to the agent */
3
2
  export class IntentPoller {
4
3
  options;
@@ -37,7 +36,7 @@ export class IntentPoller {
37
36
  // Let onIntent handle it locally; skip ACP if it returns true
38
37
  if (this.options.onIntent?.(intent))
39
38
  continue;
40
- await this.options.agentClient.sendIntent(intent);
39
+ await this.options.agentHandler.handleIntent(intent);
41
40
  }
42
41
  catch (err) {
43
42
  this.options.onError?.(err);
@@ -1 +1 @@
1
- {"version":3,"file":"intent-poller.js","sourceRoot":"","sources":["../src/intent-poller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAYhD,uEAAuE;AACvE,MAAM,OAAO,YAAY;IACf,OAAO,CAAsB;IAC7B,KAAK,GAA0C,IAAI,CAAC;IACpD,QAAQ,GAAG,EAAE,CAAC;IAEtB,YAAY,OAA4B;QACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO;QACvB,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,KAAK,GAAG,WAAW,CACtB,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EACjB,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAChC,CAAC;IACJ,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACjE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACtD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/C,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,OAAO;YAEpB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAiC,CAAC;YAChE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,8DAA8D;oBAC9D,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;wBAAE,SAAS;oBAC9C,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACpD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAY,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAY,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"intent-poller.js","sourceRoot":"","sources":["../src/intent-poller.ts"],"names":[],"mappings":"AAaA,uEAAuE;AACvE,MAAM,OAAO,YAAY;IACf,OAAO,CAAsB;IAC7B,KAAK,GAA0C,IAAI,CAAC;IACpD,QAAQ,GAAG,EAAE,CAAC;IAEtB,YAAY,OAA4B;QACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO;QACvB,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,KAAK,GAAG,WAAW,CACtB,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EACjB,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAChC,CAAC;IACJ,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACjE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACtD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/C,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,OAAO;YAEpB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAiC,CAAC;YAChE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,8DAA8D;oBAC9D,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;wBAAE,SAAS;oBAC9C,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBACvD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAY,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAY,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,16 @@
1
+ export interface RelayClientOptions {
2
+ relayUrl: string;
3
+ token: string;
4
+ agentId: string;
5
+ }
6
+ export declare class RelayClient {
7
+ private relayUrl;
8
+ private token;
9
+ private agentId;
10
+ constructor(options: RelayClientOptions);
11
+ pushState(clappId: string, state: object): Promise<void>;
12
+ pushApps(apps: unknown[]): Promise<void>;
13
+ pushView(viewId: string, content: string): Promise<void>;
14
+ syncDir(stateDir: string, viewsDir?: string): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=relay-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relay-client.d.ts","sourceRoot":"","sources":["../src/relay-client.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAwCD,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,kBAAkB;IAMjC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBxD,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBxC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBxD,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAmClE"}
@@ -0,0 +1,121 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import { readdir } from "node:fs/promises";
3
+ import { basename, resolve } from "node:path";
4
+ const MAX_RETRIES = 4;
5
+ const BASE_DELAY_MS = 500;
6
+ async function retryFetch(url, init, label) {
7
+ for (let attempt = 0; attempt < MAX_RETRIES; attempt++) {
8
+ try {
9
+ const res = await fetch(url, init);
10
+ if (res.ok)
11
+ return res;
12
+ if (attempt < MAX_RETRIES - 1 && res.status >= 500) {
13
+ const delay = BASE_DELAY_MS * 2 ** attempt + Math.random() * BASE_DELAY_MS;
14
+ console.warn(`[relay] Retry ${attempt + 1} for ${label}: HTTP ${res.status}`);
15
+ await new Promise((r) => setTimeout(r, delay));
16
+ continue;
17
+ }
18
+ throw new Error(`Failed to push ${label}: HTTP ${res.status}`);
19
+ }
20
+ catch (err) {
21
+ if (attempt < MAX_RETRIES - 1 && err.code) {
22
+ const delay = BASE_DELAY_MS * 2 ** attempt + Math.random() * BASE_DELAY_MS;
23
+ console.warn(`[relay] Retry ${attempt + 1} for ${label}: ${err.message}`);
24
+ await new Promise((r) => setTimeout(r, delay));
25
+ continue;
26
+ }
27
+ throw err;
28
+ }
29
+ }
30
+ throw new Error(`Failed to push ${label} after ${MAX_RETRIES} attempts`);
31
+ }
32
+ export class RelayClient {
33
+ relayUrl;
34
+ token;
35
+ agentId;
36
+ constructor(options) {
37
+ this.relayUrl = options.relayUrl;
38
+ this.token = options.token;
39
+ this.agentId = options.agentId;
40
+ }
41
+ async pushState(clappId, state) {
42
+ await retryFetch(`${this.relayUrl}/api/agent/state`, {
43
+ method: "POST",
44
+ headers: {
45
+ "Content-Type": "application/json",
46
+ Authorization: `Bearer ${this.token}`,
47
+ },
48
+ body: JSON.stringify({
49
+ agentId: this.agentId,
50
+ clappId,
51
+ ...state,
52
+ }),
53
+ }, `state/${clappId}`);
54
+ }
55
+ async pushApps(apps) {
56
+ await retryFetch(`${this.relayUrl}/api/agent/apps`, {
57
+ method: "POST",
58
+ headers: {
59
+ "Content-Type": "application/json",
60
+ Authorization: `Bearer ${this.token}`,
61
+ },
62
+ body: JSON.stringify({
63
+ agentId: this.agentId,
64
+ apps,
65
+ }),
66
+ }, "apps");
67
+ }
68
+ async pushView(viewId, content) {
69
+ await retryFetch(`${this.relayUrl}/api/agent/views`, {
70
+ method: "POST",
71
+ headers: {
72
+ "Content-Type": "application/json",
73
+ Authorization: `Bearer ${this.token}`,
74
+ },
75
+ body: JSON.stringify({
76
+ agentId: this.agentId,
77
+ viewId,
78
+ content,
79
+ }),
80
+ }, `view/${viewId}`);
81
+ }
82
+ async syncDir(stateDir, viewsDir) {
83
+ // Push all .json files from stateDir
84
+ const stateFiles = await readdir(stateDir);
85
+ for (const file of stateFiles) {
86
+ if (!file.endsWith(".json"))
87
+ continue;
88
+ try {
89
+ const content = await readFile(resolve(stateDir, file), "utf-8");
90
+ const parsed = JSON.parse(content);
91
+ const name = basename(file, ".json");
92
+ if (name === "_apps") {
93
+ await this.pushApps(parsed);
94
+ }
95
+ else {
96
+ await this.pushState(name, parsed);
97
+ }
98
+ }
99
+ catch (err) {
100
+ console.warn(`[relay] Failed to push ${file}: ${err.message}`);
101
+ }
102
+ }
103
+ // Push all .md files from viewsDir
104
+ if (viewsDir) {
105
+ const viewFiles = await readdir(viewsDir);
106
+ for (const file of viewFiles) {
107
+ if (!file.endsWith(".md"))
108
+ continue;
109
+ try {
110
+ const content = await readFile(resolve(viewsDir, file), "utf-8");
111
+ const viewId = basename(file, ".md");
112
+ await this.pushView(viewId, content);
113
+ }
114
+ catch (err) {
115
+ console.warn(`[relay] Failed to push view ${file}: ${err.message}`);
116
+ }
117
+ }
118
+ }
119
+ }
120
+ }
121
+ //# sourceMappingURL=relay-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relay-client.js","sourceRoot":"","sources":["../src/relay-client.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,26 @@
1
1
  import type { IntentMessage } from "@clapps/core";
2
+ import type { RelayClient } from "./relay-client.js";
2
3
  export interface SettingsHandlerOptions {
3
4
  stateDir: string;
5
+ relay: RelayClient;
4
6
  authPath?: string;
5
7
  }
6
8
  export declare class SettingsHandler {
7
9
  private stateDir;
10
+ private relay;
8
11
  private authPath;
9
12
  constructor(options: SettingsHandlerOptions);
10
13
  /** Returns true if the intent was handled locally (should not be forwarded to ACP) */
11
14
  handleIntent: (intent: IntentMessage) => boolean;
12
15
  /** Write auth.json with the Anthropic API key */
13
16
  private setAnthropicKey;
17
+ /** Set Claude subscription token via openclaw CLI */
18
+ private setClaudeToken;
14
19
  /** Write settings.json state with provider status (masked keys) */
15
20
  writeSettingsState(): void;
21
+ /** Push settings.json state to relay */
22
+ pushSettingsState(): Promise<void>;
23
+ /** Push _status.json state to relay */
24
+ pushStatusState(): Promise<void>;
16
25
  }
17
26
  //# sourceMappingURL=settings-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings-handler.d.ts","sourceRoot":"","sources":["../src/settings-handler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,EAAE,sBAAsB;IAO3C,sFAAsF;IACtF,YAAY,GAAI,QAAQ,aAAa,KAAG,OAAO,CAiB7C;IAEF,iDAAiD;IACjD,OAAO,CAAC,eAAe;IAyBvB,mEAAmE;IACnE,kBAAkB,IAAI,IAAI;CAuC3B"}
1
+ {"version":3,"file":"settings-handler.d.ts","sourceRoot":"","sources":["../src/settings-handler.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,EAAE,sBAAsB;IAQ3C,sFAAsF;IACtF,YAAY,GAAI,QAAQ,aAAa,KAAG,OAAO,CA0B7C;IAEF,iDAAiD;IACjD,OAAO,CAAC,eAAe;IA+BvB,qDAAqD;IACrD,OAAO,CAAC,cAAc;IA4BtB,mEAAmE;IACnE,kBAAkB,IAAI,IAAI;IAyD1B,wCAAwC;IAClC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxC,uCAAuC;IACjC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;CAKvC"}
@@ -1,12 +1,15 @@
1
1
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
+ import { spawnSync } from "node:child_process";
2
3
  import { dirname, resolve } from "node:path";
3
4
  import { homedir } from "node:os";
4
5
  import { checkAuthStatus } from "./defaults.js";
5
6
  export class SettingsHandler {
6
7
  stateDir;
8
+ relay;
7
9
  authPath;
8
10
  constructor(options) {
9
11
  this.stateDir = options.stateDir;
12
+ this.relay = options.relay;
10
13
  this.authPath =
11
14
  options.authPath ??
12
15
  resolve(homedir(), ".openclaw", "agents", "main", "agent", "auth.json");
@@ -25,6 +28,15 @@ export class SettingsHandler {
25
28
  this.setAnthropicKey(apiKey.trim());
26
29
  return true;
27
30
  }
31
+ case "settings.setClaudeToken": {
32
+ const token = intent.payload.token;
33
+ if (typeof token !== "string" || token.trim().length === 0) {
34
+ console.warn("[settings] Invalid token payload, ignoring");
35
+ return true;
36
+ }
37
+ this.setClaudeToken(token.trim());
38
+ return true;
39
+ }
28
40
  default:
29
41
  console.warn(`[settings] Unknown settings intent: ${intent.intent}`);
30
42
  return true;
@@ -47,41 +59,88 @@ export class SettingsHandler {
47
59
  mkdirSync(dirname(this.authPath), { recursive: true });
48
60
  writeFileSync(this.authPath, JSON.stringify(auth, null, 2), "utf-8");
49
61
  console.log(`✅ Anthropic API key saved to ${this.authPath}`);
50
- // Update settings state with masked key
62
+ // Update settings state with masked key and push directly
63
+ this.writeSettingsState();
64
+ this.pushSettingsState().catch((err) => console.error(`[settings] Failed to push settings: ${err.message}`));
65
+ // Re-check auth status so _status.json reflects the new key, then push
66
+ checkAuthStatus(this.stateDir, this.authPath);
67
+ this.pushStatusState().catch((err) => console.error(`[settings] Failed to push status: ${err.message}`));
68
+ }
69
+ /** Set Claude subscription token via openclaw CLI */
70
+ setClaudeToken(token) {
71
+ const result = spawnSync("openclaw", ["models", "auth", "paste-token", "--provider", "anthropic"], { input: token, encoding: "utf-8", timeout: 15_000 });
72
+ if (result.status !== 0) {
73
+ const msg = (result.stderr || result.error?.message || "unknown error").toString().trim();
74
+ console.error(`[settings] openclaw paste-token failed: ${msg}`);
75
+ return;
76
+ }
77
+ console.log("✅ Claude subscription token saved via openclaw");
78
+ // Update settings state and push
51
79
  this.writeSettingsState();
52
- // Re-check auth status so _status.json reflects the new key
80
+ this.pushSettingsState().catch((err) => console.error(`[settings] Failed to push settings: ${err.message}`));
81
+ // Re-check auth status so _status.json reflects the new token, then push
53
82
  checkAuthStatus(this.stateDir, this.authPath);
83
+ this.pushStatusState().catch((err) => console.error(`[settings] Failed to push status: ${err.message}`));
54
84
  }
55
85
  /** Write settings.json state with provider status (masked keys) */
56
86
  writeSettingsState() {
57
- let configured = false;
87
+ let apiKeyConfigured = false;
58
88
  let maskedKey = "";
89
+ let subscriptionConfigured = false;
59
90
  try {
60
91
  if (existsSync(this.authPath)) {
61
92
  const auth = JSON.parse(readFileSync(this.authPath, "utf-8"));
62
93
  const key = auth?.anthropic?.apiKey;
63
94
  if (typeof key === "string" && key.length > 0) {
64
- configured = true;
95
+ apiKeyConfigured = true;
65
96
  maskedKey =
66
97
  key.length > 8
67
98
  ? key.slice(0, 7) + "..." + key.slice(-4)
68
99
  : "***";
69
100
  }
101
+ const oauthToken = auth?.anthropic?.oauthToken;
102
+ if (typeof oauthToken === "string" && oauthToken.length > 0) {
103
+ subscriptionConfigured = true;
104
+ }
70
105
  }
71
106
  }
72
107
  catch {
73
108
  // Leave as unconfigured
74
109
  }
110
+ const isConfigured = apiKeyConfigured || subscriptionConfigured;
111
+ let description = "";
112
+ if (apiKeyConfigured) {
113
+ description = `**Anthropic API Key** — ${maskedKey}`;
114
+ }
115
+ else if (subscriptionConfigured) {
116
+ description = "**Claude Subscription** — Token configured";
117
+ }
75
118
  const statePath = resolve(this.stateDir, "settings.json");
76
119
  writeFileSync(statePath, JSON.stringify({
77
120
  version: Date.now(),
78
121
  timestamp: new Date().toISOString(),
79
122
  state: {
123
+ active: { isConfigured, description },
80
124
  providers: {
81
- anthropic: { configured, maskedKey },
125
+ anthropic: {
126
+ apiKey: { configured: apiKeyConfigured, maskedKey },
127
+ subscription: { configured: subscriptionConfigured },
128
+ },
82
129
  },
83
130
  },
84
131
  }, null, 2), "utf-8");
85
132
  }
133
+ /** Push settings.json state to relay */
134
+ async pushSettingsState() {
135
+ const statePath = resolve(this.stateDir, "settings.json");
136
+ const content = readFileSync(statePath, "utf-8");
137
+ await this.relay.pushState("settings", JSON.parse(content));
138
+ }
139
+ /** Push _status.json state to relay */
140
+ async pushStatusState() {
141
+ const statePath = resolve(this.stateDir, "_status.json");
142
+ const content = readFileSync(statePath, "utf-8");
143
+ await this.relay.pushState("_status", JSON.parse(content));
144
+ }
86
145
  }
87
146
  //# sourceMappingURL=settings-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings-handler.js","sourceRoot":"","sources":["../src/settings-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings-handler.js","sourceRoot":"","sources":["../src/settings-handler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clappstore/connect",
3
- "version": "0.4.0",
3
+ "version": "0.6.0",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "clapps-connect": "./dist/index.js"
@@ -13,9 +13,6 @@
13
13
  "build": "tsc",
14
14
  "clean": "rm -rf dist"
15
15
  },
16
- "dependencies": {
17
- "chokidar": "^4.0.3"
18
- },
19
16
  "devDependencies": {
20
17
  "@clapps/core": "workspace:*"
21
18
  }