@hiroleague/taskmanager 0.0.1 → 0.0.3
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/LICENSE +21 -0
- package/README.md +41 -52
- package/dist/assets/architecture-YZFGNWBL-DoE0KxgG.js +1 -0
- package/dist/assets/architectureDiagram-Q4EWVU46-DeuBhy7X.js +36 -0
- package/dist/assets/{blockDiagram-DXYQGD6D-DfOGNphI.js → blockDiagram-DXYQGD6D-BDBy9ns9.js} +1 -1
- package/dist/assets/{c4Diagram-AHTNJAMY-B2Yfcwbo.js → c4Diagram-AHTNJAMY-CpqJj_8a.js} +1 -1
- package/dist/assets/channel-PHRyjspt.js +1 -0
- package/dist/assets/{chunk-2KRD3SAO-9yt00aGC.js → chunk-2KRD3SAO-DEpUsxdZ.js} +1 -1
- package/dist/assets/chunk-336JU56O-BGQvSwLk.js +2 -0
- package/dist/assets/chunk-426QAEUC-Cl9nQN9c.js +1 -0
- package/dist/assets/{chunk-4TB4RGXK-DF8yJBFl.js → chunk-4TB4RGXK-Dq7aiIrZ.js} +2 -2
- package/dist/assets/{chunk-5FUZZQ4R-XEga0hMC.js → chunk-5FUZZQ4R-B_HuuUjf.js} +1 -1
- package/dist/assets/{chunk-5PVQY5BW-BrmXs2Gs.js → chunk-5PVQY5BW-cGfZCZGU.js} +2 -2
- package/dist/assets/{chunk-67CJDMHE-5wFKo04G.js → chunk-67CJDMHE-BMYAVZfw.js} +1 -1
- package/dist/assets/{chunk-7N4EOEYR-BRRGX_NC.js → chunk-7N4EOEYR-Ct-EY7Nc.js} +1 -1
- package/dist/assets/{chunk-AA7GKIK3-DUZv_pNI.js → chunk-AA7GKIK3-Bd4HFpeo.js} +1 -1
- package/dist/assets/{chunk-CIAEETIT-mA5aM_d7.js → chunk-CIAEETIT-CrFUkPMT.js} +1 -1
- package/dist/assets/{chunk-EDXVE4YY-DxUqDyxy.js → chunk-EDXVE4YY-DMDyt0NF.js} +1 -1
- package/dist/assets/{chunk-ENJZ2VHE-BgZKYo1l.js → chunk-ENJZ2VHE-DrWzOrpd.js} +1 -1
- package/dist/assets/{chunk-FOC6F5B3-B-cqGCPC.js → chunk-FOC6F5B3-Bemzq96j.js} +1 -1
- package/dist/assets/{chunk-ICPOFSXX-BNR1V8rT.js → chunk-ICPOFSXX-DkUVjrLw.js} +5 -5
- package/dist/assets/{chunk-K5T4RW27-BLRDzioh.js → chunk-K5T4RW27-ALKIf000.js} +5 -5
- package/dist/assets/{chunk-KGLVRYIC-CTkQSeKy.js → chunk-KGLVRYIC-Bg6HNTZ-.js} +1 -1
- package/dist/assets/{chunk-LIHQZDEY-Cf34Nu3J.js → chunk-LIHQZDEY-DeyGongE.js} +1 -1
- package/dist/assets/{chunk-ORNJ4GCN-D3uXgbay.js → chunk-ORNJ4GCN-Bx83s1bJ.js} +1 -1
- package/dist/assets/{chunk-OYMX7WX6-syQho5jf.js → chunk-OYMX7WX6-BqRUtRpL.js} +1 -1
- package/dist/assets/{chunk-U2HBQHQK-DTJPeU7W.js → chunk-U2HBQHQK-DogcerR6.js} +1 -1
- package/dist/assets/{chunk-X2U36JSP-CrTnmMqG.js → chunk-X2U36JSP-CwVWdmZV.js} +1 -1
- package/dist/assets/chunk-XPW4576I-DQpNCogT.js +32 -0
- package/dist/assets/{chunk-YZCP3GAM-9wq0QKUn.js → chunk-YZCP3GAM-crQSbji9.js} +1 -1
- package/dist/assets/{chunk-ZZ45TVLE-D3I1kLlo.js → chunk-ZZ45TVLE-Bk1S1YtS.js} +1 -1
- package/dist/assets/classDiagram-6PBFFD2Q-B_TabGaU.js +1 -0
- package/dist/assets/classDiagram-v2-HSJHXN6E-CGnZkUWw.js +1 -0
- package/dist/assets/clone-D4ka472w.js +1 -0
- package/dist/assets/{cose-bilkent-S5V4N54A-BygGvZGW.js → cose-bilkent-S5V4N54A-RBTHUit8.js} +1 -1
- package/dist/assets/cytoscape.esm-BGJwlmkf.js +321 -0
- package/dist/assets/dagre-B32eYLtm.js +1 -0
- package/dist/assets/{dagre-KV5264BT-BBqulDtd.js → dagre-KV5264BT-nX7tuXXn.js} +1 -1
- package/dist/assets/diagram-5BDNPKRD-DRxMXlQr.js +10 -0
- package/dist/assets/diagram-G4DWMVQ6-CoojevGm.js +24 -0
- package/dist/assets/diagram-MMDJMWI5-CWtJyfVW.js +43 -0
- package/dist/assets/diagram-TYMM5635-CsDJC4Hq.js +24 -0
- package/dist/assets/{erDiagram-SMLLAGMA-BN5eJerP.js → erDiagram-SMLLAGMA-Cf7Xtd9A.js} +2 -2
- package/dist/assets/{flatten-C5NL-f24.js → flatten-CYX_pHZ7.js} +1 -1
- package/dist/assets/{flowDiagram-DWJPFMVM-CbFskc8S.js → flowDiagram-DWJPFMVM-DQaeR16a.js} +3 -3
- package/dist/assets/{ganttDiagram-T4ZO3ILL-OCTvbRxF.js → ganttDiagram-T4ZO3ILL-8EIcztcH.js} +1 -1
- package/dist/assets/gitGraph-7Q5UKJZL-BH9A1SAZ.js +1 -0
- package/dist/assets/{gitGraphDiagram-UUTBAWPF-wpqI2kyI.js → gitGraphDiagram-UUTBAWPF-DO9ODqYw.js} +1 -1
- package/dist/assets/graphlib-bPBqlJKT.js +1 -0
- package/dist/assets/identity-Me9aart9.js +1 -0
- package/dist/assets/index-oKG1C41_.js +273 -0
- package/dist/assets/info-OMHHGYJF-BvKR-zWh.js +1 -0
- package/dist/assets/infoDiagram-42DDH7IO-pRTXCm5C.js +2 -0
- package/dist/assets/isEmpty-Cu0k-j1j.js +1 -0
- package/dist/assets/{ishikawaDiagram-UXIWVN3A-Epc23N_0.js → ishikawaDiagram-UXIWVN3A-BP2YE5QI.js} +2 -2
- package/dist/assets/{journeyDiagram-VCZTEJTY-BkMxoaPq.js → journeyDiagram-VCZTEJTY-B3l2juoL.js} +1 -1
- package/dist/assets/{kanban-definition-6JOO6SKY-C8dW_26n.js → kanban-definition-6JOO6SKY-BpIpEOZZ.js} +4 -4
- package/dist/assets/{line-DNzQATGr.js → line-otOkzGl8.js} +1 -1
- package/dist/assets/mermaid-parser.core-xWsW24Gq.js +4 -0
- package/dist/assets/{mindmap-definition-QFDTVHPH-CvpNtrKT.js → mindmap-definition-QFDTVHPH-B9khyC7X.js} +3 -3
- package/dist/assets/packet-4T2RLAQJ-D8Dw3nmf.js +1 -0
- package/dist/assets/pie-ZZUOXDRM-ZghowlAE.js +1 -0
- package/dist/assets/{pieDiagram-DEJITSTG-eENymoXZ.js → pieDiagram-DEJITSTG-v32hL3i7.js} +1 -1
- package/dist/assets/{quadrantDiagram-34T5L4WZ-c0iZxo2I.js → quadrantDiagram-34T5L4WZ-DIL3GDFt.js} +1 -1
- package/dist/assets/radar-PYXPWWZC-D-PK3JOd.js +1 -0
- package/dist/assets/reduce-CImcgAcU.js +1 -0
- package/dist/assets/{requirementDiagram-MS252O5E-CmRO3hLp.js → requirementDiagram-MS252O5E-D8os2-4y.js} +2 -2
- package/dist/assets/{sankeyDiagram-XADWPNL6-woJZoQ58.js → sankeyDiagram-XADWPNL6-BV70D4l5.js} +1 -1
- package/dist/assets/{sequenceDiagram-FGHM5R23-B7qNcwNo.js → sequenceDiagram-FGHM5R23-Cwu8hQW1.js} +1 -1
- package/dist/assets/stateDiagram-FHFEXIEX-oYUWv7Fb.js +1 -0
- package/dist/assets/stateDiagram-v2-QKLJ7IA2-CFUTpFu-.js +1 -0
- package/dist/assets/{timeline-definition-GMOUNBTQ-CQWqDPGG.js → timeline-definition-GMOUNBTQ-CxSdKxpL.js} +1 -1
- package/dist/assets/treeView-SZITEDCU-uVgaJQzG.js +1 -0
- package/dist/assets/treemap-W4RFUUIX-Dcad_9AN.js +1 -0
- package/dist/assets/vennDiagram-DHZGUBPP-D4wgD7QI.js +34 -0
- package/dist/assets/wardley-RL74JXVD-CFXrK8mx.js +1 -0
- package/dist/assets/{wardleyDiagram-NUSXRM2D-DNhPIFCg.js → wardleyDiagram-NUSXRM2D-5Q201ea3.js} +1 -1
- package/dist/assets/{xychartDiagram-5P7HB3ND-BDblAZ11.js → xychartDiagram-5P7HB3ND-BPZv_axd.js} +3 -3
- package/dist/index.html +16 -12
- package/package.json +99 -92
- package/scripts/stubs/node-domexception/index.cjs +18 -0
- package/scripts/stubs/node-domexception/package.json +7 -0
- package/skills/hiro-task-manager-cli/SKILL.md +97 -0
- package/skills/hiro-task-manager-cli/reference/boards.md +143 -0
- package/skills/hiro-task-manager-cli/reference/cli-access-policy.md +72 -0
- package/skills/hiro-task-manager-cli/reference/errors.md +85 -0
- package/skills/hiro-task-manager-cli/reference/lists.md +106 -0
- package/skills/hiro-task-manager-cli/reference/releases.md +87 -0
- package/skills/hiro-task-manager-cli/reference/search.md +38 -0
- package/skills/hiro-task-manager-cli/reference/statuses.md +25 -0
- package/skills/hiro-task-manager-cli/reference/tasks.md +144 -0
- package/skills/hiro-task-manager-cli/reference/trash.md +50 -0
- package/src/cli/bootstrap/launcher.test.ts +66 -0
- package/src/cli/bootstrap/launcher.ts +389 -35
- package/src/cli/bootstrap/program.test.ts +46 -0
- package/src/cli/bootstrap/program.ts +54 -1
- package/src/cli/bootstrap/runtime.test.ts +15 -0
- package/src/cli/bootstrap/runtime.ts +27 -1
- package/src/cli/commands/query.ts +56 -56
- package/src/cli/commands/server.ts +27 -19
- package/src/cli/handlers/boards.test.ts +669 -669
- package/src/cli/handlers/cli-wiring.test.ts +1 -1
- package/src/cli/handlers/search.test.ts +374 -374
- package/src/cli/handlers/search.ts +17 -17
- package/src/cli/handlers/server.test.ts +55 -13
- package/src/cli/handlers/server.ts +16 -3
- package/src/cli/lib/api-client.test.ts +35 -2
- package/src/cli/lib/api-client.ts +43 -10
- package/src/cli/lib/cli-http-errors.test.ts +85 -85
- package/src/cli/lib/command-helpers.ts +161 -154
- package/src/cli/lib/config.ts +4 -0
- package/src/cli/lib/launcherUi.test.ts +74 -0
- package/src/cli/lib/launcherUi.ts +213 -0
- package/src/cli/lib/process.test.ts +24 -5
- package/src/cli/lib/process.ts +86 -55
- package/src/cli/ports/process.ts +8 -2
- package/src/cli/subprocess.real-stack.test.ts +611 -598
- package/src/cli/subprocess.smoke.test.ts +954 -969
- package/src/cli/types/config.ts +2 -6
- package/src/client/components/auth/AuthScreen.tsx +3 -3
- package/src/client/components/board/BoardStatsChips.tsx +233 -233
- package/src/client/components/board/BoardStatsContext.tsx +41 -41
- package/src/client/components/board/boardHeaderButtonStyles.ts +38 -38
- package/src/client/components/board/shortcuts/useBoardShortcutKeydown.ts +49 -49
- package/src/client/components/board/useBoardCanvasPanScroll.ts +108 -108
- package/src/client/components/board/useBoardTaskContainerDroppableReact.ts +33 -33
- package/src/client/components/board/useBoardTaskSortableReact.ts +26 -26
- package/src/client/components/multi-select.tsx +1206 -1206
- package/src/client/components/routing/BoardPage.tsx +20 -20
- package/src/client/components/routing/NavigationRegistrar.tsx +13 -13
- package/src/client/components/settings/SettingsPage.tsx +1 -1
- package/src/client/components/task/TaskCard.tsx +643 -643
- package/src/client/components/ui/badge.tsx +49 -49
- package/src/client/components/ui/button.tsx +65 -65
- package/src/client/components/ui/command.tsx +193 -193
- package/src/client/components/ui/dialog.tsx +163 -163
- package/src/client/components/ui/input-group.tsx +155 -155
- package/src/client/components/ui/input.tsx +19 -19
- package/src/client/components/ui/popover.tsx +87 -87
- package/src/client/components/ui/separator.tsx +28 -28
- package/src/client/components/ui/textarea.tsx +18 -18
- package/src/client/index.css +248 -248
- package/src/client/lib/appNavigate.ts +16 -16
- package/src/client/lib/taskCardDate.ts +111 -111
- package/src/client/lib/utils.ts +6 -6
- package/src/server/auth.ts +351 -302
- package/src/server/bootstrapDev.ts +11 -2
- package/src/server/bootstrapInstalled.ts +6 -1
- package/src/server/index.ts +33 -7
- package/src/server/migrations/013_cli_policy_and_provenance.ts +2 -2
- package/src/server/migrations/019_cli_global_create_board_default_on.ts +14 -0
- package/src/server/migrations/registry.ts +43 -41
- package/src/server/parseBootstrapProfile.ts +42 -0
- package/src/server/storage/cliPolicy.ts +2 -1
- package/src/shared/runtimeConfig.ts +256 -237
- package/src/shared/runtimeIdentity.test.ts +47 -0
- package/src/shared/runtimeIdentity.ts +35 -0
- package/src/shared/serverStatus.ts +21 -0
- package/src/shared/skillsInstall.ts +70 -0
- package/src/shared/terminalColors.ts +24 -0
- package/dist/assets/architecture-YZFGNWBL-3h1eIYfB.js +0 -1
- package/dist/assets/architectureDiagram-Q4EWVU46-DSQ1_74_.js +0 -36
- package/dist/assets/channel-yBmN_ln0.js +0 -1
- package/dist/assets/classDiagram-6PBFFD2Q-CotFZI8-.js +0 -1
- package/dist/assets/classDiagram-v2-HSJHXN6E-DAPzeDGn.js +0 -1
- package/dist/assets/clone-BRQpYu_n.js +0 -1
- package/dist/assets/cytoscape.esm-BIYWHPG0.js +0 -321
- package/dist/assets/dagre-rhyPjnsQ.js +0 -1
- package/dist/assets/diagram-5BDNPKRD-Ky3EXXj0.js +0 -10
- package/dist/assets/diagram-G4DWMVQ6-t7LbT0Uz.js +0 -24
- package/dist/assets/diagram-MMDJMWI5-CdnLXEMx.js +0 -43
- package/dist/assets/diagram-TYMM5635-CnzTqJBM.js +0 -24
- package/dist/assets/gitGraph-7Q5UKJZL-CG8f8JF7.js +0 -1
- package/dist/assets/graphlib-COiJG5Qv.js +0 -1
- package/dist/assets/identity-D4WOnl_h.js +0 -1
- package/dist/assets/index-lyyIVcc_.js +0 -304
- package/dist/assets/info-OMHHGYJF-C8_SHoRO.js +0 -1
- package/dist/assets/infoDiagram-42DDH7IO-BbvTdpSV.js +0 -2
- package/dist/assets/mermaid-parser.core-6Tn8epr_.js +0 -4
- package/dist/assets/packet-4T2RLAQJ-BvpAX0kJ.js +0 -1
- package/dist/assets/pie-ZZUOXDRM-Ow26Yf-E.js +0 -1
- package/dist/assets/radar-PYXPWWZC-e_ron5jQ.js +0 -1
- package/dist/assets/reduce-BDOBPIXr.js +0 -1
- package/dist/assets/stateDiagram-FHFEXIEX-CYfGMoR8.js +0 -1
- package/dist/assets/stateDiagram-v2-QKLJ7IA2-CO1W_n55.js +0 -1
- package/dist/assets/treeView-SZITEDCU-DsEr3xeq.js +0 -1
- package/dist/assets/treemap-W4RFUUIX-DV7nk2AB.js +0 -1
- package/dist/assets/vennDiagram-DHZGUBPP-BjTbuhcb.js +0 -34
- package/dist/assets/wardley-RL74JXVD-CrrFU9AE.js +0 -1
- /package/dist/assets/{chunk-4BX2VUAB-ean5NKtU.js → chunk-4BX2VUAB-C70mcfQR.js} +0 -0
- /package/dist/assets/{chunk-55IACEB6-CvSRyJqy.js → chunk-55IACEB6-CWfnqcLM.js} +0 -0
- /package/dist/assets/{chunk-BSJP7CBP-D8kBlJsf.js → chunk-BSJP7CBP-B0LrXV9y.js} +0 -0
- /package/dist/assets/{chunk-FMBD7UC4-DrNhFt1N.js → chunk-FMBD7UC4-_mV71Mwu.js} +0 -0
- /package/dist/assets/{chunk-QZHKN3VN-Csp3OYJY.js → chunk-QZHKN3VN-t2nrsegL.js} +0 -0
- /package/dist/assets/{katex-8mXVa4k3.js → katex-B2dtGfSp.js} +0 -0
- /package/dist/assets/{rough.esm-DtEqI08j.js → rough.esm-DEh6Frf9.js} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { setRuntimeCliClientName } from "../lib/clientIdentity";
|
|
2
|
-
import { setRuntimeProfile } from "../lib/config";
|
|
2
|
+
import { setRuntimeCliPort, setRuntimeKind, setRuntimeProfile } from "../lib/config";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Parse argv before Commander runs so profile and client name match this invocation
|
|
@@ -33,7 +33,33 @@ export function readProfileArg(argv: string[]): string | undefined {
|
|
|
33
33
|
return undefined;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
+
export function readPortArg(argv: string[]): number | undefined {
|
|
37
|
+
for (let index = 0; index < argv.length; index += 1) {
|
|
38
|
+
const current = argv[index];
|
|
39
|
+
if (current === "--port") {
|
|
40
|
+
const next = argv[index + 1];
|
|
41
|
+
if (typeof next === "string") {
|
|
42
|
+
const parsed = Number(next);
|
|
43
|
+
if (Number.isInteger(parsed) && parsed > 0) return parsed;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (current.startsWith("--port=")) {
|
|
47
|
+
const parsed = Number(current.slice("--port=".length));
|
|
48
|
+
if (Number.isInteger(parsed) && parsed > 0) return parsed;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export function readDevFlag(argv: string[]): boolean {
|
|
55
|
+
return argv.includes("--dev");
|
|
56
|
+
}
|
|
57
|
+
|
|
36
58
|
export function applyCliRuntimeFromArgv(argv: string[]): void {
|
|
37
59
|
setRuntimeCliClientName(readClientNameArg(argv));
|
|
38
60
|
setRuntimeProfile(readProfileArg(argv));
|
|
61
|
+
setRuntimeCliPort(readPortArg(argv));
|
|
62
|
+
if (readDevFlag(argv)) {
|
|
63
|
+
setRuntimeKind("dev");
|
|
64
|
+
}
|
|
39
65
|
}
|
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
import { Command } from "commander";
|
|
2
|
-
import type { CliContext } from "../types/context";
|
|
3
|
-
import { handleSearch } from "../handlers/search";
|
|
4
|
-
import {
|
|
5
|
-
addClientNameOption,
|
|
6
|
-
CLI_FIELDS_OPTION_DESC,
|
|
7
|
-
cliAction,
|
|
8
|
-
} from "../lib/command-helpers";
|
|
9
|
-
import { CLI_DEFAULTS } from "../lib/constants";
|
|
10
|
-
|
|
11
|
-
export function registerQueryCommands(
|
|
12
|
-
program: Command,
|
|
13
|
-
ctx: CliContext,
|
|
14
|
-
): void {
|
|
15
|
-
const query = program
|
|
16
|
-
.command("query")
|
|
17
|
-
.description("Read-only queries across boards (search, etc.)");
|
|
18
|
-
|
|
19
|
-
addClientNameOption(
|
|
20
|
-
query
|
|
21
|
-
.command("search")
|
|
22
|
-
.description(
|
|
23
|
-
"Search tasks (title, body, list name, group & status labels) via FTS5",
|
|
24
|
-
)
|
|
25
|
-
.argument("<query...>", "Search query (quote phrases with spaces)")
|
|
26
|
-
.option("--board <id-or-slug>", "Limit results to one board")
|
|
27
|
-
.option(
|
|
28
|
-
"--limit <n>",
|
|
29
|
-
`Page size (default ${CLI_DEFAULTS.DEFAULT_SEARCH_LIMIT}, max ${CLI_DEFAULTS.MAX_PAGE_LIMIT})`,
|
|
30
|
-
)
|
|
31
|
-
.option("--offset <n>", "Skip this many hits (default 0)")
|
|
32
|
-
.option(
|
|
33
|
-
"--page-all",
|
|
34
|
-
"Fetch every page at the current --limit and merge into one result set",
|
|
35
|
-
)
|
|
36
|
-
.option(
|
|
37
|
-
"--no-prefix",
|
|
38
|
-
"Do not add * to the last token (exact token only). Default matches prefixes (drag finds dragging); this flag does not",
|
|
39
|
-
)
|
|
40
|
-
.option("--fields <keys>", CLI_FIELDS_OPTION_DESC),
|
|
41
|
-
).action(
|
|
42
|
-
cliAction(
|
|
43
|
-
(
|
|
44
|
-
queryParts: string[],
|
|
45
|
-
options: {
|
|
46
|
-
board?: string;
|
|
47
|
-
limit?: string;
|
|
48
|
-
offset?: string;
|
|
49
|
-
pageAll?: boolean;
|
|
50
|
-
noPrefix?: boolean;
|
|
51
|
-
fields?: string;
|
|
52
|
-
},
|
|
53
|
-
) => handleSearch(ctx, queryParts, options),
|
|
54
|
-
),
|
|
55
|
-
);
|
|
56
|
-
}
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import type { CliContext } from "../types/context";
|
|
3
|
+
import { handleSearch } from "../handlers/search";
|
|
4
|
+
import {
|
|
5
|
+
addClientNameOption,
|
|
6
|
+
CLI_FIELDS_OPTION_DESC,
|
|
7
|
+
cliAction,
|
|
8
|
+
} from "../lib/command-helpers";
|
|
9
|
+
import { CLI_DEFAULTS } from "../lib/constants";
|
|
10
|
+
|
|
11
|
+
export function registerQueryCommands(
|
|
12
|
+
program: Command,
|
|
13
|
+
ctx: CliContext,
|
|
14
|
+
): void {
|
|
15
|
+
const query = program
|
|
16
|
+
.command("query")
|
|
17
|
+
.description("Read-only queries across boards (search, etc.)");
|
|
18
|
+
|
|
19
|
+
addClientNameOption(
|
|
20
|
+
query
|
|
21
|
+
.command("search")
|
|
22
|
+
.description(
|
|
23
|
+
"Search tasks (title, body, list name, group & status labels) via FTS5",
|
|
24
|
+
)
|
|
25
|
+
.argument("<query...>", "Search query (quote phrases with spaces)")
|
|
26
|
+
.option("--board <id-or-slug>", "Limit results to one board")
|
|
27
|
+
.option(
|
|
28
|
+
"--limit <n>",
|
|
29
|
+
`Page size (default ${CLI_DEFAULTS.DEFAULT_SEARCH_LIMIT}, max ${CLI_DEFAULTS.MAX_PAGE_LIMIT})`,
|
|
30
|
+
)
|
|
31
|
+
.option("--offset <n>", "Skip this many hits (default 0)")
|
|
32
|
+
.option(
|
|
33
|
+
"--page-all",
|
|
34
|
+
"Fetch every page at the current --limit and merge into one result set",
|
|
35
|
+
)
|
|
36
|
+
.option(
|
|
37
|
+
"--no-prefix",
|
|
38
|
+
"Do not add * to the last token (exact token only). Default matches prefixes (drag finds dragging); this flag does not",
|
|
39
|
+
)
|
|
40
|
+
.option("--fields <keys>", CLI_FIELDS_OPTION_DESC),
|
|
41
|
+
).action(
|
|
42
|
+
cliAction(
|
|
43
|
+
(
|
|
44
|
+
queryParts: string[],
|
|
45
|
+
options: {
|
|
46
|
+
board?: string;
|
|
47
|
+
limit?: string;
|
|
48
|
+
offset?: string;
|
|
49
|
+
pageAll?: boolean;
|
|
50
|
+
noPrefix?: boolean;
|
|
51
|
+
fields?: string;
|
|
52
|
+
},
|
|
53
|
+
) => handleSearch(ctx, queryParts, options),
|
|
54
|
+
),
|
|
55
|
+
);
|
|
56
|
+
}
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
handleServerStatus,
|
|
6
6
|
handleServerStop,
|
|
7
7
|
} from "../handlers/server";
|
|
8
|
-
import { addClientNameOption, addProfileOption, cliAction } from "../lib/command-helpers";
|
|
8
|
+
import { addClientNameOption, addDevOption, addProfileOption, cliAction } from "../lib/command-helpers";
|
|
9
9
|
|
|
10
10
|
export function registerServerCommands(
|
|
11
11
|
program: Command,
|
|
@@ -15,34 +15,42 @@ export function registerServerCommands(
|
|
|
15
15
|
.command("server")
|
|
16
16
|
.description("Start, stop, or inspect the local TaskManager server");
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
addDevOption(
|
|
19
|
+
addProfileOption(
|
|
20
|
+
server
|
|
21
|
+
.command("start")
|
|
22
|
+
.description("Start the local TaskManager server")
|
|
23
|
+
.option("-b, --background", "Optional alias for the default background start")
|
|
24
|
+
.option("--foreground", "Run the server in the foreground")
|
|
25
|
+
.option("--data-dir <path>", "Override the task data directory"),
|
|
26
|
+
),
|
|
24
27
|
).action(
|
|
25
28
|
cliAction((options: {
|
|
26
29
|
background?: boolean;
|
|
30
|
+
foreground?: boolean;
|
|
27
31
|
dataDir?: string;
|
|
28
32
|
}) => handleServerStart(ctx, options)),
|
|
29
33
|
);
|
|
30
34
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
addDevOption(
|
|
36
|
+
addProfileOption(
|
|
37
|
+
addClientNameOption(
|
|
38
|
+
server
|
|
39
|
+
.command("status")
|
|
40
|
+
.description("Show whether the local TaskManager server is running"),
|
|
41
|
+
),
|
|
36
42
|
),
|
|
37
43
|
).action(cliAction(() => handleServerStatus(ctx)));
|
|
38
44
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
45
|
+
addDevOption(
|
|
46
|
+
addProfileOption(
|
|
47
|
+
addClientNameOption(
|
|
48
|
+
server
|
|
49
|
+
.command("stop")
|
|
50
|
+
.description(
|
|
51
|
+
"Stop a background server started by hirotm (uses CLI pid file)",
|
|
52
|
+
),
|
|
53
|
+
),
|
|
46
54
|
),
|
|
47
55
|
).action(cliAction(() => handleServerStop(ctx)));
|
|
48
56
|
}
|