@gh-symphony/cli 0.2.2 → 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.
@@ -6,7 +6,7 @@ import {
6
6
  fetchGithubProjectIssueByRepositoryAndNumber,
7
7
  inspectManagedProjectSelection,
8
8
  resolveTrackerAdapter
9
- } from "./chunk-X4QSP3AX.js";
9
+ } from "./chunk-NRABQNAX.js";
10
10
  import {
11
11
  GitHubApiError,
12
12
  createClient,
@@ -68,9 +68,6 @@ async function initRepoRuntime(flags) {
68
68
  ...trackerAdapter === "linear" ? { activeStates: workflow.tracker.activeStates.join("\n") } : {},
69
69
  repository: `${repository.owner}/${repository.name}`
70
70
  };
71
- if (flags.assignedOnly) {
72
- trackerSettings.assignedOnly = true;
73
- }
74
71
  if (workflow.tracker.priorityFieldName) {
75
72
  trackerSettings.priorityFieldName = workflow.tracker.priorityFieldName;
76
73
  }
@@ -1545,11 +1545,12 @@ function resolveGitHubTrackerConfig(project, dependencies = {}) {
1545
1545
  );
1546
1546
  }
1547
1547
  const githubProjectId = requireTrackerSetting(project.tracker, "projectId");
1548
+ const assignedOnly = resolveAssignedOnly(project.tracker, dependencies);
1548
1549
  return {
1549
1550
  projectId: githubProjectId,
1550
1551
  token,
1551
1552
  apiUrl: project.tracker.apiUrl,
1552
- assignedOnly: readBooleanTrackerSetting(project.tracker, "assignedOnly"),
1553
+ assignedOnly,
1553
1554
  priority: project.tracker.priority ?? null,
1554
1555
  priorityFieldName: readOptionalStringTrackerSetting(
1555
1556
  project.tracker,
@@ -1558,6 +1559,26 @@ function resolveGitHubTrackerConfig(project, dependencies = {}) {
1558
1559
  timeoutMs: readNumberTrackerSetting(project.tracker, "timeoutMs")
1559
1560
  };
1560
1561
  }
1562
+ var warnedLegacyAssignedOnlyProjectIds = /* @__PURE__ */ new Set();
1563
+ function resolveAssignedOnly(tracker, dependencies) {
1564
+ if (dependencies.assignedOnly !== void 0) {
1565
+ return dependencies.assignedOnly;
1566
+ }
1567
+ const legacyAssignedOnly = readBooleanTrackerSetting(
1568
+ tracker,
1569
+ "assignedOnly"
1570
+ );
1571
+ if (legacyAssignedOnly) {
1572
+ const warningKey = `${tracker.adapter}:${tracker.bindingId}`;
1573
+ if (!warnedLegacyAssignedOnlyProjectIds.has(warningKey)) {
1574
+ warnedLegacyAssignedOnlyProjectIds.add(warningKey);
1575
+ console.warn(
1576
+ "[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."
1577
+ );
1578
+ }
1579
+ }
1580
+ return legacyAssignedOnly;
1581
+ }
1561
1582
  function buildProjectItemsCacheKey(config, _dependencies) {
1562
1583
  return JSON.stringify({
1563
1584
  adapter: "github-project",
@@ -1789,18 +1810,14 @@ var LINEAR_ISSUES_BY_STATES_QUERY = (
1789
1810
  /* GraphQL */
1790
1811
  `
1791
1812
  query SymphonyLinearIssues(
1792
- $projectSlug: String!
1793
- $stateNames: [String!]!
1813
+ $filter: IssueFilter!
1794
1814
  $first: Int!
1795
1815
  $after: String
1796
1816
  ) {
1797
1817
  issues(
1798
1818
  first: $first
1799
1819
  after: $after
1800
- filter: {
1801
- project: { slugId: { eq: $projectSlug } }
1802
- state: { name: { in: $stateNames } }
1803
- }
1820
+ filter: $filter
1804
1821
  ) {
1805
1822
  ${LINEAR_ISSUE_FIELDS}
1806
1823
  }
@@ -1811,18 +1828,14 @@ var LINEAR_ISSUES_BY_IDS_QUERY = (
1811
1828
  /* GraphQL */
1812
1829
  `
1813
1830
  query SymphonyLinearIssueStates(
1814
- $projectSlug: String!
1815
- $issueIds: [ID!]!
1831
+ $filter: IssueFilter!
1816
1832
  $first: Int!
1817
1833
  $after: String
1818
1834
  ) {
1819
1835
  issues(
1820
1836
  first: $first
1821
1837
  after: $after
1822
- filter: {
1823
- project: { slugId: { eq: $projectSlug } }
1824
- id: { in: $issueIds }
1825
- }
1838
+ filter: $filter
1826
1839
  ) {
1827
1840
  ${LINEAR_ISSUE_FIELDS}
1828
1841
  }
@@ -1833,18 +1846,14 @@ var LINEAR_ISSUES_BY_IDENTIFIERS_QUERY = (
1833
1846
  /* GraphQL */
1834
1847
  `
1835
1848
  query SymphonyLinearIssueStatesByIdentifier(
1836
- $projectSlug: String!
1837
- $issueIdentifiers: [String!]!
1849
+ $filter: IssueFilter!
1838
1850
  $first: Int!
1839
1851
  $after: String
1840
1852
  ) {
1841
1853
  issues(
1842
1854
  first: $first
1843
1855
  after: $after
1844
- filter: {
1845
- project: { slugId: { eq: $projectSlug } }
1846
- identifier: { in: $issueIdentifiers }
1847
- }
1856
+ filter: $filter
1848
1857
  ) {
1849
1858
  ${LINEAR_ISSUE_FIELDS}
1850
1859
  }
@@ -1919,6 +1928,7 @@ async function listLinearIssues(project, stateNamesInput, dependencies, issueIds
1919
1928
  stateNames,
1920
1929
  issueIds: issueIds && !issueIds.every(isLinearIdentifier) ? [...issueIds] : void 0,
1921
1930
  issueIdentifiers: issueIds && issueIds.every(isLinearIdentifier) ? issueIds.map((identifier) => identifier.trim().toUpperCase()) : void 0,
1931
+ assignedOnly: config.assignedOnly,
1922
1932
  pageSize: config.pageSize
1923
1933
  });
1924
1934
  const issues = result.nodes.map(
@@ -1930,6 +1940,12 @@ async function listLinearIssues(project, stateNamesInput, dependencies, issueIds
1930
1940
  value: result.rateLimits,
1931
1941
  writable: true
1932
1942
  });
1943
+ if (config.assignedOnly) {
1944
+ emitAssignedOnlyFilterEvent2({
1945
+ projectSlug: config.projectSlug,
1946
+ includedCount: issues.length
1947
+ });
1948
+ }
1933
1949
  return issues;
1934
1950
  }
1935
1951
  async function fetchPaginatedLinearIssues(client, input) {
@@ -1939,8 +1955,7 @@ async function fetchPaginatedLinearIssues(client, input) {
1939
1955
  do {
1940
1956
  const query = input.issueIdentifiers ? LINEAR_ISSUES_BY_IDENTIFIERS_QUERY : input.issueIds ? LINEAR_ISSUES_BY_IDS_QUERY : LINEAR_ISSUES_BY_STATES_QUERY;
1941
1957
  const response = await client(query, {
1942
- projectSlug: input.projectSlug,
1943
- ...input.issueIdentifiers ? { issueIdentifiers: input.issueIdentifiers } : input.issueIds ? { issueIds: input.issueIds } : { stateNames: input.stateNames ?? [] },
1958
+ filter: buildLinearIssueFilter(input),
1944
1959
  first: input.pageSize,
1945
1960
  after
1946
1961
  });
@@ -1954,6 +1969,13 @@ async function fetchPaginatedLinearIssues(client, input) {
1954
1969
  rateLimits: latestRateLimits
1955
1970
  };
1956
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
+ }
1957
1979
  function isLinearIdentifier(value) {
1958
1980
  const trimmed = value.trim();
1959
1981
  return trimmed === trimmed.toUpperCase() && LINEAR_IDENTIFIER_PATTERN.test(trimmed);
@@ -2076,11 +2098,29 @@ function resolveLinearTrackerConfig(project, dependencies) {
2076
2098
  }
2077
2099
  return {
2078
2100
  endpoint: resolveLinearEndpoint(project.tracker),
2101
+ assignedOnly: resolveAssignedOnly2(project.tracker, dependencies),
2079
2102
  pageSize: readPositiveIntegerSetting(project.tracker, "pageSize") ?? DEFAULT_PAGE_SIZE2,
2080
2103
  projectSlug,
2081
2104
  token
2082
2105
  };
2083
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
+ }
2084
2124
  function resolveLinearEndpoint(tracker) {
2085
2125
  return tracker.apiUrl?.trim() || DEFAULT_LINEAR_GRAPHQL_URL2;
2086
2126
  }
@@ -2111,6 +2151,10 @@ function readPositiveIntegerSetting(tracker, key) {
2111
2151
  `Tracker adapter "${tracker.adapter}" requires the "${key}" setting to be a positive integer when provided.`
2112
2152
  );
2113
2153
  }
2154
+ function readBooleanSetting(tracker, key) {
2155
+ const value = tracker.settings?.[key];
2156
+ return value === true || value === "true";
2157
+ }
2114
2158
  function readStringArray(value) {
2115
2159
  if (value === void 0) {
2116
2160
  return void 0;
@@ -2123,6 +2167,18 @@ function readStringArray(value) {
2123
2167
  }
2124
2168
  return value.filter((entry) => typeof entry === "string");
2125
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
+ }
2126
2182
  function requireString(value, label) {
2127
2183
  if (typeof value !== "string" || value.length === 0) {
2128
2184
  throw new Error(`${label} is required.`);
@@ -4053,6 +4109,7 @@ var OrchestratorService = class {
4053
4109
  }
4054
4110
  createTrackerDependencies() {
4055
4111
  return {
4112
+ assignedOnly: this.dependencies.assignedOnly,
4056
4113
  fetchImpl: this.dependencies.fetchImpl,
4057
4114
  projectItemsCache: createProjectItemsCache()
4058
4115
  };
@@ -5,13 +5,13 @@ import {
5
5
  parseIssueReference,
6
6
  readGitHubProjectBinding,
7
7
  renderIssueWorkflowPreview
8
- } from "./chunk-27UZ6KX2.js";
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-X4QSP3AX.js";
14
+ } from "./chunk-NRABQNAX.js";
15
15
  import "./chunk-FAU72YC2.js";
16
16
  import {
17
17
  resolveRuntimeRoot
package/dist/index.js CHANGED
@@ -60,7 +60,6 @@ var COMMAND_OPTIONS = {
60
60
  "workflow:preview": ["--file", "--sample", "--attempt", ...GLOBAL_OPTIONS],
61
61
  setup: [
62
62
  "--non-interactive",
63
- "--assigned-only",
64
63
  "--output",
65
64
  "--skip-skills",
66
65
  "--skip-context",
@@ -77,7 +76,7 @@ var COMMAND_OPTIONS = {
77
76
  upgrade: [...GLOBAL_OPTIONS],
78
77
  repo: ["init", "start", "status", "stop", "run", "recover", "logs", "explain"],
79
78
  "repo:init": ["--repo-dir", "--workflow-file", ...GLOBAL_OPTIONS],
80
- "repo:start": ["--daemon", "-d", "--once", "--http", "--web", "--log-level", ...GLOBAL_OPTIONS],
79
+ "repo:start": ["--daemon", "-d", "--once", "--assigned-only", "--http", "--web", "--log-level", ...GLOBAL_OPTIONS],
81
80
  "repo:status": ["--watch", "-w", ...GLOBAL_OPTIONS],
82
81
  "repo:stop": ["--force", ...GLOBAL_OPTIONS],
83
82
  "repo:run": ["--watch", ...GLOBAL_OPTIONS],
@@ -234,7 +233,7 @@ ${bashFunction}complete -F _gh_symphony_completion gh-symphony
234
233
  }
235
234
 
236
235
  // src/commands/help.ts
237
- var DESCRIPTION_COLUMN = 23;
236
+ var DESCRIPTION_COLUMN = 30;
238
237
  var COMMAND_COLUMN_WIDTH = DESCRIPTION_COLUMN - 2;
239
238
  var HELP_SECTIONS = [
240
239
  {
@@ -289,6 +288,10 @@ var HELP_SECTIONS = [
289
288
  name: "repo start --daemon",
290
289
  description: "Start the orchestrator in the background"
291
290
  },
291
+ {
292
+ name: "repo start --assigned-only",
293
+ description: "Process only issues assigned to the authenticated user"
294
+ },
292
295
  {
293
296
  name: "repo stop",
294
297
  description: "Stop the background orchestrator"
@@ -414,13 +417,13 @@ function createRemovedCommandHandler(message) {
414
417
 
415
418
  // src/index.ts
416
419
  var COMMANDS = {
417
- workflow: () => import("./workflow-2ERPNGRB.js"),
418
- setup: () => import("./setup-XNOSJ3RX.js"),
419
- doctor: () => import("./doctor-GDZSGJIT.js"),
420
- upgrade: () => import("./upgrade-ZWUAJLHK.js"),
421
- repo: () => import("./repo-SWEUWY4H.js"),
420
+ workflow: () => import("./workflow-7Y6GTV2C.js"),
421
+ setup: () => import("./setup-KZ3U53PY.js"),
422
+ doctor: () => import("./doctor-MD4MD6SZ.js"),
423
+ upgrade: () => import("./upgrade-2WPPOUZL.js"),
424
+ repo: () => import("./repo-CK2IDMZF.js"),
422
425
  config: () => import("./config-cmd-AOZVS6GU.js"),
423
- version: () => import("./version-PLQK6X2P.js")
426
+ version: () => import("./version-Z2T42H5M.js")
424
427
  };
425
428
  function addGlobalOptions(command) {
426
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");
@@ -562,13 +565,12 @@ function createProgram() {
562
565
  await invokeHandler("workflow", args, values);
563
566
  });
564
567
  addGlobalOptions(
565
- program.command("setup").description("Run the one-command first-run setup flow").option("--non-interactive", "Run without prompts").option("--assigned-only", "Limit processing to assigned issues").option("--output <path>", "Write WORKFLOW.md to a custom path").option("--skip-skills", "Skip runtime skill generation").option("--skip-context", "Skip .gh-symphony/context.yaml generation").allowExcessArguments(false)
568
+ program.command("setup").description("Run the one-command first-run setup flow").option("--non-interactive", "Run without prompts").option("--output <path>", "Write WORKFLOW.md to a custom path").option("--skip-skills", "Skip runtime skill generation").option("--skip-context", "Skip .gh-symphony/context.yaml generation").allowExcessArguments(false)
566
569
  ).action(async function() {
567
570
  markInvoked();
568
571
  const values = this.optsWithGlobals();
569
572
  const args = [];
570
573
  pushOption(args, "--non-interactive", values.nonInteractive);
571
- pushOption(args, "--assigned-only", values.assignedOnly);
572
574
  pushOption(args, "--output", values.output);
573
575
  pushOption(args, "--skip-skills", values.skipSkills);
574
576
  pushOption(args, "--skip-context", values.skipContext);
@@ -700,7 +702,7 @@ function createProgram() {
700
702
  await invokeHandler("repo", args, values);
701
703
  });
702
704
  addGlobalOptions(
703
- repo.command("start").description("Start the orchestrator for the current repository").option("-d, --daemon", "Start in daemon mode").option("--once", "Run a single orchestration tick and exit").option(
705
+ repo.command("start").description("Start the orchestrator for the current repository").option("-d, --daemon", "Start in daemon mode").option("--once", "Run a single orchestration tick and exit").option("--assigned-only", "Limit this run to assigned issues").option(
704
706
  "--http [port]",
705
707
  "Expose dashboard and refresh endpoints over HTTP"
706
708
  ).option(
@@ -713,6 +715,7 @@ function createProgram() {
713
715
  const args = ["start", ...this.args];
714
716
  pushOption(args, "--daemon", values.daemon);
715
717
  pushOption(args, "--once", values.once);
718
+ pushOption(args, "--assigned-only", values.assignedOnly);
716
719
  pushOption(args, "--http", values.http);
717
720
  pushOption(args, "--web", values.web);
718
721
  pushOption(args, "--log-level", values.logLevel);
@@ -17,7 +17,7 @@ import {
17
17
  import {
18
18
  initRepoRuntime,
19
19
  parseRepoRuntimeFlags
20
- } from "./chunk-6PFFGP7S.js";
20
+ } from "./chunk-DLZ2XHWY.js";
21
21
  import {
22
22
  OrchestratorService,
23
23
  acquireProjectLock,
@@ -33,7 +33,7 @@ import {
33
33
  resolveOrchestratorLogLevel,
34
34
  resolveTrackerAdapter,
35
35
  runCli
36
- } from "./chunk-X4QSP3AX.js";
36
+ } from "./chunk-NRABQNAX.js";
37
37
  import "./chunk-FAU72YC2.js";
38
38
  import {
39
39
  resolveRepoRuntimeRoot,
@@ -1454,6 +1454,10 @@ function parseStartArgs(args) {
1454
1454
  parsed.once = true;
1455
1455
  continue;
1456
1456
  }
1457
+ if (arg === "--assigned-only") {
1458
+ parsed.assignedOnly = true;
1459
+ continue;
1460
+ }
1457
1461
  if (arg === "--http") {
1458
1462
  const value = args[i + 1];
1459
1463
  if (!value || value.startsWith("-")) {
@@ -1716,7 +1720,7 @@ var handler5 = async (args, options) => {
1716
1720
  process.stderr.write(`${parsed.error}
1717
1721
  `);
1718
1722
  process.stderr.write(
1719
- "Usage: gh-symphony repo start [--daemon] [--once] [--http [port]] [--web [port]]\n"
1723
+ "Usage: gh-symphony repo start [--daemon] [--once] [--assigned-only] [--http [port]] [--web [port]]\n"
1720
1724
  );
1721
1725
  process.exitCode = 2;
1722
1726
  return;
@@ -1764,7 +1768,8 @@ var handler5 = async (args, options) => {
1764
1768
  projectId,
1765
1769
  parsed.logLevel,
1766
1770
  parsed.httpPort,
1767
- parsed.webPort
1771
+ parsed.webPort,
1772
+ parsed.assignedOnly === true
1768
1773
  );
1769
1774
  return;
1770
1775
  }
@@ -1786,6 +1791,7 @@ var handler5 = async (args, options) => {
1786
1791
  let isFirst = true;
1787
1792
  const service = new OrchestratorService(store, projectConfig, {
1788
1793
  logLevel,
1794
+ assignedOnly: parsed.assignedOnly,
1789
1795
  onTick: async (snapshot) => {
1790
1796
  try {
1791
1797
  logTickResult(snapshot, prevSnapshot, isFirst);
@@ -2018,7 +2024,7 @@ async function tailWorkerLog(runtimeRoot, projectId, runId, issueIdentifier) {
2018
2024
  }
2019
2025
  }
2020
2026
  var start_default = handler5;
2021
- async function startDaemon(options, projectId, logLevel, httpPort, webPort) {
2027
+ async function startDaemon(options, projectId, logLevel, httpPort, webPort, assignedOnly = false) {
2022
2028
  const logPath = orchestratorLogPath(options.configDir, projectId);
2023
2029
  await mkdir(dirname2(logPath), { recursive: true });
2024
2030
  const { openSync } = await import("fs");
@@ -2029,6 +2035,7 @@ async function startDaemon(options, projectId, logLevel, httpPort, webPort) {
2029
2035
  process.argv[1],
2030
2036
  "repo",
2031
2037
  "start",
2038
+ ...assignedOnly ? ["--assigned-only"] : [],
2032
2039
  ...httpPort !== void 0 ? ["--http", String(httpPort)] : [],
2033
2040
  ...webPort !== void 0 ? ["--web", String(webPort)] : [],
2034
2041
  ...logLevel ? ["--log-level", logLevel] : []
@@ -15,7 +15,7 @@ import {
15
15
  } from "./chunk-PLBG7TZA.js";
16
16
  import {
17
17
  initRepoRuntime
18
- } from "./chunk-6PFFGP7S.js";
18
+ } from "./chunk-DLZ2XHWY.js";
19
19
  import "./chunk-RZ3WO7OV.js";
20
20
  import {
21
21
  GhAuthError,
@@ -48,9 +48,6 @@ function parseSetupFlags(args) {
48
48
  case "--non-interactive":
49
49
  flags.nonInteractive = true;
50
50
  break;
51
- case "--assigned-only":
52
- flags.assignedOnly = true;
53
- break;
54
51
  case "--output":
55
52
  flags.output = next;
56
53
  i += 1;
@@ -64,7 +61,7 @@ function parseSetupFlags(args) {
64
61
  default:
65
62
  if (arg?.startsWith("-")) {
66
63
  throw new Error(
67
- `Unknown option '${arg}'. Removed project/workspace flags are no longer supported; run 'gh-symphony setup' from inside the target repository. Supported flags: --non-interactive, --assigned-only, --output, --skip-skills, --skip-context.`
64
+ `Unknown option '${arg}'. Removed project/workspace flags are no longer supported; run 'gh-symphony setup' from inside the target repository. Supported flags: --non-interactive, --output, --skip-skills, --skip-context.`
68
65
  );
69
66
  }
70
67
  }
@@ -249,8 +246,7 @@ Run setup without --non-interactive for manual mapping.
249
246
  });
250
247
  const runtime = await initRepoRuntime({
251
248
  repoDir: process.cwd(),
252
- workflowFile: workflowPath,
253
- assignedOnly: flags.assignedOnly
249
+ workflowFile: workflowPath
254
250
  });
255
251
  if (options.json) {
256
252
  process.stdout.write(
@@ -343,7 +339,7 @@ async function runInteractive(flags, _options) {
343
339
  projectDetail.linkedRepositories
344
340
  );
345
341
  const mappings = await promptStateMappings(statusField, {
346
- stepLabel: "Step 2/4"
342
+ stepLabel: "Step 2/3"
347
343
  });
348
344
  const workflowValidation = validateStateMapping(mappings);
349
345
  if (!workflowValidation.valid) {
@@ -360,15 +356,8 @@ async function runInteractive(flags, _options) {
360
356
  const { priority, priorityField } = await promptPriorityConfig({
361
357
  priorityResolution,
362
358
  labelNames: priorityLabelNames,
363
- stepLabel: "Step 3/4"
359
+ stepLabel: "Step 3/3"
364
360
  });
365
- const promptAssignedOnly = await abortIfCancelled(
366
- p.confirm({
367
- message: `${"Step 4/4"} \u2014 Only process issues assigned to the authenticated GitHub user?`,
368
- initialValue: flags.assignedOnly ?? false
369
- })
370
- );
371
- const assignedOnly = flags.assignedOnly || promptAssignedOnly;
372
361
  const workflowPath = resolve(flags.output ?? "WORKFLOW.md");
373
362
  const { workflowPlan, ecosystemPlan } = await planWorkflowArtifacts({
374
363
  cwd: process.cwd(),
@@ -388,7 +377,6 @@ async function runInteractive(flags, _options) {
388
377
  `GitHub Project: ${projectDetail.title}`,
389
378
  `Authenticated: ${login}`,
390
379
  `Repository: current working directory`,
391
- `Assigned: ${assignedOnly ? `Only issues assigned to ${login}` : "All project issues"}`,
392
380
  "",
393
381
  renderDryRunPreview(workflowPath, workflowPlan, ecosystemPlan).trimEnd()
394
382
  ].join("\n"),
@@ -419,8 +407,7 @@ async function runInteractive(flags, _options) {
419
407
  });
420
408
  const runtime = await initRepoRuntime({
421
409
  repoDir: process.cwd(),
422
- workflowFile: workflowPath,
423
- assignedOnly
410
+ workflowFile: workflowPath
424
411
  });
425
412
  writeSpinner.stop(`Setup saved for ${runtime.repository.owner}/${runtime.repository.name}.`);
426
413
  } catch (error) {
@@ -16,8 +16,8 @@ function execFileAsync(file, args, execFileImpl = execFileCallback) {
16
16
  });
17
17
  }
18
18
  function resolveCurrentCliVersion() {
19
- if ("0.2.2".length > 0) {
20
- return "0.2.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")
@@ -2,7 +2,7 @@
2
2
 
3
3
  // src/commands/version.ts
4
4
  var handler = async (_args, options) => {
5
- const version = "0.2.2";
5
+ const version = "0.2.4";
6
6
  if (options.json) {
7
7
  process.stdout.write(JSON.stringify({ version }) + "\n");
8
8
  } else {
@@ -6,9 +6,9 @@ import {
6
6
  resetWorkflowCommandDependenciesForTest,
7
7
  setWorkflowCommandDependenciesForTest,
8
8
  workflow_default
9
- } from "./chunk-27UZ6KX2.js";
9
+ } from "./chunk-7Z7WYGDL.js";
10
10
  import "./chunk-PLBG7TZA.js";
11
- import "./chunk-X4QSP3AX.js";
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.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
46
  "@gh-symphony/orchestrator": "0.0.14",
46
- "@gh-symphony/control-plane": "0.0.15",
47
- "@gh-symphony/runtime-claude": "0.0.14",
48
- "@gh-symphony/tracker-github": "0.0.14",
49
47
  "@gh-symphony/dashboard": "0.0.14",
50
- "@gh-symphony/worker": "0.0.14"
48
+ "@gh-symphony/runtime-claude": "0.0.14",
49
+ "@gh-symphony/worker": "0.0.14",
50
+ "@gh-symphony/tracker-github": "0.0.14"
51
51
  },
52
52
  "scripts": {
53
53
  "build": "tsup",