@sigrun/todo 0.1.1 → 0.1.2

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/CHANGELOG.md CHANGED
@@ -5,6 +5,16 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.1.2] - 2026-11-05
9
+ ### Fixed
10
+ - The published 0.1.1 could not load: `src/panel.ts` imported the host's
11
+ block builders (`@sigrun/sigrun/blocks`) at RUNTIME, and an extension
12
+ installed from the registry cannot resolve the host package — it is the
13
+ host, not a dependency. The panel tree is now built as a plain object
14
+ (`{ v: 1, root: … }`) with type-only imports from `@sigrun/shared/blocks`,
15
+ matching `sigrun-escalations`. The tree is unchanged in content and
16
+ still validates against the host's `validateTree`.
17
+
8
18
  ## [0.1.1] - 2026-11-04
9
19
  ### Added
10
20
  - The todo extension: an agent-kept task list with a read-only
package/dist/panel.js CHANGED
@@ -14,7 +14,6 @@
14
14
  * - The tree is a `page` (no sidebar — panel placement) with a markdown
15
15
  * `done/total` line and a list `collection` bound to `/items`.
16
16
  */
17
- import { bind, card, collection, markdown, page, tree } from "@sigrun/sigrun/blocks";
18
17
  /** The empty panel: no rows, whatever the access path that led here. */
19
18
  const EMPTY_DATA = { done: 0, total: 0, summary: "**0/0** done", items: [] };
20
19
  /**
@@ -89,28 +88,45 @@ export function createTodoPanel(deps) {
89
88
  // Tasks render in state (id) order; the spec pins the panel to it.
90
89
  return { access: "read", data: dataOf(state.tasks) };
91
90
  }
91
+ /**
92
+ * The panel tree, built as a PLAIN object — the same shape
93
+ * `~/repos/sigrun-escalations` emits. Deliberately not the host's
94
+ * `tree()`/`page()`/`card()` builders: those are a RUNTIME import of
95
+ * `@sigrun/sigrun/blocks`, which an extension installed from the npm
96
+ * registry cannot resolve (the host package is not a dependency of an
97
+ * extension — it is the host). `v` is the block-set version the
98
+ * server validates against (`BLOCK_SET_VERSION`, currently 1).
99
+ */
92
100
  function treeFor() {
93
- return tree(page({
94
- title: "Todos",
95
- main: [
96
- markdown({ text: bind("/summary") }),
97
- collection({
98
- display: "list",
99
- items: bind("/items"),
100
- item: card({
101
- title: bind("./title"),
102
- subtitle: bind("./subtitle"),
103
- status: {
104
- label: bind("./status.label"),
105
- spinner: bind("./status.spinner"),
106
- },
107
- tone: bind("./tone"),
108
- deps: bind("./deps"),
109
- }),
110
- }),
111
- ],
112
- empty: { icon: "list", title: "No tasks yet", hint: "The agent keeps this list." },
113
- }));
101
+ const card = {
102
+ title: { $: "./title" },
103
+ subtitle: { $: "./subtitle" },
104
+ status: {
105
+ label: { $: "./status.label" },
106
+ spinner: { $: "./status.spinner" },
107
+ },
108
+ tone: { $: "./tone" },
109
+ deps: { $: "./deps" },
110
+ };
111
+ const main = [
112
+ { type: "markdown", text: { $: "/summary" } },
113
+ {
114
+ type: "collection",
115
+ id: "todos-list",
116
+ display: "list",
117
+ items: { $: "/items" },
118
+ item: card,
119
+ },
120
+ ];
121
+ return {
122
+ v: 1,
123
+ root: {
124
+ type: "page",
125
+ title: "Todos",
126
+ main,
127
+ empty: { icon: "list", title: "No tasks yet", hint: "The agent keeps this list." },
128
+ },
129
+ };
114
130
  }
115
131
  return {
116
132
  id: "todos",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sigrun/todo",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Agent-kept task list for sigrun: a todo list the agent owns, rendered in a conversation panel",
5
5
  "type": "module",
6
6
  "engines": {