agentera 3.0.0-dev.5 → 3.0.0-dev.6

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.
Files changed (247) hide show
  1. package/README.md +4 -3
  2. package/bundle/references/adapters/opencode.md +1 -1
  3. package/bundle/references/adapters/package-registry.yaml +0 -1
  4. package/bundle/references/adapters/package-surface-characterization.md +1 -2
  5. package/bundle/references/analysis/startup-measurement-contract.yaml +11 -11
  6. package/bundle/references/cli/audience-namespace-cli-migration.yaml +40 -26
  7. package/bundle/references/cli/bundle-skill-vocabulary.yaml +1 -29
  8. package/bundle/references/cli/coexistence-probe.yaml +9 -0
  9. package/bundle/references/cli/single-name-protocol.yaml +42 -0
  10. package/bundle/references/cli/update-channels.yaml +1 -0
  11. package/bundle/references/cli/upgrade-repair-wording.md +31 -0
  12. package/bundle/references/cli/v3-handoff-manifest.schema.yaml +98 -0
  13. package/bundle/references/cli/vocabulary.md +12 -10
  14. package/bundle/references/meta/documentation-inventory.md +9 -3
  15. package/bundle/skills/agentera/SKILL.md +14 -14
  16. package/dist/analytics/extractCorpus/cli.js +101 -0
  17. package/dist/analytics/extractCorpus/cli.js.map +1 -0
  18. package/dist/analytics/extractCorpus/copilotSessions.js +231 -0
  19. package/dist/analytics/extractCorpus/copilotSessions.js.map +1 -0
  20. package/dist/analytics/extractCorpus/core.js +357 -0
  21. package/dist/analytics/extractCorpus/core.js.map +1 -0
  22. package/dist/analytics/extractCorpus/corpus.js +132 -0
  23. package/dist/analytics/extractCorpus/corpus.js.map +1 -0
  24. package/dist/analytics/extractCorpus/cursorSessions.js +420 -0
  25. package/dist/analytics/extractCorpus/cursorSessions.js.map +1 -0
  26. package/dist/analytics/extractCorpus/filesystemSources.js +122 -0
  27. package/dist/analytics/extractCorpus/filesystemSources.js.map +1 -0
  28. package/dist/analytics/extractCorpus/index.js +9 -0
  29. package/dist/analytics/extractCorpus/index.js.map +1 -0
  30. package/dist/analytics/extractCorpus/jsonlSessions.js +185 -0
  31. package/dist/analytics/extractCorpus/jsonlSessions.js.map +1 -0
  32. package/dist/analytics/extractCorpus/sqliteSessions.js +275 -0
  33. package/dist/analytics/extractCorpus/sqliteSessions.js.map +1 -0
  34. package/dist/analytics/extractCorpus.js +2 -1790
  35. package/dist/analytics/extractCorpus.js.map +1 -1
  36. package/dist/analytics/usageStats.js +1 -1
  37. package/dist/analytics/usageStats.js.map +1 -1
  38. package/dist/cli/capabilityContext/benchmark.js +557 -0
  39. package/dist/cli/capabilityContext/benchmark.js.map +1 -0
  40. package/dist/cli/capabilityContext/bespoke.js +25 -0
  41. package/dist/cli/capabilityContext/bespoke.js.map +1 -0
  42. package/dist/cli/capabilityContext/closeout.js +230 -0
  43. package/dist/cli/capabilityContext/closeout.js.map +1 -0
  44. package/dist/cli/capabilityContext/contract.js +186 -0
  45. package/dist/cli/capabilityContext/contract.js.map +1 -0
  46. package/dist/cli/capabilityContext/evidence.js +446 -0
  47. package/dist/cli/capabilityContext/evidence.js.map +1 -0
  48. package/dist/cli/capabilityContext/index.js +4 -0
  49. package/dist/cli/capabilityContext/index.js.map +1 -0
  50. package/dist/cli/capabilityContext/orchestration.js +107 -0
  51. package/dist/cli/capabilityContext/orchestration.js.map +1 -0
  52. package/dist/cli/capabilityContext/planState.js +271 -0
  53. package/dist/cli/capabilityContext/planState.js.map +1 -0
  54. package/dist/cli/capabilityContext/progress.js +96 -0
  55. package/dist/cli/capabilityContext/progress.js.map +1 -0
  56. package/dist/cli/capabilityContext/realisera.js +174 -0
  57. package/dist/cli/capabilityContext/realisera.js.map +1 -0
  58. package/dist/cli/capabilityContext/shared.js +94 -0
  59. package/dist/cli/capabilityContext/shared.js.map +1 -0
  60. package/dist/cli/capabilityContext/slim.js +106 -0
  61. package/dist/cli/capabilityContext/slim.js.map +1 -0
  62. package/dist/cli/capabilityContext/startup.js +208 -0
  63. package/dist/cli/capabilityContext/startup.js.map +1 -0
  64. package/dist/cli/capabilityContext/types.js +43 -0
  65. package/dist/cli/capabilityContext/types.js.map +1 -0
  66. package/dist/cli/capabilityContext.js +1 -2486
  67. package/dist/cli/capabilityContext.js.map +1 -1
  68. package/dist/cli/commands/backfill.js +84 -0
  69. package/dist/cli/commands/backfill.js.map +1 -0
  70. package/dist/cli/commands/compact.js +1 -1
  71. package/dist/cli/commands/compact.js.map +1 -1
  72. package/dist/cli/commands/doctor.js +24 -7
  73. package/dist/cli/commands/doctor.js.map +1 -1
  74. package/dist/cli/commands/lint.js +4 -36
  75. package/dist/cli/commands/lint.js.map +1 -1
  76. package/dist/cli/commands/query.js +1 -1
  77. package/dist/cli/commands/query.js.map +1 -1
  78. package/dist/cli/commands/report.js +11 -2
  79. package/dist/cli/commands/report.js.map +1 -1
  80. package/dist/cli/commands/schema.js +1 -2
  81. package/dist/cli/commands/schema.js.map +1 -1
  82. package/dist/cli/commands/state/decisions.js +397 -0
  83. package/dist/cli/commands/state/decisions.js.map +1 -0
  84. package/dist/cli/commands/state/docs.js +93 -0
  85. package/dist/cli/commands/state/docs.js.map +1 -0
  86. package/dist/cli/commands/state/experiments.js +67 -0
  87. package/dist/cli/commands/state/experiments.js.map +1 -0
  88. package/dist/cli/commands/state/health.js +114 -0
  89. package/dist/cli/commands/state/health.js.map +1 -0
  90. package/dist/cli/commands/state/index.js +51 -0
  91. package/dist/cli/commands/state/index.js.map +1 -0
  92. package/dist/cli/commands/state/objective.js +68 -0
  93. package/dist/cli/commands/state/objective.js.map +1 -0
  94. package/dist/cli/commands/state/plan.js +172 -0
  95. package/dist/cli/commands/state/plan.js.map +1 -0
  96. package/dist/cli/commands/state/progress.js +47 -0
  97. package/dist/cli/commands/state/progress.js.map +1 -0
  98. package/dist/cli/commands/state/shared.js +15 -0
  99. package/dist/cli/commands/state/shared.js.map +1 -0
  100. package/dist/cli/commands/state/todo.js +121 -0
  101. package/dist/cli/commands/state/todo.js.map +1 -0
  102. package/dist/cli/commands/state.js +7 -7
  103. package/dist/cli/commands/state.js.map +1 -1
  104. package/dist/cli/commands/validate.js +32 -18
  105. package/dist/cli/commands/validate.js.map +1 -1
  106. package/dist/cli/dispatch/check.js +328 -0
  107. package/dist/cli/dispatch/check.js.map +1 -0
  108. package/dist/cli/dispatch/index.js +177 -0
  109. package/dist/cli/dispatch/index.js.map +1 -0
  110. package/dist/cli/dispatch/lifecycle.js +492 -0
  111. package/dist/cli/dispatch/lifecycle.js.map +1 -0
  112. package/dist/cli/dispatch/prime.js +100 -0
  113. package/dist/cli/dispatch/prime.js.map +1 -0
  114. package/dist/cli/dispatch/shared.js +64 -0
  115. package/dist/cli/dispatch/shared.js.map +1 -0
  116. package/dist/cli/dispatch/state.js +149 -0
  117. package/dist/cli/dispatch/state.js.map +1 -0
  118. package/dist/cli/dispatch.js +1 -1293
  119. package/dist/cli/dispatch.js.map +1 -1
  120. package/dist/cli/help.js +0 -2
  121. package/dist/cli/help.js.map +1 -1
  122. package/dist/cli/orientation.js +1 -1
  123. package/dist/cli/orientation.js.map +1 -1
  124. package/dist/core/git.js +43 -0
  125. package/dist/core/git.js.map +1 -0
  126. package/dist/hooks/common.js +8 -23
  127. package/dist/hooks/common.js.map +1 -1
  128. package/dist/hooks/compaction/apply.js +244 -0
  129. package/dist/hooks/compaction/apply.js.map +1 -0
  130. package/dist/hooks/compaction/dryRun.js +181 -0
  131. package/dist/hooks/compaction/dryRun.js.map +1 -0
  132. package/dist/hooks/compaction/index.js +23 -0
  133. package/dist/hooks/compaction/index.js.map +1 -0
  134. package/dist/hooks/compaction/parse.js +129 -0
  135. package/dist/hooks/compaction/parse.js.map +1 -0
  136. package/dist/hooks/compaction/retention.js +197 -0
  137. package/dist/hooks/compaction/retention.js.map +1 -0
  138. package/dist/hooks/compaction/status.js +243 -0
  139. package/dist/hooks/compaction/status.js.map +1 -0
  140. package/dist/hooks/compaction/types.js +6 -0
  141. package/dist/hooks/compaction/types.js.map +1 -0
  142. package/dist/hooks/compaction.js +20 -20
  143. package/dist/hooks/compaction.js.map +1 -1
  144. package/dist/hooks/cursorPreToolUse.js +1 -1
  145. package/dist/hooks/cursorPreToolUse.js.map +1 -1
  146. package/dist/hooks/sessionStart.js +4 -4
  147. package/dist/hooks/sessionStart.js.map +1 -1
  148. package/dist/hooks/sessionStop.js +3 -12
  149. package/dist/hooks/sessionStop.js.map +1 -1
  150. package/dist/hooks/validateArtifact/agentFacing.js +10 -0
  151. package/dist/hooks/validateArtifact/agentFacing.js.map +1 -0
  152. package/dist/hooks/validateArtifact/index.js +149 -0
  153. package/dist/hooks/validateArtifact/index.js.map +1 -0
  154. package/dist/hooks/validateArtifact/markdown.js +95 -0
  155. package/dist/hooks/validateArtifact/markdown.js.map +1 -0
  156. package/dist/hooks/validateArtifact/runtime.js +83 -0
  157. package/dist/hooks/validateArtifact/runtime.js.map +1 -0
  158. package/dist/hooks/validateArtifact/schema.js +455 -0
  159. package/dist/hooks/validateArtifact/schema.js.map +1 -0
  160. package/dist/hooks/validateArtifact/traversal.js +105 -0
  161. package/dist/hooks/validateArtifact/traversal.js.map +1 -0
  162. package/dist/hooks/validateArtifact/violations.js +105 -0
  163. package/dist/hooks/validateArtifact/violations.js.map +1 -0
  164. package/dist/hooks/validateArtifact.js +29 -40
  165. package/dist/hooks/validateArtifact.js.map +1 -1
  166. package/dist/migrate/v2HandoffManifest.js +333 -0
  167. package/dist/migrate/v2HandoffManifest.js.map +1 -0
  168. package/dist/registries/artifactProtocolIds.js +77 -0
  169. package/dist/registries/artifactProtocolIds.js.map +1 -0
  170. package/dist/release/releaseMetadata.js +235 -0
  171. package/dist/release/releaseMetadata.js.map +1 -0
  172. package/dist/setup/codex/agents.js +96 -0
  173. package/dist/setup/codex/agents.js.map +1 -0
  174. package/dist/setup/codex/cli.js +161 -0
  175. package/dist/setup/codex/cli.js.map +1 -0
  176. package/dist/setup/codex/configToml.js +644 -0
  177. package/dist/setup/codex/configToml.js.map +1 -0
  178. package/dist/setup/codex/constants.js +29 -0
  179. package/dist/setup/codex/constants.js.map +1 -0
  180. package/dist/setup/codex/installRoot.js +64 -0
  181. package/dist/setup/codex/installRoot.js.map +1 -0
  182. package/dist/setup/codex/state.js +270 -0
  183. package/dist/setup/codex/state.js.map +1 -0
  184. package/dist/setup/codex.js +11 -1196
  185. package/dist/setup/codex.js.map +1 -1
  186. package/dist/setup/doctor/core.js +300 -0
  187. package/dist/setup/doctor/core.js.map +1 -0
  188. package/dist/setup/doctor/diagnostics.js +247 -0
  189. package/dist/setup/doctor/diagnostics.js.map +1 -0
  190. package/dist/setup/doctor/opencode.js +281 -0
  191. package/dist/setup/doctor/opencode.js.map +1 -0
  192. package/dist/setup/doctor/report.js +474 -0
  193. package/dist/setup/doctor/report.js.map +1 -0
  194. package/dist/setup/doctor.js +9 -1296
  195. package/dist/setup/doctor.js.map +1 -1
  196. package/dist/setup/opencode.js +13 -0
  197. package/dist/setup/opencode.js.map +1 -0
  198. package/dist/setup/smokeChecks.js +1 -1
  199. package/dist/setup/smokeChecks.js.map +1 -1
  200. package/dist/state/progressCommit.js +289 -0
  201. package/dist/state/progressCommit.js.map +1 -0
  202. package/dist/state/startupAnalysis/benchmark.js +367 -0
  203. package/dist/state/startupAnalysis/benchmark.js.map +1 -0
  204. package/dist/state/startupAnalysis/contract.js +122 -0
  205. package/dist/state/startupAnalysis/contract.js.map +1 -0
  206. package/dist/state/startupAnalysis/helpers.js +332 -0
  207. package/dist/state/startupAnalysis/helpers.js.map +1 -0
  208. package/dist/state/startupAnalysis/index.js +7 -0
  209. package/dist/state/startupAnalysis/index.js.map +1 -0
  210. package/dist/state/startupAnalysis/metrics.js +334 -0
  211. package/dist/state/startupAnalysis/metrics.js.map +1 -0
  212. package/dist/state/startupAnalysis/records.js +195 -0
  213. package/dist/state/startupAnalysis/records.js.map +1 -0
  214. package/dist/state/startupAnalysis/report.js +123 -0
  215. package/dist/state/startupAnalysis/report.js.map +1 -0
  216. package/dist/state/startupAnalysis/threshold.js +500 -0
  217. package/dist/state/startupAnalysis/threshold.js.map +1 -0
  218. package/dist/state/startupAnalysis.js +2 -1952
  219. package/dist/state/startupAnalysis.js.map +1 -1
  220. package/dist/upgrade/coexistenceProbe.js +83 -0
  221. package/dist/upgrade/coexistenceProbe.js.map +1 -0
  222. package/dist/upgrade/doctor.js +41 -2
  223. package/dist/upgrade/doctor.js.map +1 -1
  224. package/dist/upgrade/migrateArtifactsV2ToV3.js +5 -83
  225. package/dist/upgrade/migrateArtifactsV2ToV3.js.map +1 -1
  226. package/dist/upgrade/nextMajorDoctor.js +16 -1
  227. package/dist/upgrade/nextMajorDoctor.js.map +1 -1
  228. package/dist/upgrade/projectIntegration.js +3 -1
  229. package/dist/upgrade/projectIntegration.js.map +1 -1
  230. package/dist/upgrade/runtimeMigration.js +13 -2
  231. package/dist/upgrade/runtimeMigration.js.map +1 -1
  232. package/dist/upgrade/v3CapabilitySurface.js +15 -0
  233. package/dist/upgrade/v3CapabilitySurface.js.map +1 -0
  234. package/dist/upgrade/versionResolution.js +8 -0
  235. package/dist/upgrade/versionResolution.js.map +1 -1
  236. package/dist/validate/appHomeContract.js +3 -3
  237. package/dist/validate/appHomeContract.js.map +1 -1
  238. package/dist/validate/selfAudit.js +62 -20
  239. package/dist/validate/selfAudit.js.map +1 -1
  240. package/dist/validate/vocabularyAuthority.js +298 -0
  241. package/dist/validate/vocabularyAuthority.js.map +1 -0
  242. package/package.json +3 -3
  243. package/bundle/references/v1-section-mapping.md +0 -47
  244. package/bundle/skills/hej/.claude-plugin/plugin.json +0 -6
  245. package/bundle/skills/hej/SKILL.md +0 -69
  246. package/bundle/skills/hej/agents/hej.toml +0 -11
  247. package/bundle/skills/hej/agents/openai.yaml +0 -8
