ur-agent 1.30.2 → 1.30.4
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 +17 -0
- package/README.md +49 -43
- package/dist/cli.js +237 -104
- package/docs/AGENT_FEATURES.md +1 -1
- package/docs/CONFIGURATION.md +13 -14
- package/docs/USAGE.md +23 -20
- package/docs/providers.md +60 -51
- package/documentation/app.js +4 -4
- package/documentation/index.html +5 -5
- package/extensions/vscode-ur-inline-diffs/package.json +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -51209,12 +51209,15 @@ __export(exports_providerRegistry, {
|
|
|
51209
51209
|
listModelsForProviderWithSource: () => listModelsForProviderWithSource,
|
|
51210
51210
|
listModelsForProvider: () => listModelsForProvider,
|
|
51211
51211
|
launchProviderAuth: () => launchProviderAuth,
|
|
51212
|
+
isProviderRuntimeSelectable: () => isProviderRuntimeSelectable,
|
|
51212
51213
|
isProviderId: () => isProviderId,
|
|
51213
51214
|
isModelSupportedByProvider: () => isModelSupportedByProvider,
|
|
51214
51215
|
getValidModelIdsForProvider: () => getValidModelIdsForProvider,
|
|
51215
51216
|
getRuntimeProviderId: () => getRuntimeProviderId,
|
|
51216
51217
|
getProviderStatus: () => getProviderStatus,
|
|
51218
|
+
getProviderRuntimeKind: () => getProviderRuntimeKind,
|
|
51217
51219
|
getProviderRuntimeInfo: () => getProviderRuntimeInfo,
|
|
51220
|
+
getProviderRuntimeBlockReason: () => getProviderRuntimeBlockReason,
|
|
51218
51221
|
getProviderRuntimeBackend: () => getProviderRuntimeBackend,
|
|
51219
51222
|
getProviderFamily: () => getProviderFamily,
|
|
51220
51223
|
getProviderDefinition: () => getProviderDefinition,
|
|
@@ -51227,6 +51230,7 @@ __export(exports_providerRegistry, {
|
|
|
51227
51230
|
formatProviderList: () => formatProviderList,
|
|
51228
51231
|
formatProviderDoctor: () => formatProviderDoctor,
|
|
51229
51232
|
formatInvalidProviderModelMessage: () => formatInvalidProviderModelMessage,
|
|
51233
|
+
externalAppProviderBridgeEnabled: () => externalAppProviderBridgeEnabled,
|
|
51230
51234
|
doctorProvider: () => doctorProvider,
|
|
51231
51235
|
doctorActiveProvider: () => doctorActiveProvider,
|
|
51232
51236
|
credentialTypeLabel: () => credentialTypeLabel,
|
|
@@ -51360,6 +51364,30 @@ function credentialTypeLabel(type) {
|
|
|
51360
51364
|
return "OpenAI-compatible endpoint";
|
|
51361
51365
|
}
|
|
51362
51366
|
}
|
|
51367
|
+
function externalAppProviderBridgeEnabled(env4 = process.env) {
|
|
51368
|
+
return env4.UR_ENABLE_EXTERNAL_APP_PROVIDERS === "1";
|
|
51369
|
+
}
|
|
51370
|
+
function getProviderRuntimeKind(providerId) {
|
|
51371
|
+
const provider = resolveProviderId(providerId);
|
|
51372
|
+
return provider ? getProviderDefinition(provider).runtimeKind : "unknown";
|
|
51373
|
+
}
|
|
51374
|
+
function getProviderRuntimeBlockReason(providerId, env4 = process.env) {
|
|
51375
|
+
const provider = resolveProviderId(providerId);
|
|
51376
|
+
if (!provider) {
|
|
51377
|
+
return `Unknown provider "${providerId}". Run: ur provider list`;
|
|
51378
|
+
}
|
|
51379
|
+
const definition = getProviderDefinition(provider);
|
|
51380
|
+
if (definition.runtimeKind !== "external-app") {
|
|
51381
|
+
return null;
|
|
51382
|
+
}
|
|
51383
|
+
if (externalAppProviderBridgeEnabled(env4)) {
|
|
51384
|
+
return null;
|
|
51385
|
+
}
|
|
51386
|
+
return `Provider "${provider}" uses an external app bridge (${definition.displayName}), not a UR-native model endpoint. UR's independent runtime does not require Codex, Claude Code, Gemini CLI, or Antigravity to be installed. Choose an API/local/server provider such as openai-api, anthropic-api, gemini-api, openrouter, ollama, lmstudio, llama.cpp, or vllm. To intentionally delegate turns to the external app bridge, set UR_ENABLE_EXTERNAL_APP_PROVIDERS=1.`;
|
|
51387
|
+
}
|
|
51388
|
+
function isProviderRuntimeSelectable(providerId, env4 = process.env) {
|
|
51389
|
+
return getProviderRuntimeBlockReason(providerId, env4) === null;
|
|
51390
|
+
}
|
|
51363
51391
|
function listProviders() {
|
|
51364
51392
|
return PROVIDER_IDS.map((id) => PROVIDERS[id]);
|
|
51365
51393
|
}
|
|
@@ -51409,6 +51437,13 @@ function setSafeProviderConfig(key, value) {
|
|
|
51409
51437
|
message: `Unknown provider "${trimmed}". Run: ur provider list`
|
|
51410
51438
|
};
|
|
51411
51439
|
}
|
|
51440
|
+
const runtimeBlock = getProviderRuntimeBlockReason(provider);
|
|
51441
|
+
if (runtimeBlock) {
|
|
51442
|
+
return {
|
|
51443
|
+
ok: false,
|
|
51444
|
+
message: runtimeBlock
|
|
51445
|
+
};
|
|
51446
|
+
}
|
|
51412
51447
|
const currentSettings = getInitialSettings();
|
|
51413
51448
|
const currentModel = getActiveProviderSettings(currentSettings).model;
|
|
51414
51449
|
const nextProviderSettings = { active: provider };
|
|
@@ -51433,12 +51468,28 @@ function setSafeProviderConfig(key, value) {
|
|
|
51433
51468
|
message: `Unknown fallback provider "${trimmed}". Run: ur provider list`
|
|
51434
51469
|
};
|
|
51435
51470
|
}
|
|
51471
|
+
if (fallback !== "disabled") {
|
|
51472
|
+
const runtimeBlock = getProviderRuntimeBlockReason(fallback);
|
|
51473
|
+
if (runtimeBlock) {
|
|
51474
|
+
return {
|
|
51475
|
+
ok: false,
|
|
51476
|
+
message: runtimeBlock
|
|
51477
|
+
};
|
|
51478
|
+
}
|
|
51479
|
+
}
|
|
51436
51480
|
settings = { provider: { fallback } };
|
|
51437
51481
|
} else if (key === "provider.command_path") {
|
|
51438
51482
|
settings = { provider: { commandPath: trimmed } };
|
|
51439
51483
|
} else if (key === "model") {
|
|
51440
51484
|
const currentSettings = getInitialSettings();
|
|
51441
51485
|
const currentProvider = getActiveProviderSettings(currentSettings).active ?? "ollama";
|
|
51486
|
+
const runtimeBlock = getProviderRuntimeBlockReason(currentProvider);
|
|
51487
|
+
if (runtimeBlock) {
|
|
51488
|
+
return {
|
|
51489
|
+
ok: false,
|
|
51490
|
+
message: runtimeBlock
|
|
51491
|
+
};
|
|
51492
|
+
}
|
|
51442
51493
|
const validation = validateProviderModelPair(currentProvider, trimmed);
|
|
51443
51494
|
if (validation.valid === false) {
|
|
51444
51495
|
return {
|
|
@@ -51917,6 +51968,7 @@ function formatProviderList(json2 = false) {
|
|
|
51917
51968
|
accessTypeLabel: getProviderAccessTypeLabel(provider),
|
|
51918
51969
|
credentialType: provider.credentialType,
|
|
51919
51970
|
modelDiscoveryType: provider.modelDiscoveryType,
|
|
51971
|
+
runtimeKind: provider.runtimeKind,
|
|
51920
51972
|
runtimeBackend: getProviderRuntimeBackend(provider.id),
|
|
51921
51973
|
authMode: provider.authMode,
|
|
51922
51974
|
accessPath: provider.accessPathLabel,
|
|
@@ -51926,9 +51978,9 @@ function formatProviderList(json2 = false) {
|
|
|
51926
51978
|
return JSON.stringify(providers, null, 2);
|
|
51927
51979
|
}
|
|
51928
51980
|
return [
|
|
51929
|
-
"Provider | ID | Aliases | Access type | Credential | Model discovery | Runtime backend | Access path",
|
|
51930
|
-
"--- | --- | --- | --- | --- | --- | --- | ---",
|
|
51931
|
-
...providers.map((provider) => `${provider.name} | ${provider.id} | ${provider.aliases.slice(0, 3).join(", ") || "-"} | ${provider.accessTypeLabel} | ${provider.credentialType} | ${provider.modelDiscoveryType} | ${provider.runtimeBackend} | ${provider.accessPath}`)
|
|
51981
|
+
"Provider | ID | Aliases | Access type | Credential | Model discovery | Runtime kind | Runtime backend | Access path",
|
|
51982
|
+
"--- | --- | --- | --- | --- | --- | --- | --- | ---",
|
|
51983
|
+
...providers.map((provider) => `${provider.name} | ${provider.id} | ${provider.aliases.slice(0, 3).join(", ") || "-"} | ${provider.accessTypeLabel} | ${provider.credentialType} | ${provider.modelDiscoveryType} | ${provider.runtimeKind} | ${provider.runtimeBackend} | ${provider.accessPath}`)
|
|
51932
51984
|
].join(`
|
|
51933
51985
|
`);
|
|
51934
51986
|
}
|
|
@@ -51936,14 +51988,20 @@ function formatProviderDoctor(result, json2 = false) {
|
|
|
51936
51988
|
if (json2) {
|
|
51937
51989
|
return JSON.stringify(result, null, 2);
|
|
51938
51990
|
}
|
|
51991
|
+
const runtimeBlock = getProviderRuntimeBlockReason(result.provider);
|
|
51939
51992
|
const lines = [
|
|
51940
51993
|
`Provider: ${result.displayName} (${result.provider})`,
|
|
51941
51994
|
`Access: ${getProviderAccessTypeLabel(getProviderDefinition(result.provider))}`,
|
|
51942
51995
|
`Credential: ${getProviderDefinition(result.provider).credentialType}`,
|
|
51996
|
+
`Runtime kind: ${getProviderDefinition(result.provider).runtimeKind}`,
|
|
51943
51997
|
`Runtime backend: ${getProviderRuntimeBackend(result.provider)}`,
|
|
51998
|
+
`Runtime available: ${runtimeBlock ? "no" : "yes"}`,
|
|
51944
51999
|
`Auth: ${authModeLabel(result.authMode)}`,
|
|
51945
52000
|
`Status: ${result.ok ? "ready" : "not ready"}`
|
|
51946
52001
|
];
|
|
52002
|
+
if (runtimeBlock) {
|
|
52003
|
+
lines.push(`Runtime note: ${runtimeBlock}`);
|
|
52004
|
+
}
|
|
51947
52005
|
for (const check3 of result.checks) {
|
|
51948
52006
|
lines.push(`- ${check3.status.toUpperCase()} ${check3.name}: ${check3.message}`);
|
|
51949
52007
|
}
|
|
@@ -51971,10 +52029,15 @@ Suggested fix: ${result.suggestedFix}` : "";
|
|
|
51971
52029
|
const settings = getActiveProviderSettings(getInitialSettings());
|
|
51972
52030
|
const model = settings.model ? `
|
|
51973
52031
|
Active model: ${settings.model}` : "";
|
|
52032
|
+
const runtimeBlock = getProviderRuntimeBlockReason(result.provider);
|
|
52033
|
+
const runtime = `
|
|
52034
|
+
Runtime available: ${runtimeBlock ? "no" : "yes"}${runtimeBlock ? `
|
|
52035
|
+
Runtime note: ${runtimeBlock}` : ""}`;
|
|
51974
52036
|
return `Selected provider: ${result.displayName} (${result.provider})
|
|
51975
52037
|
Access type: ${getProviderAccessTypeLabel(definition)}
|
|
51976
52038
|
Credential: ${definition.credentialType}
|
|
51977
|
-
Runtime
|
|
52039
|
+
Runtime kind: ${definition.runtimeKind}
|
|
52040
|
+
Runtime backend: ${getProviderRuntimeBackend(result.provider)}${model}${runtime}
|
|
51978
52041
|
Auth mode: ${authModeLabel(result.authMode)}
|
|
51979
52042
|
Ready: ${result.ok ? "yes" : "no"}${failure}${fix}`;
|
|
51980
52043
|
}
|
|
@@ -52233,6 +52296,13 @@ function setProviderModel(providerId, modelId, options = {}) {
|
|
|
52233
52296
|
message: `Unknown provider "${providerId}". Run: ur provider list`
|
|
52234
52297
|
};
|
|
52235
52298
|
}
|
|
52299
|
+
const runtimeBlock = getProviderRuntimeBlockReason(provider);
|
|
52300
|
+
if (runtimeBlock) {
|
|
52301
|
+
return {
|
|
52302
|
+
ok: false,
|
|
52303
|
+
message: runtimeBlock
|
|
52304
|
+
};
|
|
52305
|
+
}
|
|
52236
52306
|
const validation = validateProviderModelPair(provider, modelId, {
|
|
52237
52307
|
availableModels: options.availableModels
|
|
52238
52308
|
});
|
|
@@ -52270,19 +52340,19 @@ var init_providerRegistry = __esm(() => {
|
|
|
52270
52340
|
init_settings2();
|
|
52271
52341
|
init_which();
|
|
52272
52342
|
PROVIDER_IDS = [
|
|
52273
|
-
"
|
|
52274
|
-
"
|
|
52275
|
-
"
|
|
52276
|
-
"
|
|
52343
|
+
"ollama",
|
|
52344
|
+
"lmstudio",
|
|
52345
|
+
"llama.cpp",
|
|
52346
|
+
"vllm",
|
|
52347
|
+
"openai-compatible",
|
|
52277
52348
|
"openai-api",
|
|
52278
52349
|
"anthropic-api",
|
|
52279
52350
|
"gemini-api",
|
|
52280
52351
|
"openrouter",
|
|
52281
|
-
"
|
|
52282
|
-
"
|
|
52283
|
-
"
|
|
52284
|
-
"
|
|
52285
|
-
"vllm"
|
|
52352
|
+
"codex-cli",
|
|
52353
|
+
"claude-code-cli",
|
|
52354
|
+
"gemini-cli",
|
|
52355
|
+
"antigravity-cli"
|
|
52286
52356
|
];
|
|
52287
52357
|
LOCALHOST_RE = /^(https?:\/\/)?(localhost|127\.0\.0\.1|\[::1\]|::1)(:\d+)?(\/|$)/i;
|
|
52288
52358
|
PROVIDERS = {
|
|
@@ -52296,6 +52366,7 @@ var init_providerRegistry = __esm(() => {
|
|
|
52296
52366
|
statusCheck: "cli-login",
|
|
52297
52367
|
listModels: "static",
|
|
52298
52368
|
validateModel: "static-list",
|
|
52369
|
+
runtimeKind: "external-app",
|
|
52299
52370
|
authMode: "subscription",
|
|
52300
52371
|
legalPath: "official Codex CLI login",
|
|
52301
52372
|
accessPathLabel: "subscription login via official Codex CLI",
|
|
@@ -52315,6 +52386,7 @@ var init_providerRegistry = __esm(() => {
|
|
|
52315
52386
|
statusCheck: "cli-login",
|
|
52316
52387
|
listModels: "static",
|
|
52317
52388
|
validateModel: "static-list",
|
|
52389
|
+
runtimeKind: "external-app",
|
|
52318
52390
|
authMode: "subscription",
|
|
52319
52391
|
legalPath: "official Claude Code CLI login",
|
|
52320
52392
|
accessPathLabel: "subscription login via official Claude Code CLI",
|
|
@@ -52333,6 +52405,7 @@ var init_providerRegistry = __esm(() => {
|
|
|
52333
52405
|
statusCheck: "cli-login",
|
|
52334
52406
|
listModels: "static",
|
|
52335
52407
|
validateModel: "static-list",
|
|
52408
|
+
runtimeKind: "external-app",
|
|
52336
52409
|
authMode: "enterprise-login",
|
|
52337
52410
|
legalPath: "official Gemini Code Assist login",
|
|
52338
52411
|
accessPathLabel: "subscription login via official Gemini CLI",
|
|
@@ -52351,6 +52424,7 @@ var init_providerRegistry = __esm(() => {
|
|
|
52351
52424
|
statusCheck: "cli-login",
|
|
52352
52425
|
listModels: "static",
|
|
52353
52426
|
validateModel: "static-list",
|
|
52427
|
+
runtimeKind: "external-app",
|
|
52354
52428
|
authMode: "personal-login",
|
|
52355
52429
|
legalPath: "official Antigravity CLI login, where supported",
|
|
52356
52430
|
accessPathLabel: "subscription login via official Antigravity CLI",
|
|
@@ -52368,6 +52442,7 @@ var init_providerRegistry = __esm(() => {
|
|
|
52368
52442
|
statusCheck: "api-key",
|
|
52369
52443
|
listModels: "static",
|
|
52370
52444
|
validateModel: "static-list",
|
|
52445
|
+
runtimeKind: "ur-native",
|
|
52371
52446
|
authMode: "api",
|
|
52372
52447
|
legalPath: "OPENAI_API_KEY",
|
|
52373
52448
|
accessPathLabel: "API key from OPENAI_API_KEY",
|
|
@@ -52383,6 +52458,7 @@ var init_providerRegistry = __esm(() => {
|
|
|
52383
52458
|
statusCheck: "api-key",
|
|
52384
52459
|
listModels: "static",
|
|
52385
52460
|
validateModel: "static-list",
|
|
52461
|
+
runtimeKind: "ur-native",
|
|
52386
52462
|
authMode: "api",
|
|
52387
52463
|
legalPath: "ANTHROPIC_API_KEY",
|
|
52388
52464
|
accessPathLabel: "API key from ANTHROPIC_API_KEY",
|
|
@@ -52398,6 +52474,7 @@ var init_providerRegistry = __esm(() => {
|
|
|
52398
52474
|
statusCheck: "api-key",
|
|
52399
52475
|
listModels: "static",
|
|
52400
52476
|
validateModel: "static-list",
|
|
52477
|
+
runtimeKind: "ur-native",
|
|
52401
52478
|
authMode: "api",
|
|
52402
52479
|
legalPath: "GEMINI_API_KEY",
|
|
52403
52480
|
accessPathLabel: "API key from GEMINI_API_KEY",
|
|
@@ -52413,6 +52490,7 @@ var init_providerRegistry = __esm(() => {
|
|
|
52413
52490
|
statusCheck: "api-key",
|
|
52414
52491
|
listModels: "static",
|
|
52415
52492
|
validateModel: "static-list",
|
|
52493
|
+
runtimeKind: "ur-native",
|
|
52416
52494
|
authMode: "api",
|
|
52417
52495
|
legalPath: "OPENROUTER_API_KEY",
|
|
52418
52496
|
accessPathLabel: "API key from OPENROUTER_API_KEY",
|
|
@@ -52429,6 +52507,7 @@ var init_providerRegistry = __esm(() => {
|
|
|
52429
52507
|
statusCheck: "endpoint",
|
|
52430
52508
|
listModels: "openai-compatible-models",
|
|
52431
52509
|
validateModel: "discovered-list",
|
|
52510
|
+
runtimeKind: "ur-native",
|
|
52432
52511
|
authMode: "api",
|
|
52433
52512
|
legalPath: "user-selected OpenAI-compatible base URL with API key only when required by that endpoint",
|
|
52434
52513
|
accessPathLabel: "OpenAI-compatible endpoint",
|
|
@@ -52445,6 +52524,7 @@ var init_providerRegistry = __esm(() => {
|
|
|
52445
52524
|
statusCheck: "endpoint",
|
|
52446
52525
|
listModels: "ollama-tags",
|
|
52447
52526
|
validateModel: "discovered-list",
|
|
52527
|
+
runtimeKind: "ur-native",
|
|
52448
52528
|
authMode: "local",
|
|
52449
52529
|
legalPath: "localhost Ollama runtime",
|
|
52450
52530
|
accessPathLabel: "local Ollama runtime",
|
|
@@ -52462,6 +52542,7 @@ var init_providerRegistry = __esm(() => {
|
|
|
52462
52542
|
statusCheck: "endpoint",
|
|
52463
52543
|
listModels: "openai-compatible-models",
|
|
52464
52544
|
validateModel: "discovered-list",
|
|
52545
|
+
runtimeKind: "ur-native",
|
|
52465
52546
|
authMode: "local",
|
|
52466
52547
|
legalPath: "local OpenAI-compatible server",
|
|
52467
52548
|
accessPathLabel: "local OpenAI-compatible endpoint",
|
|
@@ -52479,6 +52560,7 @@ var init_providerRegistry = __esm(() => {
|
|
|
52479
52560
|
statusCheck: "endpoint",
|
|
52480
52561
|
listModels: "openai-compatible-models",
|
|
52481
52562
|
validateModel: "discovered-list",
|
|
52563
|
+
runtimeKind: "ur-native",
|
|
52482
52564
|
authMode: "local",
|
|
52483
52565
|
legalPath: "local OpenAI-compatible server",
|
|
52484
52566
|
accessPathLabel: "local OpenAI-compatible endpoint",
|
|
@@ -52496,6 +52578,7 @@ var init_providerRegistry = __esm(() => {
|
|
|
52496
52578
|
statusCheck: "endpoint",
|
|
52497
52579
|
listModels: "openai-compatible-models",
|
|
52498
52580
|
validateModel: "discovered-list",
|
|
52581
|
+
runtimeKind: "ur-native",
|
|
52499
52582
|
authMode: "local",
|
|
52500
52583
|
legalPath: "OpenAI-compatible server",
|
|
52501
52584
|
accessPathLabel: "OpenAI-compatible endpoint runtime",
|
|
@@ -56823,7 +56906,7 @@ function createURHQSubscriptionClient(providerId, options) {
|
|
|
56823
56906
|
}
|
|
56824
56907
|
const prompt = messagesToPrompt(params);
|
|
56825
56908
|
const result = await run(options.commandPath, spec.args(model, prompt), {
|
|
56826
|
-
|
|
56909
|
+
stdinMode: spec.stdinMode,
|
|
56827
56910
|
signal: requestOptions?.signal,
|
|
56828
56911
|
timeoutMs: options.timeoutMs ?? 120000
|
|
56829
56912
|
});
|
|
@@ -56882,7 +56965,9 @@ function createURHQSubscriptionClient(providerId, options) {
|
|
|
56882
56965
|
};
|
|
56883
56966
|
return { beta: { messages: messagesAPI } };
|
|
56884
56967
|
}
|
|
56885
|
-
function getSubscriptionCliStdinMode(input) {
|
|
56968
|
+
function getSubscriptionCliStdinMode(input, mode) {
|
|
56969
|
+
if (mode)
|
|
56970
|
+
return mode;
|
|
56886
56971
|
return input === undefined ? "ignore" : "pipe";
|
|
56887
56972
|
}
|
|
56888
56973
|
function cliModelName(model) {
|
|
@@ -57007,7 +57092,7 @@ function estimateTokens(text) {
|
|
|
57007
57092
|
}
|
|
57008
57093
|
var CLI_SPECS, defaultRunner = (command, args, options) => new Promise((resolve8, reject) => {
|
|
57009
57094
|
const child = spawn3(command, args, {
|
|
57010
|
-
stdio: [getSubscriptionCliStdinMode(options.input), "pipe", "pipe"],
|
|
57095
|
+
stdio: [getSubscriptionCliStdinMode(options.input, options.stdinMode), "pipe", "pipe"],
|
|
57011
57096
|
signal: options.signal
|
|
57012
57097
|
});
|
|
57013
57098
|
let stdout = "";
|
|
@@ -57029,7 +57114,7 @@ var CLI_SPECS, defaultRunner = (command, args, options) => new Promise((resolve8
|
|
|
57029
57114
|
clearTimeout(timer);
|
|
57030
57115
|
resolve8({ code: code ?? 1, stdout, stderr });
|
|
57031
57116
|
});
|
|
57032
|
-
if (options.input !== undefined) {
|
|
57117
|
+
if (options.input !== undefined && child.stdin) {
|
|
57033
57118
|
child.stdin?.write(options.input);
|
|
57034
57119
|
child.stdin?.end();
|
|
57035
57120
|
}
|
|
@@ -57037,7 +57122,7 @@ var CLI_SPECS, defaultRunner = (command, args, options) => new Promise((resolve8
|
|
|
57037
57122
|
var init_urhqSubscription = __esm(() => {
|
|
57038
57123
|
init_streamingAdapters();
|
|
57039
57124
|
CLI_SPECS = {
|
|
57040
|
-
"codex-cli": { args: (model, prompt) => ["exec", "--model", model, prompt],
|
|
57125
|
+
"codex-cli": { args: (model, prompt) => ["exec", "--model", model, prompt], stdinMode: "inherit" },
|
|
57041
57126
|
"claude-code-cli": {
|
|
57042
57127
|
args: (model, prompt) => ["-p", prompt, "--model", model, "--output-format", "json"]
|
|
57043
57128
|
},
|
|
@@ -57392,6 +57477,10 @@ function resolveActiveProviderModel(options = {}) {
|
|
|
57392
57477
|
if (!provider) {
|
|
57393
57478
|
throw new Error(`Provider "${providerId}" is selected, but no runtime provider is registered. Run: ur provider list`);
|
|
57394
57479
|
}
|
|
57480
|
+
const runtimeBlock = getProviderRuntimeBlockReason(providerId);
|
|
57481
|
+
if (runtimeBlock) {
|
|
57482
|
+
throw new Error(runtimeBlock);
|
|
57483
|
+
}
|
|
57395
57484
|
const configuredModel = providerSettings.model;
|
|
57396
57485
|
const defaultModel = getDefaultModelForProvider(providerId);
|
|
57397
57486
|
const model = options.model ?? configuredModel ?? defaultModel;
|
|
@@ -57440,6 +57529,10 @@ async function createProviderClient(providerId, options = {}) {
|
|
|
57440
57529
|
throw new Error(`Unknown provider: ${providerId}`);
|
|
57441
57530
|
}
|
|
57442
57531
|
const provider = getProviderDefinition(resolved);
|
|
57532
|
+
const runtimeBlock = getProviderRuntimeBlockReason(resolved);
|
|
57533
|
+
if (runtimeBlock) {
|
|
57534
|
+
throw new Error(runtimeBlock);
|
|
57535
|
+
}
|
|
57443
57536
|
let client;
|
|
57444
57537
|
switch (provider.accessType) {
|
|
57445
57538
|
case "local":
|
|
@@ -57498,6 +57591,10 @@ async function createOpenAICompatibleProviderClient(providerId, options = {}) {
|
|
|
57498
57591
|
}
|
|
57499
57592
|
async function createSubscriptionClient(providerId, options = {}) {
|
|
57500
57593
|
const provider = getProviderDefinition(providerId);
|
|
57594
|
+
const runtimeBlock = getProviderRuntimeBlockReason(providerId);
|
|
57595
|
+
if (runtimeBlock) {
|
|
57596
|
+
throw new Error(runtimeBlock);
|
|
57597
|
+
}
|
|
57501
57598
|
const settings = getInitialSettings();
|
|
57502
57599
|
const providerSettings = getActiveProviderSettings(settings);
|
|
57503
57600
|
const { which: which2 } = await Promise.resolve().then(() => (init_which(), exports_which));
|
|
@@ -69310,7 +69407,7 @@ var init_auth = __esm(() => {
|
|
|
69310
69407
|
|
|
69311
69408
|
// src/utils/userAgent.ts
|
|
69312
69409
|
function getURCodeUserAgent() {
|
|
69313
|
-
return `ur/${"1.30.
|
|
69410
|
+
return `ur/${"1.30.4"}`;
|
|
69314
69411
|
}
|
|
69315
69412
|
|
|
69316
69413
|
// src/utils/workloadContext.ts
|
|
@@ -69332,7 +69429,7 @@ function getUserAgent() {
|
|
|
69332
69429
|
const clientApp = process.env.UR_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}` : "";
|
|
69333
69430
|
const workload = getWorkload();
|
|
69334
69431
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
69335
|
-
return `ur-cli/${"1.30.
|
|
69432
|
+
return `ur-cli/${"1.30.4"} (${process.env.USER_TYPE}, ${process.env.UR_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
69336
69433
|
}
|
|
69337
69434
|
function getMCPUserAgent() {
|
|
69338
69435
|
const parts = [];
|
|
@@ -69346,7 +69443,7 @@ function getMCPUserAgent() {
|
|
|
69346
69443
|
parts.push(`client-app/${process.env.UR_AGENT_SDK_CLIENT_APP}`);
|
|
69347
69444
|
}
|
|
69348
69445
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
69349
|
-
return `ur/${"1.30.
|
|
69446
|
+
return `ur/${"1.30.4"}${suffix}`;
|
|
69350
69447
|
}
|
|
69351
69448
|
function getWebFetchUserAgent() {
|
|
69352
69449
|
return `UR-User (${getURCodeUserAgent()})`;
|
|
@@ -69484,7 +69581,7 @@ var init_user = __esm(() => {
|
|
|
69484
69581
|
deviceId,
|
|
69485
69582
|
sessionId: getSessionId(),
|
|
69486
69583
|
email: getEmail(),
|
|
69487
|
-
appVersion: "1.30.
|
|
69584
|
+
appVersion: "1.30.4",
|
|
69488
69585
|
platform: getHostPlatformForAnalytics(),
|
|
69489
69586
|
organizationUuid,
|
|
69490
69587
|
accountUuid,
|
|
@@ -76001,7 +76098,7 @@ var init_metadata = __esm(() => {
|
|
|
76001
76098
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
76002
76099
|
WHITESPACE_REGEX = /\s+/;
|
|
76003
76100
|
getVersionBase = memoize_default(() => {
|
|
76004
|
-
const match = "1.30.
|
|
76101
|
+
const match = "1.30.4".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
76005
76102
|
return match ? match[0] : undefined;
|
|
76006
76103
|
});
|
|
76007
76104
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -76041,7 +76138,7 @@ var init_metadata = __esm(() => {
|
|
|
76041
76138
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
76042
76139
|
isURCodeAction: isEnvTruthy(process.env.UR_CODE_ACTION),
|
|
76043
76140
|
isURAiAuth: isURAISubscriber2(),
|
|
76044
|
-
version: "1.30.
|
|
76141
|
+
version: "1.30.4",
|
|
76045
76142
|
versionBase: getVersionBase(),
|
|
76046
76143
|
buildTime: "",
|
|
76047
76144
|
deploymentEnvironment: env2.detectDeploymentEnvironment(),
|
|
@@ -76711,7 +76808,7 @@ function initialize1PEventLogging() {
|
|
|
76711
76808
|
const platform2 = getPlatform();
|
|
76712
76809
|
const attributes = {
|
|
76713
76810
|
[import_semantic_conventions4.ATTR_SERVICE_NAME]: "ur",
|
|
76714
|
-
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.30.
|
|
76811
|
+
[import_semantic_conventions4.ATTR_SERVICE_VERSION]: "1.30.4"
|
|
76715
76812
|
};
|
|
76716
76813
|
if (platform2 === "wsl") {
|
|
76717
76814
|
const wslVersion = getWslVersion();
|
|
@@ -76738,7 +76835,7 @@ function initialize1PEventLogging() {
|
|
|
76738
76835
|
})
|
|
76739
76836
|
]
|
|
76740
76837
|
});
|
|
76741
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.30.
|
|
76838
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.urhq.ur.events", "1.30.4");
|
|
76742
76839
|
}
|
|
76743
76840
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
76744
76841
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -82035,7 +82132,7 @@ function formatAgentTrendReport(report = buildAgentTrendReport()) {
|
|
|
82035
82132
|
function formatA2AAgentCard(options = {}, pretty = true) {
|
|
82036
82133
|
return JSON.stringify(buildA2AAgentCard(options), null, pretty ? 2 : 0);
|
|
82037
82134
|
}
|
|
82038
|
-
var urVersion = "1.30.
|
|
82135
|
+
var urVersion = "1.30.4", coverage, priorityRoadmap;
|
|
82039
82136
|
var init_trends = __esm(() => {
|
|
82040
82137
|
coverage = [
|
|
82041
82138
|
{
|
|
@@ -84028,7 +84125,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
84028
84125
|
if (!isAttributionHeaderEnabled()) {
|
|
84029
84126
|
return "";
|
|
84030
84127
|
}
|
|
84031
|
-
const version2 = `${"1.30.
|
|
84128
|
+
const version2 = `${"1.30.4"}.${fingerprint}`;
|
|
84032
84129
|
const entrypoint = process.env.UR_CODE_ENTRYPOINT ?? "unknown";
|
|
84033
84130
|
const cch = "";
|
|
84034
84131
|
const workload = getWorkload();
|
|
@@ -191701,7 +191798,7 @@ function getTelemetryAttributes() {
|
|
|
191701
191798
|
attributes["session.id"] = sessionId;
|
|
191702
191799
|
}
|
|
191703
191800
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
191704
|
-
attributes["app.version"] = "1.30.
|
|
191801
|
+
attributes["app.version"] = "1.30.4";
|
|
191705
191802
|
}
|
|
191706
191803
|
const oauthAccount = getOauthAccountInfo();
|
|
191707
191804
|
if (oauthAccount) {
|
|
@@ -227106,7 +227203,7 @@ function getInstallationEnv() {
|
|
|
227106
227203
|
return;
|
|
227107
227204
|
}
|
|
227108
227205
|
function getURCodeVersion() {
|
|
227109
|
-
return "1.30.
|
|
227206
|
+
return "1.30.4";
|
|
227110
227207
|
}
|
|
227111
227208
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
227112
227209
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -229945,7 +230042,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
229945
230042
|
const client2 = new Client({
|
|
229946
230043
|
name: "ur",
|
|
229947
230044
|
title: "UR",
|
|
229948
|
-
version: "1.30.
|
|
230045
|
+
version: "1.30.4",
|
|
229949
230046
|
description: "UR-AGENT autonomous engineering workflow engine",
|
|
229950
230047
|
websiteUrl: PRODUCT_URL
|
|
229951
230048
|
}, {
|
|
@@ -230299,7 +230396,7 @@ var init_client5 = __esm(() => {
|
|
|
230299
230396
|
const client2 = new Client({
|
|
230300
230397
|
name: "ur",
|
|
230301
230398
|
title: "UR",
|
|
230302
|
-
version: "1.30.
|
|
230399
|
+
version: "1.30.4",
|
|
230303
230400
|
description: "UR-AGENT autonomous engineering workflow engine",
|
|
230304
230401
|
websiteUrl: PRODUCT_URL
|
|
230305
230402
|
}, {
|
|
@@ -240115,9 +240212,9 @@ async function assertMinVersion() {
|
|
|
240115
240212
|
if (false) {}
|
|
240116
240213
|
try {
|
|
240117
240214
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
240118
|
-
if (versionConfig.minVersion && lt("1.30.
|
|
240215
|
+
if (versionConfig.minVersion && lt("1.30.4", versionConfig.minVersion)) {
|
|
240119
240216
|
console.error(`
|
|
240120
|
-
It looks like your version of UR (${"1.30.
|
|
240217
|
+
It looks like your version of UR (${"1.30.4"}) needs an update.
|
|
240121
240218
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
240122
240219
|
|
|
240123
240220
|
To update, please run:
|
|
@@ -240333,7 +240430,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
240333
240430
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
240334
240431
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
240335
240432
|
pid: process.pid,
|
|
240336
|
-
currentVersion: "1.30.
|
|
240433
|
+
currentVersion: "1.30.4"
|
|
240337
240434
|
});
|
|
240338
240435
|
return "in_progress";
|
|
240339
240436
|
}
|
|
@@ -240342,7 +240439,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
240342
240439
|
if (!env2.isRunningWithBun() && env2.isNpmFromWindowsPath()) {
|
|
240343
240440
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
240344
240441
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
240345
|
-
currentVersion: "1.30.
|
|
240442
|
+
currentVersion: "1.30.4"
|
|
240346
240443
|
});
|
|
240347
240444
|
console.error(`
|
|
240348
240445
|
Error: Windows NPM detected in WSL
|
|
@@ -240877,7 +240974,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
240877
240974
|
}
|
|
240878
240975
|
async function getDoctorDiagnostic() {
|
|
240879
240976
|
const installationType = await getCurrentInstallationType();
|
|
240880
|
-
const version2 = typeof MACRO !== "undefined" ? "1.30.
|
|
240977
|
+
const version2 = typeof MACRO !== "undefined" ? "1.30.4" : "unknown";
|
|
240881
240978
|
const installationPath = await getInstallationPath();
|
|
240882
240979
|
const invokedBinary = getInvokedBinary();
|
|
240883
240980
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -241812,8 +241909,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
241812
241909
|
const maxVersion = await getMaxVersion();
|
|
241813
241910
|
if (maxVersion && gt(version2, maxVersion)) {
|
|
241814
241911
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
|
|
241815
|
-
if (gte("1.30.
|
|
241816
|
-
logForDebugging(`Native installer: current version ${"1.30.
|
|
241912
|
+
if (gte("1.30.4", maxVersion)) {
|
|
241913
|
+
logForDebugging(`Native installer: current version ${"1.30.4"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
241817
241914
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
241818
241915
|
latency_ms: Date.now() - startTime,
|
|
241819
241916
|
max_version: maxVersion,
|
|
@@ -241824,7 +241921,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
241824
241921
|
version2 = maxVersion;
|
|
241825
241922
|
}
|
|
241826
241923
|
}
|
|
241827
|
-
if (!forceReinstall && version2 === "1.30.
|
|
241924
|
+
if (!forceReinstall && version2 === "1.30.4" && await versionIsAvailable(version2) && await isPossibleURBinary(executablePath)) {
|
|
241828
241925
|
logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
|
|
241829
241926
|
logEvent("tengu_native_update_complete", {
|
|
241830
241927
|
latency_ms: Date.now() - startTime,
|
|
@@ -338751,7 +338848,7 @@ function Feedback({
|
|
|
338751
338848
|
platform: env2.platform,
|
|
338752
338849
|
gitRepo: envInfo.isGit,
|
|
338753
338850
|
terminal: env2.terminal,
|
|
338754
|
-
version: "1.30.
|
|
338851
|
+
version: "1.30.4",
|
|
338755
338852
|
transcript: normalizeMessagesForAPI(messages),
|
|
338756
338853
|
errors: sanitizedErrors,
|
|
338757
338854
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -338943,7 +339040,7 @@ function Feedback({
|
|
|
338943
339040
|
", ",
|
|
338944
339041
|
env2.terminal,
|
|
338945
339042
|
", v",
|
|
338946
|
-
"1.30.
|
|
339043
|
+
"1.30.4"
|
|
338947
339044
|
]
|
|
338948
339045
|
}, undefined, true, undefined, this)
|
|
338949
339046
|
]
|
|
@@ -339049,7 +339146,7 @@ ${sanitizedDescription}
|
|
|
339049
339146
|
` + `**Environment Info**
|
|
339050
339147
|
` + `- Platform: ${env2.platform}
|
|
339051
339148
|
` + `- Terminal: ${env2.terminal}
|
|
339052
|
-
` + `- Version: ${"1.30.
|
|
339149
|
+
` + `- Version: ${"1.30.4"}
|
|
339053
339150
|
` + `- Feedback ID: ${feedbackId}
|
|
339054
339151
|
` + `
|
|
339055
339152
|
**Errors**
|
|
@@ -342160,7 +342257,7 @@ function buildPrimarySection() {
|
|
|
342160
342257
|
}, undefined, false, undefined, this);
|
|
342161
342258
|
return [{
|
|
342162
342259
|
label: "Version",
|
|
342163
|
-
value: "1.30.
|
|
342260
|
+
value: "1.30.4"
|
|
342164
342261
|
}, {
|
|
342165
342262
|
label: "Session name",
|
|
342166
342263
|
value: nameValue
|
|
@@ -345460,7 +345557,7 @@ function Config({
|
|
|
345460
345557
|
}
|
|
345461
345558
|
}, undefined, false, undefined, this)
|
|
345462
345559
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime177.jsxDEV(ChannelDowngradeDialog, {
|
|
345463
|
-
currentVersion: "1.30.
|
|
345560
|
+
currentVersion: "1.30.4",
|
|
345464
345561
|
onChoice: (choice) => {
|
|
345465
345562
|
setShowSubmenu(null);
|
|
345466
345563
|
setTabsHidden(false);
|
|
@@ -345472,7 +345569,7 @@ function Config({
|
|
|
345472
345569
|
autoUpdatesChannel: "stable"
|
|
345473
345570
|
};
|
|
345474
345571
|
if (choice === "stay") {
|
|
345475
|
-
newSettings.minimumVersion = "1.30.
|
|
345572
|
+
newSettings.minimumVersion = "1.30.4";
|
|
345476
345573
|
}
|
|
345477
345574
|
updateSettingsForSource("userSettings", newSettings);
|
|
345478
345575
|
setSettingsData((prev_27) => ({
|
|
@@ -353542,7 +353639,7 @@ function HelpV2(t0) {
|
|
|
353542
353639
|
let t6;
|
|
353543
353640
|
if ($3[31] !== tabs) {
|
|
353544
353641
|
t6 = /* @__PURE__ */ jsx_dev_runtime204.jsxDEV(Tabs, {
|
|
353545
|
-
title: `UR v${"1.30.
|
|
353642
|
+
title: `UR v${"1.30.4"}`,
|
|
353546
353643
|
color: "professionalBlue",
|
|
353547
353644
|
defaultTab: "general",
|
|
353548
353645
|
children: tabs
|
|
@@ -354288,7 +354385,7 @@ function buildToolUseContext(tools, readFileStateCache) {
|
|
|
354288
354385
|
async function handleInitialize(options2) {
|
|
354289
354386
|
return {
|
|
354290
354387
|
name: "ur-agent",
|
|
354291
|
-
version: "1.30.
|
|
354388
|
+
version: "1.30.4",
|
|
354292
354389
|
protocolVersion: "0.1.0",
|
|
354293
354390
|
workspaceRoot: options2.cwd,
|
|
354294
354391
|
capabilities: {
|
|
@@ -374412,7 +374509,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
374412
374509
|
return [];
|
|
374413
374510
|
}
|
|
374414
374511
|
}
|
|
374415
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.30.
|
|
374512
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.30.4") {
|
|
374416
374513
|
if (process.env.USER_TYPE === "ant") {
|
|
374417
374514
|
const changelog = "";
|
|
374418
374515
|
if (changelog) {
|
|
@@ -374439,7 +374536,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.30.2")
|
|
|
374439
374536
|
releaseNotes
|
|
374440
374537
|
};
|
|
374441
374538
|
}
|
|
374442
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.30.
|
|
374539
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.30.4") {
|
|
374443
374540
|
if (process.env.USER_TYPE === "ant") {
|
|
374444
374541
|
const changelog = "";
|
|
374445
374542
|
if (changelog) {
|
|
@@ -375609,7 +375706,7 @@ function getRecentActivitySync() {
|
|
|
375609
375706
|
return cachedActivity;
|
|
375610
375707
|
}
|
|
375611
375708
|
function getLogoDisplayData() {
|
|
375612
|
-
const version2 = process.env.DEMO_VERSION ?? "1.30.
|
|
375709
|
+
const version2 = process.env.DEMO_VERSION ?? "1.30.4";
|
|
375613
375710
|
const serverUrl = getDirectConnectServerUrl();
|
|
375614
375711
|
const displayPath = process.env.DEMO_VERSION ? "/code/ur" : getDisplayPath(getCwd2());
|
|
375615
375712
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -376398,7 +376495,7 @@ function LogoV2() {
|
|
|
376398
376495
|
if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
376399
376496
|
t2 = () => {
|
|
376400
376497
|
const currentConfig = getGlobalConfig();
|
|
376401
|
-
if (currentConfig.lastReleaseNotesSeen === "1.30.
|
|
376498
|
+
if (currentConfig.lastReleaseNotesSeen === "1.30.4") {
|
|
376402
376499
|
return;
|
|
376403
376500
|
}
|
|
376404
376501
|
saveGlobalConfig(_temp326);
|
|
@@ -377083,12 +377180,12 @@ function LogoV2() {
|
|
|
377083
377180
|
return t41;
|
|
377084
377181
|
}
|
|
377085
377182
|
function _temp326(current) {
|
|
377086
|
-
if (current.lastReleaseNotesSeen === "1.30.
|
|
377183
|
+
if (current.lastReleaseNotesSeen === "1.30.4") {
|
|
377087
377184
|
return current;
|
|
377088
377185
|
}
|
|
377089
377186
|
return {
|
|
377090
377187
|
...current,
|
|
377091
|
-
lastReleaseNotesSeen: "1.30.
|
|
377188
|
+
lastReleaseNotesSeen: "1.30.4"
|
|
377092
377189
|
};
|
|
377093
377190
|
}
|
|
377094
377191
|
function _temp243(s_0) {
|
|
@@ -407269,7 +407366,7 @@ var init_code_index2 = __esm(() => {
|
|
|
407269
407366
|
|
|
407270
407367
|
// node_modules/typescript/lib/typescript.js
|
|
407271
407368
|
var require_typescript2 = __commonJS((exports, module) => {
|
|
407272
|
-
var __dirname = "/
|
|
407369
|
+
var __dirname = "/Users/maith/Desktop/ur3-dev/UR-1.19.0/node_modules/typescript/lib", __filename = "/Users/maith/Desktop/ur3-dev/UR-1.19.0/node_modules/typescript/lib/typescript.js";
|
|
407273
407370
|
/*! *****************************************************************************
|
|
407274
407371
|
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
407275
407372
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
@@ -592803,7 +592900,7 @@ async function captureMemoryDiagnostics(trigger2, dumpNumber = 0) {
|
|
|
592803
592900
|
smapsRollup,
|
|
592804
592901
|
platform: process.platform,
|
|
592805
592902
|
nodeVersion: process.version,
|
|
592806
|
-
ccVersion: "1.30.
|
|
592903
|
+
ccVersion: "1.30.4"
|
|
592807
592904
|
};
|
|
592808
592905
|
}
|
|
592809
592906
|
async function performHeapDump(trigger2 = "manual", dumpNumber = 0) {
|
|
@@ -593389,7 +593486,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
593389
593486
|
var call136 = async () => {
|
|
593390
593487
|
return {
|
|
593391
593488
|
type: "text",
|
|
593392
|
-
value: "1.30.
|
|
593489
|
+
value: "1.30.4"
|
|
593393
593490
|
};
|
|
593394
593491
|
}, version2, version_default;
|
|
593395
593492
|
var init_version = __esm(() => {
|
|
@@ -596268,6 +596365,7 @@ function ProviderFirstModelPicker({
|
|
|
596268
596365
|
const [selectedProvider, setSelectedProvider] = import_react188.useState(null);
|
|
596269
596366
|
const [modelSource, setModelSource] = import_react188.useState("static");
|
|
596270
596367
|
const [modelWarning, setModelWarning] = import_react188.useState(null);
|
|
596368
|
+
const [providerWarning, setProviderWarning] = import_react188.useState(null);
|
|
596271
596369
|
const effortValue = useAppState(selectEffortValue2);
|
|
596272
596370
|
const [effort] = import_react188.useState(effortValue !== undefined ? convertEffortValueToLevel(effortValue) : undefined);
|
|
596273
596371
|
const appThinkingEnabled = useAppState(selectThinkingEnabled2);
|
|
@@ -596286,11 +596384,12 @@ function ProviderFirstModelPicker({
|
|
|
596286
596384
|
return {
|
|
596287
596385
|
value: provider.id,
|
|
596288
596386
|
label: provider.displayName,
|
|
596289
|
-
description: `${accessType} \xB7 ${status2.label}`,
|
|
596387
|
+
description: `${accessType} \xB7 ${provider.credentialType} \xB7 ${provider.runtimeKind === "external-app" ? "external app bridge" : status2.label}`,
|
|
596290
596388
|
status: status2.status,
|
|
596291
596389
|
statusLabel: status2.label,
|
|
596292
596390
|
accessType,
|
|
596293
596391
|
credentialType: provider.credentialType,
|
|
596392
|
+
runtimeBlockedReason: getProviderRuntimeBlockReason(provider.id),
|
|
596294
596393
|
provider
|
|
596295
596394
|
};
|
|
596296
596395
|
}));
|
|
@@ -596339,6 +596438,7 @@ function ProviderFirstModelPicker({
|
|
|
596339
596438
|
const focusedModel = modelOptions.find((m) => m.value === focusedModelValue);
|
|
596340
596439
|
function handleProviderFocus(value) {
|
|
596341
596440
|
setFocusedProviderValue(value);
|
|
596441
|
+
setProviderWarning(null);
|
|
596342
596442
|
}
|
|
596343
596443
|
function handleModelFocus(value) {
|
|
596344
596444
|
setFocusedModelValue(value);
|
|
@@ -596346,6 +596446,14 @@ function ProviderFirstModelPicker({
|
|
|
596346
596446
|
function handleProviderSelect(value) {
|
|
596347
596447
|
const provider = providerOptions.find((p2) => p2.value === value);
|
|
596348
596448
|
if (provider) {
|
|
596449
|
+
if (provider.runtimeBlockedReason) {
|
|
596450
|
+
setProviderWarning(provider.runtimeBlockedReason);
|
|
596451
|
+
return;
|
|
596452
|
+
}
|
|
596453
|
+
if (provider.status !== "connected") {
|
|
596454
|
+
setProviderWarning(`Provider "${provider.value}" is ${provider.status}: ${provider.statusLabel}. Run \`ur provider doctor ${provider.value}\`, or choose a connected API/local/server provider.`);
|
|
596455
|
+
return;
|
|
596456
|
+
}
|
|
596349
596457
|
setSelectedProvider(provider);
|
|
596350
596458
|
setStep("model");
|
|
596351
596459
|
setFocusedModelValue(null);
|
|
@@ -596508,6 +596616,14 @@ function ProviderFirstModelPicker({
|
|
|
596508
596616
|
dimColor: true,
|
|
596509
596617
|
children: focusedProvider.provider.accessPathLabel
|
|
596510
596618
|
}, undefined, false, undefined, this),
|
|
596619
|
+
/* @__PURE__ */ jsx_dev_runtime346.jsxDEV(ThemedText, {
|
|
596620
|
+
dimColor: true,
|
|
596621
|
+
color: focusedProvider.runtimeBlockedReason ? "error" : "subtle",
|
|
596622
|
+
children: [
|
|
596623
|
+
"Runtime: ",
|
|
596624
|
+
focusedProvider.provider.runtimeKind === "external-app" ? "external app bridge (disabled for independent UR runtime)" : "UR-native"
|
|
596625
|
+
]
|
|
596626
|
+
}, undefined, true, undefined, this),
|
|
596511
596627
|
focusedProvider.status !== "connected" && /* @__PURE__ */ jsx_dev_runtime346.jsxDEV(ThemedText, {
|
|
596512
596628
|
dimColor: true,
|
|
596513
596629
|
color: "subtle",
|
|
@@ -596516,7 +596632,12 @@ function ProviderFirstModelPicker({
|
|
|
596516
596632
|
focusedProvider.value,
|
|
596517
596633
|
"` for troubleshooting"
|
|
596518
596634
|
]
|
|
596519
|
-
}, undefined, true, undefined, this)
|
|
596635
|
+
}, undefined, true, undefined, this),
|
|
596636
|
+
providerWarning && focusedProvider.value === focusedProviderValue && /* @__PURE__ */ jsx_dev_runtime346.jsxDEV(ThemedText, {
|
|
596637
|
+
dimColor: true,
|
|
596638
|
+
color: "error",
|
|
596639
|
+
children: providerWarning
|
|
596640
|
+
}, undefined, false, undefined, this)
|
|
596520
596641
|
]
|
|
596521
596642
|
}, undefined, true, undefined, this)
|
|
596522
596643
|
]
|
|
@@ -597077,11 +597198,12 @@ function ProviderPicker({
|
|
|
597077
597198
|
const selectOptions = providers.map((provider) => ({
|
|
597078
597199
|
value: provider.id,
|
|
597079
597200
|
label: provider.displayName,
|
|
597080
|
-
description: `${getProviderAccessTypeLabel(provider)} \xB7 ${provider.credentialType}`
|
|
597201
|
+
description: `${getProviderAccessTypeLabel(provider)} \xB7 ${provider.credentialType} \xB7 ${provider.runtimeKind === "external-app" ? "external app bridge" : "UR-native"}`
|
|
597081
597202
|
}));
|
|
597082
597203
|
const visibleCount = Math.min(10, selectOptions.length);
|
|
597083
597204
|
const hiddenCount = Math.max(0, selectOptions.length - visibleCount);
|
|
597084
597205
|
const focusedProvider = providers.find((p2) => p2.id === focusedValue);
|
|
597206
|
+
const focusedBlockReason = focusedProvider ? getProviderRuntimeBlockReason(focusedProvider.id) : null;
|
|
597085
597207
|
function handleFocus(value) {
|
|
597086
597208
|
setFocusedValue(value);
|
|
597087
597209
|
}
|
|
@@ -597091,6 +597213,10 @@ function ProviderPicker({
|
|
|
597091
597213
|
from_provider: currentProvider,
|
|
597092
597214
|
to_provider: value
|
|
597093
597215
|
});
|
|
597216
|
+
const runtimeBlock = getProviderRuntimeBlockReason(value);
|
|
597217
|
+
if (runtimeBlock) {
|
|
597218
|
+
return;
|
|
597219
|
+
}
|
|
597094
597220
|
const result = setSafeProviderConfig("provider", value);
|
|
597095
597221
|
if (!result.ok) {
|
|
597096
597222
|
return;
|
|
@@ -597159,21 +597285,28 @@ function ProviderPicker({
|
|
|
597159
597285
|
/* @__PURE__ */ jsx_dev_runtime348.jsxDEV(ThemedBox_default, {
|
|
597160
597286
|
marginBottom: 1,
|
|
597161
597287
|
flexDirection: "column",
|
|
597162
|
-
children:
|
|
597163
|
-
|
|
597164
|
-
|
|
597165
|
-
|
|
597166
|
-
|
|
597167
|
-
|
|
597168
|
-
|
|
597169
|
-
|
|
597170
|
-
|
|
597171
|
-
|
|
597172
|
-
|
|
597173
|
-
|
|
597174
|
-
|
|
597175
|
-
|
|
597176
|
-
|
|
597288
|
+
children: [
|
|
597289
|
+
focusedProvider && /* @__PURE__ */ jsx_dev_runtime348.jsxDEV(ThemedText, {
|
|
597290
|
+
dimColor: true,
|
|
597291
|
+
children: [
|
|
597292
|
+
focusedProvider.displayName,
|
|
597293
|
+
" (",
|
|
597294
|
+
focusedProvider.id,
|
|
597295
|
+
") \xB7",
|
|
597296
|
+
" ",
|
|
597297
|
+
getProviderAccessTypeLabel(focusedProvider),
|
|
597298
|
+
" \xB7",
|
|
597299
|
+
" ",
|
|
597300
|
+
focusedProvider.accessPathLabel
|
|
597301
|
+
]
|
|
597302
|
+
}, undefined, true, undefined, this),
|
|
597303
|
+
focusedBlockReason && /* @__PURE__ */ jsx_dev_runtime348.jsxDEV(ThemedText, {
|
|
597304
|
+
dimColor: true,
|
|
597305
|
+
color: "error",
|
|
597306
|
+
children: focusedBlockReason
|
|
597307
|
+
}, undefined, false, undefined, this)
|
|
597308
|
+
]
|
|
597309
|
+
}, undefined, true, undefined, this)
|
|
597177
597310
|
]
|
|
597178
597311
|
}, undefined, true, undefined, this),
|
|
597179
597312
|
isStandaloneCommand && /* @__PURE__ */ jsx_dev_runtime348.jsxDEV(ThemedText, {
|
|
@@ -603306,7 +603439,7 @@ function generateHtmlReport(data, insights) {
|
|
|
603306
603439
|
</html>`;
|
|
603307
603440
|
}
|
|
603308
603441
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
603309
|
-
const version3 = typeof MACRO !== "undefined" ? "1.30.
|
|
603442
|
+
const version3 = typeof MACRO !== "undefined" ? "1.30.4" : "unknown";
|
|
603310
603443
|
const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
|
|
603311
603444
|
const facets_summary = {
|
|
603312
603445
|
total: facets.size,
|
|
@@ -607584,7 +607717,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
607584
607717
|
init_settings2();
|
|
607585
607718
|
init_slowOperations();
|
|
607586
607719
|
init_uuid();
|
|
607587
|
-
VERSION5 = typeof MACRO !== "undefined" ? "1.30.
|
|
607720
|
+
VERSION5 = typeof MACRO !== "undefined" ? "1.30.4" : "unknown";
|
|
607588
607721
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
607589
607722
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
607590
607723
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -608789,7 +608922,7 @@ var init_filesystem = __esm(() => {
|
|
|
608789
608922
|
});
|
|
608790
608923
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
608791
608924
|
const nonce = randomBytes18(16).toString("hex");
|
|
608792
|
-
return join200(getURTempDir(), "bundled-skills", "1.30.
|
|
608925
|
+
return join200(getURTempDir(), "bundled-skills", "1.30.4", nonce);
|
|
608793
608926
|
});
|
|
608794
608927
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
608795
608928
|
});
|
|
@@ -615086,7 +615219,7 @@ function computeFingerprint(messageText2, version3) {
|
|
|
615086
615219
|
}
|
|
615087
615220
|
function computeFingerprintFromMessages(messages) {
|
|
615088
615221
|
const firstMessageText = extractFirstMessageText(messages);
|
|
615089
|
-
return computeFingerprint(firstMessageText, "1.30.
|
|
615222
|
+
return computeFingerprint(firstMessageText, "1.30.4");
|
|
615090
615223
|
}
|
|
615091
615224
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
615092
615225
|
var init_fingerprint = () => {};
|
|
@@ -616953,7 +617086,7 @@ async function sideQuery(opts) {
|
|
|
616953
617086
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
616954
617087
|
}
|
|
616955
617088
|
const messageText2 = extractFirstUserMessageText(messages);
|
|
616956
|
-
const fingerprint = computeFingerprint(messageText2, "1.30.
|
|
617089
|
+
const fingerprint = computeFingerprint(messageText2, "1.30.4");
|
|
616957
617090
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
616958
617091
|
const systemBlocks = [
|
|
616959
617092
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -621690,7 +621823,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
621690
621823
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
621691
621824
|
apiKeySource: getURHQApiKeyWithSource().source,
|
|
621692
621825
|
betas: getSdkBetas(),
|
|
621693
|
-
ur_version: "1.30.
|
|
621826
|
+
ur_version: "1.30.4",
|
|
621694
621827
|
output_style: outputStyle2,
|
|
621695
621828
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
621696
621829
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill2) => skill2.name),
|
|
@@ -636318,7 +636451,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
636318
636451
|
function getSemverPart(version3) {
|
|
636319
636452
|
return `${import_semver13.major(version3, { loose: true })}.${import_semver13.minor(version3, { loose: true })}.${import_semver13.patch(version3, { loose: true })}`;
|
|
636320
636453
|
}
|
|
636321
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.30.
|
|
636454
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.30.4") {
|
|
636322
636455
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react226.useState(() => getSemverPart(initialVersion));
|
|
636323
636456
|
if (!updatedVersion) {
|
|
636324
636457
|
return null;
|
|
@@ -636367,7 +636500,7 @@ function AutoUpdater({
|
|
|
636367
636500
|
return;
|
|
636368
636501
|
}
|
|
636369
636502
|
if (false) {}
|
|
636370
|
-
const currentVersion = "1.30.
|
|
636503
|
+
const currentVersion = "1.30.4";
|
|
636371
636504
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
636372
636505
|
let latestVersion = await getLatestVersion(channel);
|
|
636373
636506
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -636596,12 +636729,12 @@ function NativeAutoUpdater({
|
|
|
636596
636729
|
logEvent("tengu_native_auto_updater_start", {});
|
|
636597
636730
|
try {
|
|
636598
636731
|
const maxVersion = await getMaxVersion();
|
|
636599
|
-
if (maxVersion && gt("1.30.
|
|
636732
|
+
if (maxVersion && gt("1.30.4", maxVersion)) {
|
|
636600
636733
|
const msg = await getMaxVersionMessage();
|
|
636601
636734
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
636602
636735
|
}
|
|
636603
636736
|
const result = await installLatest(channel);
|
|
636604
|
-
const currentVersion = "1.30.
|
|
636737
|
+
const currentVersion = "1.30.4";
|
|
636605
636738
|
const latencyMs = Date.now() - startTime;
|
|
636606
636739
|
if (result.lockFailed) {
|
|
636607
636740
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -636738,17 +636871,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
636738
636871
|
const maxVersion = await getMaxVersion();
|
|
636739
636872
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
636740
636873
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
636741
|
-
if (gte("1.30.
|
|
636742
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.30.
|
|
636874
|
+
if (gte("1.30.4", maxVersion)) {
|
|
636875
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.30.4"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
636743
636876
|
setUpdateAvailable(false);
|
|
636744
636877
|
return;
|
|
636745
636878
|
}
|
|
636746
636879
|
latest = maxVersion;
|
|
636747
636880
|
}
|
|
636748
|
-
const hasUpdate = latest && !gte("1.30.
|
|
636881
|
+
const hasUpdate = latest && !gte("1.30.4", latest) && !shouldSkipVersion(latest);
|
|
636749
636882
|
setUpdateAvailable(!!hasUpdate);
|
|
636750
636883
|
if (hasUpdate) {
|
|
636751
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.30.
|
|
636884
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.30.4"} -> ${latest}`);
|
|
636752
636885
|
}
|
|
636753
636886
|
};
|
|
636754
636887
|
$3[0] = t1;
|
|
@@ -636782,7 +636915,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
636782
636915
|
wrap: "truncate",
|
|
636783
636916
|
children: [
|
|
636784
636917
|
"currentVersion: ",
|
|
636785
|
-
"1.30.
|
|
636918
|
+
"1.30.4"
|
|
636786
636919
|
]
|
|
636787
636920
|
}, undefined, true, undefined, this);
|
|
636788
636921
|
$3[3] = verbose;
|
|
@@ -649239,7 +649372,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
649239
649372
|
project_dir: getOriginalCwd(),
|
|
649240
649373
|
added_dirs: addedDirs
|
|
649241
649374
|
},
|
|
649242
|
-
version: "1.30.
|
|
649375
|
+
version: "1.30.4",
|
|
649243
649376
|
output_style: {
|
|
649244
649377
|
name: outputStyleName
|
|
649245
649378
|
},
|
|
@@ -649322,7 +649455,7 @@ function StatusLineInner({
|
|
|
649322
649455
|
const taskValues = Object.values(tasks2);
|
|
649323
649456
|
const taskRunningCount = taskValues.filter((task2) => task2.status === "running" || task2.status === "pending").length;
|
|
649324
649457
|
const defaultStatusLineText = buildDefaultStatusBar({
|
|
649325
|
-
version: "1.30.
|
|
649458
|
+
version: "1.30.4",
|
|
649326
649459
|
providerLabel: providerRuntime.providerLabel,
|
|
649327
649460
|
authMode: providerRuntime.authLabel,
|
|
649328
649461
|
model: providerRuntime.model ?? renderModelName(mainLoopModel),
|
|
@@ -660810,7 +660943,7 @@ async function submitTranscriptShare(messages, trigger2, appearanceId) {
|
|
|
660810
660943
|
} catch {}
|
|
660811
660944
|
const data = {
|
|
660812
660945
|
trigger: trigger2,
|
|
660813
|
-
version: "1.30.
|
|
660946
|
+
version: "1.30.4",
|
|
660814
660947
|
platform: process.platform,
|
|
660815
660948
|
transcript,
|
|
660816
660949
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -672694,7 +672827,7 @@ function WelcomeV2() {
|
|
|
672694
672827
|
dimColor: true,
|
|
672695
672828
|
children: [
|
|
672696
672829
|
"v",
|
|
672697
|
-
"1.30.
|
|
672830
|
+
"1.30.4"
|
|
672698
672831
|
]
|
|
672699
672832
|
}, undefined, true, undefined, this)
|
|
672700
672833
|
]
|
|
@@ -673954,7 +674087,7 @@ function completeOnboarding() {
|
|
|
673954
674087
|
saveGlobalConfig((current) => ({
|
|
673955
674088
|
...current,
|
|
673956
674089
|
hasCompletedOnboarding: true,
|
|
673957
|
-
lastOnboardingVersion: "1.30.
|
|
674090
|
+
lastOnboardingVersion: "1.30.4"
|
|
673958
674091
|
}));
|
|
673959
674092
|
}
|
|
673960
674093
|
function showDialog(root2, renderer) {
|
|
@@ -679058,7 +679191,7 @@ function appendToLog(path24, message) {
|
|
|
679058
679191
|
cwd: getFsImplementation().cwd(),
|
|
679059
679192
|
userType: process.env.USER_TYPE,
|
|
679060
679193
|
sessionId: getSessionId(),
|
|
679061
|
-
version: "1.30.
|
|
679194
|
+
version: "1.30.4"
|
|
679062
679195
|
};
|
|
679063
679196
|
getLogWriter(path24).write(messageWithTimestamp);
|
|
679064
679197
|
}
|
|
@@ -683152,8 +683285,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
683152
683285
|
}
|
|
683153
683286
|
async function checkEnvLessBridgeMinVersion() {
|
|
683154
683287
|
const cfg = await getEnvLessBridgeConfig();
|
|
683155
|
-
if (cfg.min_version && lt("1.30.
|
|
683156
|
-
return `Your version of UR (${"1.30.
|
|
683288
|
+
if (cfg.min_version && lt("1.30.4", cfg.min_version)) {
|
|
683289
|
+
return `Your version of UR (${"1.30.4"}) is too old for Remote Control.
|
|
683157
683290
|
Version ${cfg.min_version} or higher is required. Run \`ur update\` to update.`;
|
|
683158
683291
|
}
|
|
683159
683292
|
return null;
|
|
@@ -683627,7 +683760,7 @@ async function initBridgeCore(params) {
|
|
|
683627
683760
|
const rawApi = createBridgeApiClient({
|
|
683628
683761
|
baseUrl,
|
|
683629
683762
|
getAccessToken,
|
|
683630
|
-
runnerVersion: "1.30.
|
|
683763
|
+
runnerVersion: "1.30.4",
|
|
683631
683764
|
onDebug: logForDebugging,
|
|
683632
683765
|
onAuth401,
|
|
683633
683766
|
getTrustedDeviceToken
|
|
@@ -689309,7 +689442,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
|
|
|
689309
689442
|
setCwd(cwd3);
|
|
689310
689443
|
const server2 = new Server({
|
|
689311
689444
|
name: "ur/tengu",
|
|
689312
|
-
version: "1.30.
|
|
689445
|
+
version: "1.30.4"
|
|
689313
689446
|
}, {
|
|
689314
689447
|
capabilities: {
|
|
689315
689448
|
tools: {}
|
|
@@ -691286,7 +691419,7 @@ async function update() {
|
|
|
691286
691419
|
logEvent("tengu_update_check", {});
|
|
691287
691420
|
const diagnostic = await getDoctorDiagnostic();
|
|
691288
691421
|
const result = await checkUpgradeStatus({
|
|
691289
|
-
currentVersion: "1.30.
|
|
691422
|
+
currentVersion: "1.30.4",
|
|
691290
691423
|
packageName: UR_AGENT_PACKAGE_NAME,
|
|
691291
691424
|
installationType: diagnostic.installationType,
|
|
691292
691425
|
latestVersion: () => getLatestNpmPackageVersion(UR_AGENT_PACKAGE_NAME)
|
|
@@ -692532,7 +692665,7 @@ ${customInstructions}` : customInstructions;
|
|
|
692532
692665
|
}
|
|
692533
692666
|
}
|
|
692534
692667
|
logForDiagnosticsNoPII("info", "started", {
|
|
692535
|
-
version: "1.30.
|
|
692668
|
+
version: "1.30.4",
|
|
692536
692669
|
is_native_binary: isInBundledMode()
|
|
692537
692670
|
});
|
|
692538
692671
|
registerCleanup(async () => {
|
|
@@ -693318,7 +693451,7 @@ Usage: ur --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
693318
693451
|
pendingHookMessages
|
|
693319
693452
|
}, renderAndRun);
|
|
693320
693453
|
}
|
|
693321
|
-
}).version("1.30.
|
|
693454
|
+
}).version("1.30.4 (UR-AGENT)", "-v, --version", "Output the version number");
|
|
693322
693455
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
693323
693456
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
693324
693457
|
if (canUserConfigureAdvisor()) {
|
|
@@ -694203,7 +694336,7 @@ if (false) {}
|
|
|
694203
694336
|
async function main2() {
|
|
694204
694337
|
const args = process.argv.slice(2);
|
|
694205
694338
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
694206
|
-
console.log(`${"1.30.
|
|
694339
|
+
console.log(`${"1.30.4"} (UR-AGENT)`);
|
|
694207
694340
|
return;
|
|
694208
694341
|
}
|
|
694209
694342
|
if (args[0] === "a2a" && args[1] === "serve" && !args.includes("--help") && !args.includes("-h")) {
|