mirror of
https://github.com/rowboatlabs/rowboat.git
synced 2026-07-12 21:02:17 +02:00
feat(apps): M2 host integration — tools, fetch proxy, LLM, copilot, bundled agents
- checkCapability choke point (D7): tools/llm/copilot access requires the capability in the app's manifest; 403 capability_not_declared otherwise - POST /_rowboat/tools/search|execute: Composio pass-through with the same request shape as the builtin, typed error mapping - POST /_rowboat/fetch: SSRF-guarded proxy (loopback/RFC1918/link-local/ULA/ *.localhost rejection re-checked per redirect hop, 5MB cap + truncated flag, 30s timeout, Host/Cookie stripped) - POST /_rowboat/llm/generate: default-model plumbing, override validated against the allowed set, token/concurrency caps, usage attributed app_llm_generate/<folder> - POST /_rowboat/copilot/run: headless run (bg-task tool profile, no shell), app-attributed audit turn with origin context, 10-min timeout, 1-per-app cap - registered M2 routes are POST-only (GETs are D17-exempt and must not reach them) - bundled agents (§8): strict AppAgentDefinitionSchema, deterministic app--<folder>--<name> slugs materialized disabled with sourceApp, manifest removals deactivate, app delete removes owned tasks; sourceApp in summaries - new use cases app_llm_generate / app_copilot_run in runs + analytics enums
This commit is contained in:
parent
c81739f9f7
commit
3e34cbe1af
8 changed files with 585 additions and 5 deletions
|
|
@ -32,6 +32,8 @@ export const StartEvent = BaseRunEvent.extend({
|
|||
"meeting_note",
|
||||
"knowledge_sync",
|
||||
"code_session",
|
||||
"app_llm_generate",
|
||||
"app_copilot_run",
|
||||
]).optional(),
|
||||
subUseCase: z.string().optional(),
|
||||
});
|
||||
|
|
@ -190,6 +192,8 @@ export const UseCase = z.enum([
|
|||
"meeting_note",
|
||||
"knowledge_sync",
|
||||
"code_session",
|
||||
"app_llm_generate",
|
||||
"app_copilot_run",
|
||||
]);
|
||||
|
||||
export const Run = z.object({
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue