@agentdocumentformat/cli 0.8.0 → 0.8.1
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/adf.mjs +6 -6
- package/dist/chunks/{App-A5GUFCFJ.mjs → App-4AZZJNN2.mjs} +511 -406
- package/dist/chunks/{adf-schema-YJSGLMA4.mjs → adf-schema-AIPBQTR2.mjs} +9 -3
- package/dist/chunks/{chunk-AZYOXXVL.mjs → chunk-2Z7X3UUR.mjs} +11 -198
- package/dist/chunks/{chunk-4OGZFUKA.mjs → chunk-7JZXMDDF.mjs} +33 -1
- package/dist/chunks/{chunk-V2T6NZX2.mjs → chunk-AEAJDCVK.mjs} +1 -1
- package/dist/chunks/{chunk-NZO5O4VN.mjs → chunk-BR3AD5QZ.mjs} +7 -1
- package/dist/chunks/{chunk-WVTPPOKK.mjs → chunk-BS3USVEA.mjs} +14 -3
- package/dist/chunks/{chunk-JVPZIMXW.mjs → chunk-D7A77SNL.mjs} +1 -1
- package/dist/chunks/{chunk-LCMANRYY.mjs → chunk-E7LC6SHP.mjs} +1 -1
- package/dist/chunks/{chunk-LGL6ML37.mjs → chunk-F3WSCAJD.mjs} +1 -1
- package/dist/chunks/{chunk-6XQZGYMK.mjs → chunk-IMVMSU3A.mjs} +6 -2
- package/dist/chunks/{chunk-C4GA5SI4.mjs → chunk-KCIRFUZH.mjs} +2 -2
- package/dist/chunks/{chunk-YRMKSHW3.mjs → chunk-LVF2DRBR.mjs} +25 -12
- package/dist/chunks/{chunk-PRPTKMQW.mjs → chunk-RHBGCOS3.mjs} +2 -2
- package/dist/chunks/{chunk-WX6QCUWI.mjs → chunk-RJDOVMM4.mjs} +95 -12
- package/dist/chunks/{chunk-G6NBFYG5.mjs → chunk-SOSPQPEN.mjs} +189 -0
- package/dist/chunks/chunk-VENQBMOA.mjs +62 -0
- package/dist/chunks/{chunk-XT2BJUFC.mjs → chunk-YRBFIDLB.mjs} +33 -6
- package/dist/chunks/{claude-subscription-33BMZB6I.mjs → claude-subscription-EB4LAAVV.mjs} +3 -3
- package/dist/chunks/{cli-I47IFDHJ.mjs → cli-PCVFB6B4.mjs} +5 -5
- package/dist/chunks/{commands-E4EQUHE5.mjs → commands-KOMPXJZS.mjs} +3 -3
- package/dist/chunks/{daemon-FQ5BV3AP.mjs → daemon-BVDB565V.mjs} +729 -111
- package/dist/chunks/{daemon-control-L3CLG63P.mjs → daemon-control-MKN7G5M3.mjs} +4 -4
- package/dist/chunks/{layout-EPJQNFAI.mjs → layout-ECWGJF6M.mjs} +2 -2
- package/dist/chunks/{open-TLGS2Z3Q.mjs → open-3OR6WT4T.mjs} +4 -4
- package/dist/chunks/{pipeline-executor-FD4FBWQA.mjs → pipeline-executor-DRYEEFDR.mjs} +4 -4
- package/dist/chunks/{remote-access-cli-XXAPQWH6.mjs → remote-access-cli-GLEEP7DI.mjs} +2 -2
- package/dist/chunks/sdk-OJOAF4DP.mjs +30014 -0
- package/dist/chunks/{store-ZRN2WCFB.mjs → store-55CQSAOX.mjs} +3 -2
- package/dist/chunks/{tui-SPSPDADM.mjs → tui-RAUVFOYY.mjs} +11 -11
- package/package.json +1 -1
- package/dist/chunks/sdk-5FD2ZP7N.mjs +0 -28422
- package/dist/chunks/{chunk-APRU6PHC.mjs → chunk-JZ7AQNPM.mjs} +3 -3
|
@@ -6,6 +6,8 @@ const __filename = __adfFileURLToPath(import.meta.url);
|
|
|
6
6
|
const __dirname = __adfDirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
AdapterInstanceConfigSchema,
|
|
9
|
+
AgentCommandSchema,
|
|
10
|
+
AgentCommandsSchema,
|
|
9
11
|
AgentConfigSchema,
|
|
10
12
|
BindOptionsSchema,
|
|
11
13
|
LOOP_GOAL_MAX_CHARS,
|
|
@@ -14,7 +16,6 @@ import {
|
|
|
14
16
|
LOOP_TOOLS_MAX,
|
|
15
17
|
LoopConfigSchema,
|
|
16
18
|
LoopsConfigSchema,
|
|
17
|
-
MAX_SIDE_LOOPS,
|
|
18
19
|
ModelConfigSchema,
|
|
19
20
|
PreLlmHookConfigSchema,
|
|
20
21
|
ServingApiRouteSchema,
|
|
@@ -29,13 +30,18 @@ import {
|
|
|
29
30
|
TriggersConfigV3Schema,
|
|
30
31
|
UmbilicalFilterSchema,
|
|
31
32
|
WsConnectionConfigSchema
|
|
32
|
-
} from "./chunk-
|
|
33
|
-
import "./chunk-
|
|
33
|
+
} from "./chunk-YRBFIDLB.mjs";
|
|
34
|
+
import "./chunk-VENQBMOA.mjs";
|
|
35
|
+
import {
|
|
36
|
+
MAX_SIDE_LOOPS
|
|
37
|
+
} from "./chunk-BR3AD5QZ.mjs";
|
|
34
38
|
import "./chunk-ZJKXHM4Q.mjs";
|
|
35
39
|
import "./chunk-RIX34QHC.mjs";
|
|
36
40
|
import "./chunk-M2RX3S2T.mjs";
|
|
37
41
|
export {
|
|
38
42
|
AdapterInstanceConfigSchema,
|
|
43
|
+
AgentCommandSchema,
|
|
44
|
+
AgentCommandsSchema,
|
|
39
45
|
AgentConfigSchema,
|
|
40
46
|
BindOptionsSchema,
|
|
41
47
|
LOOP_GOAL_MAX_CHARS,
|
|
@@ -4,19 +4,14 @@ import { dirname as __adfDirname } from 'node:path';
|
|
|
4
4
|
const require = __adfCreateRequire(import.meta.url);
|
|
5
5
|
const __filename = __adfFileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __adfDirname(__filename);
|
|
7
|
-
import {
|
|
8
|
-
require_jsx_runtime
|
|
9
|
-
} from "./chunk-7CV2SA3H.mjs";
|
|
10
|
-
import {
|
|
11
|
-
cjs
|
|
12
|
-
} from "./chunk-SGUTYISF.mjs";
|
|
13
7
|
import {
|
|
14
8
|
WELCOME_OVERLAY
|
|
15
9
|
} from "./chunk-O7XKQ6CH.mjs";
|
|
16
10
|
import {
|
|
17
11
|
mcp_config_exports,
|
|
18
|
-
mcp_registry_exports
|
|
19
|
-
|
|
12
|
+
mcp_registry_exports,
|
|
13
|
+
provider_catalog_exports
|
|
14
|
+
} from "./chunk-SOSPQPEN.mjs";
|
|
20
15
|
import {
|
|
21
16
|
Box_default,
|
|
22
17
|
Text
|
|
@@ -24,6 +19,12 @@ import {
|
|
|
24
19
|
import {
|
|
25
20
|
useTheme
|
|
26
21
|
} from "./chunk-NZLEPJ5M.mjs";
|
|
22
|
+
import {
|
|
23
|
+
require_jsx_runtime
|
|
24
|
+
} from "./chunk-7CV2SA3H.mjs";
|
|
25
|
+
import {
|
|
26
|
+
cjs
|
|
27
|
+
} from "./chunk-SGUTYISF.mjs";
|
|
27
28
|
import {
|
|
28
29
|
require_react
|
|
29
30
|
} from "./chunk-6GJ4QHRI.mjs";
|
|
@@ -31,7 +32,6 @@ import {
|
|
|
31
32
|
adapter_registry_exports
|
|
32
33
|
} from "./chunk-UYY5M2PB.mjs";
|
|
33
34
|
import {
|
|
34
|
-
__export,
|
|
35
35
|
__toESM
|
|
36
36
|
} from "./chunk-M2RX3S2T.mjs";
|
|
37
37
|
|
|
@@ -383,202 +383,15 @@ function configuredChannels(config) {
|
|
|
383
383
|
return Object.keys(config?.adapters ?? {});
|
|
384
384
|
}
|
|
385
385
|
|
|
386
|
-
// src/shared/constants/provider-catalog.ts
|
|
387
|
-
var provider_catalog_exports = {};
|
|
388
|
-
__export(provider_catalog_exports, {
|
|
389
|
-
PROVIDER_CATALOG: () => PROVIDER_CATALOG,
|
|
390
|
-
PROVIDER_CATALOG_GROUPS: () => PROVIDER_CATALOG_GROUPS,
|
|
391
|
-
catalogEntryForProvider: () => catalogEntryForProvider,
|
|
392
|
-
findCatalogEntry: () => findCatalogEntry,
|
|
393
|
-
isSubscriptionType: () => isSubscriptionType,
|
|
394
|
-
nextProviderName: () => nextProviderName,
|
|
395
|
-
providerTypeHint: () => providerTypeHint
|
|
396
|
-
});
|
|
397
|
-
var PROVIDER_CATALOG_GROUPS = [
|
|
398
|
-
{ id: "subscription", label: "Subscriptions", hint: "Sign in with an existing consumer plan. No API key." },
|
|
399
|
-
{ id: "api", label: "APIs", hint: "Pay-as-you-go endpoints. Paste an API key." },
|
|
400
|
-
{ id: "local", label: "Local", hint: "Servers running on this machine. Usually no key." },
|
|
401
|
-
{ id: "other", label: "Other", hint: "Anything that speaks the OpenAI API." }
|
|
402
|
-
], oc = (key, label, baseUrl, description, extra = {}) => ({
|
|
403
|
-
key,
|
|
404
|
-
label,
|
|
405
|
-
type: "openai-compatible",
|
|
406
|
-
group: "api",
|
|
407
|
-
baseUrl,
|
|
408
|
-
description,
|
|
409
|
-
keyPlaceholder: "API key",
|
|
410
|
-
modelPlaceholder: "model id",
|
|
411
|
-
...extra
|
|
412
|
-
}), local = (key, label, baseUrl, description, extra = {}) => ({
|
|
413
|
-
key,
|
|
414
|
-
label,
|
|
415
|
-
type: "openai-compatible",
|
|
416
|
-
group: "local",
|
|
417
|
-
baseUrl,
|
|
418
|
-
description,
|
|
419
|
-
keyPlaceholder: "Usually not needed",
|
|
420
|
-
modelPlaceholder: "loaded model id",
|
|
421
|
-
keyOptional: !0,
|
|
422
|
-
...extra
|
|
423
|
-
}), PROVIDER_CATALOG = [
|
|
424
|
-
// ---- Subscriptions --------------------------------------------------------
|
|
425
|
-
{
|
|
426
|
-
key: "chatgpt-subscription",
|
|
427
|
-
label: "ChatGPT",
|
|
428
|
-
type: "chatgpt-subscription",
|
|
429
|
-
group: "subscription",
|
|
430
|
-
description: "Use your ChatGPT Plus / Pro plan. Sign in with your OpenAI account.",
|
|
431
|
-
modelPlaceholder: "e.g. gpt-5.6-sol",
|
|
432
|
-
iconKey: "openai"
|
|
433
|
-
},
|
|
434
|
-
{
|
|
435
|
-
key: "grok-subscription",
|
|
436
|
-
label: "Grok",
|
|
437
|
-
type: "grok-subscription",
|
|
438
|
-
group: "subscription",
|
|
439
|
-
description: "Use your SuperGrok or X Premium plan. Sign in with xAI.",
|
|
440
|
-
modelPlaceholder: "e.g. grok-4.5",
|
|
441
|
-
iconKey: "x"
|
|
442
|
-
},
|
|
443
|
-
{
|
|
444
|
-
key: "claude-subscription",
|
|
445
|
-
label: "Claude",
|
|
446
|
-
type: "claude-subscription",
|
|
447
|
-
group: "subscription",
|
|
448
|
-
description: "Use your Claude Pro or Max plan, via Claude Code.",
|
|
449
|
-
modelPlaceholder: "e.g. claude-sonnet-5-5",
|
|
450
|
-
iconKey: "anthropic"
|
|
451
|
-
},
|
|
452
|
-
// ---- First-party APIs -----------------------------------------------------
|
|
453
|
-
{
|
|
454
|
-
key: "anthropic",
|
|
455
|
-
label: "Anthropic",
|
|
456
|
-
type: "anthropic",
|
|
457
|
-
group: "api",
|
|
458
|
-
description: "Claude models via the Anthropic API.",
|
|
459
|
-
keyPlaceholder: "sk-ant-...",
|
|
460
|
-
modelPlaceholder: "e.g. claude-sonnet-4-5",
|
|
461
|
-
iconKey: "anthropic",
|
|
462
|
-
keysUrl: "https://console.anthropic.com/settings/keys"
|
|
463
|
-
},
|
|
464
|
-
{
|
|
465
|
-
key: "openai",
|
|
466
|
-
label: "OpenAI",
|
|
467
|
-
type: "openai",
|
|
468
|
-
group: "api",
|
|
469
|
-
description: "GPT and o-series models via the OpenAI API.",
|
|
470
|
-
keyPlaceholder: "sk-...",
|
|
471
|
-
modelPlaceholder: "e.g. gpt-4o, o3-mini",
|
|
472
|
-
iconKey: "openai",
|
|
473
|
-
keysUrl: "https://platform.openai.com/api-keys"
|
|
474
|
-
},
|
|
475
|
-
{
|
|
476
|
-
key: "openrouter",
|
|
477
|
-
label: "OpenRouter",
|
|
478
|
-
type: "openrouter",
|
|
479
|
-
group: "api",
|
|
480
|
-
description: "One key for hundreds of models across providers.",
|
|
481
|
-
keyPlaceholder: "sk-or-...",
|
|
482
|
-
modelPlaceholder: "e.g. anthropic/claude-sonnet-4",
|
|
483
|
-
iconKey: "openrouter",
|
|
484
|
-
keysUrl: "https://openrouter.ai/keys"
|
|
485
|
-
},
|
|
486
|
-
// ---- OpenAI-compatible hosted APIs ---------------------------------------
|
|
487
|
-
oc("gemini", "Google Gemini", "https://generativelanguage.googleapis.com/v1beta/openai", "Gemini models through the OpenAI-compatible endpoint.", { iconKey: "gemini", keysUrl: "https://aistudio.google.com/apikey", modelPlaceholder: "e.g. gemini-2.5-pro" }),
|
|
488
|
-
oc("xai", "xAI", "https://api.x.ai/v1", "Grok models via the xAI API.", { iconKey: "x", keysUrl: "https://console.x.ai", modelPlaceholder: "e.g. grok-4" }),
|
|
489
|
-
oc("mistral", "Mistral", "https://api.mistral.ai/v1", "Mistral and Codestral models.", { iconKey: "mistral", keysUrl: "https://console.mistral.ai/api-keys", modelPlaceholder: "e.g. mistral-large-latest" }),
|
|
490
|
-
oc("deepseek", "DeepSeek", "https://api.deepseek.com/v1", "DeepSeek chat and reasoner models.", { iconKey: "deepseek", keysUrl: "https://platform.deepseek.com/api_keys", modelPlaceholder: "e.g. deepseek-chat" }),
|
|
491
|
-
oc("groq", "Groq", "https://api.groq.com/openai/v1", "Fast inference for open models on LPUs.", { keysUrl: "https://console.groq.com/keys", modelPlaceholder: "e.g. llama-3.3-70b-versatile" }),
|
|
492
|
-
oc("cerebras", "Cerebras", "https://api.cerebras.ai/v1", "Very fast inference for open models.", { keysUrl: "https://cloud.cerebras.ai", modelPlaceholder: "e.g. llama-3.3-70b" }),
|
|
493
|
-
oc("together", "Together AI", "https://api.together.xyz/v1", "Open models, fine-tunes, and dedicated endpoints.", { keysUrl: "https://api.together.ai/settings/api-keys", modelPlaceholder: "e.g. meta-llama/Llama-3.3-70B-Instruct-Turbo" }),
|
|
494
|
-
oc("fireworks", "Fireworks AI", "https://api.fireworks.ai/inference/v1", "Fast serverless inference for open models.", { keysUrl: "https://fireworks.ai/account/api-keys", modelPlaceholder: "e.g. accounts/fireworks/models/llama-v3p3-70b-instruct" }),
|
|
495
|
-
oc("perplexity", "Perplexity", "https://api.perplexity.ai", "Sonar models with built-in web search.", { iconKey: "perplexity", keysUrl: "https://www.perplexity.ai/settings/api", modelPlaceholder: "e.g. sonar-pro" }),
|
|
496
|
-
oc("cohere", "Cohere", "https://api.cohere.ai/compatibility/v1", "Command models through the compatibility API.", { keysUrl: "https://dashboard.cohere.com/api-keys", modelPlaceholder: "e.g. command-a-03-2025" }),
|
|
497
|
-
oc("huggingface", "Hugging Face", "https://router.huggingface.co/v1", "Inference Providers router. Uses your HF token.", { iconKey: "huggingface", keysUrl: "https://huggingface.co/settings/tokens", keyPlaceholder: "hf_...", modelPlaceholder: "e.g. meta-llama/Llama-3.3-70B-Instruct" }),
|
|
498
|
-
oc("nvidia", "NVIDIA NIM", "https://integrate.api.nvidia.com/v1", "Hosted NIM endpoints on build.nvidia.com.", { iconKey: "nvidia", keysUrl: "https://build.nvidia.com", keyPlaceholder: "nvapi-...", modelPlaceholder: "e.g. meta/llama-3.3-70b-instruct" }),
|
|
499
|
-
oc("vercel-ai-gateway", "Vercel AI Gateway", "https://ai-gateway.vercel.sh/v1", "Route to many providers through one Vercel key.", { iconKey: "vercel", keysUrl: "https://vercel.com/dashboard/ai-gateway", modelPlaceholder: "e.g. anthropic/claude-sonnet-4" }),
|
|
500
|
-
oc("cloudflare", "Cloudflare Workers AI", "https://api.cloudflare.com/client/v4/accounts/YOUR_ACCOUNT_ID/ai/v1", "Open models at the edge. Replace YOUR_ACCOUNT_ID in the base URL.", { iconKey: "cloudflare", keysUrl: "https://dash.cloudflare.com/profile/api-tokens", modelPlaceholder: "e.g. @cf/meta/llama-3.3-70b-instruct-fp8-fast" }),
|
|
501
|
-
oc("azure-openai", "Azure OpenAI", "https://YOUR_RESOURCE.openai.azure.com/openai/v1", "Azure-hosted OpenAI models. Replace YOUR_RESOURCE in the base URL.", { keysUrl: "https://portal.azure.com", modelPlaceholder: "your deployment name" }),
|
|
502
|
-
oc("deepinfra", "DeepInfra", "https://api.deepinfra.com/v1/openai", "Low-cost hosting for open models.", { keysUrl: "https://deepinfra.com/dash/api_keys", modelPlaceholder: "e.g. meta-llama/Llama-3.3-70B-Instruct" }),
|
|
503
|
-
oc("sambanova", "SambaNova", "https://api.sambanova.ai/v1", "Fast inference on SambaNova RDUs.", { keysUrl: "https://cloud.sambanova.ai/apis", modelPlaceholder: "e.g. Meta-Llama-3.3-70B-Instruct" }),
|
|
504
|
-
oc("nebius", "Nebius", "https://api.studio.nebius.com/v1", "Nebius AI Studio open-model endpoints.", { keysUrl: "https://studio.nebius.com/settings/api-keys", modelPlaceholder: "e.g. meta-llama/Llama-3.3-70B-Instruct" }),
|
|
505
|
-
oc("hyperbolic", "Hyperbolic", "https://api.hyperbolic.xyz/v1", "Open models on decentralized GPU capacity.", { keysUrl: "https://app.hyperbolic.xyz/settings", modelPlaceholder: "e.g. meta-llama/Llama-3.3-70B-Instruct" }),
|
|
506
|
-
oc("novita", "Novita AI", "https://api.novita.ai/v3/openai", "Serverless open-model inference.", { keysUrl: "https://novita.ai/settings/key-management", modelPlaceholder: "e.g. meta-llama/llama-3.3-70b-instruct" }),
|
|
507
|
-
oc("baseten", "Baseten", "https://inference.baseten.co/v1", "Model APIs and dedicated deployments.", { keysUrl: "https://app.baseten.co/settings/api_keys", modelPlaceholder: "e.g. deepseek-ai/DeepSeek-V3-0324" }),
|
|
508
|
-
oc("scaleway", "Scaleway", "https://api.scaleway.ai/v1", "EU-hosted generative APIs.", { iconKey: "scaleway", keysUrl: "https://console.scaleway.com/iam/api-keys", modelPlaceholder: "e.g. llama-3.3-70b-instruct" }),
|
|
509
|
-
oc("venice", "Venice", "https://api.venice.ai/api/v1", "Private, uncensored open-model inference.", { keysUrl: "https://venice.ai/settings/api", modelPlaceholder: "e.g. llama-3.3-70b" }),
|
|
510
|
-
oc("kluster", "kluster.ai", "https://api.kluster.ai/v1", "Open-model inference with batch pricing.", { keysUrl: "https://platform.kluster.ai/apikeys", modelPlaceholder: "e.g. deepseek-ai/DeepSeek-V3-0324" }),
|
|
511
|
-
oc("moonshot", "Moonshot (Kimi)", "https://api.moonshot.ai/v1", "Kimi models from Moonshot AI.", { iconKey: "kimi", keysUrl: "https://platform.moonshot.ai/console/api-keys", modelPlaceholder: "e.g. kimi-k2-0711-preview" }),
|
|
512
|
-
oc("zai", "Z.ai (GLM)", "https://api.z.ai/api/paas/v4", "GLM models from Zhipu / Z.ai.", { keysUrl: "https://z.ai/manage-apikey/apikey-list", modelPlaceholder: "e.g. glm-4.5" }),
|
|
513
|
-
oc("qwen", "Qwen (Alibaba)", "https://dashscope-intl.aliyuncs.com/compatible-mode/v1", "Qwen models via Model Studio (international).", { iconKey: "qwen", keysUrl: "https://modelstudio.console.alibabacloud.com/?tab=playground#/api-key", modelPlaceholder: "e.g. qwen-plus" }),
|
|
514
|
-
oc("minimax", "MiniMax", "https://api.minimax.io/v1", "MiniMax text models.", { iconKey: "minimax", keysUrl: "https://platform.minimax.io/user-center/basic-information/interface-key", modelPlaceholder: "e.g. MiniMax-M1" }),
|
|
515
|
-
oc("inception", "Inception", "https://api.inceptionlabs.ai/v1", "Mercury diffusion language models.", { keysUrl: "https://platform.inceptionlabs.ai", modelPlaceholder: "e.g. mercury-coder" }),
|
|
516
|
-
// ---- Local servers ---------------------------------------------------------
|
|
517
|
-
local("lmstudio", "LM Studio", "http://localhost:1234/v1", "Local server from the LM Studio app.", { iconKey: "lmstudio" }),
|
|
518
|
-
local("ollama", "Ollama", "http://localhost:11434/v1", "Local models served by Ollama.", { iconKey: "ollama", modelPlaceholder: "e.g. llama3.3" }),
|
|
519
|
-
local("vllm", "vLLM", "http://localhost:8000/v1", "vLLM OpenAI-compatible server.", { iconKey: "vllm" }),
|
|
520
|
-
local("llamacpp", "llama.cpp", "http://localhost:8080/v1", "llama-server from llama.cpp."),
|
|
521
|
-
local("litellm", "LiteLLM", "http://localhost:4000/v1", "LiteLLM proxy in front of any provider.", { keyOptional: !1, keyPlaceholder: "Proxy key, if set" }),
|
|
522
|
-
local("jan", "Jan", "http://localhost:1337/v1", "Local server from the Jan app."),
|
|
523
|
-
local("localai", "LocalAI", "http://localhost:8080/v1", "LocalAI drop-in OpenAI server."),
|
|
524
|
-
local("tgwui", "text-generation-webui", "http://localhost:5000/v1", "oobabooga OpenAI extension."),
|
|
525
|
-
// ---- Other -----------------------------------------------------------------
|
|
526
|
-
{
|
|
527
|
-
key: "openai-compatible",
|
|
528
|
-
label: "OpenAI-compatible",
|
|
529
|
-
type: "openai-compatible",
|
|
530
|
-
group: "other",
|
|
531
|
-
description: "Any endpoint that speaks the OpenAI chat API. Enter the base URL.",
|
|
532
|
-
keyPlaceholder: "Optional",
|
|
533
|
-
modelPlaceholder: "model id"
|
|
534
|
-
}
|
|
535
|
-
], BY_KEY = new Map(PROVIDER_CATALOG.map((e) => [e.key, e]));
|
|
536
|
-
function findCatalogEntry(key) {
|
|
537
|
-
return key ? BY_KEY.get(key) : void 0;
|
|
538
|
-
}
|
|
539
|
-
function catalogEntryForProvider(p) {
|
|
540
|
-
return findCatalogEntry(p.preset) ?? findCatalogEntry(p.type);
|
|
541
|
-
}
|
|
542
|
-
function nextProviderName(label, existing) {
|
|
543
|
-
let taken = new Set(existing.map((p) => p.name.trim().toLowerCase()));
|
|
544
|
-
if (!taken.has(label.toLowerCase())) return label;
|
|
545
|
-
for (let n = 2; n < 1e3; n++) {
|
|
546
|
-
let candidate = `${label} ${n}`;
|
|
547
|
-
if (!taken.has(candidate.toLowerCase())) return candidate;
|
|
548
|
-
}
|
|
549
|
-
return `${label} ${Date.now()}`;
|
|
550
|
-
}
|
|
551
|
-
function providerTypeHint(type) {
|
|
552
|
-
switch (type) {
|
|
553
|
-
case "anthropic":
|
|
554
|
-
return "Anthropic API";
|
|
555
|
-
case "openai":
|
|
556
|
-
return "OpenAI API";
|
|
557
|
-
case "openrouter":
|
|
558
|
-
return "OpenRouter API";
|
|
559
|
-
case "openai-compatible":
|
|
560
|
-
return "OpenAI-compatible API";
|
|
561
|
-
case "chatgpt-subscription":
|
|
562
|
-
return "ChatGPT subscription (OAuth)";
|
|
563
|
-
case "grok-subscription":
|
|
564
|
-
return "Grok subscription (OAuth)";
|
|
565
|
-
case "claude-subscription":
|
|
566
|
-
return "Claude subscription (via Claude Code)";
|
|
567
|
-
}
|
|
568
|
-
}
|
|
569
|
-
function isSubscriptionType(type) {
|
|
570
|
-
return type === "chatgpt-subscription" || type === "grok-subscription" || type === "claude-subscription";
|
|
571
|
-
}
|
|
572
|
-
|
|
573
386
|
// src/main/tui/setup/provider.ts
|
|
574
|
-
var { PROVIDER_CATALOG
|
|
387
|
+
var { PROVIDER_CATALOG } = cjs(provider_catalog_exports), PROVIDER_OVERLAY = "provider.add", API_TYPES = /* @__PURE__ */ new Set(["anthropic", "openai", "openrouter", "openai-compatible"]), SIGN_IN = {
|
|
575
388
|
"chatgpt-subscription": "chatgpt",
|
|
576
389
|
"grok-subscription": "grok",
|
|
577
390
|
"claude-subscription": "claude"
|
|
578
391
|
};
|
|
579
392
|
function providerRows() {
|
|
580
393
|
let order = { subscription: 0, api: 1, local: 2, other: 3 };
|
|
581
|
-
return [...
|
|
394
|
+
return [...PROVIDER_CATALOG].filter((e) => e.group === "subscription" || API_TYPES.has(e.type)).sort((a, b) => (order[a.group] ?? 9) - (order[b.group] ?? 9)).map((entry) => ({
|
|
582
395
|
entry,
|
|
583
396
|
...SIGN_IN[entry.type] ? { signIn: SIGN_IN[entry.type] } : {}
|
|
584
397
|
}));
|
|
@@ -14,6 +14,34 @@ import {
|
|
|
14
14
|
__export
|
|
15
15
|
} from "./chunk-M2RX3S2T.mjs";
|
|
16
16
|
|
|
17
|
+
// src/shared/utils/owner-command-row.ts
|
|
18
|
+
var owner_command_row_exports = {};
|
|
19
|
+
__export(owner_command_row_exports, {
|
|
20
|
+
OWNER_COMMAND_MARKER: () => OWNER_COMMAND_MARKER,
|
|
21
|
+
formatOwnerCommandRow: () => formatOwnerCommandRow,
|
|
22
|
+
isOwnerCommandRow: () => isOwnerCommandRow,
|
|
23
|
+
parseOwnerCommandRow: () => parseOwnerCommandRow
|
|
24
|
+
});
|
|
25
|
+
var OWNER_COMMAND_MARKER = "[Owner command] ";
|
|
26
|
+
function formatOwnerCommandRow(header, body) {
|
|
27
|
+
return `${OWNER_COMMAND_MARKER}${JSON.stringify(header)}
|
|
28
|
+
${body}`;
|
|
29
|
+
}
|
|
30
|
+
function parseOwnerCommandRow(text) {
|
|
31
|
+
if (!text.startsWith(OWNER_COMMAND_MARKER)) return null;
|
|
32
|
+
let newline = text.indexOf(`
|
|
33
|
+
`);
|
|
34
|
+
try {
|
|
35
|
+
let header = JSON.parse(text.slice(OWNER_COMMAND_MARKER.length, newline < 0 ? void 0 : newline));
|
|
36
|
+
return !header || header.v !== 1 || typeof header.id != "string" || typeof header.command != "string" || typeof header.lambda != "string" || typeof header.authorized != "boolean" || typeof header.duration_ms != "number" || !Number.isFinite(header.duration_ms) || header.duration_ms < 0 || !["ok", "error", "denied"].includes(header.status) ? null : { header, body: newline < 0 ? "" : text.slice(newline + 1) };
|
|
37
|
+
} catch {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
function isOwnerCommandRow(text) {
|
|
42
|
+
return parseOwnerCommandRow(text) !== null;
|
|
43
|
+
}
|
|
44
|
+
|
|
17
45
|
// src/shared/utils/loop-parser.ts
|
|
18
46
|
var loop_parser_exports = {};
|
|
19
47
|
__export(loop_parser_exports, {
|
|
@@ -67,12 +95,14 @@ function isRuntimeNotice(text) {
|
|
|
67
95
|
return RUNTIME_NOTICE_PREFIXES.some((prefix) => text.startsWith(prefix));
|
|
68
96
|
}
|
|
69
97
|
function isNoticeCategory(category) {
|
|
70
|
-
return category === "runtime" || category === "status";
|
|
98
|
+
return category === "owner_command" || category === "runtime" || category === "status";
|
|
71
99
|
}
|
|
72
100
|
function providerContextCategory(addedBy) {
|
|
73
101
|
return `provider_context | from=${addedBy.replace(/[\]|\n]/g, " ")}`;
|
|
74
102
|
}
|
|
75
103
|
function classifyInjectedText(text) {
|
|
104
|
+
let ownerCommand = parseOwnerCommandRow(text);
|
|
105
|
+
if (ownerCommand) return { content: ownerCommand.body, metadata: { category: "owner_command", ownerCommand: ownerCommand.header } };
|
|
76
106
|
let context = text.match(/^\[Context: ([^\]]+)\] ?([\s\S]*)$/);
|
|
77
107
|
if (context) {
|
|
78
108
|
let [name, ...fields] = context[1].split(" | "), field = (key) => fields.find((f) => f.startsWith(`${key}=`))?.slice(key.length + 1), content = context[2];
|
|
@@ -418,6 +448,8 @@ function loopToLLMMessages(entries) {
|
|
|
418
448
|
}
|
|
419
449
|
|
|
420
450
|
export {
|
|
451
|
+
formatOwnerCommandRow,
|
|
452
|
+
owner_command_row_exports,
|
|
421
453
|
formatTurnErrorRow,
|
|
422
454
|
providerContextCategory,
|
|
423
455
|
parseLoopToDisplay,
|
|
@@ -37,7 +37,11 @@ var START_IN_STATES = ["active", "idle", "hibernate"];
|
|
|
37
37
|
function resolveStartInState(config) {
|
|
38
38
|
return config.start_in_state ?? "active";
|
|
39
39
|
}
|
|
40
|
-
var DEFAULT_NEW_LOOP_TOOLS = ["loop_send", "loop_list", "sys_set_state"],
|
|
40
|
+
var DEFAULT_NEW_LOOP_TOOLS = ["loop_send", "loop_list", "sys_set_state"], MAX_SIDE_LOOPS = 16;
|
|
41
|
+
function hasLoopGoal(loop) {
|
|
42
|
+
return !!loop.goal?.trim();
|
|
43
|
+
}
|
|
44
|
+
var LOOP_PROHIBITED_TOOLS = ["sys_update_config", "loop_manage", "sys_create_adf"];
|
|
41
45
|
var META_PROTECTION_LEVELS = ["none", "readonly", "increment"], FILE_PROTECTION_LEVELS = ["read_only", "no_delete", "none"];
|
|
42
46
|
var DEFAULT_TOOLS = [
|
|
43
47
|
{ name: "fs_read", enabled: !0, visible: !0 },
|
|
@@ -287,6 +291,8 @@ export {
|
|
|
287
291
|
START_IN_STATES,
|
|
288
292
|
resolveStartInState,
|
|
289
293
|
DEFAULT_NEW_LOOP_TOOLS,
|
|
294
|
+
MAX_SIDE_LOOPS,
|
|
295
|
+
hasLoopGoal,
|
|
290
296
|
LOOP_PROHIBITED_TOOLS,
|
|
291
297
|
META_PROTECTION_LEVELS,
|
|
292
298
|
FILE_PROTECTION_LEVELS,
|
|
@@ -150,18 +150,29 @@ var KeychainSecretBackend = class {
|
|
|
150
150
|
return !0;
|
|
151
151
|
}
|
|
152
152
|
get(account) {
|
|
153
|
-
|
|
153
|
+
let read = prereadValue(this.service, account);
|
|
154
|
+
return read !== void 0 ? read : this.entry(account).getPassword() ?? null;
|
|
154
155
|
}
|
|
155
156
|
set(account, value) {
|
|
156
|
-
this.entry(account).setPassword(value);
|
|
157
|
+
this.entry(account).setPassword(value), preread?.service === this.service && preread.values.set(account, value);
|
|
157
158
|
}
|
|
158
159
|
delete(account) {
|
|
159
160
|
try {
|
|
160
161
|
this.entry(account).deleteCredential();
|
|
161
162
|
} catch {
|
|
162
163
|
}
|
|
164
|
+
preread?.service === this.service && preread.values.delete(account);
|
|
163
165
|
}
|
|
164
|
-
};
|
|
166
|
+
}, PREREAD_TTL_MS = 6e4, preread = null;
|
|
167
|
+
function prereadValue(service, account) {
|
|
168
|
+
if (!(!preread || preread.service !== service)) {
|
|
169
|
+
if (Date.now() - preread.at > PREREAD_TTL_MS) {
|
|
170
|
+
preread = null;
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
return preread.values.get(account);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
165
176
|
function openKeychainBackend() {
|
|
166
177
|
if (process.env.ADF_KEYCHAIN === "0" || process.env.ADF_KEYCHAIN === "off") return null;
|
|
167
178
|
let Entry = loadKeyring();
|
|
@@ -7,7 +7,7 @@ const __dirname = __adfDirname(__filename);
|
|
|
7
7
|
import {
|
|
8
8
|
AGENT_DEFAULTS,
|
|
9
9
|
DEFAULT_TOOLS
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-BR3AD5QZ.mjs";
|
|
11
11
|
|
|
12
12
|
// src/shared/constants/adf-defaults.ts
|
|
13
13
|
var ADF_VERSION = "0.2", DOCS_GUIDES_URL = "https://raw.githubusercontent.com/christianbalevski/adf/main/docs/guides", ADF_SKILLS_REGISTRY_URL = "https://raw.githubusercontent.com/christianbalevski/adf/main/skills/registry.json", PROVIDER_TYPES = [
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
} from "./chunk-SGUTYISF.mjs";
|
|
14
14
|
import {
|
|
15
15
|
daemon_url_exports
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-AEAJDCVK.mjs";
|
|
17
17
|
import {
|
|
18
18
|
__export
|
|
19
19
|
} from "./chunk-M2RX3S2T.mjs";
|
|
@@ -391,7 +391,7 @@ var DaemonClient = class {
|
|
|
391
391
|
return this.origin !== null && originOf(url) === this.origin;
|
|
392
392
|
}
|
|
393
393
|
async request(method, path, options = {}, retried = !1) {
|
|
394
|
-
let controller = new AbortController(), timeoutMs = options.timeoutMs ?? this.timeoutMs, timer = setTimeout(() => controller.abort(new Error("timeout")), timeoutMs), onAbort = () => controller.abort(options.signal?.reason);
|
|
394
|
+
let controller = new AbortController(), timeoutMs = options.timeoutMs ?? this.timeoutMs, timer = timeoutMs === 0 ? void 0 : setTimeout(() => controller.abort(new Error("timeout")), timeoutMs), onAbort = () => controller.abort(options.signal?.reason);
|
|
395
395
|
options.signal?.aborted ? onAbort() : options.signal?.addEventListener("abort", onAbort, { once: !0 });
|
|
396
396
|
let url = this.url(path, options.query), response, text, own = this.ownsUrl(url);
|
|
397
397
|
try {
|
|
@@ -676,6 +676,10 @@ var DaemonClient = class {
|
|
|
676
676
|
autostart(trackedDirs, maxDepth) {
|
|
677
677
|
return this.post("/agents/autostart", { trackedDirs, ...maxDepth !== void 0 ? { maxDepth } : {} });
|
|
678
678
|
}
|
|
679
|
+
/** Run an owner command. The server bounds execution; owner protection approval may take longer. */
|
|
680
|
+
runCommand(agentId, name, body) {
|
|
681
|
+
return this.request("POST", `/agents/${enc(agentId)}/commands/${enc(name)}/run`, { body, timeoutMs: 0 });
|
|
682
|
+
}
|
|
679
683
|
/** Compact one loop's history now. 409 while that loop is mid-turn. */
|
|
680
684
|
compact(agentId, loop) {
|
|
681
685
|
return this.post(`/agents/${enc(agentId)}/compact`, void 0, loop && loop !== MAIN_LOOP ? { loop } : void 0);
|
|
@@ -6,7 +6,7 @@ const __filename = __adfFileURLToPath(import.meta.url);
|
|
|
6
6
|
const __dirname = __adfDirname(__filename);
|
|
7
7
|
import {
|
|
8
8
|
PROVIDER_TYPES
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-E7LC6SHP.mjs";
|
|
10
10
|
import {
|
|
11
11
|
require_supports_color
|
|
12
12
|
} from "./chunk-NZ7JTHEO.mjs";
|
|
@@ -12044,7 +12044,7 @@ function buildTranscript(messages, sessionId, cwd, model) {
|
|
|
12044
12044
|
}
|
|
12045
12045
|
|
|
12046
12046
|
// src/main/providers/claude-subscription/session.ts
|
|
12047
|
-
var sdkPromise = null, loadSdk = () => sdkPromise ??= import("./sdk-
|
|
12047
|
+
var sdkPromise = null, loadSdk = () => sdkPromise ??= import("./sdk-OJOAF4DP.mjs"), ClaudeProviderError = class extends Error {
|
|
12048
12048
|
constructor(message, status, responseHeaders) {
|
|
12049
12049
|
super(message);
|
|
12050
12050
|
this.status = status;
|
|
@@ -7,7 +7,7 @@ const __dirname = __adfDirname(__filename);
|
|
|
7
7
|
import {
|
|
8
8
|
DEFAULT_AGENT_CONFIG,
|
|
9
9
|
DOCS_GUIDES_URL
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-E7LC6SHP.mjs";
|
|
11
11
|
import {
|
|
12
12
|
nanoid
|
|
13
13
|
} from "./chunk-3GNIDM53.mjs";
|
|
@@ -28,8 +28,9 @@ import {
|
|
|
28
28
|
LOOP_PROHIBITED_TOOLS,
|
|
29
29
|
META_PROTECTION_LEVELS,
|
|
30
30
|
SETTABLE_STATES,
|
|
31
|
-
getDefaultDocumentContent
|
|
32
|
-
|
|
31
|
+
getDefaultDocumentContent,
|
|
32
|
+
hasLoopGoal
|
|
33
|
+
} from "./chunk-BR3AD5QZ.mjs";
|
|
33
34
|
import {
|
|
34
35
|
__esm,
|
|
35
36
|
__export
|
|
@@ -1561,7 +1562,7 @@ var xargsHandler = {
|
|
|
1561
1562
|
batchSize = n;
|
|
1562
1563
|
}
|
|
1563
1564
|
if (!text) return ok("");
|
|
1564
|
-
let { parse } = await import("./parser-7GARNT5L.mjs"), { executeNode } = await import("./pipeline-executor-
|
|
1565
|
+
let { parse } = await import("./parser-7GARNT5L.mjs"), { executeNode } = await import("./pipeline-executor-DRYEEFDR.mjs"), subCtx = {
|
|
1565
1566
|
workspace: ctx.workspace,
|
|
1566
1567
|
toolRegistry: ctx.toolRegistry,
|
|
1567
1568
|
config: ctx.config,
|
|
@@ -2381,7 +2382,7 @@ async function executeShellScript(path, ctx) {
|
|
|
2381
2382
|
authorized = ctx.workspace.isFileAuthorized(path);
|
|
2382
2383
|
} catch {
|
|
2383
2384
|
}
|
|
2384
|
-
let gate = { ...ctx.gate ?? {}, authorized }, base = baseRegistry(ctx.toolRegistry), toolRegistry = gate.authorized ? authorizedRegistry(base) : base, { parse } = await import("./parser-7GARNT5L.mjs"), { executeNode, MAX_SHELL_DEPTH } = await import("./pipeline-executor-
|
|
2385
|
+
let gate = { ...ctx.gate ?? {}, authorized }, base = baseRegistry(ctx.toolRegistry), toolRegistry = gate.authorized ? authorizedRegistry(base) : base, { parse } = await import("./parser-7GARNT5L.mjs"), { executeNode, MAX_SHELL_DEPTH } = await import("./pipeline-executor-DRYEEFDR.mjs"), depth = (ctx.depth ?? 0) + 1;
|
|
2385
2386
|
if (depth > MAX_SHELL_DEPTH)
|
|
2386
2387
|
return err(`./${path}: script nesting too deep (${MAX_SHELL_DEPTH}) \u2014 possible infinite recursion`);
|
|
2387
2388
|
try {
|
|
@@ -4410,6 +4411,7 @@ CREATE INDEX IF NOT EXISTS idx_adf_logs_origin ON adf_logs(origin);
|
|
|
4410
4411
|
messaging: { ...base.messaging, ...options.messaging },
|
|
4411
4412
|
audit: { ...base.audit, ...options.audit },
|
|
4412
4413
|
pre_llm_hook: options.pre_llm_hook ?? base.pre_llm_hook,
|
|
4414
|
+
commands: options.commands ?? base.commands,
|
|
4413
4415
|
code_execution: { ...base.code_execution, ...options.code_execution },
|
|
4414
4416
|
compute: { ...base.compute },
|
|
4415
4417
|
logging: { ...base.logging, ...options.logging },
|
|
@@ -5231,6 +5233,17 @@ CREATE INDEX IF NOT EXISTS idx_adf_logs_origin ON adf_logs(origin);
|
|
|
5231
5233
|
deleteAllAttestations() {
|
|
5232
5234
|
this.db.prepare("DELETE FROM adf_attestations").run();
|
|
5233
5235
|
}
|
|
5236
|
+
/**
|
|
5237
|
+
* Re-sign rows in place: each row whose signature is `from` takes `to`
|
|
5238
|
+
* (same issuer, subject and role), keeping its id and place. A row changed
|
|
5239
|
+
* or removed meanwhile matches nothing and is left as it is. Returns the
|
|
5240
|
+
* rows updated.
|
|
5241
|
+
*/
|
|
5242
|
+
resignAttestations(updates) {
|
|
5243
|
+
let stmt = this.db.prepare("UPDATE adf_attestations SET signature = ?, raw_json = ? WHERE signature = ?"), changed = 0;
|
|
5244
|
+
for (let { from, to } of updates) changed += stmt.run(to.signature, JSON.stringify(to), from).changes;
|
|
5245
|
+
return changed;
|
|
5246
|
+
}
|
|
5234
5247
|
deleteAllIdentity() {
|
|
5235
5248
|
this.db.prepare("DELETE FROM adf_identity").run();
|
|
5236
5249
|
}
|
|
@@ -6390,12 +6403,12 @@ function buildLoopPreamble(loopName, agentHandle, grantedTools = []) {
|
|
|
6390
6403
|
|
|
6391
6404
|
${reachParagraph}
|
|
6392
6405
|
|
|
6393
|
-
A timer, a trigger,
|
|
6406
|
+
A timer, a trigger, a message from another loop, or the human writing to you directly woke you. Do that work, write tersely, and end your turn.`;
|
|
6394
6407
|
}
|
|
6395
6408
|
var LOOP_GOAL_SUMMARY_CHARS = 160;
|
|
6396
6409
|
function summarizeGoal(goal) {
|
|
6397
|
-
let flat = goal.replace(/\s+/g, " ").trim();
|
|
6398
|
-
return flat.length <= LOOP_GOAL_SUMMARY_CHARS ? flat : `${flat.slice(0, LOOP_GOAL_SUMMARY_CHARS - 1).trimEnd()}\u2026
|
|
6410
|
+
let flat = (goal ?? "").replace(/\s+/g, " ").trim();
|
|
6411
|
+
return flat ? flat.length <= LOOP_GOAL_SUMMARY_CHARS ? flat : `${flat.slice(0, LOOP_GOAL_SUMMARY_CHARS - 1).trimEnd()}\u2026` : "(no goal)";
|
|
6399
6412
|
}
|
|
6400
6413
|
var LOOP_ARCHETYPES = `Use an inner loop when a piece of thinking should run on its own stream: tending memory on a timer, a sub-task that needs your full context, reviewing a draft before you act, thinking while nothing external is happening. Name each one for what it does for you. Guide: ${DOCS_GUIDES_URL}/inner-loops.md`;
|
|
6401
6414
|
function buildMainLoopsSection(loops, options) {
|
|
@@ -6501,12 +6514,12 @@ function deriveLoopConfig(parent, loop) {
|
|
|
6501
6514
|
throw new Error("deriveLoopConfig: 'main' is the host loop \u2014 use the raw agent config");
|
|
6502
6515
|
let derived = cloneJson(parent);
|
|
6503
6516
|
derived.tools = deriveTools(parent, loop);
|
|
6504
|
-
let grantedNames = derived.tools.filter((t) => t.enabled).map((t) => t.name);
|
|
6505
|
-
return derived.instructions =
|
|
6517
|
+
let grantedNames = derived.tools.filter((t) => t.enabled).map((t) => t.name), preamble = buildLoopPreamble(loop.name, parent.handle || parent.name, grantedNames);
|
|
6518
|
+
return derived.instructions = hasLoopGoal(loop) ? `${preamble}
|
|
6506
6519
|
|
|
6507
6520
|
Your goal:
|
|
6508
6521
|
|
|
6509
|
-
${loop.goal}
|
|
6522
|
+
${loop.goal}` : preamble, derived.model = cloneJson(loop.model ?? parent.model), derived.autonomous = loop.autonomous === !0, loop.compact_threshold != null && (derived.context = { ...derived.context, compact_threshold: loop.compact_threshold }), derived.triggers = deriveTriggers(parent, loop.name), derived.code_execution = {
|
|
6510
6523
|
...deriveLoopCodeExecutionFlags(parent),
|
|
6511
6524
|
// No inherited packages. A pure-JS package is loaded in the sandbox worker
|
|
6512
6525
|
// through a worker-scope `createRequire` with an UNRESTRICTED `require` —
|
|
@@ -8945,7 +8958,7 @@ var CATEGORY_ORDER = [
|
|
|
8945
8958
|
resolvedTools: [],
|
|
8946
8959
|
async execute(ctx) {
|
|
8947
8960
|
if (ctx.args.length > 0) {
|
|
8948
|
-
let { getCommand: getCommand2 } = await import("./commands-
|
|
8961
|
+
let { getCommand: getCommand2 } = await import("./commands-KOMPXJZS.mjs"), handler = getCommand2(ctx.args[0]);
|
|
8949
8962
|
return handler ? ok(handler.helpText) : ok(`Unknown command: ${ctx.args[0]}`);
|
|
8950
8963
|
}
|
|
8951
8964
|
let commands = getAllCommands(), grouped = /* @__PURE__ */ new Map();
|
|
@@ -8,14 +8,14 @@ import {
|
|
|
8
8
|
leaseDir,
|
|
9
9
|
listRuntimeHosts,
|
|
10
10
|
listStudioClients
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-D7A77SNL.mjs";
|
|
12
12
|
import {
|
|
13
13
|
DEFAULT_DAEMON_PORT,
|
|
14
14
|
DEFAULT_DAEMON_URL,
|
|
15
15
|
isLocalDaemonUrl,
|
|
16
16
|
localDaemonToken,
|
|
17
17
|
localProofHeaders
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-AEAJDCVK.mjs";
|
|
19
19
|
import {
|
|
20
20
|
defaultUserDataPath
|
|
21
21
|
} from "./chunk-PAK5JCO2.mjs";
|