@probelabs/visor 0.1.165 → 0.1.166
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/dist/index.js +525 -120
- package/dist/output/traces/{run-2026-03-06T06-08-10-897Z.ndjson → run-2026-03-06T13-08-34-152Z.ndjson} +84 -84
- package/dist/output/traces/{run-2026-03-06T06-08-55-016Z.ndjson → run-2026-03-06T13-09-10-593Z.ndjson} +1894 -1894
- package/dist/pr-analyzer.d.ts +2 -1
- package/dist/pr-analyzer.d.ts.map +1 -1
- package/dist/providers/http-client-provider.d.ts.map +1 -1
- package/dist/sdk/{check-provider-registry-6P2KJ423.mjs → check-provider-registry-TGPICTHD.mjs} +5 -5
- package/dist/sdk/{check-provider-registry-TTVN3V2O.mjs → check-provider-registry-V6C4LUYJ.mjs} +5 -5
- package/dist/sdk/{check-provider-registry-4SHN3GSH.mjs → check-provider-registry-WXEBJWXY.mjs} +5 -5
- package/dist/sdk/{chunk-EO4IJNM7.mjs → chunk-E7NRUDWL.mjs} +2 -2
- package/dist/sdk/{chunk-LDE33FGE.mjs → chunk-HFCOZPAS.mjs} +3 -3
- package/dist/sdk/{chunk-LDE33FGE.mjs.map → chunk-HFCOZPAS.mjs.map} +1 -1
- package/dist/sdk/{chunk-XDIBL7QB.mjs → chunk-KBTFMYZQ.mjs} +2 -2
- package/dist/sdk/{chunk-G5JBWW3O.mjs → chunk-KKGMGB4X.mjs} +160 -20
- package/dist/sdk/chunk-KKGMGB4X.mjs.map +1 -0
- package/dist/sdk/{chunk-GMHSXC5K.mjs → chunk-OQ3CML4F.mjs} +3 -3
- package/dist/sdk/{chunk-J236ZVYX.mjs → chunk-RV5SK4FZ.mjs} +3 -3
- package/dist/sdk/{chunk-S47KBQQK.mjs → chunk-T5USZCCM.mjs} +2 -2
- package/dist/sdk/{chunk-S47KBQQK.mjs.map → chunk-T5USZCCM.mjs.map} +1 -1
- package/dist/sdk/{chunk-GOJRNYTV.mjs → chunk-WSYVK6ML.mjs} +188 -22
- package/dist/sdk/chunk-WSYVK6ML.mjs.map +1 -0
- package/dist/sdk/{chunk-MYROK4LB.mjs → chunk-ZQR4AGS3.mjs} +160 -20
- package/dist/sdk/chunk-ZQR4AGS3.mjs.map +1 -0
- package/dist/sdk/{failure-condition-evaluator-N3VNLWZD.mjs → failure-condition-evaluator-5EAESM44.mjs} +3 -3
- package/dist/sdk/{failure-condition-evaluator-M6SIUQF4.mjs → failure-condition-evaluator-GPANOHP2.mjs} +3 -3
- package/dist/sdk/{github-frontend-ATORHHF6.mjs → github-frontend-BPRRUIGB.mjs} +3 -3
- package/dist/sdk/{github-frontend-MHXL2Q2V.mjs → github-frontend-P274ISBJ.mjs} +3 -3
- package/dist/sdk/{host-JROON6IT.mjs → host-753E6PKF.mjs} +2 -2
- package/dist/sdk/{host-OBXKDFT7.mjs → host-AIMRV5YL.mjs} +2 -2
- package/dist/sdk/{routing-QCDX43XD.mjs → routing-BXHP2E62.mjs} +4 -4
- package/dist/sdk/{routing-TGJD66Q5.mjs → routing-QHWSMAIH.mjs} +4 -4
- package/dist/sdk/{schedule-tool-D5TSTGP2.mjs → schedule-tool-MQHISNJ6.mjs} +5 -5
- package/dist/sdk/{schedule-tool-XCGJI2VB.mjs → schedule-tool-OCZGLKMJ.mjs} +5 -5
- package/dist/sdk/{schedule-tool-C5QN5OQU.mjs → schedule-tool-ZVOSSFN2.mjs} +5 -5
- package/dist/sdk/{schedule-tool-handler-DKHHPZAG.mjs → schedule-tool-handler-4NCS4ARE.mjs} +5 -5
- package/dist/sdk/{schedule-tool-handler-OKZ53WMC.mjs → schedule-tool-handler-BGOL2TOP.mjs} +5 -5
- package/dist/sdk/{schedule-tool-handler-ZUMPNAVY.mjs → schedule-tool-handler-TZYXM664.mjs} +5 -5
- package/dist/sdk/sdk.js +147 -7
- package/dist/sdk/sdk.js.map +1 -1
- package/dist/sdk/sdk.mjs +4 -4
- package/dist/sdk/{trace-helpers-J5CJ4PUN.mjs → trace-helpers-CTHTK6V5.mjs} +2 -2
- package/dist/sdk/{trace-helpers-KFQJ7IAG.mjs → trace-helpers-UG6FOWVV.mjs} +2 -2
- package/dist/sdk/{workflow-check-provider-T6WFK4RB.mjs → workflow-check-provider-3M5LXLLX.mjs} +5 -5
- package/dist/sdk/{workflow-check-provider-WLUAJPAS.mjs → workflow-check-provider-QKHL6AFT.mjs} +5 -5
- package/dist/sdk/{workflow-check-provider-RBYA6ZGU.mjs → workflow-check-provider-UTNO6XN6.mjs} +5 -5
- package/dist/slack/socket-runner.d.ts +14 -0
- package/dist/slack/socket-runner.d.ts.map +1 -1
- package/dist/traces/{run-2026-03-06T06-08-10-897Z.ndjson → run-2026-03-06T13-08-34-152Z.ndjson} +84 -84
- package/dist/traces/{run-2026-03-06T06-08-55-016Z.ndjson → run-2026-03-06T13-09-10-593Z.ndjson} +1894 -1894
- package/dist/utils/oauth2-token-cache.d.ts +44 -0
- package/dist/utils/oauth2-token-cache.d.ts.map +1 -0
- package/package.json +2 -2
- package/dist/sdk/chunk-G5JBWW3O.mjs.map +0 -1
- package/dist/sdk/chunk-GOJRNYTV.mjs.map +0 -1
- package/dist/sdk/chunk-MYROK4LB.mjs.map +0 -1
- /package/dist/sdk/{check-provider-registry-4SHN3GSH.mjs.map → check-provider-registry-TGPICTHD.mjs.map} +0 -0
- /package/dist/sdk/{check-provider-registry-6P2KJ423.mjs.map → check-provider-registry-V6C4LUYJ.mjs.map} +0 -0
- /package/dist/sdk/{check-provider-registry-TTVN3V2O.mjs.map → check-provider-registry-WXEBJWXY.mjs.map} +0 -0
- /package/dist/sdk/{chunk-EO4IJNM7.mjs.map → chunk-E7NRUDWL.mjs.map} +0 -0
- /package/dist/sdk/{chunk-XDIBL7QB.mjs.map → chunk-KBTFMYZQ.mjs.map} +0 -0
- /package/dist/sdk/{chunk-GMHSXC5K.mjs.map → chunk-OQ3CML4F.mjs.map} +0 -0
- /package/dist/sdk/{chunk-J236ZVYX.mjs.map → chunk-RV5SK4FZ.mjs.map} +0 -0
- /package/dist/sdk/{failure-condition-evaluator-M6SIUQF4.mjs.map → failure-condition-evaluator-5EAESM44.mjs.map} +0 -0
- /package/dist/sdk/{failure-condition-evaluator-N3VNLWZD.mjs.map → failure-condition-evaluator-GPANOHP2.mjs.map} +0 -0
- /package/dist/sdk/{github-frontend-ATORHHF6.mjs.map → github-frontend-BPRRUIGB.mjs.map} +0 -0
- /package/dist/sdk/{github-frontend-MHXL2Q2V.mjs.map → github-frontend-P274ISBJ.mjs.map} +0 -0
- /package/dist/sdk/{host-JROON6IT.mjs.map → host-753E6PKF.mjs.map} +0 -0
- /package/dist/sdk/{host-OBXKDFT7.mjs.map → host-AIMRV5YL.mjs.map} +0 -0
- /package/dist/sdk/{routing-QCDX43XD.mjs.map → routing-BXHP2E62.mjs.map} +0 -0
- /package/dist/sdk/{routing-TGJD66Q5.mjs.map → routing-QHWSMAIH.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-C5QN5OQU.mjs.map → schedule-tool-MQHISNJ6.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-D5TSTGP2.mjs.map → schedule-tool-OCZGLKMJ.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-XCGJI2VB.mjs.map → schedule-tool-ZVOSSFN2.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-handler-DKHHPZAG.mjs.map → schedule-tool-handler-4NCS4ARE.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-handler-OKZ53WMC.mjs.map → schedule-tool-handler-BGOL2TOP.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-handler-ZUMPNAVY.mjs.map → schedule-tool-handler-TZYXM664.mjs.map} +0 -0
- /package/dist/sdk/{trace-helpers-J5CJ4PUN.mjs.map → trace-helpers-CTHTK6V5.mjs.map} +0 -0
- /package/dist/sdk/{trace-helpers-KFQJ7IAG.mjs.map → trace-helpers-UG6FOWVV.mjs.map} +0 -0
- /package/dist/sdk/{workflow-check-provider-RBYA6ZGU.mjs.map → workflow-check-provider-3M5LXLLX.mjs.map} +0 -0
- /package/dist/sdk/{workflow-check-provider-T6WFK4RB.mjs.map → workflow-check-provider-QKHL6AFT.mjs.map} +0 -0
- /package/dist/sdk/{workflow-check-provider-WLUAJPAS.mjs.map → workflow-check-provider-UTNO6XN6.mjs.map} +0 -0
|
@@ -42,11 +42,11 @@ import {
|
|
|
42
42
|
init_routing,
|
|
43
43
|
init_snapshot_store,
|
|
44
44
|
snapshot_store_exports
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-OQ3CML4F.mjs";
|
|
46
46
|
import {
|
|
47
47
|
FailureConditionEvaluator,
|
|
48
48
|
init_failure_condition_evaluator
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-KBTFMYZQ.mjs";
|
|
50
50
|
import {
|
|
51
51
|
addEvent,
|
|
52
52
|
emitNdjsonFallback,
|
|
@@ -57,7 +57,7 @@ import {
|
|
|
57
57
|
setSpanAttributes,
|
|
58
58
|
trace_helpers_exports,
|
|
59
59
|
withActiveSpan
|
|
60
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-HFCOZPAS.mjs";
|
|
61
61
|
import {
|
|
62
62
|
addDiagramBlock,
|
|
63
63
|
init_metrics
|
|
@@ -3965,7 +3965,7 @@ async function executeWorkflowAsTool(workflowId, args, context2, argsOverrides)
|
|
|
3965
3965
|
...args,
|
|
3966
3966
|
...argsOverrides
|
|
3967
3967
|
};
|
|
3968
|
-
const { WorkflowCheckProvider: WorkflowCheckProvider2 } = await import("./workflow-check-provider-
|
|
3968
|
+
const { WorkflowCheckProvider: WorkflowCheckProvider2 } = await import("./workflow-check-provider-UTNO6XN6.mjs");
|
|
3969
3969
|
const provider = new WorkflowCheckProvider2();
|
|
3970
3970
|
const checkConfig = {
|
|
3971
3971
|
type: "workflow",
|
|
@@ -9261,7 +9261,7 @@ async function executeCheckWithForEachItems2(checkId, forEachParent, forEachItem
|
|
|
9261
9261
|
}
|
|
9262
9262
|
}
|
|
9263
9263
|
try {
|
|
9264
|
-
const { evaluateTransitions } = await import("./routing-
|
|
9264
|
+
const { evaluateTransitions } = await import("./routing-QHWSMAIH.mjs");
|
|
9265
9265
|
const transTarget = await evaluateTransitions(
|
|
9266
9266
|
onFinish.transitions,
|
|
9267
9267
|
forEachParent,
|
|
@@ -9321,7 +9321,7 @@ async function executeCheckWithForEachItems2(checkId, forEachParent, forEachItem
|
|
|
9321
9321
|
`[LevelDispatch] Error evaluating on_finish transitions for ${forEachParent}: ${e instanceof Error ? e.message : String(e)}`
|
|
9322
9322
|
);
|
|
9323
9323
|
}
|
|
9324
|
-
const { evaluateGoto: evaluateGoto2 } = await import("./routing-
|
|
9324
|
+
const { evaluateGoto: evaluateGoto2 } = await import("./routing-QHWSMAIH.mjs");
|
|
9325
9325
|
if (context2.debug) {
|
|
9326
9326
|
logger.info(
|
|
9327
9327
|
`[LevelDispatch] Evaluating on_finish.goto_js for forEach parent: ${forEachParent}`
|
|
@@ -13033,7 +13033,7 @@ var init_state_machine_execution_engine = __esm({
|
|
|
13033
13033
|
try {
|
|
13034
13034
|
const map = options?.webhookContext?.webhookData;
|
|
13035
13035
|
if (map) {
|
|
13036
|
-
const { CheckProviderRegistry: CheckProviderRegistry2 } = await import("./check-provider-registry-
|
|
13036
|
+
const { CheckProviderRegistry: CheckProviderRegistry2 } = await import("./check-provider-registry-WXEBJWXY.mjs");
|
|
13037
13037
|
const reg = CheckProviderRegistry2.getInstance();
|
|
13038
13038
|
const p = reg.getProvider("http_input");
|
|
13039
13039
|
if (p && typeof p.setWebhookContext === "function") p.setWebhookContext(map);
|
|
@@ -13156,7 +13156,7 @@ var init_state_machine_execution_engine = __esm({
|
|
|
13156
13156
|
tag_filter: tagFilter
|
|
13157
13157
|
} : config;
|
|
13158
13158
|
try {
|
|
13159
|
-
const { CheckProviderRegistry: CheckProviderRegistry2 } = await import("./check-provider-registry-
|
|
13159
|
+
const { CheckProviderRegistry: CheckProviderRegistry2 } = await import("./check-provider-registry-WXEBJWXY.mjs");
|
|
13160
13160
|
const registry = CheckProviderRegistry2.getInstance();
|
|
13161
13161
|
registry.setCustomTools(configWithTagFilter.tools || {});
|
|
13162
13162
|
} catch (error) {
|
|
@@ -13220,7 +13220,7 @@ var init_state_machine_execution_engine = __esm({
|
|
|
13220
13220
|
try {
|
|
13221
13221
|
const webhookData = this.executionContext?.webhookContext?.webhookData;
|
|
13222
13222
|
if (webhookData instanceof Map) {
|
|
13223
|
-
const { extractSlackContext: extractSlackContext2 } = await import("./schedule-tool-handler-
|
|
13223
|
+
const { extractSlackContext: extractSlackContext2 } = await import("./schedule-tool-handler-4NCS4ARE.mjs");
|
|
13224
13224
|
const slackCtx = extractSlackContext2(webhookData);
|
|
13225
13225
|
if (slackCtx) {
|
|
13226
13226
|
const payload = Array.from(webhookData.values())[0];
|
|
@@ -13249,7 +13249,7 @@ var init_state_machine_execution_engine = __esm({
|
|
|
13249
13249
|
if (Array.isArray(configWithTagFilter.frontends) && configWithTagFilter.frontends.length > 0) {
|
|
13250
13250
|
try {
|
|
13251
13251
|
const { EventBus } = await import("./event-bus-5K3Y2FCS.mjs");
|
|
13252
|
-
const { FrontendsHost } = await import("./host-
|
|
13252
|
+
const { FrontendsHost } = await import("./host-753E6PKF.mjs");
|
|
13253
13253
|
const bus = new EventBus();
|
|
13254
13254
|
context2.eventBus = bus;
|
|
13255
13255
|
frontendsHost = new FrontendsHost(bus, logger);
|
|
@@ -13599,9 +13599,9 @@ var init_state_machine_execution_engine = __esm({
|
|
|
13599
13599
|
* @returns Array of failure condition evaluation results
|
|
13600
13600
|
*/
|
|
13601
13601
|
async evaluateFailureConditions(checkName, reviewSummary, config, previousOutputs, authorAssociation) {
|
|
13602
|
-
const { FailureConditionEvaluator: FailureConditionEvaluator2 } = await import("./failure-condition-evaluator-
|
|
13602
|
+
const { FailureConditionEvaluator: FailureConditionEvaluator2 } = await import("./failure-condition-evaluator-5EAESM44.mjs");
|
|
13603
13603
|
const evaluator = new FailureConditionEvaluator2();
|
|
13604
|
-
const { addEvent: addEvent3 } = await import("./trace-helpers-
|
|
13604
|
+
const { addEvent: addEvent3 } = await import("./trace-helpers-CTHTK6V5.mjs");
|
|
13605
13605
|
const { addFailIfTriggered } = await import("./metrics-I6A7IHG4.mjs");
|
|
13606
13606
|
const checkConfig = config.checks?.[checkName];
|
|
13607
13607
|
if (!checkConfig) {
|
|
@@ -18763,6 +18763,112 @@ var init_template_context = __esm({
|
|
|
18763
18763
|
}
|
|
18764
18764
|
});
|
|
18765
18765
|
|
|
18766
|
+
// src/utils/oauth2-token-cache.ts
|
|
18767
|
+
var OAuth2TokenCache;
|
|
18768
|
+
var init_oauth2_token_cache = __esm({
|
|
18769
|
+
"src/utils/oauth2-token-cache.ts"() {
|
|
18770
|
+
"use strict";
|
|
18771
|
+
init_logger();
|
|
18772
|
+
init_env_resolver();
|
|
18773
|
+
OAuth2TokenCache = class _OAuth2TokenCache {
|
|
18774
|
+
static instance;
|
|
18775
|
+
cache = /* @__PURE__ */ new Map();
|
|
18776
|
+
static getInstance() {
|
|
18777
|
+
if (!_OAuth2TokenCache.instance) {
|
|
18778
|
+
_OAuth2TokenCache.instance = new _OAuth2TokenCache();
|
|
18779
|
+
}
|
|
18780
|
+
return _OAuth2TokenCache.instance;
|
|
18781
|
+
}
|
|
18782
|
+
/** Visible for testing */
|
|
18783
|
+
static resetInstance() {
|
|
18784
|
+
_OAuth2TokenCache.instance = void 0;
|
|
18785
|
+
}
|
|
18786
|
+
/**
|
|
18787
|
+
* Get a valid Bearer token for the given config.
|
|
18788
|
+
* Returns a cached token if still valid, otherwise fetches a new one.
|
|
18789
|
+
*/
|
|
18790
|
+
async getToken(config) {
|
|
18791
|
+
const clientId = String(EnvironmentResolver.resolveValue(config.client_id));
|
|
18792
|
+
const clientSecret = String(EnvironmentResolver.resolveValue(config.client_secret));
|
|
18793
|
+
const tokenUrl = String(EnvironmentResolver.resolveValue(config.token_url));
|
|
18794
|
+
const bufferMs = (config.token_ttl_buffer ?? 300) * 1e3;
|
|
18795
|
+
const cacheKey = `${tokenUrl}|${clientId}`;
|
|
18796
|
+
const cached = this.cache.get(cacheKey);
|
|
18797
|
+
if (cached && cached.expires_at - bufferMs > Date.now()) {
|
|
18798
|
+
logger.verbose("[oauth2] Using cached token");
|
|
18799
|
+
return cached.access_token;
|
|
18800
|
+
}
|
|
18801
|
+
if (cached?.refreshPromise) {
|
|
18802
|
+
logger.verbose("[oauth2] Awaiting in-flight token refresh");
|
|
18803
|
+
return cached.refreshPromise;
|
|
18804
|
+
}
|
|
18805
|
+
const refreshPromise = this.fetchToken(tokenUrl, clientId, clientSecret, config.scopes);
|
|
18806
|
+
if (cached) {
|
|
18807
|
+
cached.refreshPromise = refreshPromise;
|
|
18808
|
+
} else {
|
|
18809
|
+
this.cache.set(cacheKey, {
|
|
18810
|
+
access_token: "",
|
|
18811
|
+
expires_at: 0,
|
|
18812
|
+
refreshPromise
|
|
18813
|
+
});
|
|
18814
|
+
}
|
|
18815
|
+
try {
|
|
18816
|
+
const token = await refreshPromise;
|
|
18817
|
+
return token;
|
|
18818
|
+
} finally {
|
|
18819
|
+
const entry = this.cache.get(cacheKey);
|
|
18820
|
+
if (entry) {
|
|
18821
|
+
entry.refreshPromise = void 0;
|
|
18822
|
+
}
|
|
18823
|
+
}
|
|
18824
|
+
}
|
|
18825
|
+
async fetchToken(tokenUrl, clientId, clientSecret, scopes) {
|
|
18826
|
+
logger.verbose(`[oauth2] Fetching token from ${tokenUrl}`);
|
|
18827
|
+
const credentials = Buffer.from(`${clientId}:${clientSecret}`).toString("base64");
|
|
18828
|
+
const bodyParams = new URLSearchParams({ grant_type: "client_credentials" });
|
|
18829
|
+
if (scopes?.length) {
|
|
18830
|
+
bodyParams.set("scope", scopes.join(" "));
|
|
18831
|
+
}
|
|
18832
|
+
const response = await fetch(tokenUrl, {
|
|
18833
|
+
method: "POST",
|
|
18834
|
+
headers: {
|
|
18835
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
|
18836
|
+
Authorization: `Basic ${credentials}`
|
|
18837
|
+
},
|
|
18838
|
+
body: bodyParams.toString()
|
|
18839
|
+
});
|
|
18840
|
+
if (!response.ok) {
|
|
18841
|
+
let errorDetail = "";
|
|
18842
|
+
try {
|
|
18843
|
+
errorDetail = await response.text();
|
|
18844
|
+
} catch {
|
|
18845
|
+
}
|
|
18846
|
+
throw new Error(
|
|
18847
|
+
`OAuth2 token request failed: HTTP ${response.status} ${response.statusText}${errorDetail ? ` - ${errorDetail.substring(0, 200)}` : ""}`
|
|
18848
|
+
);
|
|
18849
|
+
}
|
|
18850
|
+
const data = await response.json();
|
|
18851
|
+
if (!data.access_token) {
|
|
18852
|
+
throw new Error("OAuth2 token response missing access_token");
|
|
18853
|
+
}
|
|
18854
|
+
const expiresIn = data.expires_in ?? 3600;
|
|
18855
|
+
const expiresAt = Date.now() + expiresIn * 1e3;
|
|
18856
|
+
const cacheKey = `${tokenUrl}|${clientId}`;
|
|
18857
|
+
this.cache.set(cacheKey, {
|
|
18858
|
+
access_token: data.access_token,
|
|
18859
|
+
expires_at: expiresAt
|
|
18860
|
+
});
|
|
18861
|
+
logger.verbose(`[oauth2] Token acquired, expires in ${expiresIn}s`);
|
|
18862
|
+
return data.access_token;
|
|
18863
|
+
}
|
|
18864
|
+
/** Clear all cached tokens (for testing or credential rotation) */
|
|
18865
|
+
clear() {
|
|
18866
|
+
this.cache.clear();
|
|
18867
|
+
}
|
|
18868
|
+
};
|
|
18869
|
+
}
|
|
18870
|
+
});
|
|
18871
|
+
|
|
18766
18872
|
// src/providers/http-client-provider.ts
|
|
18767
18873
|
import * as fs8 from "fs";
|
|
18768
18874
|
import * as path10 from "path";
|
|
@@ -18775,6 +18881,7 @@ var init_http_client_provider = __esm({
|
|
|
18775
18881
|
init_env_resolver();
|
|
18776
18882
|
init_sandbox();
|
|
18777
18883
|
init_template_context();
|
|
18884
|
+
init_oauth2_token_cache();
|
|
18778
18885
|
init_logger();
|
|
18779
18886
|
HttpClientProvider = class extends CheckProvider {
|
|
18780
18887
|
liquid;
|
|
@@ -18800,24 +18907,43 @@ var init_http_client_provider = __esm({
|
|
|
18800
18907
|
if (cfg.type !== "http_client") {
|
|
18801
18908
|
return false;
|
|
18802
18909
|
}
|
|
18803
|
-
|
|
18910
|
+
const hasUrl = typeof cfg.url === "string" && cfg.url;
|
|
18911
|
+
const hasBaseUrl = typeof cfg.base_url === "string" && cfg.base_url;
|
|
18912
|
+
if (!hasUrl && !hasBaseUrl) {
|
|
18804
18913
|
return false;
|
|
18805
18914
|
}
|
|
18806
18915
|
try {
|
|
18807
|
-
new URL(cfg.url);
|
|
18916
|
+
new URL(hasUrl ? cfg.url : cfg.base_url);
|
|
18808
18917
|
return true;
|
|
18809
18918
|
} catch {
|
|
18810
18919
|
return false;
|
|
18811
18920
|
}
|
|
18812
18921
|
}
|
|
18813
18922
|
async execute(prInfo, config, dependencyResults, context2) {
|
|
18814
|
-
const
|
|
18923
|
+
const baseUrl = config.base_url;
|
|
18924
|
+
const rawPath = config.path;
|
|
18925
|
+
const pathParams = config.params || {};
|
|
18926
|
+
const queryParams = config.query || {};
|
|
18927
|
+
const authConfig = config.auth;
|
|
18928
|
+
let url;
|
|
18929
|
+
if (baseUrl && rawPath) {
|
|
18930
|
+
let resolvedPath = rawPath;
|
|
18931
|
+
for (const [key, value] of Object.entries(pathParams)) {
|
|
18932
|
+
resolvedPath = resolvedPath.replace(`{${key}}`, encodeURIComponent(value));
|
|
18933
|
+
}
|
|
18934
|
+
url = `${baseUrl.replace(/\/+$/, "")}/${resolvedPath.replace(/^\/+/, "")}`;
|
|
18935
|
+
if (Object.keys(queryParams).length > 0) {
|
|
18936
|
+
const qs = new URLSearchParams(queryParams).toString();
|
|
18937
|
+
url += `${url.includes("?") ? "&" : "?"}${qs}`;
|
|
18938
|
+
}
|
|
18939
|
+
} else {
|
|
18940
|
+
url = config.url;
|
|
18941
|
+
}
|
|
18815
18942
|
const method = config.method || "GET";
|
|
18816
18943
|
const headers = config.headers || {};
|
|
18817
18944
|
const timeout = config.timeout || 3e4;
|
|
18818
18945
|
const transform = config.transform;
|
|
18819
18946
|
const transformJs = config.transform_js;
|
|
18820
|
-
const bodyTemplate = config.body;
|
|
18821
18947
|
const outputFileTemplate = config.output_file;
|
|
18822
18948
|
const skipIfExists = config.skip_if_exists !== false;
|
|
18823
18949
|
let resolvedUrlForErrors = url;
|
|
@@ -18841,7 +18967,11 @@ var init_http_client_provider = __esm({
|
|
|
18841
18967
|
resolvedUrlForErrors = renderedUrl;
|
|
18842
18968
|
}
|
|
18843
18969
|
let requestBody;
|
|
18844
|
-
|
|
18970
|
+
const rawBody = config.body;
|
|
18971
|
+
const bodyTemplate = typeof rawBody === "string" ? rawBody : void 0;
|
|
18972
|
+
if (rawBody && typeof rawBody === "object") {
|
|
18973
|
+
requestBody = JSON.stringify(rawBody);
|
|
18974
|
+
} else if (bodyTemplate) {
|
|
18845
18975
|
let resolvedBody = String(EnvironmentResolver.resolveValue(bodyTemplate));
|
|
18846
18976
|
if (resolvedBody.includes("{{") || resolvedBody.includes("{%")) {
|
|
18847
18977
|
resolvedBody = await this.liquid.parseAndRender(resolvedBody, templateContext);
|
|
@@ -18860,6 +18990,11 @@ var init_http_client_provider = __esm({
|
|
|
18860
18990
|
logger.verbose(`[http_client] ${key}: ${maskedValue}`);
|
|
18861
18991
|
}
|
|
18862
18992
|
}
|
|
18993
|
+
if (authConfig?.type === "oauth2_client_credentials") {
|
|
18994
|
+
const tokenCache = OAuth2TokenCache.getInstance();
|
|
18995
|
+
const token = await tokenCache.getToken(authConfig);
|
|
18996
|
+
resolvedHeaders["Authorization"] = `Bearer ${token}`;
|
|
18997
|
+
}
|
|
18863
18998
|
let resolvedOutputFile;
|
|
18864
18999
|
if (outputFileTemplate) {
|
|
18865
19000
|
let outputPath = String(EnvironmentResolver.resolveValue(outputFileTemplate));
|
|
@@ -19138,6 +19273,11 @@ var init_http_client_provider = __esm({
|
|
|
19138
19273
|
return [
|
|
19139
19274
|
"type",
|
|
19140
19275
|
"url",
|
|
19276
|
+
"base_url",
|
|
19277
|
+
"path",
|
|
19278
|
+
"params",
|
|
19279
|
+
"query",
|
|
19280
|
+
"auth",
|
|
19141
19281
|
"method",
|
|
19142
19282
|
"headers",
|
|
19143
19283
|
"body",
|
|
@@ -40768,8 +40908,8 @@ function buildBuiltinGlobals(opts) {
|
|
|
40768
40908
|
const asyncFunctionNames = /* @__PURE__ */ new Set();
|
|
40769
40909
|
const scheduleFn = async (args = {}) => {
|
|
40770
40910
|
try {
|
|
40771
|
-
const { handleScheduleAction: handleScheduleAction2, buildScheduleToolContext: buildScheduleToolContext2 } = await import("./schedule-tool-
|
|
40772
|
-
const { extractSlackContext: extractSlackContext2 } = await import("./schedule-tool-handler-
|
|
40911
|
+
const { handleScheduleAction: handleScheduleAction2, buildScheduleToolContext: buildScheduleToolContext2 } = await import("./schedule-tool-ZVOSSFN2.mjs");
|
|
40912
|
+
const { extractSlackContext: extractSlackContext2 } = await import("./schedule-tool-handler-4NCS4ARE.mjs");
|
|
40773
40913
|
const parentCtx = opts.sessionInfo?._parentContext;
|
|
40774
40914
|
const webhookData = parentCtx?.prInfo?.eventContext?.webhookData;
|
|
40775
40915
|
const visorCfg = parentCtx?.config;
|
|
@@ -43914,4 +44054,4 @@ undici/lib/fetch/body.js:
|
|
|
43914
44054
|
undici/lib/websocket/frame.js:
|
|
43915
44055
|
(*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
|
|
43916
44056
|
*/
|
|
43917
|
-
//# sourceMappingURL=chunk-
|
|
44057
|
+
//# sourceMappingURL=chunk-ZQR4AGS3.mjs.map
|