-
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 1 commit
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 |
|---|---|---|
|
|
@@ -717,6 +717,27 @@ | |
| "x-side": "agent", | ||
| "x-method": "_goose/session/unarchive" | ||
| }, | ||
| "SetSessionProjectRequest": { | ||
| "type": "object", | ||
| "properties": { | ||
| "sessionId": { | ||
| "type": "string" | ||
| }, | ||
| "projectId": { | ||
| "type": [ | ||
| "string", | ||
| "null" | ||
| ], | ||
| "description": "The source name (kebab-case ID) of the project, or null to clear." | ||
| } | ||
| }, | ||
| "required": [ | ||
| "sessionId" | ||
| ], | ||
| "description": "Set or clear the project associated with a session.", | ||
| "x-side": "agent", | ||
| "x-method": "_goose/session/set_project" | ||
| }, | ||
| "CreateSourceRequest": { | ||
| "type": "object", | ||
| "properties": { | ||
|
|
@@ -741,6 +762,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": [ | ||
|
|
@@ -757,7 +790,8 @@ | |
| "SourceType": { | ||
| "type": "string", | ||
| "enum": [ | ||
| "skill" | ||
| "skill", | ||
| "project" | ||
| ], | ||
| "description": "The type of source entity." | ||
| }, | ||
|
|
@@ -796,6 +830,11 @@ | |
| "global": { | ||
| "type": "boolean", | ||
| "description": "True when the source lives in the user's global sources directory; false\nwhen it lives inside a specific project." | ||
| }, | ||
| "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": [ | ||
|
|
@@ -826,6 +865,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 sources. If `type` is omitted, sources of all known types are returned.\nBoth global and project-scoped sources are included when `project_dir` is set.", | ||
|
|
@@ -871,6 +915,11 @@ | |
| "string", | ||
| "null" | ||
| ] | ||
| }, | ||
| "properties": { | ||
| "type": "object", | ||
| "additionalProperties": {}, | ||
| "description": "Arbitrary key/value metadata. Replaces all existing properties." | ||
| } | ||
| }, | ||
| "required": [ | ||
|
|
@@ -1534,6 +1583,15 @@ | |
| "description": "Params for _goose/session/unarchive", | ||
| "title": "UnarchiveSessionRequest" | ||
| }, | ||
| { | ||
| "allOf": [ | ||
| { | ||
| "$ref": "#/$defs/SetSessionProjectRequest" | ||
| } | ||
| ], | ||
| "description": "Params for _goose/session/set_project", | ||
| "title": "SetSessionProjectRequest" | ||
| }, | ||
| { | ||
| "allOf": [ | ||
| { | ||
|
|
||
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 👍 / 👎.