@probelabs/visor 0.1.182-ee → 0.1.183-ee
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/defaults/assistant.yaml +2 -1
- package/defaults/code-talk.yaml +6 -0
- package/defaults/skills/task-progress.yaml +39 -0
- package/dist/agent-protocol/task-evaluator.d.ts +2 -1
- package/dist/agent-protocol/task-evaluator.d.ts.map +1 -1
- package/dist/agent-protocol/task-progress-tool.d.ts +29 -0
- package/dist/agent-protocol/task-progress-tool.d.ts.map +1 -0
- package/dist/agent-protocol/task-store.d.ts +8 -0
- package/dist/agent-protocol/task-store.d.ts.map +1 -1
- package/dist/agent-protocol/tasks-cli-handler.d.ts.map +1 -1
- package/dist/agent-protocol/trace-serializer.d.ts +5 -2
- package/dist/agent-protocol/trace-serializer.d.ts.map +1 -1
- package/dist/agent-protocol/track-execution.d.ts +1 -1
- package/dist/agent-protocol/track-execution.d.ts.map +1 -1
- package/dist/ai-review-service.d.ts.map +1 -1
- package/dist/cli-main.d.ts.map +1 -1
- package/dist/debug-visualizer/trace-reader.d.ts.map +1 -1
- package/dist/defaults/assistant.yaml +2 -1
- package/dist/defaults/code-talk.yaml +6 -0
- package/dist/defaults/skills/task-progress.yaml +39 -0
- package/dist/docs/telemetry-live-spans-plan.md +510 -0
- package/dist/generated/config-schema.json +43 -6
- package/dist/index.js +3545 -701
- package/dist/providers/ai-check-provider.d.ts.map +1 -1
- package/dist/providers/git-checkout-provider.d.ts.map +1 -1
- package/dist/providers/mcp-custom-sse-server.d.ts.map +1 -1
- package/dist/reviewer.d.ts +2 -0
- package/dist/reviewer.d.ts.map +1 -1
- package/dist/runners/process-cli-handler.d.ts +2 -0
- package/dist/runners/process-cli-handler.d.ts.map +1 -0
- package/dist/runners/process-discovery.d.ts +29 -0
- package/dist/runners/process-discovery.d.ts.map +1 -0
- package/dist/sandbox/check-runner.d.ts.map +1 -1
- package/dist/sandbox/sandbox-telemetry.d.ts +7 -0
- package/dist/sandbox/sandbox-telemetry.d.ts.map +1 -1
- package/dist/sandbox/trace-ingester.d.ts +28 -15
- package/dist/sandbox/trace-ingester.d.ts.map +1 -1
- package/dist/scheduler/schedule-tool.d.ts +5 -0
- package/dist/scheduler/schedule-tool.d.ts.map +1 -1
- package/dist/sdk/{a2a-frontend-MU5EO2HZ.mjs → a2a-frontend-5YDHFQXD.mjs} +47 -8
- package/dist/sdk/{a2a-frontend-MU5EO2HZ.mjs.map → a2a-frontend-5YDHFQXD.mjs.map} +1 -1
- package/dist/sdk/{a2a-frontend-4LP3MLTS.mjs → a2a-frontend-6LWBIPMS.mjs} +19 -3
- package/dist/sdk/a2a-frontend-6LWBIPMS.mjs.map +1 -0
- package/dist/sdk/check-provider-registry-WSEVHJEV.mjs +31 -0
- package/dist/sdk/{check-provider-registry-I4BCWKRU.mjs → check-provider-registry-YRADEEQY.mjs} +6 -6
- package/dist/sdk/chunk-4BN2XI4X.mjs +459 -0
- package/dist/sdk/chunk-4BN2XI4X.mjs.map +1 -0
- package/dist/sdk/chunk-54KOAC4W.mjs +665 -0
- package/dist/sdk/chunk-54KOAC4W.mjs.map +1 -0
- package/dist/sdk/chunk-6C3R6E42.mjs +1700 -0
- package/dist/sdk/chunk-6C3R6E42.mjs.map +1 -0
- package/dist/sdk/{chunk-4I3TJ7UJ.mjs → chunk-7W5QCO4Y.mjs} +47 -10
- package/dist/sdk/chunk-7W5QCO4Y.mjs.map +1 -0
- package/dist/sdk/chunk-B2OUZAWY.mjs +237 -0
- package/dist/sdk/chunk-B2OUZAWY.mjs.map +1 -0
- package/dist/sdk/chunk-FWWLD555.mjs +244 -0
- package/dist/sdk/chunk-FWWLD555.mjs.map +1 -0
- package/dist/sdk/{chunk-QXT47ZHR.mjs → chunk-G7GSN3SK.mjs} +2 -2
- package/dist/sdk/{chunk-QXT47ZHR.mjs.map → chunk-G7GSN3SK.mjs.map} +1 -1
- package/dist/sdk/{chunk-DHETLQIX.mjs → chunk-GA2TYKSR.mjs} +5 -5
- package/dist/sdk/{chunk-6DPPP7LD.mjs → chunk-IDL3AA3G.mjs} +203 -42
- package/dist/sdk/chunk-IDL3AA3G.mjs.map +1 -0
- package/dist/sdk/chunk-MEB2TTIE.mjs +157 -0
- package/dist/sdk/chunk-MEB2TTIE.mjs.map +1 -0
- package/dist/sdk/{chunk-3JFK6KCD.mjs → chunk-MFXPJUUE.mjs} +150 -280
- package/dist/sdk/chunk-MFXPJUUE.mjs.map +1 -0
- package/dist/sdk/{chunk-KBGQJKIZ.mjs → chunk-NPSLGKXB.mjs} +3 -3
- package/dist/sdk/chunk-P2K4VOMU.mjs +825 -0
- package/dist/sdk/chunk-P2K4VOMU.mjs.map +1 -0
- package/dist/sdk/chunk-RI4ONH5X.mjs +482 -0
- package/dist/sdk/chunk-RI4ONH5X.mjs.map +1 -0
- package/dist/sdk/chunk-S5FSRHMY.mjs +139 -0
- package/dist/sdk/chunk-S5FSRHMY.mjs.map +1 -0
- package/dist/sdk/{chunk-7ERVRLDV.mjs → chunk-TFUQ2D5L.mjs} +13 -2
- package/dist/sdk/chunk-TFUQ2D5L.mjs.map +1 -0
- package/dist/sdk/{chunk-TQQNSHQV.mjs → chunk-UXB4XWEE.mjs} +1044 -179
- package/dist/sdk/chunk-UXB4XWEE.mjs.map +1 -0
- package/dist/sdk/{chunk-U6K5SK7X.mjs → chunk-V45TITKX.mjs} +2 -2
- package/dist/sdk/{chunk-ANUT54HW.mjs → chunk-WKLJ57WF.mjs} +6 -6
- package/dist/sdk/chunk-XOAEKFKB.mjs +1150 -0
- package/dist/sdk/chunk-XOAEKFKB.mjs.map +1 -0
- package/dist/sdk/chunk-ZPYODGYA.mjs +251 -0
- package/dist/sdk/chunk-ZPYODGYA.mjs.map +1 -0
- package/dist/sdk/command-executor-YNJOS77A.mjs +14 -0
- package/dist/sdk/{config-2STD74CJ.mjs → config-PCP6O6Y6.mjs} +4 -4
- package/dist/sdk/{failure-condition-evaluator-FFWJRAEQ.mjs → failure-condition-evaluator-H3PBFBYT.mjs} +4 -4
- package/dist/sdk/failure-condition-evaluator-IRFKTYZD.mjs +18 -0
- package/dist/sdk/github-auth-BJQBLK2V.mjs +196 -0
- package/dist/sdk/github-auth-BJQBLK2V.mjs.map +1 -0
- package/dist/sdk/{github-frontend-L3F5JXPJ.mjs → github-frontend-DECYOBRN.mjs} +8 -8
- package/dist/sdk/{github-frontend-KGV2R5Z6.mjs → github-frontend-TZRBOQCN.mjs} +4 -4
- package/dist/sdk/{host-QBJ7TOWG.mjs → host-CFM2ASDI.mjs} +4 -4
- package/dist/sdk/{host-X5ZZCEWN.mjs → host-T4LNVU2H.mjs} +3 -3
- package/dist/sdk/{knex-store-QCEW4I4R.mjs → knex-store-OEWSZEBY.mjs} +3 -3
- package/dist/sdk/lazy-otel-5RDTVS5L.mjs +24 -0
- package/dist/sdk/liquid-extensions-E3AKRX7P.mjs +25 -0
- package/dist/sdk/{loader-ZNKKJEZ3.mjs → loader-WRGI244P.mjs} +5 -5
- package/dist/sdk/memory-store-OHUIXCWJ.mjs +12 -0
- package/dist/sdk/metrics-MYUPQBBV.mjs +41 -0
- package/dist/sdk/{opa-policy-engine-QCSSIMUF.mjs → opa-policy-engine-IVMCGVNA.mjs} +3 -3
- package/dist/sdk/prompt-state-LN57DQF3.mjs +16 -0
- package/dist/sdk/renderer-schema-BT2IXMLW.mjs +51 -0
- package/dist/sdk/renderer-schema-BT2IXMLW.mjs.map +1 -0
- package/dist/sdk/routing-H2PQ57OA.mjs +26 -0
- package/dist/sdk/{routing-CVQT4KHX.mjs → routing-JMZ7HDCC.mjs} +5 -5
- package/dist/sdk/schedule-tool-2DPNSU63.mjs +37 -0
- package/dist/sdk/{schedule-tool-AECLFHSY.mjs → schedule-tool-4M45RK3E.mjs} +6 -6
- package/dist/sdk/{schedule-tool-handler-6QLZRTQA.mjs → schedule-tool-handler-KLHE2SOW.mjs} +6 -6
- package/dist/sdk/schedule-tool-handler-KLHE2SOW.mjs.map +1 -0
- package/dist/sdk/{schedule-tool-handler-J4NUETJ6.mjs → schedule-tool-handler-NBEO46RV.mjs} +16 -16
- package/dist/sdk/schedule-tool-handler-NBEO46RV.mjs.map +1 -0
- package/dist/sdk/sdk.d.mts +2 -0
- package/dist/sdk/sdk.d.ts +2 -0
- package/dist/sdk/sdk.js +3125 -666
- package/dist/sdk/sdk.js.map +1 -1
- package/dist/sdk/sdk.mjs +15 -15
- package/dist/sdk/slack-frontend-DF5VL4OF.mjs +929 -0
- package/dist/sdk/slack-frontend-DF5VL4OF.mjs.map +1 -0
- package/dist/sdk/{task-evaluator-HLNXKKVV.mjs → task-evaluator-GQYDOSGT.mjs} +138 -24
- package/dist/sdk/task-evaluator-GQYDOSGT.mjs.map +1 -0
- package/dist/sdk/task-evaluator-OVMG7S56.mjs +263 -0
- package/dist/sdk/task-evaluator-OVMG7S56.mjs.map +1 -0
- package/dist/sdk/{trace-helpers-WJXYVV4S.mjs → trace-helpers-26ZCAE2V.mjs} +7 -5
- package/dist/sdk/trace-helpers-26ZCAE2V.mjs.map +1 -0
- package/dist/sdk/{trace-helpers-3FFAI7X3.mjs → trace-helpers-XV5GAX5L.mjs} +3 -3
- package/dist/sdk/trace-helpers-XV5GAX5L.mjs.map +1 -0
- package/dist/sdk/{trace-reader-ZY77OFNM.mjs → trace-reader-OVE4DL2D.mjs} +6 -2
- package/dist/sdk/trace-reader-OVE4DL2D.mjs.map +1 -0
- package/dist/sdk/trace-serializer-KKBJHM7J.mjs +24 -0
- package/dist/sdk/trace-serializer-KKBJHM7J.mjs.map +1 -0
- package/dist/sdk/{track-execution-AMQQNXKE.mjs → track-execution-3EC24C2X.mjs} +68 -7
- package/dist/sdk/track-execution-3EC24C2X.mjs.map +1 -0
- package/dist/sdk/{track-execution-MKIQXP2C.mjs → track-execution-66RLL6QT.mjs} +10 -3
- package/dist/sdk/track-execution-66RLL6QT.mjs.map +1 -0
- package/dist/sdk/utcp-check-provider-WI3QZ3W6.mjs +16 -0
- package/dist/sdk/utcp-check-provider-WI3QZ3W6.mjs.map +1 -0
- package/dist/sdk/workflow-check-provider-X2UREEH7.mjs +31 -0
- package/dist/sdk/workflow-check-provider-X2UREEH7.mjs.map +1 -0
- package/dist/sdk/{workflow-check-provider-EXMC6JIS.mjs → workflow-check-provider-YXALZNAQ.mjs} +6 -6
- package/dist/sdk/workflow-check-provider-YXALZNAQ.mjs.map +1 -0
- package/dist/sdk/workflow-registry-YCZ3FCJC.mjs +12 -0
- package/dist/sdk/workflow-registry-YCZ3FCJC.mjs.map +1 -0
- package/dist/slack/socket-runner.d.ts.map +1 -1
- package/dist/state-machine/dispatch/sandbox-routing.d.ts.map +1 -1
- package/dist/state-machine/states/level-dispatch.d.ts.map +1 -1
- package/dist/telemetry/fallback-ndjson.d.ts +21 -0
- package/dist/telemetry/fallback-ndjson.d.ts.map +1 -1
- package/dist/telemetry/lazy-otel.d.ts +2 -0
- package/dist/telemetry/lazy-otel.d.ts.map +1 -1
- package/dist/telemetry/opentelemetry.d.ts +5 -0
- package/dist/telemetry/opentelemetry.d.ts.map +1 -1
- package/dist/telemetry/trace-helpers.d.ts +10 -0
- package/dist/telemetry/trace-helpers.d.ts.map +1 -1
- package/dist/test-runner/conversation-sugar.d.ts +7 -0
- package/dist/test-runner/conversation-sugar.d.ts.map +1 -1
- package/dist/test-runner/core/flow-stage.d.ts.map +1 -1
- package/dist/test-runner/index.d.ts.map +1 -1
- package/dist/test-runner/validator.d.ts.map +1 -1
- package/dist/types/git-checkout.d.ts +2 -0
- package/dist/types/git-checkout.d.ts.map +1 -1
- package/dist/utils/script-tool-environment.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/sdk/a2a-frontend-4LP3MLTS.mjs.map +0 -1
- package/dist/sdk/check-provider-registry-RRWCXSTG.mjs +0 -31
- package/dist/sdk/chunk-3JFK6KCD.mjs.map +0 -1
- package/dist/sdk/chunk-4I3TJ7UJ.mjs.map +0 -1
- package/dist/sdk/chunk-6DPPP7LD.mjs.map +0 -1
- package/dist/sdk/chunk-6VVXKXTI.mjs +0 -164
- package/dist/sdk/chunk-6VVXKXTI.mjs.map +0 -1
- package/dist/sdk/chunk-7ERVRLDV.mjs.map +0 -1
- package/dist/sdk/chunk-TQQNSHQV.mjs.map +0 -1
- package/dist/sdk/failure-condition-evaluator-5DZYMCGW.mjs +0 -18
- package/dist/sdk/routing-XALEDC2G.mjs +0 -26
- package/dist/sdk/schedule-tool-Z6QYL2B3.mjs +0 -37
- package/dist/sdk/task-evaluator-HLNXKKVV.mjs.map +0 -1
- package/dist/sdk/trace-reader-ZY77OFNM.mjs.map +0 -1
- package/dist/sdk/track-execution-AMQQNXKE.mjs.map +0 -1
- package/dist/sdk/track-execution-MKIQXP2C.mjs.map +0 -1
- package/dist/sdk/workflow-check-provider-VKYGI5GK.mjs +0 -31
- /package/dist/sdk/{check-provider-registry-I4BCWKRU.mjs.map → check-provider-registry-WSEVHJEV.mjs.map} +0 -0
- /package/dist/sdk/{check-provider-registry-RRWCXSTG.mjs.map → check-provider-registry-YRADEEQY.mjs.map} +0 -0
- /package/dist/sdk/{chunk-DHETLQIX.mjs.map → chunk-GA2TYKSR.mjs.map} +0 -0
- /package/dist/sdk/{chunk-ANUT54HW.mjs.map → chunk-NPSLGKXB.mjs.map} +0 -0
- /package/dist/sdk/{chunk-U6K5SK7X.mjs.map → chunk-V45TITKX.mjs.map} +0 -0
- /package/dist/sdk/{chunk-KBGQJKIZ.mjs.map → chunk-WKLJ57WF.mjs.map} +0 -0
- /package/dist/sdk/{config-2STD74CJ.mjs.map → command-executor-YNJOS77A.mjs.map} +0 -0
- /package/dist/sdk/{failure-condition-evaluator-5DZYMCGW.mjs.map → config-PCP6O6Y6.mjs.map} +0 -0
- /package/dist/sdk/{failure-condition-evaluator-FFWJRAEQ.mjs.map → failure-condition-evaluator-H3PBFBYT.mjs.map} +0 -0
- /package/dist/sdk/{routing-CVQT4KHX.mjs.map → failure-condition-evaluator-IRFKTYZD.mjs.map} +0 -0
- /package/dist/sdk/{github-frontend-KGV2R5Z6.mjs.map → github-frontend-DECYOBRN.mjs.map} +0 -0
- /package/dist/sdk/{github-frontend-L3F5JXPJ.mjs.map → github-frontend-TZRBOQCN.mjs.map} +0 -0
- /package/dist/sdk/{host-QBJ7TOWG.mjs.map → host-CFM2ASDI.mjs.map} +0 -0
- /package/dist/sdk/{host-X5ZZCEWN.mjs.map → host-T4LNVU2H.mjs.map} +0 -0
- /package/dist/sdk/{knex-store-QCEW4I4R.mjs.map → knex-store-OEWSZEBY.mjs.map} +0 -0
- /package/dist/sdk/{routing-XALEDC2G.mjs.map → lazy-otel-5RDTVS5L.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-AECLFHSY.mjs.map → liquid-extensions-E3AKRX7P.mjs.map} +0 -0
- /package/dist/sdk/{loader-ZNKKJEZ3.mjs.map → loader-WRGI244P.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-Z6QYL2B3.mjs.map → memory-store-OHUIXCWJ.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-handler-6QLZRTQA.mjs.map → metrics-MYUPQBBV.mjs.map} +0 -0
- /package/dist/sdk/{opa-policy-engine-QCSSIMUF.mjs.map → opa-policy-engine-IVMCGVNA.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-handler-J4NUETJ6.mjs.map → prompt-state-LN57DQF3.mjs.map} +0 -0
- /package/dist/sdk/{trace-helpers-3FFAI7X3.mjs.map → routing-H2PQ57OA.mjs.map} +0 -0
- /package/dist/sdk/{trace-helpers-WJXYVV4S.mjs.map → routing-JMZ7HDCC.mjs.map} +0 -0
- /package/dist/sdk/{workflow-check-provider-EXMC6JIS.mjs.map → schedule-tool-2DPNSU63.mjs.map} +0 -0
- /package/dist/sdk/{workflow-check-provider-VKYGI5GK.mjs.map → schedule-tool-4M45RK3E.mjs.map} +0 -0
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import {
|
|
2
|
+
init_logger,
|
|
3
|
+
logger
|
|
4
|
+
} from "./chunk-ZPYODGYA.mjs";
|
|
5
|
+
import "./chunk-B2OUZAWY.mjs";
|
|
6
|
+
import {
|
|
7
|
+
__esm
|
|
8
|
+
} from "./chunk-J7LXIPZS.mjs";
|
|
9
|
+
|
|
10
|
+
// src/github-auth.ts
|
|
11
|
+
import { Octokit } from "@octokit/rest";
|
|
12
|
+
import * as fs from "fs";
|
|
13
|
+
import * as path from "path";
|
|
14
|
+
async function createAuthenticatedOctokit(options) {
|
|
15
|
+
const { token, appId, installationId, owner, repo } = options;
|
|
16
|
+
const privateKey = options.privateKey ? resolvePrivateKey(options.privateKey) : void 0;
|
|
17
|
+
if (appId && privateKey) {
|
|
18
|
+
const { createAppAuth } = await import("@octokit/auth-app");
|
|
19
|
+
let finalInstallationId;
|
|
20
|
+
if (installationId) {
|
|
21
|
+
finalInstallationId = parseInt(installationId, 10);
|
|
22
|
+
if (isNaN(finalInstallationId) || finalInstallationId <= 0) {
|
|
23
|
+
throw new Error("Invalid installation-id. It must be a positive integer.");
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (!finalInstallationId && owner && repo) {
|
|
27
|
+
const appOctokit = new Octokit({
|
|
28
|
+
authStrategy: createAppAuth,
|
|
29
|
+
auth: { appId, privateKey }
|
|
30
|
+
});
|
|
31
|
+
try {
|
|
32
|
+
const { data: installation } = await appOctokit.rest.apps.getRepoInstallation({
|
|
33
|
+
owner,
|
|
34
|
+
repo
|
|
35
|
+
});
|
|
36
|
+
finalInstallationId = installation.id;
|
|
37
|
+
} catch {
|
|
38
|
+
throw new Error(
|
|
39
|
+
"GitHub App installation ID could not be auto-detected. Provide --github-installation-id or ensure the app is installed on the repository."
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
if (!finalInstallationId) {
|
|
44
|
+
throw new Error(
|
|
45
|
+
"GitHub App installation ID is required. Provide --github-installation-id or set owner/repo for auto-detection."
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
const octokit = new Octokit({
|
|
49
|
+
authStrategy: createAppAuth,
|
|
50
|
+
auth: {
|
|
51
|
+
appId,
|
|
52
|
+
privateKey,
|
|
53
|
+
installationId: finalInstallationId
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
const authResult = await octokit.auth({ type: "installation" });
|
|
57
|
+
return {
|
|
58
|
+
octokit,
|
|
59
|
+
authType: "github-app",
|
|
60
|
+
token: authResult.token
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
if (token) {
|
|
64
|
+
return {
|
|
65
|
+
octokit: new Octokit({ auth: token }),
|
|
66
|
+
authType: "token",
|
|
67
|
+
token
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
return void 0;
|
|
71
|
+
}
|
|
72
|
+
function resolveAuthFromEnvironment() {
|
|
73
|
+
return {
|
|
74
|
+
token: process.env.GITHUB_TOKEN || process.env.GH_TOKEN,
|
|
75
|
+
appId: process.env.GITHUB_APP_ID,
|
|
76
|
+
privateKey: process.env.GITHUB_APP_PRIVATE_KEY,
|
|
77
|
+
installationId: process.env.GITHUB_APP_INSTALLATION_ID,
|
|
78
|
+
owner: process.env.GITHUB_REPOSITORY_OWNER || process.env.GITHUB_REPOSITORY?.split("/")[0],
|
|
79
|
+
repo: process.env.GITHUB_REPOSITORY?.split("/")[1]
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
function resolvePrivateKey(keyOrPath) {
|
|
83
|
+
if (keyOrPath.includes("-----BEGIN")) {
|
|
84
|
+
return keyOrPath;
|
|
85
|
+
}
|
|
86
|
+
const resolved = path.resolve(keyOrPath);
|
|
87
|
+
if (fs.existsSync(resolved)) {
|
|
88
|
+
return fs.readFileSync(resolved, "utf8");
|
|
89
|
+
}
|
|
90
|
+
return keyOrPath;
|
|
91
|
+
}
|
|
92
|
+
function injectGitHubCredentials(token) {
|
|
93
|
+
process.env.GITHUB_TOKEN = token;
|
|
94
|
+
process.env.GH_TOKEN = token;
|
|
95
|
+
const currentCount = parseInt(process.env.GIT_CONFIG_COUNT || "0", 10);
|
|
96
|
+
let base;
|
|
97
|
+
if (_authBase === void 0) {
|
|
98
|
+
base = currentCount;
|
|
99
|
+
} else if (_lastWrittenCount !== void 0 && currentCount !== _lastWrittenCount) {
|
|
100
|
+
base = currentCount;
|
|
101
|
+
} else {
|
|
102
|
+
base = _authBase;
|
|
103
|
+
}
|
|
104
|
+
_authBase = base;
|
|
105
|
+
const authUrl = `https://x-access-token:${token}@github.com/`;
|
|
106
|
+
process.env[`GIT_CONFIG_KEY_${base}`] = `url.${authUrl}.insteadOf`;
|
|
107
|
+
process.env[`GIT_CONFIG_VALUE_${base}`] = "https://github.com/";
|
|
108
|
+
process.env[`GIT_CONFIG_KEY_${base + 1}`] = `url.${authUrl}.insteadOf`;
|
|
109
|
+
process.env[`GIT_CONFIG_VALUE_${base + 1}`] = "git@github.com:";
|
|
110
|
+
const newCount = base + 2;
|
|
111
|
+
process.env.GIT_CONFIG_COUNT = String(newCount);
|
|
112
|
+
_lastWrittenCount = newCount;
|
|
113
|
+
}
|
|
114
|
+
function markTokenFresh() {
|
|
115
|
+
const token = process.env.GITHUB_TOKEN || process.env.GH_TOKEN;
|
|
116
|
+
if (token) {
|
|
117
|
+
_cachedAppToken = { token, generatedAt: Date.now() };
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
async function refreshGitHubCredentials() {
|
|
121
|
+
const appId = process.env.GITHUB_APP_ID;
|
|
122
|
+
const privateKey = process.env.GITHUB_APP_PRIVATE_KEY;
|
|
123
|
+
if (!appId || !privateKey) return;
|
|
124
|
+
const now = Date.now();
|
|
125
|
+
if (_cachedAppToken && now - _cachedAppToken.generatedAt < TOKEN_REFRESH_MS) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
try {
|
|
129
|
+
const opts = resolveAuthFromEnvironment();
|
|
130
|
+
const result = await createAuthenticatedOctokit(opts);
|
|
131
|
+
if (result && result.authType === "github-app") {
|
|
132
|
+
injectGitHubCredentials(result.token);
|
|
133
|
+
_cachedAppToken = { token: result.token, generatedAt: now };
|
|
134
|
+
logger.debug("[github-auth] Refreshed GitHub App installation token");
|
|
135
|
+
}
|
|
136
|
+
} catch (err) {
|
|
137
|
+
const age = _cachedAppToken ? `${Math.round((now - _cachedAppToken.generatedAt) / 6e4)}min old` : "no cached token";
|
|
138
|
+
logger.warn(
|
|
139
|
+
`[github-auth] Failed to refresh GitHub App token (${age}): ${err instanceof Error ? err.message : String(err)}. Child processes may fail with authentication errors.`
|
|
140
|
+
);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
function startTokenRefreshTimer() {
|
|
144
|
+
if (_refreshTimer) return;
|
|
145
|
+
const appId = process.env.GITHUB_APP_ID;
|
|
146
|
+
const privateKey = process.env.GITHUB_APP_PRIVATE_KEY;
|
|
147
|
+
if (!appId || !privateKey) return;
|
|
148
|
+
_refreshTimer = setInterval(() => {
|
|
149
|
+
refreshGitHubCredentials().catch((err) => {
|
|
150
|
+
logger.warn(
|
|
151
|
+
`[github-auth] Background token refresh failed: ${err instanceof Error ? err.message : String(err)}`
|
|
152
|
+
);
|
|
153
|
+
});
|
|
154
|
+
}, TIMER_INTERVAL_MS);
|
|
155
|
+
_refreshTimer.unref();
|
|
156
|
+
logger.debug("[github-auth] Background token refresh timer started (every 30 min)");
|
|
157
|
+
}
|
|
158
|
+
function stopTokenRefreshTimer() {
|
|
159
|
+
if (_refreshTimer) {
|
|
160
|
+
clearInterval(_refreshTimer);
|
|
161
|
+
_refreshTimer = void 0;
|
|
162
|
+
logger.debug("[github-auth] Background token refresh timer stopped");
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
function _testSetCachedToken(token, generatedAt) {
|
|
166
|
+
if (token) {
|
|
167
|
+
_cachedAppToken = { token, generatedAt: generatedAt ?? Date.now() };
|
|
168
|
+
} else {
|
|
169
|
+
_cachedAppToken = void 0;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
function _testGetCachedToken() {
|
|
173
|
+
return _cachedAppToken;
|
|
174
|
+
}
|
|
175
|
+
var _authBase, _lastWrittenCount, _cachedAppToken, TOKEN_REFRESH_MS, _refreshTimer, TIMER_INTERVAL_MS;
|
|
176
|
+
var init_github_auth = __esm({
|
|
177
|
+
"src/github-auth.ts"() {
|
|
178
|
+
init_logger();
|
|
179
|
+
TOKEN_REFRESH_MS = 45 * 60 * 1e3;
|
|
180
|
+
TIMER_INTERVAL_MS = 30 * 60 * 1e3;
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
init_github_auth();
|
|
184
|
+
export {
|
|
185
|
+
_testGetCachedToken,
|
|
186
|
+
_testSetCachedToken,
|
|
187
|
+
createAuthenticatedOctokit,
|
|
188
|
+
injectGitHubCredentials,
|
|
189
|
+
markTokenFresh,
|
|
190
|
+
refreshGitHubCredentials,
|
|
191
|
+
resolveAuthFromEnvironment,
|
|
192
|
+
resolvePrivateKey,
|
|
193
|
+
startTokenRefreshTimer,
|
|
194
|
+
stopTokenRefreshTimer
|
|
195
|
+
};
|
|
196
|
+
//# sourceMappingURL=github-auth-BJQBLK2V.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/github-auth.ts"],"sourcesContent":["import { Octokit } from '@octokit/rest';\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport { logger } from './logger';\n\n/**\n * Options for GitHub authentication.\n * Supports both personal access token and GitHub App authentication.\n */\nexport interface GitHubAuthOptions {\n /** Personal access token or fine-grained token */\n token?: string;\n /** GitHub App ID */\n appId?: string;\n /** GitHub App private key (PEM content or file path) */\n privateKey?: string;\n /** GitHub App installation ID (auto-detected if omitted) */\n installationId?: string;\n /** Repository owner (for auto-detecting installation ID) */\n owner?: string;\n /** Repository name (for auto-detecting installation ID) */\n repo?: string;\n}\n\n/**\n * Result of successful GitHub authentication.\n */\nexport interface GitHubAuthResult {\n /** Authenticated Octokit instance */\n octokit: Octokit;\n /** Authentication method used */\n authType: 'github-app' | 'token';\n /** Raw token string for environment propagation */\n token: string;\n}\n\n/**\n * Create an authenticated Octokit instance.\n * Returns undefined if no credentials are provided (auth is optional in CLI mode).\n *\n * For token auth: uses the token directly.\n * For GitHub App auth: creates JWT-authenticated client, resolves installation ID,\n * then extracts an installation access token for environment propagation.\n */\nexport async function createAuthenticatedOctokit(\n options: GitHubAuthOptions\n): Promise<GitHubAuthResult | undefined> {\n const { token, appId, installationId, owner, repo } = options;\n const privateKey = options.privateKey ? resolvePrivateKey(options.privateKey) : undefined;\n\n // Prefer GitHub App authentication if app credentials are provided\n if (appId && privateKey) {\n const { createAppAuth } = await import('@octokit/auth-app');\n\n let finalInstallationId: number | undefined;\n\n if (installationId) {\n finalInstallationId = parseInt(installationId, 10);\n if (isNaN(finalInstallationId) || finalInstallationId <= 0) {\n throw new Error('Invalid installation-id. It must be a positive integer.');\n }\n }\n\n // Auto-detect installation ID if not provided\n if (!finalInstallationId && owner && repo) {\n const appOctokit = new Octokit({\n authStrategy: createAppAuth,\n auth: { appId, privateKey },\n });\n\n try {\n const { data: installation } = await appOctokit.rest.apps.getRepoInstallation({\n owner,\n repo,\n });\n finalInstallationId = installation.id;\n } catch {\n throw new Error(\n 'GitHub App installation ID could not be auto-detected. ' +\n 'Provide --github-installation-id or ensure the app is installed on the repository.'\n );\n }\n }\n\n if (!finalInstallationId) {\n throw new Error(\n 'GitHub App installation ID is required. Provide --github-installation-id or set owner/repo for auto-detection.'\n );\n }\n\n // Create the authenticated Octokit instance\n const octokit = new Octokit({\n authStrategy: createAppAuth,\n auth: {\n appId,\n privateKey,\n installationId: finalInstallationId,\n },\n });\n\n // Extract the installation access token for environment propagation\n const authResult = (await octokit.auth({ type: 'installation' })) as { token: string };\n\n return {\n octokit,\n authType: 'github-app',\n token: authResult.token,\n };\n }\n\n // Fall back to token authentication\n if (token) {\n return {\n octokit: new Octokit({ auth: token }),\n authType: 'token',\n token,\n };\n }\n\n // No credentials provided\n return undefined;\n}\n\n/**\n * Resolve GitHub auth options from environment variables.\n * Used as fallback when no explicit CLI arguments are provided.\n */\nexport function resolveAuthFromEnvironment(): GitHubAuthOptions {\n return {\n token: process.env.GITHUB_TOKEN || process.env.GH_TOKEN,\n appId: process.env.GITHUB_APP_ID,\n privateKey: process.env.GITHUB_APP_PRIVATE_KEY,\n installationId: process.env.GITHUB_APP_INSTALLATION_ID,\n owner: process.env.GITHUB_REPOSITORY_OWNER || process.env.GITHUB_REPOSITORY?.split('/')[0],\n repo: process.env.GITHUB_REPOSITORY?.split('/')[1],\n };\n}\n\n/**\n * Resolve private key — supports both inline PEM content and file paths.\n */\nexport function resolvePrivateKey(keyOrPath: string): string {\n if (keyOrPath.includes('-----BEGIN')) {\n return keyOrPath;\n }\n const resolved = path.resolve(keyOrPath);\n if (fs.existsSync(resolved)) {\n return fs.readFileSync(resolved, 'utf8');\n }\n // Return as-is and let the auth library handle errors\n return keyOrPath;\n}\n\n// Track our auth entries position so repeated calls replace instead of stacking.\n// _authBase: the GIT_CONFIG index where our 2 auth entries start.\n// _lastWrittenCount: what we last set GIT_CONFIG_COUNT to (detects external changes).\nlet _authBase: number | undefined;\nlet _lastWrittenCount: number | undefined;\n\n/**\n * Inject GitHub credentials into process.env for child processes.\n *\n * Sets GITHUB_TOKEN/GH_TOKEN for gh CLI, and configures git HTTPS auth\n * via GIT_CONFIG_COUNT/KEY/VALUE env vars so `git clone`, `git push`, etc.\n * work automatically against github.com without any local git config.\n *\n * Uses git's GIT_CONFIG_COUNT mechanism (git 2.31+, March 2021):\n * - No temp files or global config mutation\n * - Inherited by all child processes automatically\n * - Works regardless of local git configuration\n *\n * Safe to call multiple times (e.g. on token refresh) — replaces previous entries.\n */\nexport function injectGitHubCredentials(token: string): void {\n // Set for gh CLI and general GitHub API usage\n process.env.GITHUB_TOKEN = token;\n process.env.GH_TOKEN = token;\n\n const currentCount = parseInt(process.env.GIT_CONFIG_COUNT || '0', 10);\n\n // Determine where to write our 2 auth entries:\n // - First call: append after any pre-existing entries\n // - Subsequent calls with unchanged count: overwrite at same position\n // - If count changed externally: someone added entries, append after them\n let base: number;\n if (_authBase === undefined) {\n base = currentCount;\n } else if (_lastWrittenCount !== undefined && currentCount !== _lastWrittenCount) {\n base = currentCount;\n } else {\n base = _authBase;\n }\n _authBase = base;\n\n // Configure git HTTPS auth via url.<base>.insteadOf\n const authUrl = `https://x-access-token:${token}@github.com/`;\n\n // Rewrite HTTPS URLs\n process.env[`GIT_CONFIG_KEY_${base}`] = `url.${authUrl}.insteadOf`;\n process.env[`GIT_CONFIG_VALUE_${base}`] = 'https://github.com/';\n\n // Rewrite SSH-style URLs (git@github.com:org/repo)\n process.env[`GIT_CONFIG_KEY_${base + 1}`] = `url.${authUrl}.insteadOf`;\n process.env[`GIT_CONFIG_VALUE_${base + 1}`] = 'git@github.com:';\n\n const newCount = base + 2;\n process.env.GIT_CONFIG_COUNT = String(newCount);\n _lastWrittenCount = newCount;\n}\n\n/**\n * Mark the current token as freshly generated (for use after initial startup auth).\n * Prevents the first refreshGitHubCredentials() call from unnecessarily regenerating.\n */\nexport function markTokenFresh(): void {\n const token = process.env.GITHUB_TOKEN || process.env.GH_TOKEN;\n if (token) {\n _cachedAppToken = { token, generatedAt: Date.now() };\n }\n}\n\n// Cached token with generation timestamp for expiry checks\nlet _cachedAppToken: { token: string; generatedAt: number } | undefined;\n\n// Installation tokens live 1 hour; refresh after 45 minutes.\n// Using 45 min (not 50) leaves a 15-minute buffer for long-running tasks\n// that start right before a refresh cycle.\nconst TOKEN_REFRESH_MS = 45 * 60 * 1000;\n\n// Background refresh timer\nlet _refreshTimer: ReturnType<typeof setInterval> | undefined;\n\n// How often the background timer checks (30 minutes)\nconst TIMER_INTERVAL_MS = 30 * 60 * 1000;\n\n/**\n * Refresh GitHub App installation credentials if they are about to expire.\n *\n * No-op when:\n * - No GitHub App credentials are configured (GITHUB_APP_ID + GITHUB_APP_PRIVATE_KEY)\n * - The current token was generated less than 45 minutes ago\n *\n * Call this before each execution in long-running processes (Slack bot, scheduler)\n * to ensure child processes always have a valid token for git/gh operations.\n */\nexport async function refreshGitHubCredentials(): Promise<void> {\n // Quick check: do we have App credentials?\n const appId = process.env.GITHUB_APP_ID;\n const privateKey = process.env.GITHUB_APP_PRIVATE_KEY;\n if (!appId || !privateKey) return;\n\n // Skip if cached token is still fresh\n const now = Date.now();\n if (_cachedAppToken && now - _cachedAppToken.generatedAt < TOKEN_REFRESH_MS) {\n return;\n }\n\n try {\n const opts = resolveAuthFromEnvironment();\n const result = await createAuthenticatedOctokit(opts);\n if (result && result.authType === 'github-app') {\n injectGitHubCredentials(result.token);\n _cachedAppToken = { token: result.token, generatedAt: now };\n logger.debug('[github-auth] Refreshed GitHub App installation token');\n }\n } catch (err) {\n const age = _cachedAppToken\n ? `${Math.round((now - _cachedAppToken.generatedAt) / 60000)}min old`\n : 'no cached token';\n logger.warn(\n `[github-auth] Failed to refresh GitHub App token (${age}): ${err instanceof Error ? err.message : String(err)}. ` +\n 'Child processes may fail with authentication errors.'\n );\n }\n}\n\n/**\n * Start a background timer that refreshes GitHub App tokens every 30 minutes.\n *\n * This ensures tokens stay fresh even during long-running tasks (e.g., an engineer\n * task that takes 40+ minutes). Without this, a token generated at startup could\n * expire mid-execution of a child process.\n *\n * The timer is unref'd so it doesn't prevent Node from exiting.\n * Call stopTokenRefreshTimer() on shutdown.\n */\nexport function startTokenRefreshTimer(): void {\n if (_refreshTimer) return; // Already running\n\n // Only start if we have App credentials\n const appId = process.env.GITHUB_APP_ID;\n const privateKey = process.env.GITHUB_APP_PRIVATE_KEY;\n if (!appId || !privateKey) return;\n\n _refreshTimer = setInterval(() => {\n refreshGitHubCredentials().catch(err => {\n logger.warn(\n `[github-auth] Background token refresh failed: ${err instanceof Error ? err.message : String(err)}`\n );\n });\n }, TIMER_INTERVAL_MS);\n\n // Don't prevent Node from exiting\n _refreshTimer.unref();\n\n logger.debug('[github-auth] Background token refresh timer started (every 30 min)');\n}\n\n/**\n * Stop the background token refresh timer.\n */\nexport function stopTokenRefreshTimer(): void {\n if (_refreshTimer) {\n clearInterval(_refreshTimer);\n _refreshTimer = undefined;\n logger.debug('[github-auth] Background token refresh timer stopped');\n }\n}\n\n/** Visible for testing: override the cached token state. */\nexport function _testSetCachedToken(token: string | undefined, generatedAt?: number): void {\n if (token) {\n _cachedAppToken = { token, generatedAt: generatedAt ?? Date.now() };\n } else {\n _cachedAppToken = undefined;\n }\n}\n\n/** Visible for testing: get the current cached token info. */\nexport function _testGetCachedToken(): { token: string; generatedAt: number } | undefined {\n return _cachedAppToken;\n}\n"],"mappings":"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","names":[]}
|
|
@@ -5,21 +5,21 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
failure_condition_evaluator_exports,
|
|
7
7
|
init_failure_condition_evaluator
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-GA2TYKSR.mjs";
|
|
9
|
+
import "./chunk-XOAEKFKB.mjs";
|
|
10
10
|
import {
|
|
11
11
|
generateShortHumanId,
|
|
12
12
|
init_human_id
|
|
13
|
-
} from "./chunk-
|
|
14
|
-
import "./chunk-
|
|
13
|
+
} from "./chunk-G7GSN3SK.mjs";
|
|
14
|
+
import "./chunk-FWWLD555.mjs";
|
|
15
15
|
import "./chunk-25IC7KXZ.mjs";
|
|
16
16
|
import "./chunk-LW3INISN.mjs";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-RI4ONH5X.mjs";
|
|
18
18
|
import {
|
|
19
19
|
init_logger,
|
|
20
20
|
logger
|
|
21
|
-
} from "./chunk-
|
|
22
|
-
import "./chunk-
|
|
21
|
+
} from "./chunk-ZPYODGYA.mjs";
|
|
22
|
+
import "./chunk-B2OUZAWY.mjs";
|
|
23
23
|
import {
|
|
24
24
|
__esm,
|
|
25
25
|
__export,
|
|
@@ -1391,4 +1391,4 @@ init_github_frontend();
|
|
|
1391
1391
|
export {
|
|
1392
1392
|
GitHubFrontend
|
|
1393
1393
|
};
|
|
1394
|
-
//# sourceMappingURL=github-frontend-
|
|
1394
|
+
//# sourceMappingURL=github-frontend-DECYOBRN.mjs.map
|
|
@@ -5,12 +5,12 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
failure_condition_evaluator_exports,
|
|
7
7
|
init_failure_condition_evaluator
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-V45TITKX.mjs";
|
|
9
|
+
import "./chunk-TFUQ2D5L.mjs";
|
|
10
10
|
import {
|
|
11
11
|
generateShortHumanId,
|
|
12
12
|
init_human_id
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-MFXPJUUE.mjs";
|
|
14
14
|
import "./chunk-34QX63WK.mjs";
|
|
15
15
|
import "./chunk-25IC7KXZ.mjs";
|
|
16
16
|
import "./chunk-LW3INISN.mjs";
|
|
@@ -1391,4 +1391,4 @@ init_github_frontend();
|
|
|
1391
1391
|
export {
|
|
1392
1392
|
GitHubFrontend
|
|
1393
1393
|
};
|
|
1394
|
-
//# sourceMappingURL=github-frontend-
|
|
1394
|
+
//# sourceMappingURL=github-frontend-TZRBOQCN.mjs.map
|
|
@@ -24,10 +24,10 @@ var init_host = __esm({
|
|
|
24
24
|
const { NdjsonSink } = await import("./ndjson-sink-FD2PSXGD.mjs");
|
|
25
25
|
this.frontends.push(new NdjsonSink(spec.config));
|
|
26
26
|
} else if (spec.name === "github") {
|
|
27
|
-
const { GitHubFrontend } = await import("./github-frontend-
|
|
27
|
+
const { GitHubFrontend } = await import("./github-frontend-DECYOBRN.mjs");
|
|
28
28
|
this.frontends.push(new GitHubFrontend());
|
|
29
29
|
} else if (spec.name === "slack") {
|
|
30
|
-
const { SlackFrontend } = await import("./slack-frontend-
|
|
30
|
+
const { SlackFrontend } = await import("./slack-frontend-DF5VL4OF.mjs");
|
|
31
31
|
this.frontends.push(new SlackFrontend(spec.config));
|
|
32
32
|
} else if (spec.name === "tui") {
|
|
33
33
|
const { TuiFrontend } = await import("./tui-frontend-T56PZB67.mjs");
|
|
@@ -45,7 +45,7 @@ var init_host = __esm({
|
|
|
45
45
|
const { TeamsFrontend } = await import("./teams-frontend-DNW5GZP3.mjs");
|
|
46
46
|
this.frontends.push(new TeamsFrontend(spec.config));
|
|
47
47
|
} else if (spec.name === "a2a") {
|
|
48
|
-
const { A2AFrontend } = await import("./a2a-frontend-
|
|
48
|
+
const { A2AFrontend } = await import("./a2a-frontend-5YDHFQXD.mjs");
|
|
49
49
|
this.frontends.push(new A2AFrontend(spec.config));
|
|
50
50
|
} else {
|
|
51
51
|
this.log.warn(`[FrontendsHost] Unknown frontend '${spec.name}', skipping`);
|
|
@@ -84,4 +84,4 @@ export {
|
|
|
84
84
|
FrontendsHost,
|
|
85
85
|
isActiveFrontend
|
|
86
86
|
};
|
|
87
|
-
//# sourceMappingURL=host-
|
|
87
|
+
//# sourceMappingURL=host-CFM2ASDI.mjs.map
|
|
@@ -24,7 +24,7 @@ var init_host = __esm({
|
|
|
24
24
|
const { NdjsonSink } = await import("./ndjson-sink-FD2PSXGD.mjs");
|
|
25
25
|
this.frontends.push(new NdjsonSink(spec.config));
|
|
26
26
|
} else if (spec.name === "github") {
|
|
27
|
-
const { GitHubFrontend } = await import("./github-frontend-
|
|
27
|
+
const { GitHubFrontend } = await import("./github-frontend-TZRBOQCN.mjs");
|
|
28
28
|
this.frontends.push(new GitHubFrontend());
|
|
29
29
|
} else if (spec.name === "slack") {
|
|
30
30
|
const { SlackFrontend } = await import("./slack-frontend-BPWXNIHE.mjs");
|
|
@@ -45,7 +45,7 @@ var init_host = __esm({
|
|
|
45
45
|
const { TeamsFrontend } = await import("./teams-frontend-DNW5GZP3.mjs");
|
|
46
46
|
this.frontends.push(new TeamsFrontend(spec.config));
|
|
47
47
|
} else if (spec.name === "a2a") {
|
|
48
|
-
const { A2AFrontend } = await import("./a2a-frontend-
|
|
48
|
+
const { A2AFrontend } = await import("./a2a-frontend-6LWBIPMS.mjs");
|
|
49
49
|
this.frontends.push(new A2AFrontend(spec.config));
|
|
50
50
|
} else {
|
|
51
51
|
this.log.warn(`[FrontendsHost] Unknown frontend '${spec.name}', skipping`);
|
|
@@ -84,4 +84,4 @@ export {
|
|
|
84
84
|
FrontendsHost,
|
|
85
85
|
isActiveFrontend
|
|
86
86
|
};
|
|
87
|
-
//# sourceMappingURL=host-
|
|
87
|
+
//# sourceMappingURL=host-T4LNVU2H.mjs.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
init_logger,
|
|
3
3
|
logger
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-ZPYODGYA.mjs";
|
|
5
|
+
import "./chunk-B2OUZAWY.mjs";
|
|
6
6
|
import {
|
|
7
7
|
__esm,
|
|
8
8
|
__require
|
|
@@ -524,4 +524,4 @@ init_knex_store();
|
|
|
524
524
|
export {
|
|
525
525
|
KnexStoreBackend
|
|
526
526
|
};
|
|
527
|
-
//# sourceMappingURL=knex-store-
|
|
527
|
+
//# sourceMappingURL=knex-store-OEWSZEBY.mjs.map
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DiagConsoleLogger,
|
|
3
|
+
DiagLogLevel,
|
|
4
|
+
SpanKind,
|
|
5
|
+
SpanStatusCode,
|
|
6
|
+
context,
|
|
7
|
+
diag,
|
|
8
|
+
init_lazy_otel,
|
|
9
|
+
metrics,
|
|
10
|
+
trace
|
|
11
|
+
} from "./chunk-B2OUZAWY.mjs";
|
|
12
|
+
import "./chunk-J7LXIPZS.mjs";
|
|
13
|
+
init_lazy_otel();
|
|
14
|
+
export {
|
|
15
|
+
DiagConsoleLogger,
|
|
16
|
+
DiagLogLevel,
|
|
17
|
+
SpanKind,
|
|
18
|
+
SpanStatusCode,
|
|
19
|
+
context,
|
|
20
|
+
diag,
|
|
21
|
+
metrics,
|
|
22
|
+
trace
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=lazy-otel-5RDTVS5L.mjs.map
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ReadFileTag,
|
|
3
|
+
configureLiquidWithExtensions,
|
|
4
|
+
createExtendedLiquid,
|
|
5
|
+
init_liquid_extensions,
|
|
6
|
+
sanitizeLabel,
|
|
7
|
+
sanitizeLabelList,
|
|
8
|
+
withPermissionsContext
|
|
9
|
+
} from "./chunk-4BN2XI4X.mjs";
|
|
10
|
+
import "./chunk-25IC7KXZ.mjs";
|
|
11
|
+
import "./chunk-LW3INISN.mjs";
|
|
12
|
+
import "./chunk-RI4ONH5X.mjs";
|
|
13
|
+
import "./chunk-ZPYODGYA.mjs";
|
|
14
|
+
import "./chunk-B2OUZAWY.mjs";
|
|
15
|
+
import "./chunk-J7LXIPZS.mjs";
|
|
16
|
+
init_liquid_extensions();
|
|
17
|
+
export {
|
|
18
|
+
ReadFileTag,
|
|
19
|
+
configureLiquidWithExtensions,
|
|
20
|
+
createExtendedLiquid,
|
|
21
|
+
sanitizeLabel,
|
|
22
|
+
sanitizeLabelList,
|
|
23
|
+
withPermissionsContext
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=liquid-extensions-E3AKRX7P.mjs.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
init_logger,
|
|
3
3
|
logger_exports
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-ZPYODGYA.mjs";
|
|
5
|
+
import "./chunk-B2OUZAWY.mjs";
|
|
6
6
|
import {
|
|
7
7
|
__esm,
|
|
8
8
|
__toCommonJS
|
|
@@ -45,7 +45,7 @@ async function loadEnterprisePolicyEngine(config) {
|
|
|
45
45
|
"[visor:enterprise] License has expired but is within the 72-hour grace period. Please renew your license."
|
|
46
46
|
);
|
|
47
47
|
}
|
|
48
|
-
const { OpaPolicyEngine } = await import("./opa-policy-engine-
|
|
48
|
+
const { OpaPolicyEngine } = await import("./opa-policy-engine-IVMCGVNA.mjs");
|
|
49
49
|
const engine = new OpaPolicyEngine(config);
|
|
50
50
|
await engine.initialize(config);
|
|
51
51
|
return engine;
|
|
@@ -73,7 +73,7 @@ async function loadEnterpriseStoreBackend(driver, storageConfig, haConfig) {
|
|
|
73
73
|
"[visor:enterprise] License has expired but is within the 72-hour grace period. Please renew your license."
|
|
74
74
|
);
|
|
75
75
|
}
|
|
76
|
-
const { KnexStoreBackend } = await import("./knex-store-
|
|
76
|
+
const { KnexStoreBackend } = await import("./knex-store-OEWSZEBY.mjs");
|
|
77
77
|
return new KnexStoreBackend(driver, storageConfig, haConfig);
|
|
78
78
|
}
|
|
79
79
|
var init_loader = __esm({
|
|
@@ -86,4 +86,4 @@ export {
|
|
|
86
86
|
loadEnterprisePolicyEngine,
|
|
87
87
|
loadEnterpriseStoreBackend
|
|
88
88
|
};
|
|
89
|
-
//# sourceMappingURL=loader-
|
|
89
|
+
//# sourceMappingURL=loader-WRGI244P.mjs.map
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MemoryStore,
|
|
3
|
+
init_memory_store
|
|
4
|
+
} from "./chunk-RI4ONH5X.mjs";
|
|
5
|
+
import "./chunk-ZPYODGYA.mjs";
|
|
6
|
+
import "./chunk-B2OUZAWY.mjs";
|
|
7
|
+
import "./chunk-J7LXIPZS.mjs";
|
|
8
|
+
init_memory_store();
|
|
9
|
+
export {
|
|
10
|
+
MemoryStore
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=memory-store-OHUIXCWJ.mjs.map
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import {
|
|
2
|
+
addDiagramBlock,
|
|
3
|
+
addFailIfTriggered,
|
|
4
|
+
addIssues,
|
|
5
|
+
decActiveCheck,
|
|
6
|
+
getRunAiCalls,
|
|
7
|
+
getTestMetricsSnapshot,
|
|
8
|
+
incActiveCheck,
|
|
9
|
+
init_metrics,
|
|
10
|
+
recordAiCall,
|
|
11
|
+
recordCheckDuration,
|
|
12
|
+
recordForEachDuration,
|
|
13
|
+
recordProviderDuration,
|
|
14
|
+
recordRunAiCalls,
|
|
15
|
+
recordRunDuration,
|
|
16
|
+
recordRunStart,
|
|
17
|
+
resetRunAiCalls,
|
|
18
|
+
resetTestMetricsSnapshot
|
|
19
|
+
} from "./chunk-FWWLD555.mjs";
|
|
20
|
+
import "./chunk-B2OUZAWY.mjs";
|
|
21
|
+
import "./chunk-J7LXIPZS.mjs";
|
|
22
|
+
init_metrics();
|
|
23
|
+
export {
|
|
24
|
+
addDiagramBlock,
|
|
25
|
+
addFailIfTriggered,
|
|
26
|
+
addIssues,
|
|
27
|
+
decActiveCheck,
|
|
28
|
+
getRunAiCalls,
|
|
29
|
+
getTestMetricsSnapshot,
|
|
30
|
+
incActiveCheck,
|
|
31
|
+
recordAiCall,
|
|
32
|
+
recordCheckDuration,
|
|
33
|
+
recordForEachDuration,
|
|
34
|
+
recordProviderDuration,
|
|
35
|
+
recordRunAiCalls,
|
|
36
|
+
recordRunDuration,
|
|
37
|
+
recordRunStart,
|
|
38
|
+
resetRunAiCalls,
|
|
39
|
+
resetTestMetricsSnapshot
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=metrics-MYUPQBBV.mjs.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
init_logger,
|
|
3
3
|
logger_exports
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-ZPYODGYA.mjs";
|
|
5
|
+
import "./chunk-B2OUZAWY.mjs";
|
|
6
6
|
import {
|
|
7
7
|
__esm,
|
|
8
8
|
__require,
|
|
@@ -652,4 +652,4 @@ init_opa_policy_engine();
|
|
|
652
652
|
export {
|
|
653
653
|
OpaPolicyEngine
|
|
654
654
|
};
|
|
655
|
-
//# sourceMappingURL=opa-policy-engine-
|
|
655
|
+
//# sourceMappingURL=opa-policy-engine-IVMCGVNA.mjs.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import {
|
|
2
|
+
PromptStateManager,
|
|
3
|
+
getPromptStateManager,
|
|
4
|
+
init_prompt_state,
|
|
5
|
+
resetPromptStateManager
|
|
6
|
+
} from "./chunk-MEB2TTIE.mjs";
|
|
7
|
+
import "./chunk-ZPYODGYA.mjs";
|
|
8
|
+
import "./chunk-B2OUZAWY.mjs";
|
|
9
|
+
import "./chunk-J7LXIPZS.mjs";
|
|
10
|
+
init_prompt_state();
|
|
11
|
+
export {
|
|
12
|
+
PromptStateManager,
|
|
13
|
+
getPromptStateManager,
|
|
14
|
+
resetPromptStateManager
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=prompt-state-LN57DQF3.mjs.map
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import {
|
|
2
|
+
init_logger,
|
|
3
|
+
logger
|
|
4
|
+
} from "./chunk-ZPYODGYA.mjs";
|
|
5
|
+
import "./chunk-B2OUZAWY.mjs";
|
|
6
|
+
import {
|
|
7
|
+
__esm
|
|
8
|
+
} from "./chunk-J7LXIPZS.mjs";
|
|
9
|
+
|
|
10
|
+
// src/state-machine/dispatch/renderer-schema.ts
|
|
11
|
+
async function loadRendererSchema(name) {
|
|
12
|
+
try {
|
|
13
|
+
const fs = await import("fs/promises");
|
|
14
|
+
const path = await import("path");
|
|
15
|
+
const sanitized = String(name).replace(/[^a-zA-Z0-9-]/g, "");
|
|
16
|
+
if (!sanitized) return void 0;
|
|
17
|
+
const candidates = [
|
|
18
|
+
// When bundled with ncc, __dirname is dist/ and output/ is at dist/output/
|
|
19
|
+
path.join(__dirname, "output", sanitized, "schema.json"),
|
|
20
|
+
// When running from source, __dirname is src/state-machine/dispatch/ and output/ is at output/
|
|
21
|
+
path.join(__dirname, "..", "..", "output", sanitized, "schema.json"),
|
|
22
|
+
// When running from a checkout with output/ folder copied to CWD
|
|
23
|
+
path.join(process.cwd(), "output", sanitized, "schema.json"),
|
|
24
|
+
// Fallback: cwd/dist/output/
|
|
25
|
+
path.join(process.cwd(), "dist", "output", sanitized, "schema.json")
|
|
26
|
+
];
|
|
27
|
+
for (const p of candidates) {
|
|
28
|
+
try {
|
|
29
|
+
const raw = await fs.readFile(p, "utf-8");
|
|
30
|
+
return JSON.parse(raw);
|
|
31
|
+
} catch {
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
} catch (e) {
|
|
35
|
+
try {
|
|
36
|
+
logger.warn(`[schema-loader] Failed to load renderer schema '${name}': ${String(e)}`);
|
|
37
|
+
} catch {
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return void 0;
|
|
41
|
+
}
|
|
42
|
+
var init_renderer_schema = __esm({
|
|
43
|
+
"src/state-machine/dispatch/renderer-schema.ts"() {
|
|
44
|
+
init_logger();
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
init_renderer_schema();
|
|
48
|
+
export {
|
|
49
|
+
loadRendererSchema
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=renderer-schema-BT2IXMLW.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/state-machine/dispatch/renderer-schema.ts"],"sourcesContent":["import { logger } from '../../logger';\n\n/**\n * Load a built-in JSON Schema for a named renderer (e.g., \"code-review\",\n * \"issue-assistant\", \"overview\", \"plain\"). Returns undefined when not found.\n *\n * Mirrors template resolution in template-renderer.ts, but targets schema.json.\n */\nexport async function loadRendererSchema(name: string): Promise<any | undefined> {\n try {\n const fs = await import('fs/promises');\n const path = await import('path');\n const sanitized = String(name).replace(/[^a-zA-Z0-9-]/g, '');\n if (!sanitized) return undefined;\n\n const candidates = [\n // When bundled with ncc, __dirname is dist/ and output/ is at dist/output/\n path.join(__dirname, 'output', sanitized, 'schema.json'),\n // When running from source, __dirname is src/state-machine/dispatch/ and output/ is at output/\n path.join(__dirname, '..', '..', 'output', sanitized, 'schema.json'),\n // When running from a checkout with output/ folder copied to CWD\n path.join(process.cwd(), 'output', sanitized, 'schema.json'),\n // Fallback: cwd/dist/output/\n path.join(process.cwd(), 'dist', 'output', sanitized, 'schema.json'),\n ];\n\n for (const p of candidates) {\n try {\n const raw = await fs.readFile(p, 'utf-8');\n return JSON.parse(raw);\n } catch {}\n }\n } catch (e) {\n try {\n logger.warn(`[schema-loader] Failed to load renderer schema '${name}': ${String(e)}`);\n } catch {}\n }\n return undefined;\n}\n"],"mappings":";;;;;;;;;;AAQA,eAAsB,mBAAmB,MAAwC;AAC/E,MAAI;AACF,UAAM,KAAK,MAAM,OAAO,aAAa;AACrC,UAAM,OAAO,MAAM,OAAO,MAAM;AAChC,UAAM,YAAY,OAAO,IAAI,EAAE,QAAQ,kBAAkB,EAAE;AAC3D,QAAI,CAAC,UAAW,QAAO;AAEvB,UAAM,aAAa;AAAA;AAAA,MAEjB,KAAK,KAAK,WAAW,UAAU,WAAW,aAAa;AAAA;AAAA,MAEvD,KAAK,KAAK,WAAW,MAAM,MAAM,UAAU,WAAW,aAAa;AAAA;AAAA,MAEnE,KAAK,KAAK,QAAQ,IAAI,GAAG,UAAU,WAAW,aAAa;AAAA;AAAA,MAE3D,KAAK,KAAK,QAAQ,IAAI,GAAG,QAAQ,UAAU,WAAW,aAAa;AAAA,IACrE;AAEA,eAAW,KAAK,YAAY;AAC1B,UAAI;AACF,cAAM,MAAM,MAAM,GAAG,SAAS,GAAG,OAAO;AACxC,eAAO,KAAK,MAAM,GAAG;AAAA,MACvB,QAAQ;AAAA,MAAC;AAAA,IACX;AAAA,EACF,SAAS,GAAG;AACV,QAAI;AACF,aAAO,KAAK,mDAAmD,IAAI,MAAM,OAAO,CAAC,CAAC,EAAE;AAAA,IACtF,QAAQ;AAAA,IAAC;AAAA,EACX;AACA,SAAO;AACT;AAtCA;AAAA;AAAA;AAAA;AAAA;","names":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import {
|
|
2
|
+
checkLoopBudget,
|
|
3
|
+
evaluateGoto,
|
|
4
|
+
evaluateTransitions,
|
|
5
|
+
handleRouting,
|
|
6
|
+
init_routing
|
|
7
|
+
} from "./chunk-WKLJ57WF.mjs";
|
|
8
|
+
import "./chunk-GA2TYKSR.mjs";
|
|
9
|
+
import "./chunk-XOAEKFKB.mjs";
|
|
10
|
+
import "./chunk-G7GSN3SK.mjs";
|
|
11
|
+
import "./chunk-FWWLD555.mjs";
|
|
12
|
+
import "./chunk-4BN2XI4X.mjs";
|
|
13
|
+
import "./chunk-25IC7KXZ.mjs";
|
|
14
|
+
import "./chunk-LW3INISN.mjs";
|
|
15
|
+
import "./chunk-RI4ONH5X.mjs";
|
|
16
|
+
import "./chunk-ZPYODGYA.mjs";
|
|
17
|
+
import "./chunk-B2OUZAWY.mjs";
|
|
18
|
+
import "./chunk-J7LXIPZS.mjs";
|
|
19
|
+
init_routing();
|
|
20
|
+
export {
|
|
21
|
+
checkLoopBudget,
|
|
22
|
+
evaluateGoto,
|
|
23
|
+
evaluateTransitions,
|
|
24
|
+
handleRouting
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=routing-H2PQ57OA.mjs.map
|
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
evaluateTransitions,
|
|
5
5
|
handleRouting,
|
|
6
6
|
init_routing
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-NPSLGKXB.mjs";
|
|
8
|
+
import "./chunk-V45TITKX.mjs";
|
|
9
|
+
import "./chunk-TFUQ2D5L.mjs";
|
|
10
|
+
import "./chunk-MFXPJUUE.mjs";
|
|
11
11
|
import "./chunk-34QX63WK.mjs";
|
|
12
12
|
import "./chunk-PQWZ6NFL.mjs";
|
|
13
13
|
import "./chunk-25IC7KXZ.mjs";
|
|
@@ -23,4 +23,4 @@ export {
|
|
|
23
23
|
evaluateTransitions,
|
|
24
24
|
handleRouting
|
|
25
25
|
};
|
|
26
|
-
//# sourceMappingURL=routing-
|
|
26
|
+
//# sourceMappingURL=routing-JMZ7HDCC.mjs.map
|