@selesai/code 0.5.3 → 0.5.8

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.
@@ -13,7 +13,9 @@
13
13
  "defaultProvider": "tokenin",
14
14
  "defaultThinkingLevel": "high",
15
15
  "doubleEscapeAction": "tree",
16
- "editorPaddingX": 1,
16
+ "editorPaddingX": 0,
17
+ "outputPad": 0,
18
+ "showCacheMissNotices": true,
17
19
  "enableSkillCommands": true,
18
20
  "followUpMode": "one-at-a-time",
19
21
  "hideThinkingBlock": false,
@@ -36,6 +38,29 @@
36
38
  "clearOnShrink": false,
37
39
  "showImages": true
38
40
  },
41
+ "subagents": {
42
+ "defaultModel": "tokenin/glm-5.2",
43
+ "agentOverrides": {
44
+ "architect": {
45
+ "model": "tokenin/glm-5.2a"
46
+ },
47
+ "builder": {
48
+ "model": "tokenin/kimi-k2.7-code"
49
+ },
50
+ "commentator": {
51
+ "model": "tokenin/kimi-k2.7-code"
52
+ },
53
+ "explorer": {
54
+ "model": "tokenin/deepseek-v4-flash"
55
+ },
56
+ "recapper": {
57
+ "model": "tokenin/deepseek-v4-flash"
58
+ },
59
+ "researcher": {
60
+ "model": "tokenin/kimi-k2.7-codea"
61
+ }
62
+ }
63
+ },
39
64
  "theme": "dark",
40
65
  "transport": "websocket",
41
66
  "treeFilterMode": "no-tools"
@@ -193,6 +193,14 @@ test("custom null (cancelled) does not open new session", async () => {
193
193
  assert.ok(calls.notify.some((n) => /Cancelled/.test(n.msg)));
194
194
  });
195
195
 
196
+ test("empty generated handoff does not open a blank session", async () => {
197
+ const { commands } = createPiHarness();
198
+ const { ctx, calls } = createCtx({ customResult: " " });
199
+ await commands.get("handoff-new")!.handler("goal", ctx);
200
+ assert.equal(calls.newSession, null);
201
+ assert.ok(calls.notify.some((n) => /returned no text/.test(n.msg)));
202
+ });
203
+
196
204
  // sanity: DEFAULT_GOAL exported and non-empty (used by handler)
197
205
  test("DEFAULT_GOAL is non-empty", () => {
198
206
  assert.ok(DEFAULT_GOAL.length > 0);
@@ -16,7 +16,7 @@ import { complete, type Context } from "@earendil-works/pi-ai/compat";
16
16
  import type { ExtensionAPI, ExtensionCommandContext, SessionEntry } from "@selesai/code";
17
17
  import { BorderedLoader, convertToLlm, serializeConversation } from "@selesai/code";
18
18
 
19
- const SYSTEM_PROMPT = `Write a handoff document summarising the current conversation so a fresh agent can continue the work. Save to the temporary directory of the user's OS - not the current workspace.
19
+ const SYSTEM_PROMPT = `Write a handoff document for a fresh agent to continue the current conversation. Return only the handoff document; do not save a file or describe saving one.
20
20
 
21
21
  Include a "suggested skills" section in the document, which suggests skills that the agent should invoke.
22
22
 
@@ -147,6 +147,10 @@ async function handoffNew(args: string, ctx: ExtensionCommandContext) {
147
147
  ctx.ui.notify("Cancelled", "info");
148
148
  return;
149
149
  }
150
+ if (!result.trim()) {
151
+ ctx.ui.notify("Handoff generation returned no text", "error");
152
+ return;
153
+ }
150
154
 
151
155
  // Editor text, NOT a hidden system prompt: the user can edit before submit.
152
156
  const newSessionResult = await ctx.newSession({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@selesai/code",
3
- "version": "0.5.3",
3
+ "version": "0.5.8",
4
4
  "description": "Selesai coding agent",
5
5
  "type": "module",
6
6
  "piConfig": {