-
Notifications
You must be signed in to change notification settings - Fork 4.5k
feat: projects as backend sources with system prompt injection #8739
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
dccd332
2533f35
2115b76
dc5258e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -1480,6 +1480,18 @@ | |
| "null" | ||
| ], | ||
| "description": "Absolute path to the project root. Required when `global` is false." | ||
| }, | ||
| "projectId": { | ||
| "type": [ | ||
| "string", | ||
| "null" | ||
| ], | ||
| "description": "Project source ID. When set with `global: false`, the backend resolves\nthe project's first working directory automatically. Takes precedence\nover `project_dir`." | ||
| }, | ||
| "properties": { | ||
|
Comment on lines
1480
to
+1491
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
The ACP schema entry for Useful? React with 👍 / 👎. |
||
| "type": "object", | ||
| "additionalProperties": {}, | ||
| "description": "Arbitrary key/value metadata." | ||
| } | ||
| }, | ||
| "required": [ | ||
|
|
@@ -1500,7 +1512,8 @@ | |
| "builtinSkill", | ||
| "recipe", | ||
| "subrecipe", | ||
| "agent" | ||
| "agent", | ||
| "project" | ||
| ], | ||
| "description": "The type of source entity." | ||
| }, | ||
|
|
@@ -1532,9 +1545,9 @@ | |
| "content": { | ||
| "type": "string" | ||
| }, | ||
| "directory": { | ||
| "path": { | ||
| "type": "string", | ||
| "description": "Absolute path to the source on disk. A directory for skills, a file for\nrecipes and agents." | ||
| "description": "Stable on-disk path identifying this source. Pass it back to\nupdate/delete/export to operate on this entry. The shape varies by\nsource type: skills use the directory containing `SKILL.md`, projects\nand recipes use the markdown file path itself." | ||
| }, | ||
| "global": { | ||
| "type": "boolean", | ||
|
|
@@ -1546,14 +1559,19 @@ | |
| "type": "string" | ||
| }, | ||
| "description": "Paths (absolute) of additional files that live alongside the source.\nOnly skills currently populate this; empty for other source types." | ||
| }, | ||
| "properties": { | ||
| "type": "object", | ||
| "additionalProperties": {}, | ||
| "description": "Arbitrary key/value pairs for type-specific metadata (e.g. icon, color,\npreferredProvider for projects). Stored in the frontmatter." | ||
| } | ||
| }, | ||
| "required": [ | ||
| "type", | ||
| "name", | ||
| "description", | ||
| "content", | ||
| "directory", | ||
| "path", | ||
| "global" | ||
| ], | ||
| "description": "A source discovered by Goose and backed by an on-disk path. Sources may be\neither `global` (shared across all projects) or project-specific." | ||
|
|
@@ -1576,6 +1594,11 @@ | |
| "string", | ||
| "null" | ||
| ] | ||
| }, | ||
| "includeProjectSources": { | ||
| "type": "boolean", | ||
| "description": "When true, also scan the working directories of all known projects for\nproject-scoped sources (e.g. skills stored under `{workingDir}/.agents/skills/`).", | ||
| "default": false | ||
| } | ||
| }, | ||
| "description": "List discovered sources.\n\nToday this endpoint only returns skills. If `type` is omitted, it defaults\nto listing skill sources. Both global and project-scoped skills are included\nwhen `project_dir` is set.", | ||
|
|
@@ -1615,6 +1638,11 @@ | |
| }, | ||
| "content": { | ||
| "type": "string" | ||
| }, | ||
| "properties": { | ||
| "type": "object", | ||
| "additionalProperties": {}, | ||
| "description": "Arbitrary key/value metadata. When non-empty, replaces all existing\nproperties on the source. Used for type-specific fields like project\nicon/color/workingDirs." | ||
| } | ||
| }, | ||
| "required": [ | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ListSourcesRequestnow definesinclude_project_sourcesin Rust, but the ACP schema/generated SDK contract still omits this field, so typed clients cannot request project-scoped source discovery without unsafe casts. This creates a contract drift between server behavior and published client types; update/regenerate schema artifacts to includeincludeProjectSources.Useful? React with 👍 / 👎.