@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 +10 -0
- package/dist/panel.js +38 -22
- package/package.json +1 -1
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
|
-
|
|
94
|
-
title: "
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
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",
|