@clawos-dev/clawd 0.2.256 → 0.2.258

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.
@@ -4,8 +4,8 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>Clawd 分享</title>
7
- <script type="module" crossorigin src="/share-ui/assets/guest-hgeG05IO.js"></script>
8
- <link rel="stylesheet" crossorigin href="/share-ui/assets/guest-kK-Ir45s.css">
7
+ <script type="module" crossorigin src="/share-ui/assets/guest-SFe_5tKr.js"></script>
8
+ <link rel="stylesheet" crossorigin href="/share-ui/assets/guest-DTAqwGDc.css">
9
9
  </head>
10
10
  <body style="margin: 0">
11
11
  <div id="root"></div>
@@ -21131,13 +21131,14 @@ function log(msg, info) {
21131
21131
  var TOOL_DESCRIPTION_PREFIX = "Manage a clawd shift (recurring or one-shot trigger that spawns another cc persona to run a prompt). NOT the cc built-in cron/schedule tools (CronCreate / CronDelete / CronList / ScheduleWakeup / RemoteTrigger are all disabled in this session). Shifts persist in ~/.clawd/shift.json across cc sessions. ";
21132
21132
  async function callDaemon(method, params, ctx) {
21133
21133
  const daemonUrl = process.env.CLAWD_DAEMON_URL;
21134
+ const daemonToken = process.env.CLAWD_DAEMON_TOKEN;
21134
21135
  const personaId = process.env.CLAWD_PERSONA_ID;
21135
21136
  const sessionId = process.env.CLAWD_SESSION_ID;
21136
- if (!daemonUrl) {
21137
- log(`${method} CLAWD_DAEMON_URL missing`);
21137
+ if (!daemonUrl || !daemonToken) {
21138
+ log(`${method} CLAWD_DAEMON_URL/TOKEN missing`);
21138
21139
  return {
21139
21140
  content: [
21140
- { type: "text", text: "Error: CLAWD_DAEMON_URL env not set; cannot call daemon." }
21141
+ { type: "text", text: "Error: CLAWD_DAEMON_URL/CLAWD_DAEMON_TOKEN env not set; cannot call daemon." }
21141
21142
  ],
21142
21143
  isError: true
21143
21144
  };
@@ -21155,7 +21156,7 @@ async function callDaemon(method, params, ctx) {
21155
21156
  };
21156
21157
  }
21157
21158
  const f = ctx.fetch ?? fetch;
21158
- const url = `${daemonUrl}/api/rpc/${method}`;
21159
+ const url = `${daemonUrl}/rpc/${method}`;
21159
21160
  log(`${method} pre-fetch`, { url, hasSessionId: Boolean(sessionId) });
21160
21161
  let res;
21161
21162
  try {
@@ -21163,11 +21164,9 @@ async function callDaemon(method, params, ctx) {
21163
21164
  method: "POST",
21164
21165
  headers: {
21165
21166
  "content-type": "application/json",
21166
- // shift-internal handler 不读 session header,但 rpc-adapter 强制要求;
21167
- // 上游 buildSpawnContext 一定注入 CLAWD_SESSION_ID(reducer.ts:169)
21168
- ...sessionId ? { "x-clawd-session-id": sessionId } : {}
21167
+ authorization: `Bearer ${daemonToken}`
21169
21168
  },
21170
- body: JSON.stringify({ ...params, personaId })
21169
+ body: JSON.stringify({ ...params, personaId, ...sessionId ? { sessionId } : {} })
21171
21170
  });
21172
21171
  } catch (err) {
21173
21172
  const e = err;
@@ -21205,19 +21204,19 @@ async function callDaemon(method, params, ctx) {
21205
21204
  };
21206
21205
  }
21207
21206
  async function handleAddShiftCall(params, ctx = {}) {
21208
- return callDaemon("shift-internal.add", params, ctx);
21207
+ return callDaemon("shift-internal:add", params, ctx);
21209
21208
  }
21210
21209
  async function handleListShiftsCall(params, ctx = {}) {
21211
- return callDaemon("shift-internal.list", params, ctx);
21210
+ return callDaemon("shift-internal:list", params, ctx);
21212
21211
  }
21213
21212
  async function handleCancelShiftCall(params, ctx = {}) {
21214
- return callDaemon("shift-internal.cancel", params, ctx);
21213
+ return callDaemon("shift-internal:cancel", params, ctx);
21215
21214
  }
21216
21215
  async function handleUpdateShiftCall(params, ctx = {}) {
21217
- return callDaemon("shift-internal.update", params, ctx);
21216
+ return callDaemon("shift-internal:update", params, ctx);
21218
21217
  }
21219
21218
  async function handleGetShiftHistoryCall(params, ctx = {}) {
21220
- return callDaemon("shift-internal.history", params, ctx);
21219
+ return callDaemon("shift-internal:history", params, ctx);
21221
21220
  }
21222
21221
  var ScheduleSchema = external_exports.union([
21223
21222
  external_exports.object({ kind: external_exports.literal("at"), at: external_exports.string() }),
@@ -21235,10 +21234,10 @@ var ScheduleSchema = external_exports.union([
21235
21234
  async function main() {
21236
21235
  log("boot", { pid: process.pid, logPath: SHIFT_LOG ?? "(stderr)" });
21237
21236
  const daemonUrl = process.env.CLAWD_DAEMON_URL;
21238
- if (!daemonUrl) {
21239
- log("boot refusing \u2014 CLAWD_DAEMON_URL not set");
21237
+ if (!daemonUrl || !process.env.CLAWD_DAEMON_TOKEN) {
21238
+ log("boot refusing \u2014 CLAWD_DAEMON_URL/TOKEN not set");
21240
21239
  process.stderr.write(
21241
- "shift-mcp-server: CLAWD_DAEMON_URL not set; refusing to boot\n"
21240
+ "shift-mcp-server: CLAWD_DAEMON_URL/CLAWD_DAEMON_TOKEN not set; refusing to boot\n"
21242
21241
  );
21243
21242
  process.exit(1);
21244
21243
  }
@@ -21246,18 +21246,23 @@ async function handleAbandonTicket(input, client) {
21246
21246
  }
21247
21247
  async function resolveTicketCaller(opts = {}) {
21248
21248
  const daemonUrl = process.env.CLAWD_DAEMON_URL;
21249
+ const daemonToken = process.env.CLAWD_DAEMON_TOKEN;
21249
21250
  const sessionId = process.env.CLAWD_SESSION_ID;
21250
- if (!daemonUrl || !sessionId) {
21251
- logLine("resolveCaller: env missing", { hasDaemonUrl: !!daemonUrl, hasSessionId: !!sessionId });
21251
+ if (!daemonUrl || !daemonToken || !sessionId) {
21252
+ logLine("resolveCaller: env missing", {
21253
+ hasDaemonUrl: !!daemonUrl,
21254
+ hasDaemonToken: !!daemonToken,
21255
+ hasSessionId: !!sessionId
21256
+ });
21252
21257
  return null;
21253
21258
  }
21254
21259
  const f = opts.fetch ?? fetch;
21255
21260
  let res;
21256
21261
  try {
21257
- res = await f(`${daemonUrl}/api/rpc/session.currentTurnSender`, {
21262
+ res = await f(`${daemonUrl}/rpc/session:currentTurnSender`, {
21258
21263
  method: "POST",
21259
- headers: { "content-type": "application/json", "x-clawd-session-id": sessionId },
21260
- body: "{}"
21264
+ headers: { "content-type": "application/json", authorization: `Bearer ${daemonToken}` },
21265
+ body: JSON.stringify({ sessionId })
21261
21266
  });
21262
21267
  } catch (err) {
21263
21268
  logLine("resolveCaller: fetch threw", { err: String(err) });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clawos-dev/clawd",
3
- "version": "0.2.256",
3
+ "version": "0.2.258",
4
4
  "description": "Standalone clawd daemon — Claude Code (and future Codex) session server over WebSocket",
5
5
  "type": "module",
6
6
  "license": "MIT",