larkway 0.3.17 → 0.3.18

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.
package/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  You @ the bot in a Feishu thread. It runs on your machine — reading your real codebase, executing commands, opening MRs — and posts the result back. You define what the agent knows and what it can do. Larkway just carries the messages.
10
10
 
11
- **Current release: v0.3.17**
11
+ **Current release: v0.3.18**
12
12
 
13
13
  ---
14
14
 
package/README.zh.md CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  你在飞书话题里 @ bot,它在你的机器上运行——读真实代码库、执行命令、开 MR——把结果贴回飞书。你定义 agent 知道什么、能做什么。Larkway 只负责传递消息。
10
10
 
11
- **当前版本:v0.3.17**
11
+ **当前版本:v0.3.18**
12
12
 
13
13
  ---
14
14
 
package/dist/cli/index.js CHANGED
@@ -124788,7 +124788,16 @@ var PermissionsConfig = external_exports.object({
124788
124788
  * curl, wget, python3, basic POSIX tools); add things like
124789
124789
  * "Bash(pnpm *)" / "Bash(NEXT_PUBLIC_PORT=* *)" here.
124790
124790
  */
124791
- allowExtra: external_exports.array(external_exports.string()).default([])
124791
+ allowExtra: external_exports.array(external_exports.string()).default([]),
124792
+ /**
124793
+ * Permission posture for the Claude backend (and the bypass flag for Codex).
124794
+ * Unset (undefined) = the bridge default `bypassPermissions`, which aligns
124795
+ * the Claude backend with Codex's existing full-host posture and avoids
124796
+ * acceptEdits gating necessary Bash (e.g. lark-cli) in headless `-p` mode.
124797
+ * Set to `acceptEdits` / `ask` to TIGHTEN: Claude Code then routes Bash
124798
+ * through its allow-list gate (the stricter, future "real allow-list" path).
124799
+ */
124800
+ mode: external_exports.enum(["acceptEdits", "ask", "bypassPermissions"]).optional()
124792
124801
  }).default({ allowExtra: [] });
124793
124802
  var ChatEntry = external_exports.object({
124794
124803
  label: external_exports.string().min(1, "chats[].label is required (human-readable name)"),
package/dist/main.js CHANGED
@@ -115918,7 +115918,16 @@ var PermissionsConfig = external_exports.object({
115918
115918
  * curl, wget, python3, basic POSIX tools); add things like
115919
115919
  * "Bash(pnpm *)" / "Bash(NEXT_PUBLIC_PORT=* *)" here.
115920
115920
  */
115921
- allowExtra: external_exports.array(external_exports.string()).default([])
115921
+ allowExtra: external_exports.array(external_exports.string()).default([]),
115922
+ /**
115923
+ * Permission posture for the Claude backend (and the bypass flag for Codex).
115924
+ * Unset (undefined) = the bridge default `bypassPermissions`, which aligns
115925
+ * the Claude backend with Codex's existing full-host posture and avoids
115926
+ * acceptEdits gating necessary Bash (e.g. lark-cli) in headless `-p` mode.
115927
+ * Set to `acceptEdits` / `ask` to TIGHTEN: Claude Code then routes Bash
115928
+ * through its allow-list gate (the stricter, future "real allow-list" path).
115929
+ */
115930
+ mode: external_exports.enum(["acceptEdits", "ask", "bypassPermissions"]).optional()
115922
115931
  }).default({ allowExtra: [] });
115923
115932
  var ChatEntry = external_exports.object({
115924
115933
  label: external_exports.string().min(1, "chats[].label is required (human-readable name)"),
@@ -119771,7 +119780,7 @@ var BridgeHandler = class {
119771
119780
  runtimeWarnings: this.runtimeWarnings()
119772
119781
  });
119773
119782
  const backend = this.deps.botConfig?.backend ?? "claude";
119774
- const permissionMode = this.deps.permissionMode ?? (isAgentWorkspace ? "acceptEdits" : "bypassPermissions");
119783
+ const permissionMode = this.deps.permissionMode ?? "bypassPermissions";
119775
119784
  const timeoutMs = this.deps.subprocessTimeoutMs ?? 60 * 60 * 1e3;
119776
119785
  const handle = createRunner(backend).run({
119777
119786
  prompt,
@@ -124330,6 +124339,9 @@ async function runV2Mode({
124330
124339
  sessionStore,
124331
124340
  conventions,
124332
124341
  permissionsAllowExtra: configJson.permissions.allowExtra,
124342
+ // Unset → handler defaults to bypassPermissions (aligns Claude with Codex
124343
+ // full-host posture); set to acceptEdits/ask to tighten via config.
124344
+ permissionMode: configJson.permissions.mode,
124333
124345
  peers: resolvedPeers,
124334
124346
  botConfig: {
124335
124347
  id: bot.id,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "larkway",
3
- "version": "0.3.17",
3
+ "version": "0.3.18",
4
4
  "description": "Thin bridge: Feishu thread to local Claude Code CLI",
5
5
  "license": "MIT",
6
6
  "author": "Chuck Wu (chuckwu0)",