@agimon-ai/doompi-user-feedback 0.0.1-alpha.17 → 0.0.1-alpha.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 +29 -18
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
# @agimon-ai/doompi-user-feedback
|
|
2
2
|
|
|
3
|
-
Structured
|
|
3
|
+
Structured user questions that wait for an answer in interactive Pi sessions, with an autonomous
|
|
4
|
+
Voice handoff.
|
|
4
5
|
|
|
5
6
|
Part of the [DoomPi distribution](https://www.npmjs.com/package/@agimon-ai/doompi).
|
|
6
7
|
|
|
7
|
-
The `ask_user_question` tool presents concrete options instead of asking the model to continue on a
|
|
8
|
+
The `ask_user_question` tool presents concrete options instead of asking the model to continue on a
|
|
9
|
+
guess.
|
|
8
10
|
|
|
9
11
|
> **Alpha:** tool and Voice-handoff contracts may change between releases.
|
|
10
12
|
|
|
@@ -15,7 +17,8 @@ The `ask_user_question` tool presents concrete options instead of asking the mod
|
|
|
15
17
|
|
|
16
18
|
## Install
|
|
17
19
|
|
|
18
|
-
Add the package to a DoomPi layer. DoomPi preserves authored layer and package occurrence order,
|
|
20
|
+
Add the package to a DoomPi layer. DoomPi preserves authored layer and package occurrence order,
|
|
21
|
+
while activating this package once per canonical resolved path:
|
|
19
22
|
|
|
20
23
|
```yaml
|
|
21
24
|
layers:
|
|
@@ -29,7 +32,8 @@ For standalone Pi:
|
|
|
29
32
|
pi install npm:@agimon-ai/doompi-user-feedback
|
|
30
33
|
```
|
|
31
34
|
|
|
32
|
-
Pi
|
|
35
|
+
Pi loads the package through `package.json.pi.extensions`. Each factory invocation owns one package
|
|
36
|
+
instance. Session replacement resets its state, and shutdown removes its registrations.
|
|
33
37
|
|
|
34
38
|
## Ask a question
|
|
35
39
|
|
|
@@ -55,32 +59,39 @@ Pi discovers the sole factory through `package.json.pi.extensions`. Each factory
|
|
|
55
59
|
}
|
|
56
60
|
```
|
|
57
61
|
|
|
58
|
-
A call accepts 1
|
|
62
|
+
A call accepts 1 to 4 questions. Each question requires 2 to 4 options. Headers are at most 16
|
|
63
|
+
characters; option labels are at most 60 characters. Use `multiSelect: true` when several choices
|
|
64
|
+
are valid. An option can include a Markdown `preview` for meaningful visual comparison.
|
|
59
65
|
|
|
60
|
-
The tool result contains readable answer text plus structured `details.answers`; cancellation sets
|
|
66
|
+
The tool result contains readable answer text plus structured `details.answers`; cancellation sets
|
|
67
|
+
`cancelled: true`. Pressing Escape declines the questionnaire. Do not add an `Other` option because
|
|
68
|
+
the UI supplies a custom-text row.
|
|
61
69
|
|
|
62
70
|
## UI, RPC, and headless behavior
|
|
63
71
|
|
|
64
|
-
The tool requires an interactive UI. It uses the TUI questionnaire when available and can use Pi's
|
|
72
|
+
The tool requires an interactive UI. It uses the TUI questionnaire when available and can use Pi's
|
|
73
|
+
dialog or RPC UI bridge. A headless context without either UI returns a structured `no_ui`
|
|
74
|
+
cancellation rather than waiting forever.
|
|
65
75
|
|
|
66
|
-
Questionnaires are coordinated one at a time. Cancellation, session replacement, or shutdown
|
|
76
|
+
Questionnaires are coordinated one at a time. Cancellation, session replacement, or shutdown
|
|
77
|
+
aborts the active prompt and settles queued work.
|
|
67
78
|
|
|
68
79
|
## Autonomous Voice handoff
|
|
69
80
|
|
|
70
|
-
When autonomous Voice mode is active, the extension formats the questions as plain text, requests
|
|
81
|
+
When autonomous Voice mode is active, the extension formats the questions as plain text, requests
|
|
82
|
+
narration, and returns `terminate: true`. The current turn ends while waiting; the next spoken
|
|
83
|
+
answer arrives as a normal user message rather than a synthetic questionnaire selection.
|
|
71
84
|
|
|
72
|
-
The handoff
|
|
73
|
-
|
|
74
|
-
|
|
85
|
+
The handoff uses the shared `doom/minor-mode-catalog` and `doom/narration` Cordis services. If either
|
|
86
|
+
provider unloads, User Feedback immediately falls back to its interactive questionnaire without
|
|
87
|
+
retaining the old provider.
|
|
75
88
|
|
|
76
89
|
## Public API
|
|
77
90
|
|
|
78
|
-
Question and result types are available from the package root. Cross-extension
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
`/extensions/pi`; package installation should use Pi's package metadata rather
|
|
83
|
-
than calling a registration function.
|
|
91
|
+
Question and result types are available from the package root. Cross-extension ask-user events and
|
|
92
|
+
Voice services come from `@agimon-ai/doompi-extension-contracts`; consumers should use those Cordis
|
|
93
|
+
contracts. Pi loads the default export of `/extensions/pi` through package metadata, so installation
|
|
94
|
+
does not require a manual registration call.
|
|
84
95
|
|
|
85
96
|
## Development
|
|
86
97
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agimon-ai/doompi-user-feedback",
|
|
3
|
-
"version": "0.0.1-alpha.
|
|
3
|
+
"version": "0.0.1-alpha.18",
|
|
4
4
|
"description": "Structured user questions with interactive and autonomous Voice handoff for Pi agents.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai",
|
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"@deepseek-ai/cordis": "4.0.1",
|
|
48
48
|
"typebox": "1.3.16",
|
|
49
|
-
"@agimon-ai/doompi-
|
|
50
|
-
"@agimon-ai/doompi-
|
|
49
|
+
"@agimon-ai/doompi-ui": "0.0.1-alpha.29",
|
|
50
|
+
"@agimon-ai/doompi-extension-contracts": "0.0.1-alpha.29"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@earendil-works/pi-coding-agent": "0.84.2",
|