@open330/oac 2026.3.5 → 2026.4.0
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.
Potentially problematic release.
This version of @open330/oac might be problematic. Click here for more details.
- package/dist/budget/index.d.ts +78 -0
- package/dist/budget/index.js +17 -0
- package/dist/chunk-LQC5DLT7.js +317 -0
- package/dist/chunk-LQC5DLT7.js.map +1 -0
- package/dist/chunk-NDMV4EEK.js +1487 -0
- package/dist/chunk-NDMV4EEK.js.map +1 -0
- package/dist/chunk-TGZ2TGDA.js +348 -0
- package/dist/chunk-TGZ2TGDA.js.map +1 -0
- package/dist/chunk-UL66HWYF.js +392 -0
- package/dist/chunk-UL66HWYF.js.map +1 -0
- package/dist/chunk-VLR2VYFW.js +475 -0
- package/dist/chunk-VLR2VYFW.js.map +1 -0
- package/dist/{chunk-WC2NAMI3.js → chunk-WD3TJVSA.js} +83 -93
- package/dist/chunk-WD3TJVSA.js.map +1 -0
- package/dist/chunk-ZPI2VQ7U.js +1732 -0
- package/dist/chunk-ZPI2VQ7U.js.map +1 -0
- package/dist/cli/cli.js +15 -0
- package/dist/cli/cli.js.map +1 -0
- package/dist/cli/index.js +18 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/completion/index.d.ts +91 -0
- package/dist/completion/index.js +590 -0
- package/dist/completion/index.js.map +1 -0
- package/dist/core/index.d.ts +1403 -0
- package/dist/core/index.js +75 -0
- package/dist/core/index.js.map +1 -0
- package/dist/dashboard/index.d.ts +14 -0
- package/dist/dashboard/index.js +1257 -0
- package/dist/dashboard/index.js.map +1 -0
- package/dist/discovery/index.d.ts +115 -0
- package/dist/discovery/index.js +19 -0
- package/dist/discovery/index.js.map +1 -0
- package/dist/event-bus-CRLkpNo0.d.ts +91 -0
- package/dist/execution/index.d.ts +162 -0
- package/dist/execution/index.js +18 -0
- package/dist/execution/index.js.map +1 -0
- package/dist/repo/index.d.ts +33 -0
- package/dist/repo/index.js +19 -0
- package/dist/repo/index.js.map +1 -0
- package/dist/tracking/index.d.ts +357 -0
- package/dist/tracking/index.js +15 -0
- package/dist/tracking/index.js.map +1 -0
- package/dist/types-CYCwgojB.d.ts +34 -0
- package/dist/types-cJZwCZZX.d.ts +172 -0
- package/package.json +42 -20
- package/dist/chunk-WC2NAMI3.js.map +0 -1
- package/dist/cli.js +0 -9
- package/dist/index.js +0 -12
- package/dist/index.js.map +0 -1
- /package/dist/{cli.js.map → budget/index.js.map} +0 -0
- /package/dist/{cli.d.ts → cli/cli.d.ts} +0 -0
- /package/dist/{index.d.ts → cli/index.d.ts} +0 -0
|
@@ -1,8 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import {
|
|
2
|
+
cloneRepo,
|
|
3
|
+
resolveRepo
|
|
4
|
+
} from "./chunk-VLR2VYFW.js";
|
|
5
|
+
import {
|
|
6
|
+
CompositeScanner,
|
|
7
|
+
GitHubIssuesScanner,
|
|
8
|
+
LintScanner,
|
|
9
|
+
TestGapScanner,
|
|
10
|
+
TodoScanner,
|
|
11
|
+
rankTasks
|
|
12
|
+
} from "./chunk-ZPI2VQ7U.js";
|
|
13
|
+
import {
|
|
14
|
+
buildExecutionPlan,
|
|
15
|
+
estimateTokens
|
|
16
|
+
} from "./chunk-UL66HWYF.js";
|
|
17
|
+
import {
|
|
18
|
+
ClaudeCodeAdapter,
|
|
19
|
+
CodexAdapter,
|
|
20
|
+
createSandbox,
|
|
21
|
+
executeTask
|
|
22
|
+
} from "./chunk-NDMV4EEK.js";
|
|
23
|
+
import {
|
|
24
|
+
UNLIMITED_BUDGET,
|
|
25
|
+
createEventBus,
|
|
26
|
+
loadConfig
|
|
27
|
+
} from "./chunk-TGZ2TGDA.js";
|
|
28
|
+
import {
|
|
29
|
+
contributionLogSchema,
|
|
30
|
+
writeContributionLog
|
|
31
|
+
} from "./chunk-LQC5DLT7.js";
|
|
32
|
+
|
|
33
|
+
// src/cli/cli.ts
|
|
3
34
|
import { Command as Command9 } from "commander";
|
|
4
35
|
|
|
5
|
-
// src/commands/doctor.ts
|
|
36
|
+
// src/cli/commands/doctor.ts
|
|
6
37
|
import { spawn } from "child_process";
|
|
7
38
|
import chalk, { Chalk } from "chalk";
|
|
8
39
|
import { Command } from "commander";
|
|
@@ -239,7 +270,7 @@ function runCommand(command, args) {
|
|
|
239
270
|
});
|
|
240
271
|
}
|
|
241
272
|
|
|
242
|
-
// src/commands/init.ts
|
|
273
|
+
// src/cli/commands/init.ts
|
|
243
274
|
import { constants as fsConstants } from "fs";
|
|
244
275
|
import { access, mkdir, writeFile } from "fs/promises";
|
|
245
276
|
import { resolve } from "path";
|
|
@@ -418,10 +449,9 @@ async function pathExists(path) {
|
|
|
418
449
|
}
|
|
419
450
|
}
|
|
420
451
|
|
|
421
|
-
// src/commands/leaderboard.ts
|
|
452
|
+
// src/cli/commands/leaderboard.ts
|
|
422
453
|
import { readFile, readdir } from "fs/promises";
|
|
423
454
|
import { resolve as resolve2 } from "path";
|
|
424
|
-
import { contributionLogSchema } from "@open330/oac-tracking";
|
|
425
455
|
import Table from "cli-table3";
|
|
426
456
|
import { Command as Command3 } from "commander";
|
|
427
457
|
function createLeaderboardCommand() {
|
|
@@ -628,10 +658,9 @@ function isFileNotFoundError(error) {
|
|
|
628
658
|
return error.code === "ENOENT";
|
|
629
659
|
}
|
|
630
660
|
|
|
631
|
-
// src/commands/log.ts
|
|
661
|
+
// src/cli/commands/log.ts
|
|
632
662
|
import { readFile as readFile2, readdir as readdir2 } from "fs/promises";
|
|
633
663
|
import { resolve as resolve3 } from "path";
|
|
634
|
-
import { contributionLogSchema as contributionLogSchema2 } from "@open330/oac-tracking";
|
|
635
664
|
import Table2 from "cli-table3";
|
|
636
665
|
import { Command as Command4 } from "commander";
|
|
637
666
|
function createLogCommand() {
|
|
@@ -709,7 +738,7 @@ async function readContributionLogs2(repoPath) {
|
|
|
709
738
|
try {
|
|
710
739
|
const content = await readFile2(filePath, "utf8");
|
|
711
740
|
const payload = JSON.parse(content);
|
|
712
|
-
const parsed =
|
|
741
|
+
const parsed = contributionLogSchema.safeParse(payload);
|
|
713
742
|
return parsed.success ? parsed.data : null;
|
|
714
743
|
} catch {
|
|
715
744
|
return null;
|
|
@@ -762,17 +791,7 @@ function isFileNotFoundError2(error) {
|
|
|
762
791
|
return code === "ENOENT";
|
|
763
792
|
}
|
|
764
793
|
|
|
765
|
-
// src/
|
|
766
|
-
import { buildExecutionPlan, estimateTokens } from "@open330/oac-budget";
|
|
767
|
-
import {
|
|
768
|
-
CompositeScanner,
|
|
769
|
-
LintScanner,
|
|
770
|
-
TodoScanner,
|
|
771
|
-
rankTasks
|
|
772
|
-
} from "@open330/oac-discovery";
|
|
773
|
-
import { cloneRepo, resolveRepo } from "@open330/oac-repo";
|
|
774
|
-
|
|
775
|
-
// src/github-auth.ts
|
|
794
|
+
// src/cli/github-auth.ts
|
|
776
795
|
import { execFileSync } from "child_process";
|
|
777
796
|
function ensureGitHubAuth() {
|
|
778
797
|
const githubToken = process.env.GITHUB_TOKEN?.trim();
|
|
@@ -828,18 +847,17 @@ function checkGitHubScopes(required = ["repo"]) {
|
|
|
828
847
|
}
|
|
829
848
|
}
|
|
830
849
|
|
|
831
|
-
// src/commands/plan.ts
|
|
850
|
+
// src/cli/commands/plan.ts
|
|
832
851
|
import chalk3, { Chalk as Chalk3 } from "chalk";
|
|
833
852
|
import Table3 from "cli-table3";
|
|
834
853
|
import { Command as Command5 } from "commander";
|
|
835
854
|
import ora from "ora";
|
|
836
855
|
|
|
837
|
-
// src/config-loader.ts
|
|
856
|
+
// src/cli/config-loader.ts
|
|
838
857
|
import { constants as fsConstants2 } from "fs";
|
|
839
858
|
import { access as access2, readFile as readFile3 } from "fs/promises";
|
|
840
859
|
import { resolve as resolve4 } from "path";
|
|
841
860
|
import { pathToFileURL } from "url";
|
|
842
|
-
import { loadConfig } from "@open330/oac-core";
|
|
843
861
|
var LEGACY_DEFINE_CONFIG_IMPORT = /@(?:open330\/oac-core|oac\/core)/;
|
|
844
862
|
var LEGACY_DEFINE_CONFIG_IMPORT_LINE = /^\s*import\s*\{\s*defineConfig\s*\}\s*from\s*["']@(?:open330\/oac-core|oac\/core)["'];\s*$/m;
|
|
845
863
|
var LEGACY_DEFINE_CONFIG_EXPORT = /export\s+default\s+defineConfig\s*\(/;
|
|
@@ -909,7 +927,7 @@ async function pathExists2(path) {
|
|
|
909
927
|
}
|
|
910
928
|
}
|
|
911
929
|
|
|
912
|
-
// src/commands/plan.ts
|
|
930
|
+
// src/cli/commands/plan.ts
|
|
913
931
|
function createPlanCommand() {
|
|
914
932
|
const command = new Command5("plan");
|
|
915
933
|
command.description("Build an execution plan from discovered tasks").option("--repo <owner/repo>", "Target repository (owner/repo or GitHub URL)").option("--tokens <number>", "Token budget for planning", parseInteger3).option("--provider <id>", "Agent provider id").action(async (options, cmd) => {
|
|
@@ -1117,29 +1135,8 @@ function truncate(value, maxLength) {
|
|
|
1117
1135
|
return `${value.slice(0, Math.max(0, maxLength - 3))}...`;
|
|
1118
1136
|
}
|
|
1119
1137
|
|
|
1120
|
-
// src/commands/run.ts
|
|
1138
|
+
// src/cli/commands/run.ts
|
|
1121
1139
|
import { randomUUID } from "crypto";
|
|
1122
|
-
import { buildExecutionPlan as buildExecutionPlan2, estimateTokens as estimateTokens2 } from "@open330/oac-budget";
|
|
1123
|
-
import {
|
|
1124
|
-
UNLIMITED_BUDGET,
|
|
1125
|
-
createEventBus
|
|
1126
|
-
} from "@open330/oac-core";
|
|
1127
|
-
import {
|
|
1128
|
-
CompositeScanner as CompositeScanner2,
|
|
1129
|
-
GitHubIssuesScanner,
|
|
1130
|
-
LintScanner as LintScanner2,
|
|
1131
|
-
TestGapScanner,
|
|
1132
|
-
TodoScanner as TodoScanner2,
|
|
1133
|
-
rankTasks as rankTasks2
|
|
1134
|
-
} from "@open330/oac-discovery";
|
|
1135
|
-
import {
|
|
1136
|
-
ClaudeCodeAdapter,
|
|
1137
|
-
CodexAdapter,
|
|
1138
|
-
createSandbox,
|
|
1139
|
-
executeTask as workerExecuteTask
|
|
1140
|
-
} from "@open330/oac-execution";
|
|
1141
|
-
import { cloneRepo as cloneRepo2, resolveRepo as resolveRepo2 } from "@open330/oac-repo";
|
|
1142
|
-
import { writeContributionLog } from "@open330/oac-tracking";
|
|
1143
1140
|
import chalk4, { Chalk as Chalk4 } from "chalk";
|
|
1144
1141
|
import Table4 from "cli-table3";
|
|
1145
1142
|
import { Command as Command6 } from "commander";
|
|
@@ -1201,10 +1198,10 @@ function createRunCommand() {
|
|
|
1201
1198
|
);
|
|
1202
1199
|
}
|
|
1203
1200
|
const resolveSpinner = createSpinner2(outputJson, "Resolving repository...");
|
|
1204
|
-
const resolvedRepo = await
|
|
1201
|
+
const resolvedRepo = await resolveRepo(repoInput);
|
|
1205
1202
|
resolveSpinner?.succeed(`Resolved ${resolvedRepo.fullName}`);
|
|
1206
1203
|
const cloneSpinner = createSpinner2(outputJson, "Preparing local clone...");
|
|
1207
|
-
await
|
|
1204
|
+
await cloneRepo(resolvedRepo);
|
|
1208
1205
|
cloneSpinner?.succeed(`Repository ready at ${resolvedRepo.localPath}`);
|
|
1209
1206
|
const scanSpinner = createSpinner2(
|
|
1210
1207
|
outputJson,
|
|
@@ -1216,7 +1213,7 @@ function createRunCommand() {
|
|
|
1216
1213
|
repo: resolvedRepo
|
|
1217
1214
|
});
|
|
1218
1215
|
scanSpinner?.succeed(`Discovered ${scannedTasks.length} raw task(s)`);
|
|
1219
|
-
let candidateTasks =
|
|
1216
|
+
let candidateTasks = rankTasks(scannedTasks).filter((task) => task.priority >= minPriority);
|
|
1220
1217
|
if (options.source) {
|
|
1221
1218
|
candidateTasks = candidateTasks.filter((task) => task.source === options.source);
|
|
1222
1219
|
}
|
|
@@ -1250,7 +1247,7 @@ function createRunCommand() {
|
|
|
1250
1247
|
);
|
|
1251
1248
|
const estimates = await estimateTaskMap2(candidateTasks, providerId);
|
|
1252
1249
|
estimateSpinner?.succeed("Token estimation completed");
|
|
1253
|
-
const plan =
|
|
1250
|
+
const plan = buildExecutionPlan(candidateTasks, estimates, totalBudget);
|
|
1254
1251
|
if (options.dryRun) {
|
|
1255
1252
|
const dryRunSummary = {
|
|
1256
1253
|
runId,
|
|
@@ -1576,20 +1573,20 @@ function selectScannersFromConfig2(config, hasGitHubAuth) {
|
|
|
1576
1573
|
}
|
|
1577
1574
|
const uniqueEnabled = [...new Set(enabled)];
|
|
1578
1575
|
const scannerInstances = uniqueEnabled.map((scannerName) => {
|
|
1579
|
-
if (scannerName === "lint") return new
|
|
1576
|
+
if (scannerName === "lint") return new LintScanner();
|
|
1580
1577
|
if (scannerName === "github-issues") return new GitHubIssuesScanner();
|
|
1581
1578
|
if (scannerName === "test-gap") return new TestGapScanner();
|
|
1582
|
-
return new
|
|
1579
|
+
return new TodoScanner();
|
|
1583
1580
|
});
|
|
1584
1581
|
return {
|
|
1585
1582
|
enabled: uniqueEnabled,
|
|
1586
|
-
scanner: new
|
|
1583
|
+
scanner: new CompositeScanner(scannerInstances)
|
|
1587
1584
|
};
|
|
1588
1585
|
}
|
|
1589
1586
|
async function estimateTaskMap2(tasks, providerId) {
|
|
1590
1587
|
const entries = await Promise.all(
|
|
1591
1588
|
tasks.map(async (task) => {
|
|
1592
|
-
const estimate = await
|
|
1589
|
+
const estimate = await estimateTokens(task, providerId);
|
|
1593
1590
|
return [task.id, estimate];
|
|
1594
1591
|
})
|
|
1595
1592
|
);
|
|
@@ -1607,7 +1604,7 @@ async function executeWithAgent(input2) {
|
|
|
1607
1604
|
cleanup: sandbox.cleanup
|
|
1608
1605
|
};
|
|
1609
1606
|
try {
|
|
1610
|
-
const result = await
|
|
1607
|
+
const result = await executeTask(input2.adapter, input2.task, sandbox, eventBus, {
|
|
1611
1608
|
tokenBudget: input2.estimate.totalEstimatedTokens,
|
|
1612
1609
|
timeoutMs: input2.timeoutSeconds * 1e3
|
|
1613
1610
|
});
|
|
@@ -1669,21 +1666,35 @@ async function createPullRequest(input2) {
|
|
|
1669
1666
|
env: ghEnv
|
|
1670
1667
|
});
|
|
1671
1668
|
const prTitle = `[OAC] ${input2.task.title}`;
|
|
1672
|
-
const
|
|
1669
|
+
const prBodyLines = [
|
|
1673
1670
|
"## Summary",
|
|
1674
1671
|
"",
|
|
1675
1672
|
input2.task.description || `Automated contribution for task "${input2.task.title}".`,
|
|
1676
|
-
""
|
|
1673
|
+
""
|
|
1674
|
+
];
|
|
1675
|
+
if (input2.task.linkedIssue) {
|
|
1676
|
+
prBodyLines.push(
|
|
1677
|
+
`Closes #${input2.task.linkedIssue.number}`,
|
|
1678
|
+
""
|
|
1679
|
+
);
|
|
1680
|
+
}
|
|
1681
|
+
prBodyLines.push(
|
|
1677
1682
|
"## Context",
|
|
1678
1683
|
"",
|
|
1679
1684
|
`- **Task source:** ${input2.task.source}`,
|
|
1680
1685
|
`- **Complexity:** ${input2.task.complexity}`,
|
|
1681
1686
|
`- **Tokens used:** ${input2.execution.totalTokensUsed}`,
|
|
1682
|
-
`- **Files changed:** ${input2.execution.filesChanged.length}
|
|
1687
|
+
`- **Files changed:** ${input2.execution.filesChanged.length}`
|
|
1688
|
+
);
|
|
1689
|
+
if (input2.task.linkedIssue) {
|
|
1690
|
+
prBodyLines.push(`- **Resolves:** #${input2.task.linkedIssue.number}`);
|
|
1691
|
+
}
|
|
1692
|
+
prBodyLines.push(
|
|
1683
1693
|
"",
|
|
1684
1694
|
"---",
|
|
1685
1695
|
"*This PR was automatically generated by [OAC](https://github.com/Open330/open-agent-contribution).*"
|
|
1686
|
-
|
|
1696
|
+
);
|
|
1697
|
+
const prBody = prBodyLines.join("\n");
|
|
1687
1698
|
const ghResult = await execa(
|
|
1688
1699
|
"gh",
|
|
1689
1700
|
[
|
|
@@ -1952,16 +1963,7 @@ function truncate2(value, maxLength) {
|
|
|
1952
1963
|
return `${value.slice(0, Math.max(0, maxLength - 3))}...`;
|
|
1953
1964
|
}
|
|
1954
1965
|
|
|
1955
|
-
// src/commands/scan.ts
|
|
1956
|
-
import {
|
|
1957
|
-
CompositeScanner as CompositeScanner3,
|
|
1958
|
-
GitHubIssuesScanner as GitHubIssuesScanner2,
|
|
1959
|
-
LintScanner as LintScanner3,
|
|
1960
|
-
TestGapScanner as TestGapScanner2,
|
|
1961
|
-
TodoScanner as TodoScanner3,
|
|
1962
|
-
rankTasks as rankTasks3
|
|
1963
|
-
} from "@open330/oac-discovery";
|
|
1964
|
-
import { cloneRepo as cloneRepo3, resolveRepo as resolveRepo3 } from "@open330/oac-repo";
|
|
1966
|
+
// src/cli/commands/scan.ts
|
|
1965
1967
|
import chalk5, { Chalk as Chalk5 } from "chalk";
|
|
1966
1968
|
import Table5 from "cli-table3";
|
|
1967
1969
|
import { Command as Command7 } from "commander";
|
|
@@ -1989,10 +1991,10 @@ function createScanCommand() {
|
|
|
1989
1991
|
);
|
|
1990
1992
|
}
|
|
1991
1993
|
const resolveSpinner = createSpinner3(outputJson, "Resolving repository...");
|
|
1992
|
-
const resolvedRepo = await
|
|
1994
|
+
const resolvedRepo = await resolveRepo(repoInput);
|
|
1993
1995
|
resolveSpinner?.succeed(`Resolved ${resolvedRepo.fullName}`);
|
|
1994
1996
|
const cloneSpinner = createSpinner3(outputJson, "Preparing local clone...");
|
|
1995
|
-
await
|
|
1997
|
+
await cloneRepo(resolvedRepo);
|
|
1996
1998
|
cloneSpinner?.succeed(`Repository ready at ${resolvedRepo.localPath}`);
|
|
1997
1999
|
const scanSpinner = createSpinner3(
|
|
1998
2000
|
outputJson,
|
|
@@ -2004,7 +2006,7 @@ function createScanCommand() {
|
|
|
2004
2006
|
repo: resolvedRepo
|
|
2005
2007
|
});
|
|
2006
2008
|
scanSpinner?.succeed(`Scanned ${resolvedRepo.fullName}`);
|
|
2007
|
-
const rankedTasks =
|
|
2009
|
+
const rankedTasks = rankTasks(scannedTasks).filter(
|
|
2008
2010
|
(task) => task.priority >= options.minPriority
|
|
2009
2011
|
);
|
|
2010
2012
|
if (outputJson) {
|
|
@@ -2127,15 +2129,15 @@ function selectScanners(scannerOption, config, hasGitHubAuth = false) {
|
|
|
2127
2129
|
);
|
|
2128
2130
|
}
|
|
2129
2131
|
const scannerInstances = uniqueEnabled.map((name) => {
|
|
2130
|
-
if (name === "lint") return new
|
|
2131
|
-
if (name === "github-issues") return new
|
|
2132
|
-
if (name === "test-gap") return new
|
|
2133
|
-
return new
|
|
2132
|
+
if (name === "lint") return new LintScanner();
|
|
2133
|
+
if (name === "github-issues") return new GitHubIssuesScanner();
|
|
2134
|
+
if (name === "test-gap") return new TestGapScanner();
|
|
2135
|
+
return new TodoScanner();
|
|
2134
2136
|
});
|
|
2135
2137
|
return {
|
|
2136
2138
|
enabled: uniqueEnabled,
|
|
2137
2139
|
unknown,
|
|
2138
|
-
scanner: new
|
|
2140
|
+
scanner: new CompositeScanner(scannerInstances)
|
|
2139
2141
|
};
|
|
2140
2142
|
}
|
|
2141
2143
|
function scannersFromConfig(config, hasGitHubAuth = false) {
|
|
@@ -2168,7 +2170,7 @@ function truncate3(value, maxLength) {
|
|
|
2168
2170
|
return `${value.slice(0, Math.max(0, maxLength - 3))}...`;
|
|
2169
2171
|
}
|
|
2170
2172
|
|
|
2171
|
-
// src/commands/status.ts
|
|
2173
|
+
// src/cli/commands/status.ts
|
|
2172
2174
|
import { readFile as readFile4 } from "fs/promises";
|
|
2173
2175
|
import { resolve as resolve5 } from "path";
|
|
2174
2176
|
import { Command as Command8 } from "commander";
|
|
@@ -2335,19 +2337,7 @@ function isFileNotFoundError3(error) {
|
|
|
2335
2337
|
return error.code === "ENOENT";
|
|
2336
2338
|
}
|
|
2337
2339
|
|
|
2338
|
-
// src/cli.ts
|
|
2339
|
-
async function readCliVersion() {
|
|
2340
|
-
try {
|
|
2341
|
-
const packageJsonPath = new URL("../package.json", import.meta.url);
|
|
2342
|
-
const packageJsonRaw = await readFile5(packageJsonPath, "utf8");
|
|
2343
|
-
const packageJson = JSON.parse(packageJsonRaw);
|
|
2344
|
-
if (typeof packageJson.version === "string" && packageJson.version.length > 0) {
|
|
2345
|
-
return packageJson.version;
|
|
2346
|
-
}
|
|
2347
|
-
} catch {
|
|
2348
|
-
}
|
|
2349
|
-
return "0.0.0";
|
|
2350
|
-
}
|
|
2340
|
+
// src/cli/cli.ts
|
|
2351
2341
|
function registerCommands(program) {
|
|
2352
2342
|
program.addCommand(createInitCommand());
|
|
2353
2343
|
program.addCommand(createDoctorCommand());
|
|
@@ -2359,7 +2349,7 @@ function registerCommands(program) {
|
|
|
2359
2349
|
program.addCommand(createStatusCommand());
|
|
2360
2350
|
}
|
|
2361
2351
|
async function createCliProgram() {
|
|
2362
|
-
const version =
|
|
2352
|
+
const version = true ? "2026.4.0" : "0.0.0";
|
|
2363
2353
|
const program = new Command9();
|
|
2364
2354
|
program.name("oac").description("Open Agent Contribution CLI").version(version).option("--config <path>", "Config file path", "oac.config.ts").option("--verbose", "Enable verbose logging", false).option("--json", "Output machine-readable JSON", false).option("--no-color", "Disable ANSI colors");
|
|
2365
2355
|
registerCommands(program);
|
|
@@ -2374,4 +2364,4 @@ export {
|
|
|
2374
2364
|
createCliProgram,
|
|
2375
2365
|
runCli
|
|
2376
2366
|
};
|
|
2377
|
-
//# sourceMappingURL=chunk-
|
|
2367
|
+
//# sourceMappingURL=chunk-WD3TJVSA.js.map
|