reflex-agent 0.19.0 → 0.19.1

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 (167) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +96 -94
  3. package/.next/app-path-routes-manifest.json +9 -9
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/prerender-manifest.json +3 -3
  6. package/.next/react-loadable-manifest.json +1 -1
  7. package/.next/server/app/_not-found/page.js +1 -1
  8. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  9. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/agents/[agentId]/page.js +1 -1
  11. package/.next/server/app/agents/[agentId]/page.js.nft.json +1 -1
  12. package/.next/server/app/agents/[agentId]/page_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/agents/[agentId]/respond/route.js +1 -1
  14. package/.next/server/app/api/agents/[agentId]/respond/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/images/[rootId]/[file]/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/oauth/start/route_client-reference-manifest.js +1 -1
  18. package/.next/server/app/api/roots/[id]/attachments/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/roots/[id]/chat/[topicId]/send/route.js +1 -1
  20. package/.next/server/app/api/roots/[id]/chat/[topicId]/send/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/roots/[id]/chat/[topicId]/stop/route.js +1 -1
  22. package/.next/server/app/api/roots/[id]/chat/[topicId]/stop/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/roots/[id]/chat/[topicId]/stream/route.js +2 -2
  24. package/.next/server/app/api/roots/[id]/chat/[topicId]/stream/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/roots/[id]/dashboard/route.js +1 -1
  26. package/.next/server/app/api/roots/[id]/dashboard/route.js.nft.json +1 -1
  27. package/.next/server/app/api/roots/[id]/dashboard/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/roots/[id]/suggestions/route.js +1 -1
  29. package/.next/server/app/api/roots/[id]/suggestions/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/utilities/[scope]/[id]/bundle.js/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/utilities/[scope]/[id]/host/route.js +1 -1
  32. package/.next/server/app/api/utilities/[scope]/[id]/host/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/utilities/[scope]/[id]/host-api.mjs/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/utilities/[scope]/[id]/host-ui.mjs/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/utilities/[scope]/[id]/iframe/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/utilities/[scope]/[id]/style.css/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/utilities/install-archive/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/audit/page.js +2 -2
  39. package/.next/server/app/audit/page.js.nft.json +1 -1
  40. package/.next/server/app/audit/page_client-reference-manifest.js +1 -1
  41. package/.next/server/app/dispatcher/page.js +1 -1
  42. package/.next/server/app/dispatcher/page.js.nft.json +1 -1
  43. package/.next/server/app/dispatcher/page_client-reference-manifest.js +1 -1
  44. package/.next/server/app/onboarding/page.js +2 -2
  45. package/.next/server/app/onboarding/page.js.nft.json +1 -1
  46. package/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  47. package/.next/server/app/page.js +2 -2
  48. package/.next/server/app/page.js.nft.json +1 -1
  49. package/.next/server/app/page_client-reference-manifest.js +1 -1
  50. package/.next/server/app/roots/[id]/chat/[topicId]/page.js +2 -2
  51. package/.next/server/app/roots/[id]/chat/[topicId]/page.js.nft.json +1 -1
  52. package/.next/server/app/roots/[id]/chat/[topicId]/page_client-reference-manifest.js +1 -1
  53. package/.next/server/app/roots/[id]/kb/[...slug]/page.js +2 -2
  54. package/.next/server/app/roots/[id]/kb/[...slug]/page.js.nft.json +1 -1
  55. package/.next/server/app/roots/[id]/kb/[...slug]/page_client-reference-manifest.js +1 -1
  56. package/.next/server/app/roots/[id]/memory/page.js +1 -1
  57. package/.next/server/app/roots/[id]/memory/page.js.nft.json +1 -1
  58. package/.next/server/app/roots/[id]/memory/page_client-reference-manifest.js +1 -1
  59. package/.next/server/app/roots/[id]/page.js +6 -6
  60. package/.next/server/app/roots/[id]/page.js.nft.json +1 -1
  61. package/.next/server/app/roots/[id]/page_client-reference-manifest.js +1 -1
  62. package/.next/server/app/roots/[id]/workflows/[wfId]/page.js +2 -2
  63. package/.next/server/app/roots/[id]/workflows/[wfId]/page.js.nft.json +1 -1
  64. package/.next/server/app/roots/[id]/workflows/[wfId]/page_client-reference-manifest.js +1 -1
  65. package/.next/server/app/roots/[id]/workflows/page.js +2 -2
  66. package/.next/server/app/roots/[id]/workflows/page.js.nft.json +1 -1
  67. package/.next/server/app/roots/[id]/workflows/page_client-reference-manifest.js +1 -1
  68. package/.next/server/app/roots/new/page.js +4 -4
  69. package/.next/server/app/roots/new/page.js.nft.json +1 -1
  70. package/.next/server/app/roots/new/page_client-reference-manifest.js +1 -1
  71. package/.next/server/app/settings/page.js +6 -6
  72. package/.next/server/app/settings/page.js.nft.json +1 -1
  73. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  74. package/.next/server/app/share/[id]/file/page.js +2 -2
  75. package/.next/server/app/share/[id]/file/page.js.nft.json +1 -1
  76. package/.next/server/app/share/[id]/file/page_client-reference-manifest.js +1 -1
  77. package/.next/server/app/share/[id]/page.js +2 -2
  78. package/.next/server/app/share/[id]/page.js.nft.json +1 -1
  79. package/.next/server/app/share/[id]/page_client-reference-manifest.js +1 -1
  80. package/.next/server/app/utilities/[scope]/[id]/page.js +2 -2
  81. package/.next/server/app/utilities/[scope]/[id]/page.js.nft.json +1 -1
  82. package/.next/server/app/utilities/[scope]/[id]/page_client-reference-manifest.js +1 -1
  83. package/.next/server/app/utilities/page.js +2 -2
  84. package/.next/server/app/utilities/page.js.nft.json +1 -1
  85. package/.next/server/app/utilities/page_client-reference-manifest.js +1 -1
  86. package/.next/server/app-paths-manifest.json +9 -9
  87. package/.next/server/chunks/1116.js +1 -1
  88. package/.next/server/chunks/127.js +1 -0
  89. package/.next/server/chunks/1437.js +1 -0
  90. package/.next/server/chunks/1960.js +1 -1
  91. package/.next/server/chunks/2485.js +2 -2
  92. package/.next/server/chunks/285.js +5 -5
  93. package/.next/server/chunks/316.js +1 -0
  94. package/.next/server/chunks/3236.js +1 -0
  95. package/.next/server/chunks/3332.js +1 -1
  96. package/.next/server/chunks/3474.js +2 -2
  97. package/.next/server/chunks/3631.js +1 -1
  98. package/.next/server/chunks/383.js +80 -1
  99. package/.next/server/chunks/4031.js +2 -2
  100. package/.next/server/chunks/412.js +4 -0
  101. package/.next/server/chunks/4230.js +1 -1
  102. package/.next/server/chunks/4639.js +1 -1
  103. package/.next/server/chunks/4812.js +1 -1
  104. package/.next/server/chunks/6483.js +1 -1
  105. package/.next/server/chunks/8609.js +3 -3
  106. package/.next/server/chunks/8845.js +1 -0
  107. package/.next/server/chunks/9098.js +1 -1
  108. package/.next/server/chunks/9579.js +1 -1
  109. package/.next/server/chunks/9744.js +3 -0
  110. package/.next/server/middleware-build-manifest.js +1 -1
  111. package/.next/server/middleware-manifest.json +5 -5
  112. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  113. package/.next/server/pages/500.html +1 -1
  114. package/.next/server/server-reference-manifest.js +1 -1
  115. package/.next/server/server-reference-manifest.json +1 -1
  116. package/.next/static/chunks/1607-15c6d55d9e53ff93.js +1 -0
  117. package/.next/static/chunks/3087-89315a04ad02f248.js +1 -0
  118. package/.next/static/chunks/4108.94b29b464eb76def.js +1 -0
  119. package/.next/static/chunks/434-111636f3d1607ae6.js +1 -0
  120. package/.next/static/chunks/5906-b510bcfd22b3cb54.js +1 -0
  121. package/.next/static/chunks/8275-b0235bf4164f80c8.js +1 -0
  122. package/.next/static/chunks/app/layout-ff235b86ba1c2051.js +1 -0
  123. package/.next/static/chunks/app/onboarding/{page-b1b1e6a4467ed781.js → page-2d69151514462c2f.js} +1 -1
  124. package/.next/static/chunks/app/page-bf7e4b271092499e.js +1 -0
  125. package/.next/static/chunks/app/roots/[id]/chat/[topicId]/page-99b5fd894d818407.js +1 -0
  126. package/.next/static/chunks/app/roots/[id]/kb/[...slug]/page-1770f40a6ebbe963.js +1 -0
  127. package/.next/static/chunks/app/roots/[id]/memory/{page-1f6bc3a624b141a5.js → page-d9df1020e2518e08.js} +1 -1
  128. package/.next/static/chunks/app/roots/[id]/page-5dbe59ec1a056767.js +1 -0
  129. package/.next/static/chunks/app/roots/[id]/workflows/[wfId]/page-24f3dbbc8c66fe66.js +1 -0
  130. package/.next/static/chunks/app/roots/[id]/workflows/page-d8a1dfdf2ae79306.js +1 -0
  131. package/.next/static/chunks/app/roots/new/page-29d4085ff97398aa.js +1 -0
  132. package/.next/static/chunks/app/settings/page-375f180a307b7982.js +1 -0
  133. package/.next/static/chunks/app/share/[id]/page-5802433c7b5b4a5b.js +1 -0
  134. package/.next/static/chunks/app/utilities/[scope]/[id]/page-d2f2cf9a1d829587.js +1 -0
  135. package/.next/static/chunks/app/utilities/page-87a36f10ea33d4fc.js +1 -0
  136. package/.next/static/chunks/{webpack-88066a85eb2d605f.js → webpack-a39957c5072b4303.js} +1 -1
  137. package/.next/static/css/749ec7b5594bd012.css +1 -0
  138. package/.next/trace +116 -116
  139. package/LICENSE +21 -0
  140. package/README.md +105 -84
  141. package/package.json +1 -1
  142. package/.next/server/chunks/2764.js +0 -80
  143. package/.next/server/chunks/4294.js +0 -1
  144. package/.next/server/chunks/6970.js +0 -1
  145. package/.next/server/chunks/8032.js +0 -3
  146. package/.next/server/chunks/832.js +0 -1
  147. package/.next/server/chunks/8583.js +0 -4
  148. package/.next/static/chunks/3363-f417b308a8cd156d.js +0 -1
  149. package/.next/static/chunks/3695-3576767108de7f38.js +0 -1
  150. package/.next/static/chunks/4108.19abaa6d618295ed.js +0 -1
  151. package/.next/static/chunks/5933-4013a6dab4565b5e.js +0 -1
  152. package/.next/static/chunks/7552-def8a17828891c8c.js +0 -1
  153. package/.next/static/chunks/app/layout-baad68d32b917b8f.js +0 -1
  154. package/.next/static/chunks/app/page-556a2139313c3c71.js +0 -1
  155. package/.next/static/chunks/app/roots/[id]/chat/[topicId]/page-52223811258d07b2.js +0 -1
  156. package/.next/static/chunks/app/roots/[id]/kb/[...slug]/page-0df769f27549cd16.js +0 -1
  157. package/.next/static/chunks/app/roots/[id]/page-17493991b2d391b3.js +0 -1
  158. package/.next/static/chunks/app/roots/[id]/workflows/[wfId]/page-a21fe3541418a80a.js +0 -1
  159. package/.next/static/chunks/app/roots/[id]/workflows/page-0952e5fb53d53c3e.js +0 -1
  160. package/.next/static/chunks/app/roots/new/page-4f571184c1856103.js +0 -1
  161. package/.next/static/chunks/app/settings/page-8c0ad1c1856da988.js +0 -1
  162. package/.next/static/chunks/app/share/[id]/page-b27a0bc7b9c6cda9.js +0 -1
  163. package/.next/static/chunks/app/utilities/[scope]/[id]/page-0fe4c377098064d5.js +0 -1
  164. package/.next/static/chunks/app/utilities/page-445933dcd5a500ae.js +0 -1
  165. package/.next/static/css/eef5a7cce3f3a4b3.css +0 -1
  166. /package/.next/static/{EXoiX_YvMRCB6oNXqJnaz → pJmMEuKKdWVEE__TmxHJk}/_buildManifest.js +0 -0
  167. /package/.next/static/{EXoiX_YvMRCB6oNXqJnaz → pJmMEuKKdWVEE__TmxHJk}/_ssgManifest.js +0 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Reflex authors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,54 +1,75 @@
