@sentry/junior-linear 0.258.0 → 0.259.0

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 CHANGED
@@ -19,6 +19,8 @@ export const plugins = defineJuniorPlugins([linearPlugin()]);
19
19
 
20
20
  This package does not require a shared `LINEAR_API_KEY` or a custom OAuth app for the default setup. Each user connects their own Linear account the first time Junior calls a Linear MCP tool. Junior sends the authorization link privately and resumes the same Slack thread automatically after the user authorizes.
21
21
 
22
+ Optionally, a Junior admin can connect a Linear service account from the dashboard Admin page, or with `junior service-account connect linear`. The plugin lets that account call only Linear's read tools, such as `get_issue`, `list_issues`, and `list_comments` (`accounts.service-account.tools`). Users who have not connected Linear then use that account for those tools. Creating or updating issues and comments still asks the user to connect their own account. Anyone who can talk to Junior can read what the service account can read.
23
+
22
24
  Linear operations use Linear's hosted MCP tools directly. When an issue is created through that path, Junior links it to the current conversation.
23
25
 
24
26
  To run watches or event automations when Linear issues are created:
package/dist/index.js CHANGED
@@ -192,6 +192,29 @@ var savedIssueSchema = z2.object({
192
192
  }
193
193
  return { ...issue, identifier: identifier.data.toUpperCase() };
194
194
  });
195
+ var LINEAR_SERVICE_ACCOUNT_TOOLS = [
196
+ "extract_images",
197
+ "get_attachment",
198
+ "get_document",
199
+ "get_issue",
200
+ "get_issue_status",
201
+ "get_milestone",
202
+ "get_project",
203
+ "get_team",
204
+ "get_user",
205
+ "list_comments",
206
+ "list_cycles",
207
+ "list_documents",
208
+ "list_issue_labels",
209
+ "list_issue_statuses",
210
+ "list_issues",
211
+ "list_milestones",
212
+ "list_project_labels",
213
+ "list_projects",
214
+ "list_teams",
215
+ "list_users",
216
+ "search_documentation"
217
+ ];
195
218
  var saveIssueResultSchema = z2.union([
196
219
  savedIssueSchema,
197
220
  z2.object({ issue: savedIssueSchema }).transform(({ issue }) => issue)
@@ -278,6 +301,11 @@ function linearPlugin() {
278
301
  normalizeIdentifier: (identifier) => identifier.toUpperCase()
279
302
  },
280
303
  manifest: {
304
+ // Optional shared read account. It has no effect until an admin
305
+ // connects it on the dashboard Admin page.
306
+ accounts: {
307
+ serviceAccount: { tools: [...LINEAR_SERVICE_ACCOUNT_TOOLS] }
308
+ },
281
309
  configKeys: ["team", "project"],
282
310
  description: "Linear issue tracking via hosted MCP server and issue webhooks",
283
311
  displayName: "Linear",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentry/junior-linear",
3
- "version": "0.258.0",
3
+ "version": "0.259.0",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -23,7 +23,7 @@
23
23
  ],
24
24
  "dependencies": {
25
25
  "zod": "^4.5.4",
26
- "@sentry/junior-plugin-api": "0.258.0"
26
+ "@sentry/junior-plugin-api": "0.259.0"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@oxlint/plugins": "1.79.0",