@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.
Files changed (2) hide show
  1. package/README.md +29 -18
  2. package/package.json +3 -3
package/README.md CHANGED
@@ -1,10 +1,12 @@
1
1
  # @agimon-ai/doompi-user-feedback
2
2
 
3
- Structured, blocking user questions for Pi, with an autonomous Voice handoff.
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 guess.
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, while activating this package once per canonical resolved path:
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 discovers the sole factory through `package.json.pi.extensions`. Each factory invocation joins the runner-scoped Cordis host, mounts one package plugin fiber, and disposes that fiber before releasing its host lease on shutdown.
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–4 questions. Each question requires 2–4 options. Headers are at most 16 characters; option labels are at most 60 characters. Use `multiSelect: true` when several choices are valid. An option can include a Markdown `preview` for meaningful visual comparison.
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 `cancelled: true`. Pressing Escape declines the questionnaire. Do not add an `Other` option because the UI supplies a custom-text row.
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 dialog/RPC UI bridge. A truly headless context returns a structured `no_ui` cancellation rather than waiting forever.
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 aborts the active prompt and settles queued work.
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 narration, and returns `terminate: true`. The current turn ends while waiting; the next spoken answer arrives as a normal user message rather than a synthetic questionnaire selection.
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 reacts to the shared `doom/minor-mode-catalog` and `doom/narration`
73
- Cordis services. If either provider unloads, user-feedback immediately falls
74
- back to its interactive questionnaire without retaining the old provider.
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
- ask-user events and Voice services are owned by
80
- `@agimon-ai/doompi-extension-contracts`; consumers should inject or subscribe
81
- to those Cordis contracts. The only Pi-loaded factory is the default export of
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.17",
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-extension-contracts": "0.0.1-alpha.28",
50
- "@agimon-ai/doompi-ui": "0.0.1-alpha.28"
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",