jira-data-center-client 1.0.0 → 1.0.9
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/dist/api/agile.d.ts +19 -0
- package/dist/api/agile.d.ts.map +1 -1
- package/dist/api/agile.js +23 -0
- package/dist/api/agile.js.map +1 -1
- package/dist/api/base.d.ts +4 -0
- package/dist/api/base.d.ts.map +1 -1
- package/dist/api/base.js +5 -0
- package/dist/api/base.js.map +1 -1
- package/dist/api/fields.d.ts +20 -0
- package/dist/api/fields.d.ts.map +1 -1
- package/dist/api/fields.js +22 -2
- package/dist/api/fields.js.map +1 -1
- package/dist/api/issues.d.ts +25 -0
- package/dist/api/issues.d.ts.map +1 -1
- package/dist/api/issues.js +30 -2
- package/dist/api/issues.js.map +1 -1
- package/dist/api/links.d.ts +10 -0
- package/dist/api/links.d.ts.map +1 -1
- package/dist/api/links.js +10 -0
- package/dist/api/links.js.map +1 -1
- package/dist/api/projects.d.ts +9 -0
- package/dist/api/projects.d.ts.map +1 -1
- package/dist/api/projects.js +9 -0
- package/dist/api/projects.js.map +1 -1
- package/dist/api/users.d.ts +12 -0
- package/dist/api/users.d.ts.map +1 -1
- package/dist/api/users.js +13 -1
- package/dist/api/users.js.map +1 -1
- package/dist/client.d.ts +42 -5
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +41 -4
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/types/agile.d.ts +52 -0
- package/dist/types/agile.d.ts.map +1 -1
- package/dist/types/common.d.ts +21 -1
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/field.d.ts +22 -0
- package/dist/types/field.d.ts.map +1 -1
- package/dist/types/issue.d.ts +173 -3
- package/dist/types/issue.d.ts.map +1 -1
- package/dist/types/link.d.ts +26 -0
- package/dist/types/link.d.ts.map +1 -1
- package/dist/types/project.d.ts +24 -0
- package/dist/types/project.d.ts.map +1 -1
- package/dist/types/transition.d.ts +20 -0
- package/dist/types/transition.d.ts.map +1 -1
- package/dist/types/user.d.ts +38 -4
- package/dist/types/user.d.ts.map +1 -1
- package/package.json +16 -6
- package/.claude/settings.local.json +0 -17
- package/.nvmrc +0 -1
- package/AGENTS.md +0 -155
- package/JiraServerSwagger.json +0 -1
- package/LICENSE +0 -21
- package/tests/integration/utils.ts +0 -17
- package/vitest.config.ts +0 -8
package/dist/api/agile.d.ts
CHANGED
|
@@ -1,10 +1,29 @@
|
|
|
1
1
|
import { BaseApi } from './base.js';
|
|
2
2
|
import type { JiraBoard, JiraSprint, JiraIssue, JiraSearchResponse, GetBoardsParams, GetSprintsParams, GetSprintIssuesParams } from '../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Agile-related API methods (boards, sprints)
|
|
5
|
+
* Uses /rest/agile/1.0 base path
|
|
6
|
+
*/
|
|
3
7
|
export declare class AgileApi extends BaseApi {
|
|
8
|
+
/** Agile API base URL override */
|
|
4
9
|
private get agileBase();
|
|
10
|
+
/**
|
|
11
|
+
* Get all boards visible to the user.
|
|
12
|
+
* Can filter by project, type, or name.
|
|
13
|
+
*/
|
|
5
14
|
getBoards(params?: GetBoardsParams): Promise<JiraBoard[]>;
|
|
15
|
+
/**
|
|
16
|
+
* Get a specific board by ID
|
|
17
|
+
*/
|
|
6
18
|
getBoard(boardId: number): Promise<JiraBoard>;
|
|
19
|
+
/**
|
|
20
|
+
* Get sprints for a board.
|
|
21
|
+
* Can filter by state (future, active, closed).
|
|
22
|
+
*/
|
|
7
23
|
getSprints(params: GetSprintsParams): Promise<JiraSprint[]>;
|
|
24
|
+
/**
|
|
25
|
+
* Get issues in a sprint
|
|
26
|
+
*/
|
|
8
27
|
getSprintIssues(params: GetSprintIssuesParams): Promise<JiraSearchResponse<JiraIssue>>;
|
|
9
28
|
}
|
|
10
29
|
//# sourceMappingURL=agile.d.ts.map
|
package/dist/api/agile.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agile.d.ts","sourceRoot":"","sources":["../../src/api/agile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EACV,SAAS,EAET,UAAU,EAEV,SAAS,EACT,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"agile.d.ts","sourceRoot":"","sources":["../../src/api/agile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EACV,SAAS,EAET,UAAU,EAEV,SAAS,EACT,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;AAE3B;;;GAGG;AACH,qBAAa,QAAS,SAAQ,OAAO;IACnC,kCAAkC;IAClC,OAAO,KAAK,SAAS,GAEpB;IAED;;;OAGG;IACU,SAAS,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA6CtE;;OAEG;IACU,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAO1D;;;OAGG;IACU,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAyCxE;;OAEG;IACU,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;CAsBpG"}
|
package/dist/api/agile.js
CHANGED
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
import { BaseApi } from './base.js';
|
|
2
|
+
/**
|
|
3
|
+
* Agile-related API methods (boards, sprints)
|
|
4
|
+
* Uses /rest/agile/1.0 base path
|
|
5
|
+
*/
|
|
2
6
|
export class AgileApi extends BaseApi {
|
|
7
|
+
/** Agile API base URL override */
|
|
3
8
|
get agileBase() {
|
|
4
9
|
return `${this.baseUrl}/rest/agile/1.0`;
|
|
5
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Get all boards visible to the user.
|
|
13
|
+
* Can filter by project, type, or name.
|
|
14
|
+
*/
|
|
6
15
|
async getBoards(params) {
|
|
7
16
|
const allBoards = [];
|
|
8
17
|
let startAt = params?.startAt ?? 0;
|
|
9
18
|
const maxResults = params?.maxResults ?? 50;
|
|
19
|
+
// If maxResults specified, just fetch one page
|
|
10
20
|
if (params?.maxResults) {
|
|
11
21
|
const response = await this.client.get('/board', {
|
|
12
22
|
baseURL: this.agileBase,
|
|
@@ -20,6 +30,7 @@ export class AgileApi extends BaseApi {
|
|
|
20
30
|
});
|
|
21
31
|
return response.data.values;
|
|
22
32
|
}
|
|
33
|
+
// Auto-paginate to get all boards
|
|
23
34
|
while (true) {
|
|
24
35
|
const response = await this.client.get('/board', {
|
|
25
36
|
baseURL: this.agileBase,
|
|
@@ -39,16 +50,24 @@ export class AgileApi extends BaseApi {
|
|
|
39
50
|
}
|
|
40
51
|
return allBoards;
|
|
41
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Get a specific board by ID
|
|
55
|
+
*/
|
|
42
56
|
async getBoard(boardId) {
|
|
43
57
|
const response = await this.client.get(`/board/${boardId}`, {
|
|
44
58
|
baseURL: this.agileBase,
|
|
45
59
|
});
|
|
46
60
|
return response.data;
|
|
47
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Get sprints for a board.
|
|
64
|
+
* Can filter by state (future, active, closed).
|
|
65
|
+
*/
|
|
48
66
|
async getSprints(params) {
|
|
49
67
|
const { boardId, state, startAt = 0, maxResults } = params;
|
|
50
68
|
const allSprints = [];
|
|
51
69
|
let currentStartAt = startAt;
|
|
70
|
+
// If maxResults specified, just fetch one page
|
|
52
71
|
if (maxResults) {
|
|
53
72
|
const response = await this.client.get(`/board/${boardId}/sprint`, {
|
|
54
73
|
baseURL: this.agileBase,
|
|
@@ -60,6 +79,7 @@ export class AgileApi extends BaseApi {
|
|
|
60
79
|
});
|
|
61
80
|
return response.data.values;
|
|
62
81
|
}
|
|
82
|
+
// Auto-paginate to get all sprints
|
|
63
83
|
while (true) {
|
|
64
84
|
const response = await this.client.get(`/board/${boardId}/sprint`, {
|
|
65
85
|
baseURL: this.agileBase,
|
|
@@ -77,6 +97,9 @@ export class AgileApi extends BaseApi {
|
|
|
77
97
|
}
|
|
78
98
|
return allSprints;
|
|
79
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* Get issues in a sprint
|
|
102
|
+
*/
|
|
80
103
|
async getSprintIssues(params) {
|
|
81
104
|
const { sprintId, startAt = 0, maxResults = 50, fields, expand, jql } = params;
|
|
82
105
|
let fieldsParam;
|
package/dist/api/agile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agile.js","sourceRoot":"","sources":["../../src/api/agile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"agile.js","sourceRoot":"","sources":["../../src/api/agile.ts"],"names":[],"mappings":"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"}
|
package/dist/api/base.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { type AxiosInstance } from 'axios';
|
|
2
2
|
import type { JiraClientConfig } from '../types/common.js';
|
|
3
|
+
/**
|
|
4
|
+
* Base API class providing axios client and shared configuration.
|
|
5
|
+
* All domain-specific API classes extend this.
|
|
6
|
+
*/
|
|
3
7
|
export declare class BaseApi {
|
|
4
8
|
protected client: AxiosInstance;
|
|
5
9
|
protected baseUrl: string;
|
package/dist/api/base.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/api/base.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/api/base.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;;GAGG;AACH,qBAAa,OAAO;IAClB,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC;IAChC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEP,MAAM,EAAE,gBAAgB;CAe5C"}
|
package/dist/api/base.js
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import axios from 'axios';
|
|
2
|
+
/**
|
|
3
|
+
* Base API class providing axios client and shared configuration.
|
|
4
|
+
* All domain-specific API classes extend this.
|
|
5
|
+
*/
|
|
2
6
|
export class BaseApi {
|
|
3
7
|
client;
|
|
4
8
|
baseUrl;
|
|
5
9
|
constructor(config) {
|
|
6
10
|
const { token, baseUrl, axiosConfig = {} } = config;
|
|
7
11
|
this.baseUrl = baseUrl;
|
|
12
|
+
// Standard Jira API client (/rest/api/2)
|
|
8
13
|
this.client = axios.create({
|
|
9
14
|
...axiosConfig,
|
|
10
15
|
baseURL: `${baseUrl}/rest/api/2`,
|
package/dist/api/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/api/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/api/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAGlD;;;GAGG;AACH,MAAM,OAAO,OAAO;IACR,MAAM,CAAgB;IACtB,OAAO,CAAS;IAE1B,YAAmB,MAAwB;QACzC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC;QACpD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,yCAAyC;QACzC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACzB,GAAG,WAAW;YACd,OAAO,EAAE,GAAG,OAAO,aAAa;YAChC,OAAO,EAAE;gBACP,GAAG,WAAW,CAAC,OAAO;gBACtB,aAAa,EAAE,UAAU,KAAK,EAAE;gBAChC,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
|
package/dist/api/fields.d.ts
CHANGED
|
@@ -1,11 +1,31 @@
|
|
|
1
1
|
import { BaseApi } from './base.js';
|
|
2
2
|
import type { JiraField, GetFieldsParams } from '../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Field-related API methods with caching
|
|
5
|
+
*/
|
|
3
6
|
export declare class FieldsApi extends BaseApi {
|
|
4
7
|
private cache;
|
|
8
|
+
/**
|
|
9
|
+
* Get all available fields (system + custom).
|
|
10
|
+
* Results are cached; use refresh: true to force update.
|
|
11
|
+
*/
|
|
5
12
|
getAll(params?: GetFieldsParams): Promise<JiraField[]>;
|
|
13
|
+
/**
|
|
14
|
+
* Get field ID by name (case-insensitive).
|
|
15
|
+
* Uses cached field data; fetches if not cached.
|
|
16
|
+
*/
|
|
6
17
|
getIdByName(fieldName: string): Promise<string | null>;
|
|
18
|
+
/**
|
|
19
|
+
* Get a field by its ID
|
|
20
|
+
*/
|
|
7
21
|
getById(fieldId: string): Promise<JiraField | null>;
|
|
22
|
+
/**
|
|
23
|
+
* Get custom fields only
|
|
24
|
+
*/
|
|
8
25
|
getCustom(params?: GetFieldsParams): Promise<JiraField[]>;
|
|
26
|
+
/**
|
|
27
|
+
* Search fields by keyword (fuzzy match on name)
|
|
28
|
+
*/
|
|
9
29
|
search(keyword: string, limit?: number): Promise<JiraField[]>;
|
|
10
30
|
}
|
|
11
31
|
//# sourceMappingURL=fields.d.ts.map
|
package/dist/api/fields.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/api/fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/api/fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAc,MAAM,mBAAmB,CAAC;AAEhF;;GAEG;AACH,qBAAa,SAAU,SAAQ,OAAO;IACpC,OAAO,CAAC,KAAK,CAA2B;IAExC;;;OAGG;IACU,MAAM,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA+BnE;;;OAGG;IACU,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAQnE;;OAEG;IACU,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAKhE;;OAEG;IACU,SAAS,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAKtE;;OAEG;IACU,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;CAUvE"}
|
package/dist/api/fields.js
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { BaseApi } from './base.js';
|
|
2
|
+
/**
|
|
3
|
+
* Field-related API methods with caching
|
|
4
|
+
*/
|
|
2
5
|
export class FieldsApi extends BaseApi {
|
|
3
6
|
cache = null;
|
|
7
|
+
/**
|
|
8
|
+
* Get all available fields (system + custom).
|
|
9
|
+
* Results are cached; use refresh: true to force update.
|
|
10
|
+
*/
|
|
4
11
|
async getAll(params) {
|
|
5
12
|
const refresh = params?.refresh ?? false;
|
|
6
13
|
if (this.cache && !refresh) {
|
|
@@ -8,6 +15,7 @@ export class FieldsApi extends BaseApi {
|
|
|
8
15
|
}
|
|
9
16
|
const response = await this.client.get('/field');
|
|
10
17
|
const fields = response.data;
|
|
18
|
+
// Build name-to-ID mapping
|
|
11
19
|
const nameToIdMap = new Map();
|
|
12
20
|
for (const field of fields) {
|
|
13
21
|
nameToIdMap.set(field.name.toLowerCase(), field.id);
|
|
@@ -25,6 +33,10 @@ export class FieldsApi extends BaseApi {
|
|
|
25
33
|
};
|
|
26
34
|
return fields;
|
|
27
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Get field ID by name (case-insensitive).
|
|
38
|
+
* Uses cached field data; fetches if not cached.
|
|
39
|
+
*/
|
|
28
40
|
async getIdByName(fieldName) {
|
|
29
41
|
if (!this.cache) {
|
|
30
42
|
await this.getAll();
|
|
@@ -32,19 +44,27 @@ export class FieldsApi extends BaseApi {
|
|
|
32
44
|
const normalizedName = fieldName.toLowerCase();
|
|
33
45
|
return this.cache?.nameToIdMap.get(normalizedName) ?? null;
|
|
34
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Get a field by its ID
|
|
49
|
+
*/
|
|
35
50
|
async getById(fieldId) {
|
|
36
51
|
const fields = await this.getAll();
|
|
37
52
|
return fields.find((f) => f.id === fieldId) ?? null;
|
|
38
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Get custom fields only
|
|
56
|
+
*/
|
|
39
57
|
async getCustom(params) {
|
|
40
58
|
const fields = await this.getAll(params);
|
|
41
59
|
return fields.filter((f) => f.id.startsWith('customfield_'));
|
|
42
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Search fields by keyword (fuzzy match on name)
|
|
63
|
+
*/
|
|
43
64
|
async search(keyword, limit = 10) {
|
|
44
65
|
const fields = await this.getAll();
|
|
45
66
|
const lowerKeyword = keyword.toLowerCase();
|
|
46
|
-
const matches = fields.filter((f) => f.name.toLowerCase().includes(lowerKeyword) ||
|
|
47
|
-
f.id.toLowerCase().includes(lowerKeyword));
|
|
67
|
+
const matches = fields.filter((f) => f.name.toLowerCase().includes(lowerKeyword) || f.id.toLowerCase().includes(lowerKeyword));
|
|
48
68
|
return matches.slice(0, limit);
|
|
49
69
|
}
|
|
50
70
|
}
|
package/dist/api/fields.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../src/api/fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../src/api/fields.ts"],"names":[],"mappings":"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"}
|
package/dist/api/issues.d.ts
CHANGED
|
@@ -1,11 +1,36 @@
|
|
|
1
1
|
import { BaseApi } from './base.js';
|
|
2
2
|
import type { JiraIssue, JiraSearchResponse, JiraTransitionsResponse, SearchIssuesParams, GetIssueParams, GetTransitionsParams } from '../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Issue-related API methods
|
|
5
|
+
*/
|
|
3
6
|
export declare class IssuesApi extends BaseApi {
|
|
7
|
+
/**
|
|
8
|
+
* Search for issues using JQL (Jira Query Language).
|
|
9
|
+
* Supports pagination - use startAt and maxResults to page through results.
|
|
10
|
+
* Maximum 50 results per request on Jira DC.
|
|
11
|
+
*/
|
|
4
12
|
search(params: SearchIssuesParams): Promise<JiraSearchResponse<JiraIssue>>;
|
|
13
|
+
/**
|
|
14
|
+
* Search issues using POST (for long/complex JQL queries).
|
|
15
|
+
* Same as search but uses POST to avoid URL length limits.
|
|
16
|
+
*/
|
|
5
17
|
searchPost(params: SearchIssuesParams): Promise<JiraSearchResponse<JiraIssue>>;
|
|
18
|
+
/**
|
|
19
|
+
* Get a single issue by key or ID with full details
|
|
20
|
+
*/
|
|
6
21
|
get(params: GetIssueParams): Promise<JiraIssue>;
|
|
22
|
+
/**
|
|
23
|
+
* Get issue transitions (available status changes)
|
|
24
|
+
*/
|
|
7
25
|
getTransitions(params: GetTransitionsParams): Promise<JiraTransitionsResponse>;
|
|
26
|
+
/**
|
|
27
|
+
* Fetch all pages of search results (auto-pagination).
|
|
28
|
+
* Use with caution for large result sets.
|
|
29
|
+
*/
|
|
8
30
|
searchAll(params: Omit<SearchIssuesParams, 'startAt'>, maxTotal?: number): Promise<JiraIssue[]>;
|
|
31
|
+
/**
|
|
32
|
+
* Count issues matching a JQL query without fetching all data.
|
|
33
|
+
*/
|
|
9
34
|
count(jql: string): Promise<number>;
|
|
10
35
|
}
|
|
11
36
|
//# sourceMappingURL=issues.d.ts.map
|
package/dist/api/issues.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../src/api/issues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EACV,SAAS,EACT,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../src/api/issues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EACV,SAAS,EACT,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AA0B3B;;GAEG;AACH,qBAAa,SAAU,SAAQ,OAAO;IACpC;;;;OAIG;IACU,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAyBvF;;;OAGG;IACU,UAAU,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAuB3F;;OAEG;IACU,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC;IAqB5D;;OAEG;IACU,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAW3F;;;OAGG;IACU,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,EAAE,QAAQ,SAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAwB1G;;OAEG;IACU,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAQjD"}
|
package/dist/api/issues.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { BaseApi } from './base.js';
|
|
2
|
+
/**
|
|
3
|
+
* Default fields to request when searching issues
|
|
4
|
+
*/
|
|
2
5
|
const DEFAULT_ISSUE_FIELDS = [
|
|
3
6
|
'summary',
|
|
4
7
|
'status',
|
|
@@ -19,9 +22,17 @@ const DEFAULT_ISSUE_FIELDS = [
|
|
|
19
22
|
'parent',
|
|
20
23
|
'description',
|
|
21
24
|
];
|
|
25
|
+
/**
|
|
26
|
+
* Issue-related API methods
|
|
27
|
+
*/
|
|
22
28
|
export class IssuesApi extends BaseApi {
|
|
29
|
+
/**
|
|
30
|
+
* Search for issues using JQL (Jira Query Language).
|
|
31
|
+
* Supports pagination - use startAt and maxResults to page through results.
|
|
32
|
+
* Maximum 50 results per request on Jira DC.
|
|
33
|
+
*/
|
|
23
34
|
async search(params) {
|
|
24
|
-
const { jql, startAt = 0, maxResults = 50, fields, expand, validateQuery = true
|
|
35
|
+
const { jql, startAt = 0, maxResults = 50, fields, expand, validateQuery = true } = params;
|
|
25
36
|
let fieldsParam;
|
|
26
37
|
if (Array.isArray(fields)) {
|
|
27
38
|
fieldsParam = fields.join(',');
|
|
@@ -44,8 +55,12 @@ export class IssuesApi extends BaseApi {
|
|
|
44
55
|
});
|
|
45
56
|
return response.data;
|
|
46
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Search issues using POST (for long/complex JQL queries).
|
|
60
|
+
* Same as search but uses POST to avoid URL length limits.
|
|
61
|
+
*/
|
|
47
62
|
async searchPost(params) {
|
|
48
|
-
const { jql, startAt = 0, maxResults = 50, fields, expand, validateQuery = true
|
|
63
|
+
const { jql, startAt = 0, maxResults = 50, fields, expand, validateQuery = true } = params;
|
|
49
64
|
let fieldsArray;
|
|
50
65
|
if (Array.isArray(fields)) {
|
|
51
66
|
fieldsArray = fields;
|
|
@@ -66,6 +81,9 @@ export class IssuesApi extends BaseApi {
|
|
|
66
81
|
});
|
|
67
82
|
return response.data;
|
|
68
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* Get a single issue by key or ID with full details
|
|
86
|
+
*/
|
|
69
87
|
async get(params) {
|
|
70
88
|
const { issueKeyOrId, fields, expand, properties, updateHistory = true } = params;
|
|
71
89
|
let fieldsParam;
|
|
@@ -85,6 +103,9 @@ export class IssuesApi extends BaseApi {
|
|
|
85
103
|
});
|
|
86
104
|
return response.data;
|
|
87
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* Get issue transitions (available status changes)
|
|
108
|
+
*/
|
|
88
109
|
async getTransitions(params) {
|
|
89
110
|
const { issueKeyOrId, transitionId, expand } = params;
|
|
90
111
|
const response = await this.client.get(`/issue/${issueKeyOrId}/transitions`, {
|
|
@@ -95,6 +116,10 @@ export class IssuesApi extends BaseApi {
|
|
|
95
116
|
});
|
|
96
117
|
return response.data;
|
|
97
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* Fetch all pages of search results (auto-pagination).
|
|
121
|
+
* Use with caution for large result sets.
|
|
122
|
+
*/
|
|
98
123
|
async searchAll(params, maxTotal = 1000) {
|
|
99
124
|
const allIssues = [];
|
|
100
125
|
let startAt = 0;
|
|
@@ -113,6 +138,9 @@ export class IssuesApi extends BaseApi {
|
|
|
113
138
|
}
|
|
114
139
|
return allIssues;
|
|
115
140
|
}
|
|
141
|
+
/**
|
|
142
|
+
* Count issues matching a JQL query without fetching all data.
|
|
143
|
+
*/
|
|
116
144
|
async count(jql) {
|
|
117
145
|
const result = await this.search({
|
|
118
146
|
jql,
|
package/dist/api/issues.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issues.js","sourceRoot":"","sources":["../../src/api/issues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"issues.js","sourceRoot":"","sources":["../../src/api/issues.ts"],"names":[],"mappings":"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"}
|
package/dist/api/links.d.ts
CHANGED
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
import { BaseApi } from './base.js';
|
|
2
2
|
import type { JiraIssueLinkType } from '../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Issue link type API methods
|
|
5
|
+
*/
|
|
3
6
|
export declare class LinksApi extends BaseApi {
|
|
7
|
+
/**
|
|
8
|
+
* Get all available issue link types.
|
|
9
|
+
* Link types define relationships between issues (e.g., "blocks", "duplicates", "relates to").
|
|
10
|
+
*/
|
|
4
11
|
getTypes(): Promise<JiraIssueLinkType[]>;
|
|
12
|
+
/**
|
|
13
|
+
* Get a specific link type by ID
|
|
14
|
+
*/
|
|
5
15
|
getType(linkTypeId: string): Promise<JiraIssueLinkType>;
|
|
6
16
|
}
|
|
7
17
|
//# sourceMappingURL=links.d.ts.map
|
package/dist/api/links.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../src/api/links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAyB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../src/api/links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAyB,MAAM,mBAAmB,CAAC;AAElF;;GAEG;AACH,qBAAa,QAAS,SAAQ,OAAO;IACnC;;;OAGG;IACU,QAAQ,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAKrD;;OAEG;IACU,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAIrE"}
|
package/dist/api/links.js
CHANGED
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
import { BaseApi } from './base.js';
|
|
2
|
+
/**
|
|
3
|
+
* Issue link type API methods
|
|
4
|
+
*/
|
|
2
5
|
export class LinksApi extends BaseApi {
|
|
6
|
+
/**
|
|
7
|
+
* Get all available issue link types.
|
|
8
|
+
* Link types define relationships between issues (e.g., "blocks", "duplicates", "relates to").
|
|
9
|
+
*/
|
|
3
10
|
async getTypes() {
|
|
4
11
|
const response = await this.client.get('/issueLinkType');
|
|
5
12
|
return response.data.issueLinkTypes;
|
|
6
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Get a specific link type by ID
|
|
16
|
+
*/
|
|
7
17
|
async getType(linkTypeId) {
|
|
8
18
|
const response = await this.client.get(`/issueLinkType/${linkTypeId}`);
|
|
9
19
|
return response.data;
|
package/dist/api/links.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"links.js","sourceRoot":"","sources":["../../src/api/links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"links.js","sourceRoot":"","sources":["../../src/api/links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,OAAO;IACnC;;;OAGG;IACI,KAAK,CAAC,QAAQ;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAwB,gBAAgB,CAAC,CAAC;QAChF,OAAO,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC;IACtC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,OAAO,CAAC,UAAkB;QACrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAoB,kBAAkB,UAAU,EAAE,CAAC,CAAC;QAC1F,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CACF"}
|
package/dist/api/projects.d.ts
CHANGED
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
import { BaseApi } from './base.js';
|
|
2
2
|
import type { JiraProject, GetProjectsParams, GetProjectParams } from '../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Project-related API methods
|
|
5
|
+
*/
|
|
3
6
|
export declare class ProjectsApi extends BaseApi {
|
|
7
|
+
/**
|
|
8
|
+
* Get all projects visible to the authenticated user
|
|
9
|
+
*/
|
|
4
10
|
getAll(params?: GetProjectsParams): Promise<JiraProject[]>;
|
|
11
|
+
/**
|
|
12
|
+
* Get a specific project by key or ID
|
|
13
|
+
*/
|
|
5
14
|
get(params: GetProjectParams): Promise<JiraProject>;
|
|
6
15
|
}
|
|
7
16
|
//# sourceMappingURL=projects.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/api/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/api/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1F;;GAEG;AACH,qBAAa,WAAY,SAAQ,OAAO;IACtC;;OAEG;IACU,MAAM,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAUvE;;OAEG;IACU,GAAG,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;CAOjE"}
|
package/dist/api/projects.js
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { BaseApi } from './base.js';
|
|
2
|
+
/**
|
|
3
|
+
* Project-related API methods
|
|
4
|
+
*/
|
|
2
5
|
export class ProjectsApi extends BaseApi {
|
|
6
|
+
/**
|
|
7
|
+
* Get all projects visible to the authenticated user
|
|
8
|
+
*/
|
|
3
9
|
async getAll(params) {
|
|
4
10
|
const response = await this.client.get('/project', {
|
|
5
11
|
params: {
|
|
@@ -9,6 +15,9 @@ export class ProjectsApi extends BaseApi {
|
|
|
9
15
|
});
|
|
10
16
|
return response.data;
|
|
11
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Get a specific project by key or ID
|
|
20
|
+
*/
|
|
12
21
|
async get(params) {
|
|
13
22
|
const { projectKeyOrId, expand } = params;
|
|
14
23
|
const response = await this.client.get(`/project/${projectKeyOrId}`, {
|
package/dist/api/projects.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/api/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/api/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,OAAO;IACtC;;OAEG;IACI,KAAK,CAAC,MAAM,CAAC,MAA0B;QAC5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAgB,UAAU,EAAE;YAChE,MAAM,EAAE;gBACN,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChD,GAAG,CAAC,MAAM,EAAE,eAAe,IAAI,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC;aAC5E;SACF,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,GAAG,CAAC,MAAwB;QACvC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAc,YAAY,cAAc,EAAE,EAAE;YAChF,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;SACjC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CACF"}
|
package/dist/api/users.d.ts
CHANGED
|
@@ -1,8 +1,20 @@
|
|
|
1
1
|
import { BaseApi } from './base.js';
|
|
2
2
|
import type { JiraUser, GetMyselfParams, GetUserParams, SearchUsersParams } from '../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* User-related API methods
|
|
5
|
+
*/
|
|
3
6
|
export declare class UsersApi extends BaseApi {
|
|
7
|
+
/**
|
|
8
|
+
* Get the currently authenticated user
|
|
9
|
+
*/
|
|
4
10
|
getMyself(params?: GetMyselfParams): Promise<JiraUser>;
|
|
11
|
+
/**
|
|
12
|
+
* Get a user by username or key
|
|
13
|
+
*/
|
|
5
14
|
getUser(params: GetUserParams): Promise<JiraUser>;
|
|
15
|
+
/**
|
|
16
|
+
* Search for users by username pattern
|
|
17
|
+
*/
|
|
6
18
|
searchUsers(params: SearchUsersParams): Promise<JiraUser[]>;
|
|
7
19
|
}
|
|
8
20
|
//# sourceMappingURL=users.d.ts.map
|
package/dist/api/users.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/api/users.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/api/users.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAErG;;GAEG;AACH,qBAAa,QAAS,SAAQ,OAAO;IACnC;;OAEG;IACU,SAAS,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IAOnE;;OAEG;IACU,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;IAY9D;;OAEG;IACU,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CAczE"}
|
package/dist/api/users.js
CHANGED
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
import { BaseApi } from './base.js';
|
|
2
|
+
/**
|
|
3
|
+
* User-related API methods
|
|
4
|
+
*/
|
|
2
5
|
export class UsersApi extends BaseApi {
|
|
6
|
+
/**
|
|
7
|
+
* Get the currently authenticated user
|
|
8
|
+
*/
|
|
3
9
|
async getMyself(params) {
|
|
4
10
|
const response = await this.client.get('/myself', {
|
|
5
11
|
params: params?.expand ? { expand: params.expand } : {},
|
|
6
12
|
});
|
|
7
13
|
return response.data;
|
|
8
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Get a user by username or key
|
|
17
|
+
*/
|
|
9
18
|
async getUser(params) {
|
|
10
19
|
const { username, key, expand } = params;
|
|
11
20
|
const response = await this.client.get('/user', {
|
|
@@ -17,8 +26,11 @@ export class UsersApi extends BaseApi {
|
|
|
17
26
|
});
|
|
18
27
|
return response.data;
|
|
19
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Search for users by username pattern
|
|
31
|
+
*/
|
|
20
32
|
async searchUsers(params) {
|
|
21
|
-
const { username, startAt = 0, maxResults = 50, includeActive = true, includeInactive = false
|
|
33
|
+
const { username, startAt = 0, maxResults = 50, includeActive = true, includeInactive = false } = params;
|
|
22
34
|
const response = await this.client.get('/user/search', {
|
|
23
35
|
params: {
|
|
24
36
|
username,
|
package/dist/api/users.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/api/users.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/api/users.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,OAAO;IACnC;;OAEG;IACI,KAAK,CAAC,SAAS,CAAC,MAAwB;QAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAW,SAAS,EAAE;YAC1D,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;SACxD,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,OAAO,CAAC,MAAqB;QACxC,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAW,OAAO,EAAE;YACxD,MAAM,EAAE;gBACN,GAAG,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC;gBAC7B,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC;gBACnB,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC;aAC1B;SACF,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW,CAAC,MAAyB;QAChD,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,CAAC,EAAE,UAAU,GAAG,EAAE,EAAE,aAAa,GAAG,IAAI,EAAE,eAAe,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;QAEzG,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAa,cAAc,EAAE;YACjE,MAAM,EAAE;gBACN,QAAQ;gBACR,OAAO;gBACP,UAAU;gBACV,aAAa;gBACb,eAAe;aAChB;SACF,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;CACF"}
|