@elizaos/plugin-linear 1.2.13 → 2.0.0-alpha.1

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@elizaos/plugin-linear",
3
- "version": "1.2.13",
4
- "description": "Linear integration plugin for ElizaOS",
3
+ "version": "2.0.0-alpha.1",
4
+ "description": "Linear integration plugin for ElizaOS (TypeScript)",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -22,15 +22,17 @@
22
22
  "access": "public"
23
23
  },
24
24
  "scripts": {
25
- "build": "tsup",
26
- "dev": "tsup --watch",
25
+ "dev": "bun --hot build.ts",
27
26
  "test": "vitest",
28
27
  "test:watch": "vitest --watch",
29
- "test:e2e": "elizaos test e2e",
30
- "lint": "eslint . --ext .ts",
31
- "format": "prettier --write \"src/**/*.ts\"",
32
- "format:check": "prettier --check \"src/**/*.ts\"",
33
- "clean": "rm -rf dist .turbo node_modules .turbo-tsconfig.json tsconfig.tsbuildinfo"
28
+ "lint": "bunx @biomejs/biome check --write --unsafe .",
29
+ "format": "bunx @biomejs/biome format --write .",
30
+ "format:check": "bunx @biomejs/biome format .",
31
+ "clean": "rm -rf dist .turbo node_modules .turbo-tsconfig.json tsconfig.tsbuildinfo",
32
+ "lint:check": "bunx @biomejs/biome check .",
33
+ "build": "bun run build.ts",
34
+ "build:ts": "bun run build.ts",
35
+ "typecheck": "tsc --noEmit"
34
36
  },
35
37
  "repository": {
36
38
  "type": "git",
@@ -40,8 +42,9 @@
40
42
  "elizaos",
41
43
  "plugin",
42
44
  "linear",
43
- "project management",
44
- "issue tracking"
45
+ "typescript",
46
+ "project-management",
47
+ "issue-tracking"
45
48
  ],
46
49
  "author": "ElizaOS Contributors",
47
50
  "license": "MIT",
@@ -51,36 +54,32 @@
51
54
  "homepage": "https://github.com/elizaos/eliza#readme",
52
55
  "dependencies": {
53
56
  "@linear/sdk": "^51.0.0",
54
- "@elizaos/core": "1.2.5"
57
+ "@elizaos/core": "workspace:*"
55
58
  },
56
59
  "devDependencies": {
57
- "@types/node": "^20.12.7",
58
- "@typescript-eslint/eslint-plugin": "^7.7.1",
59
- "@typescript-eslint/parser": "^7.7.1",
60
- "eslint": "^8.57.0",
61
- "prettier": "^3.2.5",
62
- "tsup": "^8.0.2",
63
- "typescript": "^5.4.5",
64
- "vitest": "^1.5.0"
60
+ "@types/node": "^25.0.3",
61
+ "typescript": "^5.9.3",
62
+ "vitest": "^4.0.0",
63
+ "@biomejs/biome": "^2.3.11"
65
64
  },