@@ -0,0 +1,64 @@
1
+ export function emitDeprecationAlias(legacy, canonical, err) {
2
+ err(`Deprecation: agentera ${legacy} is deprecated; use agentera ${canonical}\n`);
3
+ }
4
+ /**
5
+ * Map a legacy parse-error string (the kind returned by `parse*Args`) to the
6
+ * canonical invalid-input envelope body. Lets the parse functions keep their
7
+ * simple `{ error: string }` shape while every surface's error path still
8
+ * funnels through `emitInvalidInput` for the frozen envelope contract.
9
+ */
10
+ export function classifyParseError(raw) {
11
+ const required = /^the following arguments are required: (.+)$/.exec(raw);
12
+ if (required) {
13
+ return { class: "missing_argument", message: raw };
14
+ }
15
+ const unrecognized = /^unrecognized arguments: (.+)$/.exec(raw);
16
+ if (unrecognized) {
17
+ return { class: "unrecognized_argument", message: raw };
18
+ }
19
+ const choice = /^argument (--[\w-]+): invalid choice: '([^']+)' \(choose from (.+)\)$/.exec(raw);
20
+ if (choice) {
21
+ const validValues = [...choice[3].matchAll(/'([^']+)'/g)].map((m) => m[1]);
22
+ return {
23
+ class: "invalid_choice",
24
+ message: raw,
25
+ valid_values: validValues,
26
+ };
27
+ }
28
+ const intBad = /^argument (--[\w-]+): invalid int value: '([^']+)'$/.exec(raw);
29
+ if (intBad) {
30
+ return { class: "invalid_int", message: raw };
31
+ }
32
+ const mutex = /^argument (--[\w-]+): not allowed with argument (--[\w-]+)$/.exec(raw);
33
+ if (mutex) {
34
+ return { class: "mutually_exclusive", message: raw };
35
+ }
36
+ return { class: "unrecognized_argument", message: raw };
37
+ }
38
+ /** Coerce the loose `string` format field on parsed args to the literal union. */
39
+ export function asEnvelopeFormat(format) {
40
+ return format === "json" ? "json" : "text";
41
+ }
42
+ /**
43
+ * Scan a top-level argv slice for `--format json` (or `--format=json`) so
44
+ * main() can decide whether to route its error envelope to stdout or stderr.
45
+ * Unknown format values fall through to "text" — the user will discover the
46
+ * mis-spelling when the underlying command runs.
47
+ */
48
+ export function detectTopLevelFormat(args) {
49
+ for (let i = 0; i < args.length; i++) {
50
+ const a = args[i];
51
+ if (a === "--format") {
52
+ const v = args[++i];
53
+ if (v === "json" || v === "text" || v === "yaml")
54
+ return v === "json" ? "json" : "text";
55
+ }
56
+ else if (a.startsWith("--format=")) {
57
+ const v = a.slice("--format=".length);
58
+ if (v === "json" || v === "text" || v === "yaml")
59
+ return v === "json" ? "json" : "text";
60
+ }
61
+ }
62
+ return "text";
63
+ }
64
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/cli/dispatch/shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,149 @@
1
+ import { cmdState } from "../commands/state/index.js";
2
+ import { COMMAND_FILTERS } from "../stateQuery.js";
3
+ import { cmdQuery } from "../commands/query.js";
4
+ import { asEnvelopeFormat, classifyParseError } from "./shared.js";
5
+ import { emitInvalidInput } from "../errors.js";
6
+ export function parseStateArgs(command, argv) {
7
+ const args = {
8
+ command,
9
+ topic: null,
10
+ status: null,
11
+ dimension: null,
12
+ severity: null,
13
+ limit: 5,
14
+ format: "text",
15
+ fields: null,
16
+ };
17
+ const allowed = new Set([...(COMMAND_FILTERS[command] ?? []), "format", "fields"]);
18
+ for (let i = 0; i < argv.length; i++) {
19
+ const a = argv[i];
20
+ const value = (name) => {
21
+ if (a === name)
22
+ return argv[++i];
23
+ if (a.startsWith(name + "="))
24
+ return a.slice(name.length + 1);
25
+ return null;
26
+ };
27
+ const named = (flag, key) => allowed.has(key) && (a === flag || a.startsWith(flag + "="));
28
+ let v;
29
+ if (named("--topic", "topic"))
30
+ args.topic = value("--topic");
31
+ else if (named("--status", "status"))
32
+ args.status = value("--status");
33
+ else if (named("--dimension", "dimension"))
34
+ args.dimension = value("--dimension");
35
+ else if (named("--severity", "severity"))
36
+ args.severity = value("--severity");
37
+ else if (named("--limit", "limit")) {
38
+ v = value("--limit");
39
+ const n = Number(v);
40
+ if (!Number.isInteger(n))
41
+ return { error: `argument --limit: invalid int value: '${v}'` };
42
+ args.limit = n;
43
+ }
44
+ else if (a === "--format" || a.startsWith("--format=")) {
45
+ v = value("--format");
46
+ if (v !== "text" && v !== "json" && v !== "yaml") {
47
+ return { error: `argument --format: invalid choice: '${v}' (choose from 'text', 'json', 'yaml')` };
48
+ }
49
+ args.format = v;
50
+ }
51
+ else if (a === "--fields" || a.startsWith("--fields="))
52
+ args.fields = value("--fields");
53
+ else
54
+ return { error: `unrecognized arguments: ${a}` };
55
+ }
56
+ return args;
57
+ }
58
+ export function runState(command, argv, io, prog) {
59
+ const parsed = parseStateArgs(command, argv);
60
+ if ("error" in parsed) {
61
+ return emitInvalidInput(io, {
62
+ format: "text",
63
+ body: classifyParseError(parsed.error),
64
+ });
65
+ }
66
+ try {
67
+ return cmdState(parsed, io);
68
+ }
69
+ catch (exc) {
70
+ return emitInvalidInput(io, {
71
+ format: asEnvelopeFormat(parsed.format),
72
+ body: { class: "unsupported_target", message: exc.message },
73
+ });
74
+ }
75
+ }
76
+ export function parseQueryArgs(argv) {
77
+ const args = {
78
+ query: null,
79
+ list_artifacts: false,
80
+ topic: null,
81
+ severity: null,
82
+ dimension: null,
83
+ status: null,
84
+ limit: null,
85
+ format: "text",
86
+ fields: null,
87
+ };
88
+ for (let i = 0; i < argv.length; i++) {
89
+ const a = argv[i];
90
+ const value = (name) => {
91
+ if (a === name)
92
+ return argv[++i];
93
+ if (a.startsWith(name + "="))
94
+ return a.slice(name.length + 1);
95
+ return null;
96
+ };
97
+ let v;
98
+ if (a === "--list-artifacts")
99
+ args.list_artifacts = true;
100
+ else if ((v = value("--topic")) !== null)
101
+ args.topic = v;
102
+ else if ((v = value("--severity")) !== null)
103
+ args.severity = v;
104
+ else if ((v = value("--dimension")) !== null)
105
+ args.dimension = v;
106
+ else if ((v = value("--status")) !== null)
107
+ args.status = v;
108
+ else if ((v = value("--limit")) !== null) {
109
+ const n = Number(v);
110
+ if (!Number.isInteger(n))
111
+ return { error: `argument --limit: invalid int value: '${v}'` };
112
+ args.limit = n;
113
+ }
114
+ else if ((v = value("--format")) !== null) {
115
+ if (v !== "text" && v !== "json" && v !== "yaml") {
116
+ return { error: `argument --format: invalid choice: '${v}' (choose from 'text', 'json', 'yaml')` };
117
+ }
118
+ args.format = v;
119
+ }
120
+ else if ((v = value("--fields")) !== null)
121
+ args.fields = v;
122
+ else if (a.startsWith("--"))
123
+ return { error: `unrecognized arguments: ${a}` };
124
+ else if (args.query === null)
125
+ args.query = a;
126
+ else
127
+ return { error: `unrecognized arguments: ${a}` };
128
+ }
129
+ return args;
130
+ }
131
+ export function runQuery(argv, io, prog) {
132
+ const parsed = parseQueryArgs(argv);
133
+ if ("error" in parsed) {
134
+ return emitInvalidInput(io, {
135
+ format: "text",
136
+ body: classifyParseError(parsed.error),
137
+ });
138
+ }
139
+ try {
140
+ return cmdQuery(parsed, io);
141
+ }
142
+ catch (exc) {
143
+ return emitInvalidInput(io, {
144
+ format: asEnvelopeFormat(parsed.format),
145
+ body: { class: "unsupported_target", message: exc.message },
146
+ });
147
+ }
148
+ }
149
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/cli/dispatch/state.ts"],"names":[],"mappings":"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"}