@probelabs/visor 0.1.183-ee → 0.1.184-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/dist/agent-protocol/task-live-update-slack.d.ts +24 -0
- package/dist/agent-protocol/task-live-update-slack.d.ts.map +1 -0
- package/dist/agent-protocol/task-live-update-teams.d.ts +25 -0
- package/dist/agent-protocol/task-live-update-teams.d.ts.map +1 -0
- package/dist/agent-protocol/task-live-update-telegram.d.ts +25 -0
- package/dist/agent-protocol/task-live-update-telegram.d.ts.map +1 -0
- package/dist/agent-protocol/task-live-updates.d.ts +102 -0
- package/dist/agent-protocol/task-live-updates.d.ts.map +1 -0
- package/dist/agent-protocol/task-progress-tool.d.ts.map +1 -1
- package/dist/agent-protocol/task-trace-resolution.d.ts +11 -0
- package/dist/agent-protocol/task-trace-resolution.d.ts.map +1 -0
- package/dist/agent-protocol/trace-serializer.d.ts.map +1 -1
- package/dist/agent-protocol/track-execution.d.ts +8 -0
- package/dist/agent-protocol/track-execution.d.ts.map +1 -1
- package/dist/cli-main.d.ts.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/frontends/slack-frontend.d.ts +2 -0
- package/dist/frontends/slack-frontend.d.ts.map +1 -1
- package/dist/frontends/teams-frontend.d.ts.map +1 -1
- package/dist/frontends/telegram-frontend.d.ts.map +1 -1
- package/dist/generated/config-schema.d.ts +110 -6
- package/dist/generated/config-schema.d.ts.map +1 -1
- package/dist/index.js +2239 -261
- package/dist/logger.d.ts +4 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/mcp-job-manager.d.ts +70 -0
- package/dist/mcp-job-manager.d.ts.map +1 -0
- package/dist/mcp-server.d.ts +6 -0
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/runners/mcp-server-runner.d.ts +4 -0
- package/dist/runners/mcp-server-runner.d.ts.map +1 -1
- package/dist/runners/runner-factory.d.ts.map +1 -1
- package/dist/sdk/{a2a-frontend-5YDHFQXD.mjs → a2a-frontend-OI4OVSKC.mjs} +4 -4
- package/dist/sdk/check-provider-registry-RITJW67U.mjs +32 -0
- package/dist/sdk/check-provider-registry-ZZ6N4GDP.mjs +32 -0
- package/dist/sdk/{chunk-4BN2XI4X.mjs → chunk-4HIWZA6M.mjs} +2 -2
- package/dist/sdk/{chunk-RI4ONH5X.mjs → chunk-4MHHELVZ.mjs} +2 -2
- package/dist/sdk/{chunk-J27D43HS.mjs → chunk-4ZLYHSN4.mjs} +2 -2
- package/dist/sdk/{chunk-ZPYODGYA.mjs → chunk-6E625R3C.mjs} +19 -4
- package/dist/sdk/chunk-6E625R3C.mjs.map +1 -0
- package/dist/sdk/{chunk-GA2TYKSR.mjs → chunk-7XKHFRPN.mjs} +4 -4
- package/dist/sdk/{chunk-6C3R6E42.mjs → chunk-IY5PQ5EN.mjs} +30 -6
- package/dist/sdk/chunk-IY5PQ5EN.mjs.map +1 -0
- package/dist/sdk/{chunk-MFXPJUUE.mjs → chunk-PUHU6UY6.mjs} +4 -3
- package/dist/sdk/chunk-PUHU6UY6.mjs.map +1 -0
- package/dist/sdk/{chunk-XOAEKFKB.mjs → chunk-QLT42TX7.mjs} +2 -2
- package/dist/sdk/chunk-SRU5TFNY.mjs +620 -0
- package/dist/sdk/chunk-SRU5TFNY.mjs.map +1 -0
- package/dist/sdk/{chunk-P2K4VOMU.mjs → chunk-TSX3YS3F.mjs} +3 -3
- package/dist/sdk/{chunk-WKLJ57WF.mjs → chunk-UM7LGO2P.mjs} +6 -6
- package/dist/sdk/{chunk-7VTZDC2X.mjs → chunk-VPPBOKBQ.mjs} +2 -2
- package/dist/sdk/chunk-WZQMTD7W.mjs +33 -0
- package/dist/sdk/chunk-WZQMTD7W.mjs.map +1 -0
- package/dist/sdk/{chunk-ZOF5QT6U.mjs → chunk-YBXNG75V.mjs} +118 -10
- package/dist/sdk/chunk-YBXNG75V.mjs.map +1 -0
- package/dist/sdk/{chunk-UXB4XWEE.mjs → chunk-YYFSAAD6.mjs} +53 -51
- package/dist/sdk/chunk-YYFSAAD6.mjs.map +1 -0
- package/dist/sdk/{chunk-RHKPFJLG.mjs → chunk-ZNKL6ESZ.mjs} +2 -2
- package/dist/sdk/{chunk-IDL3AA3G.mjs → chunk-ZYDRR6PZ.mjs} +1150 -403
- package/dist/sdk/chunk-ZYDRR6PZ.mjs.map +1 -0
- package/dist/sdk/{command-executor-YNJOS77A.mjs → command-executor-LHUW77GR.mjs} +3 -3
- package/dist/sdk/{config-PCP6O6Y6.mjs → config-TVU5RWR5.mjs} +3 -3
- package/dist/sdk/{dist-3UGGEZB3.mjs → dist-PN5UHL6A.mjs} +429 -429
- package/dist/sdk/dist-PN5UHL6A.mjs.map +1 -0
- package/dist/sdk/{email-frontend-WSNADJPI.mjs → email-frontend-ECHQCFTR.mjs} +2 -2
- package/dist/sdk/{failure-condition-evaluator-IRFKTYZD.mjs → failure-condition-evaluator-USY3ISVA.mjs} +6 -6
- package/dist/sdk/{github-auth-BJQBLK2V.mjs → github-auth-UO4DMNCC.mjs} +2 -2
- package/dist/sdk/{github-frontend-DECYOBRN.mjs → github-frontend-2T5PWYD5.mjs} +6 -6
- package/dist/sdk/{host-CFM2ASDI.mjs → host-OJSMCLKK.mjs} +6 -6
- package/dist/sdk/{host-T4LNVU2H.mjs → host-RM6UJEPP.mjs} +7 -7
- package/dist/sdk/{knex-store-OEWSZEBY.mjs → knex-store-KCMFAMH5.mjs} +2 -2
- package/dist/sdk/{liquid-extensions-E3AKRX7P.mjs → liquid-extensions-KZIRR4OY.mjs} +4 -4
- package/dist/sdk/{loader-WRGI244P.mjs → loader-35YWX5UQ.mjs} +4 -4
- package/dist/sdk/{memory-store-OHUIXCWJ.mjs → memory-store-3JONK7AF.mjs} +3 -3
- package/dist/sdk/{opa-policy-engine-IVMCGVNA.mjs → opa-policy-engine-FY5D45YS.mjs} +2 -2
- package/dist/sdk/{prompt-state-LN57DQF3.mjs → prompt-state-VVJMONT3.mjs} +3 -3
- package/dist/sdk/{renderer-schema-BT2IXMLW.mjs → renderer-schema-JZRRU5CW.mjs} +2 -2
- package/dist/sdk/{routing-H2PQ57OA.mjs → routing-NNQQSLWA.mjs} +8 -8
- package/dist/sdk/{schedule-tool-2DPNSU63.mjs → schedule-tool-ADZ2ON4I.mjs} +15 -14
- package/dist/sdk/schedule-tool-EMNF3FPQ.mjs +38 -0
- package/dist/sdk/{schedule-tool-handler-NBEO46RV.mjs → schedule-tool-handler-3R3IC6VA.mjs} +15 -14
- package/dist/sdk/{schedule-tool-handler-KLHE2SOW.mjs → schedule-tool-handler-F76ZD2WU.mjs} +17 -16
- package/dist/sdk/sdk.d.mts +40 -0
- package/dist/sdk/sdk.d.ts +40 -0
- package/dist/sdk/sdk.js +1154 -176
- package/dist/sdk/sdk.js.map +1 -1
- package/dist/sdk/sdk.mjs +14 -13
- package/dist/sdk/sdk.mjs.map +1 -1
- package/dist/sdk/{slack-frontend-DF5VL4OF.mjs → slack-frontend-K3TPGERM.mjs} +65 -9
- package/dist/sdk/slack-frontend-K3TPGERM.mjs.map +1 -0
- package/dist/sdk/{task-evaluator-OVMG7S56.mjs → task-evaluator-H3BXC7SE.mjs} +3 -3
- package/dist/sdk/{teams-frontend-DNW5GZP3.mjs → teams-frontend-6RRW533K.mjs} +54 -1
- package/dist/sdk/teams-frontend-6RRW533K.mjs.map +1 -0
- package/dist/sdk/{telegram-frontend-GA7OLADB.mjs → telegram-frontend-5UA77YAT.mjs} +48 -1
- package/dist/sdk/telegram-frontend-5UA77YAT.mjs.map +1 -0
- package/dist/sdk/{trace-helpers-26ZCAE2V.mjs → trace-helpers-OMF4C24T.mjs} +3 -3
- package/dist/sdk/{trace-serializer-KKBJHM7J.mjs → trace-serializer-EBHTHZYT.mjs} +3 -3
- package/dist/sdk/track-execution-3CHMGEPH.mjs +249 -0
- package/dist/sdk/track-execution-3CHMGEPH.mjs.map +1 -0
- package/dist/sdk/{utcp-check-provider-WI3QZ3W6.mjs → utcp-check-provider-Q4PD5EP2.mjs} +5 -5
- package/dist/sdk/workflow-check-provider-TC2G33WF.mjs +32 -0
- package/dist/sdk/workflow-check-provider-U4UXZ5YS.mjs +32 -0
- package/dist/sdk/{workflow-registry-YCZ3FCJC.mjs → workflow-registry-K56UTX36.mjs} +3 -3
- package/dist/slack/client.d.ts +14 -0
- package/dist/slack/client.d.ts.map +1 -1
- package/dist/slack/socket-runner.d.ts.map +1 -1
- package/dist/teams/client.d.ts +16 -0
- package/dist/teams/client.d.ts.map +1 -1
- package/dist/teams/webhook-runner.d.ts.map +1 -1
- package/dist/telegram/client.d.ts +17 -0
- package/dist/telegram/client.d.ts.map +1 -1
- package/dist/telegram/polling-runner.d.ts.map +1 -1
- package/dist/types/cli.d.ts +2 -0
- package/dist/types/cli.d.ts.map +1 -1
- package/dist/types/config.d.ts +40 -0
- package/dist/types/config.d.ts.map +1 -1
- package/package.json +4 -3
- package/dist/generated/config-schema.json +0 -4027
- package/dist/sdk/a2a-frontend-6LWBIPMS.mjs +0 -1734
- package/dist/sdk/a2a-frontend-6LWBIPMS.mjs.map +0 -1
- package/dist/sdk/check-provider-registry-WSEVHJEV.mjs +0 -31
- package/dist/sdk/check-provider-registry-YRADEEQY.mjs +0 -31
- package/dist/sdk/chunk-34QX63WK.mjs +0 -244
- package/dist/sdk/chunk-34QX63WK.mjs.map +0 -1
- package/dist/sdk/chunk-54KOAC4W.mjs +0 -665
- package/dist/sdk/chunk-6C3R6E42.mjs.map +0 -1
- package/dist/sdk/chunk-7W5QCO4Y.mjs +0 -5943
- package/dist/sdk/chunk-7W5QCO4Y.mjs.map +0 -1
- package/dist/sdk/chunk-7XRSCOKE.mjs +0 -825
- package/dist/sdk/chunk-FT3I25QV.mjs +0 -251
- package/dist/sdk/chunk-FT3I25QV.mjs.map +0 -1
- package/dist/sdk/chunk-G7GSN3SK.mjs +0 -390
- package/dist/sdk/chunk-G7GSN3SK.mjs.map +0 -1
- package/dist/sdk/chunk-IDL3AA3G.mjs.map +0 -1
- package/dist/sdk/chunk-J27D43HS.mjs.map +0 -1
- package/dist/sdk/chunk-MEB2TTIE.mjs +0 -157
- package/dist/sdk/chunk-MEB2TTIE.mjs.map +0 -1
- package/dist/sdk/chunk-MFXPJUUE.mjs.map +0 -1
- package/dist/sdk/chunk-NPSLGKXB.mjs +0 -1502
- package/dist/sdk/chunk-P2K4VOMU.mjs.map +0 -1
- package/dist/sdk/chunk-PQWZ6NFL.mjs +0 -459
- package/dist/sdk/chunk-PQWZ6NFL.mjs.map +0 -1
- package/dist/sdk/chunk-S5FSRHMY.mjs +0 -139
- package/dist/sdk/chunk-S5FSRHMY.mjs.map +0 -1
- package/dist/sdk/chunk-TFUQ2D5L.mjs +0 -307
- package/dist/sdk/chunk-TFUQ2D5L.mjs.map +0 -1
- package/dist/sdk/chunk-UCMJJ3IM.mjs +0 -227
- package/dist/sdk/chunk-UCMJJ3IM.mjs.map +0 -1
- package/dist/sdk/chunk-UFHOIB3R.mjs +0 -482
- package/dist/sdk/chunk-UFHOIB3R.mjs.map +0 -1
- package/dist/sdk/chunk-UXB4XWEE.mjs.map +0 -1
- package/dist/sdk/chunk-V45TITKX.mjs +0 -739
- package/dist/sdk/chunk-V45TITKX.mjs.map +0 -1
- package/dist/sdk/chunk-WKLJ57WF.mjs.map +0 -1
- package/dist/sdk/chunk-ZOF5QT6U.mjs.map +0 -1
- package/dist/sdk/chunk-ZPYODGYA.mjs.map +0 -1
- package/dist/sdk/command-executor-3AHGIYQG.mjs +0 -14
- package/dist/sdk/config-JE4HKTWW.mjs +0 -16
- package/dist/sdk/dist-3UGGEZB3.mjs.map +0 -1
- package/dist/sdk/failure-condition-evaluator-H3PBFBYT.mjs +0 -18
- package/dist/sdk/github-auth-27SZGPEC.mjs +0 -196
- package/dist/sdk/github-auth-BJQBLK2V.mjs.map +0 -1
- package/dist/sdk/github-frontend-TZRBOQCN.mjs +0 -1394
- package/dist/sdk/github-frontend-TZRBOQCN.mjs.map +0 -1
- package/dist/sdk/lazy-otel-5NH4ZJJM.mjs +0 -24
- package/dist/sdk/liquid-extensions-P6KDYILF.mjs +0 -25
- package/dist/sdk/memory-store-K5N7MC7U.mjs +0 -12
- package/dist/sdk/metrics-JTOG2HNO.mjs +0 -41
- package/dist/sdk/prompt-state-YPICX7PI.mjs +0 -16
- package/dist/sdk/renderer-schema-KOIH75RZ.mjs +0 -51
- package/dist/sdk/renderer-schema-KOIH75RZ.mjs.map +0 -1
- package/dist/sdk/routing-JMZ7HDCC.mjs +0 -26
- package/dist/sdk/schedule-tool-4M45RK3E.mjs +0 -37
- package/dist/sdk/schedule-tool-4M45RK3E.mjs.map +0 -1
- package/dist/sdk/schedule-tool-handler-KLHE2SOW.mjs.map +0 -1
- package/dist/sdk/schedule-tool-handler-NBEO46RV.mjs.map +0 -1
- package/dist/sdk/slack-frontend-BPWXNIHE.mjs +0 -929
- package/dist/sdk/slack-frontend-BPWXNIHE.mjs.map +0 -1
- package/dist/sdk/slack-frontend-DF5VL4OF.mjs.map +0 -1
- package/dist/sdk/task-evaluator-GQYDOSGT.mjs +0 -1392
- package/dist/sdk/task-evaluator-GQYDOSGT.mjs.map +0 -1
- package/dist/sdk/teams-frontend-DNW5GZP3.mjs.map +0 -1
- package/dist/sdk/telegram-frontend-GA7OLADB.mjs.map +0 -1
- package/dist/sdk/trace-helpers-26ZCAE2V.mjs.map +0 -1
- package/dist/sdk/trace-helpers-XV5GAX5L.mjs +0 -29
- package/dist/sdk/trace-helpers-XV5GAX5L.mjs.map +0 -1
- package/dist/sdk/trace-serializer-KKBJHM7J.mjs.map +0 -1
- package/dist/sdk/track-execution-3EC24C2X.mjs +0 -163
- package/dist/sdk/track-execution-3EC24C2X.mjs.map +0 -1
- package/dist/sdk/track-execution-66RLL6QT.mjs +0 -143
- package/dist/sdk/track-execution-66RLL6QT.mjs.map +0 -1
- package/dist/sdk/utcp-check-provider-JLIYF5HH.mjs +0 -16
- package/dist/sdk/utcp-check-provider-JLIYF5HH.mjs.map +0 -1
- package/dist/sdk/utcp-check-provider-WI3QZ3W6.mjs.map +0 -1
- package/dist/sdk/workflow-check-provider-X2UREEH7.mjs +0 -31
- package/dist/sdk/workflow-check-provider-X2UREEH7.mjs.map +0 -1
- package/dist/sdk/workflow-check-provider-YXALZNAQ.mjs +0 -31
- package/dist/sdk/workflow-check-provider-YXALZNAQ.mjs.map +0 -1
- package/dist/sdk/workflow-registry-X2IPY35M.mjs +0 -12
- package/dist/sdk/workflow-registry-X2IPY35M.mjs.map +0 -1
- package/dist/sdk/workflow-registry-YCZ3FCJC.mjs.map +0 -1
- /package/dist/sdk/{a2a-frontend-5YDHFQXD.mjs.map → a2a-frontend-OI4OVSKC.mjs.map} +0 -0
- /package/dist/sdk/{check-provider-registry-WSEVHJEV.mjs.map → check-provider-registry-RITJW67U.mjs.map} +0 -0
- /package/dist/sdk/{check-provider-registry-YRADEEQY.mjs.map → check-provider-registry-ZZ6N4GDP.mjs.map} +0 -0
- /package/dist/sdk/{chunk-4BN2XI4X.mjs.map → chunk-4HIWZA6M.mjs.map} +0 -0
- /package/dist/sdk/{chunk-RI4ONH5X.mjs.map → chunk-4MHHELVZ.mjs.map} +0 -0
- /package/dist/sdk/{chunk-54KOAC4W.mjs.map → chunk-4ZLYHSN4.mjs.map} +0 -0
- /package/dist/sdk/{chunk-GA2TYKSR.mjs.map → chunk-7XKHFRPN.mjs.map} +0 -0
- /package/dist/sdk/{chunk-XOAEKFKB.mjs.map → chunk-QLT42TX7.mjs.map} +0 -0
- /package/dist/sdk/{chunk-7XRSCOKE.mjs.map → chunk-TSX3YS3F.mjs.map} +0 -0
- /package/dist/sdk/{chunk-NPSLGKXB.mjs.map → chunk-UM7LGO2P.mjs.map} +0 -0
- /package/dist/sdk/{chunk-7VTZDC2X.mjs.map → chunk-VPPBOKBQ.mjs.map} +0 -0
- /package/dist/sdk/{chunk-RHKPFJLG.mjs.map → chunk-ZNKL6ESZ.mjs.map} +0 -0
- /package/dist/sdk/{command-executor-3AHGIYQG.mjs.map → command-executor-LHUW77GR.mjs.map} +0 -0
- /package/dist/sdk/{command-executor-YNJOS77A.mjs.map → config-TVU5RWR5.mjs.map} +0 -0
- /package/dist/sdk/{email-frontend-WSNADJPI.mjs.map → email-frontend-ECHQCFTR.mjs.map} +0 -0
- /package/dist/sdk/{config-JE4HKTWW.mjs.map → failure-condition-evaluator-USY3ISVA.mjs.map} +0 -0
- /package/dist/sdk/{github-auth-27SZGPEC.mjs.map → github-auth-UO4DMNCC.mjs.map} +0 -0
- /package/dist/sdk/{github-frontend-DECYOBRN.mjs.map → github-frontend-2T5PWYD5.mjs.map} +0 -0
- /package/dist/sdk/{host-CFM2ASDI.mjs.map → host-OJSMCLKK.mjs.map} +0 -0
- /package/dist/sdk/{host-T4LNVU2H.mjs.map → host-RM6UJEPP.mjs.map} +0 -0
- /package/dist/sdk/{knex-store-OEWSZEBY.mjs.map → knex-store-KCMFAMH5.mjs.map} +0 -0
- /package/dist/sdk/{config-PCP6O6Y6.mjs.map → liquid-extensions-KZIRR4OY.mjs.map} +0 -0
- /package/dist/sdk/{loader-WRGI244P.mjs.map → loader-35YWX5UQ.mjs.map} +0 -0
- /package/dist/sdk/{failure-condition-evaluator-H3PBFBYT.mjs.map → memory-store-3JONK7AF.mjs.map} +0 -0
- /package/dist/sdk/{opa-policy-engine-IVMCGVNA.mjs.map → opa-policy-engine-FY5D45YS.mjs.map} +0 -0
- /package/dist/sdk/{failure-condition-evaluator-IRFKTYZD.mjs.map → prompt-state-VVJMONT3.mjs.map} +0 -0
- /package/dist/sdk/{renderer-schema-BT2IXMLW.mjs.map → renderer-schema-JZRRU5CW.mjs.map} +0 -0
- /package/dist/sdk/{lazy-otel-5NH4ZJJM.mjs.map → routing-NNQQSLWA.mjs.map} +0 -0
- /package/dist/sdk/{liquid-extensions-E3AKRX7P.mjs.map → schedule-tool-ADZ2ON4I.mjs.map} +0 -0
- /package/dist/sdk/{liquid-extensions-P6KDYILF.mjs.map → schedule-tool-EMNF3FPQ.mjs.map} +0 -0
- /package/dist/sdk/{memory-store-K5N7MC7U.mjs.map → schedule-tool-handler-3R3IC6VA.mjs.map} +0 -0
- /package/dist/sdk/{memory-store-OHUIXCWJ.mjs.map → schedule-tool-handler-F76ZD2WU.mjs.map} +0 -0
- /package/dist/sdk/{task-evaluator-OVMG7S56.mjs.map → task-evaluator-H3BXC7SE.mjs.map} +0 -0
- /package/dist/sdk/{metrics-JTOG2HNO.mjs.map → trace-helpers-OMF4C24T.mjs.map} +0 -0
- /package/dist/sdk/{prompt-state-LN57DQF3.mjs.map → trace-serializer-EBHTHZYT.mjs.map} +0 -0
- /package/dist/sdk/{prompt-state-YPICX7PI.mjs.map → utcp-check-provider-Q4PD5EP2.mjs.map} +0 -0
- /package/dist/sdk/{routing-H2PQ57OA.mjs.map → workflow-check-provider-TC2G33WF.mjs.map} +0 -0
- /package/dist/sdk/{routing-JMZ7HDCC.mjs.map → workflow-check-provider-U4UXZ5YS.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-2DPNSU63.mjs.map → workflow-registry-K56UTX36.mjs.map} +0 -0
package/dist/logger.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export type LogLevel = 'silent' | 'error' | 'warn' | 'info' | 'verbose' | 'debug';
|
|
2
2
|
declare class Logger {
|
|
3
|
+
private readonly taskContextStorage;
|
|
3
4
|
private level;
|
|
4
5
|
private isJsonLike;
|
|
5
6
|
private isTTY;
|
|
@@ -23,7 +24,9 @@ declare class Logger {
|
|
|
23
24
|
onError?: (error: unknown) => void;
|
|
24
25
|
}): void;
|
|
25
26
|
private shouldLog;
|
|
26
|
-
|
|
27
|
+
withTaskContext<T>(taskId: string, fn: () => T): T;
|
|
28
|
+
getCurrentTaskId(): string | undefined;
|
|
29
|
+
private getContextSuffix;
|
|
27
30
|
private emitOtelLog;
|
|
28
31
|
private write;
|
|
29
32
|
info(msg: string): void;
|
package/dist/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/logger.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AA6BlF,cAAM,MAAM;IACV,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAgD;IACnF,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,KAAK,CAA4E;IACzF,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,IAAI,CAAC,CAAyC;IACtD,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,aAAa,CAAwC;IAC7D,OAAO,CAAC,gBAAgB,CAAC,CAA2B;IACpD,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,mBAAmB,CAAkB;IAE7C,SAAS,CACP,IAAI,GAAE;QACJ,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,QAAQ,CAAC;QACjB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,KAAK,CAAC,EAAE,OAAO,CAAC;KACZ,GACL,IAAI;IAyBP,OAAO,CACL,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,KAAK,IAAI,EAC7C,IAAI,GAAE;QACJ,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;QACxC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;KAC/B,GACL,IAAI;IAOP,OAAO,CAAC,SAAS;IAgBjB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAKlD,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAItC,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,WAAW;IAiCnB,OAAO,CAAC,KAAK;IA4Eb,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIvB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIvB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIxB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI1B,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIxB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKvB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAG3B;AAGD,eAAO,MAAM,MAAM,QAAe,CAAC;AAGnC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,IAAI,CAkBP"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Job Manager — async job pattern for long-running MCP tool calls.
|
|
3
|
+
*
|
|
4
|
+
* Claude Code and other MCP clients have timeout issues with long-running tools.
|
|
5
|
+
* This module provides a `start_job` / `get_job` pattern: the tool call returns
|
|
6
|
+
* immediately with a job_id, and the client polls `get_job` until done.
|
|
7
|
+
*
|
|
8
|
+
* This is a thin wrapper over the existing TaskStore — jobs are persisted as
|
|
9
|
+
* regular Visor tasks (visible via `visor tasks list`, `visor tasks show`).
|
|
10
|
+
*/
|
|
11
|
+
import type { TaskStore } from './agent-protocol/task-store';
|
|
12
|
+
/** Job status values exposed to MCP clients. */
|
|
13
|
+
export type JobStatus = 'queued' | 'running' | 'completed' | 'failed' | 'expired';
|
|
14
|
+
/** Response shape returned by both start_job and get_job. */
|
|
15
|
+
export interface JobResponse {
|
|
16
|
+
job_id: string;
|
|
17
|
+
status: JobStatus;
|
|
18
|
+
done: boolean;
|
|
19
|
+
progress: {
|
|
20
|
+
percent: number | null;
|
|
21
|
+
step: string;
|
|
22
|
+
message: string;
|
|
23
|
+
};
|
|
24
|
+
polling: {
|
|
25
|
+
recommended_next_action: 'get_job' | 'none';
|
|
26
|
+
recommended_delay_seconds: number;
|
|
27
|
+
};
|
|
28
|
+
result: any;
|
|
29
|
+
error: {
|
|
30
|
+
code: string;
|
|
31
|
+
message: string;
|
|
32
|
+
retryable: boolean;
|
|
33
|
+
} | null;
|
|
34
|
+
user_message: string;
|
|
35
|
+
next_instruction_for_model: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Manages async jobs for MCP tool calls, backed by the existing TaskStore.
|
|
39
|
+
*
|
|
40
|
+
* Jobs created here are visible via `visor tasks list` and `visor tasks show`.
|
|
41
|
+
*/
|
|
42
|
+
export declare class JobManager {
|
|
43
|
+
private taskStore;
|
|
44
|
+
private longPollTimeoutMs;
|
|
45
|
+
constructor(taskStore: TaskStore, opts?: {
|
|
46
|
+
longPollTimeoutMs?: number;
|
|
47
|
+
});
|
|
48
|
+
/**
|
|
49
|
+
* Start a new async job. Creates a task, runs the handler in the background,
|
|
50
|
+
* and returns immediately with the task ID.
|
|
51
|
+
*/
|
|
52
|
+
startJob(handler: () => Promise<any>, opts: {
|
|
53
|
+
messageText: string;
|
|
54
|
+
workflowId?: string;
|
|
55
|
+
configPath?: string;
|
|
56
|
+
metadata?: Record<string, unknown>;
|
|
57
|
+
}): JobResponse;
|
|
58
|
+
/**
|
|
59
|
+
* Get the current state of a job by ID (supports both short and full IDs).
|
|
60
|
+
*
|
|
61
|
+
* Uses long polling: if the job is still running, waits up to 59 seconds
|
|
62
|
+
* for it to finish before responding. Returns immediately if the job is
|
|
63
|
+
* already in a terminal state (completed/failed).
|
|
64
|
+
*/
|
|
65
|
+
getJob(jobId: string): Promise<JobResponse>;
|
|
66
|
+
/**
|
|
67
|
+
* Resolve a task by full UUID or short ID prefix.
|
|
68
|
+
*/
|
|
69
|
+
private resolveTask;
|
|
70
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/mcp-job-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAG7D,gDAAgD;AAChD,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAElF,6DAA6D;AAC7D,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,EAAE;QACP,uBAAuB,EAAE,SAAS,GAAG,MAAM,CAAC;QAC5C,yBAAyB,EAAE,MAAM,CAAC;KACnC,CAAC;IACF,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,0BAA0B,EAAE,MAAM,CAAC;CACpC;AA2ID;;;;GAIG;AACH,qBAAa,UAAU;IAInB,OAAO,CAAC,SAAS;IAHnB,OAAO,CAAC,iBAAiB,CAAS;gBAGxB,SAAS,EAAE,SAAS,EAC5B,IAAI,CAAC,EAAE;QAAE,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE;IAKvC;;;OAGG;IACH,QAAQ,CACN,OAAO,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EAC3B,IAAI,EAAE;QACJ,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GACA,WAAW;IAiHd;;;;;;OAMG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAuCjD;;OAEG;IACH,OAAO,CAAC,WAAW;CAYpB"}
|
package/dist/mcp-server.d.ts
CHANGED
|
@@ -70,6 +70,12 @@ export interface McpServerOptions {
|
|
|
70
70
|
tlsCert?: string;
|
|
71
71
|
/** Path to TLS private key PEM file. */
|
|
72
72
|
tlsKey?: string;
|
|
73
|
+
/** Enable async job mode (start_job/get_job instead of blocking tool). */
|
|
74
|
+
asyncMode?: boolean;
|
|
75
|
+
/** Long poll timeout in seconds for get_job (default: 59). */
|
|
76
|
+
longPollTimeout?: number;
|
|
77
|
+
/** TaskStore for async job mode persistence. If not provided, one will be created. */
|
|
78
|
+
taskStore?: import('./agent-protocol/task-store').TaskStore;
|
|
73
79
|
}
|
|
74
80
|
/**
|
|
75
81
|
* Available default workflows bundled with Visor.
|
package/dist/mcp-server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/mcp-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAKH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAI7B;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,qEAAqE;IACrE,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE7B,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/mcp-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,10 @@ export interface McpFrontendOptions {
|
|
|
19
19
|
toolName?: string;
|
|
20
20
|
/** Tool description. */
|
|
21
21
|
toolDescription?: string;
|
|
22
|
+
/** Enable async job mode (start_job/get_job instead of blocking tool). */
|
|
23
|
+
asyncMode?: boolean;
|
|
24
|
+
/** Long poll timeout in seconds for get_job (default: 59). */
|
|
25
|
+
longPollTimeout?: number;
|
|
22
26
|
}
|
|
23
27
|
/**
|
|
24
28
|
* MCP Frontend Runner — exposes the Visor assistant as an MCP tool.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server-runner.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/runners/mcp-server-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAWrF,MAAM,WAAW,kBAAkB;IACjC,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAwBD;;;;;;;GAOG;AACH,qBAAa,eAAgB,YAAW,MAAM;IAU1C,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,OAAO;IAXjB,QAAQ,CAAC,IAAI,SAAS;IACtB,OAAO,CAAC,UAAU,CAA2C;IAC7D,OAAO,CAAC,UAAU,CAAoD;IACtE,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,QAAQ,CAAS;gBAGf,MAAM,EAAE,2BAA2B,EACnC,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,kBAAkB;IAG/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-server-runner.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/runners/mcp-server-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAWrF,MAAM,WAAW,kBAAkB;IACjC,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAwBD;;;;;;;GAOG;AACH,qBAAa,eAAgB,YAAW,MAAM;IAU1C,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,OAAO;IAXjB,QAAQ,CAAC,IAAI,SAAS;IACtB,OAAO,CAAC,UAAU,CAA2C;IAC7D,OAAO,CAAC,UAAU,CAAoD;IACtE,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,QAAQ,CAAS;gBAGf,MAAM,EAAE,2BAA2B,EACnC,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,kBAAkB;IAG/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAyP5B;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBpC;;;OAGG;IACG,KAAK,CAAC,SAAS,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBnC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B,YAAY,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAIpC,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IAKzD;;;OAGG;YACW,aAAa;IA+J3B;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,mBAAmB;CAsD5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner-factory.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/runners/runner-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAErF;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,2BAA2B,EACnC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"runner-factory.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/runners/runner-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAErF;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,2BAA2B,EACnC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,MAAM,CAAC,CAoJjB"}
|
|
@@ -12,13 +12,13 @@ import {
|
|
|
12
12
|
import {
|
|
13
13
|
init_trace_helpers,
|
|
14
14
|
withActiveSpan
|
|
15
|
-
} from "./chunk-
|
|
16
|
-
import "./chunk-
|
|
15
|
+
} from "./chunk-QLT42TX7.mjs";
|
|
16
|
+
import "./chunk-PUHU6UY6.mjs";
|
|
17
17
|
import "./chunk-FWWLD555.mjs";
|
|
18
18
|
import {
|
|
19
19
|
init_logger,
|
|
20
20
|
logger
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-6E625R3C.mjs";
|
|
22
22
|
import "./chunk-B2OUZAWY.mjs";
|
|
23
23
|
import {
|
|
24
24
|
__esm,
|
|
@@ -1746,4 +1746,4 @@ export {
|
|
|
1746
1746
|
messageToWorkflowInput,
|
|
1747
1747
|
resultToArtifacts
|
|
1748
1748
|
};
|
|
1749
|
-
//# sourceMappingURL=a2a-frontend-
|
|
1749
|
+
//# sourceMappingURL=a2a-frontend-OI4OVSKC.mjs.map
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CheckProviderRegistry,
|
|
3
|
+
init_check_provider_registry
|
|
4
|
+
} from "./chunk-YYFSAAD6.mjs";
|
|
5
|
+
import "./chunk-YSOIR46P.mjs";
|
|
6
|
+
import "./chunk-PDQTEBOJ.mjs";
|
|
7
|
+
import "./chunk-WZQMTD7W.mjs";
|
|
8
|
+
import "./chunk-TSX3YS3F.mjs";
|
|
9
|
+
import "./chunk-VPPBOKBQ.mjs";
|
|
10
|
+
import "./chunk-B7BVQM5K.mjs";
|
|
11
|
+
import "./chunk-XXAEN5KU.mjs";
|
|
12
|
+
import "./chunk-ZNKL6ESZ.mjs";
|
|
13
|
+
import "./chunk-4ZLYHSN4.mjs";
|
|
14
|
+
import "./chunk-YBXNG75V.mjs";
|
|
15
|
+
import "./chunk-KWTCTEFT.mjs";
|
|
16
|
+
import "./chunk-UM7LGO2P.mjs";
|
|
17
|
+
import "./chunk-7XKHFRPN.mjs";
|
|
18
|
+
import "./chunk-QLT42TX7.mjs";
|
|
19
|
+
import "./chunk-PUHU6UY6.mjs";
|
|
20
|
+
import "./chunk-FWWLD555.mjs";
|
|
21
|
+
import "./chunk-4HIWZA6M.mjs";
|
|
22
|
+
import "./chunk-25IC7KXZ.mjs";
|
|
23
|
+
import "./chunk-LW3INISN.mjs";
|
|
24
|
+
import "./chunk-4MHHELVZ.mjs";
|
|
25
|
+
import "./chunk-6E625R3C.mjs";
|
|
26
|
+
import "./chunk-B2OUZAWY.mjs";
|
|
27
|
+
import "./chunk-J7LXIPZS.mjs";
|
|
28
|
+
init_check_provider_registry();
|
|
29
|
+
export {
|
|
30
|
+
CheckProviderRegistry
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=check-provider-registry-RITJW67U.mjs.map
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CheckProviderRegistry,
|
|
3
|
+
init_check_provider_registry
|
|
4
|
+
} from "./chunk-ZYDRR6PZ.mjs";
|
|
5
|
+
import "./chunk-YSOIR46P.mjs";
|
|
6
|
+
import "./chunk-PDQTEBOJ.mjs";
|
|
7
|
+
import "./chunk-WZQMTD7W.mjs";
|
|
8
|
+
import "./chunk-TSX3YS3F.mjs";
|
|
9
|
+
import "./chunk-VPPBOKBQ.mjs";
|
|
10
|
+
import "./chunk-B7BVQM5K.mjs";
|
|
11
|
+
import "./chunk-XXAEN5KU.mjs";
|
|
12
|
+
import "./chunk-ZNKL6ESZ.mjs";
|
|
13
|
+
import "./chunk-4ZLYHSN4.mjs";
|
|
14
|
+
import "./chunk-YBXNG75V.mjs";
|
|
15
|
+
import "./chunk-KWTCTEFT.mjs";
|
|
16
|
+
import "./chunk-UM7LGO2P.mjs";
|
|
17
|
+
import "./chunk-7XKHFRPN.mjs";
|
|
18
|
+
import "./chunk-QLT42TX7.mjs";
|
|
19
|
+
import "./chunk-PUHU6UY6.mjs";
|
|
20
|
+
import "./chunk-FWWLD555.mjs";
|
|
21
|
+
import "./chunk-4HIWZA6M.mjs";
|
|
22
|
+
import "./chunk-25IC7KXZ.mjs";
|
|
23
|
+
import "./chunk-LW3INISN.mjs";
|
|
24
|
+
import "./chunk-4MHHELVZ.mjs";
|
|
25
|
+
import "./chunk-6E625R3C.mjs";
|
|
26
|
+
import "./chunk-B2OUZAWY.mjs";
|
|
27
|
+
import "./chunk-J7LXIPZS.mjs";
|
|
28
|
+
init_check_provider_registry();
|
|
29
|
+
export {
|
|
30
|
+
CheckProviderRegistry
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=check-provider-registry-ZZ6N4GDP.mjs.map
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
import {
|
|
17
17
|
MemoryStore,
|
|
18
18
|
init_memory_store
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-4MHHELVZ.mjs";
|
|
20
20
|
import {
|
|
21
21
|
__esm,
|
|
22
22
|
__require
|
|
@@ -456,4 +456,4 @@ export {
|
|
|
456
456
|
createExtendedLiquid,
|
|
457
457
|
init_liquid_extensions
|
|
458
458
|
};
|
|
459
|
-
//# sourceMappingURL=chunk-
|
|
459
|
+
//# sourceMappingURL=chunk-4HIWZA6M.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
init_logger,
|
|
3
3
|
logger
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-6E625R3C.mjs";
|
|
5
5
|
import {
|
|
6
6
|
__esm,
|
|
7
7
|
__export
|
|
@@ -479,4 +479,4 @@ export {
|
|
|
479
479
|
memory_store_exports,
|
|
480
480
|
init_memory_store
|
|
481
481
|
};
|
|
482
|
-
//# sourceMappingURL=chunk-
|
|
482
|
+
//# sourceMappingURL=chunk-4MHHELVZ.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
init_logger,
|
|
3
3
|
logger
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-6E625R3C.mjs";
|
|
5
5
|
import {
|
|
6
6
|
__esm
|
|
7
7
|
} from "./chunk-J7LXIPZS.mjs";
|
|
@@ -662,4 +662,4 @@ export {
|
|
|
662
662
|
WorkflowRegistry,
|
|
663
663
|
init_workflow_registry
|
|
664
664
|
};
|
|
665
|
-
//# sourceMappingURL=chunk-
|
|
665
|
+
//# sourceMappingURL=chunk-4ZLYHSN4.mjs.map
|
|
@@ -15,6 +15,7 @@ __export(logger_exports, {
|
|
|
15
15
|
configureLoggerFromCli: () => configureLoggerFromCli,
|
|
16
16
|
logger: () => logger
|
|
17
17
|
});
|
|
18
|
+
import { AsyncLocalStorage } from "async_hooks";
|
|
18
19
|
function levelToNumber(level) {
|
|
19
20
|
switch (level) {
|
|
20
21
|
case "silent":
|
|
@@ -65,6 +66,7 @@ var init_logger = __esm({
|
|
|
65
66
|
// DEBUG
|
|
66
67
|
};
|
|
67
68
|
Logger = class {
|
|
69
|
+
taskContextStorage = new AsyncLocalStorage();
|
|
68
70
|
level = "info";
|
|
69
71
|
isJsonLike = false;
|
|
70
72
|
isTTY = typeof process !== "undefined" ? !!process.stderr.isTTY : false;
|
|
@@ -111,9 +113,20 @@ var init_logger = __esm({
|
|
|
111
113
|
}
|
|
112
114
|
return true;
|
|
113
115
|
}
|
|
114
|
-
|
|
116
|
+
withTaskContext(taskId, fn) {
|
|
117
|
+
const current = this.taskContextStorage.getStore() || {};
|
|
118
|
+
return this.taskContextStorage.run({ ...current, taskId }, fn);
|
|
119
|
+
}
|
|
120
|
+
getCurrentTaskId() {
|
|
121
|
+
return this.taskContextStorage.getStore()?.taskId;
|
|
122
|
+
}
|
|
123
|
+
getContextSuffix(msg) {
|
|
115
124
|
if (!msg) return "";
|
|
116
|
-
if (msg.includes("
|
|
125
|
+
if (msg.includes("task_id=") || msg.includes("task_id:") || msg.includes("trace_id=") || msg.includes("trace_id:")) {
|
|
126
|
+
return "";
|
|
127
|
+
}
|
|
128
|
+
const taskId = this.getCurrentTaskId();
|
|
129
|
+
if (taskId) return ` [task_id=${taskId}]`;
|
|
117
130
|
try {
|
|
118
131
|
const span = trace.getSpan(context.active()) || trace.getActiveSpan();
|
|
119
132
|
const ctx = span?.spanContext?.();
|
|
@@ -138,12 +151,14 @@ var init_logger = __esm({
|
|
|
138
151
|
if (!this.otelLogger) return;
|
|
139
152
|
const span = trace.getSpan(context.active()) || trace.getActiveSpan();
|
|
140
153
|
const spanCtx = span?.spanContext?.();
|
|
154
|
+
const taskId = this.getCurrentTaskId();
|
|
141
155
|
this.otelLogger.emit({
|
|
142
156
|
severityNumber: OTEL_SEVERITY[level] || 9,
|
|
143
157
|
severityText: level.toUpperCase(),
|
|
144
158
|
body: msg,
|
|
145
159
|
attributes: {
|
|
146
160
|
"visor.logger": true,
|
|
161
|
+
...taskId ? { task_id: taskId } : {},
|
|
147
162
|
...spanCtx?.traceId ? { trace_id: spanCtx.traceId, span_id: spanCtx.spanId } : {}
|
|
148
163
|
}
|
|
149
164
|
});
|
|
@@ -151,7 +166,7 @@ var init_logger = __esm({
|
|
|
151
166
|
}
|
|
152
167
|
}
|
|
153
168
|
write(msg, level) {
|
|
154
|
-
const suffix = this.
|
|
169
|
+
const suffix = this.getContextSuffix(msg);
|
|
155
170
|
const decoratedMsg = suffix ? `${msg}${suffix}` : msg;
|
|
156
171
|
const lvl = level || "info";
|
|
157
172
|
this.emitOtelLog(msg, lvl);
|
|
@@ -248,4 +263,4 @@ export {
|
|
|
248
263
|
logger_exports,
|
|
249
264
|
init_logger
|
|
250
265
|
};
|
|
251
|
-
//# sourceMappingURL=chunk-
|
|
266
|
+
//# sourceMappingURL=chunk-6E625R3C.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/logger.ts"],"sourcesContent":["/*\n * Centralized logger for Visor CLI and Action modes.\n * - Respects output format (suppresses info in JSON/SARIF unless debug)\n * - Supports levels: silent < error < warn < info < verbose < debug\n * - Routes logs to stderr to keep stdout clean for machine-readable output\n */\nimport { AsyncLocalStorage } from 'node:async_hooks';\nimport { context as otContext, trace } from './telemetry/lazy-otel';\n\nexport type LogLevel = 'silent' | 'error' | 'warn' | 'info' | 'verbose' | 'debug';\n\nfunction levelToNumber(level: LogLevel): number {\n switch (level) {\n case 'silent':\n return 0;\n case 'error':\n return 10;\n case 'warn':\n return 20;\n case 'info':\n return 30;\n case 'verbose':\n return 40;\n case 'debug':\n return 50;\n }\n}\n\n// OTel severity mapping (OpenTelemetry SeverityNumber values)\nconst OTEL_SEVERITY: Record<LogLevel, number> = {\n silent: 0,\n error: 17, // ERROR\n warn: 13, // WARN\n info: 9, // INFO\n verbose: 5, // DEBUG\n debug: 5, // DEBUG\n};\n\nclass Logger {\n private readonly taskContextStorage = new AsyncLocalStorage<{ taskId?: string }>();\n private level: LogLevel = 'info';\n private isJsonLike: boolean = false;\n private isTTY: boolean = typeof process !== 'undefined' ? !!process.stderr.isTTY : false;\n private showTimestamps: boolean = true; // default: always show timestamps\n private sink?: (msg: string, level: LogLevel) => void;\n private sinkPassthrough: boolean = true;\n private sinkErrorMode: 'throw' | 'warn' | 'silent' = 'throw';\n private sinkErrorHandler?: (error: unknown) => void;\n private otelLogger: any = null;\n private otelLoggerAttempted: boolean = false;\n\n configure(\n opts: {\n outputFormat?: string;\n level?: LogLevel;\n debug?: boolean;\n verbose?: boolean;\n quiet?: boolean;\n } = {}\n ): void {\n // Determine base level\n let lvl: LogLevel = 'info';\n\n if (opts.debug || process.env.VISOR_DEBUG === 'true') {\n lvl = 'debug';\n } else if (opts.verbose || process.env.VISOR_LOG_LEVEL === 'verbose') {\n lvl = 'verbose';\n } else if (opts.quiet || process.env.VISOR_LOG_LEVEL === 'quiet') {\n lvl = 'warn';\n } else if (opts.level) {\n lvl = opts.level;\n } else if (process.env.VISOR_LOG_LEVEL) {\n const envLvl = process.env.VISOR_LOG_LEVEL as LogLevel;\n if (['silent', 'error', 'warn', 'info', 'verbose', 'debug'].includes(envLvl)) {\n lvl = envLvl as LogLevel;\n }\n }\n\n this.level = lvl;\n const output = opts.outputFormat || process.env.VISOR_OUTPUT_FORMAT || 'table';\n // In JSON/SARIF we suppress non-error logs unless explicitly verbose/debug\n this.isJsonLike = output === 'json' || output === 'sarif';\n }\n\n setSink(\n sink?: (msg: string, level: LogLevel) => void,\n opts: {\n passthrough?: boolean;\n errorMode?: 'throw' | 'warn' | 'silent';\n onError?: (error: unknown) => void;\n } = {}\n ): void {\n this.sink = sink;\n this.sinkPassthrough = opts.passthrough !== undefined ? opts.passthrough : true;\n this.sinkErrorMode = opts.errorMode || 'throw';\n this.sinkErrorHandler = opts.onError;\n }\n\n private shouldLog(level: LogLevel): boolean {\n const desired = levelToNumber(level);\n const current = levelToNumber(this.level);\n if (desired > current) return false;\n if (\n this.isJsonLike &&\n desired < levelToNumber('error') &&\n this.level !== 'debug' &&\n this.level !== 'verbose'\n ) {\n // In JSON/SARIF, hide info/warn unless explicitly verbose/debug\n return false;\n }\n return true;\n }\n\n withTaskContext<T>(taskId: string, fn: () => T): T {\n const current = this.taskContextStorage.getStore() || {};\n return this.taskContextStorage.run({ ...current, taskId }, fn);\n }\n\n getCurrentTaskId(): string | undefined {\n return this.taskContextStorage.getStore()?.taskId;\n }\n\n private getContextSuffix(msg: string): string {\n if (!msg) return '';\n if (\n msg.includes('task_id=') ||\n msg.includes('task_id:') ||\n msg.includes('trace_id=') ||\n msg.includes('trace_id:')\n ) {\n return '';\n }\n const taskId = this.getCurrentTaskId();\n if (taskId) return ` [task_id=${taskId}]`;\n try {\n const span = trace.getSpan(otContext.active()) || trace.getActiveSpan();\n const ctx = span?.spanContext?.();\n if (!ctx?.traceId) return '';\n return ` [trace_id=${ctx.traceId} span_id=${ctx.spanId}]`;\n } catch {\n return '';\n }\n }\n\n private emitOtelLog(msg: string, level: LogLevel): void {\n try {\n if (!this.otelLoggerAttempted) {\n this.otelLoggerAttempted = true;\n try {\n const { logs } = (function (name: string) {\n return require(name);\n })('@opentelemetry/api-logs');\n this.otelLogger = logs.getLogger('visor');\n } catch {\n // @opentelemetry/api-logs not installed\n }\n }\n if (!this.otelLogger) return;\n\n const span = trace.getSpan(otContext.active()) || trace.getActiveSpan();\n const spanCtx = span?.spanContext?.();\n const taskId = this.getCurrentTaskId();\n this.otelLogger.emit({\n severityNumber: OTEL_SEVERITY[level] || 9,\n severityText: level.toUpperCase(),\n body: msg,\n attributes: {\n 'visor.logger': true,\n ...(taskId ? { task_id: taskId } : {}),\n ...(spanCtx?.traceId ? { trace_id: spanCtx.traceId, span_id: spanCtx.spanId } : {}),\n },\n });\n } catch {\n // OTel logs not available; ignore\n }\n }\n\n private write(msg: string, level?: LogLevel): void {\n // Always route to stderr to keep stdout clean for results\n const suffix = this.getContextSuffix(msg);\n const decoratedMsg = suffix ? `${msg}${suffix}` : msg;\n const lvl = level || 'info';\n\n // Emit to OTel Logs pipeline (non-blocking, best-effort)\n this.emitOtelLog(msg, lvl);\n\n if (this.sink) {\n try {\n this.sink(decoratedMsg, lvl);\n } catch (error) {\n if (this.sinkErrorMode === 'warn') {\n try {\n if (this.sinkErrorHandler) {\n this.sinkErrorHandler(error);\n } else {\n const errMsg = error instanceof Error ? error.message : String(error);\n process.stderr.write(`[logger] sink failed: ${errMsg}\\n`);\n }\n } catch {\n // ignore secondary failures\n }\n }\n if (this.sinkErrorMode === 'throw') {\n throw error;\n }\n return;\n }\n if (!this.sinkPassthrough) return;\n }\n\n try {\n if (this.showTimestamps) {\n const ts = new Date().toISOString();\n const lvl = level ? level : undefined;\n\n let tsToken = `[${ts}]`;\n let lvlToken = lvl ? `[${lvl}]` : '';\n\n // Add simple ANSI colour when running in a TTY and not emitting\n // JSON/SARIF. Colours are intentionally minimal and only applied\n // to the prefix markers, not the full line.\n if (this.isTTY && !this.isJsonLike) {\n const reset = '\\x1b[0m';\n const dim = '\\x1b[2m';\n const colours: Record<LogLevel, string> = {\n silent: '',\n error: '\\x1b[31m', // red\n warn: '\\x1b[33m', // yellow\n info: '\\x1b[36m', // cyan\n verbose: '\\x1b[35m', // magenta\n debug: '\\x1b[90m', // bright black / gray\n };\n\n tsToken = `${dim}${tsToken}${reset}`;\n\n if (lvl) {\n const colour = colours[lvl] || '';\n if (colour) {\n lvlToken = `${colour}${lvlToken}${reset}`;\n }\n }\n }\n\n const prefix = lvl ? `${tsToken} ${lvlToken}` : tsToken;\n process.stderr.write(`${prefix} ${decoratedMsg}\\n`);\n } else {\n process.stderr.write(decoratedMsg + '\\n');\n }\n } catch {\n // Ignore write errors\n }\n }\n\n info(msg: string): void {\n if (this.shouldLog('info')) this.write(msg, 'info');\n }\n\n warn(msg: string): void {\n if (this.shouldLog('warn')) this.write(msg, 'warn');\n }\n\n error(msg: string): void {\n if (this.shouldLog('error')) this.write(msg, 'error');\n }\n\n verbose(msg: string): void {\n if (this.shouldLog('verbose')) this.write(msg, 'verbose');\n }\n\n debug(msg: string): void {\n if (this.shouldLog('debug')) this.write(msg, 'debug');\n }\n\n step(msg: string): void {\n // High-level phase indicator\n if (this.shouldLog('info')) this.write(`▶ ${msg}`, 'info');\n }\n\n success(msg: string): void {\n if (this.shouldLog('info')) this.write(`✔ ${msg}`, 'info');\n }\n}\n\n// Singleton instance\nexport const logger = new Logger();\n\n// Helper to configure from CLI options in a single place\nexport function configureLoggerFromCli(options: {\n output?: string;\n debug?: boolean;\n verbose?: boolean;\n quiet?: boolean;\n}): void {\n logger.configure({\n outputFormat: options.output,\n debug: options.debug,\n verbose: options.verbose,\n quiet: options.quiet,\n });\n\n // Expose output format and debug to process env for modules that need to gate\n // stdout emissions without plumbing the value through every call site.\n try {\n if (options.output) process.env.VISOR_OUTPUT_FORMAT = String(options.output);\n if (typeof options.debug === 'boolean') {\n process.env.VISOR_DEBUG = options.debug ? 'true' : 'false';\n }\n } catch {\n // ignore\n }\n}\n"],"mappings":"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","names":["lvl"]}
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
fallback_ndjson_exports,
|
|
4
4
|
init_fallback_ndjson,
|
|
5
5
|
init_trace_helpers
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-QLT42TX7.mjs";
|
|
7
7
|
import {
|
|
8
8
|
addFailIfTriggered,
|
|
9
9
|
init_metrics
|
|
@@ -20,11 +20,11 @@ import {
|
|
|
20
20
|
import {
|
|
21
21
|
MemoryStore,
|
|
22
22
|
init_memory_store
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-4MHHELVZ.mjs";
|
|
24
24
|
import {
|
|
25
25
|
init_logger,
|
|
26
26
|
logger_exports
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-6E625R3C.mjs";
|
|
28
28
|
import {
|
|
29
29
|
__esm,
|
|
30
30
|
__export,
|
|
@@ -736,4 +736,4 @@ export {
|
|
|
736
736
|
failure_condition_evaluator_exports,
|
|
737
737
|
init_failure_condition_evaluator
|
|
738
738
|
};
|
|
739
|
-
//# sourceMappingURL=chunk-
|
|
739
|
+
//# sourceMappingURL=chunk-7XKHFRPN.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
init_logger,
|
|
3
3
|
logger
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-6E625R3C.mjs";
|
|
5
5
|
import {
|
|
6
6
|
__esm
|
|
7
7
|
} from "./chunk-J7LXIPZS.mjs";
|
|
@@ -527,13 +527,19 @@ async function serializeTraceForPrompt(traceIdOrPath, maxChars, backendConfig, t
|
|
|
527
527
|
const localTracePath = isFilePath ? traceIdOrPath : void 0;
|
|
528
528
|
const remoteTraceId = fallbackTraceId || (!isFilePath ? traceIdOrPath : await readTraceIdFromFile(traceIdOrPath) || void 0);
|
|
529
529
|
const preferLocalFirst = backendOrder[0] === "file";
|
|
530
|
+
logger.debug(
|
|
531
|
+
`[TraceSerializer] serializeTraceForPrompt ref=${traceIdOrPath} remoteTraceId=${remoteTraceId || "-"} backendOrder=${backendOrder.join(">")}`
|
|
532
|
+
);
|
|
530
533
|
if (preferLocalFirst && localTracePath) {
|
|
534
|
+
logger.debug(`[TraceSerializer] Trying local trace file first: ${localTracePath}`);
|
|
531
535
|
spans = await fetchTraceSpans(localTracePath, { ...cfg, type: "file" });
|
|
532
536
|
}
|
|
533
537
|
if (spans.length === 0 && remoteTraceId) {
|
|
538
|
+
logger.debug(`[TraceSerializer] Trying remote trace backends for trace_id=${remoteTraceId}`);
|
|
534
539
|
spans = await fetchTraceSpans(remoteTraceId, cfg);
|
|
535
540
|
}
|
|
536
541
|
if (spans.length === 0 && localTracePath) {
|
|
542
|
+
logger.debug(`[TraceSerializer] Falling back to local trace file: ${localTracePath}`);
|
|
537
543
|
spans = await fetchTraceSpans(localTracePath, { ...cfg, type: "file" });
|
|
538
544
|
}
|
|
539
545
|
if (spans.length === 0) {
|
|
@@ -623,6 +629,19 @@ function renderSpanYaml(tree, allSpans, opts) {
|
|
|
623
629
|
}
|
|
624
630
|
function renderYamlNode(node, indent, lines, dedup, renderContext, fallbackIntent, fullOutput, maxLen, parentSpan) {
|
|
625
631
|
if (shouldSkipLifecycleSpan(node.span, renderContext)) {
|
|
632
|
+
for (const child of node.children) {
|
|
633
|
+
renderYamlNode(
|
|
634
|
+
child,
|
|
635
|
+
indent,
|
|
636
|
+
lines,
|
|
637
|
+
dedup,
|
|
638
|
+
renderContext,
|
|
639
|
+
fallbackIntent,
|
|
640
|
+
fullOutput,
|
|
641
|
+
maxLen,
|
|
642
|
+
parentSpan
|
|
643
|
+
);
|
|
644
|
+
}
|
|
626
645
|
return;
|
|
627
646
|
}
|
|
628
647
|
const pad = " ".repeat(indent);
|
|
@@ -901,7 +920,7 @@ function renderYamlOutput(rawOutput, pad, label, spanName, dedup, lines, fullOut
|
|
|
901
920
|
if (obj === null || obj === void 0 || typeof obj !== "object") return;
|
|
902
921
|
if (typeof obj === "object" && !Array.isArray(obj)) {
|
|
903
922
|
const keys = Object.keys(obj);
|
|
904
|
-
if (keys.length === 1 && typeof obj[keys[0]] === "object" && obj[keys[0]] !== null) {
|
|
923
|
+
if (keys.length === 1 && typeof obj[keys[0]] === "object" && obj[keys[0]] !== null && !Array.isArray(obj[keys[0]])) {
|
|
905
924
|
obj = obj[keys[0]];
|
|
906
925
|
}
|
|
907
926
|
const objKeys = Object.keys(obj);
|
|
@@ -1435,7 +1454,7 @@ function formatJsonPreview(obj, maxLen) {
|
|
|
1435
1454
|
const parts = [];
|
|
1436
1455
|
let len = 2;
|
|
1437
1456
|
for (const [key, val] of Object.entries(obj)) {
|
|
1438
|
-
if (key === "raw" || key === "
|
|
1457
|
+
if (key === "raw" || key === "tags") continue;
|
|
1439
1458
|
let valStr;
|
|
1440
1459
|
if (val === null || val === void 0) continue;
|
|
1441
1460
|
if (typeof val === "boolean") valStr = String(val);
|
|
@@ -1444,8 +1463,13 @@ function formatJsonPreview(obj, maxLen) {
|
|
|
1444
1463
|
if (val.startsWith("{") || val.startsWith("[")) continue;
|
|
1445
1464
|
const clean = val.replace(/\*\*/g, "").replace(/^#+\s*/gm, "").replace(/`/g, "").trim();
|
|
1446
1465
|
valStr = `"${truncate(clean.split("\n")[0], Math.min(80, maxLen / 3))}"`;
|
|
1447
|
-
} else if (Array.isArray(val))
|
|
1448
|
-
|
|
1466
|
+
} else if (Array.isArray(val)) {
|
|
1467
|
+
if (val.every((item) => typeof item === "string") && val.join(", ").length < Math.min(120, maxLen / 2)) {
|
|
1468
|
+
valStr = `[${val.join(", ")}]`;
|
|
1469
|
+
} else {
|
|
1470
|
+
valStr = `[${val.length}]`;
|
|
1471
|
+
}
|
|
1472
|
+
} else if (typeof val === "object") valStr = `{${Object.keys(val).length} keys}`;
|
|
1449
1473
|
else valStr = "...";
|
|
1450
1474
|
const part = `${key}: ${valStr}`;
|
|
1451
1475
|
if (len + part.length + 2 > maxLen) {
|
|
@@ -1697,4 +1721,4 @@ export {
|
|
|
1697
1721
|
renderSpanYaml,
|
|
1698
1722
|
init_trace_serializer
|
|
1699
1723
|
};
|
|
1700
|
-
//# sourceMappingURL=chunk-
|
|
1724
|
+
//# sourceMappingURL=chunk-IY5PQ5EN.mjs.map
|