@gh-symphony/cli 0.2.3 → 0.2.4
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/{chunk-AA3T5AAJ.js → chunk-7Z7WYGDL.js} +1 -1
- package/dist/{chunk-ZGNAAHLD.js → chunk-NRABQNAX.js} +55 -20
- package/dist/{doctor-GIJAH7MA.js → doctor-MD4MD6SZ.js} +2 -2
- package/dist/index.js +5 -5
- package/dist/{repo-LNO3Q3O7.js → repo-CK2IDMZF.js} +1 -1
- package/dist/{upgrade-K2PNQNWE.js → upgrade-2WPPOUZL.js} +2 -2
- package/dist/{version-E45DDQPQ.js → version-Z2T42H5M.js} +1 -1
- package/dist/{workflow-ZPERNZJT.js → workflow-7Y6GTV2C.js} +2 -2
- package/package.json +4 -4
|
@@ -1810,18 +1810,14 @@ var LINEAR_ISSUES_BY_STATES_QUERY = (
|
|
|
1810
1810
|
/* GraphQL */
|
|
1811
1811
|
`
|
|
1812
1812
|
query SymphonyLinearIssues(
|
|
1813
|
-
$
|
|
1814
|
-
$stateNames: [String!]!
|
|
1813
|
+
$filter: IssueFilter!
|
|
1815
1814
|
$first: Int!
|
|
1816
1815
|
$after: String
|
|
1817
1816
|
) {
|
|
1818
1817
|
issues(
|
|
1819
1818
|
first: $first
|
|
1820
1819
|
after: $after
|
|
1821
|
-
filter:
|
|
1822
|
-
project: { slugId: { eq: $projectSlug } }
|
|
1823
|
-
state: { name: { in: $stateNames } }
|
|
1824
|
-
}
|
|
1820
|
+
filter: $filter
|
|
1825
1821
|
) {
|
|
1826
1822
|
${LINEAR_ISSUE_FIELDS}
|
|
1827
1823
|
}
|
|
@@ -1832,18 +1828,14 @@ var LINEAR_ISSUES_BY_IDS_QUERY = (
|
|
|
1832
1828
|
/* GraphQL */
|
|
1833
1829
|
`
|
|
1834
1830
|
query SymphonyLinearIssueStates(
|
|
1835
|
-
$
|
|
1836
|
-
$issueIds: [ID!]!
|
|
1831
|
+
$filter: IssueFilter!
|
|
1837
1832
|
$first: Int!
|
|
1838
1833
|
$after: String
|
|
1839
1834
|
) {
|
|
1840
1835
|
issues(
|
|
1841
1836
|
first: $first
|
|
1842
1837
|
after: $after
|
|
1843
|
-
filter:
|
|
1844
|
-
project: { slugId: { eq: $projectSlug } }
|
|
1845
|
-
id: { in: $issueIds }
|
|
1846
|
-
}
|
|
1838
|
+
filter: $filter
|
|
1847
1839
|
) {
|
|
1848
1840
|
${LINEAR_ISSUE_FIELDS}
|
|
1849
1841
|
}
|
|
@@ -1854,18 +1846,14 @@ var LINEAR_ISSUES_BY_IDENTIFIERS_QUERY = (
|
|
|
1854
1846
|
/* GraphQL */
|
|
1855
1847
|
`
|
|
1856
1848
|
query SymphonyLinearIssueStatesByIdentifier(
|
|
1857
|
-
$
|
|
1858
|
-
$issueIdentifiers: [String!]!
|
|
1849
|
+
$filter: IssueFilter!
|
|
1859
1850
|
$first: Int!
|
|
1860
1851
|
$after: String
|
|
1861
1852
|
) {
|
|
1862
1853
|
issues(
|
|
1863
1854
|
first: $first
|
|
1864
1855
|
after: $after
|
|
1865
|
-
filter:
|
|
1866
|
-
project: { slugId: { eq: $projectSlug } }
|
|
1867
|
-
identifier: { in: $issueIdentifiers }
|
|
1868
|
-
}
|
|
1856
|
+
filter: $filter
|
|
1869
1857
|
) {
|
|
1870
1858
|
${LINEAR_ISSUE_FIELDS}
|
|
1871
1859
|
}
|
|
@@ -1940,6 +1928,7 @@ async function listLinearIssues(project, stateNamesInput, dependencies, issueIds
|
|
|
1940
1928
|
stateNames,
|
|
1941
1929
|
issueIds: issueIds && !issueIds.every(isLinearIdentifier) ? [...issueIds] : void 0,
|
|
1942
1930
|
issueIdentifiers: issueIds && issueIds.every(isLinearIdentifier) ? issueIds.map((identifier) => identifier.trim().toUpperCase()) : void 0,
|
|
1931
|
+
assignedOnly: config.assignedOnly,
|
|
1943
1932
|
pageSize: config.pageSize
|
|
1944
1933
|
});
|
|
1945
1934
|
const issues = result.nodes.map(
|
|
@@ -1951,6 +1940,12 @@ async function listLinearIssues(project, stateNamesInput, dependencies, issueIds
|
|
|
1951
1940
|
value: result.rateLimits,
|
|
1952
1941
|
writable: true
|
|
1953
1942
|
});
|
|
1943
|
+
if (config.assignedOnly) {
|
|
1944
|
+
emitAssignedOnlyFilterEvent2({
|
|
1945
|
+
projectSlug: config.projectSlug,
|
|
1946
|
+
includedCount: issues.length
|
|
1947
|
+
});
|
|
1948
|
+
}
|
|
1954
1949
|
return issues;
|
|
1955
1950
|
}
|
|
1956
1951
|
async function fetchPaginatedLinearIssues(client, input) {
|
|
@@ -1960,8 +1955,7 @@ async function fetchPaginatedLinearIssues(client, input) {
|
|
|
1960
1955
|
do {
|
|
1961
1956
|
const query = input.issueIdentifiers ? LINEAR_ISSUES_BY_IDENTIFIERS_QUERY : input.issueIds ? LINEAR_ISSUES_BY_IDS_QUERY : LINEAR_ISSUES_BY_STATES_QUERY;
|
|
1962
1957
|
const response = await client(query, {
|
|
1963
|
-
|
|
1964
|
-
...input.issueIdentifiers ? { issueIdentifiers: input.issueIdentifiers } : input.issueIds ? { issueIds: input.issueIds } : { stateNames: input.stateNames ?? [] },
|
|
1958
|
+
filter: buildLinearIssueFilter(input),
|
|
1965
1959
|
first: input.pageSize,
|
|
1966
1960
|
after
|
|
1967
1961
|
});
|
|
@@ -1975,6 +1969,13 @@ async function fetchPaginatedLinearIssues(client, input) {
|
|
|
1975
1969
|
rateLimits: latestRateLimits
|
|
1976
1970
|
};
|
|
1977
1971
|
}
|
|
1972
|
+
function buildLinearIssueFilter(input) {
|
|
1973
|
+
return {
|
|
1974
|
+
project: { slugId: { eq: input.projectSlug } },
|
|
1975
|
+
...input.issueIdentifiers ? { identifier: { in: input.issueIdentifiers } } : input.issueIds ? { id: { in: input.issueIds } } : { state: { name: { in: input.stateNames ?? [] } } },
|
|
1976
|
+
...input.assignedOnly ? { assignee: { isMe: { eq: true } } } : {}
|
|
1977
|
+
};
|
|
1978
|
+
}
|
|
1978
1979
|
function isLinearIdentifier(value) {
|
|
1979
1980
|
const trimmed = value.trim();
|
|
1980
1981
|
return trimmed === trimmed.toUpperCase() && LINEAR_IDENTIFIER_PATTERN.test(trimmed);
|
|
@@ -2097,11 +2098,29 @@ function resolveLinearTrackerConfig(project, dependencies) {
|
|
|
2097
2098
|
}
|
|
2098
2099
|
return {
|
|
2099
2100
|
endpoint: resolveLinearEndpoint(project.tracker),
|
|
2101
|
+
assignedOnly: resolveAssignedOnly2(project.tracker, dependencies),
|
|
2100
2102
|
pageSize: readPositiveIntegerSetting(project.tracker, "pageSize") ?? DEFAULT_PAGE_SIZE2,
|
|
2101
2103
|
projectSlug,
|
|
2102
2104
|
token
|
|
2103
2105
|
};
|
|
2104
2106
|
}
|
|
2107
|
+
var warnedLegacyAssignedOnlyProjectIds2 = /* @__PURE__ */ new Set();
|
|
2108
|
+
function resolveAssignedOnly2(tracker, dependencies) {
|
|
2109
|
+
if (dependencies.assignedOnly !== void 0) {
|
|
2110
|
+
return dependencies.assignedOnly;
|
|
2111
|
+
}
|
|
2112
|
+
const legacyAssignedOnly = readBooleanSetting(tracker, "assignedOnly");
|
|
2113
|
+
if (legacyAssignedOnly) {
|
|
2114
|
+
const warningKey = `${tracker.adapter}:${tracker.bindingId}`;
|
|
2115
|
+
if (!warnedLegacyAssignedOnlyProjectIds2.has(warningKey)) {
|
|
2116
|
+
warnedLegacyAssignedOnlyProjectIds2.add(warningKey);
|
|
2117
|
+
console.warn(
|
|
2118
|
+
"[gh-symphony] Deprecated tracker.settings.assignedOnly detected. Use 'gh-symphony repo start --assigned-only' instead; persisted assignedOnly support will be removed in the next major release."
|
|
2119
|
+
);
|
|
2120
|
+
}
|
|
2121
|
+
}
|
|
2122
|
+
return legacyAssignedOnly;
|
|
2123
|
+
}
|
|
2105
2124
|
function resolveLinearEndpoint(tracker) {
|
|
2106
2125
|
return tracker.apiUrl?.trim() || DEFAULT_LINEAR_GRAPHQL_URL2;
|
|
2107
2126
|
}
|
|
@@ -2132,6 +2151,10 @@ function readPositiveIntegerSetting(tracker, key) {
|
|
|
2132
2151
|
`Tracker adapter "${tracker.adapter}" requires the "${key}" setting to be a positive integer when provided.`
|
|
2133
2152
|
);
|
|
2134
2153
|
}
|
|
2154
|
+
function readBooleanSetting(tracker, key) {
|
|
2155
|
+
const value = tracker.settings?.[key];
|
|
2156
|
+
return value === true || value === "true";
|
|
2157
|
+
}
|
|
2135
2158
|
function readStringArray(value) {
|
|
2136
2159
|
if (value === void 0) {
|
|
2137
2160
|
return void 0;
|
|
@@ -2144,6 +2167,18 @@ function readStringArray(value) {
|
|
|
2144
2167
|
}
|
|
2145
2168
|
return value.filter((entry) => typeof entry === "string");
|
|
2146
2169
|
}
|
|
2170
|
+
function emitAssignedOnlyFilterEvent2(input) {
|
|
2171
|
+
console.info(
|
|
2172
|
+
JSON.stringify({
|
|
2173
|
+
event: "tracker-assigned-only-filtered",
|
|
2174
|
+
tracker: "linear",
|
|
2175
|
+
projectSlug: input.projectSlug,
|
|
2176
|
+
assigneeFilter: "isMe",
|
|
2177
|
+
includedCount: input.includedCount,
|
|
2178
|
+
excludedCount: null
|
|
2179
|
+
})
|
|
2180
|
+
);
|
|
2181
|
+
}
|
|
2147
2182
|
function requireString(value, label) {
|
|
2148
2183
|
if (typeof value !== "string" || value.length === 0) {
|
|
2149
2184
|
throw new Error(`${label} is required.`);
|
|
@@ -5,13 +5,13 @@ import {
|
|
|
5
5
|
parseIssueReference,
|
|
6
6
|
readGitHubProjectBinding,
|
|
7
7
|
renderIssueWorkflowPreview
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-7Z7WYGDL.js";
|
|
9
9
|
import "./chunk-PLBG7TZA.js";
|
|
10
10
|
import {
|
|
11
11
|
fetchGithubProjectIssueByRepositoryAndNumber,
|
|
12
12
|
fetchGithubProjectIssues,
|
|
13
13
|
inspectManagedProjectSelection
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-NRABQNAX.js";
|
|
15
15
|
import "./chunk-FAU72YC2.js";
|
|
16
16
|
import {
|
|
17
17
|
resolveRuntimeRoot
|
package/dist/index.js
CHANGED
|
@@ -417,13 +417,13 @@ function createRemovedCommandHandler(message) {
|
|
|
417
417
|
|
|
418
418
|
// src/index.ts
|
|
419
419
|
var COMMANDS = {
|
|
420
|
-
workflow: () => import("./workflow-
|
|
420
|
+
workflow: () => import("./workflow-7Y6GTV2C.js"),
|
|
421
421
|
setup: () => import("./setup-KZ3U53PY.js"),
|
|
422
|
-
doctor: () => import("./doctor-
|
|
423
|
-
upgrade: () => import("./upgrade-
|
|
424
|
-
repo: () => import("./repo-
|
|
422
|
+
doctor: () => import("./doctor-MD4MD6SZ.js"),
|
|
423
|
+
upgrade: () => import("./upgrade-2WPPOUZL.js"),
|
|
424
|
+
repo: () => import("./repo-CK2IDMZF.js"),
|
|
425
425
|
config: () => import("./config-cmd-AOZVS6GU.js"),
|
|
426
|
-
version: () => import("./version-
|
|
426
|
+
version: () => import("./version-Z2T42H5M.js")
|
|
427
427
|
};
|
|
428
428
|
function addGlobalOptions(command) {
|
|
429
429
|
return command.option("--config <dir>", "Config directory").addOption(new Option("--config-dir <dir>").hideHelp()).option("-v, --verbose", "Enable verbose output").option("--json", "Output in JSON format").option("--no-color", "Disable color output");
|
|
@@ -16,8 +16,8 @@ function execFileAsync(file, args, execFileImpl = execFileCallback) {
|
|
|
16
16
|
});
|
|
17
17
|
}
|
|
18
18
|
function resolveCurrentCliVersion() {
|
|
19
|
-
if ("0.2.
|
|
20
|
-
return "0.2.
|
|
19
|
+
if ("0.2.4".length > 0) {
|
|
20
|
+
return "0.2.4";
|
|
21
21
|
}
|
|
22
22
|
const pkg = JSON.parse(
|
|
23
23
|
readFileSync(new URL("../../package.json", import.meta.url), "utf8")
|
|
@@ -6,9 +6,9 @@ import {
|
|
|
6
6
|
resetWorkflowCommandDependenciesForTest,
|
|
7
7
|
setWorkflowCommandDependenciesForTest,
|
|
8
8
|
workflow_default
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-7Z7WYGDL.js";
|
|
10
10
|
import "./chunk-PLBG7TZA.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-NRABQNAX.js";
|
|
12
12
|
import "./chunk-FAU72YC2.js";
|
|
13
13
|
import "./chunk-BOM2BYZQ.js";
|
|
14
14
|
import "./chunk-3SKN5L3I.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gh-symphony/cli",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "hojinzs",
|
|
6
6
|
"description": "Interactive CLI for GitHub Symphony orchestration",
|
|
@@ -41,13 +41,13 @@
|
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"tsup": "^8.5.1",
|
|
44
|
+
"@gh-symphony/control-plane": "0.0.15",
|
|
44
45
|
"@gh-symphony/core": "0.0.14",
|
|
45
|
-
"@gh-symphony/dashboard": "0.0.14",
|
|
46
46
|
"@gh-symphony/orchestrator": "0.0.14",
|
|
47
|
+
"@gh-symphony/dashboard": "0.0.14",
|
|
47
48
|
"@gh-symphony/runtime-claude": "0.0.14",
|
|
48
49
|
"@gh-symphony/worker": "0.0.14",
|
|
49
|
-
"@gh-symphony/tracker-github": "0.0.14"
|
|
50
|
-
"@gh-symphony/control-plane": "0.0.15"
|
|
50
|
+
"@gh-symphony/tracker-github": "0.0.14"
|
|
51
51
|
},
|
|
52
52
|
"scripts": {
|
|
53
53
|
"build": "tsup",
|