You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+14-6Lines changed: 14 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,18 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
8
8
## [Unreleased]
9
9
10
-
### Added
11
-
- Added ask connectors: connect 3rd party MCP servers to your ask agent. [#1106](https://github.com/sourcebot-dev/sourcebot/pull/1106)
12
-
- Added progress bar when navigating between pages. [#1106](https://github.com/sourcebot-dev/sourcebot/pull/1106)
13
-
- Added a integrated changelog into the sidebar. [#1106](https://github.com/sourcebot-dev/sourcebot/pull/1106)
10
+
Checkout the [migration guide](https://docs.sourcebot.dev/docs/upgrade/v4-to-v5-guide) for details on upgrading your instance to v5.
14
11
15
12
### Changed
16
-
-[**Breaking Change**] Changed the default role assignment to `Owner` for organizations on the free tier. [#1106](https://github.com/sourcebot-dev/sourcebot/pull/1106)
17
-
-[**Breaking Change**] Relicensed Ask Sourcebot and MCP under ee. [#1106](https://github.com/sourcebot-dev/sourcebot/pull/1106)
13
+
-[**Breaking Change**] Changed the default role assignment to `Owner` for organizations on the free tier. See the [v4 to v5 guide](https://docs.sourcebot.dev/docs/upgrade/v4-to-v5-guide). [#1106](https://github.com/sourcebot-dev/sourcebot/pull/1106)
14
+
-[**Breaking Change**] Relicensed Ask Sourcebot and MCP under ee. See the [v4 to v5 guide](https://docs.sourcebot.dev/docs/upgrade/v4-to-v5-guide). [#1106](https://github.com/sourcebot-dev/sourcebot/pull/1106)
15
+
-[**Breaking Change**] Removed the embedded Postgres and Redis from the Docker image. External Postgres and Redis are now required: set `DATABASE_URL` and `REDIS_URL`, or deploy with the provided `docker-compose.yml`. See the [v4 to v5 guide](https://docs.sourcebot.dev/docs/upgrade/v4-to-v5-guide). [#1106](https://github.com/sourcebot-dev/sourcebot/pull/1106)
16
+
-[**Breaking Change**] Sourcebot no longer auto-generates `AUTH_SECRET` and `SOURCEBOT_ENCRYPTION_KEY`, nor reads them from the plaintext files it previously wrote to the data volume; both must now be set explicitly as environment variables. See the [v4 to v5 guide](https://docs.sourcebot.dev/docs/upgrade/v4-to-v5-guide). [#1106](https://github.com/sourcebot-dev/sourcebot/pull/1106)
18
17
- Redesigned the app layout with a new collapsible sidebar navigation, replacing the previous top navigation bar. [#1106](https://github.com/sourcebot-dev/sourcebot/pull/1106)
19
18
- Expired offline license keys no longer crash the process. An expired key now degrades to the unlicensed state. [#1106](https://github.com/sourcebot-dev/sourcebot/pull/1106)
20
19
- Improved the `setup-sourcebot` wizard: prompts for a setup directory, clarifies that secrets are stored locally in `.env`, switches multi-select to Tab, hides "No results" until a real search runs, and detects/cleans up conflicting Docker deployments and volumes before starting. [#1106](https://github.com/sourcebot-dev/sourcebot/pull/1106)
21
20
21
+
### Added
22
+
- Added ask connectors: connect 3rd party MCP servers to your ask agent. [#1106](https://github.com/sourcebot-dev/sourcebot/pull/1106)
23
+
- Added progress bar when navigating between pages. [#1106](https://github.com/sourcebot-dev/sourcebot/pull/1106)
24
+
- Added a integrated changelog into the sidebar. [#1106](https://github.com/sourcebot-dev/sourcebot/pull/1106)
25
+
- Added scroll position restoration when viewing files in the code browser, so returning to a previously viewed file restores your scroll position. [#1106](https://github.com/sourcebot-dev/sourcebot/pull/1106)
26
+
27
+
### Fixed
28
+
- Fixed git "dubious ownership" errors when the container runs as a non-root user by setting `safe.directory` at the system level instead of the global (root-only) level. [#1106](https://github.com/sourcebot-dev/sourcebot/pull/1106)
Copy file name to clipboardExpand all lines: docs/docs/configuration/auth/roles-and-permissions.mdx
+8Lines changed: 8 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,6 +17,14 @@ Note that when [permission syncing](/docs/features/permission-syncing) is enable
17
17
On the free plan, all signed-in users are given the `Owner` role.
18
18
</Note>
19
19
20
+
## Default role assignment
21
+
22
+
When a user joins your organization, they are assigned a default role. This assignment, and the ability to [manage the user's role](#managing-member-roles) afterwards, depends on [your plan](/docs/activating-a-subscription):
23
+
24
+
| Plan | Default role | Role management |
25
+
| :--- | :----------- | :-------------- |
26
+
|**Free**|`Owner`| Not available. A user's role cannot be changed. |
27
+
|**Paid**|`Member`| Available. Owners can [promote or demote](#managing-member-roles) members. |
Copy file name to clipboardExpand all lines: docs/docs/configuration/environment-variables.mdx
+4-6Lines changed: 4 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ The following environment variables allow you to configure your Sourcebot deploy
12
12
| :------- | :------ | :---------- |
13
13
|`AUTH_CREDENTIALS_LOGIN_ENABLED`|`true`| <p>Enables/disables authentication with basic credentials. Username and passwords are stored encrypted at rest within the postgres database. Checkout the [auth docs](/docs/configuration/auth/authentication) for more info</p> |
14
14
|`AUTH_EMAIL_CODE_LOGIN_ENABLED`|`false`| <p>Enables/disables authentication with a login code that's sent to a users email. `SMTP_CONNECTION_URL` and `EMAIL_FROM_ADDRESS` must also be set. Checkout the [auth docs](/docs/configuration/auth/authentication) for more info </p> |
15
-
|`AUTH_SECRET`| Automatically generated at startup if no value is provided. Generated using `openssl rand -base64 33`| <p>Used to validate login session cookies</p> |
15
+
|`AUTH_SECRET`**(required)**| - | <p>Used to validate login session cookies. Genearte one with `openssl rand -base64 33`.</p> |
16
16
|`AUTH_SESSION_MAX_AGE_SECONDS`|`2592000` (30 days) | <p>Relative time from now in seconds when to expire the session.</p> |
17
17
|`AUTH_SESSION_UPDATE_AGE_SECONDS`|`86400` (1 day) | <p>How often the session should be updated in seconds. If set to `0`, session is updated every time.</p> |
18
18
|`OAUTH_AUTHORIZATION_CODE_TTL_SECONDS`|`600` (10 minutes) | <p>Lifetime of an OAuth authorization code, in seconds.</p> |
@@ -22,13 +22,11 @@ The following environment variables allow you to configure your Sourcebot deploy
22
22
|`CONFIG_PATH`|`-`| <p>The container relative path to the declarative configuration file. See [this doc](/docs/configuration/declarative-config) for more info.</p> |
23
23
|`DATA_CACHE_DIR`|`$DATA_DIR/.sourcebot`| <p>The root data directory in which all data written to disk by Sourcebot will be located.</p> |
24
24
|`DATA_DIR`|`/data`| <p>The directory within the container to store all persistent data. Typically, this directory will be volume mapped such that data is persisted across container restarts (e.g., `docker run -v $(pwd):/data`)</p> |
25
-
|`DATABASE_DATA_DIR`|`$DATA_CACHE_DIR/db`| <p>The data directory for the default Postgres database.</p> |
26
-
|`DATABASE_URL`|`postgresql://postgres@ localhost:5432/sourcebot`| <p>Connection string of your Postgres database. By default, a Postgres database is automatically provisioned at startup within the container.</p><p>If you'd like to use a non-default schema, you can provide it as a parameter in the database url.</p><p>You can also use `DATABASE_HOST`, `DATABASE_USERNAME`, `DATABASE_PASSWORD`, `DATABASE_NAME`, and `DATABASE_ARGS` to construct the database url.</p> |
25
+
|`DATABASE_URL`**(required)**| - | <p>Connection string of your Postgres database, e.g. `postgresql://user:password@host:5432/sourcebot`.</p><p>If you'd like to use a non-default schema, you can provide it as a parameter in the database url.</p><p>You can also use `DATABASE_HOST`, `DATABASE_USERNAME`, `DATABASE_PASSWORD`, `DATABASE_NAME`, and `DATABASE_ARGS` to construct the database url.</p> |
27
26
|`EMAIL_FROM_ADDRESS`|`-`| <p>The email address that transactional emails will be sent from. See [this doc](/docs/configuration/transactional-emails) for more info.</p> |
28
27
| `FORCE_ENABLE_ANONYMOUS_ACCESS` | `false` | <p>When enabled, [anonymous access](/docs/configuration/auth/access-settings#anonymous-access) to the organization will always be enabled</p>
29
28
| `REQUIRE_APPROVAL_NEW_MEMBERS` | - | <p>When set, controls whether new users require approval before accessing your deployment. If not set, the setting can be configured via the UI. See [member approval](/docs/configuration/auth/access-settings#member-approval) for more info.</p>
30
-
|`REDIS_DATA_DIR`|`$DATA_CACHE_DIR/redis`| <p>The data directory for the default Redis instance.</p> |
31
-
|`REDIS_URL`|`redis://localhost:6379`| <p>Connection string of your Redis instance. By default, a Redis database is automatically provisioned at startup within the container.</p><p>To enable TLS, see [this doc](/docs/deployment/infrastructure/redis#tls).</p> |
29
+
|`REDIS_URL`**(required)**| - | <p>Connection string of your Redis instance, e.g. `redis://host:6379`.</p><p>To enable TLS, see [this doc](/docs/deployment/infrastructure/redis#tls).</p> |
32
30
|`REDIS_REMOVE_ON_COMPLETE`|`0`| <p>Controls how many completed jobs are allowed to remain in Redis queues</p> |
33
31
|`REDIS_REMOVE_ON_FAIL`|`100`| <p>Controls how many failed jobs are allowed to remain in Redis queues</p> |
34
32
|`REPO_SYNC_RETRY_BASE_SLEEP_SECONDS`|`60`| <p>The base sleep duration (in seconds) for exponential backoff when retrying repository sync operations that fail</p> |
@@ -38,7 +36,7 @@ The following environment variables allow you to configure your Sourcebot deploy
38
36
|`SMTP_PORT`|`-`| <p>The port of the SMTP server.</p> |
39
37
|`SMTP_USERNAME`|`-`| <p>The username for SMTP authentication.</p> |
40
38
|`SMTP_PASSWORD`|`-`| <p>The password for SMTP authentication.</p> |
41
-
|`SOURCEBOT_ENCRYPTION_KEY`| Automatically generated at startup if no value is provided. Generated using `openssl rand -base64 24`| <p>Used to encrypt connection secrets and generate API keys.</p> |
39
+
|`SOURCEBOT_ENCRYPTION_KEY`**(required)**| - | <p>Used to encrypt connection secrets and generate API keys. Generate one with `openssl rand -base64 24`.</p> |
42
40
|`SOURCEBOT_PUBLIC_KEY_PATH`|`/app/public.pem`| <p>Sourcebot's public key that's used to verify encrypted license key signatures.</p> |
43
41
|`SOURCEBOT_LOG_LEVEL`|`info`| <p>The Sourcebot logging level. Valid values are `debug`, `info`, `warn`, `error`, in order of severity.</p> |
44
42
|`SOURCEBOT_STRUCTURED_LOGGING_ENABLED`|`false`| <p>Enables/disable structured JSON logging. See [this doc](/docs/configuration/structured-logging) for more info.</p> |
Copy file name to clipboardExpand all lines: docs/docs/features/ask/connectors.mdx
+61-2Lines changed: 61 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,7 +32,7 @@ If Ask Sourcebot needs to use a tool that requires approval, it pauses and asks
32
32
An owner must add a connector before organization members can use it.
33
33
34
34
To add a connector:
35
-
1.**Settings → Workspace → Ask Agent**
35
+
1.**Settings → Workspace → Ask Sourcebot**
36
36
2. Click **Add connector**.
37
37
3. Enter the MCP server URL and the name the organization will see for this server.
38
38
@@ -50,9 +50,68 @@ then enter the OAuth client ID and client secret in Sourcebot.
50
50
</Frame>
51
51
</div>
52
52
53
+
## OAuth Scopes
54
+
55
+
Owners can configure which OAuth scopes users authorize when connecting to a connector.
56
+
57
+
Sourcebot checks the connector for discoverable scopes and shows them as options. You can also add custom scopes.
58
+
59
+
<divclassName="max-w-sm mx-auto">
60
+
<Frame>
61
+
<img
62
+
src="/images/connectors_oauth_scopes.png"
63
+
alt="OAuth scopes discovery"
64
+
/>
65
+
</Frame>
66
+
</div>
67
+
68
+
Owners can change connector scopes at any time from **Settings → Workspace → Ask Sourcebot** and select **Edit OAuth scopes**.
69
+
70
+
<divclassName="max-w-xl mx-auto">
71
+
<Frame>
72
+
<img
73
+
src="/images/connectors_edit_scopes.png"
74
+
alt="OAuth scopes editing"
75
+
/>
76
+
</Frame>
77
+
</div>
78
+
79
+
<Warning>
80
+
Changing connector scopes requires all users to re-authenticate with that connector.
81
+
</Warning>
82
+
83
+
## Tool Permissions
84
+
85
+
Owners can configure how Ask Sourcebot may use each tool exposed by a connector. Changes take effect immediately and do not require users to re-authenticate.
86
+
87
+
To edit tool permissions, open the connector menu from **Settings → Workspace → Ask Sourcebot** and select **Edit tool permissions**.
Each tool can be **Allowed**, require **Needs Approval**, or be **Blocked**. Allowed tools can run without pausing the chat, tools that need approval ask the user before running, and blocked tools are not available to Ask Sourcebot.
99
+
100
+
Sourcebot groups tools by the hints reported by the connector. Tools with a read-only hint are grouped separately and tools without that hint are treated as write/delete tools.
101
+
102
+
<divclassName="max-w-lg mx-auto">
103
+
<Frame>
104
+
<img
105
+
src="/images/connectors_tool_permissions.png"
106
+
alt="Tool permissions view"
107
+
/>
108
+
</Frame>
109
+
</div>
110
+
111
+
53
112
## Connecting
54
113
55
-
After an owner adds connectors for your organization, go to **Settings → Account → Ask Agent** to connect them.
114
+
After an owner adds connectors for your organization, go to **Settings → Account → Ask Sourcebot** to connect them.
56
115
57
116
You can see all available connectors on this page. After you connect one, you can inspect the tools it provides and what each tool does.
0 commit comments