1
- # Reflex
1
+ # Reflex — local-first AI agent + knowledge base for your files
2
2
 
3
- Local-first AI knowledge base + agent platform. You point Reflex at a
4
- directory ("a Space"), and an agent (Claude Code or Codex) becomes
5
- your second brain for that directory: it keeps a knowledge tree, runs
6
- scheduled workflows, recalls past conversations, and dispatches
7
- sub-tasks in isolated git worktrees.
3
+ **Reflex turns any folder into a second brain run by an AI agent.** Point it at
4
+ a directory, and Claude Code or OpenAI Codex maintains a living knowledge base,
5
+ remembers every conversation, runs scheduled workflows in the background, and
6
+ dispatches sub-tasks in isolated git worktrees — all stored as plain markdown on
7
+ your machine. No cloud, no database, no daemon.
8
8
 
9
- Everything is stored as plain markdown + JSON in your filesystem. No
10
- external database, no cloud, no daemon. The only persistent process is
11
- the Next.js server itself.
9
+ [![npm](https://img.shields.io/npm/v/reflex-agent.svg)](https://www.npmjs.com/package/reflex-agent)
10
+ ![Node](https://img.shields.io/badge/node-%E2%89%A522-3c873a.svg)
11
+ ![Next.js](https://img.shields.io/badge/Next.js-15-black.svg)
12
+ ![TypeScript](https://img.shields.io/badge/TypeScript-strict-3178c6.svg)
13
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
12
14
 
13
- ## Install
15
+ ```sh
16
+ npm i -g reflex-agent
17
+ reflex start # opens the web UI at http://localhost:3210
18
+ ```
14
19
 
15
- Prerequisites:
20
+ > **Local-first AI assistant · personal knowledge management (PKM) · second
21
+ > brain · autonomous agent platform.** Your notes, chats, and automations live
22
+ > in your filesystem as markdown you can read, grep, and version-control —
23
+ > Reflex just makes an agent fluent in them.
16
24
 
17
- - **Node.js 22+** ([nodejs.org](https://nodejs.org/) or `nvm`/`fnm`).
18
- Node 24 recommended (built-in SQLite powers session search).
19
- - A coding-agent CLI authenticated:
20
- - `npm i -g @openai/codex && codex login`, or
21
- - `npm i -g @anthropic-ai/claude-code && claude login`
25
+ ---
22
26
 
23
- Install Reflex globally:
27
+ ## Why Reflex?
24
28
 
25
- ```sh
26
- npm i -g reflex-agent
27
- # or: pnpm add -g reflex-agent
28
- ```
29
+ A cloud chatbot forgets you between sessions, can't act while you're away, and
30
+ keeps your data on someone else's server. Reflex is built the other way around:
31
+
32
+ - **Local-first & private.** Everything is markdown + JSON under your control.
33
+ Network access is opt-in (LLM calls, web fetch, GitHub installs); Reflex
34
+ browses and reads fully offline.
35
+ - **Persistent memory & recall.** A durable per-project memory plus full-text
36
+ search over *every* past conversation — the agent never re-asks who you are.
37
+ - **Autonomous by schedule.** Background workflows wake on their own clock
38
+ (hourly / daily / weekly) and do work without you in the loop.
39
+ - **A platform, not a prompt.** Installable mini-app **utilities** add UI,
40
+ commands, skills, and automations — and can securely share data with each
41
+ other through a permissioned, audited grant system.
42
+ - **Bring your own agent.** Runs on **Claude Code** or **OpenAI Codex**, with
43
+ **MCP** servers as on-demand tools.
29
44
 
30
- Launch the web UI:
45
+ ## Quickstart
46
+
47
+ **Prerequisites**
48
+
49
+ - **Node.js 22+** ([nodejs.org](https://nodejs.org/) or `nvm`/`fnm`). Node 24
50
+ recommended — its built-in SQLite powers conversation search.
51
+ - An authenticated coding-agent CLI:
52
+ - `npm i -g @openai/codex && codex login`, or
53
+ - `npm i -g @anthropic-ai/claude-code && claude login`
54
+
55
+ **Install & run**
31
56
 
32
57
  ```sh
33
- reflex start # opens http://localhost:3210 in your browser
58
+ npm i -g reflex-agent # or: pnpm add -g reflex-agent
59
+ reflex start # http://localhost:3210
34
60
  reflex start --port 4000 --no-open
35
61
  ```
36
62
 
37
- Dev runs on `:3211` by default so a `pnpm dev` and an installed
38
- `reflex start` can co-exist without a port collision.
39
-
40
- ## First run
63
+ **First run**
41
64
 
42
- 1. Click **Add a root** on the home screen and pick a directory.
43
- 2. On the Space dashboard, the onboarding wizard asks a few short
44
- questions to seed memory + suggest a first workflow.
45
- 3. Open a chat type in plain language. The agent reads / writes the
46
- `.reflex/` tree, your memory files, and (with permission) shell +
47
- web tools.
65
+ 1. Click **Add a root** and pick a directory that folder becomes a *Space*.
66
+ 2. The onboarding wizard seeds memory and suggests a first workflow.
67
+ 3. Open a chat and type in plain language. The agent reads/writes the
68
+ `.reflex/` tree, your memory files, and (with permission) shell + web tools.
48
69
 
49
- ## What Reflex actually does
70
+ ## Features
50
71
 
51
- ### A knowledge base per Space
72
+ ### 📚 A knowledge base per Space
52
73
 
53
74
  The agent builds a tree of markdown notes under `<your-dir>/.reflex/`:
54
75
 
@@ -68,57 +89,57 @@ The agent builds a tree of markdown notes under `<your-dir>/.reflex/`:
68
89
 
69
90
  See [docs/kb.md](docs/kb.md) and [docs/architecture.md](docs/architecture.md).
70
91
 
71
- ### Cross-session memory
72
-
73
- Eight bounded markdown files capture who the user is and what the
74
- project is about. Every chat starts with this loaded into the system
75
- prompt — the agent never re-asks who you are.
76
-
77
- A weekly system task rolls up journal entries into a `RECENT.md`
78
- summary. A hygiene scanner refuses memory writes that look like
79
- prompt injection, credentials, or invisible unicode.
80
-
81
- See [docs/memory.md](docs/memory.md).
92
+ ### 🧠 Cross-session memory
82
93
 
83
- ### Searchable conversation history
94
+ Eight bounded markdown files capture who you are and what the project is about,
95
+ loaded into every chat's system prompt. A weekly task rolls up the journal into
96
+ a summary; a hygiene scanner refuses writes that look like prompt injection,
97
+ credentials, or invisible unicode. See [docs/memory.md](docs/memory.md).
84
98
 
85
- Every journal entry + chat transcript across every Space is indexed
86
- into a SQLite FTS5 database under `$REFLEX_HOME/sessions.db`. The
87
- agent (or you, or a utility) can ask "what did we say about X?" with
88
- ranked snippets returning in milliseconds.
99
+ ### 🔎 Searchable conversation history
89
100
 
101
+ Every journal entry and chat transcript across every Space is indexed into a
102
+ SQLite **FTS5** database. Ask *"what did we decide about X?"* and get
103
+ ranked snippets in milliseconds — the substrate for true long-term recall.
90
104
  See [docs/sessions.md](docs/sessions.md).
91
105
 
92
- ### Linear workflows, scheduled
93
-
94
- The user (or the agent) composes "recipes" from typed steps —
95
- `web-fetch`, `ask-agent`, `kb-write`, `image-generate`, etc. The
96
- background scheduler fires triggered ones hourly / daily / weekly.
106
+ ### Scheduled, autonomous workflows
97
107
 
108
+ Compose "recipes" from typed steps — `web-fetch`, `ask-agent`, `kb-write`,
109
+ `image-generate`, `notify`, and more. The in-process scheduler fires triggered
110
+ workflows hourly / daily / weekly, so the agent acts while you're away.
98
111
  See [docs/workflows.md](docs/workflows.md).
99
112
 
100
- ### Installable utilities
101
-
102
- Mini-apps that bring a UI iframe, server actions, slash commands,
103
- skills, system-prompt addenda, and workflows. Shipped curated or
104
- installed from GitHub. Two examples ship by default:
113
+ ### 🧩 Installable utilities + the Share Plane
105
114
 
106
- - **`learn-anything`** chat-driven topic learning, materialised into
107
- the KB.
108
- - **`task-board`** Kanban board with agent-dispatch, git worktrees,
109
- pre/post hooks, auto-pickup.
115
+ Utilities are mini-apps that bundle a UI iframe, server actions, slash commands,
116
+ skills, system-prompt addenda, and workflows — shipped curated or installed from
117
+ GitHub. They can **share data with each other** through the **Share Plane**: a
118
+ permission-gated, fully-audited grant system where one utility reads another's
119
+ data (`kb.scoped*`) or calls a verb it exports (`capabilities.invoke`), only
120
+ with your **just-in-time consent** — never blanket access. Two utilities ship by
121
+ default:
110
122
 
111
- See [docs/utilities.md](docs/utilities.md).
123
+ - **`learn-anything`** — chat-driven topic learning, materialised into the KB.
124
+ - **`task-board`** — Kanban board with agent-dispatch, git worktrees, pre/post
125
+ hooks, and auto-pickup.
112
126
 
113
- ### Agent dispatch via worktrees
127
+ See [docs/utilities.md](docs/utilities.md) and [docs/sharing.md](docs/sharing.md).
114
128
 
115
- Code tasks dispatched from the task-board get an isolated git worktree
116
- on `task/<slug>`, so two parallel agents can work on the same repo
117
- without stepping on each other. PR mode auto-detects `gh` CLI and
118
- turns "Merge" into "Open PR".
129
+ ### 🌳 Worktree-isolated agent dispatch
119
130
 
131
+ Code tasks dispatched from the task-board each get an isolated git worktree on
132
+ `task/<slug>`, so parallel agents work the same repo without colliding. PR mode
133
+ auto-detects the `gh` CLI and turns "Merge" into "Open PR".
120
134
  See [docs/tasks.md](docs/tasks.md).
121
135
 
136
+ ### 🔐 Permissions + audit trail
137
+
138
+ Every utility runs sandboxed and declares an explicit permission allowlist;
139
+ every host-API call is recorded in an append-only audit log you can inspect.
140
+ Sensitive powers (spawning agents, mutating git) require dedicated, consented
141
+ permission slots. See [docs/host-api.md](docs/host-api.md).
142
+
122
143
  ## Architecture at a glance
123
144
 
124
145
  One Node process. Inside it:
@@ -129,10 +150,8 @@ One Node process. Inside it:
129
150
  - Subprocess agents (Claude Code / Codex) spawned per topic.
130
151
  - MCP servers on demand.
131
152
 
132
- Two filesystem homes: `REFLEX_HOME` (global state) and
133
- `<root>/.reflex/` (per-Space).
134
-
135
- For the full layer diagram and component map see
153
+ Two filesystem homes: `REFLEX_HOME` (global state) and `<root>/.reflex/`
154
+ (per-Space). For the full layer diagram see
136
155
  [docs/architecture.md](docs/architecture.md).
137
156
 
138
157
  ## Documentation
@@ -146,6 +165,7 @@ For the full layer diagram and component map see
146
165
  | [docs/kb.md](docs/kb.md) | Knowledge-base entries, kinds, slug rules |
147
166
  | [docs/workflows.md](docs/workflows.md) | Step kinds, templates, scheduler, system tasks |
148
167
  | [docs/utilities.md](docs/utilities.md) | Extension model, manifest, permissions, iframe + worker |
168
+ | [docs/sharing.md](docs/sharing.md) | Cross-utility data sharing (the Share Plane) |
149
169
  | [docs/host-api.md](docs/host-api.md) | Full `reflex.*` method reference |
150
170
  | [docs/markers.md](docs/markers.md) | `<<reflex:*>>` protocol reference |
151
171
  | [docs/skills.md](docs/skills.md) | Skill files, scopes, marker authoring |
@@ -163,8 +183,8 @@ reflex chat <dir> # open a chat scoped to dir's KB
163
183
 
164
184
  ## Data directory
165
185
 
166
- Reflex stores its global state (registered roots, settings, MCP config,
167
- secrets, skills, sessions index, …) in one directory:
186
+ Reflex stores its global state (registered roots, settings, MCP config, secrets,
187
+ skills, sessions index, …) in one directory:
168
188
 
169
189
  - **Dev (`pnpm dev`)** → `~/.reflex`
170
190
  - **Prod (`reflex start` via npm-installed CLI)** → `~/.reflex-agent`
@@ -175,13 +195,14 @@ Override either by setting `REFLEX_HOME=/your/path` before launching.
175
195
 
176
196
  ```sh
177
197
  pnpm install
178
- pnpm dev # http://localhost:3211 (Next dev server with HMR)
179
- pnpm build # produce dist/ + .next/ for `reflex start`
198
+ pnpm dev # http://localhost:3211 (Next dev server with HMR)
199
+ pnpm build # produce dist/ + .next/ for `reflex start`
180
200
  pnpm typecheck
201
+ pnpm test # vitest
181
202
  ```
182
203
 
183
- PRs welcome. The codebase favours small, focused modules — when in
184
- doubt, look at neighbouring files and match the style.
204
+ PRs welcome. The codebase favours small, focused modules — when in doubt, look
205
+ at neighbouring files and match the style.
185
206
 
186
207
  ## Config (`.reflex/config.json`)
187
208
 
@@ -193,9 +214,9 @@ doubt, look at neighbouring files and match the style.
193
214
  }
194
215
  ```
195
216
 
196
- `watchDebounceMs` defaults to 30 minutes (`1800000`). Lower it for
197
- tighter loops; the enforced minimum is 1 second (anti-thrash).
217
+ `watchDebounceMs` defaults to 30 minutes (`1800000`). Lower it for tighter
218
+ loops; the enforced minimum is 1 second (anti-thrash).
198
219
 
199
220
  ## License
200
221
 
201
- MIT.
222
+ [MIT](LICENSE) © the Reflex authors.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reflex-agent",
3
- "version": "0.19.0",
3
+ "version": "0.19.1",
4
4
  "private": false,
5
5
  "description": "Local-first knowledge base built by an agent over a chosen directory.",
6
6
  "license": "MIT",