@pushary/agent-hooks 1.9.9 → 1.9.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/README.md +1 -1
- package/dist/bin/pushary-bell-hook.js +25 -21
- package/dist/bin/pushary-bell.js +9 -9
- package/dist/bin/pushary-claude.js +31 -34
- package/dist/bin/pushary-clean.js +108 -34
- package/dist/bin/pushary-codex-bridge.js +20 -22
- package/dist/bin/pushary-codex-hook.js +33 -36
- package/dist/bin/pushary-codex.js +12 -14
- package/dist/bin/pushary-connect.js +27 -29
- package/dist/bin/pushary-cowork.js +5 -5
- package/dist/bin/pushary-daemon.js +31 -33
- package/dist/bin/pushary-disconnect.js +29 -29
- package/dist/bin/pushary-doctor.js +60 -50
- package/dist/bin/pushary-elicitation-hook.js +26 -26
- package/dist/bin/pushary-gemini-bridge.js +13 -13
- package/dist/bin/pushary-gemini-hook.js +30 -33
- package/dist/bin/pushary-hook.js +31 -33
- package/dist/bin/pushary-login.js +12 -12
- package/dist/bin/pushary-logout.js +18 -78
- package/dist/bin/pushary-mcp.js +9 -9
- package/dist/bin/pushary-mode.js +12 -12
- package/dist/bin/pushary-notification-hook.js +24 -26
- package/dist/bin/pushary-opencode-hook.js +29 -32
- package/dist/bin/pushary-permission-denied-hook.js +29 -31
- package/dist/bin/pushary-permission-hook.js +28 -30
- package/dist/bin/pushary-post-hook.js +24 -26
- package/dist/bin/pushary-prompt-hook.js +24 -26
- package/dist/bin/pushary-session-end-hook.js +24 -26
- package/dist/bin/pushary-session-start-hook.js +28 -30
- package/dist/bin/pushary-setup.js +62 -46
- package/dist/bin/pushary-stats.js +5 -5
- package/dist/bin/pushary-status.js +30 -32
- package/dist/bin/pushary-stop-hook.js +24 -26
- package/dist/bin/pushary-stopfailure-hook.js +24 -26
- package/dist/bin/pushary-suggestions.js +12 -12
- package/dist/bin/pushary-transcript-register.js +17 -17
- package/dist/bin/pushary-transcripts.js +7 -7
- package/dist/bin/pushary-upgrade.js +30 -32
- package/dist/bin/pushary-wait.js +12 -12
- package/dist/bin/pushary.js +6 -6
- package/dist/{chunk-IIVZZMSO.js → chunk-2AQ4VZSA.js} +1 -1
- package/dist/{chunk-APP43AW7.js → chunk-2GG77ADC.js} +1 -1
- package/dist/{chunk-KOWFRUIT.js → chunk-2NAQRPZQ.js} +1 -1
- package/dist/{chunk-Z23ZBYDW.js → chunk-4FWWHCYM.js} +4 -4
- package/dist/{chunk-ZGADIZDS.js → chunk-4HR2ICME.js} +1 -1
- package/dist/{chunk-E5HOHIUV.js → chunk-4RENRBSB.js} +4 -4
- package/dist/{chunk-RQ32ADJP.js → chunk-5WAYSUWV.js} +2 -2
- package/dist/{chunk-BYLKCZ2G.js → chunk-7RWQZQV2.js} +14 -14
- package/dist/{chunk-KQFTBQ66.js → chunk-A6J5Z2HO.js} +514 -313
- package/dist/{chunk-EIAEUG7G.js → chunk-AIWZRRSK.js} +2 -2
- package/dist/{chunk-H5T27W7M.js → chunk-BDRXDO25.js} +2 -2
- package/dist/{chunk-UAP5DS6P.js → chunk-BMP2BLIR.js} +3 -3
- package/dist/{chunk-VIIHC42X.js → chunk-BZI7EBTB.js} +1 -1
- package/dist/{chunk-TO3PS646.js → chunk-C6QM5SJR.js} +2 -2
- package/dist/{chunk-BNSKVIAW.js → chunk-CBDJ2X5P.js} +2 -2
- package/dist/{chunk-COQ64C4F.js → chunk-CHDAH4HP.js} +8 -8
- package/dist/{chunk-M3STIAGU.js → chunk-CZYMYM7X.js} +3 -3
- package/dist/{chunk-MD4SVNT6.js → chunk-E6YQW43K.js} +1 -1
- package/dist/{chunk-5N5L6DNN.js → chunk-EJVYEOKC.js} +3 -3
- package/dist/{chunk-AI7RMFVV.js → chunk-ERXY2SIW.js} +19 -16
- package/dist/{chunk-IRHABAQT.js → chunk-FJCOOFT7.js} +1 -1
- package/dist/{chunk-NGKUXZID.js → chunk-GA4J6YFN.js} +2 -2
- package/dist/{chunk-WRPYCIV2.js → chunk-GUNZHSTL.js} +136 -8
- package/dist/{chunk-T6ZN4TEF.js → chunk-HX5TI6DP.js} +1 -1
- package/dist/{chunk-QRXPWW3M.js → chunk-I4I4UH62.js} +3 -3
- package/dist/{chunk-6AYSKVLL.js → chunk-KBN3UP2R.js} +3 -3
- package/dist/{chunk-UF6RBP5V.js → chunk-KEV2MOJH.js} +46 -21
- package/dist/{chunk-BZLHTMT6.js → chunk-KIVFWGG6.js} +12 -10
- package/dist/{chunk-HBWYMRR5.js → chunk-LBAMPNDM.js} +5 -4
- package/dist/{chunk-LENBKYRB.js → chunk-LUHNNZSH.js} +2 -2
- package/dist/{chunk-R5RIVOPL.js → chunk-LX6EWNRK.js} +15 -3
- package/dist/{chunk-5DCDQ5VW.js → chunk-M54ATCOZ.js} +2 -2
- package/dist/{chunk-6W5M3MSE.js → chunk-MHHXR7DT.js} +4 -4
- package/dist/{chunk-NUVGDBZC.js → chunk-MITMDERZ.js} +1 -1
- package/dist/{chunk-QTIUJZRX.js → chunk-MJLTABWF.js} +3 -3
- package/dist/{chunk-QIOIO7VN.js → chunk-MX3LPP3K.js} +6 -6
- package/dist/{chunk-F7R3SZ4Q.js → chunk-N6GEI3PK.js} +2 -2
- package/dist/{chunk-462EQA6K.js → chunk-N7HXP4PZ.js} +1 -1
- package/dist/{chunk-Q6C6ILUS.js → chunk-OKSU74QH.js} +2 -2
- package/dist/{chunk-AZOKPWVI.js → chunk-P2EJN7UB.js} +1 -1
- package/dist/{chunk-OAYWO5NP.js → chunk-P7N7FJ7W.js} +1 -1
- package/dist/{chunk-DP3WX7FW.js → chunk-PRJNUNCV.js} +2 -2
- package/dist/{chunk-SZ4Q6ZVS.js → chunk-PTGUJZSD.js} +5 -5
- package/dist/chunk-SB2GN6OP.js +71 -0
- package/dist/{chunk-DCCSULXK.js → chunk-STUJXZC2.js} +4 -4
- package/dist/{chunk-MLGIVVSG.js → chunk-TVVUJTUW.js} +1 -1
- package/dist/{chunk-5OP5MQI7.js → chunk-V6IW5WMK.js} +1 -1
- package/dist/{chunk-5RGA636G.js → chunk-VOP5U2VX.js} +145 -9
- package/dist/{chunk-K545B734.js → chunk-WCELLK4P.js} +2 -2
- package/dist/{chunk-VHPFNLRS.js → chunk-WHRYW4P2.js} +5 -5
- package/dist/{chunk-G7RIDXAT.js → chunk-XYCTS3WP.js} +1 -1
- package/dist/{chunk-6EBGOHDJ.js → chunk-YETKAI5Q.js} +6 -6
- package/dist/{chunk-REU2VQPH.js → chunk-Z4AOR6RZ.js} +15 -13
- package/dist/{chunk-B5NMSP3V.js → chunk-ZTSMQYST.js} +3 -5
- package/dist/{global-upgrade-H272QOGD.js → global-upgrade-VT2JS7DR.js} +6 -6
- package/dist/{paths-HMVOTFUN.js → paths-WRBEUNEY.js} +2 -2
- package/dist/{reapply-Q5NHDTVU.js → reapply-BCR6U7HO.js} +20 -22
- package/dist/src/index.js +19 -21
- package/dist/{upgrade-lock-L3GHFIRW.js → upgrade-lock-VRYMTPZQ.js} +3 -3
- package/package.json +1 -1
- package/dist/chunk-N6IOSZOE.js +0 -185
- package/dist/chunk-UPIZSCYD.js +0 -142
|
@@ -227,6 +227,20 @@ var AGENTS = {
|
|
|
227
227
|
enforcementDetail: "exec, write and edit through native PreToolUse hooks, answered in Devin's own approve/block schema.",
|
|
228
228
|
capabilityNote: "Devin CLI answers PreToolUse with `{decision}` rather than a permission decision. Pushary blocks an unanswered approval because this adapter cannot request a native prompt reliably. Question and plan dialogs remain with Devin; this adapter does not render their answers. It also fires no Notification event."
|
|
229
229
|
},
|
|
230
|
+
antigravity_cli: {
|
|
231
|
+
...defaults,
|
|
232
|
+
label: "Antigravity CLI",
|
|
233
|
+
hookSource: "antigravity",
|
|
234
|
+
bridged: true,
|
|
235
|
+
policyAgent: "antigravity_cli",
|
|
236
|
+
repoAware: true,
|
|
237
|
+
disconnectable: true,
|
|
238
|
+
enforcement: "enforced",
|
|
239
|
+
connectVia: "Native hooks + MCP",
|
|
240
|
+
setupCommand: PUSHARY_SETUP_COMMAND,
|
|
241
|
+
enforcementDetail: "Shell commands, file writes, edits and MCP calls through native PreToolUse hooks in ~/.gemini/config/hooks.json, answered allow or deny.",
|
|
242
|
+
capabilityNote: 'Antigravity CLI ignores a hook\'s allow unless it runs in always-proceed mode (`toolPermission: "always-proceed"` or `--dangerously-skip-permissions`), so approving from the phone needs that mode, with Pushary as the only gate. Pushary answers allow or deny and never ask, because ask and force_ask run the call unprompted in that mode. An unanswered approval is blocked with a reason.'
|
|
243
|
+
},
|
|
230
244
|
windsurf: {
|
|
231
245
|
...defaults,
|
|
232
246
|
label: "Windsurf",
|
|
@@ -283,7 +297,7 @@ var normalizeAgentId = (value, accepted) => {
|
|
|
283
297
|
};
|
|
284
298
|
|
|
285
299
|
// ../contracts/src/agent-wiring.ts
|
|
286
|
-
var COMPATIBLE_AGENT_TYPES = ["qwen_code", "codebuddy", "qoder", "droid", "devin"];
|
|
300
|
+
var COMPATIBLE_AGENT_TYPES = ["qwen_code", "codebuddy", "qoder", "droid", "devin", "antigravity_cli"];
|
|
287
301
|
var CANONICAL_PATH_KEYS = ["file_path", "path", "notebook_path"];
|
|
288
302
|
var CANONICAL_COMMAND_KEYS = ["command"];
|
|
289
303
|
var SHELL_TOOLS = /* @__PURE__ */ new Set(["Bash", "PowerShell"]);
|
|
@@ -296,6 +310,10 @@ var firstString = (record, keys) => {
|
|
|
296
310
|
}
|
|
297
311
|
return void 0;
|
|
298
312
|
};
|
|
313
|
+
var withCanonicalInputKeys = (profile, toolInput) => {
|
|
314
|
+
const renamed = Object.entries(profile.inputKeyAliases).flatMap(([agentKey, canonicalKey]) => toolInput[agentKey] === void 0 || toolInput[canonicalKey] !== void 0 ? [] : [[canonicalKey, toolInput[agentKey]]]);
|
|
315
|
+
return renamed.length === 0 ? toolInput : { ...toolInput, ...Object.fromEntries(renamed) };
|
|
316
|
+
};
|
|
299
317
|
var canonicalToolName = (profile, toolName) => profile.toolAliases[toolName] ?? toolName;
|
|
300
318
|
var toToolLookup = (profile, toolName, toolInput, resolvePath = (path) => path) => {
|
|
301
319
|
const tool = canonicalToolName(profile, toolName);
|
|
@@ -310,10 +328,25 @@ var toToolLookup = (profile, toolName, toolInput, resolvePath = (path) => path)
|
|
|
310
328
|
if (!PATH_TOOLS.has(tool)) return { tool, input: toolInput, unreadable: false };
|
|
311
329
|
const filePath = firstString(toolInput, [...profile.pathInputKeys, ...CANONICAL_PATH_KEYS]);
|
|
312
330
|
if (!filePath) return { tool, input: toolInput, unreadable: true };
|
|
313
|
-
return { tool, input: { ...toolInput, file_path: resolvePath(filePath) }, unreadable: false };
|
|
331
|
+
return { tool, input: { ...withCanonicalInputKeys(profile, toolInput), file_path: resolvePath(filePath) }, unreadable: false };
|
|
332
|
+
};
|
|
333
|
+
var NO_AGENT_PROMPT_REASON = "Pushary needs an answer from the phone before this can run, and this agent has no approval prompt of its own here, so nothing ran. Ask the user, then try again.";
|
|
334
|
+
var DENIED_BY_PUSHARY_REASON = "Denied from Pushary.";
|
|
335
|
+
var UNCARRIED_ANSWER_REASON = "The answer from the phone cannot be passed to this agent, so the call did not run. Ask the question in chat instead.";
|
|
336
|
+
var renderAllowDenyDecision = (verdict) => {
|
|
337
|
+
const { permissionDecision, permissionDecisionReason } = verdict.hookSpecificOutput;
|
|
338
|
+
if (verdict.continue === false) {
|
|
339
|
+
return { decision: "deny", reason: verdict.stopReason ?? permissionDecisionReason ?? DENIED_BY_PUSHARY_REASON };
|
|
340
|
+
}
|
|
341
|
+
if (permissionDecision === "allow") {
|
|
342
|
+
return verdict.hookSpecificOutput.updatedInput ? { decision: "deny", reason: UNCARRIED_ANSWER_REASON } : { decision: "allow" };
|
|
343
|
+
}
|
|
344
|
+
if (permissionDecision === "ask") return { decision: "deny", reason: NO_AGENT_PROMPT_REASON };
|
|
345
|
+
return { decision: "deny", reason: permissionDecisionReason ?? DENIED_BY_PUSHARY_REASON };
|
|
314
346
|
};
|
|
315
347
|
var renderPreToolUseVerdict = (profile, verdict) => {
|
|
316
348
|
if (profile.wire === "permission_decision") return verdict;
|
|
349
|
+
if (profile.wire === "allow_deny_decision") return renderAllowDenyDecision(verdict);
|
|
317
350
|
const { permissionDecision, permissionDecisionReason, updatedInput } = verdict.hookSpecificOutput;
|
|
318
351
|
if (permissionDecision === "ask") return { decision: "block", reason: permissionDecisionReason ?? "Pushary requires an explicit approval before this tool can run." };
|
|
319
352
|
if (updatedInput) return void 0;
|
|
@@ -324,6 +357,39 @@ var renderPreToolUseVerdict = (profile, verdict) => {
|
|
|
324
357
|
...stop
|
|
325
358
|
};
|
|
326
359
|
};
|
|
360
|
+
var ANTIGRAVITY_MCP_TOOL = "call_mcp_tool";
|
|
361
|
+
var isPayloadRecord = (value) => value !== null && typeof value === "object" && !Array.isArray(value);
|
|
362
|
+
var nonEmptyString = (value) => typeof value === "string" && value.length > 0 ? value : void 0;
|
|
363
|
+
var mcpToolCall = (args) => {
|
|
364
|
+
const server = nonEmptyString(args.ServerName);
|
|
365
|
+
const tool = nonEmptyString(args.ToolName);
|
|
366
|
+
if (!server || !tool) return void 0;
|
|
367
|
+
return { tool_name: `mcp__${server}__${tool}`, tool_input: isPayloadRecord(args.Arguments) ? args.Arguments : {} };
|
|
368
|
+
};
|
|
369
|
+
var antigravityToolCall = (toolCall) => {
|
|
370
|
+
if (!isPayloadRecord(toolCall)) return void 0;
|
|
371
|
+
const name = nonEmptyString(toolCall.name);
|
|
372
|
+
if (!name) return void 0;
|
|
373
|
+
const args = isPayloadRecord(toolCall.args) ? toolCall.args : {};
|
|
374
|
+
return (name === ANTIGRAVITY_MCP_TOOL ? mcpToolCall(args) : void 0) ?? { tool_name: name, tool_input: args };
|
|
375
|
+
};
|
|
376
|
+
var firstWorkspace = (payload) => Array.isArray(payload.workspacePaths) ? payload.workspacePaths.map(nonEmptyString).find(Boolean) : void 0;
|
|
377
|
+
var fromAntigravity = (event, payload) => {
|
|
378
|
+
const { toolCall, ...rest } = payload;
|
|
379
|
+
const call = antigravityToolCall(toolCall);
|
|
380
|
+
const cwd = firstWorkspace(payload) ?? nonEmptyString(call?.tool_input.Cwd);
|
|
381
|
+
const sessionId = nonEmptyString(payload.conversationId);
|
|
382
|
+
const transcriptPath = nonEmptyString(payload.transcriptPath);
|
|
383
|
+
return {
|
|
384
|
+
...rest,
|
|
385
|
+
...event ? { hook_event_name: event } : {},
|
|
386
|
+
...sessionId ? { session_id: sessionId } : {},
|
|
387
|
+
...transcriptPath ? { transcript_path: transcriptPath } : {},
|
|
388
|
+
...cwd ? { cwd } : {},
|
|
389
|
+
...call ?? {}
|
|
390
|
+
};
|
|
391
|
+
};
|
|
392
|
+
var claudeShapedHookInput = (dialect, event, payload) => dialect === "antigravity" ? fromAntigravity(event, payload) : payload;
|
|
327
393
|
var CLAUDE_SHAPED_EVENTS = [
|
|
328
394
|
"PreToolUse",
|
|
329
395
|
"PostToolUse",
|
|
@@ -361,15 +427,20 @@ var QWEN_CODE = {
|
|
|
361
427
|
ask_user_question: "AskUserQuestion",
|
|
362
428
|
exit_plan_mode: "ExitPlanMode"
|
|
363
429
|
},
|
|
430
|
+
inputKeyAliases: {},
|
|
364
431
|
extraMatchers: ["mcp__.*"],
|
|
365
432
|
pathInputKeys: ["absolute_path"],
|
|
366
433
|
shellCommandKeys: [],
|
|
367
434
|
shellContextKeys: ["directory"],
|
|
368
435
|
events: without("TeammateIdle", "Elicitation", "PermissionDenied"),
|
|
369
436
|
wire: "permission_decision",
|
|
437
|
+
payload: "claude",
|
|
438
|
+
nonToolEntries: "nested",
|
|
370
439
|
mcp: { shape: "gemini_http", file: [".qwen", "settings.json"], trusted: true },
|
|
371
440
|
instructions: { file: [".qwen", "QWEN.md"], label: "Qwen Code" },
|
|
372
|
-
permissionRuleFile: null
|
|
441
|
+
permissionRuleFile: null,
|
|
442
|
+
configDirIsShared: false,
|
|
443
|
+
setupNote: null
|
|
373
444
|
};
|
|
374
445
|
var CODEBUDDY = {
|
|
375
446
|
agentType: "codebuddy",
|
|
@@ -379,15 +450,20 @@ var CODEBUDDY = {
|
|
|
379
450
|
configFile: [".codebuddy", "settings.json"],
|
|
380
451
|
hooksKeyPath: ["hooks"],
|
|
381
452
|
toolAliases: {},
|
|
453
|
+
inputKeyAliases: {},
|
|
382
454
|
extraMatchers: ["mcp__.*"],
|
|
383
455
|
pathInputKeys: [],
|
|
384
456
|
shellCommandKeys: [],
|
|
385
457
|
shellContextKeys: [],
|
|
386
458
|
events: without("Elicitation", "PermissionDenied"),
|
|
387
459
|
wire: "permission_decision",
|
|
460
|
+
payload: "claude",
|
|
461
|
+
nonToolEntries: "nested",
|
|
388
462
|
mcp: { shape: "claude_http", file: [".codebuddy", ".mcp.json"], trusted: false },
|
|
389
463
|
instructions: { file: [".codebuddy", "CODEBUDDY.md"], label: "CodeBuddy" },
|
|
390
|
-
permissionRuleFile: [".codebuddy", "settings.json"]
|
|
464
|
+
permissionRuleFile: [".codebuddy", "settings.json"],
|
|
465
|
+
configDirIsShared: false,
|
|
466
|
+
setupNote: null
|
|
391
467
|
};
|
|
392
468
|
var QODER = {
|
|
393
469
|
agentType: "qoder",
|
|
@@ -397,15 +473,20 @@ var QODER = {
|
|
|
397
473
|
configFile: [".qoder", "settings.json"],
|
|
398
474
|
hooksKeyPath: ["hooks"],
|
|
399
475
|
toolAliases: {},
|
|
476
|
+
inputKeyAliases: {},
|
|
400
477
|
extraMatchers: ["mcp__.*"],
|
|
401
478
|
pathInputKeys: [],
|
|
402
479
|
shellCommandKeys: [],
|
|
403
480
|
shellContextKeys: [],
|
|
404
481
|
events: without("Elicitation", "PermissionDenied"),
|
|
405
482
|
wire: "permission_decision",
|
|
483
|
+
payload: "claude",
|
|
484
|
+
nonToolEntries: "nested",
|
|
406
485
|
mcp: { shape: "claude_http", file: [".qoder", "settings.json"], trusted: true },
|
|
407
486
|
instructions: null,
|
|
408
|
-
permissionRuleFile: null
|
|
487
|
+
permissionRuleFile: null,
|
|
488
|
+
configDirIsShared: false,
|
|
489
|
+
setupNote: null
|
|
409
490
|
};
|
|
410
491
|
var DROID = {
|
|
411
492
|
agentType: "droid",
|
|
@@ -420,15 +501,20 @@ var DROID = {
|
|
|
420
501
|
ApplyPatch: "Edit",
|
|
421
502
|
FetchUrl: "WebFetch"
|
|
422
503
|
},
|
|
504
|
+
inputKeyAliases: {},
|
|
423
505
|
extraMatchers: ["mcp__.*"],
|
|
424
506
|
pathInputKeys: [],
|
|
425
507
|
shellCommandKeys: [],
|
|
426
508
|
shellContextKeys: [],
|
|
427
509
|
events: ["PreToolUse", "PostToolUse", "UserPromptSubmit", "Notification", "Stop", "SubagentStop", "PreCompact", "SessionStart", "SessionEnd"],
|
|
428
510
|
wire: "permission_decision",
|
|
511
|
+
payload: "claude",
|
|
512
|
+
nonToolEntries: "nested",
|
|
429
513
|
mcp: null,
|
|
430
514
|
instructions: null,
|
|
431
|
-
permissionRuleFile: null
|
|
515
|
+
permissionRuleFile: null,
|
|
516
|
+
configDirIsShared: false,
|
|
517
|
+
setupNote: null
|
|
432
518
|
};
|
|
433
519
|
var DEVIN = {
|
|
434
520
|
agentType: "devin",
|
|
@@ -448,17 +534,57 @@ var DEVIN = {
|
|
|
448
534
|
web_search: "WebSearch",
|
|
449
535
|
run_subagent: "Task"
|
|
450
536
|
},
|
|
537
|
+
inputKeyAliases: {},
|
|
451
538
|
extraMatchers: ["mcp__.*", "mcp_call_tool", "write_to_process"],
|
|
452
539
|
pathInputKeys: [],
|
|
453
540
|
shellCommandKeys: [],
|
|
454
541
|
shellContextKeys: [],
|
|
455
542
|
events: ["PreToolUse", "PostToolUse", "UserPromptSubmit", "Stop", "SessionStart", "SessionEnd"],
|
|
456
543
|
wire: "legacy_decision",
|
|
544
|
+
payload: "claude",
|
|
545
|
+
nonToolEntries: "nested",
|
|
457
546
|
mcp: null,
|
|
458
547
|
instructions: null,
|
|
459
|
-
permissionRuleFile: null
|
|
548
|
+
permissionRuleFile: null,
|
|
549
|
+
configDirIsShared: false,
|
|
550
|
+
setupNote: null
|
|
551
|
+
};
|
|
552
|
+
var ANTIGRAVITY_CLI = {
|
|
553
|
+
agentType: "antigravity_cli",
|
|
554
|
+
source: "antigravity",
|
|
555
|
+
label: "Antigravity CLI",
|
|
556
|
+
binary: "agy",
|
|
557
|
+
configFile: [".gemini", "config", "hooks.json"],
|
|
558
|
+
hooksKeyPath: ["pushary"],
|
|
559
|
+
toolAliases: {
|
|
560
|
+
run_command: "Bash",
|
|
561
|
+
write_to_file: "Write",
|
|
562
|
+
replace_file_content: "Edit",
|
|
563
|
+
multi_replace_file_content: "Edit",
|
|
564
|
+
view_file: "Read",
|
|
565
|
+
read_url_content: "WebFetch",
|
|
566
|
+
search_web: "WebSearch"
|
|
567
|
+
},
|
|
568
|
+
inputKeyAliases: {
|
|
569
|
+
CodeContent: "content",
|
|
570
|
+
TargetContent: "old_string",
|
|
571
|
+
ReplacementContent: "new_string"
|
|
572
|
+
},
|
|
573
|
+
extraMatchers: [ANTIGRAVITY_MCP_TOOL],
|
|
574
|
+
pathInputKeys: ["TargetFile", "AbsolutePath"],
|
|
575
|
+
shellCommandKeys: ["CommandLine"],
|
|
576
|
+
shellContextKeys: ["Cwd"],
|
|
577
|
+
events: ["PreToolUse", "PostToolUse", "Stop"],
|
|
578
|
+
wire: "allow_deny_decision",
|
|
579
|
+
payload: "antigravity",
|
|
580
|
+
nonToolEntries: "handler",
|
|
581
|
+
mcp: { shape: "antigravity_http", file: [".gemini", "config", "mcp_config.json"], trusted: false },
|
|
582
|
+
instructions: null,
|
|
583
|
+
permissionRuleFile: null,
|
|
584
|
+
configDirIsShared: true,
|
|
585
|
+
setupNote: 'Approvals from your phone take effect only when Antigravity CLI runs in always-proceed mode: start it with --dangerously-skip-permissions, or set "toolPermission": "always-proceed" in ~/.gemini/antigravity-cli/settings.json. Pushary is then the only gate, and an unanswered approval is blocked.'
|
|
460
586
|
};
|
|
461
|
-
var HOOK_COMPATIBLE_PROFILES = Object.freeze([QWEN_CODE, CODEBUDDY, QODER, DROID, DEVIN]);
|
|
587
|
+
var HOOK_COMPATIBLE_PROFILES = Object.freeze([QWEN_CODE, CODEBUDDY, QODER, DROID, DEVIN, ANTIGRAVITY_CLI]);
|
|
462
588
|
var hookCompatibleProfile = (agentType) => HOOK_COMPATIBLE_PROFILES.find((profile) => profile.agentType === agentType);
|
|
463
589
|
var hookCompatibleProfileBySource = (source) => HOOK_COMPATIBLE_PROFILES.find((profile) => profile.source === source);
|
|
464
590
|
var compatibleTargetFiles = (profile) => {
|
|
@@ -871,7 +997,8 @@ var HOOK_BUDGETS = {
|
|
|
871
997
|
codebuddy: { budgetSeconds: 600, guardSeconds: 10 },
|
|
872
998
|
qoder: { budgetSeconds: 600, guardSeconds: 10 },
|
|
873
999
|
droid: { budgetSeconds: 600, guardSeconds: 10 },
|
|
874
|
-
devin: { budgetSeconds: 600, guardSeconds: 10 }
|
|
1000
|
+
devin: { budgetSeconds: 600, guardSeconds: 10 },
|
|
1001
|
+
antigravity: { budgetSeconds: 600, guardSeconds: 10 }
|
|
875
1002
|
};
|
|
876
1003
|
var hookMaxWaitSeconds = (agent) => Math.max(HOOK_BUDGETS[agent].budgetSeconds - HOOK_BUDGETS[agent].guardSeconds, 1);
|
|
877
1004
|
var HOOK_HOLD_BUDGET_FLAG = "--hold-budget";
|
|
@@ -905,12 +1032,16 @@ var hookWaitClamped = (startMs, policyWaitSeconds, agent, nowMs) => startMs + ho
|
|
|
905
1032
|
var effectiveWaitSeconds = (timeoutAction, policySeconds, agent) => timeoutAction === "wait" ? hookMaxWaitSeconds(agent) : policySeconds;
|
|
906
1033
|
var OPENCODE_APPROVAL_EVENT = "permission.ask";
|
|
907
1034
|
var CURSOR_GATE_EVENTS = ["beforeShellExecution", "beforeMCPExecution", "preToolUse"];
|
|
1035
|
+
var hasNativeApprovalPrompt = (source, event) => !(source === "cursor" && event === "preToolUse") && !(source === "antigravity" && event === "PreToolUse");
|
|
908
1036
|
var SUPPORT_EMAIL = "business@pushary.com";
|
|
909
1037
|
var SUPPORT_DISCORD = "https://discord.gg/9v3VvUByrr";
|
|
910
1038
|
var HOOK_LOCATOR_BINARY = "pushary-bridge";
|
|
911
1039
|
var isRecord2 = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1040
|
+
var isTokenCount = (value) => typeof value === "number" && Number.isInteger(value) && value >= 0;
|
|
1041
|
+
var reportableSessionId = (value) => typeof value === "string" && value.length > 0 && value.length <= SESSION_ID_MAX_LENGTH ? value : null;
|
|
912
1042
|
var HOOK_BATCH_MAX_BYTES = 4 * 1024 * 1024;
|
|
913
1043
|
var REPO_KEY_MAX_LENGTH = 200;
|
|
1044
|
+
var SESSION_ID_MAX_LENGTH = 200;
|
|
914
1045
|
var WILDCARD_TOOL_PATTERN = "*";
|
|
915
1046
|
var isRepoKeyMatch = (ruleRepoKey, currentRepoKey) => {
|
|
916
1047
|
if (!ruleRepoKey) return true;
|
|
@@ -2430,6 +2561,7 @@ var pendingCommandEvents = (source) => {
|
|
|
2430
2561
|
case "qoder":
|
|
2431
2562
|
case "droid":
|
|
2432
2563
|
case "devin":
|
|
2564
|
+
case "antigravity":
|
|
2433
2565
|
return compatiblePendingCommandEvents(source);
|
|
2434
2566
|
}
|
|
2435
2567
|
};
|
|
@@ -2810,6 +2942,7 @@ export {
|
|
|
2810
2942
|
canonicalToolName,
|
|
2811
2943
|
toToolLookup,
|
|
2812
2944
|
renderPreToolUseVerdict,
|
|
2945
|
+
claudeShapedHookInput,
|
|
2813
2946
|
HOOK_COMPATIBLE_PROFILES,
|
|
2814
2947
|
hookCompatibleProfile,
|
|
2815
2948
|
hookCompatibleProfileBySource,
|
|
@@ -2853,9 +2986,12 @@ export {
|
|
|
2853
2986
|
effectiveWaitSeconds,
|
|
2854
2987
|
OPENCODE_APPROVAL_EVENT,
|
|
2855
2988
|
CURSOR_GATE_EVENTS,
|
|
2989
|
+
hasNativeApprovalPrompt,
|
|
2856
2990
|
SUPPORT_EMAIL,
|
|
2857
2991
|
SUPPORT_DISCORD,
|
|
2858
2992
|
HOOK_LOCATOR_BINARY,
|
|
2993
|
+
isTokenCount,
|
|
2994
|
+
reportableSessionId,
|
|
2859
2995
|
normalizeRepoRemote,
|
|
2860
2996
|
localRepoKey,
|
|
2861
2997
|
isSafeReadOnlyCommand,
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-POFBE6ZY.js";
|
|
4
4
|
import {
|
|
5
5
|
autoUpdateState
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-4FWWHCYM.js";
|
|
7
7
|
import {
|
|
8
8
|
readJsonSafe,
|
|
9
9
|
writeJsonAtomic
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
cliPackagePathSegments,
|
|
15
15
|
globalUpgradeEntry,
|
|
16
16
|
ownPackageRoot
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-VOP5U2VX.js";
|
|
18
18
|
|
|
19
19
|
// src/auto-update.ts
|
|
20
20
|
import { spawn } from "child_process";
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
forkFinishWithUpgradeLock,
|
|
5
5
|
installWithUpgradeLock,
|
|
6
6
|
releaseAutoUpdateLock
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-P2EJN7UB.js";
|
|
8
8
|
import {
|
|
9
9
|
describeAutoUpdateCheck,
|
|
10
10
|
globalInstallLocation,
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
readAutoUpdateState,
|
|
15
15
|
updateAutoUpdateState,
|
|
16
16
|
upgradeEntryFor
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-WCELLK4P.js";
|
|
18
18
|
import {
|
|
19
19
|
EXIT
|
|
20
20
|
} from "./chunk-KZERVKTD.js";
|
|
@@ -27,10 +27,10 @@ import {
|
|
|
27
27
|
npmErrorMessage,
|
|
28
28
|
readGlobalCliInstallAt,
|
|
29
29
|
readGlobalPrefix
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-4FWWHCYM.js";
|
|
31
31
|
import {
|
|
32
32
|
NPX_LATEST_COMMAND
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-M54ATCOZ.js";
|
|
34
34
|
import {
|
|
35
35
|
commandsPackage,
|
|
36
36
|
globalUpgradeEntry,
|
|
@@ -39,7 +39,7 @@ import {
|
|
|
39
39
|
isSameMajorVersion,
|
|
40
40
|
ownPackageRoot,
|
|
41
41
|
packageVersionAt
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-VOP5U2VX.js";
|
|
43
43
|
|
|
44
44
|
// src/global-upgrade.ts
|
|
45
45
|
import { existsSync } from "fs";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ensureCodexTrustsPusharyHooks
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-GA4J6YFN.js";
|
|
4
4
|
import {
|
|
5
5
|
detectClaudeVersion
|
|
6
6
|
} from "./chunk-RIVNNBEK.js";
|
|
@@ -12,12 +12,12 @@ import {
|
|
|
12
12
|
openCodeHookArgv,
|
|
13
13
|
openCodePluginDir,
|
|
14
14
|
openCodeWired
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-KIVFWGG6.js";
|
|
16
16
|
import {
|
|
17
17
|
addClaudeMcpServer,
|
|
18
18
|
addPusharyHooks,
|
|
19
19
|
addPusharyToolPermissions
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-KEV2MOJH.js";
|
|
21
21
|
import {
|
|
22
22
|
claudeUnprovenHolds,
|
|
23
23
|
claudeWired,
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
codexWired,
|
|
26
26
|
geminiWired,
|
|
27
27
|
planHooks
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-7RWQZQV2.js";
|
|
29
29
|
import {
|
|
30
30
|
CLAUDE_HOOK_BINARY,
|
|
31
31
|
CLAUDE_HOOK_EVENTS,
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
needsReregistration,
|
|
37
37
|
registrationSignatures,
|
|
38
38
|
supportedClaudeEvents
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-CZYMYM7X.js";
|
|
40
40
|
import {
|
|
41
41
|
formatVersion
|
|
42
42
|
} from "./chunk-6ICPEJY5.js";
|
|
@@ -59,7 +59,7 @@ import {
|
|
|
59
59
|
registrationHolderOf,
|
|
60
60
|
resolveGlobalBinary,
|
|
61
61
|
vscodePluginMcp
|
|
62
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-4FWWHCYM.js";
|
|
63
63
|
import {
|
|
64
64
|
readJsonSafe,
|
|
65
65
|
writeFileAtomic,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveInstallSourceFor
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-CBDJ2X5P.js";
|
|
4
4
|
import {
|
|
5
5
|
backupFile,
|
|
6
6
|
readJsonSafe,
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "./chunk-T7E75EKA.js";
|
|
10
10
|
import {
|
|
11
11
|
configFilePath
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-FJCOOFT7.js";
|
|
13
13
|
|
|
14
14
|
// src/shell-alias.ts
|
|
15
15
|
import { homedir } from "os";
|
|
@@ -322,19 +322,20 @@ var shellProfileCandidates = () => {
|
|
|
322
322
|
const fallbacks = FALLBACK_RCS.map((name) => join2(homedir2(), name));
|
|
323
323
|
return resolved ? [resolved.path, ...fallbacks.filter((path) => path !== resolved.path)] : fallbacks;
|
|
324
324
|
};
|
|
325
|
-
var
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
} catch {
|
|
331
|
-
continue;
|
|
332
|
-
}
|
|
333
|
-
const found = findKeyExport(contents);
|
|
334
|
-
if (found) return { path, ...found };
|
|
325
|
+
var readProfileOrNull = (path) => {
|
|
326
|
+
try {
|
|
327
|
+
return readFileSync2(path, "utf8");
|
|
328
|
+
} catch {
|
|
329
|
+
return null;
|
|
335
330
|
}
|
|
336
|
-
return null;
|
|
337
331
|
};
|
|
332
|
+
var exportedKeyLineIn = (path) => {
|
|
333
|
+
const contents = readProfileOrNull(path);
|
|
334
|
+
const found = contents === null ? null : findKeyExport(contents);
|
|
335
|
+
return found ? [{ path, ...found }] : [];
|
|
336
|
+
};
|
|
337
|
+
var findExportedKeyLines = (profiles = shellProfileCandidates()) => profiles.flatMap(exportedKeyLineIn);
|
|
338
|
+
var findExportedKeyLine = (profiles = shellProfileCandidates()) => findExportedKeyLines(profiles)[0] ?? null;
|
|
338
339
|
|
|
339
340
|
export {
|
|
340
341
|
CANDIDATE_RCS,
|
|
@@ -354,5 +355,6 @@ export {
|
|
|
354
355
|
readKeySource,
|
|
355
356
|
readMacAppKeyPrefix,
|
|
356
357
|
recordMacAppKeyPrefix,
|
|
358
|
+
findExportedKeyLines,
|
|
357
359
|
findExportedKeyLine
|
|
358
360
|
};
|
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AUTO_DECISION_WINDOW_MS,
|
|
3
|
+
DEFAULT_SESSION,
|
|
3
4
|
claimThrottle,
|
|
4
5
|
deriveToolTarget,
|
|
5
6
|
permissionDeniedAction,
|
|
6
7
|
releaseThrottle,
|
|
7
8
|
reportEvent
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import {
|
|
10
|
-
DEFAULT_SESSION
|
|
11
|
-
} from "./chunk-N6IOSZOE.js";
|
|
9
|
+
} from "./chunk-A6J5Z2HO.js";
|
|
12
10
|
import {
|
|
13
11
|
machineDecisionFor,
|
|
14
12
|
shouldDeferToNativeMode,
|
|
15
13
|
wireVerdictFor
|
|
16
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-VOP5U2VX.js";
|
|
17
15
|
|
|
18
16
|
// src/machine-decision-audit.ts
|
|
19
17
|
import { basename } from "path";
|
|
@@ -5,15 +5,15 @@ import {
|
|
|
5
5
|
readGlobalUpgradeSubject,
|
|
6
6
|
upgradeInstalledPackage,
|
|
7
7
|
withUpgradeLock
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-WHRYW4P2.js";
|
|
9
|
+
import "./chunk-P2EJN7UB.js";
|
|
10
|
+
import "./chunk-WCELLK4P.js";
|
|
11
11
|
import "./chunk-POFBE6ZY.js";
|
|
12
12
|
import "./chunk-KZERVKTD.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-4FWWHCYM.js";
|
|
14
14
|
import "./chunk-T7E75EKA.js";
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-M54ATCOZ.js";
|
|
16
|
+
import "./chunk-VOP5U2VX.js";
|
|
17
17
|
export {
|
|
18
18
|
finishGlobalUpgrade,
|
|
19
19
|
finishUpgradeWithLock,
|
|
@@ -10,36 +10,34 @@ import {
|
|
|
10
10
|
reapplyOpenCodePlugin,
|
|
11
11
|
reapplyVsCodePlugin,
|
|
12
12
|
repairCodexHolds
|
|
13
|
-
} from "./chunk-
|
|
14
|
-
import "./chunk-
|
|
13
|
+
} from "./chunk-YETKAI5Q.js";
|
|
14
|
+
import "./chunk-GA4J6YFN.js";
|
|
15
15
|
import "./chunk-RIVNNBEK.js";
|
|
16
16
|
import "./chunk-XHKBHWLX.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-KIVFWGG6.js";
|
|
18
|
+
import "./chunk-KEV2MOJH.js";
|
|
19
|
+
import "./chunk-7RWQZQV2.js";
|
|
20
|
+
import "./chunk-CZYMYM7X.js";
|
|
21
|
+
import "./chunk-4HR2ICME.js";
|
|
22
|
+
import "./chunk-TVVUJTUW.js";
|
|
23
23
|
import "./chunk-GMXKITVA.js";
|
|
24
24
|
import "./chunk-6ICPEJY5.js";
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-WRPYCIV2.js";
|
|
29
|
-
import "./chunk-6AYSKVLL.js";
|
|
30
|
-
import "./chunk-QRXPWW3M.js";
|
|
31
|
-
import "./chunk-UPIZSCYD.js";
|
|
25
|
+
import "./chunk-A6J5Z2HO.js";
|
|
26
|
+
import "./chunk-E6YQW43K.js";
|
|
27
|
+
import "./chunk-GUNZHSTL.js";
|
|
32
28
|
import "./chunk-POFBE6ZY.js";
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-KBN3UP2R.js";
|
|
30
|
+
import "./chunk-I4I4UH62.js";
|
|
31
|
+
import "./chunk-EJVYEOKC.js";
|
|
32
|
+
import "./chunk-2NAQRPZQ.js";
|
|
35
33
|
import "./chunk-7QLSKOSU.js";
|
|
36
34
|
import "./chunk-KZERVKTD.js";
|
|
37
|
-
import "./chunk-
|
|
38
|
-
import "./chunk-
|
|
35
|
+
import "./chunk-CBDJ2X5P.js";
|
|
36
|
+
import "./chunk-4FWWHCYM.js";
|
|
39
37
|
import "./chunk-T7E75EKA.js";
|
|
40
|
-
import "./chunk-
|
|
41
|
-
import "./chunk-
|
|
42
|
-
import "./chunk-
|
|
38
|
+
import "./chunk-FJCOOFT7.js";
|
|
39
|
+
import "./chunk-M54ATCOZ.js";
|
|
40
|
+
import "./chunk-VOP5U2VX.js";
|
|
43
41
|
export {
|
|
44
42
|
ensureCodexTrustAfterReapply,
|
|
45
43
|
inspectConfiguredManagedProviders,
|
package/dist/src/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
handlePreToolUse
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-ERXY2SIW.js";
|
|
4
|
+
import "../chunk-ZTSMQYST.js";
|
|
5
|
+
import "../chunk-2AQ4VZSA.js";
|
|
6
|
+
import "../chunk-V6IW5WMK.js";
|
|
7
7
|
import {
|
|
8
8
|
fetchAccountPublicKey
|
|
9
|
-
} from "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
9
|
+
} from "../chunk-N7HXP4PZ.js";
|
|
10
|
+
import "../chunk-KEV2MOJH.js";
|
|
11
|
+
import "../chunk-CZYMYM7X.js";
|
|
12
12
|
import "../chunk-6ICPEJY5.js";
|
|
13
13
|
import {
|
|
14
14
|
fetchModeOverride,
|
|
@@ -18,33 +18,31 @@ import {
|
|
|
18
18
|
handlePostToolUse,
|
|
19
19
|
handleStop,
|
|
20
20
|
reportEvent
|
|
21
|
-
} from "../chunk-
|
|
22
|
-
import "../chunk-
|
|
23
|
-
import "../chunk-MD4SVNT6.js";
|
|
21
|
+
} from "../chunk-A6J5Z2HO.js";
|
|
22
|
+
import "../chunk-E6YQW43K.js";
|
|
24
23
|
import {
|
|
25
24
|
askUser,
|
|
26
25
|
cancelQuestion,
|
|
27
26
|
waitForAnswer
|
|
28
|
-
} from "../chunk-
|
|
29
|
-
import "../chunk-6AYSKVLL.js";
|
|
30
|
-
import "../chunk-QRXPWW3M.js";
|
|
31
|
-
import "../chunk-UPIZSCYD.js";
|
|
27
|
+
} from "../chunk-GUNZHSTL.js";
|
|
32
28
|
import "../chunk-POFBE6ZY.js";
|
|
33
|
-
import "../chunk-
|
|
34
|
-
import "../chunk-
|
|
29
|
+
import "../chunk-KBN3UP2R.js";
|
|
30
|
+
import "../chunk-I4I4UH62.js";
|
|
31
|
+
import "../chunk-EJVYEOKC.js";
|
|
32
|
+
import "../chunk-2NAQRPZQ.js";
|
|
35
33
|
import "../chunk-7QLSKOSU.js";
|
|
36
34
|
import "../chunk-KZERVKTD.js";
|
|
37
|
-
import "../chunk-
|
|
38
|
-
import "../chunk-
|
|
35
|
+
import "../chunk-CBDJ2X5P.js";
|
|
36
|
+
import "../chunk-4FWWHCYM.js";
|
|
39
37
|
import "../chunk-T7E75EKA.js";
|
|
40
38
|
import {
|
|
41
39
|
getApiKey,
|
|
42
40
|
getBaseUrl
|
|
43
|
-
} from "../chunk-
|
|
44
|
-
import "../chunk-
|
|
41
|
+
} from "../chunk-FJCOOFT7.js";
|
|
42
|
+
import "../chunk-M54ATCOZ.js";
|
|
45
43
|
import {
|
|
46
44
|
resolvePolicy
|
|
47
|
-
} from "../chunk-
|
|
45
|
+
} from "../chunk-VOP5U2VX.js";
|
|
48
46
|
export {
|
|
49
47
|
askUser,
|
|
50
48
|
cancelQuestion,
|