stagent 0.10.0 → 0.11.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.
- package/README.md +44 -31
- package/dist/cli.js +24 -0
- package/docs/.coverage-gaps.json +154 -24
- package/docs/.last-generated +1 -1
- package/docs/features/agent-intelligence.md +12 -2
- package/docs/features/chat.md +40 -5
- package/docs/features/cost-usage.md +1 -1
- package/docs/features/documents.md +5 -2
- package/docs/features/inbox-notifications.md +10 -2
- package/docs/features/keyboard-navigation.md +12 -3
- package/docs/features/provider-runtimes.md +16 -2
- package/docs/features/settings.md +2 -2
- package/docs/features/shared-components.md +7 -3
- package/docs/features/tables.md +3 -1
- package/docs/features/tool-permissions.md +6 -2
- package/docs/features/workflows.md +6 -2
- package/docs/getting-started.md +1 -1
- package/docs/index.md +1 -1
- package/docs/journeys/developer.md +25 -2
- package/docs/journeys/personal-use.md +12 -5
- package/docs/journeys/power-user.md +45 -14
- package/docs/journeys/work-use.md +17 -8
- package/docs/manifest.json +15 -15
- package/docs/superpowers/plans/2026-04-07-instance-bootstrap.md +2 -2
- package/docs/superpowers/plans/2026-04-14-chat-command-namespace-refactor.md +1390 -0
- package/docs/superpowers/plans/2026-04-14-chat-environment-integration.md +1561 -0
- package/docs/superpowers/plans/2026-04-14-chat-polish-bundle-v1.md +1219 -0
- package/docs/superpowers/plans/2026-04-14-chat-session-persistence-provider-closeout.md +399 -0
- package/next.config.mjs +1 -0
- package/package.json +3 -3
- package/src/app/api/chat/conversations/[id]/skills/__tests__/activate.test.ts +141 -0
- package/src/app/api/chat/conversations/[id]/skills/activate/route.ts +74 -0
- package/src/app/api/chat/conversations/[id]/skills/deactivate/route.ts +33 -0
- package/src/app/api/chat/export/route.ts +52 -0
- package/src/app/api/chat/files/search/route.ts +50 -0
- package/src/app/api/environment/rescan-if-stale/__tests__/route.test.ts +45 -0
- package/src/app/api/environment/rescan-if-stale/route.ts +23 -0
- package/src/app/api/environment/skills/route.ts +13 -0
- package/src/app/api/schedules/[id]/execute/route.ts +2 -2
- package/src/app/api/settings/chat/pins/route.ts +94 -0
- package/src/app/api/settings/chat/saved-searches/__tests__/route.test.ts +119 -0
- package/src/app/api/settings/chat/saved-searches/route.ts +79 -0
- package/src/app/api/settings/environment/route.ts +26 -0
- package/src/app/api/tasks/[id]/execute/route.ts +52 -12
- package/src/app/api/tasks/[id]/respond/route.ts +31 -15
- package/src/app/api/tasks/[id]/resume/route.ts +24 -3
- package/src/app/documents/page.tsx +4 -1
- package/src/app/settings/page.tsx +2 -0
- package/src/components/book/content-blocks.tsx +1 -1
- package/src/components/chat/__tests__/capability-banner.test.tsx +38 -0
- package/src/components/chat/__tests__/chat-session-provider.test.tsx +166 -1
- package/src/components/chat/__tests__/skill-row.test.tsx +91 -0
- package/src/components/chat/capability-banner.tsx +68 -0
- package/src/components/chat/chat-command-popover.tsx +668 -47
- package/src/components/chat/chat-input.tsx +103 -8
- package/src/components/chat/chat-message.tsx +12 -3
- package/src/components/chat/chat-session-provider.tsx +73 -3
- package/src/components/chat/chat-shell.tsx +62 -3
- package/src/components/chat/command-tab-bar.tsx +68 -0
- package/src/components/chat/conversation-template-picker.tsx +421 -0
- package/src/components/chat/help-dialog.tsx +39 -0
- package/src/components/chat/skill-composition-conflict-dialog.tsx +96 -0
- package/src/components/chat/skill-row.tsx +147 -0
- package/src/components/documents/document-browser.tsx +37 -19
- package/src/components/notifications/__tests__/permission-response-actions.test.tsx +70 -0
- package/src/components/notifications/permission-response-actions.tsx +155 -1
- package/src/components/playbook/playbook-detail-view.tsx +1 -1
- package/src/components/settings/environment-section.tsx +102 -0
- package/src/components/shared/__tests__/filter-hint.test.tsx +40 -0
- package/src/components/shared/__tests__/saved-searches-manager.test.tsx +147 -0
- package/src/components/shared/command-palette.tsx +262 -2
- package/src/components/shared/filter-hint.tsx +70 -0
- package/src/components/shared/filter-input.tsx +59 -0
- package/src/components/shared/saved-searches-manager.tsx +199 -0
- package/src/components/tasks/task-bento-grid.tsx +12 -2
- package/src/components/tasks/task-card.tsx +3 -0
- package/src/components/tasks/task-chip-bar.tsx +30 -1
- package/src/hooks/__tests__/use-chat-autocomplete-tabs.test.ts +47 -0
- package/src/hooks/__tests__/use-saved-searches.test.ts +70 -0
- package/src/hooks/use-active-skills.ts +110 -0
- package/src/hooks/use-chat-autocomplete.ts +120 -7
- package/src/hooks/use-enriched-skills.ts +19 -0
- package/src/hooks/use-pinned-entries.ts +104 -0
- package/src/hooks/use-recent-user-messages.ts +19 -0
- package/src/hooks/use-saved-searches.ts +142 -0
- package/src/lib/agents/__tests__/claude-agent-sdk-options.test.ts +56 -0
- package/src/lib/agents/__tests__/claude-agent.test.ts +17 -4
- package/src/lib/agents/__tests__/task-dispatch.test.ts +166 -0
- package/src/lib/agents/__tests__/tool-permissions.test.ts +60 -0
- package/src/lib/agents/claude-agent.ts +105 -46
- package/src/lib/agents/handoff/bus.ts +2 -2
- package/src/lib/agents/profiles/__tests__/list-fused-profiles.test.ts +110 -0
- package/src/lib/agents/profiles/__tests__/registry.test.ts +47 -0
- package/src/lib/agents/profiles/builtins/upgrade-assistant/SKILL.md +30 -3
- package/src/lib/agents/profiles/builtins/upgrade-assistant/profile.yaml +6 -2
- package/src/lib/agents/profiles/list-fused-profiles.ts +104 -0
- package/src/lib/agents/profiles/registry.ts +97 -22
- package/src/lib/agents/profiles/types.ts +7 -1
- package/src/lib/agents/router.ts +3 -6
- package/src/lib/agents/runtime/__tests__/catalog.test.ts +130 -0
- package/src/lib/agents/runtime/__tests__/execution-target.test.ts +183 -0
- package/src/lib/agents/runtime/anthropic-direct.ts +8 -0
- package/src/lib/agents/runtime/catalog.ts +121 -0
- package/src/lib/agents/runtime/claude-sdk.ts +32 -0
- package/src/lib/agents/runtime/execution-target.ts +456 -0
- package/src/lib/agents/runtime/index.ts +4 -0
- package/src/lib/agents/runtime/launch-failure.ts +101 -0
- package/src/lib/agents/runtime/openai-codex.ts +35 -0
- package/src/lib/agents/runtime/openai-direct.ts +8 -0
- package/src/lib/agents/task-dispatch.ts +220 -0
- package/src/lib/agents/tool-permissions.ts +16 -1
- package/src/lib/chat/__tests__/active-skill-injection.test.ts +261 -0
- package/src/lib/chat/__tests__/clean-filter-input.test.ts +68 -0
- package/src/lib/chat/__tests__/command-tabs.test.ts +68 -0
- package/src/lib/chat/__tests__/context-builder-files.test.ts +112 -0
- package/src/lib/chat/__tests__/dismissals.test.ts +65 -0
- package/src/lib/chat/__tests__/engine-sdk-options.test.ts +117 -0
- package/src/lib/chat/__tests__/skill-conflict.test.ts +35 -0
- package/src/lib/chat/__tests__/types.test.ts +28 -0
- package/src/lib/chat/active-skills.ts +31 -0
- package/src/lib/chat/clean-filter-input.ts +30 -0
- package/src/lib/chat/codex-engine.ts +30 -7
- package/src/lib/chat/command-tabs.ts +61 -0
- package/src/lib/chat/context-builder.ts +141 -1
- package/src/lib/chat/dismissals.ts +73 -0
- package/src/lib/chat/engine.ts +109 -15
- package/src/lib/chat/files/__tests__/search.test.ts +135 -0
- package/src/lib/chat/files/expand-mention.ts +76 -0
- package/src/lib/chat/files/search.ts +99 -0
- package/src/lib/chat/skill-composition.ts +210 -0
- package/src/lib/chat/skill-conflict.ts +105 -0
- package/src/lib/chat/stagent-tools.ts +6 -19
- package/src/lib/chat/stream-telemetry.ts +9 -4
- package/src/lib/chat/system-prompt.ts +22 -0
- package/src/lib/chat/tool-catalog.ts +33 -3
- package/src/lib/chat/tools/__tests__/profile-tools.test.ts +51 -0
- package/src/lib/chat/tools/__tests__/settings-tools.test.ts +294 -0
- package/src/lib/chat/tools/__tests__/skill-tools.test.ts +474 -0
- package/src/lib/chat/tools/__tests__/task-tools.test.ts +47 -0
- package/src/lib/chat/tools/__tests__/workflow-tools-dedup.test.ts +134 -0
- package/src/lib/chat/tools/blueprint-tools.ts +190 -0
- package/src/lib/chat/tools/helpers.ts +2 -0
- package/src/lib/chat/tools/profile-tools.ts +120 -23
- package/src/lib/chat/tools/skill-tools.ts +183 -0
- package/src/lib/chat/tools/task-tools.ts +6 -2
- package/src/lib/chat/tools/workflow-tools.ts +61 -20
- package/src/lib/chat/types.ts +15 -0
- package/src/lib/constants/settings.ts +2 -0
- package/src/lib/data/clear.ts +2 -6
- package/src/lib/db/bootstrap.ts +17 -0
- package/src/lib/db/schema.ts +26 -0
- package/src/lib/environment/__tests__/auto-promote.test.ts +132 -0
- package/src/lib/environment/__tests__/list-skills-enriched.test.ts +55 -0
- package/src/lib/environment/__tests__/skill-enrichment.test.ts +129 -0
- package/src/lib/environment/__tests__/skill-recommendations.test.ts +87 -0
- package/src/lib/environment/data.ts +9 -0
- package/src/lib/environment/list-skills.ts +176 -0
- package/src/lib/environment/parsers/__tests__/skill.test.ts +54 -0
- package/src/lib/environment/parsers/skill.ts +26 -5
- package/src/lib/environment/profile-generator.ts +56 -2
- package/src/lib/environment/skill-enrichment.ts +106 -0
- package/src/lib/environment/skill-recommendations.ts +66 -0
- package/src/lib/filters/__tests__/parse.quoted.test.ts +40 -0
- package/src/lib/filters/__tests__/parse.test.ts +135 -0
- package/src/lib/filters/parse.ts +86 -0
- package/src/lib/instance/__tests__/detect.test.ts +1 -1
- package/src/lib/instance/__tests__/upgrade-poller.test.ts +50 -0
- package/src/lib/instance/fingerprint.ts +8 -10
- package/src/lib/instance/upgrade-poller.ts +53 -1
- package/src/lib/schedules/scheduler.ts +4 -4
- package/src/lib/utils/stagent-paths.ts +4 -0
- package/src/lib/workflows/blueprints/__tests__/render-prompt.test.ts +124 -0
- package/src/lib/workflows/blueprints/render-prompt.ts +71 -0
- package/src/lib/workflows/blueprints/types.ts +6 -0
- package/src/lib/workflows/engine.ts +5 -3
- package/src/test/setup.ts +10 -0
package/docs/manifest.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"generated": "2026-04-
|
|
3
|
-
"version":
|
|
2
|
+
"generated": "2026-04-15T15:30:00Z",
|
|
3
|
+
"version": 4,
|
|
4
4
|
"sections": [
|
|
5
5
|
{
|
|
6
6
|
"slug": "home-workspace",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"path": "features/inbox-notifications.md",
|
|
30
30
|
"route": "/inbox",
|
|
31
31
|
"tags": ["inbox", "approvals", "notifications", "human-in-the-loop", "handoffs"],
|
|
32
|
-
"features": ["inbox-notifications", "ambient-approval-toast", "agent-async-handoffs"],
|
|
32
|
+
"features": ["inbox-notifications", "ambient-approval-toast", "agent-async-handoffs", "upgrade-detection", "upgrade-session"],
|
|
33
33
|
"screengrabCount": 2
|
|
34
34
|
},
|
|
35
35
|
{
|
|
@@ -38,8 +38,8 @@
|
|
|
38
38
|
"category": "feature-reference",
|
|
39
39
|
"path": "features/chat.md",
|
|
40
40
|
"route": "/chat",
|
|
41
|
-
"tags": ["chat", "conversations", "ai", "tool-catalog", "mentions", "model-selection", "channels"],
|
|
42
|
-
"features": ["chat-data-layer", "chat-engine", "chat-api-routes", "chat-ui-shell", "chat-message-rendering", "chat-input-composer", "bidirectional-channel-chat"],
|
|
41
|
+
"tags": ["chat", "conversations", "ai", "tool-catalog", "mentions", "model-selection", "channels", "skills", "templates", "filters", "saved-searches"],
|
|
42
|
+
"features": ["chat-data-layer", "chat-engine", "chat-api-routes", "chat-ui-shell", "chat-message-rendering", "chat-input-composer", "bidirectional-channel-chat", "chat-skill-composition", "chat-composition-ui-v1", "chat-conversation-templates", "chat-filter-namespace", "chat-pinned-saved-searches", "saved-search-polish-v1"],
|
|
43
43
|
"screengrabCount": 4
|
|
44
44
|
},
|
|
45
45
|
{
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"path": "features/workflows.md",
|
|
60
60
|
"route": "/workflows",
|
|
61
61
|
"tags": ["workflows", "orchestration", "blueprints", "parallel", "swarm", "step-builder", "business-blueprints"],
|
|
62
|
-
"features": ["workflow-engine", "workflow-blueprints", "parallel-research-fork-join", "multi-agent-swarm", "autonomous-loop-execution", "workflow-ux-overhaul", "business-function-profiles"],
|
|
62
|
+
"features": ["workflow-engine", "workflow-blueprints", "parallel-research-fork-join", "multi-agent-swarm", "autonomous-loop-execution", "workflow-ux-overhaul", "business-function-profiles", "chat-conversation-templates", "workflow-run-history"],
|
|
63
63
|
"screengrabCount": 3
|
|
64
64
|
},
|
|
65
65
|
{
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"path": "features/documents.md",
|
|
70
70
|
"route": "/documents",
|
|
71
71
|
"tags": ["documents", "upload", "preprocessing", "agent-context", "extraction"],
|
|
72
|
-
"features": ["document-manager", "file-attachment-data-layer", "document-preprocessing", "agent-document-context", "document-output-generation"],
|
|
72
|
+
"features": ["document-manager", "file-attachment-data-layer", "document-preprocessing", "agent-document-context", "document-output-generation", "chat-filter-namespace", "chat-pinned-saved-searches"],
|
|
73
73
|
"screengrabCount": 2
|
|
74
74
|
},
|
|
75
75
|
{
|
|
@@ -129,7 +129,7 @@
|
|
|
129
129
|
"path": "features/settings.md",
|
|
130
130
|
"route": "/settings",
|
|
131
131
|
"tags": ["settings", "authentication", "permissions", "presets", "budgets", "browser-tools", "ollama", "channels", "snapshots"],
|
|
132
|
-
"features": ["session-management", "tool-permission-persistence", "tool-permission-presets", "browser-use", "spend-budget-guardrails", "ollama-runtime-provider", "multi-channel-delivery", "bidirectional-channel-chat", "database-snapshot-backup"],
|
|
132
|
+
"features": ["session-management", "tool-permission-persistence", "tool-permission-presets", "browser-use", "spend-budget-guardrails", "ollama-runtime-provider", "multi-channel-delivery", "bidirectional-channel-chat", "database-snapshot-backup", "upgrade-detection", "upgrade-session"],
|
|
133
133
|
"screengrabCount": 9
|
|
134
134
|
},
|
|
135
135
|
{
|
|
@@ -159,7 +159,7 @@
|
|
|
159
159
|
"path": "features/provider-runtimes.md",
|
|
160
160
|
"route": "cross-cutting",
|
|
161
161
|
"tags": ["runtimes", "claude", "openai", "codex", "ollama", "providers", "architecture", "smart-router"],
|
|
162
|
-
"features": ["provider-runtime-abstraction", "openai-codex-app-server", "agent-integration", "ollama-runtime-provider", "anthropic-direct-runtime", "openai-direct-runtime", "smart-runtime-router"],
|
|
162
|
+
"features": ["provider-runtime-abstraction", "openai-codex-app-server", "agent-integration", "ollama-runtime-provider", "anthropic-direct-runtime", "openai-direct-runtime", "smart-runtime-router", "runtime-validation-hardening", "runtime-capability-matrix"],
|
|
163
163
|
"screengrabCount": 2
|
|
164
164
|
},
|
|
165
165
|
{
|
|
@@ -169,7 +169,7 @@
|
|
|
169
169
|
"path": "features/agent-intelligence.md",
|
|
170
170
|
"route": "cross-cutting",
|
|
171
171
|
"tags": ["ai", "routing", "loops", "swarm", "self-improvement", "ai-assist", "episodic-memory", "handoffs"],
|
|
172
|
-
"features": ["multi-agent-routing", "autonomous-loop-execution", "multi-agent-swarm", "agent-self-improvement", "workflow-context-batching", "ai-assist-workflow-creation", "agent-episodic-memory", "agent-async-handoffs"],
|
|
172
|
+
"features": ["multi-agent-routing", "autonomous-loop-execution", "multi-agent-swarm", "agent-self-improvement", "workflow-context-batching", "ai-assist-workflow-creation", "agent-episodic-memory", "agent-async-handoffs", "chat-skill-composition"],
|
|
173
173
|
"screengrabCount": 0
|
|
174
174
|
},
|
|
175
175
|
{
|
|
@@ -179,7 +179,7 @@
|
|
|
179
179
|
"path": "features/tool-permissions.md",
|
|
180
180
|
"route": "cross-cutting",
|
|
181
181
|
"tags": ["permissions", "approvals", "presets", "governance", "trust-tiers"],
|
|
182
|
-
"features": ["tool-permission-persistence", "tool-permission-presets", "ambient-approval-toast"],
|
|
182
|
+
"features": ["tool-permission-persistence", "tool-permission-presets", "ambient-approval-toast", "upgrade-session"],
|
|
183
183
|
"screengrabCount": 1
|
|
184
184
|
},
|
|
185
185
|
{
|
|
@@ -199,7 +199,7 @@
|
|
|
199
199
|
"path": "features/keyboard-navigation.md",
|
|
200
200
|
"route": "cross-cutting",
|
|
201
201
|
"tags": ["keyboard", "navigation", "command-palette", "accessibility", "shortcuts"],
|
|
202
|
-
"features": ["command-palette", "keyboard-shortcuts", "focus-management"],
|
|
202
|
+
"features": ["command-palette", "keyboard-shortcuts", "focus-management", "chat-conversation-templates", "chat-pinned-saved-searches", "saved-search-polish-v1"],
|
|
203
203
|
"screengrabCount": 2
|
|
204
204
|
},
|
|
205
205
|
{
|
|
@@ -209,7 +209,7 @@
|
|
|
209
209
|
"path": "features/shared-components.md",
|
|
210
210
|
"route": "cross-cutting",
|
|
211
211
|
"tags": ["components", "reusable", "page-shell", "detail-pane", "status-chip", "data-table"],
|
|
212
|
-
"features": ["page-shell", "detail-pane", "status-chip", "data-table", "empty-state", "error-state"],
|
|
212
|
+
"features": ["page-shell", "detail-pane", "status-chip", "data-table", "empty-state", "error-state", "filter-input", "chat-filter-namespace"],
|
|
213
213
|
"screengrabCount": 0
|
|
214
214
|
}
|
|
215
215
|
],
|
|
@@ -275,8 +275,8 @@
|
|
|
275
275
|
],
|
|
276
276
|
"metadata": {
|
|
277
277
|
"totalDocs": 30,
|
|
278
|
-
"totalScreengrabs":
|
|
279
|
-
"featuresCovered":
|
|
278
|
+
"totalScreengrabs": 42,
|
|
279
|
+
"featuresCovered": 95,
|
|
280
280
|
"appSections": 16
|
|
281
281
|
}
|
|
282
282
|
}
|
|
@@ -255,7 +255,7 @@ describe("isPrivateInstance", () => {
|
|
|
255
255
|
});
|
|
256
256
|
|
|
257
257
|
it("returns true when STAGENT_DATA_DIR is a custom path", async () => {
|
|
258
|
-
vi.stubEnv("STAGENT_DATA_DIR", "/Users/
|
|
258
|
+
vi.stubEnv("STAGENT_DATA_DIR", "/Users/manavsehgal/.stagent-wealth");
|
|
259
259
|
const { isPrivateInstance } = await loadDetect();
|
|
260
260
|
expect(isPrivateInstance()).toBe(true);
|
|
261
261
|
});
|
|
@@ -1605,7 +1605,7 @@ git commit -m "feat(instance): wire ensureInstance into instrumentation hook"
|
|
|
1605
1605
|
Run these commands and verify expected output:
|
|
1606
1606
|
|
|
1607
1607
|
```bash
|
|
1608
|
-
cd /Users/
|
|
1608
|
+
cd /Users/manavsehgal/Developer/stagent
|
|
1609
1609
|
grep "STAGENT_DEV_MODE=true" .env.local && echo "env gate: OK"
|
|
1610
1610
|
ls .git/stagent-dev-mode && echo "sentinel gate: OK"
|
|
1611
1611
|
```
|