brass-runtime 1.16.0 → 1.17.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.
- package/CHANGELOG.md +17 -0
- package/README.md +287 -23
- package/dist/agent/cli/main.cjs +38 -38
- package/dist/agent/cli/main.js +6 -6
- package/dist/agent/cli/main.mjs +6 -6
- package/dist/agent/index.cjs +7 -7
- package/dist/agent/index.d.ts +1 -1
- package/dist/agent/index.js +6 -6
- package/dist/agent/index.mjs +6 -6
- package/dist/chunk-2HQTDLHF.mjs +683 -0
- package/dist/chunk-36I3M4UC.mjs +370 -0
- package/dist/{chunk-QY5FKYEQ.js → chunk-3AYM6WPJ.js} +570 -51
- package/dist/chunk-3LOYJFRR.cjs +300 -0
- package/dist/chunk-3Y2RIUMM.js +300 -0
- package/dist/{chunk-7XOPAB5Q.js → chunk-4P2HHGAX.mjs} +83 -5
- package/dist/{chunk-N6VHMOWB.cjs → chunk-4ROBZFL6.cjs} +128 -128
- package/dist/{chunk-NC5SDRYE.js → chunk-52OB2ROS.js} +4 -4
- package/dist/{chunk-JX3LZQJH.cjs → chunk-52PPNNI4.cjs} +82 -20
- package/dist/{chunk-5YOQOXEQ.cjs → chunk-5EC274J5.cjs} +676 -293
- package/dist/chunk-5QC7LRZ3.js +229 -0
- package/dist/{chunk-7TL2LHQJ.js → chunk-5VRJNBLZ.mjs} +524 -141
- package/dist/chunk-62AZW6UT.cjs +313 -0
- package/dist/chunk-6IXXWIUM.js +683 -0
- package/dist/chunk-6RY2FFN4.mjs +2024 -0
- package/dist/chunk-74ZTY6CP.js +2871 -0
- package/dist/chunk-7CMJS3QE.mjs +2871 -0
- package/dist/{chunk-2WC63LJK.mjs → chunk-7JIJOVCT.js} +20 -10
- package/dist/chunk-7X3K5RMS.js +2024 -0
- package/dist/chunk-7ZPEZ57L.cjs +2024 -0
- package/dist/{chunk-FM4W4QPL.js → chunk-A2OM6NEH.mjs} +5 -4
- package/dist/chunk-AGR5B2BC.cjs +683 -0
- package/dist/chunk-B33ICAKP.js +313 -0
- package/dist/{chunk-J3H54ZRV.mjs → chunk-B5JD23U7.mjs} +1 -1
- package/dist/{chunk-F5EUMJL7.mjs → chunk-BKK77SBA.js} +83 -5
- package/dist/{chunk-U5KWK3PX.mjs → chunk-C3MDXTRZ.js} +11 -0
- package/dist/{chunk-SPUEME2B.cjs → chunk-CZIVE6NT.cjs} +12 -1
- package/dist/{chunk-TDVMADDN.js → chunk-DNFJLJMW.mjs} +11 -0
- package/dist/{chunk-XDZOO4L5.js → chunk-EJ6BPYVR.mjs} +79 -17
- package/dist/chunk-EOC4UHBS.mjs +229 -0
- package/dist/chunk-F6XWZQY4.cjs +777 -0
- package/dist/{chunk-7LVI2GIN.js → chunk-FH2X7BVP.js} +507 -72
- package/dist/{chunk-OOGJ73B6.js → chunk-FHQGHPMO.mjs} +20 -10
- package/dist/{chunk-WQ5QNU5R.cjs → chunk-GLE2WY7Z.cjs} +652 -217
- package/dist/{chunk-G6IQOE4P.mjs → chunk-GYM3LLGS.mjs} +507 -72
- package/dist/{chunk-TVN5I4U6.cjs → chunk-JF5WGYJJ.cjs} +25 -24
- package/dist/{chunk-CY33PGEX.mjs → chunk-KH4SYAOS.mjs} +570 -51
- package/dist/chunk-KN32XNTH.mjs +313 -0
- package/dist/chunk-KQLYONSE.cjs +2871 -0
- package/dist/{chunk-7HUOJA4W.cjs → chunk-KZJQ723N.cjs} +90 -80
- package/dist/{chunk-CCKHV5BT.mjs → chunk-L2SYFEBS.js} +5 -4
- package/dist/{chunk-IJT6RRQ5.cjs → chunk-L6VB5N7Q.cjs} +20 -9
- package/dist/{chunk-ZGLD4TVZ.mjs → chunk-MBEJI5HF.mjs} +4 -4
- package/dist/{chunk-PRWCB3QL.mjs → chunk-MIIYDLGM.js} +524 -141
- package/dist/{chunk-H55LI6WY.js → chunk-MOO4L7F4.mjs} +15 -4
- package/dist/chunk-MVGUEJ5Z.cjs +370 -0
- package/dist/chunk-PD4EJTQC.cjs +229 -0
- package/dist/chunk-PWC3RBQE.mjs +300 -0
- package/dist/{chunk-MWXMNYJS.cjs → chunk-Q2I37RP3.cjs} +643 -124
- package/dist/{chunk-VFIUZG7J.mjs → chunk-RKGKFN2A.js} +79 -17
- package/dist/{chunk-NYL4D7SK.cjs → chunk-SA6HUJVI.cjs} +5 -5
- package/dist/chunk-SK7UZRNI.mjs +777 -0
- package/dist/{chunk-K2T3DV26.mjs → chunk-TRM4JUZQ.js} +15 -4
- package/dist/chunk-UB4B6OFY.js +370 -0
- package/dist/{chunk-G3XGCZDQ.js → chunk-UCUBNWM2.js} +1 -1
- package/dist/chunk-VWIPB6I5.js +777 -0
- package/dist/{chunk-JNFRRJYH.cjs → chunk-WBGRHGBP.cjs} +270 -192
- package/dist/{client-CtFmoDvM.d.ts → client-CZHU674n.d.ts} +211 -36
- package/dist/core/index.cjs +135 -9
- package/dist/core/index.d.ts +238 -33
- package/dist/core/index.js +155 -29
- package/dist/core/index.mjs +155 -29
- package/dist/{effect-CGNl5Rqp.d.ts → effect-DIUHZ9IN.d.ts} +89 -1
- package/dist/effectRunner-CFLC32IK.cjs +8 -0
- package/dist/{effectRunner-A4CHJXJI.js → effectRunner-L4S7IPT3.js} +2 -2
- package/dist/{effectRunner-OPUF6QRN.mjs → effectRunner-NNGG75QA.mjs} +2 -2
- package/dist/http/index.cjs +324 -2986
- package/dist/http/index.d.ts +54 -68
- package/dist/http/index.js +238 -2900
- package/dist/http/index.mjs +238 -2900
- package/dist/http/testing.cjs +14 -12
- package/dist/http/testing.d.ts +5 -4
- package/dist/http/testing.js +10 -8
- package/dist/http/testing.mjs +10 -8
- package/dist/index.cjs +423 -255
- package/dist/index.d.ts +87 -69
- package/dist/index.js +301 -133
- package/dist/index.mjs +301 -133
- package/dist/observability/index.cjs +18 -531
- package/dist/observability/index.d.ts +81 -8
- package/dist/observability/index.js +25 -538
- package/dist/observability/index.mjs +25 -538
- package/dist/perf/cli.cjs +401 -0
- package/dist/perf/cli.d.ts +1 -0
- package/dist/perf/cli.js +401 -0
- package/dist/perf/cli.mjs +401 -0
- package/dist/perf/index.cjs +141 -0
- package/dist/perf/index.d.ts +483 -0
- package/dist/perf/index.js +141 -0
- package/dist/perf/index.mjs +141 -0
- package/dist/schedule-CK3Ml_7p.d.ts +259 -0
- package/dist/schema/index.cjs +6 -2
- package/dist/schema/index.d.ts +3 -1
- package/dist/schema/index.js +5 -1
- package/dist/schema/index.mjs +5 -1
- package/dist/{server-C8hDXA74.d.ts → server-D6JZ15_e.d.ts} +16 -4
- package/dist/{stream-dvSs0QS5.d.ts → stream-B4oK9JFP.d.ts} +1 -1
- package/dist/{tracer-B5tRH9H7.d.ts → tracer-Hwt1cl7h.d.ts} +13 -54
- package/dist/{tracing-Dt9S_6V8.d.ts → tracing-DqbTKGcf.d.ts} +1 -1
- package/docs/ARCHITECTURE.md +292 -0
- package/docs/README.md +65 -0
- package/docs/adr/0001-ai-context-pack.md +32 -0
- package/docs/agent-apply-mode.md +104 -0
- package/docs/agent-approvals.md +110 -0
- package/docs/agent-batch.md +185 -0
- package/docs/agent-boundaries.md +112 -0
- package/docs/agent-chat-sessions.md +160 -0
- package/docs/agent-ci.md +17 -0
- package/docs/agent-cli.md +405 -0
- package/docs/agent-config.md +480 -0
- package/docs/agent-context-discovery.md +159 -0
- package/docs/agent-copilot-like-dx.md +126 -0
- package/docs/agent-declarative-optimized-planning.md +138 -0
- package/docs/agent-dx.md +224 -0
- package/docs/agent-env-files.md +126 -0
- package/docs/agent-follow-up-context.md +43 -0
- package/docs/agent-global-usage.md +180 -0
- package/docs/agent-init.md +109 -0
- package/docs/agent-install-and-configure.md +516 -0
- package/docs/agent-language-workspace-ux.md +99 -0
- package/docs/agent-llm-adapters.md +123 -0
- package/docs/agent-local-install.md +190 -0
- package/docs/agent-local-tests.md +51 -0
- package/docs/agent-observability.md +155 -0
- package/docs/agent-patch-quality-loop.md +162 -0
- package/docs/agent-presets.md +22 -0
- package/docs/agent-project-commands.md +237 -0
- package/docs/agent-project-intelligence.md +156 -0
- package/docs/agent-redaction.md +18 -0
- package/docs/agent-release-readiness.md +76 -0
- package/docs/agent-rollback-safety.md +162 -0
- package/docs/agent-rollback.md +23 -0
- package/docs/agent-run-artifacts.md +16 -0
- package/docs/agent-vscode-auto-discovery.md +137 -0
- package/docs/agent-vscode-batch-runner.md +100 -0
- package/docs/agent-vscode-chat-layout.md +90 -0
- package/docs/agent-vscode-clean-install.md +147 -0
- package/docs/agent-vscode-code-actions.md +70 -0
- package/docs/agent-vscode-diff-preview.md +45 -0
- package/docs/agent-vscode-inline-assist.md +56 -0
- package/docs/agent-vscode-install.md +186 -0
- package/docs/agent-vscode-model-setup.md +97 -0
- package/docs/agent-vscode-patch-preview.md +92 -0
- package/docs/agent-vscode-problems.md +79 -0
- package/docs/agent-vscode-project-dashboard.md +106 -0
- package/docs/agent-vscode-run-history.md +92 -0
- package/docs/agent-vscode-ux.md +73 -0
- package/docs/ai/INVARIANTS.md +84 -0
- package/docs/ai/PROJECT_MAP.md +338 -0
- package/docs/ai/PUBLIC_API.md +339 -0
- package/docs/ai/VALIDATION_MATRIX.md +67 -0
- package/docs/api-polish.md +37 -0
- package/docs/cancellation.md +162 -0
- package/docs/coverage.md +46 -0
- package/docs/framework-integrations.md +38 -0
- package/docs/frameworks/angular.md +153 -0
- package/docs/frameworks/express.md +125 -0
- package/docs/frameworks/fastify.md +124 -0
- package/docs/frameworks/nestjs.md +282 -0
- package/docs/frameworks/nextjs.md +147 -0
- package/docs/frameworks/react.md +139 -0
- package/docs/frameworks/vanilla.md +224 -0
- package/docs/getting-started.md +159 -0
- package/docs/guides/README.md +40 -0
- package/docs/guides/circuit-breaker.md +89 -0
- package/docs/guides/error-handling.md +91 -0
- package/docs/guides/getting-started.md +107 -0
- package/docs/guides/layers.md +189 -0
- package/docs/guides/metrics.md +101 -0
- package/docs/guides/resource-management.md +141 -0
- package/docs/guides/retry.md +215 -0
- package/docs/guides/semaphore.md +66 -0
- package/docs/guides/streams.md +117 -0
- package/docs/guides/supervisors.md +98 -0
- package/docs/guides/testing.md +162 -0
- package/docs/guides/tracing.md +71 -0
- package/docs/http-recipes.md +399 -0
- package/docs/http.md +749 -0
- package/docs/modules.md +285 -0
- package/docs/nestjs.md +6 -0
- package/docs/observability-collector-smoke.md +31 -0
- package/docs/observability-framework-examples.md +110 -0
- package/docs/observability.md +649 -0
- package/docs/otel-collector-smoke.yaml +27 -0
- package/docs/performance-profiler.md +199 -0
- package/docs/production-readiness.md +73 -0
- package/docs/recipes/README.md +12 -0
- package/docs/recipes/http-server.md +45 -0
- package/docs/recipes/layers.md +44 -0
- package/docs/recipes/performance.md +47 -0
- package/docs/recipes/runtime.md +41 -0
- package/docs/recipes/testing.md +41 -0
- package/docs/release.md +53 -0
- package/docs/wasm-bounded-queues.md +44 -0
- package/docs/wasm-engine-observability-benchmarks.md +85 -0
- package/docs/wasm-fiber-engine.md +117 -0
- package/docs/wasm-scheduler-state-machine.md +122 -0
- package/docs/wasm-stream-chunks.md +54 -0
- package/package.json +22 -2
- package/dist/chunk-45F7OKGT.cjs +0 -104
- package/dist/chunk-7V4KY4RL.mjs +0 -104
- package/dist/chunk-DJQ7OMMB.cjs +0 -144
- package/dist/chunk-GOV47PPB.mjs +0 -552
- package/dist/chunk-JF4XXPZ5.cjs +0 -552
- package/dist/chunk-KCPT2D6G.js +0 -552
- package/dist/chunk-NOYZIMUJ.mjs +0 -144
- package/dist/chunk-PNVFW245.js +0 -144
- package/dist/chunk-ROJC3NBJ.js +0 -104
- package/dist/effectRunner-3ZHAD3LE.cjs +0 -8
- package/dist/schedule-Fque9Abz.d.ts +0 -70
package/dist/agent/cli/main.cjs
CHANGED
|
@@ -17,18 +17,18 @@
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
var
|
|
21
|
-
require('../../chunk-
|
|
22
|
-
require('../../chunk-
|
|
20
|
+
var _chunk4ROBZFL6cjs = require('../../chunk-4ROBZFL6.cjs');
|
|
21
|
+
require('../../chunk-SA6HUJVI.cjs');
|
|
22
|
+
require('../../chunk-JF5WGYJJ.cjs');
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
var
|
|
25
|
+
var _chunkGLE2WY7Zcjs = require('../../chunk-GLE2WY7Z.cjs');
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
var
|
|
31
|
-
require('../../chunk-
|
|
30
|
+
var _chunkMVGUEJ5Zcjs = require('../../chunk-MVGUEJ5Z.cjs');
|
|
31
|
+
require('../../chunk-CZIVE6NT.cjs');
|
|
32
32
|
require('../../chunk-OBGZSXTJ.cjs');
|
|
33
33
|
|
|
34
34
|
// src/agent/cli/approvals.ts
|
|
@@ -45,7 +45,7 @@ var answerToResponse = (answer, request) => {
|
|
|
45
45
|
return { type: "rejected", reason: `Unrecognized approval answer: ${answer}` };
|
|
46
46
|
};
|
|
47
47
|
var makeCliApprovalService = (options = {}) => ({
|
|
48
|
-
request: (request) =>
|
|
48
|
+
request: (request) => _chunkMVGUEJ5Zcjs.asyncEffect.call(void 0, (_env, cb) => {
|
|
49
49
|
let closed = false;
|
|
50
50
|
let rl;
|
|
51
51
|
dynamicImport("node:readline/promises").then(({ createInterface }) => {
|
|
@@ -57,7 +57,7 @@ var makeCliApprovalService = (options = {}) => ({
|
|
|
57
57
|
_optionalChain([output, 'optionalAccess', _ => _.write, 'optionalCall', _2 => _2(`
|
|
58
58
|
Approval required (${request.risk})
|
|
59
59
|
`)]);
|
|
60
|
-
_optionalChain([output, 'optionalAccess', _3 => _3.write, 'optionalCall', _4 => _4(`Action: ${
|
|
60
|
+
_optionalChain([output, 'optionalAccess', _3 => _3.write, 'optionalCall', _4 => _4(`Action: ${_chunk4ROBZFL6cjs.summarizeAgentAction.call(void 0, request.action)}
|
|
61
61
|
`)]);
|
|
62
62
|
_optionalChain([output, 'optionalAccess', _5 => _5.write, 'optionalCall', _6 => _6(`Reason: ${request.reason}
|
|
63
63
|
`)]);
|
|
@@ -66,14 +66,14 @@ Approval required (${request.risk})
|
|
|
66
66
|
if (answer === void 0 || closed) return;
|
|
67
67
|
closed = true;
|
|
68
68
|
_optionalChain([rl, 'optionalAccess', _7 => _7.close, 'optionalCall', _8 => _8()]);
|
|
69
|
-
cb(
|
|
69
|
+
cb(_chunkMVGUEJ5Zcjs.Exit.succeed(answerToResponse(answer, request)));
|
|
70
70
|
}).catch((cause) => {
|
|
71
71
|
if (closed) return;
|
|
72
72
|
closed = true;
|
|
73
73
|
_optionalChain([rl, 'optionalAccess', _9 => _9.close, 'optionalCall', _10 => _10()]);
|
|
74
74
|
cb(
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
_chunkMVGUEJ5Zcjs.Exit.failCause(
|
|
76
|
+
_chunkMVGUEJ5Zcjs.Cause.fail({
|
|
77
77
|
_tag: "AgentLoopError",
|
|
78
78
|
message: `Approval prompt failed: ${String(cause)}`
|
|
79
79
|
})
|
|
@@ -1104,7 +1104,7 @@ var parseCliArgs = (argv) => {
|
|
|
1104
1104
|
}
|
|
1105
1105
|
if (arg === "--preset" || arg.startsWith("--preset=")) {
|
|
1106
1106
|
const [value, nextIndex] = readFlagValue(argv, index, "--preset");
|
|
1107
|
-
if (!
|
|
1107
|
+
if (!_chunk4ROBZFL6cjs.isAgentPreset.call(void 0, value)) {
|
|
1108
1108
|
throw new Error("--preset requires one of: fix-tests, inspect, typecheck, lint");
|
|
1109
1109
|
}
|
|
1110
1110
|
preset = value;
|
|
@@ -1280,7 +1280,7 @@ var parseBatchGoal = (value, path) => {
|
|
|
1280
1280
|
if (cwd !== void 0 && typeof cwd !== "string") throw new Error(`${path}.cwd must be a string.`);
|
|
1281
1281
|
if (patchFile !== void 0 && typeof patchFile !== "string") throw new Error(`${path}.patchFile must be a string.`);
|
|
1282
1282
|
if (saveRunDir !== void 0 && typeof saveRunDir !== "string") throw new Error(`${path}.saveRunDir must be a string.`);
|
|
1283
|
-
if (preset !== void 0 && (typeof preset !== "string" || !
|
|
1283
|
+
if (preset !== void 0 && (typeof preset !== "string" || !_chunk4ROBZFL6cjs.isAgentPreset.call(void 0, preset))) {
|
|
1284
1284
|
throw new Error(`${path}.preset must be one of: fix-tests, inspect, typecheck, lint.`);
|
|
1285
1285
|
}
|
|
1286
1286
|
if (mode !== void 0 && (typeof mode !== "string" || !isAgentMode(mode))) {
|
|
@@ -1324,7 +1324,7 @@ var readBatchFile = async (cwd, batchFile) => {
|
|
|
1324
1324
|
var resolveBatchGoalText = (item, fallbackPatchFile) => {
|
|
1325
1325
|
if (typeof item === "string") return item;
|
|
1326
1326
|
if (item.goal) return item.goal;
|
|
1327
|
-
if (item.preset) return
|
|
1327
|
+
if (item.preset) return _chunk4ROBZFL6cjs.goalForAgentPreset.call(void 0, item.preset);
|
|
1328
1328
|
if (_nullishCoalesce(item.patchFile, () => ( fallbackPatchFile))) return "apply supplied patch";
|
|
1329
1329
|
return "";
|
|
1330
1330
|
};
|
|
@@ -1351,7 +1351,7 @@ var resolveBatchRuns = (items, parsed, config) => items.map((item, index) => {
|
|
|
1351
1351
|
};
|
|
1352
1352
|
});
|
|
1353
1353
|
var resolveParsedConfig = async (parsed) => {
|
|
1354
|
-
const workspaceDiscovery =
|
|
1354
|
+
const workspaceDiscovery = _chunk4ROBZFL6cjs.discoverNodeWorkspaceRoot.call(void 0, parsed.cwd, {
|
|
1355
1355
|
enabled: parsed.discoverWorkspace
|
|
1356
1356
|
});
|
|
1357
1357
|
const cwdResolved = workspaceDiscovery.cwd;
|
|
@@ -1359,7 +1359,7 @@ var resolveParsedConfig = async (parsed) => {
|
|
|
1359
1359
|
...parsed,
|
|
1360
1360
|
cwd: cwdResolved
|
|
1361
1361
|
};
|
|
1362
|
-
const loaded = await
|
|
1362
|
+
const loaded = await _chunk4ROBZFL6cjs.loadNodeAgentConfig.call(void 0, {
|
|
1363
1363
|
cwd: cwdResolved,
|
|
1364
1364
|
configPath: parsed.configPath,
|
|
1365
1365
|
noConfig: parsed.noConfig
|
|
@@ -1375,7 +1375,7 @@ var resolveParsedConfig = async (parsed) => {
|
|
|
1375
1375
|
const batchRuns = resolveBatchRuns(batchItems, parsedAtWorkspace, loaded.config);
|
|
1376
1376
|
return {
|
|
1377
1377
|
...parsedAtWorkspace,
|
|
1378
|
-
goalText: parsed.goalText || (parsed.preset ?
|
|
1378
|
+
goalText: parsed.goalText || (parsed.preset ? _chunk4ROBZFL6cjs.goalForAgentPreset.call(void 0, parsed.preset) : parsed.patchFile ? "apply supplied patch" : parsed.goalText),
|
|
1379
1379
|
mode: parsed.modeSpecified ? parsed.mode : parsed.preset === "inspect" ? "read-only" : _nullishCoalesce(loaded.config.mode, () => ( parsed.mode)),
|
|
1380
1380
|
approval: parsed.approvalSpecified ? parsed.approval : _nullishCoalesce(loaded.config.approval, () => ( parsed.approval)),
|
|
1381
1381
|
config: loaded.config,
|
|
@@ -1499,7 +1499,7 @@ var envByName = (name) => name ? process.env[name] : void 0;
|
|
|
1499
1499
|
var makeGoogleLLMFromEnv = (config) => {
|
|
1500
1500
|
const apiKey = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(envByName(_optionalChain([config, 'optionalAccess', _39 => _39.apiKeyEnv])), () => ( process.env.BRASS_GOOGLE_API_KEY)), () => ( process.env.GOOGLE_API_KEY)), () => ( process.env.GEMINI_API_KEY));
|
|
1501
1501
|
if (!apiKey) return void 0;
|
|
1502
|
-
return
|
|
1502
|
+
return _chunk4ROBZFL6cjs.makeGoogleGenerativeAILLM.call(void 0, {
|
|
1503
1503
|
apiKey,
|
|
1504
1504
|
model: _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(process.env.BRASS_GOOGLE_MODEL, () => ( process.env.BRASS_LLM_MODEL)), () => ( _optionalChain([config, 'optionalAccess', _40 => _40.model]))), () => ( "gemini-2.5-flash")),
|
|
1505
1505
|
apiVersion: _nullishCoalesce(_nullishCoalesce(process.env.BRASS_GOOGLE_API_VERSION, () => ( _optionalChain([config, 'optionalAccess', _41 => _41.apiVersion]))), () => ( "v1beta")),
|
|
@@ -1517,12 +1517,12 @@ var makeOpenAICompatibleLLMFromEnv = (config) => {
|
|
|
1517
1517
|
const apiKey = _nullishCoalesce(envByName(_optionalChain([config, 'optionalAccess', _50 => _50.apiKeyEnv])), () => ( process.env.BRASS_LLM_API_KEY));
|
|
1518
1518
|
const model = _nullishCoalesce(_nullishCoalesce(process.env.BRASS_LLM_MODEL, () => ( _optionalChain([config, 'optionalAccess', _51 => _51.model]))), () => ( "gpt-4.1"));
|
|
1519
1519
|
if (!endpoint || !apiKey) return void 0;
|
|
1520
|
-
return
|
|
1520
|
+
return _chunk4ROBZFL6cjs.makeOpenAICompatibleLLM.call(void 0, { endpoint, apiKey, model });
|
|
1521
1521
|
};
|
|
1522
1522
|
var makeLLMFromEnv = (config) => {
|
|
1523
1523
|
const provider = _optionalChain([(_nullishCoalesce(process.env.BRASS_LLM_PROVIDER, () => ( _optionalChain([config, 'optionalAccess', _52 => _52.provider])))), 'optionalAccess', _53 => _53.trim, 'call', _54 => _54(), 'access', _55 => _55.toLowerCase, 'call', _56 => _56()]);
|
|
1524
1524
|
const fakeResponse = _nullishCoalesce(process.env.BRASS_FAKE_LLM_RESPONSE, () => ( _optionalChain([config, 'optionalAccess', _57 => _57.fakeResponse])));
|
|
1525
|
-
if (provider === "fake") return
|
|
1525
|
+
if (provider === "fake") return _chunk4ROBZFL6cjs.makeFakeLLM.call(void 0, { content: fakeResponse });
|
|
1526
1526
|
if (provider === "google" || provider === "gemini") {
|
|
1527
1527
|
const google = makeGoogleLLMFromEnv(config);
|
|
1528
1528
|
if (!google) {
|
|
@@ -1544,7 +1544,7 @@ var makeLLMFromEnv = (config) => {
|
|
|
1544
1544
|
if (provider) {
|
|
1545
1545
|
throw new Error(`Unsupported LLM provider: ${provider}`);
|
|
1546
1546
|
}
|
|
1547
|
-
return _nullishCoalesce(_nullishCoalesce(makeGoogleLLMFromEnv(config), () => ( makeOpenAICompatibleLLMFromEnv(config))), () => (
|
|
1547
|
+
return _nullishCoalesce(_nullishCoalesce(makeGoogleLLMFromEnv(config), () => ( makeOpenAICompatibleLLMFromEnv(config))), () => ( _chunk4ROBZFL6cjs.makeFakeLLM.call(void 0, { content: fakeResponse })));
|
|
1548
1548
|
};
|
|
1549
1549
|
var parseApprovalModeFromEnv = () => {
|
|
1550
1550
|
const raw = _optionalChain([process, 'access', _58 => _58.env, 'access', _59 => _59.BRASS_AGENT_APPROVAL, 'optionalAccess', _60 => _60.trim, 'call', _61 => _61(), 'access', _62 => _62.toLowerCase, 'call', _63 => _63()]);
|
|
@@ -1567,9 +1567,9 @@ var makeApprovalServiceFromCli = (parsed) => {
|
|
|
1567
1567
|
const mode = resolveApprovalMode(parsed);
|
|
1568
1568
|
switch (mode) {
|
|
1569
1569
|
case "approve":
|
|
1570
|
-
return
|
|
1570
|
+
return _chunk4ROBZFL6cjs.autoApproveApprovals;
|
|
1571
1571
|
case "deny":
|
|
1572
|
-
return
|
|
1572
|
+
return _chunk4ROBZFL6cjs.makeAutoDenyApprovals.call(void 0, "Approval rejected because the CLI is running without interactive input. Use --yes to auto-approve.");
|
|
1573
1573
|
case "interactive":
|
|
1574
1574
|
return makeCliApprovalService();
|
|
1575
1575
|
}
|
|
@@ -1701,32 +1701,32 @@ var createHumanEventSink = (configPath) => ({
|
|
|
1701
1701
|
console.log("");
|
|
1702
1702
|
break;
|
|
1703
1703
|
case "agent.action.started":
|
|
1704
|
-
console.log(`\u2192 ${
|
|
1704
|
+
console.log(`\u2192 ${_chunk4ROBZFL6cjs.summarizeAgentAction.call(void 0, event.action)}`);
|
|
1705
1705
|
break;
|
|
1706
1706
|
case "agent.action.completed": {
|
|
1707
|
-
const status =
|
|
1708
|
-
console.log(`${statusIcon2(status)} ${
|
|
1707
|
+
const status = _chunk4ROBZFL6cjs.observationStatus.call(void 0, event.observation);
|
|
1708
|
+
console.log(`${statusIcon2(status)} ${_chunk4ROBZFL6cjs.summarizeAgentObservation.call(void 0, event.observation)} ${formatDuration(event.durationMs)}`);
|
|
1709
1709
|
break;
|
|
1710
1710
|
}
|
|
1711
1711
|
case "agent.action.failed":
|
|
1712
1712
|
if (event.error._tag !== "ToolTimeout" && event.error._tag !== "PermissionDenied" && event.error._tag !== "ApprovalRejected") {
|
|
1713
|
-
console.log(`\u2717 ${
|
|
1713
|
+
console.log(`\u2717 ${_chunk4ROBZFL6cjs.summarizeAgentAction.call(void 0, event.action)} failed with ${event.error._tag} ${formatDuration(event.durationMs)}`);
|
|
1714
1714
|
}
|
|
1715
1715
|
break;
|
|
1716
1716
|
case "agent.tool.timeout":
|
|
1717
|
-
console.log(`! ${
|
|
1717
|
+
console.log(`! ${_chunk4ROBZFL6cjs.summarizeAgentAction.call(void 0, event.action)} timed out after ${event.timeoutMs}ms`);
|
|
1718
1718
|
break;
|
|
1719
1719
|
case "agent.permission.denied":
|
|
1720
|
-
console.log(`\u2717 ${
|
|
1720
|
+
console.log(`\u2717 ${_chunk4ROBZFL6cjs.summarizeAgentAction.call(void 0, event.action)} denied: ${event.reason}`);
|
|
1721
1721
|
break;
|
|
1722
1722
|
case "agent.approval.requested":
|
|
1723
|
-
console.log(`? approval required for ${
|
|
1723
|
+
console.log(`? approval required for ${_chunk4ROBZFL6cjs.summarizeAgentAction.call(void 0, event.action)} (${event.risk})`);
|
|
1724
1724
|
break;
|
|
1725
1725
|
case "agent.approval.resolved":
|
|
1726
1726
|
if (event.approved) {
|
|
1727
|
-
console.log(`\u2713 approval granted for ${
|
|
1727
|
+
console.log(`\u2713 approval granted for ${_chunk4ROBZFL6cjs.summarizeAgentAction.call(void 0, event.action)}`);
|
|
1728
1728
|
} else {
|
|
1729
|
-
console.log(`\u2717 approval rejected for ${
|
|
1729
|
+
console.log(`\u2717 approval rejected for ${_chunk4ROBZFL6cjs.summarizeAgentAction.call(void 0, event.action)}${event.reason ? `: ${event.reason}` : ""}`);
|
|
1730
1730
|
}
|
|
1731
1731
|
break;
|
|
1732
1732
|
case "agent.patch.applied":
|
|
@@ -1831,13 +1831,13 @@ var printHumanFinalSummary = (state) => {
|
|
|
1831
1831
|
};
|
|
1832
1832
|
var makeEventsSink = (parsed, compactOptions) => parsed.output === "human" ? createHumanEventSink(parsed.resolvedConfigPath) : parsed.output === "events-json" ? createJsonEventSink(compactOptions) : parsed.output === "protocol-json" ? createProtocolEventSink(compactOptions) : void 0;
|
|
1833
1833
|
var makeAgentEnv = (parsed, events) => {
|
|
1834
|
-
const shell =
|
|
1834
|
+
const shell = _chunk4ROBZFL6cjs.NodeShell;
|
|
1835
1835
|
return {
|
|
1836
1836
|
shell,
|
|
1837
|
-
fs:
|
|
1838
|
-
patch:
|
|
1837
|
+
fs: _chunk4ROBZFL6cjs.makeNodeFileSystem.call(void 0, shell),
|
|
1838
|
+
patch: _chunk4ROBZFL6cjs.makeNodePatchService.call(void 0, shell),
|
|
1839
1839
|
llm: makeLLMFromEnv(parsed.config.llm),
|
|
1840
|
-
permissions:
|
|
1840
|
+
permissions: _chunk4ROBZFL6cjs.makeConfiguredPermissions.call(void 0, parsed.config.permissions),
|
|
1841
1841
|
approvals: makeApprovalServiceFromCli(parsed),
|
|
1842
1842
|
...events ? { events } : {},
|
|
1843
1843
|
...parsed.config.tools ? { toolPolicies: parsed.config.tools } : {}
|
|
@@ -1854,10 +1854,10 @@ var singleRunFromParsed = (parsed) => ({
|
|
|
1854
1854
|
});
|
|
1855
1855
|
var runCliAgent = async (parsed, run, compactOptions, events) => {
|
|
1856
1856
|
const env = makeAgentEnv(parsed, events);
|
|
1857
|
-
const runtime = new (0,
|
|
1857
|
+
const runtime = new (0, _chunkGLE2WY7Zcjs.Runtime)({ env });
|
|
1858
1858
|
const initialPatch = run.patchFile ? await readPatchFile(run.cwd, run.patchFile) : void 0;
|
|
1859
1859
|
const state = await runtime.toPromise(
|
|
1860
|
-
|
|
1860
|
+
_chunk4ROBZFL6cjs.runAgent.call(void 0, runtime, {
|
|
1861
1861
|
id: `agent-${Date.now()}-${run.index + 1}`,
|
|
1862
1862
|
cwd: run.cwd,
|
|
1863
1863
|
text: run.goalText,
|
package/dist/agent/cli/main.js
CHANGED
|
@@ -17,18 +17,18 @@ import {
|
|
|
17
17
|
runAgent,
|
|
18
18
|
summarizeAgentAction,
|
|
19
19
|
summarizeAgentObservation
|
|
20
|
-
} from "../../chunk-
|
|
21
|
-
import "../../chunk-
|
|
22
|
-
import "../../chunk-
|
|
20
|
+
} from "../../chunk-52OB2ROS.js";
|
|
21
|
+
import "../../chunk-UCUBNWM2.js";
|
|
22
|
+
import "../../chunk-L2SYFEBS.js";
|
|
23
23
|
import {
|
|
24
24
|
Runtime
|
|
25
|
-
} from "../../chunk-
|
|
25
|
+
} from "../../chunk-FH2X7BVP.js";
|
|
26
26
|
import {
|
|
27
27
|
Cause,
|
|
28
28
|
Exit,
|
|
29
29
|
asyncEffect
|
|
30
|
-
} from "../../chunk-
|
|
31
|
-
import "../../chunk-
|
|
30
|
+
} from "../../chunk-UB4B6OFY.js";
|
|
31
|
+
import "../../chunk-C3MDXTRZ.js";
|
|
32
32
|
import "../../chunk-3RG5ZIWI.js";
|
|
33
33
|
|
|
34
34
|
// src/agent/cli/approvals.ts
|
package/dist/agent/cli/main.mjs
CHANGED
|
@@ -17,18 +17,18 @@ import {
|
|
|
17
17
|
runAgent,
|
|
18
18
|
summarizeAgentAction,
|
|
19
19
|
summarizeAgentObservation
|
|
20
|
-
} from "../../chunk-
|
|
21
|
-
import "../../chunk-
|
|
22
|
-
import "../../chunk-
|
|
20
|
+
} from "../../chunk-MBEJI5HF.mjs";
|
|
21
|
+
import "../../chunk-B5JD23U7.mjs";
|
|
22
|
+
import "../../chunk-A2OM6NEH.mjs";
|
|
23
23
|
import {
|
|
24
24
|
Runtime
|
|
25
|
-
} from "../../chunk-
|
|
25
|
+
} from "../../chunk-GYM3LLGS.mjs";
|
|
26
26
|
import {
|
|
27
27
|
Cause,
|
|
28
28
|
Exit,
|
|
29
29
|
asyncEffect
|
|
30
|
-
} from "../../chunk-
|
|
31
|
-
import "../../chunk-
|
|
30
|
+
} from "../../chunk-36I3M4UC.mjs";
|
|
31
|
+
import "../../chunk-DNFJLJMW.mjs";
|
|
32
32
|
import "../../chunk-Y6FXYEAI.mjs";
|
|
33
33
|
|
|
34
34
|
// src/agent/cli/approvals.ts
|
package/dist/agent/index.cjs
CHANGED
|
@@ -73,12 +73,12 @@
|
|
|
73
73
|
|
|
74
74
|
|
|
75
75
|
|
|
76
|
-
var
|
|
77
|
-
require('../chunk-
|
|
78
|
-
require('../chunk-
|
|
79
|
-
require('../chunk-
|
|
80
|
-
require('../chunk-
|
|
81
|
-
require('../chunk-
|
|
76
|
+
var _chunk4ROBZFL6cjs = require('../chunk-4ROBZFL6.cjs');
|
|
77
|
+
require('../chunk-SA6HUJVI.cjs');
|
|
78
|
+
require('../chunk-JF5WGYJJ.cjs');
|
|
79
|
+
require('../chunk-GLE2WY7Z.cjs');
|
|
80
|
+
require('../chunk-MVGUEJ5Z.cjs');
|
|
81
|
+
require('../chunk-CZIVE6NT.cjs');
|
|
82
82
|
require('../chunk-OBGZSXTJ.cjs');
|
|
83
83
|
|
|
84
84
|
|
|
@@ -155,4 +155,4 @@ require('../chunk-OBGZSXTJ.cjs');
|
|
|
155
155
|
|
|
156
156
|
|
|
157
157
|
|
|
158
|
-
exports.AGENT_CONFIG_FILE_NAMES =
|
|
158
|
+
exports.AGENT_CONFIG_FILE_NAMES = _chunk4ROBZFL6cjs.AGENT_CONFIG_FILE_NAMES; exports.NodeShell = _chunk4ROBZFL6cjs.NodeShell; exports.PROJECT_LOCKFILE_PROBES = _chunk4ROBZFL6cjs.PROJECT_LOCKFILE_PROBES; exports.PROJECT_PROFILE_PROBES = _chunk4ROBZFL6cjs.PROJECT_PROFILE_PROBES; exports.autoApproveApprovals = _chunk4ROBZFL6cjs.autoApproveApprovals; exports.canAutoRollback = _chunk4ROBZFL6cjs.canAutoRollback; exports.canRequestPatchRepair = _chunk4ROBZFL6cjs.canRequestPatchRepair; exports.commandForScript = _chunk4ROBZFL6cjs.commandForScript; exports.decideNextAction = _chunk4ROBZFL6cjs.decideNextAction; exports.defaultPermissions = _chunk4ROBZFL6cjs.defaultPermissions; exports.deriveContextSearchQueries = _chunk4ROBZFL6cjs.deriveContextSearchQueries; exports.describeCommandDiscovery = _chunk4ROBZFL6cjs.describeCommandDiscovery; exports.describeContextDiscovery = _chunk4ROBZFL6cjs.describeContextDiscovery; exports.describeLanguagePolicy = _chunk4ROBZFL6cjs.describeLanguagePolicy; exports.describePatchQuality = _chunk4ROBZFL6cjs.describePatchQuality; exports.describeProjectProfile = _chunk4ROBZFL6cjs.describeProjectProfile; exports.describeRollbackSafety = _chunk4ROBZFL6cjs.describeRollbackSafety; exports.discoverNodeWorkspaceRoot = _chunk4ROBZFL6cjs.discoverNodeWorkspaceRoot; exports.discoverPackageManager = _chunk4ROBZFL6cjs.discoverPackageManager; exports.discoverProjectProfile = _chunk4ROBZFL6cjs.discoverProjectProfile; exports.discoverValidationCommands = _chunk4ROBZFL6cjs.discoverValidationCommands; exports.emitAgentEvent = _chunk4ROBZFL6cjs.emitAgentEvent; exports.emitAgentEvents = _chunk4ROBZFL6cjs.emitAgentEvents; exports.errorEventFor = _chunk4ROBZFL6cjs.errorEventFor; exports.extractLikelyFilePaths = _chunk4ROBZFL6cjs.extractLikelyFilePaths; exports.extractPatchPaths = _chunk4ROBZFL6cjs.extractPatchPaths; exports.extractUnifiedDiff = _chunk4ROBZFL6cjs.extractUnifiedDiff; exports.goalForAgentPreset = _chunk4ROBZFL6cjs.goalForAgentPreset; exports.inferUserLanguage = _chunk4ROBZFL6cjs.inferUserLanguage; exports.initialAgentState = _chunk4ROBZFL6cjs.initialAgentState; exports.invokeAction = _chunk4ROBZFL6cjs.invokeAction; exports.isAgentConfigApprovalMode = _chunk4ROBZFL6cjs.isAgentConfigApprovalMode; exports.isAgentConfigLLMProvider = _chunk4ROBZFL6cjs.isAgentConfigLLMProvider; exports.isAgentConfigMode = _chunk4ROBZFL6cjs.isAgentConfigMode; exports.isAgentPreset = _chunk4ROBZFL6cjs.isAgentPreset; exports.isRedactionEnabled = _chunk4ROBZFL6cjs.isRedactionEnabled; exports.isTerminal = _chunk4ROBZFL6cjs.isTerminal; exports.latestUnappliedPatch = _chunk4ROBZFL6cjs.latestUnappliedPatch; exports.loadNodeAgentConfig = _chunk4ROBZFL6cjs.loadNodeAgentConfig; exports.makeAutoDenyApprovals = _chunk4ROBZFL6cjs.makeAutoDenyApprovals; exports.makeConfiguredPermissions = _chunk4ROBZFL6cjs.makeConfiguredPermissions; exports.makeFakeLLM = _chunk4ROBZFL6cjs.makeFakeLLM; exports.makeGoogleGenerativeAILLM = _chunk4ROBZFL6cjs.makeGoogleGenerativeAILLM; exports.makeNodeFileSystem = _chunk4ROBZFL6cjs.makeNodeFileSystem; exports.makeNodePatchService = _chunk4ROBZFL6cjs.makeNodePatchService; exports.makeOpenAICompatibleLLM = _chunk4ROBZFL6cjs.makeOpenAICompatibleLLM; exports.nextContextDiscoveryAction = _chunk4ROBZFL6cjs.nextContextDiscoveryAction; exports.nextProjectProbeAction = _chunk4ROBZFL6cjs.nextProjectProbeAction; exports.nextUnrunValidationCommand = _chunk4ROBZFL6cjs.nextUnrunValidationCommand; exports.nowMillis = _chunk4ROBZFL6cjs.nowMillis; exports.observationEventFor = _chunk4ROBZFL6cjs.observationEventFor; exports.observationStatus = _chunk4ROBZFL6cjs.observationStatus; exports.parseProjectPackageJson = _chunk4ROBZFL6cjs.parseProjectPackageJson; exports.patchQualitySummary = _chunk4ROBZFL6cjs.patchQualitySummary; exports.patchRepairAttemptsUsed = _chunk4ROBZFL6cjs.patchRepairAttemptsUsed; exports.patchValidationStatus = _chunk4ROBZFL6cjs.patchValidationStatus; exports.projectProfileProbePending = _chunk4ROBZFL6cjs.projectProfileProbePending; exports.redactText = _chunk4ROBZFL6cjs.redactText; exports.reduceAgentState = _chunk4ROBZFL6cjs.reduceAgentState; exports.responseLanguageName = _chunk4ROBZFL6cjs.responseLanguageName; exports.retry = _chunk4ROBZFL6cjs.retry; exports.rollbackSafetySummary = _chunk4ROBZFL6cjs.rollbackSafetySummary; exports.runAgent = _chunk4ROBZFL6cjs.runAgent; exports.runStatusFor = _chunk4ROBZFL6cjs.runStatusFor; exports.shouldContinueRollbackStack = _chunk4ROBZFL6cjs.shouldContinueRollbackStack; exports.sleep = _chunk4ROBZFL6cjs.sleep; exports.spanishLike = _chunk4ROBZFL6cjs.spanishLike; exports.splitCommand = _chunk4ROBZFL6cjs.splitCommand; exports.summarizeAgentAction = _chunk4ROBZFL6cjs.summarizeAgentAction; exports.summarizeAgentObservation = _chunk4ROBZFL6cjs.summarizeAgentObservation; exports.summarizeContextDiscovery = _chunk4ROBZFL6cjs.summarizeContextDiscovery; exports.timeout = _chunk4ROBZFL6cjs.timeout; exports.unappliedPatchStack = _chunk4ROBZFL6cjs.unappliedPatchStack; exports.workspaceValidationStatus = _chunk4ROBZFL6cjs.workspaceValidationStatus;
|
package/dist/agent/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as Async, f as Runtime, S as Scope } from '../effect-
|
|
1
|
+
import { A as Async, f as Runtime, S as Scope } from '../effect-DIUHZ9IN.js';
|
|
2
2
|
|
|
3
3
|
type AgentMode = "read-only" | "propose" | "write" | "autonomous";
|
|
4
4
|
type AgentPackageManager = "npm" | "pnpm" | "yarn" | "bun";
|
package/dist/agent/index.js
CHANGED
|
@@ -73,12 +73,12 @@ import {
|
|
|
73
73
|
timeout,
|
|
74
74
|
unappliedPatchStack,
|
|
75
75
|
workspaceValidationStatus
|
|
76
|
-
} from "../chunk-
|
|
77
|
-
import "../chunk-
|
|
78
|
-
import "../chunk-
|
|
79
|
-
import "../chunk-
|
|
80
|
-
import "../chunk-
|
|
81
|
-
import "../chunk-
|
|
76
|
+
} from "../chunk-52OB2ROS.js";
|
|
77
|
+
import "../chunk-UCUBNWM2.js";
|
|
78
|
+
import "../chunk-L2SYFEBS.js";
|
|
79
|
+
import "../chunk-FH2X7BVP.js";
|
|
80
|
+
import "../chunk-UB4B6OFY.js";
|
|
81
|
+
import "../chunk-C3MDXTRZ.js";
|
|
82
82
|
import "../chunk-3RG5ZIWI.js";
|
|
83
83
|
export {
|
|
84
84
|
AGENT_CONFIG_FILE_NAMES,
|
package/dist/agent/index.mjs
CHANGED
|
@@ -73,12 +73,12 @@ import {
|
|
|
73
73
|
timeout,
|
|
74
74
|
unappliedPatchStack,
|
|
75
75
|
workspaceValidationStatus
|
|
76
|
-
} from "../chunk-
|
|
77
|
-
import "../chunk-
|
|
78
|
-
import "../chunk-
|
|
79
|
-
import "../chunk-
|
|
80
|
-
import "../chunk-
|
|
81
|
-
import "../chunk-
|
|
76
|
+
} from "../chunk-MBEJI5HF.mjs";
|
|
77
|
+
import "../chunk-B5JD23U7.mjs";
|
|
78
|
+
import "../chunk-A2OM6NEH.mjs";
|
|
79
|
+
import "../chunk-GYM3LLGS.mjs";
|
|
80
|
+
import "../chunk-36I3M4UC.mjs";
|
|
81
|
+
import "../chunk-DNFJLJMW.mjs";
|
|
82
82
|
import "../chunk-Y6FXYEAI.mjs";
|
|
83
83
|
export {
|
|
84
84
|
AGENT_CONFIG_FILE_NAMES,
|