MCPcopy Create free account
hub / github.com/cursor/plugins / parseArgs

Function parseArgs

orchestrate/skills/orchestrate/scripts/tools/nudge-root.ts:48–141  ·  view source on GitHub ↗
(argv: readonly string[])

Source from the content-addressed store, hash-verified

46 | { kind: "stdin" };
47
48async function parseArgs(argv: readonly string[]): Promise<Args> {
49 let agentId: string | undefined;
50 let messageSource: MessageSource | undefined;
51 let waitIdle = false;
52 let maxWaitSeconds = DEFAULT_MAX_WAIT_S;
53 let pollMs = DEFAULT_POLL_MS;
54
55 const requireValue = (flag: string, value: string | undefined): string => {
56 if (value === undefined) {
57 console.error(`flag ${flag} requires a value`);
58 usage();
59 }
60 return value;
61 };
62
63 for (let i = 0; i < argv.length; i++) {
64 const a = argv[i];
65 switch (a) {
66 case "--message":
67 messageSource = setMessageSource(messageSource, {
68 kind: "inline",
69 text: requireValue("--message", argv[++i]),
70 });
71 break;
72 case "--message-file":
73 messageSource = setMessageSource(messageSource, {
74 kind: "file",
75 path: requireValue("--message-file", argv[++i]),
76 });
77 break;
78 case "--stdin":
79 messageSource = setMessageSource(messageSource, { kind: "stdin" });
80 break;
81 case "--wait-idle":
82 waitIdle = true;
83 break;
84 case "--max-wait": {
85 const n = Number(requireValue("--max-wait", argv[++i]));
86 if (!Number.isFinite(n) || n <= 0) {
87 console.error("--max-wait must be a positive number of seconds");
88 usage();
89 }
90 maxWaitSeconds = n;
91 break;
92 }
93 case "--poll-ms": {
94 const n = Number(requireValue("--poll-ms", argv[++i]));
95 if (!Number.isFinite(n) || n <= 0) {
96 console.error("--poll-ms must be a positive number of milliseconds");
97 usage();
98 }
99 pollMs = n;
100 break;
101 }
102 case "-h":
103 case "--help":
104 return usage();
105 default:

Callers 1

nudge-root.tsFile · 0.85

Calls 4

setMessageSourceFunction · 0.85
requireValueFunction · 0.85
usageFunction · 0.85
readMessageSourceFunction · 0.85

Tested by

no test coverage detected