@raidiant/notifai 11.5.0 → 11.6.0-beta.3
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 +9 -0
- package/dist/commands-acknowledge.js +5 -2
- package/dist/commands-acknowledge.js.map +1 -1
- package/dist/commands-ask.js +9 -2
- package/dist/commands-ask.js.map +1 -1
- package/dist/commands-doctor.js +21 -15
- package/dist/commands-doctor.js.map +1 -1
- package/dist/commands-hook-attend.js +42 -6
- package/dist/commands-hook-attend.js.map +1 -1
- package/dist/commands-hook-install.js +1 -1
- package/dist/commands-hook-install.js.map +1 -1
- package/dist/commands-hook-run.js +79 -8
- package/dist/commands-hook-run.js.map +1 -1
- package/dist/commands-send-support.js +3 -0
- package/dist/commands-send-support.js.map +1 -1
- package/dist/commands-update-check.d.ts +1 -1
- package/dist/commands-update-check.js +12 -4
- package/dist/commands-update-check.js.map +1 -1
- package/dist/commands-update-resume.d.ts +7 -0
- package/dist/commands-update-resume.js +133 -0
- package/dist/commands-update-resume.js.map +1 -0
- package/dist/commands-update.js +25 -11
- package/dist/commands-update.js.map +1 -1
- package/dist/commands.d.ts +1 -0
- package/dist/commands.js +1 -0
- package/dist/commands.js.map +1 -1
- package/dist/harnesses.d.ts +8 -3
- package/dist/harnesses.js +16 -4
- package/dist/harnesses.js.map +1 -1
- package/dist/hermes-attendant.d.ts +38 -0
- package/dist/hermes-attendant.js +333 -0
- package/dist/hermes-attendant.js.map +1 -0
- package/dist/hermes-plugin.js +142 -4
- package/dist/hermes-plugin.js.map +1 -1
- package/dist/hook-lifecycle.d.ts +1 -1
- package/dist/hook-lifecycle.js +22 -11
- package/dist/hook-lifecycle.js.map +1 -1
- package/dist/hook-types.d.ts +3 -0
- package/dist/integration-health.d.ts +26 -0
- package/dist/integration-health.js +133 -0
- package/dist/integration-health.js.map +1 -0
- package/dist/invocation-context.d.ts +1 -0
- package/dist/invocation-context.js +3 -0
- package/dist/invocation-context.js.map +1 -1
- package/dist/native-skills.d.ts +1 -0
- package/dist/native-skills.js +30 -3
- package/dist/native-skills.js.map +1 -1
- package/dist/openclaw-generation.d.ts +5 -1
- package/dist/openclaw-generation.js +27 -5
- package/dist/openclaw-generation.js.map +1 -1
- package/dist/openclaw-message-bridge.d.ts +8 -0
- package/dist/openclaw-message-bridge.js +93 -0
- package/dist/openclaw-message-bridge.js.map +1 -0
- package/dist/openclaw-pending.d.ts +1 -1
- package/dist/openclaw-pending.js +1 -6
- package/dist/openclaw-pending.js.map +1 -1
- package/dist/openclaw-plugin.js +385 -14
- package/dist/openclaw-plugin.js.map +1 -1
- package/dist/openclaw-session-access.d.ts +2 -0
- package/dist/openclaw-session-access.js +10 -0
- package/dist/openclaw-session-access.js.map +1 -1
- package/dist/program.d.ts +2 -1
- package/dist/program.js +17 -10
- package/dist/program.js.map +1 -1
- package/dist/session-activation.js +1 -0
- package/dist/session-activation.js.map +1 -1
- package/dist/session-attendant-probe.d.ts +1 -0
- package/dist/session-attendant-probe.js +11 -1
- package/dist/session-attendant-probe.js.map +1 -1
- package/dist/session-attendant-state.d.ts +3 -0
- package/dist/session-attendant-state.js +8 -0
- package/dist/session-attendant-state.js.map +1 -1
- package/dist/session-attendant.d.ts +6 -0
- package/dist/session-attendant.js +12 -0
- package/dist/session-attendant.js.map +1 -1
- package/dist/session-labels.d.ts +2 -0
- package/dist/session-labels.js +5 -0
- package/dist/session-labels.js.map +1 -1
- package/dist/session-message-handoff.d.ts +3 -1
- package/dist/session-message-handoff.js +2 -1
- package/dist/session-message-handoff.js.map +1 -1
- package/dist/skill-integrity.d.ts +8 -3
- package/dist/skill-integrity.js +18 -8
- package/dist/skill-integrity.js.map +1 -1
- package/dist/skill-source/manifest.json +7 -7
- package/dist/skill-source/notifai/SKILL.md +66 -61
- package/dist/skill-source/notifai/references/diagnostics.md +5 -0
- package/dist/skill-source/notifai/references/harness-setup.md +24 -8
- package/dist/skill-source/notifai/references/notes-and-edits.md +6 -0
- package/dist/skill-source/notifai/references/updates.md +44 -10
- package/dist/update-handoff.js +1 -1
- package/dist/update-handoff.js.map +1 -1
- package/package.json +1 -1
|
@@ -176,8 +176,8 @@ shell. Do not strip markers or borrow another Agent Session's identity to make
|
|
|
176
176
|
overwrite a foreign one. Exact Agent Session identity is the OpenClaw
|
|
177
177
|
`sessionKey`; the transcript `sessionId` can stay the same across `/new` and
|
|
178
178
|
`/reset`, while idle or daily rollover can change it. Notifai gives each
|
|
179
|
-
observed generation one activation on its first prompt, using the
|
|
180
|
-
lifecycle events to fence same-`sessionId` resets. A session key containing
|
|
179
|
+
observed generation one activation on its first prompt, using the native
|
|
180
|
+
lifecycle revision and typed events to fence same-`sessionId` resets. A session key containing
|
|
181
181
|
`:subagent:` or an ACP nested context
|
|
182
182
|
is a worker. Missing identity fails safe as a non-sending worker; only a
|
|
183
183
|
proven parent Agent Session receives owner context. Explicit textual
|
|
@@ -189,9 +189,17 @@ shell. Do not strip markers or borrow another Agent Session's identity to make
|
|
|
189
189
|
Question Routing requires the current generation marker, an enabled Project,
|
|
190
190
|
and a local Gateway whose CLI version and process identity match the plugin.
|
|
191
191
|
If this Project is disabled, run `notifai project enable` before `notifai ask`.
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
192
|
+
On macOS, the same Gateway service attends the current generation and queues
|
|
193
|
+
Session Notes and post-consumption Answer Edits as followup turns. It keeps
|
|
194
|
+
the message in a private local delivery journal and sends only an opaque
|
|
195
|
+
pointer in the CLI call. The matching prompt receives the full context once,
|
|
196
|
+
only within its original native generation and Gateway instance. Journal
|
|
197
|
+
text is discarded after that prompt claims it, a generation change, or a
|
|
198
|
+
Gateway restart. The agent acknowledges each `sm_` message after reading it.
|
|
199
|
+
If a Gateway crash interrupts a turn, OpenClaw may replay its pointer after
|
|
200
|
+
the staged context was consumed. The pointer instructs the agent to say the
|
|
201
|
+
context is missing and leave that message unacknowledged; the User may send
|
|
202
|
+
a new message. Do not treat `/stop` as turn-end.
|
|
195
203
|
- **Hermes:** with Hermes v0.21.5, `notifai hooks install --harness hermes`
|
|
196
204
|
installs and enables Notifai's native plugin through `hermes plugins`. Start a
|
|
197
205
|
fresh local classic CLI Agent Session after installation. Its bounded system
|
|
@@ -201,9 +209,17 @@ shell. Do not strip markers or borrow another Agent Session's identity to make
|
|
|
201
209
|
`notifai guidance` before deciding whether or how to notify. Notifai reads
|
|
202
210
|
exact `HERMES_SESSION_ID` for Source Context and derives git branch and
|
|
203
211
|
worktree from the actual invocation cwd. Install the Notifai skill through
|
|
204
|
-
`npx skills`; the Hermes plugin does not include a copy.
|
|
205
|
-
|
|
206
|
-
|
|
212
|
+
`npx skills`; the Hermes plugin does not include a copy. On local classic CLI
|
|
213
|
+
sessions the plugin supervises a Session Attendant for that exact session.
|
|
214
|
+
After the first Notification Request, it reports Session Presence and hands
|
|
215
|
+
Session Notes and post-consumption Answer Edits into the attached CLI;
|
|
216
|
+
a Note may interrupt a working turn. The plugin checks the current session
|
|
217
|
+
before each write, and the agent must acknowledge the message. An attended
|
|
218
|
+
classic CLI session can route an `ask` answer into that same live session;
|
|
219
|
+
end the asking turn and leave Hermes running for the answer window. If the
|
|
220
|
+
process exits first, it does not cold-resume and the answer is not delivered.
|
|
221
|
+
TUI, gateway, API, ACP, remote terminal backends, and Windows remain outside
|
|
222
|
+
this proven cell.
|
|
207
223
|
Nested inherited harness markers fail closed.
|
|
208
224
|
- **Grok:** `notifai hooks install --harness grok` writes only the Notifai-owned
|
|
209
225
|
Machine hook file under `~/.grok/hooks/` (or `GROK_HOME/hooks/`). Start a fresh
|
|
@@ -15,6 +15,12 @@ It can arrive after a tool call within the current turn or as a new turn.
|
|
|
15
15
|
Session Notes waiting in the harness; an empty result establishes only that
|
|
16
16
|
there are no outstanding questions.
|
|
17
17
|
|
|
18
|
+
OpenClaw starts that turn with a pointer naming the message. If the full note
|
|
19
|
+
or edit context is absent, say the message is missing and do not acknowledge
|
|
20
|
+
it. A Gateway crash during the turn can replay the pointer without the staged
|
|
21
|
+
context; Notifai leaves that message handed off and unacknowledged, and the
|
|
22
|
+
User may send a new message.
|
|
23
|
+
|
|
18
24
|
## Acknowledge each one once, before acting on it
|
|
19
25
|
|
|
20
26
|
```bash
|
|
@@ -38,18 +38,28 @@ hook execution during installation.
|
|
|
38
38
|
|
|
39
39
|
Run the locally generated `update_command`. The updater verifies the selected
|
|
40
40
|
installation and stable adapter, then invokes the new executable for its
|
|
41
|
-
handoff
|
|
42
|
-
and
|
|
43
|
-
|
|
41
|
+
handoff with `update --resume`. It refreshes an existing installer-managed skill
|
|
42
|
+
in its original scope and repairs diagnosed Notifai-owned definitions. With a
|
|
43
|
+
selected Codex home, it also repairs existing source-home definitions before
|
|
44
|
+
the selected copy; other accounts are untouched. Foreign hooks, settings,
|
|
45
|
+
Guidance Topics, native approval and pending work remain User-owned.
|
|
46
|
+
|
|
47
|
+
`ok: true` confirms the package update. `integration_complete: true` separately
|
|
48
|
+
confirms integration; `handoff.files_complete` and `handoff.pending_actions`
|
|
49
|
+
explain partial progress and remaining activation or approval. If the handoff
|
|
50
|
+
failed or was interrupted, run `notifai update --resume --json` with the new
|
|
51
|
+
effective CLI. Resume diagnoses current files without reinstalling the package,
|
|
52
|
+
changing channel, selecting a new skill scope, or granting native trust.
|
|
53
|
+
Honor existing approval deferrals; repeating resume does not grant permission.
|
|
44
54
|
|
|
45
55
|
1. Read the new packaged `guidance.skill_path` and this update reference. Run
|
|
46
56
|
`notifai guidance` to reread the effective provenance-marked Guidance Topics.
|
|
47
|
-
2.
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
57
|
+
2. Resolve the reported `pending_actions`. An unreadable or duplicate skill
|
|
58
|
+
scope requires a decision rather than guessing. A failed native installer
|
|
59
|
+
remains incomplete; report its failure and resume only after resolving it.
|
|
60
|
+
Read the refreshed skill and relevant changed references explicitly;
|
|
51
61
|
replacing files does not replace the agent's existing context.
|
|
52
|
-
3.
|
|
62
|
+
3. Explain any diagnosed approval or restart
|
|
53
63
|
requirement and its reason. The User owns Codex hook approval. An unchanged
|
|
54
64
|
installation does not need restarting because it was reinstalled.
|
|
55
65
|
4. Recheck `notifai update --check --json`. Read the changes since the old
|
|
@@ -57,6 +67,29 @@ and harness follow-up. If `handoff_error` is present, run
|
|
|
57
67
|
relevant changes, guidance refresh, and any remaining session limitation.
|
|
58
68
|
Preserve the current Agent Session whenever its route remains valid.
|
|
59
69
|
|
|
70
|
+
## Local faults during ordinary work
|
|
71
|
+
|
|
72
|
+
Local integrity notices are separate from optional release notices. Enabled
|
|
73
|
+
lifecycle callbacks and an existing Session Attendant check local integration
|
|
74
|
+
at most once per minute and surface one notice per changed fault. Healthy
|
|
75
|
+
callbacks stay silent; checks use no registry, service or native installer and
|
|
76
|
+
do not block ordinary sends. A resident observer can record missing wiring,
|
|
77
|
+
but agent context needs an available callback; this does not force another turn.
|
|
78
|
+
|
|
79
|
+
When a notice appears, run `notifai doctor --json` and identify the lost
|
|
80
|
+
capability. Report an actionable fault once to the Notification Request owner
|
|
81
|
+
and honor existing deferrals. Unexpected external drift is diagnosis, not
|
|
82
|
+
authorization to repair settings, switch prefixes or restart an agent. Use
|
|
83
|
+
`update --resume` only within an authorized update or integration repair.
|
|
84
|
+
For an existing CLI, channel changes use its generated update flow rather than
|
|
85
|
+
an independent global install that can split CLI, adapter and skill identity.
|
|
86
|
+
|
|
87
|
+
For Codex, `update --check --json` reports `tool_boundary_notes.verified` for
|
|
88
|
+
the exact active Agent Session. Only an actual trusted tool callback proves
|
|
89
|
+
that route. Until then Notes retain ordinary queue delivery; queue handoff
|
|
90
|
+
does not prove model consumption. A missing proof alone calls for observing a
|
|
91
|
+
callback, not a restart.
|
|
92
|
+
|
|
60
93
|
## Harness differences
|
|
61
94
|
|
|
62
95
|
| Harness | Existing integration after a CLI or guidance update | When a fresh runtime is needed |
|
|
@@ -69,6 +102,7 @@ and harness follow-up. If `handoff_error` is present, run
|
|
|
69
102
|
| Hermes | The local classic CLI can use the new executable and reread guidance in the same Agent Session. `notifai guidance` carries the shared weekly notice. | When the managed plugin changes, start a fresh classic CLI Agent Session so Hermes freezes the current section into its prompt. The v0.21.5 plugin can be refreshed with `notifai hooks install --harness hermes`. |
|
|
70
103
|
| Grok | Native hooks invoke the updated adapter; reread guidance in the current Agent Session. | A newly installed SessionStart hook needs a fresh Agent Session for lifecycle observation; hook output cannot activate model-visible context. |
|
|
71
104
|
|
|
72
|
-
Cursor
|
|
73
|
-
|
|
105
|
+
Cursor and OpenCode do not gain asynchronous Question Routing merely by
|
|
106
|
+
updating. Hermes needs a fresh local classic CLI session with its current
|
|
107
|
+
plugin and a live attendant. OpenClaw needs its loaded Gateway plugin and a current generation;
|
|
74
108
|
see [Harness setup](harness-setup.md) for that route and its limits.
|
package/dist/update-handoff.js
CHANGED
|
@@ -36,7 +36,7 @@ export const HARNESS_UPDATE_EFFECTS = {
|
|
|
36
36
|
cursor: 'Existing hooks use the updated adapter. Reread changed guidance in this conversation. New lifecycle activation needs a fresh conversation and its first completed turn. Asynchronous ask remains unsupported.',
|
|
37
37
|
opencode: 'The loaded plugin invokes the updated adapter on later events and refreshes guidance per model request. Restart OpenCode only if the generated plugin changed or lifecycle activation is missing; a CLI-only update does not require it.',
|
|
38
38
|
openclaw: 'The Gateway plugin invokes the updated adapter and refreshes guidance before model prompts. Restart the Gateway only if the generated plugin changed or lifecycle activation is missing; a CLI-only update does not require it.',
|
|
39
|
-
hermes: 'Use the updated CLI and reread changed guidance in the current local classic CLI Agent Session.
|
|
39
|
+
hermes: 'Use the updated CLI and reread changed guidance in the current local classic CLI Agent Session. Refresh the managed Hermes plugin with `notifai hooks install --harness hermes`, then start a fresh classic CLI Agent Session for its current prompt and Question Routing attendant.',
|
|
40
40
|
grok: 'Existing native Grok hooks use the updated adapter on their next invocation. Reread changed guidance in this Agent Session. Hook output does not activate Notifai context; load the Notifai skill directly. A newly installed Stop definition needs a fresh Agent Session.',
|
|
41
41
|
};
|
|
42
42
|
export function updateSessionEffects(harness, states, restartReason) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-handoff.js","sourceRoot":"","sources":["../src/update-handoff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,wBAAwB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAIjE,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AACnE,MAAM,eAAe,GAAG,MAAM,CAAA;AAE9B,MAAM,UAAU,eAAe,CAAC,OAAsB;IACpD,OAAO,OAAO,KAAK,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC;QAC1C,CAAC,CAAC,wDAAwD,kBAAkB,CAAC,OAAO,CAAC,EAAE;QACvF,CAAC,CAAC,IAAI,CAAA;AACV,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,kBAAkB,CAAC,OAAsB,EAAE,IAAa,EAAE,IAAI,GAAG,YAAY;IAC3F,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;IAC5C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YAC7D,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACjD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAA;YACtD,MAAM,QAAQ,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAE,EAAE,OAAO,CAAC,CAAA;YAC/D,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,OAAO,CAAC;gBACpD,CAAC,IAAI,KAAK,SAAS,IAAI,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,KAAK,OAAO,CAAC,CAAA;QACnF,CAAC,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC;YACpF,QAAQ,EAAE,IAAI,CAAC,MAAM,IAAI,eAAe,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;IACnG,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAyC;IAC1E,aAAa,EAAE,gOAAgO;IAC/O,KAAK,EAAE,kPAAkP;IACzP,MAAM,EAAE,+MAA+M;IACvN,QAAQ,EAAE,0OAA0O;IACpP,QAAQ,EAAE,iOAAiO;IAC3O,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"update-handoff.js","sourceRoot":"","sources":["../src/update-handoff.ts"],"names":[],"mappings":"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"}
|