66
65
  "agentConfig": {
67
66
  "pluginType": "elizaos:plugin:1.0.0",
68
67
  "pluginParameters": {
69
68
  "LINEAR_API_KEY": {
70
69
  "type": "string",
71
- "description": "Linear API key for authentication. Get your API key from: https://linear.app/settings/api",
70
+ "description": "Linear API key for authentication",
72
71
  "required": true,
73
72
  "sensitive": true
74
73
  },
75
74
  "LINEAR_WORKSPACE_ID": {
76
75
  "type": "string",
77
- "description": "Linear workspace ID. If not provided, will use the default workspace",
76
+ "description": "Linear workspace ID",
78
77
  "required": false,
79
78
  "sensitive": false
80
79
  },
81
80
  "LINEAR_DEFAULT_TEAM_KEY": {
82
81
  "type": "string",
83
- "description": "Default team key for new issues when no team is specified. Use the team key (e.g., ENG, ELIZA, COM2) not the team name",
82
+ "description": "Default team key for new issues",
84
83
  "required": false,
85
84
  "sensitive": false
86
85
  }
package/dist/index.d.ts DELETED
@@ -1,89 +0,0 @@
1
- import { Service, IAgentRuntime, Plugin } from '@elizaos/core';
2
- import { Team, Issue, Comment, Project, User, IssueLabel, WorkflowState } from '@linear/sdk';
3
-
4
- interface LinearConfig {
5
- LINEAR_API_KEY: string;
6
- LINEAR_WORKSPACE_ID?: string;
7
- }
8
- interface LinearActivityItem {
9
- id: string;
10
- timestamp: string;
11
- action: string;
12
- resource_type: 'issue' | 'project' | 'comment' | 'label' | 'user' | 'team';
13
- resource_id: string;
14
- details: Record<string, any>;
15
- success: boolean;
16
- error?: string;
17
- }
18
- interface LinearIssueInput {
19
- title: string;
20
- description?: string;
21
- teamId: string;
22
- priority?: number;
23
- assigneeId?: string;
24
- labelIds?: string[];
25
- projectId?: string;
26
- stateId?: string;
27
- estimate?: number;
28
- dueDate?: Date;
29
- }
30
- interface LinearCommentInput {
31
- body: string;
32
- issueId: string;
33
- }
34
- interface LinearSearchFilters {
35
- state?: string[];
36
- assignee?: string[];
37
- label?: string[];
38
- project?: string;
39
- team?: string;
40
- priority?: number[];
41
- query?: string;
42
- limit?: number;
43
- }
44
- declare class LinearAPIError extends Error {
45
- status?: number | undefined;
46
- response?: any | undefined;
47
- constructor(message: string, status?: number | undefined, response?: any | undefined);
48
- }
49
- declare class LinearAuthenticationError extends LinearAPIError {
50
- constructor(message: string);
51
- }
52
- declare class LinearRateLimitError extends LinearAPIError {
53
- resetTime: number;
54
- constructor(message: string, resetTime: number);
55
- }
56
-
57
- declare class LinearService extends Service {
58
- static serviceType: string;
59
- capabilityDescription: string;
60
- private client;
61
- private activityLog;
62
- private linearConfig;
63
- private workspaceId?;
64
- constructor(runtime?: IAgentRuntime);
65
- static start(runtime: IAgentRuntime): Promise<LinearService>;
66
- stop(): Promise<void>;
67
- private validateConnection;
68
- private logActivity;
69
- getActivityLog(limit?: number, filter?: Partial<LinearActivityItem>): LinearActivityItem[];
70
- clearActivityLog(): void;
71
- getTeams(): Promise<Team[]>;
72
- getTeam(teamId: string): Promise<Team>;
73
- createIssue(input: LinearIssueInput): Promise<Issue>;
74
- getIssue(issueId: string): Promise<Issue>;
75
- updateIssue(issueId: string, updates: Partial<LinearIssueInput>): Promise<Issue>;
76
- deleteIssue(issueId: string): Promise<void>;
77
- searchIssues(filters: LinearSearchFilters): Promise<Issue[]>;
78
- createComment(input: LinearCommentInput): Promise<Comment>;
79
- getProjects(teamId?: string): Promise<Project[]>;
80
- getProject(projectId: string): Promise<Project>;
81
- getUsers(): Promise<User[]>;
82
- getCurrentUser(): Promise<User>;
83
- getLabels(teamId?: string): Promise<IssueLabel[]>;
84
- getWorkflowStates(teamId: string): Promise<WorkflowState[]>;
85
- }
86
-
87
- declare const linearPlugin: Plugin;
88
-
89
- export { LinearAPIError, type LinearActivityItem, LinearAuthenticationError, type LinearCommentInput, type LinearConfig, type LinearIssueInput, LinearRateLimitError, type LinearSearchFilters, LinearService, linearPlugin };