reflectt-node 0.1.14 → 0.1.16
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 +54 -0
- package/defaults/TEAM-ROLES.starter.yaml +87 -0
- package/defaults/lane-templates/ops.json +32 -0
- package/defaults/lane-templates/workflow.json +32 -0
- package/defaults/reviewer-routing.yaml +34 -0
- package/dist/activationEvents.d.ts +7 -1
- package/dist/activationEvents.d.ts.map +1 -1
- package/dist/activationEvents.js +29 -3
- package/dist/activationEvents.js.map +1 -1
- package/dist/activity-stream-normalizer.d.ts +37 -0
- package/dist/activity-stream-normalizer.d.ts.map +1 -0
- package/dist/activity-stream-normalizer.js +101 -0
- package/dist/activity-stream-normalizer.js.map +1 -0
- package/dist/agent-exec-guardrail.d.ts +9 -0
- package/dist/agent-exec-guardrail.d.ts.map +1 -0
- package/dist/agent-exec-guardrail.js +24 -0
- package/dist/agent-exec-guardrail.js.map +1 -0
- package/dist/agent-exec-guardrail.test.d.ts +2 -0
- package/dist/agent-exec-guardrail.test.d.ts.map +1 -0
- package/dist/agent-exec-guardrail.test.js +55 -0
- package/dist/agent-exec-guardrail.test.js.map +1 -0
- package/dist/agent-interface.d.ts +137 -0
- package/dist/agent-interface.d.ts.map +1 -0
- package/dist/agent-interface.js +463 -0
- package/dist/agent-interface.js.map +1 -0
- package/dist/agent-notifications.d.ts +51 -0
- package/dist/agent-notifications.d.ts.map +1 -0
- package/dist/agent-notifications.js +104 -0
- package/dist/agent-notifications.js.map +1 -0
- package/dist/agent-runs.d.ts +31 -7
- package/dist/agent-runs.d.ts.map +1 -1
- package/dist/agent-runs.js +137 -28
- package/dist/agent-runs.js.map +1 -1
- package/dist/artifact-mirror.d.ts.map +1 -1
- package/dist/artifact-mirror.js +4 -1
- package/dist/artifact-mirror.js.map +1 -1
- package/dist/assignment.d.ts.map +1 -1
- package/dist/assignment.js +54 -2
- package/dist/assignment.js.map +1 -1
- package/dist/boardHealthWorker.d.ts.map +1 -1
- package/dist/boardHealthWorker.js +15 -1
- package/dist/boardHealthWorker.js.map +1 -1
- package/dist/canvas-auto-state.d.ts +58 -0
- package/dist/canvas-auto-state.d.ts.map +1 -0
- package/dist/canvas-auto-state.js +89 -0
- package/dist/canvas-auto-state.js.map +1 -0
- package/dist/canvas-routes.d.ts +36 -0
- package/dist/canvas-routes.d.ts.map +1 -0
- package/dist/canvas-routes.js +47 -0
- package/dist/canvas-routes.js.map +1 -0
- package/dist/capability-readiness.d.ts +28 -0
- package/dist/capability-readiness.d.ts.map +1 -0
- package/dist/capability-readiness.js +162 -0
- package/dist/capability-readiness.js.map +1 -0
- package/dist/channels.d.ts.map +1 -1
- package/dist/channels.js +1 -0
- package/dist/channels.js.map +1 -1
- package/dist/cli.js +179 -4
- package/dist/cli.js.map +1 -1
- package/dist/cloud.d.ts +5 -0
- package/dist/cloud.d.ts.map +1 -1
- package/dist/cloud.js +485 -18
- package/dist/cloud.js.map +1 -1
- package/dist/comms-routing-policy.d.ts +31 -0
- package/dist/comms-routing-policy.d.ts.map +1 -0
- package/dist/comms-routing-policy.js +128 -0
- package/dist/comms-routing-policy.js.map +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -0
- package/dist/config.js.map +1 -1
- package/dist/continuity-loop.d.ts.map +1 -1
- package/dist/continuity-loop.js +26 -0
- package/dist/continuity-loop.js.map +1 -1
- package/dist/cost-enforcement.d.ts.map +1 -1
- package/dist/cost-enforcement.js +22 -0
- package/dist/cost-enforcement.js.map +1 -1
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +56 -5
- package/dist/db.js.map +1 -1
- package/dist/doctor.js +2 -2
- package/dist/e2e-loop-proof.test.js +11 -1
- package/dist/e2e-loop-proof.test.js.map +1 -1
- package/dist/events.d.ts +4 -2
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +22 -1
- package/dist/events.js.map +1 -1
- package/dist/executionSweeper.d.ts.map +1 -1
- package/dist/executionSweeper.js +155 -0
- package/dist/executionSweeper.js.map +1 -1
- package/dist/health.d.ts +21 -1
- package/dist/health.d.ts.map +1 -1
- package/dist/health.js +164 -19
- package/dist/health.js.map +1 -1
- package/dist/inbox.d.ts +4 -0
- package/dist/inbox.d.ts.map +1 -1
- package/dist/inbox.js +38 -1
- package/dist/inbox.js.map +1 -1
- package/dist/index.js +90 -14
- package/dist/index.js.map +1 -1
- package/dist/insight-auto-tagger.d.ts +58 -0
- package/dist/insight-auto-tagger.d.ts.map +1 -0
- package/dist/insight-auto-tagger.js +331 -0
- package/dist/insight-auto-tagger.js.map +1 -0
- package/dist/insight-task-bridge.d.ts +9 -0
- package/dist/insight-task-bridge.d.ts.map +1 -1
- package/dist/insight-task-bridge.js +43 -7
- package/dist/insight-task-bridge.js.map +1 -1
- package/dist/insights.d.ts +6 -0
- package/dist/insights.d.ts.map +1 -1
- package/dist/insights.js +13 -0
- package/dist/insights.js.map +1 -1
- package/dist/lane-config.d.ts.map +1 -1
- package/dist/lane-config.js +1 -0
- package/dist/lane-config.js.map +1 -1
- package/dist/lane-template-successor.d.ts +13 -0
- package/dist/lane-template-successor.d.ts.map +1 -0
- package/dist/lane-template-successor.js +132 -0
- package/dist/lane-template-successor.js.map +1 -0
- package/dist/local-whisper.d.ts +21 -0
- package/dist/local-whisper.d.ts.map +1 -0
- package/dist/local-whisper.js +137 -0
- package/dist/local-whisper.js.map +1 -0
- package/dist/macos-accessibility.d.ts +50 -0
- package/dist/macos-accessibility.d.ts.map +1 -0
- package/dist/macos-accessibility.js +185 -0
- package/dist/macos-accessibility.js.map +1 -0
- package/dist/manage.d.ts.map +1 -1
- package/dist/manage.js +47 -1
- package/dist/manage.js.map +1 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +123 -0
- package/dist/mcp.js.map +1 -1
- package/dist/notification-worker.d.ts +66 -0
- package/dist/notification-worker.d.ts.map +1 -0
- package/dist/notification-worker.js +232 -0
- package/dist/notification-worker.js.map +1 -0
- package/dist/openclaw-usage-sync.d.ts +28 -0
- package/dist/openclaw-usage-sync.d.ts.map +1 -0
- package/dist/openclaw-usage-sync.js +161 -0
- package/dist/openclaw-usage-sync.js.map +1 -0
- package/dist/policy.js +1 -1
- package/dist/policy.js.map +1 -1
- package/dist/pr-link-reconciler.d.ts +61 -0
- package/dist/pr-link-reconciler.d.ts.map +1 -0
- package/dist/pr-link-reconciler.js +127 -0
- package/dist/pr-link-reconciler.js.map +1 -0
- package/dist/preflight.js +2 -2
- package/dist/presence-narrator.d.ts +52 -0
- package/dist/presence-narrator.d.ts.map +1 -0
- package/dist/presence-narrator.js +193 -0
- package/dist/presence-narrator.js.map +1 -0
- package/dist/presence.d.ts +2 -0
- package/dist/presence.d.ts.map +1 -1
- package/dist/presence.js +23 -3
- package/dist/presence.js.map +1 -1
- package/dist/product-observation-source.d.ts +52 -0
- package/dist/product-observation-source.d.ts.map +1 -0
- package/dist/product-observation-source.js +326 -0
- package/dist/product-observation-source.js.map +1 -0
- package/dist/reflection-automation.d.ts +25 -0
- package/dist/reflection-automation.d.ts.map +1 -1
- package/dist/reflection-automation.js +163 -42
- package/dist/reflection-automation.js.map +1 -1
- package/dist/review-autoclose.d.ts +62 -0
- package/dist/review-autoclose.d.ts.map +1 -0
- package/dist/review-autoclose.js +75 -0
- package/dist/review-autoclose.js.map +1 -0
- package/dist/routing-enforcement.test.js +32 -56
- package/dist/routing-enforcement.test.js.map +1 -1
- package/dist/sentry-webhook.d.ts +69 -0
- package/dist/sentry-webhook.d.ts.map +1 -0
- package/dist/sentry-webhook.js +88 -0
- package/dist/sentry-webhook.js.map +1 -0
- package/dist/sentry.d.ts +29 -0
- package/dist/sentry.d.ts.map +1 -0
- package/dist/sentry.js +86 -0
- package/dist/sentry.js.map +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +5130 -233
- package/dist/server.js.map +1 -1
- package/dist/stale-candidate-reconciler.d.ts +69 -0
- package/dist/stale-candidate-reconciler.d.ts.map +1 -0
- package/dist/stale-candidate-reconciler.js +236 -0
- package/dist/stale-candidate-reconciler.js.map +1 -0
- package/dist/system-loop-state.d.ts +1 -1
- package/dist/system-loop-state.d.ts.map +1 -1
- package/dist/system-loop-state.js +1 -0
- package/dist/system-loop-state.js.map +1 -1
- package/dist/taskPrecheck.d.ts.map +1 -1
- package/dist/taskPrecheck.js +47 -2
- package/dist/taskPrecheck.js.map +1 -1
- package/dist/tasks.d.ts.map +1 -1
- package/dist/tasks.js +130 -0
- package/dist/tasks.js.map +1 -1
- package/dist/trust-events.d.ts +61 -0
- package/dist/trust-events.d.ts.map +1 -0
- package/dist/trust-events.js +148 -0
- package/dist/trust-events.js.map +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/usage-tracking.d.ts +6 -0
- package/dist/usage-tracking.d.ts.map +1 -1
- package/dist/usage-tracking.js +14 -0
- package/dist/usage-tracking.js.map +1 -1
- package/dist/voice-sessions.d.ts +51 -0
- package/dist/voice-sessions.d.ts.map +1 -0
- package/dist/voice-sessions.js +143 -0
- package/dist/voice-sessions.js.map +1 -0
- package/dist/workflow-templates.d.ts.map +1 -1
- package/dist/workflow-templates.js +18 -3
- package/dist/workflow-templates.js.map +1 -1
- package/dist/working-contract.d.ts +22 -1
- package/dist/working-contract.d.ts.map +1 -1
- package/dist/working-contract.js +31 -2
- package/dist/working-contract.js.map +1 -1
- package/package.json +4 -4
- package/public/dashboard.js +12 -4
- package/public/docs.md +98 -10
package/README.md
CHANGED
|
@@ -31,6 +31,8 @@ reflectt start
|
|
|
31
31
|
|
|
32
32
|
Open **[http://localhost:4445/dashboard](http://localhost:4445/dashboard)** — a starter team and first task are already there.
|
|
33
33
|
|
|
34
|
+
> **Developing locally?** Clone the repo and run `npm run dev` — no build step needed, auto-restarts on file changes.
|
|
35
|
+
|
|
34
36
|
> Just want to try it first? `npx reflectt-node` starts immediately, no install required.
|
|
35
37
|
|
|
36
38
|
> **Using yarn?** `yarn global add reflectt-node` works, but run `yarn global bin` and add it to your `$PATH` if you get `reflectt: command not found`.
|
|
@@ -108,6 +110,33 @@ Get your token at [app.reflectt.ai](https://app.reflectt.ai). Your node syncs to
|
|
|
108
110
|
|
|
109
111
|
---
|
|
110
112
|
|
|
113
|
+
## Quick start — team in 2 minutes
|
|
114
|
+
|
|
115
|
+
The fastest way to get a team running with 3 default agents (builder, researcher, coordinator):
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
# 1. Get the files
|
|
119
|
+
git clone https://github.com/reflectt/reflectt-node.git && cd reflectt-node
|
|
120
|
+
|
|
121
|
+
# 2. Set your LLM API key
|
|
122
|
+
cp .env.starter .env
|
|
123
|
+
echo "ANTHROPIC_API_KEY=your_key_here" >> .env # or OPENAI_API_KEY
|
|
124
|
+
|
|
125
|
+
# 3. Start
|
|
126
|
+
docker compose -f docker-compose.starter.yml up -d
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
That's it. Open [http://localhost:4445](http://localhost:4445) — your team is running.
|
|
130
|
+
|
|
131
|
+
**Connect to app.reflectt.ai for presence + cloud sync:**
|
|
132
|
+
1. Sign up at [app.reflectt.ai](https://app.reflectt.ai) → Connect a host → copy your join token
|
|
133
|
+
2. `docker exec reflectt-starter reflectt host connect --join-token <TOKEN>`
|
|
134
|
+
3. Your team appears in presence within 60 seconds
|
|
135
|
+
|
|
136
|
+
Customize the team by editing `defaults/TEAM-ROLES.starter.yaml` and restarting.
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
111
140
|
## Docker
|
|
112
141
|
|
|
113
142
|
```bash
|
|
@@ -117,6 +146,31 @@ docker run -d --name reflectt-node \
|
|
|
117
146
|
ghcr.io/reflectt/reflectt-node:latest
|
|
118
147
|
```
|
|
119
148
|
|
|
149
|
+
### Docker Compose — one-command team setup
|
|
150
|
+
|
|
151
|
+
Get a full team in presence in under 2 minutes:
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
# 1. Copy the env template and add your LLM key
|
|
155
|
+
cp .env.starter .env
|
|
156
|
+
echo 'ANTHROPIC_API_KEY=sk-ant-...' >> .env
|
|
157
|
+
|
|
158
|
+
# 2. Start
|
|
159
|
+
docker compose -f docker-compose.starter.yml up -d
|
|
160
|
+
|
|
161
|
+
# 3. Open http://localhost:4445/dashboard
|
|
162
|
+
# → 3 starter agents already in presence
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
To connect to [app.reflectt.ai](https://app.reflectt.ai) for cloud presence:
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
# After signing up, get your join token and run:
|
|
169
|
+
docker exec reflectt-starter reflectt host connect --join-token <TOKEN>
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
That's it — your team appears in the presence view within ~30 seconds.
|
|
173
|
+
|
|
120
174
|
---
|
|
121
175
|
|
|
122
176
|
## API
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Starter Team — 3 default agents for new reflectt-node users
|
|
2
|
+
#
|
|
3
|
+
# These are generic, useful agents for any team.
|
|
4
|
+
# Customize names, roles, and routing to fit your workflow.
|
|
5
|
+
# Full reference: docs/TEAM-ROLES.md
|
|
6
|
+
|
|
7
|
+
agents:
|
|
8
|
+
- name: builder
|
|
9
|
+
role: engineer
|
|
10
|
+
description: Builds features, fixes bugs, and ships code. Owns backend and frontend implementation.
|
|
11
|
+
affinityTags:
|
|
12
|
+
- backend
|
|
13
|
+
- frontend
|
|
14
|
+
- api
|
|
15
|
+
- bug
|
|
16
|
+
- feature
|
|
17
|
+
- code
|
|
18
|
+
- typescript
|
|
19
|
+
- database
|
|
20
|
+
alwaysRoute:
|
|
21
|
+
- backend
|
|
22
|
+
- api
|
|
23
|
+
- bug
|
|
24
|
+
- code
|
|
25
|
+
wipCap: 2
|
|
26
|
+
|
|
27
|
+
- name: researcher
|
|
28
|
+
role: analyst
|
|
29
|
+
description: Researches questions, summarizes findings, drafts docs and reports. Owns knowledge work.
|
|
30
|
+
affinityTags:
|
|
31
|
+
- research
|
|
32
|
+
- analysis
|
|
33
|
+
- docs
|
|
34
|
+
- summary
|
|
35
|
+
- report
|
|
36
|
+
- writing
|
|
37
|
+
- content
|
|
38
|
+
alwaysRoute:
|
|
39
|
+
- research
|
|
40
|
+
- docs
|
|
41
|
+
- analysis
|
|
42
|
+
wipCap: 2
|
|
43
|
+
|
|
44
|
+
- name: coordinator
|
|
45
|
+
role: project-manager
|
|
46
|
+
description: Tracks tasks, flags blockers, routes work to the right agent. Keeps the team moving.
|
|
47
|
+
affinityTags:
|
|
48
|
+
- coordination
|
|
49
|
+
- planning
|
|
50
|
+
- prioritization
|
|
51
|
+
- blocker
|
|
52
|
+
- routing
|
|
53
|
+
- status
|
|
54
|
+
alwaysRoute:
|
|
55
|
+
- coordination
|
|
56
|
+
- planning
|
|
57
|
+
wipCap: 2
|
|
58
|
+
|
|
59
|
+
# Decision authority
|
|
60
|
+
decision_authority:
|
|
61
|
+
team_decides:
|
|
62
|
+
- Task creation, assignment, and prioritization
|
|
63
|
+
- Technical approach and architecture
|
|
64
|
+
- Content and documentation
|
|
65
|
+
escalate_to_human:
|
|
66
|
+
- External credentials and secrets
|
|
67
|
+
- Legal agreements or compliance sign-offs
|
|
68
|
+
- Major strategic decisions
|
|
69
|
+
escalation_channel: task comment or email
|
|
70
|
+
note: Make reversible decisions. Escalate only when the stakes are irreversible.
|
|
71
|
+
|
|
72
|
+
# Lanes
|
|
73
|
+
lanes:
|
|
74
|
+
- name: engineering
|
|
75
|
+
agents: [builder]
|
|
76
|
+
readyFloor: 1
|
|
77
|
+
wipLimit: 2
|
|
78
|
+
|
|
79
|
+
- name: knowledge
|
|
80
|
+
agents: [researcher]
|
|
81
|
+
readyFloor: 1
|
|
82
|
+
wipLimit: 2
|
|
83
|
+
|
|
84
|
+
- name: coordination
|
|
85
|
+
agents: [coordinator]
|
|
86
|
+
readyFloor: 1
|
|
87
|
+
wipLimit: 2
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"lane": "ops",
|
|
3
|
+
"description": "Template for ops-lane tasks. On completion, auto-generates the next ops health check or process-improvement task.",
|
|
4
|
+
"done_criteria_template": [
|
|
5
|
+
"Artifact committed at {{artifact_path}}",
|
|
6
|
+
"No regressions in existing tests",
|
|
7
|
+
"Status posted to task comments with shipped/blocker/next"
|
|
8
|
+
],
|
|
9
|
+
"successor_rule": {
|
|
10
|
+
"strategy": "insight_or_default",
|
|
11
|
+
"insight_pool": "ops",
|
|
12
|
+
"default_task": {
|
|
13
|
+
"title": "ops: board health sweep — verify ready floors and stale task cleanup",
|
|
14
|
+
"priority": "P3",
|
|
15
|
+
"assignee": "rhythm",
|
|
16
|
+
"tags": ["ops", "board-health", "auto-generated"],
|
|
17
|
+
"done_criteria": [
|
|
18
|
+
"All lanes at or above ready floor",
|
|
19
|
+
"No tasks stale in doing > 24h without comment",
|
|
20
|
+
"Placeholder tasks purged or rescoped"
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
"idempotency_key_template": "successor:ops:{{parent_task_id}}",
|
|
24
|
+
"max_successors_per_parent": 1
|
|
25
|
+
},
|
|
26
|
+
"transition_hook": "onTaskDone",
|
|
27
|
+
"transition_guard": {
|
|
28
|
+
"require_artifact": true,
|
|
29
|
+
"require_reviewer_approval": false,
|
|
30
|
+
"skip_if_successor_exists": true
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"lane": "workflow",
|
|
3
|
+
"description": "Template for workflow/process tasks. On completion, auto-generates a validation or follow-up task.",
|
|
4
|
+
"done_criteria_template": [
|
|
5
|
+
"Process artifact committed at {{artifact_path}}",
|
|
6
|
+
"Owner notified",
|
|
7
|
+
"No open blockers"
|
|
8
|
+
],
|
|
9
|
+
"successor_rule": {
|
|
10
|
+
"strategy": "insight_or_default",
|
|
11
|
+
"insight_pool": "workflow",
|
|
12
|
+
"default_task": {
|
|
13
|
+
"title": "ops: verify workflow adoption — confirm previous process change is in active use",
|
|
14
|
+
"priority": "P3",
|
|
15
|
+
"assignee": "rhythm",
|
|
16
|
+
"tags": ["ops", "workflow", "adoption-check", "auto-generated"],
|
|
17
|
+
"done_criteria": [
|
|
18
|
+
"Confirm the shipped process change is used in at least one real task cycle",
|
|
19
|
+
"Document any friction or deviation observed",
|
|
20
|
+
"Flag if abandoned or superseded"
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
"idempotency_key_template": "successor:workflow:{{parent_task_id}}",
|
|
24
|
+
"max_successors_per_parent": 1
|
|
25
|
+
},
|
|
26
|
+
"transition_hook": "onTaskDone",
|
|
27
|
+
"transition_guard": {
|
|
28
|
+
"require_artifact": true,
|
|
29
|
+
"require_reviewer_approval": false,
|
|
30
|
+
"skip_if_successor_exists": true
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Reviewer auto-assignment routing rules
|
|
2
|
+
# Consumed by src/assignment.ts → suggestReviewer()
|
|
3
|
+
# Self-review conflict: fall back one step in the chain (primary → fallback)
|
|
4
|
+
# Catch-all applies when no domain pattern matches
|
|
5
|
+
|
|
6
|
+
version: 1
|
|
7
|
+
|
|
8
|
+
domains:
|
|
9
|
+
- name: canvas-ui-frontend
|
|
10
|
+
keywords: [canvas, ui, frontend, css, design, animation, layout, component, styling, visual, modal, overlay, orb]
|
|
11
|
+
primary: pixel
|
|
12
|
+
fallback: link
|
|
13
|
+
|
|
14
|
+
- name: android
|
|
15
|
+
keywords: [android, kotlin, apk, google-play, jetpack, compose, gradle, firebase-android]
|
|
16
|
+
primary: kotlin
|
|
17
|
+
fallback: link
|
|
18
|
+
|
|
19
|
+
- name: ios
|
|
20
|
+
keywords: [ios, swift, xcode, apple, macos, swiftui, cocoa, testflight, app-store]
|
|
21
|
+
primary: swift
|
|
22
|
+
fallback: link
|
|
23
|
+
|
|
24
|
+
- name: security
|
|
25
|
+
keywords: [security, auth, rls, audit, vulnerability, cve, exploit, privilege, injection, csrf, xss, token, secret, encrypt]
|
|
26
|
+
primary: shield
|
|
27
|
+
fallback: sage
|
|
28
|
+
|
|
29
|
+
- name: node-api-backend
|
|
30
|
+
keywords: [node, api, backend, server, endpoint, route, database, db, migration, schema, typescript, integration]
|
|
31
|
+
primary: link
|
|
32
|
+
fallback: kai
|
|
33
|
+
|
|
34
|
+
catch_all: kai
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
export type ActivationEventType = 'signup_completed' | 'host_preflight_passed' | 'host_preflight_failed' | 'workspace_ready' | 'first_task_started' | 'first_task_completed' | 'first_team_message_sent' | 'day2_return_action';
|
|
1
|
+
export type ActivationEventType = 'signup_completed' | 'host_preflight_passed' | 'host_preflight_failed' | 'workspace_ready' | 'workspace_not_ready' | 'first_task_started' | 'first_task_completed' | 'first_team_message_sent' | 'day2_return_action' | 'canvas_opened' | 'canvas_first_action';
|
|
2
|
+
/**
|
|
3
|
+
* Reason codes for workspace_not_ready events.
|
|
4
|
+
* Used to categorise funnel drop-off during workspace setup.
|
|
5
|
+
* task-1773529423279-8htqicvom
|
|
6
|
+
*/
|
|
7
|
+
export type WorkspaceNotReadyReason = 'permissions_error' | 'disk_full' | 'path_not_found' | 'timeout' | 'unknown';
|
|
2
8
|
export interface ActivationEvent {
|
|
3
9
|
type: ActivationEventType;
|
|
4
10
|
userId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activationEvents.d.ts","sourceRoot":"","sources":["../src/activationEvents.ts"],"names":[],"mappings":"AA6BA,MAAM,MAAM,mBAAmB,GAC3B,kBAAkB,GAClB,uBAAuB,GACvB,uBAAuB,GACvB,iBAAiB,GACjB,oBAAoB,GACpB,sBAAsB,GACtB,yBAAyB,GACzB,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"activationEvents.d.ts","sourceRoot":"","sources":["../src/activationEvents.ts"],"names":[],"mappings":"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"}
|
package/dist/activationEvents.js
CHANGED
|
@@ -135,6 +135,13 @@ export async function emitActivationEvent(type, userId, metadata) {
|
|
|
135
135
|
console.warn(`[ActivationFunnel] host_preflight_failed for userId=${userId} has no failed_checks or first_blocker metadata. ` +
|
|
136
136
|
`Failure reason will appear as "unspecified" in the funnel. Emit metadata.failed_checks=[...] and metadata.first_blocker=<checkId>.`);
|
|
137
137
|
}
|
|
138
|
+
// Warn at ingestion time if workspace_not_ready arrives without a reason code.
|
|
139
|
+
// reason should be one of: permissions_error | disk_full | path_not_found | timeout | unknown
|
|
140
|
+
// task-1773529423279-8htqicvom
|
|
141
|
+
if (type === 'workspace_not_ready' && (!metadata || !metadata.reason)) {
|
|
142
|
+
console.warn(`[ActivationFunnel] workspace_not_ready for userId=${userId} has no reason code. ` +
|
|
143
|
+
`Set metadata.reason to one of: permissions_error, disk_full, path_not_found, timeout, unknown.`);
|
|
144
|
+
}
|
|
138
145
|
const timestamp = Date.now();
|
|
139
146
|
userMap.set(type, timestamp);
|
|
140
147
|
const event = { type, userId, timestamp, metadata };
|
|
@@ -162,10 +169,13 @@ export function getUserFunnelState(userId) {
|
|
|
162
169
|
host_preflight_passed: null,
|
|
163
170
|
host_preflight_failed: null,
|
|
164
171
|
workspace_ready: null,
|
|
172
|
+
workspace_not_ready: null, // tracked but not a forward funnel step
|
|
165
173
|
first_task_started: null,
|
|
166
174
|
first_task_completed: null,
|
|
167
175
|
first_team_message_sent: null,
|
|
168
176
|
day2_return_action: null,
|
|
177
|
+
canvas_opened: null,
|
|
178
|
+
canvas_first_action: null,
|
|
169
179
|
};
|
|
170
180
|
let currentStep = 0;
|
|
171
181
|
if (userMap) {
|
|
@@ -208,10 +218,13 @@ export function getFunnelSummary(opts) {
|
|
|
208
218
|
host_preflight_passed: 0,
|
|
209
219
|
host_preflight_failed: 0,
|
|
210
220
|
workspace_ready: 0,
|
|
221
|
+
workspace_not_ready: 0,
|
|
211
222
|
first_task_started: 0,
|
|
212
223
|
first_task_completed: 0,
|
|
213
224
|
first_team_message_sent: 0,
|
|
214
225
|
day2_return_action: 0,
|
|
226
|
+
canvas_opened: 0,
|
|
227
|
+
canvas_first_action: 0,
|
|
215
228
|
};
|
|
216
229
|
const funnelByUser = [];
|
|
217
230
|
let completedUsers = 0;
|
|
@@ -407,10 +420,20 @@ export function getFailureDistribution() {
|
|
|
407
420
|
// metadata null/undefined: falls through to unspecified
|
|
408
421
|
}
|
|
409
422
|
}
|
|
410
|
-
// Workspace-ready drops:
|
|
411
|
-
//
|
|
423
|
+
// Workspace-ready drops: check for workspace_not_ready events first.
|
|
424
|
+
// If the user emitted workspace_not_ready, use its reason code for attribution.
|
|
425
|
+
// task-1773529423279-8htqicvom
|
|
412
426
|
if (step === 'workspace_ready') {
|
|
413
|
-
|
|
427
|
+
const notReadyEvents = eventLog.filter(e => e.userId === u.userId && e.type === 'workspace_not_ready');
|
|
428
|
+
if (notReadyEvents.length > 0) {
|
|
429
|
+
for (const nre of notReadyEvents) {
|
|
430
|
+
const reason = String(nre.metadata?.reason || 'unknown');
|
|
431
|
+
reasonCounts.set(`workspace_not_ready:${reason}`, (reasonCounts.get(`workspace_not_ready:${reason}`) || 0) + 1);
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
else {
|
|
435
|
+
reasonCounts.set('workspace_ready_not_emitted', (reasonCounts.get('workspace_ready_not_emitted') || 0) + 1);
|
|
436
|
+
}
|
|
414
437
|
}
|
|
415
438
|
// Generic: check for explicit failure metadata on any events for this user.
|
|
416
439
|
const stepFailEvents = eventLog.filter(e => e.userId === u.userId && e.metadata?.failedAt === step);
|
|
@@ -456,10 +479,13 @@ export function getWeeklyTrends(weekCount = 12) {
|
|
|
456
479
|
host_preflight_passed: 0,
|
|
457
480
|
host_preflight_failed: 0,
|
|
458
481
|
workspace_ready: 0,
|
|
482
|
+
workspace_not_ready: 0,
|
|
459
483
|
first_task_started: 0,
|
|
460
484
|
first_task_completed: 0,
|
|
461
485
|
first_team_message_sent: 0,
|
|
462
486
|
day2_return_action: 0,
|
|
487
|
+
canvas_opened: 0,
|
|
488
|
+
canvas_first_action: 0,
|
|
463
489
|
};
|
|
464
490
|
let newUsers = 0;
|
|
465
491
|
let completedUsers = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activationEvents.js","sourceRoot":"","sources":["../src/activationEvents.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"activationEvents.js","sourceRoot":"","sources":["../src/activationEvents.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Activity Stream Event Normalizer
|
|
3
|
+
*
|
|
4
|
+
* Transforms raw eventBus events into a consistent shape:
|
|
5
|
+
* { id, type, agent, title, detail, taskId, prUrl, timestamp }
|
|
6
|
+
*
|
|
7
|
+
* This ensures all activity-stream SSE consumers receive events
|
|
8
|
+
* in a predictable format regardless of the source event type.
|
|
9
|
+
*/
|
|
10
|
+
export interface NormalizedActivityEvent {
|
|
11
|
+
id: string;
|
|
12
|
+
type: string;
|
|
13
|
+
agent: string | null;
|
|
14
|
+
title: string;
|
|
15
|
+
detail: string | null;
|
|
16
|
+
taskId: string | null;
|
|
17
|
+
prUrl: string | null;
|
|
18
|
+
timestamp: number;
|
|
19
|
+
/** Original raw data preserved for consumers that need full detail */
|
|
20
|
+
_raw?: unknown;
|
|
21
|
+
}
|
|
22
|
+
interface RawEvent {
|
|
23
|
+
id: string;
|
|
24
|
+
type: string;
|
|
25
|
+
timestamp: number;
|
|
26
|
+
data: Record<string, unknown>;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Normalize a raw eventBus event into the standard activity-stream shape.
|
|
30
|
+
*/
|
|
31
|
+
export declare function normalizeActivityEvent(event: RawEvent): NormalizedActivityEvent;
|
|
32
|
+
/**
|
|
33
|
+
* Strip the _raw field for lightweight payloads.
|
|
34
|
+
*/
|
|
35
|
+
export declare function normalizeActivityEventSlim(event: RawEvent): Omit<NormalizedActivityEvent, '_raw'>;
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=activity-stream-normalizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-stream-normalizer.d.ts","sourceRoot":"","sources":["../src/activity-stream-normalizer.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AAEH,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,sEAAsE;IACtE,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED,UAAU,QAAQ;IAChB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9B;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,GAAG,uBAAuB,CA2C/E;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAIjG"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
// Copyright (c) Reflectt AI
|
|
3
|
+
/**
|
|
4
|
+
* Normalize a raw eventBus event into the standard activity-stream shape.
|
|
5
|
+
*/
|
|
6
|
+
export function normalizeActivityEvent(event) {
|
|
7
|
+
const data = (event.data ?? {});
|
|
8
|
+
// Extract agent from various field names
|
|
9
|
+
const agent = extractString(data, 'agentId')
|
|
10
|
+
?? extractString(data, 'agent')
|
|
11
|
+
?? extractString(data, 'name')
|
|
12
|
+
?? extractNestedString(data, 'presence', 'name')
|
|
13
|
+
?? null;
|
|
14
|
+
// Extract title based on event type
|
|
15
|
+
const title = deriveTitle(event.type, data);
|
|
16
|
+
// Extract detail
|
|
17
|
+
const detail = extractString(data, 'transcript')
|
|
18
|
+
?? extractString(data, 'text')
|
|
19
|
+
?? extractNestedString(data, 'data', 'text')
|
|
20
|
+
?? extractString(data, 'query')
|
|
21
|
+
?? null;
|
|
22
|
+
// Extract task reference
|
|
23
|
+
const taskId = extractString(data, 'taskId')
|
|
24
|
+
?? extractString(data, 'task_id')
|
|
25
|
+
?? extractNestedString(data, 'activeTask', 'id')
|
|
26
|
+
?? extractNestedString(data, 'payload', 'activeTask', 'id')
|
|
27
|
+
?? null;
|
|
28
|
+
// Extract PR URL
|
|
29
|
+
const prUrl = extractString(data, 'prUrl')
|
|
30
|
+
?? extractString(data, 'pr_url')
|
|
31
|
+
?? null;
|
|
32
|
+
return {
|
|
33
|
+
id: event.id,
|
|
34
|
+
type: event.type,
|
|
35
|
+
agent,
|
|
36
|
+
title,
|
|
37
|
+
detail,
|
|
38
|
+
taskId,
|
|
39
|
+
prUrl,
|
|
40
|
+
timestamp: event.timestamp,
|
|
41
|
+
_raw: data,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Strip the _raw field for lightweight payloads.
|
|
46
|
+
*/
|
|
47
|
+
export function normalizeActivityEventSlim(event) {
|
|
48
|
+
const normalized = normalizeActivityEvent(event);
|
|
49
|
+
const { _raw, ...slim } = normalized;
|
|
50
|
+
return slim;
|
|
51
|
+
}
|
|
52
|
+
// ── Helpers ──
|
|
53
|
+
function extractString(obj, key) {
|
|
54
|
+
const val = obj[key];
|
|
55
|
+
return typeof val === 'string' && val.length > 0 ? val : null;
|
|
56
|
+
}
|
|
57
|
+
function extractNestedString(obj, ...keys) {
|
|
58
|
+
let current = obj;
|
|
59
|
+
for (const key of keys) {
|
|
60
|
+
if (current == null || typeof current !== 'object')
|
|
61
|
+
return null;
|
|
62
|
+
current = current[key];
|
|
63
|
+
}
|
|
64
|
+
return typeof current === 'string' && current.length > 0 ? current : null;
|
|
65
|
+
}
|
|
66
|
+
function deriveTitle(type, data) {
|
|
67
|
+
switch (type) {
|
|
68
|
+
case 'canvas_message': {
|
|
69
|
+
const subType = extractString(data, 'type');
|
|
70
|
+
if (subType === 'voice_transcript')
|
|
71
|
+
return 'Voice transcript';
|
|
72
|
+
if (subType === 'info')
|
|
73
|
+
return 'Info';
|
|
74
|
+
if (data.isResponse)
|
|
75
|
+
return 'Agent response';
|
|
76
|
+
if (data.query)
|
|
77
|
+
return 'Canvas query';
|
|
78
|
+
return 'Message';
|
|
79
|
+
}
|
|
80
|
+
case 'canvas_render': {
|
|
81
|
+
const state = extractString(data, 'state');
|
|
82
|
+
const agent = extractString(data, 'agentId') ?? 'Agent';
|
|
83
|
+
if (state === 'thinking')
|
|
84
|
+
return `${agent} thinking`;
|
|
85
|
+
if (state === 'handoff')
|
|
86
|
+
return `${agent} handing off`;
|
|
87
|
+
if (state === 'decision')
|
|
88
|
+
return `${agent} needs attention`;
|
|
89
|
+
if (state === 'ambient')
|
|
90
|
+
return `${agent} idle`;
|
|
91
|
+
return `${agent} state: ${state ?? 'unknown'}`;
|
|
92
|
+
}
|
|
93
|
+
case 'canvas_expression':
|
|
94
|
+
return extractString(data, 'expression') ?? 'Expression';
|
|
95
|
+
case 'canvas_burst':
|
|
96
|
+
return extractString(data, 'reason') ?? 'Activity burst';
|
|
97
|
+
default:
|
|
98
|
+
return type.replace(/_/g, ' ');
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=activity-stream-normalizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-stream-normalizer.js","sourceRoot":"","sources":["../src/activity-stream-normalizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RunKind } from "./agent-interface.js";
|
|
2
|
+
export declare const ALLOWED_ACTIONS: RunKind[];
|
|
3
|
+
export declare const ALLOWED_DOMAINS: string[];
|
|
4
|
+
export declare function checkActionAllowed(kind: RunKind, target?: string): {
|
|
5
|
+
allowed: boolean;
|
|
6
|
+
reason?: string;
|
|
7
|
+
};
|
|
8
|
+
export declare function requiresApprovalGate(_kind: RunKind): boolean;
|
|
9
|
+
//# sourceMappingURL=agent-exec-guardrail.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-exec-guardrail.d.ts","sourceRoot":"","sources":["../src/agent-exec-guardrail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,eAAO,MAAM,eAAe,EAAE,OAAO,EAA+C,CAAC;AACrF,eAAO,MAAM,eAAe,EAAE,MAAM,EAAmB,CAAC;AAExD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,OAAO,EACb,MAAM,CAAC,EAAE,MAAM,GACd;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAWvC;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAG5D"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export const ALLOWED_ACTIONS = ["github_issue_create", "macos_ui_action"];
|
|
2
|
+
export const ALLOWED_DOMAINS = ["github.com"];
|
|
3
|
+
export function checkActionAllowed(kind, target) {
|
|
4
|
+
if (!ALLOWED_ACTIONS.includes(kind)) {
|
|
5
|
+
return { allowed: false, reason: `Action "${kind}" is not in the approved action list` };
|
|
6
|
+
}
|
|
7
|
+
if (target) {
|
|
8
|
+
const url = (() => { try {
|
|
9
|
+
return new URL(target);
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
return null;
|
|
13
|
+
} })();
|
|
14
|
+
if (url && !ALLOWED_DOMAINS.some(d => url.hostname === d || url.hostname.endsWith("." + d))) {
|
|
15
|
+
return { allowed: false, reason: `Domain "${url.hostname}" is not in the approved domain list` };
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return { allowed: true };
|
|
19
|
+
}
|
|
20
|
+
export function requiresApprovalGate(_kind) {
|
|
21
|
+
// All v1 actions are irreversible — always require human approval
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=agent-exec-guardrail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-exec-guardrail.js","sourceRoot":"","sources":["../src/agent-exec-guardrail.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAc,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;AACrF,MAAM,CAAC,MAAM,eAAe,GAAa,CAAC,YAAY,CAAC,CAAC;AAExD,MAAM,UAAU,kBAAkB,CAChC,IAAa,EACb,MAAe;IAEf,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,IAAI,sCAAsC,EAAE,CAAC;IAC3F,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YAAC,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5F,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,GAAG,CAAC,QAAQ,sCAAsC,EAAE,CAAC;QACnG,CAAC;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,kEAAkE;IAClE,OAAO,IAAI,CAAC;AACd,CAAC"}
|