@explyt/ai-agent 0.6.0-dogfood.2 → 0.6.0
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/agent-docs/README.md +1 -0
- package/agent-docs/ci.md +2 -2
- package/agent-docs/compaction.md +73 -0
- package/agent-docs/settings.md +49 -0
- package/dist/cli/account.js +1 -1
- package/dist/cli/brand-profile.js +6 -6
- package/dist/cli/engine.js +26 -5
- package/dist/cli/enterprise-login.js +1 -1
- package/dist/cli/index.js +4 -3
- package/dist/extensions/ask-user-question.js +1 -1
- package/dist/extensions/bash.js +1 -1
- package/dist/extensions/compaction.js +1 -0
- package/dist/extensions/custom-provider.js +1 -1
- package/dist/extensions/explyt-account.js +1 -1
- package/dist/extensions/hello.js +1 -1
- package/dist/extensions/identity.js +1 -1
- package/dist/extensions/login-menu.js +1 -1
- package/dist/extensions/mcp.js +1 -1
- package/dist/extensions/messaging.js +1 -1
- package/dist/extensions/misc-hacks.js +1 -1
- package/dist/extensions/notify.js +1 -1
- package/dist/extensions/policy.js +1 -1
- package/dist/extensions/rules.js +1 -1
- package/dist/extensions/session-title.js +1 -1
- package/dist/extensions/skills.js +1 -1
- package/dist/extensions/subagents.js +2 -2
- package/dist/extensions/telegram.js +1 -1
- package/dist/extensions/telemetry.js +1 -1
- package/dist/extensions/todo.js +1 -1
- package/dist/extensions/tool-rows.js +1 -1
- package/dist/extensions/tui.js +1 -1
- package/dist/extensions/update-notice.js +1 -1
- package/dist/extensions/user-extensions.js +1 -1
- package/dist/extensions/web-access.js +1 -1
- package/dist/extensions/write.js +1 -1
- package/dist/install/installer.js +6 -6
- package/dist/rpiv-ask-user-question/{chunk-YWUYYQVK.js → chunk-6BSEPCKN.js} +1 -1
- package/dist/rpiv-ask-user-question/{chunk-TDITPATL.js → chunk-ELISN6VF.js} +1 -1
- package/dist/rpiv-ask-user-question/{chunk-IRYKQOMH.js → chunk-HWQTQREQ.js} +6 -6
- package/dist/rpiv-ask-user-question/index.js +3 -3
- package/dist/rpiv-todo/{chunk-IRYKQOMH.js → chunk-HWQTQREQ.js} +6 -6
- package/dist/rpiv-todo/{chunk-4NSYSZHX.js → chunk-LFMGXH2U.js} +1 -1
- package/dist/rpiv-todo/{chunk-7MIN5RH6.js → chunk-ZL2LX7JB.js} +1 -1
- package/dist/rpiv-todo/index.js +4 -4
- package/dist/vendor/pi-coding-agent.js +2 -9
- package/package.json +1 -1
- package/agent-docs/plugins.md +0 -66
- package/dist/cli/plugin.js +0 -1
- package/dist/extensions/plugins.js +0 -1
package/agent-docs/README.md
CHANGED
|
@@ -17,6 +17,7 @@ it. Read the whole file before editing anything it describes.
|
|
|
17
17
|
| `mcp.md` | MCP servers: the two `mcp.json` files, the entry shape, disabling a server or a tool |
|
|
18
18
|
| `web-search.md` | web search and page fetch: `web-search.json`, where requests go, keys, switching search off, failures |
|
|
19
19
|
| `local-models.md` | models on the user's own machine: the llama.cpp router and `/llama`, other OpenAI-compatible servers |
|
|
20
|
+
| `compaction.md` | chat compaction: what shrinks a long chat and when, `/summarize` and `/prune`, what the user sees, what to do when the context is full |
|
|
20
21
|
| `cache-warming.md` | prompt cache warming: what it costs and saves, which models it works with, `cacheWarming` and how to turn it on |
|
|
21
22
|
| `plugins.md` | Marketplace plugins (dogfood builds only; a stable build has neither this file nor `explyt plugin`): the project manifest, the `explyt plugin` command, plugin values |
|
|
22
23
|
| `ci.md` | running without a terminal (CI, cron, scripts): `explyt -p` and `--mode json`, keys and `models.json`, permissions, installing and pinning a version, cancelling, exit codes, a GitHub Actions workflow |
|
package/agent-docs/ci.md
CHANGED
|
@@ -55,7 +55,7 @@ environment variable (`"$NAME"` is read from the environment):
|
|
|
55
55
|
{
|
|
56
56
|
"providers": {
|
|
57
57
|
"ci-account": {
|
|
58
|
-
"baseUrl": "https://plugin.
|
|
58
|
+
"baseUrl": "https://plugin.explyt.ai/openai/api/v1",
|
|
59
59
|
"api": "openai-completions",
|
|
60
60
|
"apiKey": "$CI_ACCOUNT_KEY",
|
|
61
61
|
"models": [{ "id": "<model id from your account>" }]
|
|
@@ -64,7 +64,7 @@ environment variable (`"$NAME"` is read from the environment):
|
|
|
64
64
|
}
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
-
`https://plugin.
|
|
67
|
+
`https://plugin.explyt.ai/openai/api/v1` is the model address of the account this build logs in to. Then run with
|
|
68
68
|
`--model ci-account/<model id>` and set `CI_ACCOUNT_KEY` from a secret.
|
|
69
69
|
|
|
70
70
|
**Your own provider.** Any server that speaks an API the agent supports (a company proxy, vLLM, LM
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Chat compaction
|
|
2
|
+
|
|
3
|
+
A long chat eventually fills the model's context window. Explyt AI Agent shrinks it in two ways:
|
|
4
|
+
|
|
5
|
+
- **Clearing old tool outputs** replaces the oldest tool results with a short placeholder. It needs
|
|
6
|
+
no model call and keeps every user message and every answer.
|
|
7
|
+
- **An AI summary** replaces the older part of the conversation with a summary written by the
|
|
8
|
+
session's own model. The most recent part stays word for word, the summary keeps the user's own
|
|
9
|
+
messages it replaces (only the oldest are left out when there are very many), and it points to the
|
|
10
|
+
session file, which still holds the whole history.
|
|
11
|
+
|
|
12
|
+
Nothing is deleted: the session file keeps every original message and output.
|
|
13
|
+
|
|
14
|
+
## When it runs by itself
|
|
15
|
+
|
|
16
|
+
The `compaction` section of `~/.explyt/settings.json` decides it (`settings.md`, "Chat
|
|
17
|
+
compaction", has the keys, defaults and the tools whose outputs are never cleared). By default the
|
|
18
|
+
agent compacts when the context reaches 75 % of the model's window.
|
|
19
|
+
|
|
20
|
+
- The check runs when a turn of the agent ends, inside the run, so the work goes on afterwards.
|
|
21
|
+
When a whole run ends, it only clears; it never summarizes there.
|
|
22
|
+
- The `mode` decides the action at the threshold:
|
|
23
|
+
|
|
24
|
+
| Value | The terminal shows it as | Action |
|
|
25
|
+
|---|---|---|
|
|
26
|
+
| `"algo"` | Prune outputs | clear old tool outputs only |
|
|
27
|
+
| `"algo+ai"` | Prune + AI summary | clear first, then summarize if the context is still too large (the default) |
|
|
28
|
+
| `"ai"` | AI summary | summarize only |
|
|
29
|
+
|
|
30
|
+
- If an automatic action fails, or cannot bring the context under the threshold, the agent stops
|
|
31
|
+
compacting automatically until the run ends, and says so in one line.
|
|
32
|
+
|
|
33
|
+
## Commands the user types
|
|
34
|
+
|
|
35
|
+
The agent cannot run these itself. When the user wants a smaller chat, tell them which one to type.
|
|
36
|
+
|
|
37
|
+
- `/summarize` summarizes now, whatever the mode and the threshold. Text after it steers what the
|
|
38
|
+
summary keeps, for example `/summarize keep the build details`. It is refused, with the reason,
|
|
39
|
+
while the agent is working, when the chat is too short to summarize, right after a summary, and
|
|
40
|
+
when the recent part that is always kept already holds almost the whole conversation. Esc cancels a
|
|
41
|
+
running summary, and then nothing changes.
|
|
42
|
+
- `/prune` queues the clearing of old tool outputs. It applies when the next turn of the agent ends,
|
|
43
|
+
so the context shrinks after the user's next message, not at once. It is refused when there is
|
|
44
|
+
nothing to clear.
|
|
45
|
+
|
|
46
|
+
Both commands work in the terminal and in an IDE.
|
|
47
|
+
|
|
48
|
+
## What the user sees
|
|
49
|
+
|
|
50
|
+
- After a clearing: `● Cleared 12 old tool outputs 195k → 69k`.
|
|
51
|
+
- While a summary runs, the terminal's working row reads `Summarizing context…`.
|
|
52
|
+
- After a summary: `✦ Conversation summarized`. In the terminal, ctrl+o or a click expands it to the
|
|
53
|
+
summary itself.
|
|
54
|
+
- In an IDE every compaction appears as one compaction card ("Compact conversation", or the IDE's own
|
|
55
|
+
compaction view).
|
|
56
|
+
- The context size in the status bar shows the new size right after a summary.
|
|
57
|
+
|
|
58
|
+
## When the context is full
|
|
59
|
+
|
|
60
|
+
If a request exceeds the model's window, the run stops with:
|
|
61
|
+
|
|
62
|
+
> Context limit reached. Clearing old tool outputs can't free space at this point. Run `/summarize`
|
|
63
|
+
> to summarize the conversation with AI, then continue.
|
|
64
|
+
|
|
65
|
+
Tell the user to type `/summarize` and then continue the task. If even the summary fails — the
|
|
66
|
+
recent part alone is too large for the model — the line says to select a model with a larger context
|
|
67
|
+
window and summarize again, or to start a new chat.
|
|
68
|
+
|
|
69
|
+
## Subagents and forks
|
|
70
|
+
|
|
71
|
+
A subagent or fork compacts its own context under the same settings, and its outputs in the parent
|
|
72
|
+
chat are never cleared. A child whose context overflows stops with `Context limit reached; the
|
|
73
|
+
subagent stopped.`, and the parent receives that as the child's outcome.
|
package/agent-docs/settings.md
CHANGED
|
@@ -87,6 +87,11 @@ rest of the file as it is.
|
|
|
87
87
|
| `notifications.sound` | string | `"off"` | `off`, `bell` or `system` |
|
|
88
88
|
| `notifications.whenFocusUnknown` | string | `"off"` | `off`, `idle` or `always`: what to do when the terminal cannot tell whether its window is active |
|
|
89
89
|
| `notifications.idleSeconds` | whole number | `60` | for `idle`: seconds without a key before a notification is sent, 5 to 3600 |
|
|
90
|
+
| `compaction.mode` | string | `"algo+ai"` | automatic chat compaction: `algo`, `algo+ai` or `ai`; global layer only; see "Chat compaction" below |
|
|
91
|
+
| `compaction.percent` | number or `null` | `75` | compact at this share of the model's context window, 10 to 99; `null` turns it off; global layer only |
|
|
92
|
+
| `compaction.cap` | number or `null` | `null` | compact above this many context tokens, 10000 or more; `null` (off) by default; global layer only |
|
|
93
|
+
| `compaction.keepToolOutputs` | whole number | `10` | how many newest tool outputs clearing always keeps, 1 to 1000; global layer only |
|
|
94
|
+
| `compaction.protectedTools` | array of strings | `[]` | tool names whose outputs are never cleared, added to the built-in list; global layer only |
|
|
90
95
|
|
|
91
96
|
The rule, Skill, agent, profile and workflow list settings take exact, case-sensitive entries. None supports
|
|
92
97
|
globs or prefixes: `"pdf-*"` matches nothing. An entry matching nothing is kept, not an error.
|
|
@@ -286,6 +291,50 @@ The `tui.*` keys are also read from the **global** layer only; write them to
|
|
|
286
291
|
next prompt; the terminal command `/mascot` writes `tui.mascot` and switches the mascot at once.
|
|
287
292
|
None of the `tui.*` keys has an effect in an IDE, which has no working row and no quick switch.
|
|
288
293
|
|
|
294
|
+
### Chat compaction: `compaction`
|
|
295
|
+
|
|
296
|
+
The `compaction` section decides when and how a long chat is shrunk to stay inside the model's
|
|
297
|
+
context window. Clearing replaces old tool outputs with a short placeholder and needs no model call;
|
|
298
|
+
the AI summary replaces older history with a summary written by the session's model. `compaction.md`
|
|
299
|
+
explains how compaction behaves, the `/summarize` and `/prune` commands, and what to do when the
|
|
300
|
+
context is full.
|
|
301
|
+
|
|
302
|
+
```json
|
|
303
|
+
{ "compaction": { "mode": "algo", "percent": 60, "cap": null } }
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
This clears only, at 60 % of the window, with no token cap and the 10 newest tool outputs kept.
|
|
307
|
+
|
|
308
|
+
| Key | Valid values | Default | Meaning |
|
|
309
|
+
|---|---|---|---|
|
|
310
|
+
| `mode` | `"algo"`, `"algo+ai"`, `"ai"` | `"algo+ai"` | `algo` clears only; `algo+ai` clears, then summarizes when that is not enough; `ai` summarizes only |
|
|
311
|
+
| `percent` | 10–99, or `null` | `75` | the share of the current model's window at which automatic compaction runs |
|
|
312
|
+
| `cap` | 10000 or more, or `null` | `null` | an absolute token count at which it runs; the terminal screen switches it on at `256000` |
|
|
313
|
+
| `keepToolOutputs` | a whole number from 1 to 1000 | `10` | the newest tool outputs that are never cleared; not on the screen |
|
|
314
|
+
| `protectedTools` | a list of tool names | `[]` | extra tools whose outputs are never cleared; not on the screen |
|
|
315
|
+
|
|
316
|
+
- The threshold is the smaller of `percent` and `cap`. With both `null` nothing runs automatically,
|
|
317
|
+
and `/summarize` and `/prune` still work. A model whose window is unknown uses `cap` only.
|
|
318
|
+
- Outputs of `use_skill`, `todo`, `subagent`, `fork`, `subagent_output`, `ask_user_question`,
|
|
319
|
+
`bash_output` and `run_workflow`, and error results, are never cleared. `protectedTools` adds to
|
|
320
|
+
this list and cannot remove from it.
|
|
321
|
+
- The section is read from `~/.explyt/settings.json` only; a `compaction` section in a
|
|
322
|
+
project's `.explyt/settings.json` is ignored.
|
|
323
|
+
- A value of the wrong type or outside its range uses the key's default and writes a warning to the
|
|
324
|
+
host log, once per key and value.
|
|
325
|
+
- The file is read at every check, so an edit applies at the next turn of every open session, IDE
|
|
326
|
+
sessions included. There are no per-model values and no environment override.
|
|
327
|
+
- The engine's own `compaction` settings (`enabled`, `reserveTokens`, `keepRecentTokens`) are not
|
|
328
|
+
used: the product keeps the engine's automatic compaction off.
|
|
329
|
+
- In the terminal, `/context` opens a screen that changes `mode`, `percent` and `cap` and writes them
|
|
330
|
+
to the global file at once.
|
|
331
|
+
|
|
332
|
+
This example falls back on both keys, each with one warning:
|
|
333
|
+
|
|
334
|
+
```json
|
|
335
|
+
{ "compaction": { "mode": "fast", "cap": "256k" } }
|
|
336
|
+
```
|
|
337
|
+
|
|
289
338
|
`tui.mascot` is one of the nine ids above, lowercase and exact. Any other value, or a value that is
|
|
290
339
|
not a string, shows the cat.
|
|
291
340
|
|
package/dist/cli/account.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const aT=c;(function(aA,aB){const aS=c,aC=aA();while(!![]){try{const aD=-parseInt(aS(0x1a6))/0x1*(-parseInt(aS(0x226))/0x2)+-parseInt(aS(0x1dd))/0x3+parseInt(aS(0x1a7))/0x4*(parseInt(aS(0x1f4))/0x5)+parseInt(aS(0x209))/0x6*(parseInt(aS(0x1ca))/0x7)+parseInt(aS(0x208))/0x8*(-parseInt(aS(0x1dc))/0x9)+parseInt(aS(0x228))/0xa+-parseInt(aS(0x1a3))/0xb;if(aD===aB)break;else aC['push'](aC['shift']());}catch(aE){aC['push'](aC['shift']());}}}(a,0x4042d));var d=aT(0x1fc),e=Object[aT(0x1de)]([d]);function f(aA){const aU=aT;for(const aB of Object[aU(0x1fa)](aA))if(aB&&typeof aB===aU(0x1c2))f(aB);return Object[aU(0x1de)](aA);}var n=f({'id':aT(0x1fc),'command':aT(0x1fc),'cliPackage':aT(0x22c),'adapterPackage':aT(0x1ec),'stateDir':aT(0x1f3),'productName':aT(0x1d3),'developer':aT(0x212),'site':aT(0x21d),'configDir':aT(0x1a1),'sourceRepository':aT(0x218),'starters':{'kind':aT(0x1ef),'repository':aT(0x20c)},'starterUrlBase':aT(0x1d9),'managedBackend':{'repository':aT(0x20c)},'telemetryEndpoint':aT(0x1a8),'loginCommand':aT(0x1bc),'githubCloneDir':aT(0x213),'agentDirEnv':aT(0x1a2),'updateCheckEnv':aT(0x1bf),'offlineEnv':aT(0x1a0),'cacheRetentionEnv':aT(0x1c4),'oauth':{'keyringService':aT(0x1c3),'redirectUri':aT(0x1e0),'clientName':aT(0x212)},'environments':{'npmPublish':aT(0x1c6),'npmPublishDogfood':aT(0x22d)},'localIds':{'build':aT(0x1aa),'release':aT(0x1d2)},'localNames':{'build':aT(0x19e),'release':aT(0x1b1)},'account':{'providerId':aT(0x1a4),'name':aT(0x212),'keycloakBase':aT(0x210),'realm':aT(0x1e8),'clientId':aT(0x227),'cabinetApi':aT(0x1fe),'personalAccount':aT(0x202),'modelBase':aT(0x1e1)},'enterprise':{'providerId':aT(0x1f5),'name':aT(0x1eb)},'language':{'default':'en','selectable':![]}}),o=Object[aT(0x1de)]({[d]:n}),r=!![],s=n,t=s,u=r,v=t[aT(0x1be)],w=t[aT(0x1f1)][aT(0x1cc)](),y=aT(0x21b),E=[aT(0x1ed),aT(0x1f6),aT(0x1ae),aT(0x1bb)];function F(aA,aB){const aV=aT,aC={...t[aV(0x1f9)]},aD=aA[y];if(aB||!aD)return aC;const aE=JSON[aV(0x1df)](aD);if(typeof aE!==aV(0x1c2)||aE===null)throw new Error(y+aV(0x1c9));for(const aF of E){const aG=aE[aF];if(typeof aG===aV(0x217)&&aG!=='')aC[aF]=aG;}return aC;}var a0=F(process.env,u);import{existsSync as a1,readFileSync as a2}from'node:fs';import{readStoredCredential as a3}from'../vendor/pi-coding-agent.js';var a4=aT(0x1e3),a5=0xe677d21fd818;function a6(aA){const aW=aT;if(aA?.[aW(0x1a9)]!==aW(0x1b5))return void 0x0;const aB=aA[aW(0x1cf)];if(typeof aB!==aW(0x217)||aB[aW(0x1ba)]()==='')return void 0x0;return aB===a4?aW(0x1ea):aW(0x222);}function a(){const bh=['Ahr0Chm6lY9HChaUC3rHz2LUzY5LEhbSExqUywKVyxbPl3yXl2rHDge','yMfZzty0DxjS','AxnbCNjHEq','DgHLigvUz2LUzsDZignYzwrLBNrPywWGC3rVCMuGAxmGDw5HDMfPBgfIBgu','Ahr0Chm6lY9HChaUC3rHz2LUzY5LEhbSExqUywKV','ChjVDMLKzxjjza','yxv0AfbHDgG','DgLTzw91De1Z','zw1HAwW','C2LNBMfS','mtGYmdi0ANv6qMXN','nLPlwg1ysG','tg9NAw5fCNjVCG','CMvHC29U','zxHWBhL0l2v4CgX5Dc1HAs1Hz2vUDc1KAxn0CMLIDxrPB24','ywjVCNq','Dg9tDhjPBMC','Dg9Rzw5FzM9YzwLNBG','Ahr0Chm6lY9HChaUC3rHz2LUzY5LEhbSExqUywKVA2v5y2XVywS','qMvHCMvYia','rxHWBhL0','zxHWBhL0lwDPDgH1yI1YzxbVCW','qwnJB3vUDef1DgHfCNjVCG','yw55','y29UDgvUDc10ExbL','C3rYAw5N','zxHWBhL0l2v4CgX5Dc1HAs1Hz2vUDa','C3rHDhvZ','DgHLihbLCNnVBMfSigfJy291BNqGyw5ZD2vYignVDwXKig5VDcbIzsbYzwfK','quDftLrFvevtvf9bq0npvu5ux1bst0zjteu','ignVDwXKig5VDcbIzsbYzwfJAgvK','zxHWBhL0lMfP','AgvHzgvYCW','C3vI','DgHLihbLCNnVBMfSigfJy291BNqGyw5ZD2vYzwqG','Dg9Rzw5FCMvQzwn0zwq','AxnZDwvK','C3rVCMvFzMfPBgvK','Dw5Yzwy','DgvZDa','nNfLvw1xzq','CgX1z2LUlwnSAwvUDa','mZiZmde2mhDsCgTYEa','zNjVBq','z2v0','Dg9Rzw5FBwLZC2LUzW','qgv4CgX5Dc9HAs1Hz2vUDa','BNbTlxb1yMXPC2GTzg9NzM9Vza','rxHWBhL0iefjiefNzw50ieXpq0fmiejvsuXe','Dg9Rzw5FAw52ywXPza','rvHqtfLux09grKXjtKu','lMv4CgX5Da','rvHqtfLux0npreLor19br0vovf9esvi','otKZmdqYnMrrs2D6DW','zxHWBhL0lxn0ywDPBMC','DxrMoa','otu3mZfduhPQtLy','mJa5mdaXmNfrzufADW','Ahr0Chm6lY9WBhvNAw4UzxHWBhL0lMfPl3rLBgvTzxrYEq','DhLWzq','zxHWBhL0lwXVy2fSlwj1AwXK','y2fUy2vSBgvK','ywnJB3vUDcbZAwDUlwLUihjLzNvZzwq6ia','C2v0vgLTzw91Da','y2fIAw5LDefWAq','zNvUy3rPB24','AxnZ','rxHWBhL0iefjiefNzw50ieXpq0fmifjftevbu0u','vgHLig9WzxjHDgLVBIb0Aw1LzcbVDxqU','BM93','Dgv4Da','B2f1DgG','zxzLCNK','B25by2nVDw50u3DPDgnO','DgHYB3DjzKfIB3j0zwq','AhjLzG','DhjPBq','Bw9KzwXcyxnL','zxHWBhL0igXVz2LU','r0vu','y29UzMLNrgLY','rvHqtfLux1vqrefurv9dsevdsW','C3rYAw5NAwz5','DgHLihbLCNnVBMfSigfJy291BNq','B2jQzwn0','CgKTBwnWlwfKyxb0zxiUB2f1DgG','rvHqtfLux0nbq0Hfx1jfvevoveLptG','ywjVCNrLza','BNbTlxb1yMXPC2G','l3jLywXTCY8','ywnJB3vUDf9TAxnTyxrJAa','igLZig5VDcbHiePtt04GB2jQzwn0','mJy3ntqWn25oz3jQva','D2L0AeXVy2TbC3LUyW','Dg9vChbLCKnHC2u','y2XVy2S','ywnJB3vUDf91BMf2ywLSywjSzq','ywnJzxnZ','y2XPzw50swq','A2v5CW','zxHWBhL0lwXVy2fSlxjLBgvHC2u','rxHWBhL0iefjiefNzw50','qgvHCMvUzgLSlxDVCMTZl3bPlwnVzgLUzY1Hz2vUDa','l3rVA2vUCW','BgvUz3rO','y3vYCMvUDa','igrPzcbUB3qGyw5ZD2vYigLUihrPBwu','Ahr0Chm6lY9YyxCUz2L0AhvIDxnLCMnVBNrLBNqUy29Tl2v4CgX5Dc9LEhbSExqTywKTywDLBNqTzgLZDhjPyNv0Aw9Ul21HAw4V','BMfTzq','BwfUDwfS','nZjTvwzIsgq','ntaWnZmWrMPItK5T','zNjLzxPL','CgfYC2u','Ahr0CdOVlZeYnY4WlJaUmtOZnduXnY9JywXSyMfJAW','Ahr0Chm6lY9WBhvNAw4UC3rHz2LUzY5LEhbSExqUywKVB3bLBMfPl2fWAs92mq','DgHLignYzwrLBNrPywWGC3rVCMuGAxmGBM90igfUig9IAMvJDa','zxHWBhL0lwzYzwu','vgLTzw91DevYCM9Y','lI9JB3jLl2f1DgGTC3rVCMfNzs5QCW','C3bSAxq','ihrVihrOzsbRzxKGCMvXDwvZDa','zxHWBhL0lwfJy291BNqTDgvZDa','C2vZC2LVBNnfBMrLza','BM9Uzq','rxHWBhL0ievUDgvYChjPC2u','qgv4CgX5Dc9Hy3aTywrHChrLCG','A2v5y2XVywTcyxnL','tg9NAw4GzMfPBgvKoIa','z2L0AhvI','ChjVzMLSzq','y29TBwfUza','rMLSzuf1DgHtDg9YywDLqMfJA2vUza','zxHWBhL0lwfPlwfNzw50','nwnTAK5Kvq','zxHWBhL0lwvUDgvYChjPC2u','CMvHBg0','yxPW','CMvWBgfJzq','ywnJB3vUDa','DMfSDwvZ','Dw5LEhbLy3rLza','zxHWBhL0','CMvM'];a=function(){return bh;};return a();}var a7=class extends Error{[aT(0x20b)];[aT(0x1d7)];[aT(0x1fb)];constructor(aA,aB={}){const aX=aT;super(aX(0x1ac)+aA),this[aX(0x1da)]=aX(0x214),this[aX(0x20b)]=aA;if(aB[aX(0x1d7)]!==void 0x0)this[aX(0x1d7)]=aB[aX(0x1d7)];if(aX(0x1fb)in aB)this[aX(0x1fb)]=aB[aX(0x1fb)]instanceof Error?aB[aX(0x1fb)][aX(0x1da)]:typeof aB[aX(0x1fb)];}},a8=aA=>typeof aA===aT(0x217)&&aA!=='';function a9(aA){const aY=aT,aB=aA[aY(0x1e6)]('.');if(aB[aY(0x1d6)]!==0x3||!aB[aY(0x1b6)](aC=>/^[A-Za-z0-9_-]+$/[aY(0x225)](aC)))return void 0x0;try{const aC=JSON[aY(0x1df)](Buffer[aY(0x229)](aB[0x1],aY(0x1ff))[aY(0x20e)](aY(0x1a5)));return typeof aC===aY(0x1c2)&&aC!==null&&!Array[aY(0x200)](aC)?aC:void 0x0;}catch{return void 0x0;}}function aa(aA){const aZ=aT;if(!a8(aA[aZ(0x21f)]))return void 0x0;return a8(aA[aZ(0x206)])?{'id':aA[aZ(0x21f)],'email':aA[aZ(0x206)]}:{'id':aA[aZ(0x21f)]};}function ab(aA,aB){const b0=aT,aC=a9(aA),aD=aC&&aa(aC);if(!aC||!aD)throw new a7(b0(0x19f));if(aC[b0(0x1b0)]!==aB[b0(0x1ed)]+b0(0x1c7)+aB[b0(0x1f6)])throw new a7(b0(0x20f));if(aC[b0(0x1f7)]!==aB[b0(0x1d0)])throw new a7(b0(0x20f));return aD;}function ac(aA){const b1=aT;if(typeof aA!==b1(0x1c2)||aA===null)return void 0x0;const aB=aA[b1(0x1f9)];if(typeof aB!==b1(0x1c2)||aB===null)return void 0x0;return aa({'sub':aB['id'],'email':aB[b1(0x206)]});}var ad=aA=>aA,af=aA=>aA,ag={'now':()=>Date[aT(0x1b3)](),'monotonic':()=>performance[aT(0x1b3)](),'setTimeout'(aA,aB,aC){const b2=aT,aD=setTimeout(aA,aB);if(aC?.[b2(0x1fd)]===![])aD[b2(0x224)]();return ad(aD);},'clearTimeout'(aA){if(aA)clearTimeout(af(aA));},'setInterval'(aA,aB,aC){const b3=aT,aD=setInterval(aA,aB);if(aC?.[b3(0x1fd)]===![])aD[b3(0x224)]();return ad(aD);},'clearInterval'(aA){if(aA)clearInterval(af(aA));}};function ah(aA,aB){const b4=aT,aC=new AbortController();return aA[b4(0x1ad)](()=>aC[b4(0x20d)](new DOMException(b4(0x1b2),b4(0x1e4))),aB,{'ref':![]}),aC[b4(0x207)];}var ai=0x7530,aj=class extends Error{[aT(0x219)];constructor(aA,aB){const b5=aT;super(b5(0x1ee)+aA),this[b5(0x1da)]=b5(0x20a);if(aB!==void 0x0)this[b5(0x219)]=aB;}};async function ak(aA,aB,aC,aD,aE){const b6=aT;try{return await fetch(aA,{...aB,'redirect':b6(0x1db),'signal':AbortSignal[b6(0x215)]([aC,ah(aD[b6(0x1cd)],aD['ms'])])});}catch(aF){if(aC[b6(0x1c5)])throw new aj(b6(0x1ab));if(aF?.[b6(0x1da)]===b6(0x1e4))throw new aj(aE+b6(0x1d8));throw new aj(aE+b6(0x21c));}}async function al(aA,aB,aC,aD,aE=ag){const b7=aT,aF={'clock':aE,'ms':aD},aG=await ak(aA[b7(0x1ae)]+b7(0x1d5),{'method':b7(0x1bd),'headers':{'authorization':b7(0x211)+aB}},aC,aF,b7(0x1c1));let aH;try{aH=await aG[b7(0x1b4)]();}catch{if(aC[b7(0x1c5)])throw new aj(b7(0x1ab));throw new aj(b7(0x21a));}const aI=aG[b7(0x21e)][b7(0x22a)](b7(0x216))??'';if(aG[b7(0x219)]===0xc8&&/^text\/plain\b/i[b7(0x225)](aI)&&aH[b7(0x1ba)]()!=='')return{'type':b7(0x1b5),'access':aH[b7(0x1ba)](),'refresh':'','expires':a5};if(aG[b7(0x219)]===0x193&&aH==='')return{'type':b7(0x1b5),'access':a4,'refresh':'','expires':a5};throw new aj(b7(0x220)+aG[b7(0x219)]+b7(0x1e7),aG[b7(0x219)]);}async function am(aA){const b8=aT,aB=import.meta.resolve(b8(0x1d4)),aC=await import(new URL(b8(0x1e5),aB)[b8(0x1b9)]);if(typeof aC[b8(0x1f2)]!==b8(0x1af))throw new Error(b8(0x201));return new aC[(b8(0x1f2))](aA);}var an=aA=>JSON[aT(0x1c0)](aA,null,0x2);function ao(aA){const b9=aT;if(!aA)return{};const aB=JSON[b9(0x1df)](aA[b9(0x1f8)](/^\uFEFF/,''));if(typeof aB!==b9(0x1c2)||aB===null||Array[b9(0x200)](aB))throw new Error(b9(0x1e2));return aB;}function ap(aA){const ba=aT;return a1(aA)?ao(a2(aA,ba(0x1a5))):{};}function aq(aA){const aB=a6(aA);if(aB===void 0x0)return{'signedIn':![]};const aC=ac(aA);return aC?{'signedIn':!![],'key':aB,'account':aC}:{'signedIn':!![],'key':aB};}function ar(aA){return a6(aA)===void 0x0?void 0x0:ac(aA);}var as=aA=>aA instanceof a7?aA:new a7(aT(0x223),{'unexpected':aA});async function at(aA){const bb=aT,{token:aB,replace:aC,profile:aD,authPath:aE}=aA,aF=aA[bb(0x207)]??new AbortController()[bb(0x207)];if(typeof aB!==bb(0x217)||aB[bb(0x1ba)]()==='')throw new a7(bb(0x22b));const aG=ab(aB,aD);aF[bb(0x1b8)]();let aH;try{aH=ap(aE)[aD[bb(0x203)]];}catch(aL){throw new a7(bb(0x223),{'unexpected':aL});}const aI=ar(aH),aJ=aI!==void 0x0&&aI['id']!==aG['id'];if(aJ&&!aC)throw new a7(bb(0x1c8),{'current':aq(aH)});let aK;try{aK=await al(aD,aB,aF,aA[bb(0x205)]??ai,aA[bb(0x1cd)]);}catch(aM){if(aF[bb(0x1c5)])throw aF[bb(0x20b)];if(!(aM instanceof aj))throw new a7(bb(0x1ce),{'unexpected':aM});throw new a7(aM[bb(0x219)]===0x191?bb(0x221):bb(0x1ce));}try{if(aJ)await aA[bb(0x1b7)]?.();aF[bb(0x1b8)]();const aN=await am(aE);return await aN[bb(0x1cb)](async aO=>{const bc=bb,aP=ao(aO),aQ=ar(aP[aD[bc(0x203)]]);if(aQ!==void 0x0&&aQ['id']!==aG['id']&&!(aC&&aI?.['id']===aQ['id']))throw new a7(bc(0x1c8),{'current':aq(aP[aD[bc(0x203)]])});const aR={...aK,'account':aG};return{'result':aq(aR),'next':an({...aP,[aD[bc(0x203)]]:aR})};},{'signal':aF});}catch(aO){if(aF[bb(0x1c5)])throw aF[bb(0x20b)];throw as(aO);}}async function au(aA){const bd=aT;return aq(a3(aA[bd(0x1f0)][bd(0x203)],aA[bd(0x204)]));}async function av(aA){const be=aT;try{if(!a1(aA[be(0x204)]))return{};const aB=await am(aA[be(0x204)]);return await aB[be(0x1cb)](async aC=>{const bf=be,aD=ao(aC);if(Object[bf(0x1d1)](aD)[bf(0x1d6)]===0x0)return{'result':{}};if(!aA[bf(0x1e9)])return{'result':{'needsSessionsEnded':!![]}};return{'result':{},'next':an({})};});}catch(aC){throw new a7(be(0x223),{'unexpected':aC});}}var aw=a0[aT(0x1da)];function ax(aA){return at({...aA,'profile':a0});}function ay(aA){const bg=aT;return au({'profile':a0,'authPath':aA[bg(0x204)]});}function az(aA){return av(aA);}function c(b,d){b=b-0x19e;const e=a();let f=e[b];if(c['nCoioB']===undefined){var g=function(j){const l='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let m='',n='';for(let o=0x0,p,q,r=0x0;q=j['charAt'](r++);~q&&(p=o%0x4?p*0x40+q:q,o++%0x4)?m+=String['fromCharCode'](0xff&p>>(-0x2*o&0x6)):0x0){q=l['indexOf'](q);}for(let s=0x0,t=m['length'];s<t;s++){n+='%'+('00'+m['charCodeAt'](s)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(n);};c['dRDjAp']=g,c['OIflUu']={},c['nCoioB']=!![];}const h=e[0x0];c['xtMQbt']!==h&&(c['OIflUu']={},c['xtMQbt']=h);const i=c['OIflUu'][b];return i===undefined?(f=c['dRDjAp'](f),c['OIflUu'][b]=f):f=i,f;}export{aw as accountName,az as logout,ax as signIn,ay as state};
|
|
1
|
+
const aT=c;(function(aA,aB){const aS=c,aC=aA();while(!![]){try{const aD=parseInt(aS(0x205))/0x1+parseInt(aS(0x221))/0x2+parseInt(aS(0x1de))/0x3*(parseInt(aS(0x214))/0x4)+parseInt(aS(0x22b))/0x5*(parseInt(aS(0x207))/0x6)+-parseInt(aS(0x21a))/0x7*(-parseInt(aS(0x24d))/0x8)+-parseInt(aS(0x1f4))/0x9+-parseInt(aS(0x215))/0xa;if(aD===aB)break;else aC['push'](aC['shift']());}catch(aE){aC['push'](aC['shift']());}}}(a,0x5ecd3));var d=aT(0x1e3),e=Object[aT(0x230)]([d]);function f(aA){const aU=aT;for(const aB of Object[aU(0x228)](aA))if(aB&&typeof aB===aU(0x245))f(aB);return Object[aU(0x230)](aA);}var g=f({'id':aT(0x1e3),'command':aT(0x1e3),'cliPackage':aT(0x23d),'adapterPackage':aT(0x1da),'stateDir':aT(0x1df),'productName':aT(0x1e7),'developer':aT(0x223),'site':aT(0x1d4),'configDir':aT(0x238),'sourceRepository':aT(0x1fb),'starters':{'kind':aT(0x1eb),'repository':aT(0x233)},'starterUrlBase':aT(0x1f5),'managedBackend':{'repository':aT(0x233)},'telemetryEndpoint':aT(0x1ff),'loginCommand':aT(0x232),'githubCloneDir':aT(0x244),'agentDirEnv':aT(0x240),'updateCheckEnv':aT(0x1cd),'offlineEnv':aT(0x22a),'cacheRetentionEnv':aT(0x204),'oauth':{'keyringService':aT(0x24e),'redirectUri':aT(0x235),'clientName':aT(0x223)},'environments':{'npmPublish':aT(0x208),'npmPublishDogfood':aT(0x1f1)},'localIds':{'build':aT(0x213),'release':aT(0x22e)},'localNames':{'build':aT(0x1e0),'release':aT(0x23e)},'account':{'providerId':aT(0x1e3),'name':aT(0x223),'keycloakBase':aT(0x1d9),'realm':aT(0x1e3),'clientId':aT(0x20d),'cabinetApi':aT(0x22f),'personalAccount':aT(0x1cc),'modelBase':aT(0x21f)},'enterprise':{'providerId':aT(0x1f9),'name':aT(0x1f0)},'language':{'default':'en','selectable':![]}}),n=Object[aT(0x230)]({[d]:g}),o=!![],r=g,s=r,t=o,u=s[aT(0x20b)],v=s[aT(0x1fc)][aT(0x247)](),y=aT(0x203),E=[aT(0x234),aT(0x250),aT(0x1db),aT(0x258)];function F(aA,aB){const aV=aT,aC={...s[aV(0x1d1)]},aD=aA[y];if(aB||!aD)return aC;const aE=JSON[aV(0x1e4)](aD);if(typeof aE!==aV(0x245)||aE===null)throw new Error(y+aV(0x229));for(const aF of E){const aG=aE[aF];if(typeof aG===aV(0x239)&&aG!=='')aC[aF]=aG;}return aC;}var a0=F(process.env,t);import{existsSync as a1,readFileSync as a2}from'node:fs';import{readStoredCredential as a3}from'../vendor/pi-coding-agent.js';var a4=aT(0x24b),a5=0xe677d21fd818;function a6(aA){const aW=aT;if(aA?.[aW(0x1f7)]!==aW(0x257))return void 0x0;const aB=aA[aW(0x1ee)];if(typeof aB!==aW(0x239)||aB[aW(0x216)]()==='')return void 0x0;return aB===a4?aW(0x243):aW(0x21b);}var a7=class extends Error{[aT(0x1ec)];[aT(0x227)];[aT(0x252)];constructor(aA,aB={}){const aX=aT;super(aX(0x256)+aA),this[aX(0x1e8)]=aX(0x1fd),this[aX(0x1ec)]=aA;if(aB[aX(0x227)]!==void 0x0)this[aX(0x227)]=aB[aX(0x227)];if(aX(0x252)in aB)this[aX(0x252)]=aB[aX(0x252)]instanceof Error?aB[aX(0x252)][aX(0x1e8)]:typeof aB[aX(0x252)];}},a8=aA=>typeof aA===aT(0x239)&&aA!=='';function a9(aA){const aY=aT,aB=aA[aY(0x21c)]('.');if(aB[aY(0x1d8)]!==0x3||!aB[aY(0x1f8)](aC=>/^[A-Za-z0-9_-]+$/[aY(0x217)](aC)))return void 0x0;try{const aC=JSON[aY(0x1e4)](Buffer[aY(0x23a)](aB[0x1],aY(0x236))[aY(0x20a)](aY(0x237)));return typeof aC===aY(0x245)&&aC!==null&&!Array[aY(0x219)](aC)?aC:void 0x0;}catch{return void 0x0;}}function aa(aA){const aZ=aT;if(!a8(aA[aZ(0x201)]))return void 0x0;return a8(aA[aZ(0x1ed)])?{'id':aA[aZ(0x201)],'email':aA[aZ(0x1ed)]}:{'id':aA[aZ(0x201)]};}function ab(aA,aB){const b0=aT,aC=a9(aA),aD=aC&&aa(aC);if(!aC||!aD)throw new a7(b0(0x248));if(aC[b0(0x1dd)]!==aB[b0(0x234)]+b0(0x1cf)+aB[b0(0x250)])throw new a7(b0(0x255));if(aC[b0(0x1dc)]!==aB[b0(0x24f)])throw new a7(b0(0x255));return aD;}function ac(aA){const b1=aT;if(typeof aA!==b1(0x245)||aA===null)return void 0x0;const aB=aA[b1(0x1d1)];if(typeof aB!==b1(0x245)||aB===null)return void 0x0;return aa({'sub':aB['id'],'email':aB[b1(0x1ed)]});}var ad=aA=>aA,af=aA=>aA,ag={'now':()=>Date[aT(0x202)](),'monotonic':()=>performance[aT(0x202)](),'setTimeout'(aA,aB,aC){const b2=aT,aD=setTimeout(aA,aB);if(aC?.[b2(0x231)]===![])aD[b2(0x224)]();return ad(aD);},'clearTimeout'(aA){if(aA)clearTimeout(af(aA));},'setInterval'(aA,aB,aC){const b3=aT,aD=setInterval(aA,aB);if(aC?.[b3(0x231)]===![])aD[b3(0x224)]();return ad(aD);},'clearInterval'(aA){if(aA)clearInterval(af(aA));}};function ah(aA,aB){const b4=aT,aC=new AbortController();return aA[b4(0x1f6)](()=>aC[b4(0x251)](new DOMException(b4(0x23b),b4(0x246))),aB,{'ref':![]}),aC[b4(0x1d6)];}var ai=0x7530,aj=class extends Error{[aT(0x21d)];constructor(aA,aB){const b5=aT;super(b5(0x254)+aA),this[b5(0x1e8)]=b5(0x209);if(aB!==void 0x0)this[b5(0x21d)]=aB;}};async function ak(aA,aB,aC,aD,aE){const b6=aT;try{return await fetch(aA,{...aB,'redirect':b6(0x241),'signal':AbortSignal[b6(0x220)]([aC,ah(aD[b6(0x1d2)],aD['ms'])])});}catch(aF){if(aC[b6(0x21e)])throw new aj(b6(0x218));if(aF?.[b6(0x1e8)]===b6(0x246))throw new aj(aE+b6(0x24a));throw new aj(aE+b6(0x1ea));}}async function al(aA,aB,aC,aD,aE=ag){const b7=aT,aF={'clock':aE,'ms':aD},aG=await ak(aA[b7(0x1db)]+b7(0x20e),{'method':b7(0x23c),'headers':{'authorization':b7(0x222)+aB}},aC,aF,b7(0x210));let aH;try{aH=await aG[b7(0x211)]();}catch{if(aC[b7(0x21e)])throw new aj(b7(0x218));throw new aj(b7(0x212));}const aI=aG[b7(0x1f2)][b7(0x24c)](b7(0x22c))??'';if(aG[b7(0x21d)]===0xc8&&/^text\/plain\b/i[b7(0x217)](aI)&&aH[b7(0x216)]()!=='')return{'type':b7(0x257),'access':aH[b7(0x216)](),'refresh':'','expires':a5};if(aG[b7(0x21d)]===0x193&&aH==='')return{'type':b7(0x257),'access':a4,'refresh':'','expires':a5};throw new aj(b7(0x249)+aG[b7(0x21d)]+b7(0x1d3),aG[b7(0x21d)]);}async function am(aA){const b8=aT,aB=import.meta.resolve(b8(0x200)),aC=await import(new URL(b8(0x22d),aB)[b8(0x1d0)]);if(typeof aC[b8(0x20c)]!==b8(0x1e9))throw new Error(b8(0x1ef));return new aC[(b8(0x20c))](aA);}var an=aA=>JSON[aT(0x1e5)](aA,null,0x2);function ao(aA){const b9=aT;if(!aA)return{};const aB=JSON[b9(0x1e4)](aA[b9(0x1f3)](/^\uFEFF/,''));if(typeof aB!==b9(0x245)||aB===null||Array[b9(0x219)](aB))throw new Error(b9(0x1fe));return aB;}function ap(aA){const ba=aT;return a1(aA)?ao(a2(aA,ba(0x237))):{};}function a(){const bh=['DhjPBq','DgvZDa','y2fUy2vSBgvK','AxnbCNjHEq','mJfTqvnyChG','AxnZDwvK','C3bSAxq','C3rHDhvZ','ywjVCNrLza','Ahr0Chm6lY9WBhvNAw4UzxHWBhL0lMfPl29Wzw5HAs9HCgKVDJe','yw55','nty1mdi4suvsqKHO','qMvHCMvYia','rxHWBhL0','Dw5Yzwy','C2vZC2LVBNnfBMrLza','ChjVDMLKzxjjza','y3vYCMvUDa','DMfSDwvZ','igLZig5VDcbHiePtt04GB2jQzwn0','rvHqtfLux09grKXjtKu','ntuYnZe1t0fpAxjO','y29UDgvUDc10ExbL','lI9JB3jLl2f1DgGTC3rVCMfNzs5QCW','zxHWBhL0lwXVy2fSlxjLBgvHC2u','Ahr0Chm6lY9HChaUzxHWBhL0lMfPl2fWAs92ms9KyxrH','zNjLzxPL','CMvM','zxHWBhL0igXVz2LU','zxHWBhL0l2v4CgX5Dc1HAs1Hz2vUDc1KAxn0CMLIDxrPB24','A2v5y2XVywTcyxnL','Ahr0CdOVlZeYnY4WlJaUmtOZnduXnY9JywXSyMfJAW','yMfZzty0DxjS','DxrMoa','lMv4CgX5Da','C3rYAw5N','zNjVBq','vgHLig9WzxjHDgLVBIb0Aw1LzcbVDxqU','r0vu','qgv4CgX5Dc9HAs1Hz2vUDa','rxHWBhL0iefjiefNzw50ieXpq0fmifjftevbu0u','A2v5CW','rvHqtfLux0npreLor19br0vovf9esvi','BwfUDwfS','ywnJB3vUDf91BMf2ywLSywjSzq','BM9Uzq','zxHWBhL0lwDPDgH1yI1YzxbVCW','B2jQzwn0','vgLTzw91DevYCM9Y','Dg9vChbLCKnHC2u','Dg9Rzw5FAw52ywXPza','DgHLihbLCNnVBMfSigfJy291BNqGyw5ZD2vYzwqG','igrPzcbUB3qGyw5ZD2vYigLUihrPBwu','zxHWBhL0lwzYzwu','z2v0','odqWmJq4BKH6vxn0','CgKTBwnWlwfKyxb0zxiUB2f1DgG','y2XPzw50swq','CMvHBg0','ywjVCNq','Dw5LEhbLy3rLza','Dg9Rzw5FCMvQzwn0zwq','tg9NAw4GzMfPBgvKoIa','Dg9Rzw5FzM9YzwLNBG','ywnJB3vUDcbZAwDUlwLUihjLzNvZzwq6ia','B2f1DgG','Bw9KzwXcyxnL','Ahr0Chm6lY9HChaUzxHWBhL0lMfPlW','rvHqtfLux1vqrefurv9dsevdsW','ywnJB3vUDf9TAxnTyxrJAa','l3jLywXTCY8','AhjLzG','ywnJB3vUDa','y2XVy2S','ihrVihrOzsbRzxKGCMvXDwvZDa','zxHWBhL0lMfP','B25by2nVDw50u3DPDgnO','C2LNBMfS','C3rVCMvFzMfPBgvK','BgvUz3rO','Ahr0Chm6lY9HChaUzxHWBhL0lMfPl2TLEwnSB2fR','qgv4CgX5Dc9Hy3aTywrHChrLCG','y2fIAw5LDefWAq','yxPW','AxnZ','ntCXmJzMy1j3AfC','zxHWBhL0lwfPlwfNzw50','rxHWBhL0iefjiefNzw50ieXpq0fmiejvsuXe','D2L0AeXVy2TbC3LUyW','DgLTzw91De1Z','zxHWBhL0','CgfYC2u','C3rYAw5NAwz5','DgHYB3DjzKfIB3j0zwq','rxHWBhL0iefjiefNzw50','BMfTzq','zNvUy3rPB24','ignVDwXKig5VDcbIzsbYzwfJAgvK','z2L0AhvI','CMvHC29U','zw1HAwW','ywnJzxnZ','DgHLigvUz2LUzsDZignYzwrLBNrPywWGC3rVCMuGAxmGDw5HDMfPBgfIBgu','rxHWBhL0ievUDgvYChjPC2u','BNbTlxb1yMXPC2GTzg9NzM9Vza','AgvHzgvYCW','CMvWBgfJzq','mtG4nZm1nezet1PpBG','Ahr0Chm6lY9YyxCUz2L0AhvIDxnLCMnVBNrLBNqUy29Tl2v4CgX5Dc9LEhbSExqTywKTywDLBNqTzgLZDhjPyNv0Aw9Ul21HAw4V','C2v0vgLTzw91Da','DhLWzq','zxzLCNK','zxHWBhL0lwvUDgvYChjPC2u','ChjVzMLSzq','zxHWBhL0l2v4CgX5Dc1HAs1Hz2vUDa','y29TBwfUza','qwnJB3vUDef1DgHfCNjVCG','DgHLignYzwrLBNrPywWGC3rVCMuGAxmGBM90igfUig9IAMvJDa','Ahr0Chm6lY9WBhvNAw4UzxHWBhL0lMfPl3rLBgvTzxrYEq','qgvHCMvUzgLSlxDVCMTZl3bPlwnVzgLUzY1Hz2vUDa','C3vI','BM93','quDftLrFvevtvf9bq0npvu5ux1bst0zjteu','rvHqtfLux0nbq0Hfx1jfvevoveLptG','nJG3mZuXsLjNzenr','Dg9Rzw5FBwLZC2LUzW','mtHqq0XQqxK','BNbTlxb1yMXPC2G','tg9NAw5fCNjVCG','Dg9tDhjPBMC','y29UzMLNrgLY','rMLSzuf1DgHtDg9YywDLqMfJA2vUza','CgX1z2LUlwnSAwvUDa','l3rVA2vUCW','yxv0AfbHDgG','DgHLihbLCNnVBMfSigfJy291BNq','Dgv4Da','DgHLihbLCNnVBMfSigfJy291BNqGyw5ZD2vYignVDwXKig5VDcbIzsbYzwfK','zxHWBhL0lwXVy2fSlwj1AwXK','mtmYyxLkALLr','mty0nJK2mdbkAuHntxK'];a=function(){return bh;};return a();}function c(b,d){b=b-0x1cc;const e=a();let f=e[b];if(c['kKZkhx']===undefined){var g=function(j){const l='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let m='',n='';for(let o=0x0,p,q,r=0x0;q=j['charAt'](r++);~q&&(p=o%0x4?p*0x40+q:q,o++%0x4)?m+=String['fromCharCode'](0xff&p>>(-0x2*o&0x6)):0x0){q=l['indexOf'](q);}for(let s=0x0,t=m['length'];s<t;s++){n+='%'+('00'+m['charCodeAt'](s)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(n);};c['wYNdNn']=g,c['HzkEZb']={},c['kKZkhx']=!![];}const h=e[0x0];c['ZIQxcP']!==h&&(c['HzkEZb']={},c['ZIQxcP']=h);const i=c['HzkEZb'][b];return i===undefined?(f=c['wYNdNn'](f),c['HzkEZb'][b]=f):f=i,f;}function aq(aA){const aB=a6(aA);if(aB===void 0x0)return{'signedIn':![]};const aC=ac(aA);return aC?{'signedIn':!![],'key':aB,'account':aC}:{'signedIn':!![],'key':aB};}function ar(aA){return a6(aA)===void 0x0?void 0x0:ac(aA);}var as=aA=>aA instanceof a7?aA:new a7(aT(0x1d7),{'unexpected':aA});async function at(aA){const bb=aT,{token:aB,replace:aC,profile:aD,authPath:aE}=aA,aF=aA[bb(0x1d6)]??new AbortController()[bb(0x1d6)];if(typeof aB!==bb(0x239)||aB[bb(0x216)]()==='')throw new a7(bb(0x206));const aG=ab(aB,aD);aF[bb(0x1e6)]();let aH;try{aH=ap(aE)[aD[bb(0x226)]];}catch(aL){throw new a7(bb(0x1d7),{'unexpected':aL});}const aI=ar(aH),aJ=aI!==void 0x0&&aI['id']!==aG['id'];if(aJ&&!aC)throw new a7(bb(0x1ce),{'current':aq(aH)});let aK;try{aK=await al(aD,aB,aF,aA[bb(0x1e2)]??ai,aA[bb(0x1d2)]);}catch(aM){if(aF[bb(0x21e)])throw aF[bb(0x1ec)];if(!(aM instanceof aj))throw new a7(bb(0x242),{'unexpected':aM});throw new a7(aM[bb(0x21d)]===0x191?bb(0x253):bb(0x242));}try{if(aJ)await aA[bb(0x1d5)]?.();aF[bb(0x1e6)]();const aN=await am(aE);return await aN[bb(0x1e1)](async aO=>{const bc=bb,aP=ao(aO),aQ=ar(aP[aD[bc(0x226)]]);if(aQ!==void 0x0&&aQ['id']!==aG['id']&&!(aC&&aI?.['id']===aQ['id']))throw new a7(bc(0x1ce),{'current':aq(aP[aD[bc(0x226)]])});const aR={...aK,'account':aG};return{'result':aq(aR),'next':an({...aP,[aD[bc(0x226)]]:aR})};},{'signal':aF});}catch(aO){if(aF[bb(0x21e)])throw aF[bb(0x1ec)];throw as(aO);}}async function au(aA){const bd=aT;return aq(a3(aA[bd(0x1fa)][bd(0x226)],aA[bd(0x20f)]));}async function av(aA){const be=aT;try{if(!a1(aA[be(0x20f)]))return{};const aB=await am(aA[be(0x20f)]);return await aB[be(0x1e1)](async aC=>{const bf=be,aD=ao(aC);if(Object[bf(0x23f)](aD)[bf(0x1d8)]===0x0)return{'result':{}};if(!aA[bf(0x225)])return{'result':{'needsSessionsEnded':!![]}};return{'result':{},'next':an({})};});}catch(aC){throw new a7(be(0x1d7),{'unexpected':aC});}}var aw=a0[aT(0x1e8)];function ax(aA){return at({...aA,'profile':a0});}function ay(aA){const bg=aT;return au({'profile':a0,'authPath':aA[bg(0x20f)]});}function az(aA){return av(aA);}export{aw as accountName,az as logout,ax as signIn,ay as state};
|
|
@@ -62,14 +62,14 @@ const PROFILE = freeze({
|
|
|
62
62
|
"release": "Explyt AI Agent LOCAL RELEASE"
|
|
63
63
|
},
|
|
64
64
|
"account": {
|
|
65
|
-
"providerId": "explyt
|
|
65
|
+
"providerId": "explyt",
|
|
66
66
|
"name": "Explyt",
|
|
67
|
-
"keycloakBase": "https://app.
|
|
68
|
-
"realm": "explyt
|
|
67
|
+
"keycloakBase": "https://app.explyt.ai/keycloak",
|
|
68
|
+
"realm": "explyt",
|
|
69
69
|
"clientId": "plugin-client",
|
|
70
|
-
"cabinetApi": "https://app.
|
|
71
|
-
"personalAccount": "https://app.
|
|
72
|
-
"modelBase": "https://plugin.
|
|
70
|
+
"cabinetApi": "https://app.explyt.ai/api/v1/data",
|
|
71
|
+
"personalAccount": "https://app.explyt.ai/",
|
|
72
|
+
"modelBase": "https://plugin.explyt.ai/openai/api/v1"
|
|
73
73
|
},
|
|
74
74
|
"enterprise": {
|
|
75
75
|
"providerId": "explyt-enterprise",
|
package/dist/cli/engine.js
CHANGED
|
@@ -422,6 +422,20 @@ export function withAgentDir(env, home = homedir()) {
|
|
|
422
422
|
return { ...env, [AGENT_DIR_ENV]: dir, [BRANDED_AGENT_DIR_ENV]: dir, [AGENT_DIR_BRAND_ENV]: BRAND.id };
|
|
423
423
|
}
|
|
424
424
|
|
|
425
|
+
/**
|
|
426
|
+
* Whether the agent directory `withAgentDir(env)` picks is the product's own (spec #23, RQ-1): the
|
|
427
|
+
* default one, the one this brand's own variable names (the launch file sets it for a non-default
|
|
428
|
+
* installation root), or one a product process set (it carries AGENT_DIR_BRAND_ENV; another brand's
|
|
429
|
+
* marker means the inherited value is ignored and the default applies). A `PI_CODING_AGENT_DIR`
|
|
430
|
+
* without a marker is the user's own export and may be shared with a pi run by hand.
|
|
431
|
+
* Read on the environment BEFORE `engineEnv`, which adds the marker.
|
|
432
|
+
*/
|
|
433
|
+
export function isProductAgentDir(env, home = homedir()) {
|
|
434
|
+
const marker = env[AGENT_DIR_BRAND_ENV];
|
|
435
|
+
if (typeof marker === "string" && marker !== "") return true;
|
|
436
|
+
return explicitAgentDir(env[AGENT_DIR_ENV], home) === null;
|
|
437
|
+
}
|
|
438
|
+
|
|
425
439
|
/** The engine's reading of an explicit agent-directory value; null when it counts as unset. */
|
|
426
440
|
function explicitAgentDir(value, home) {
|
|
427
441
|
if (typeof value !== "string" || value.trim() === "") return null;
|
|
@@ -624,12 +638,17 @@ const TUI_MODE_MIGRATION = 1;
|
|
|
624
638
|
* a `/settings` change at the same moment loses nothing. The file is read without the lock first, to
|
|
625
639
|
* decide whether anything needs writing at all.
|
|
626
640
|
*
|
|
641
|
+
* In the product's own agent directory (`ownAgentDir`, see isProductAgentDir) `compaction.enabled`
|
|
642
|
+
* is also written over with `false` (spec #23, RQ-1): the compaction extension owns every
|
|
643
|
+
* compaction. A directory the user chose may be shared with a pi run by hand, so it is left alone.
|
|
644
|
+
*
|
|
627
645
|
* @param {string} agentDir the engine configuration directory
|
|
628
|
-
* @param {{ engineVersion?: string | null }} [options] the version of the engine about to start
|
|
646
|
+
* @param {{ engineVersion?: string | null, ownAgentDir?: boolean }} [options] the version of the engine about to start; whether the directory is the product's own
|
|
629
647
|
* @returns {{ status: "unchanged" | "seeded" | "failed", detail?: string }}
|
|
630
648
|
*/
|
|
631
649
|
export function ensureAgentSettings(agentDir, {
|
|
632
650
|
engineVersion = null,
|
|
651
|
+
ownAgentDir = false,
|
|
633
652
|
read = readFileSync,
|
|
634
653
|
write = writeFileSync,
|
|
635
654
|
rename = renameSync,
|
|
@@ -638,7 +657,7 @@ export function ensureAgentSettings(agentDir, {
|
|
|
638
657
|
lock = lockSettingsSync,
|
|
639
658
|
} = {}) {
|
|
640
659
|
const settingsPath = join(agentDir, "settings.json");
|
|
641
|
-
const planned = settingsUpdate(settingsPath, engineVersion, read);
|
|
660
|
+
const planned = settingsUpdate(settingsPath, engineVersion, ownAgentDir, read);
|
|
642
661
|
if (planned.status !== "write") return planned;
|
|
643
662
|
try {
|
|
644
663
|
mkdir(agentDir, { recursive: true });
|
|
@@ -653,7 +672,7 @@ export function ensureAgentSettings(agentDir, {
|
|
|
653
672
|
}
|
|
654
673
|
try {
|
|
655
674
|
// Read again under the lock: the engine may have written between the first read and now.
|
|
656
|
-
const update = settingsUpdate(settingsPath, engineVersion, read);
|
|
675
|
+
const update = settingsUpdate(settingsPath, engineVersion, ownAgentDir, read);
|
|
657
676
|
if (update.status !== "write") return update;
|
|
658
677
|
const tempPath = tempPathFor(settingsPath);
|
|
659
678
|
const written = writeAtomically(settingsPath, tempPath, `${JSON.stringify(update.seeded, null, 2)}\n`, { write, rename, remove });
|
|
@@ -665,7 +684,7 @@ export function ensureAgentSettings(agentDir, {
|
|
|
665
684
|
}
|
|
666
685
|
|
|
667
686
|
/** What `ensureAgentSettings` would write to `settingsPath` now, or why nothing. */
|
|
668
|
-
function settingsUpdate(settingsPath, engineVersion, read) {
|
|
687
|
+
function settingsUpdate(settingsPath, engineVersion, ownAgentDir, read) {
|
|
669
688
|
let current = {};
|
|
670
689
|
try {
|
|
671
690
|
current = JSON.parse(read(settingsPath, "utf8"));
|
|
@@ -684,7 +703,9 @@ function settingsUpdate(settingsPath, engineVersion, read) {
|
|
|
684
703
|
[TUI_MODE_MIGRATION_KEY]: TUI_MODE_MIGRATION,
|
|
685
704
|
...(current.tuiMode === "regular" ? { tuiMode: "fullscreen" } : {}),
|
|
686
705
|
};
|
|
687
|
-
const
|
|
706
|
+
const section = current.compaction !== null && typeof current.compaction === "object" && !Array.isArray(current.compaction) ? current.compaction : {};
|
|
707
|
+
const compaction = ownAgentDir && section.enabled !== false ? { compaction: { ...section, enabled: false } } : {};
|
|
708
|
+
const changes = { ...Object.fromEntries(missing), ...changelog, ...migration, ...compaction };
|
|
688
709
|
if (Object.keys(changes).length === 0) return { status: "unchanged" };
|
|
689
710
|
return { status: "write", seeded: { ...current, ...changes } };
|
|
690
711
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const cp=c;(function(c1,c2){const co=c,c3=c1();while(!![]){try{const c4=parseInt(co(0x167))/0x1*(-parseInt(co(0x73))/0x2)+-parseInt(co(0x11b))/0x3+parseInt(co(0x166))/0x4+-parseInt(co(0x9a))/0x5*(-parseInt(co(0xff))/0x6)+-parseInt(co(0x120))/0x7+parseInt(co(0xcf))/0x8*(parseInt(co(0x14f))/0x9)+parseInt(co(0xa0))/0xa*(parseInt(co(0xae))/0xb);if(c4===c2)break;else c3['push'](c3['shift']());}catch(c5){c3['push'](c3['shift']());}}}(a,0xd7c98));import{EventEmitter as d}from'node:events';import{createRequire as e}from'node:module';import{dirname as f,join as g}from'node:path';import{fileURLToPath as h}from'node:url';function c(b,d){b=b-0x6b;const e=a();let f=e[b];if(c['aqeySI']===undefined){var g=function(j){const l='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let m='',n='';for(let o=0x0,p,q,r=0x0;q=j['charAt'](r++);~q&&(p=o%0x4?p*0x40+q:q,o++%0x4)?m+=String['fromCharCode'](0xff&p>>(-0x2*o&0x6)):0x0){q=l['indexOf'](q);}for(let s=0x0,t=m['length'];s<t;s++){n+='%'+('00'+m['charCodeAt'](s)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(n);};c['bxrShj']=g,c['HAZYyY']={},c['aqeySI']=!![];}const h=e[0x0];c['CYKoKl']!==h&&(c['HAZYyY']={},c['CYKoKl']=h);const i=c['HAZYyY'][b];return i===undefined?(f=c['bxrShj'](f),c['HAZYyY'][b]=f):f=i,f;}var i=cp(0x136),l=Object[cp(0x169)]([i]);function m(c1){const cq=cp;for(const c2 of Object[cq(0x164)](c1))if(c2&&typeof c2===cq(0x177))m(c2);return Object[cq(0x169)](c1);}var n=m({'id':cp(0x136),'command':cp(0x136),'cliPackage':cp(0x172),'adapterPackage':cp(0xfe),'stateDir':cp(0xc3),'productName':cp(0xdb),'developer':cp(0xf9),'site':cp(0xd3),'configDir':cp(0x10f),'sourceRepository':cp(0xa3),'starters':{'kind':cp(0xea),'repository':cp(0xc7)},'starterUrlBase':cp(0x12d),'managedBackend':{'repository':cp(0xc7)},'telemetryEndpoint':cp(0x174),'loginCommand':cp(0x102),'githubCloneDir':cp(0x150),'agentDirEnv':cp(0x105),'updateCheckEnv':cp(0xbd),'offlineEnv':cp(0x75),'cacheRetentionEnv':cp(0x10e),'oauth':{'keyringService':cp(0x158),'redirectUri':cp(0x137),'clientName':cp(0xf9)},'environments':{'npmPublish':cp(0xc0),'npmPublishDogfood':cp(0xe3)},'localIds':{'build':cp(0xbc),'release':cp(0xeb)},'localNames':{'build':cp(0xd4),'release':cp(0x104)},'account':{'providerId':cp(0xd5),'name':cp(0xf9),'keycloakBase':cp(0x10d),'realm':cp(0xe5),'clientId':cp(0x6e),'cabinetApi':cp(0x74),'personalAccount':cp(0x11d),'modelBase':cp(0x13c)},'enterprise':{'providerId':cp(0x124),'name':cp(0x125)},'language':{'default':'en','selectable':![]}}),o=Object[cp(0x169)]({[i]:n}),p=n,r=p,s=r[cp(0x12f)],t=r[cp(0x8e)][cp(0xf1)]();import{homedir as u}from'node:os';import{join as y}from'node:path';var E=p[cp(0x93)],I=p[cp(0x8a)];import{basename as T,delimiter as a0,dirname as a1,isAbsolute as a2,join as a3,posix as a4,resolve as a5,sep as a6,win32 as a7}from'node:path';import{homedir as a8,platform as a9,tmpdir as aa}from'node:os';var ab=p[cp(0x13d)],ac=p[cp(0x115)],ad=p[cp(0x130)],af=p[cp(0x8e)],ag=af[cp(0xf1)]()+cp(0x134),ah=Object[cp(0x169)]([cp(0xf5),cp(0x151),cp(0xfa)]),ai=Object[cp(0x169)]({'RECHECK_SYNC_BACKEND':cp(0x133),'RECHECK_BACKEND':cp(0x133)}),aj=Object[cp(0x169)]([cp(0x85),cp(0x98),cp(0x9f),cp(0xd7),cp(0x71)]);function ak(c1=process.env,c2=a8()){const cr=cp,c3=c1[cr(0x107)],c4=typeof c3===cr(0x111)&&a2(c3)?c3:a3(c2,cr(0x77),cr(0x15b));return a3(c4,I);}var al=Object[cp(0x169)]([cp(0x153),cp(0xb6)]),am=Object[cp(0x169)]({'quietStartup':!![],'tuiMode':cp(0x175),'fullscreenCopyOnSelect':![],'cacheWarming':cp(0xd6)}),an=p[cp(0x160)],ao=Object[cp(0x169)]([cp(0x10b)]),ap=Object[cp(0x169)](ao[cp(0x6f)](c1=>[cp(0x12a),c1])),aq=Object[cp(0x169)]([cp(0x173),cp(0x14a),cp(0xab),'-r',cp(0x94),'-c']),as=0x40*0x400;function au(c1=process.env,c2=u()){return ak(c1,c2);}function av(){return!![];}function aw(c1,c2=av(),c3=u()){const cs=cp;return c2?y(c3,cs(0x114),cs(0xd1)):y(c1,cs(0xd1));}var ax={...r[cp(0x100)]},ay=0x40,az=/[\u0000-\u001f\u007f-\u009f]/g;function aA(c1){const cu=cp;return c1[cu(0xe2)](/^\s*bearer\s+/i,'')[cu(0xe2)](/\s+/g,'');}function aB(c1){const cv=cp;if(typeof c1!==cv(0x111))return void 0x0;let c2;try{c2=new URL(c1);}catch{return void 0x0;}if(c2[cv(0x8b)]!==cv(0x7f)&&c2[cv(0x8b)]!==cv(0x95))return void 0x0;if(c2[cv(0xec)]||c2[cv(0x7b)]||c2[cv(0x81)]||c2[cv(0xf8)])return void 0x0;if(/[?#]/[cv(0xbe)](c1))return void 0x0;return(''+c2[cv(0x90)]+c2[cv(0xa8)])[cv(0xe2)](/\/+$/,'');}function aC(c1){const cw=cp;if(typeof c1!==cw(0x111))return void 0x0;const c2=Array[cw(0x92)](c1[cw(0xe2)](az,''))[cw(0x106)](0x0,ay)[cw(0x127)]('');return c2===''?void 0x0:c2;}function aD(c1){const cx=cp,c2=c1[cx(0x119)]('.');if(c2[cx(0x14d)]!==0x3||c2[cx(0x91)](c6=>!/^[A-Za-z0-9_-]+$/[cx(0xbe)](c6)))return void 0x0;let c3;try{c3=JSON[cx(0xe9)](Buffer[cx(0x92)](c2[0x1],cx(0x16c))[cx(0x139)](cx(0xcc)));}catch{return void 0x0;}if(!c3||typeof c3!==cx(0x177))return void 0x0;const c4=c3,c5=aB(c4[cx(0xb5)]);if(!c5)return void 0x0;return{'address':c5,'organizationName':aC(c4[cx(0x138)])};}function aE(c1){const cy=cp;if(c1?.[cy(0x96)]!==cy(0xa6))return void 0x0;const c2=c1[cy(0xb2)];if(typeof c2!==cy(0x111))return void 0x0;const c3=aD(c2);return c3?{...c3,'key':c2}:void 0x0;}function a(){const d3=['qgv4CgX5Dc9Hy3aTywrHChrLCG','mta5mLzZCuvvuG','zw50zxjWCMLZzq','ug9VBa','zxHWBhL0igXVz2LU','q2XPzw50','rxHWBhL0iefjiefNzw50ieXpq0fmifjftevbu0u','rvHqtfLux0npreLor19br0vovf9esvi','C2XPy2u','werhx0rbvefFse9nrq','y3DK','l21VzgvSCW','C3vWCg9YDhnFCMvHC29UAw5N','yNvPBhrPBJPSBgfTys5JCha','Ahr0CfbYB3H5','Ahr0Chm6lY9HChaUC3rHz2LUzY5LEhbSExqUywKVA2v5y2XVywS','rvHqtfLux0nbq0Hfx1jfvevoveLptG','lMv4CgX5Da','ihvZzxmGysbJzxj0AwzPy2f0zsb0AgLZig1Hy2HPBMuGzg9LCYbUB3qGDhj1C3qUifnLDcbot0rfx0vyvfjbx0nbx0nfuLrtihrVihrOzsbWyxrOig9MihLVDxiGy29TCgfUEsDZienbignLCNrPzMLJyxrLicHqru0PigfUzcbYzxn0yxj0ihrOzsbHz2vUDcbMCM9TihrOzsb0zxjTAw5HBc4','C3rYAw5N','y29UBMvJDgLVBNm','Dw5KAwnP','lM5LBW','B2zMBgLUzuvUDG','ywnJzxb0CW','l29Wzw5HAs8','C3rHCNrZv2L0Aa','C3bSAxq','ywjVCNq','ndeYotC0oxr1Bg9TCG','q2HLy2TPBMCGDgHLignVBxbHBNKGC2vYDMvYigf0ia','Ahr0Chm6lY9HChaUC3rHz2LUzY5LEhbSExqUywKV','Bg9NAw4','D2fPDa','odGZndG4mNrprvHKzW','C2vJCMv0','y3jLzgvUDgLHBa','ChvIBgLZAa','zxHWBhL0lwvUDgvYChjPC2u','rxHWBhL0ievUDgvYChjPC2u','AxnbCNjHEq','AM9PBG','Dw5Yzwy','ChjVDMLKzxi','ls1LEhrLBNnPB24','D3jPDgu','y29UDgv4Df93Aw5KB3C','Ahr0Chm6lY9YyxCUz2L0AhvIDxnLCMnVBNrLBNqUy29Tl2v4CgX5Dc9LEhbSExqTywKTywDLBNqTzgLZDhjPyNv0Aw9Ul21HAw4V','vgLTzw91DevYCM9Y','y29UzMLNrgLY','y2fJAgvszxrLBNrPB25fBNy','rufdq0vt','C3vWCg9YDhnFDMLZAw9U','ChvYzq','x0npreLor19br0vovf9esvi','igfUC3DLCMvKihDPDgGGysbYzwrPCMvJDcWGD2HPy2GGDgHLigfNzw50igrVzxmGBM90igzVBgXVDY4GqxnRihLVDxiGywrTAw5PC3rYyxrVCIb0BYbJAgvJAYb0AguGC2vYDMvYigfKzhjLC3mGAw4GDgHLigTLEs4','zxHWBhL0','Ahr0CdOVlZeYnY4WlJaUmtOZnduXnY9JywXSyMfJAW','B3jNyw5PEMf0Aw9UtMfTzq','Dg9tDhjPBMC','vgHLignVBxbHBNKGC2vYDMvYigf0ia','ru5pu1Lt','Ahr0Chm6lY9WBhvNAw4UC3rHz2LUzY5LEhbSExqUywKVB3bLBMfPl2fWAs92mq','DxbKyxrLq2HLy2TfBNy','yMfZzvvYBa','zgfYD2LU','y29Kzq','CMvHza','BM90Awz5','u0vmrL9tsuDorurFq0vsvf9jtL9dsefjtG','z2v0vvrdrgf0zq','igHHCYbUBYbpCgvUquKTy29TCgf0AwjSzsbbueKUieL0ig5LzwrZigXPy2vUy2uGC2vYDMvYideUmJqUmcbVCIbSyxrLCJSGyxnRihLVDxiGywrTAw5PC3rYyxrVCI4','ChjVz3jLC3m','y2fSBa','ywrKCMvZCW','Aw1Hz2u','ls1MB3jR','DgHLigXVy2fSig1VzgvSihn0yxrLignVDwXKig5VDcbIzsbZEw5JAhjVBML6zwq7ihj1BIb0AguGBg9NAw4GywDHAw4','vvrd','BgvUz3rO','zw50zxjWCMLZzsbSB2DPBIbZDg9YzwqGzM9Yia','mtHov2vNvwC','zxHWBhL0lwDPDgH1yI1YzxbVCW','rvHqtfLux1rftevnrvrswv9dt05wrvjtqvrjt05Fsuq','ywXSB3Dozxr3B3jR','uKfesvvtx0fqsv9lrvK','vu5bqKXfx1rpx1zfuKLgwv9mrufgx1njr05bvfvsrq','C2LNBMfS','rvbfuK0','vgHLigXVz2LUihDHCYbJyw5JzwXSzwqU','CgKTBwnWlwfKyxb0zxiUB2f1DgG','ru5pvfnvua','vgHLihn0B3jLzcbfBNrLCNbYAxnLiefqssbRzxKGAxmGBM90ihzHBgLKoYbSB2CGAw4GywDHAw4U','C2HHCMu','ywjVCNrLza','ruvysvnu','CMvUyw1L','CMvNAxn0zxjoyxrPDMvqCM92AwrLCG','z2L0AhvIq2XVBMveAxi','ChjVDMLKzxjjza','C3rYzwfTu2LTCgXL','Bwf5qMvJB21L','DMfSDwvZ','BwfUDwfS','mtC3otCWmhHuB3jNrG','n2zYsMXrDG','qwjVCNrfCNjVCG','zNjLzxPL','DgLTzw91De1Z','vgHLig1VzgvSigXPC3qGB2yG','yMfZzty0DxjS','z2v0shr0CeLKBgvuAw1LB3v0txm','qgvHCMvUzgLSlxDVCMTZl3bPlwnVzgLUzY1Hz2vUDa','z2v0vvrdrNvSBfLLyxi','B3bLBMfPlwnVBxbSzxrPB25Z','BNvTyMvY','qgv4CgX5Dc9HAs1Hz2vUDa','ls1ZzxnZAw9U','Ahr0Chm6lY9WBhvNAw4UzxHWBhL0lMfPl3rLBgvTzxrYEq','zNvSBhnJCMvLBG','BgLUAW','B2jQzwn0','zgf0yq','revqveHFwKvst19truXgx1njr05frf9drvju','vu5ltK9xtG','ywDLBNreAxi','CgX1z2LUlwnSAwvUDa','zMXHDe1HCa','z2v0r2XVyMfSu2v0DgLUz3m','q0HbtKDfte9hlM1K','BM9Kzv9TB2r1BgvZ','mtyYntm4zxvSDgfW','Ahr0Chm6lY9HChaUC3rHz2LUzY5LEhbSExqUywKVyxbPl3yXl2rHDge','rvHqtfLux09grKXjtKu','CgXHDgzVCM0','lMXVy2fS','DgHLigvUDgvYChjPC2uGBg9NAw4GzMfPBgvK','vu5bqKXfx1rpx0Dfvf9ju1nvrvjFq0vsva','ChvZAa','CgfZC3DVCMq','vgHLig9WzxjHDgLVBIb0Aw1LzcbVDxqU','CMvM','igTLChqGy2HHBMDPBMCGD2HPBguGAxqGD2fZihjLCgXHy2vK','Ahr0CdO','vu5bqKXfx1rpx0Dfvf9ju1nvrvjFq0vsvf9mt0nbteXz','C2vHCMnO','C3rVCMvK','C2v0vgLTzw91Da','A2v5','zgLZDa','B25szwzYzxnO','y2fUy2vS','lIbdAgvJAYb5B3vYifzqtIbVCIbVzMzPy2uGBMv0D29YAY4','ru5pru5u','C3rHDgveAxi','ChjVDg9JB2W','q0vsvf9vtLrsvvnuruq','CgfJA2fNzs5QC29U','y29TBwfUza','Bw9KzwXZ','B3jPz2LU','C29Tzq','zNjVBq','y2XPugfJA2fNzq','ls1JB250Aw51zq','Ahr0Chm6','DhLWzq','zM9Yy2u','zg9JCW','y2f0y2G','mJKXndvsq2jkCeq','zxjYB3i','EhH4EhH4EhGTEhH4Ec14EhH4lxH4EhGTEhH4EhH4EhH4EhH4','Bw9KzwXZlxn0B3jLlMPZB24','ChjVBxb0','zxHHBxbSzxm','otK5mZm1mfjzwgjmua','ig9MzMvYCYbUBYbTB2rLBhmUiefZAYb5B3vYigfKBwLUAxn0CMf0B3iU','DhjPBq','zxHWBhL0l2v4CgX5Dc1HAs1Hz2vUDa','D2LUmZi','ruLp','B2f1DgG','AwrLBNrPDhLeAxi','Cgf0Ag5HBwu','Bg9JA2vK','igfUC3DLCMvKia','ls1Yzxn1Bwu','AxngAw5PDgu','C2v0r2XVyMfSrgLZCgf0y2HLCG','mtfJuhjfB1K','C3rYzwfT','rvHervy','yxv0AfbHDgG','ywnJzxnZ','z2v0vvrdtw9UDgG','yM9KEq','C3vI','ueLFuKfesvvtx0DbvevxqvK','BMfTzq','CMvHC29U','q2fUBM90ihjLywnOihrOzsbJB21Wyw55ihnLCNzLCIbHDca','zw5KC1DPDgG','z2v0','zxHWBhL0lwXVy2fSlwj1AwXK','rvHqtfLux1vqrefurv9dsevdsW','DgvZDa','ywrK','BNbTlxb1yMXPC2G','ihDHCYbUB3qGC2f2zwqUifvZzsbszwzYzxnOig1VzgvSCY4','Aw5ZDgfSBa','zxHWBhL0lwfPlwfNzw50','yxv0Ac5QC29U','CgLK','y2f1C2u','zxHWBhL0l2v4CgX5Dc1HAs1Hz2vUDc1KAxn0CMLIDxrPB24','ChjVDg90ExbL','y2HHDa','zxHWBhL0lwnSAq','BgLUDxG','DxrMoa','B3bHCxvLCMvKAxjLy3q','yxbWBgLJyxrPB24VANnVBG','nJm0nti3mLnozKnQtq','lIbbC2SGEw91CIbHzg1PBMLZDhjHDg9YlG','AwrLBNrPDhK','lNrTCa','zxHWBhL0lMfP','rxHWBhL0iefjiefNzw50ieXpq0fmiejvsuXe','zxHWBhL0lxn0ywDPBMC','B2zM','uKvbre1flM1K','BM93','C3rHDhvZ','qMvHCMvYia','rxHWBhL0iefjiefNzw50','iefqssbRzxK','y3jLyxrL','C2v0','zMLSDgvY','DgHLigfNzw50igvUz2LUzsbPCYbTAxnZAw5NicG','yw55','CMvWBgfJzq','BNbTlxb1yMXPC2GTzg9NzM9Vza','BwvZC2fNzq','zxHWBhL0lwfJy291BNqTDgvZDa','Bw9KzwXZlMPZB24','rw52shr0CfbYB3H5qwDLBNq','C2v0DgXLtxm','CgfYC2u','z2L0AhvI','zxHWBhL0lwXVy2fSlxjLBgvHC2u','DxnLCM5HBwu','zMv0y2G','rujvu1K','Bwf4x291Dhb1Df90B2TLBNm','vgHLigTLEsbPCYbUB3qGyw4Grw50zxjWCMLZzsbbueKGA2v5lIbbC2SGEw91CIbHzg1PBMLZDhjHDg9YigzVCIb0AguGA2v5ihrOzsbSAwnLBMnLihnLCNzLCIbPC3n1zwqU','Dg9vChbLCKnHC2u','AgfZ','CgfKu3rHCNq','C3rKzxjY','rvHqtfLux1rftevnrvrswv9dteLftLq','igrPzcbUB3qGyw5ZD2vYihDPDgGGysbTB2rLBcbSAxn0lIbbihbYB3H5ig1HEsbIzsbPBNrLCMnLChrPBMCGDgHLihjLCxvLC3qU','l3yX','AgfZAa','rxHWBhL0','rvHqtfLux1rftevnrvrswv9br0vovf9uvvjox0Le','ru9qtK9uu1vqua','Aw5ZDgfSBgf0Aw9UlMLK','Dgv4Da'];a=function(){return d3;};return a();}import{readFileSync as aF}from'node:fs';import{join as aG}from'node:path';import{openAICompletionsApi as aH}from'@earendil-works/pi-ai/api/openai-completions.lazy';import{getAgentDir as aI}from'../vendor/pi-coding-agent.js';var aJ=0xe677d21fd818,aK=cp(0xca),aL=0x1f400,aM=0x4000,aN=(c1,c2)=>typeof c1===cp(0x171)&&Number[cp(0xac)](c1)&&c1>0x0?c1:c2;function aO(c1,c2,c3={}){const cz=cp;return{'id':c2,'name':c2,'api':cz(0x170),'provider':c1[cz(0x161)],'baseUrl':c1[cz(0x13e)],'reasoning':c3[cz(0x10a)]===!![],'input':c3[cz(0x132)]===!![]?[cz(0xfd),cz(0x149)]:[cz(0xfd)],'cost':{'input':0x0,'output':0x0,'cacheRead':0x0,'cacheWrite':0x0},'contextWindow':aN(c3[cz(0x12c)],aL),'maxTokens':aN(c3[cz(0xef)],aM),'compat':{'supportsDeveloperRole':![]}};}function aP(c1,c2){const cA=cp;return(c1?.[cA(0x8f)]??[])[cA(0xdf)](c3=>c3[cA(0x129)]===c2&&(c3[cA(0x96)]??cA(0xc9))===cA(0xc9));}function aQ(c1,c2){const cB=cp;if(!Array[cB(0x126)](c2?.[cB(0x178)]))return void 0x0;const c3=new Set(),c4=[];for(const c5 of c2[cB(0x178)]){const c6=c5?.['id'];if(typeof c6!==cB(0x111)||c6===''||c3[cB(0xf2)](c6))continue;c3[cB(0xbf)](c6),c4[cB(0x7a)](aO(c1,c6,c5));}return c4;}import{randomBytes as aR,randomUUID as aS}from'node:crypto';import{linkSync as aT,mkdirSync as aU,readFileSync as aV,renameSync as aW,rmSync as aX,writeFileSync as aY}from'node:fs';import{join as aZ,resolve as b0}from'node:path';import{randomUUID as b1}from'node:crypto';var b2=0x6+0x1+0x24,b3=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/,b4=new Set(['0','1','2','3']);function b5(c1){const cC=cp;switch(c1){case cC(0xa4):return'1';case cC(0x13f):return'2';case cC(0xcb):return'3';default:return'0';}}function b6(c1){const cD=cp;if(!/^\d{6}$/[cD(0xbe)](c1))return![];const c2=Number(c1[cD(0x106)](0x0,0x2)),c3=Number(c1[cD(0x106)](0x2,0x4)),c4=0x7d0+Number(c1[cD(0x106)](0x4,0x6));if(c3<0x1||c3>0xc||c2<0x1)return![];return c2<=new Date(Date[cD(0x14c)](c4,c3,0x0))[cD(0x144)]();}function b7(c1){const cE=cp;return c1[cE(0x14d)]===b2&&b6(c1[cE(0x106)](0x0,0x6))&&b4[cE(0xf2)](c1[0x6])&&b3[cE(0xbe)](c1[cE(0x106)](0x7));}var b8=cp(0x9c);function b9(c1){const cF=cp;if(c1[cF(0x14d)]>=b2)return![];const c2=c1[cF(0x106)](0x0,0x6);if(!/^\d*$/[cF(0xbe)](c2))return![];if(c2[cF(0x14d)]>=0x1&&c2[0x0]>'3')return![];if(c2[cF(0x14d)]>=0x2&&(Number(c2[cF(0x106)](0x0,0x2))<0x1||Number(c2[cF(0x106)](0x0,0x2))>0x1f))return![];if(c2[cF(0x14d)]>=0x3&&c2[0x2]>'1')return![];if(c2[cF(0x14d)]>=0x4&&(Number(c2[cF(0x106)](0x2,0x4))<0x1||Number(c2[cF(0x106)](0x2,0x4))>0xc))return![];if(c2[cF(0x14d)]===0x6&&!b6(c2))return![];if(c1[cF(0x14d)]>0x6&&!b4[cF(0xf2)](c1[0x6]))return![];const c3=c1[cF(0x106)](0x7);for(let c4=0x0;c4<c3[cF(0x14d)];c4+=0x1){const c5=b8[c4]==='-'?c3[c4]==='-':/[0-9a-f]/[cF(0xbe)](c3[c4]);if(!c5)return![];}return!![];}function ba(c1=new Date(),c2=process[cp(0x76)]){const cG=cp,c3=c5=>String(c5)[cG(0xf3)](0x2,'0'),c4=''+c3(c1[cG(0x144)]())+c3(c1[cG(0xb3)]()+0x1)+c3(c1[cG(0x16f)]()%0x64);return''+c4+b5(c2)+b1();}var bb=cp(0xfc),bc=0x3e8,bd=0x14,bf={'link':aT,'read':c1=>aV(c1,cp(0xcc)),'rename':aW,'write':(c1,c2,c3)=>aY(c1,c2,c3)},bg=new Set([cp(0x156),cp(0x159),cp(0xfb),cp(0x13b),cp(0xb0)]),bh=new Set([cp(0xee),cp(0x156),cp(0x131),cp(0xa5),cp(0x6c)]),bi=0x8,bj=c1=>c1[cp(0x140)]??'',bk={'accepts':b7,'mayBecome':b9},bl=c1=>c1+'.'+process[cp(0xc5)]+'.'+aS()+cp(0xd2),bm=new Int32Array(new SharedArrayBuffer(0x4));function bn(c1){const cH=cp;Atomics[cH(0x11f)](bm,0x0,0x0,c1);}function bo(c1,c2){const cI=cp;try{return c1['io'][cI(0x141)](c2)[cI(0xa2)]();}catch(c3){if(bj(c3)===cI(0x89))return void 0x0;if(c1[cI(0xa9)](c3))return'';throw c3;}}function bp({io:c1},c2,c3){const cJ=cp,c4=bl(c2);c1[cJ(0x12b)](c4,c3,{'mode':0x180});try{return c1[cJ(0x176)](c4,c2),!![];}catch(c5){if(bj(c5)===cJ(0x15d))return![];if(!bg[cJ(0xf2)](bj(c5)))throw c5;}finally{aX(c4,{'force':!![]});}try{return c1[cJ(0x12b)](c2,c3,{'flag':'wx','mode':0x180}),!![];}catch(c6){if(bj(c6)===cJ(0x15d))return![];throw c6;}}function bq(c1,c2){const cK=cp,c3=bl(c2),c4=Date[cK(0xd8)]()+c1[cK(0xe8)];for(;;){try{return c1['io'][cK(0x15e)](c2,c3),c3;}catch(c5){if(bj(c5)===cK(0x89))return void 0x0;if(!c1[cK(0xa9)](c5)||Date[cK(0xd8)]()>=c4)throw c5;bn(bd);}}}function br(c1,c2,c3,c4,c5){const cL=cp;aU(c1,{'recursive':!![]});const c6=aZ(c1,c2),c7=Date[cL(0xd8)]()+c5[cL(0xe8)];for(let c8=0x0;c8<bi;){const c9=bo(c5,c6);if(c9!==void 0x0&&c3[cL(0x116)](c9))return c9;if(c9===void 0x0){if(bp(c5,c6,c4))return c4;c8+=0x1;continue;}if((c9===''||c3[cL(0x163)](c9))&&Date[cL(0xd8)]()<c7){bn(bd);continue;}c8+=0x1;const ca=bq(c5,c6);if(ca===void 0x0)continue;try{const cb=bo(c5,ca),cc=cb!==void 0x0&&c3[cL(0x116)](cb)?cb:c4;if(bp(c5,c6,cc))return cc;}finally{aX(ca,{'force':!![]});}}throw new Error(c2+cL(0x7e));}var bs=new Map();function bu(c1,c2,c3,c4,c5){const cM=cp,c6=bs[cM(0xbb)](b0(c1))??new Map();bs[cM(0xde)](b0(c1),c6);const c7=c6[cM(0xbb)](c2);if(c7!==void 0x0)return c7;const c8=c5[cM(0x76)]??process[cM(0x76)],c9={'io':c5['io']??bf,'settleMs':c5[cM(0xe8)]??bc,'locked':cc=>c8===cM(0xa4)&&bh[cM(0xf2)](bj(cc))},ca=c4();let cb;try{cb=br(c1,c2,c3,ca,c9);}catch{cb=ca;}return c6[cM(0xde)](c2,cb),cb;}function bv(c1,c2={}){return bu(c1,bb,bk,()=>ba(),c2);}var bw=c1=>c1,bx=c1=>c1,by={'now':()=>Date[cp(0xd8)](),'monotonic':()=>performance[cp(0xd8)](),'setTimeout'(c1,c2,c3){const cN=cp,c4=setTimeout(c1,c2);if(c3?.[cN(0x7d)]===![])c4[cN(0x128)]();return bw(c4);},'clearTimeout'(c1){if(c1)clearTimeout(bx(c1));},'setInterval'(c1,c2,c3){const cO=cp,c4=setInterval(c1,c2);if(c3?.[cO(0x7d)]===![])c4[cO(0x128)]();return bw(c4);},'clearInterval'(c1){if(c1)clearInterval(bx(c1));}};function bz(c1,c2){const cP=cp,c3=new AbortController();return c1[cP(0x83)](()=>c3[cP(0x11a)](new DOMException(cP(0x7c),cP(0x12e))),c2,{'ref':![]}),c3[cP(0x155)];}var bA=0x7530,bB=cp(0xf0),bC=cp(0x15a),bD=cp(0x157),bE=c1=>cp(0x11c)+c1+'…',bF=c1=>cp(0x16b)+c1+cp(0xc1),bG=c1=>cp(0xb9)+c1+cp(0x88),bH=c1=>cp(0x13a)+c1+cp(0x110),bI=c1=>cp(0x13a)+c1+cp(0x135),bJ=c1=>cp(0x13a)+c1+cp(0x145),bK=c1=>cp(0x13a)+c1+cp(0xf6),bL=c1=>cp(0x13a)+c1+cp(0xa1),bM=(c1,c2)=>cp(0x13a)+c1+cp(0xaa)+c2+cp(0xd0),bN=new Set([cp(0x154),cp(0x143),cp(0x6b),cp(0x79),cp(0x80),cp(0x8c)]);function bO(c1){const cQ=cp;for(let c2=c1,c3=0x0;c2&&c3<0x5;c2=c2[cQ(0xc6)],c3+=0x1){const c4=c2[cQ(0x140)];if(typeof c4===cQ(0x111)&&bN[cQ(0xf2)](c4))return!![];}return![];}function bP(c1){const cR=cp;try{const c2=aF(c1,cR(0xcc));if(c2[cR(0xa2)]()!=='')JSON[cR(0xe9)](c2[cR(0xe2)](/^\uFEFF/,''));return!![];}catch(c3){return c3?.[cR(0x140)]===cR(0x89);}}function bQ(c1){const cS=cp,c2=ax,c3=c1[cS(0x16a)]??bA,c4=c1[cS(0xed)]??((cf,cg)=>fetch(cf,cg)),c5=()=>c1[cS(0xb1)]??aG(aI(),cS(0xc4)),c6=cf=>cf+cS(0x117)+bv(c1[cS(0xa7)])+cS(0xf7),c7=()=>({'X-Device-ID':bv(c1[cS(0xa7)]),'X-Title':aK});async function c8(cf,cg,ch){const cT=cS,ci=AbortSignal[cT(0xe1)]([ch,bz(by,c3)]);let cj;try{cj=await c4(c6(cg)+cT(0x109),{'headers':{...c7(),'authorization':cT(0xda)+cf,'accept':cT(0xce)},'redirect':cT(0x165),'signal':ci});}catch(cm){if(ch[cT(0x15c)])throw new Error(bD,{'cause':cm});throw new Error(bO(cm)?bH(cg):bG(cg),{'cause':cm});}if(cj[cT(0xd9)]!==0xc8){await cj[cT(0xb4)]?.[cT(0x87)]()[cT(0x99)](()=>{});if(cj[cT(0x96)]===cT(0xcd)||cj[cT(0xd9)]>=0x12c&&cj[cT(0xd9)]<0x190)throw new Error(bI(cg));if(cj[cT(0xd9)]===0x194)throw new Error(bJ(cg));throw new Error(bM(cg,cj[cT(0xd9)]));}let ck;try{ck=JSON[cT(0xe9)](await cj[cT(0xfd)]());}catch{if(ch[cT(0x15c)])throw new Error(bD);if(ci[cT(0x15c)])throw new Error(bG(cg));throw new Error(bK(cg));}const cl=aQ({'providerId':c2[cT(0x161)],'baseUrl':c6(cg)},ck);if(!cl)throw new Error(bK(cg));if(cl[cT(0x14d)]===0x0)throw new Error(bL(cg));return cl;}let c9,ca=[];async function cb(cf){const cU=cS,{signal:cg}=cf;if(cg[cU(0x15c)])throw new Error(bD);const ch=await cf[cU(0x9e)]({'type':cU(0x121),'message':c2[cU(0xb7)]+cU(0xdc),'signal':cg}),ci=aA(ch),cj=aD(ci);if(!cj)throw new Error(bB);cf[cU(0x142)]({'type':cU(0x146),'message':bE(cj[cU(0x148)])});const ck=await c8(ci,cj[cU(0x148)],cg);return c9={'key':ci,'models':ck},{'type':cU(0xa6),'access':ci,'refresh':'','expires':aJ};}async function cc(cf){const cV=cS;try{c1[cV(0x86)]?.();}catch{}const cg=aE(cf[cV(0x122)]);if(!cg){await cf[cV(0x123)]({'persist':bP(c5())?null:void 0x0,'update':()=>{ca=[];}});return;}const ch=c9;if(ch&&ch[cV(0x84)]===cg[cV(0x84)]){let cm;try{cm=await cf[cV(0x123)]({'persist':{'models':ch[cV(0x8f)],'checkedAt':by[cV(0xd8)]()},'update':()=>{const cW=cV;ca=ch[cW(0x8f)];}});}catch{throw new Error(bF(cg[cV(0x148)]));}if(cm&&c9===ch)c9=void 0x0;if(!cm&&!cf[cV(0x155)][cV(0x15c)])throw new Error(bF(cg[cV(0x148)]));return;}const ci=cg[cV(0x148)]+cV(0x117),cj=aP(cf[cV(0x82)],c2[cV(0x161)])[cV(0xdf)](cn=>cn[cV(0x13e)][cV(0x118)](ci)),ck=await cf[cV(0x123)]({'update':()=>{ca=cj;}});if(!ck||!cf[cV(0x152)]||!cf[cV(0x97)]||cf[cV(0x155)][cV(0x15c)])return;const cl=await c8(cg[cV(0x84)],cg[cV(0x148)],cf[cV(0x155)]);if(cf[cV(0x155)][cV(0x15c)])return;await cf[cV(0x123)]({'persist':{'models':cl,'checkedAt':by[cV(0xd8)]()},'update':()=>{ca=cl;}});}const cd=aH();return{'id':c2[cS(0x161)],'name':c2[cS(0xb7)],'baseUrl':'','auth':{'oauth':{'name':c2[cS(0xb7)],'login':cb,'refresh':async cf=>cf,'toAuth':async cf=>{const cX=cS,cg=aE(cf);if(!cg)throw new Error(bC);return{'apiKey':cg[cX(0x84)],'baseUrl':c6(cg[cX(0x148)]),'headers':c7()};}}},'getModels':()=>ca,'refreshModels':cc,'filterModels':(cf,cg)=>aE(cg)?[...cf]:[],'stream':(cf,cg,ch)=>cd[cS(0xaf)](cf,cg,ch),'streamSimple':(cf,cg,ch)=>cd[cS(0x162)](cf,cg,ch)};}var bR=cp(0x16e),bS=0x7d0;function bT(){const cY=cp,c1=h(import.meta.resolve(bR));let c2=f(c1);while(!c2[cY(0xba)](g(cY(0x72),...bR[cY(0x119)]('/')))&&f(c2)!==c2)c2=f(c2);return e(g(c2,cY(0x8d)))(cY(0x113));}var bU=()=>{};function bV(c1){const cZ=cp;if(c1 instanceof d)d[cZ(0xc8)]['on'][cZ(0x147)](c1,cZ(0x9b),bU);return c1;}function bW(c1,c2){const d0=cp,c3=c1?.[d0(0xa2)]();c3&&(process.env.HTTP_PROXY??=c3,process.env.HTTPS_PROXY??=c3);const c4=bT(),c5=(c7,c8)=>bV(new c4[(d0(0x103))](c7,c8)),c6=(c7,c8)=>c8[d0(0x112)]===0x1?c5(c7,c8):bV(new c4[(d0(0x101))](c7,{...c8,'factory':c5}));c4[d0(0xad)](bV(new c4[(d0(0xe7))]({'allowH2':![],'proxyTunnel':!![],'bodyTimeout':c2,'connect':{'autoSelectFamilyAttemptTimeout':bS},'headersTimeout':c2,'clientFactory':c5,'factory':c6}))),c4[d0(0xc2)]?.();}var bX=c1=>c1 instanceof Error&&c1[cp(0xe4)]?c1[cp(0xe4)]:cp(0x78);function bY(c1,c2){const d1=cp,c3=bF(c2);for(let c4=c1[d1(0xc6)],c5=0x0;c4&&c5<0x5;c4=c4[d1(0xc6)],c5+=0x1){if(c4[d1(0xe4)]===c3)return c3;}return void 0x0;}var bZ=(c1,c2)=>c2[cp(0x15c)]&&(c1===c2[cp(0xb8)]||c1?.[cp(0xb7)]===cp(0x168)||c1?.[cp(0xe4)]===bD);async function c0(c1,c2){const d2=cp,c3=c9=>c2[d2(0xf4)](r[d2(0x8e)]+':\x20'+c9+'\x0a'),c4=aA(c1);let c5;try{c5=await import(bR);}catch{return c3(d2(0xe0)+bR+')'),0x1;}const {ModelRuntime:c6,CredentialSynchronizationError:c7,SettingsManager:c8}=c5;try{const c9=c8[d2(0xdd)](c2[d2(0x108)]??process[d2(0x108)](),c2[d2(0x6d)],{'projectTrusted':![]});bW(c9[d2(0x70)]()[d2(0x10c)],c9[d2(0x16d)]());const ca=await c6[d2(0xdd)]({'authPath':g(c2[d2(0x6d)],d2(0xc4)),'modelsPath':g(c2[d2(0x6d)],d2(0xe6)),'modelsStorePath':g(c2[d2(0x6d)],d2(0x9d)),'refreshOnCreate':![]});ca[d2(0x15f)](bQ({'identityDir':aw(au()),'authPath':g(c2[d2(0x6d)],d2(0xc4))}));let cb,cc;try{cc=await ca[d2(0x11e)](ax[d2(0x161)],d2(0xa6),{'signal':c2[d2(0x155)],'prompt':async()=>c4,'notify':()=>{}});}catch(cf){if(!(cf instanceof c7))throw cf;cb=cf,cc=cf[d2(0x122)];}const {address:cd}=aD(cc[d2(0xb2)]);c3(d2(0x14e)+cd);if(cb)c3(bY(cb,cd)??d2(0x14b));return 0x0;}catch(cg){if(bZ(cg,c2[d2(0x155)]))return d2(0x15c);return c3(bX(cg)),0x1;}}export{c0 as runEnterpriseLogin};
|
|
1
|
+
const cq=c;(function(c2,c3){const cp=c,c4=c2();while(!![]){try{const c5=parseInt(cp(0x14a))/0x1+parseInt(cp(0x161))/0x2+-parseInt(cp(0x123))/0x3+parseInt(cp(0x167))/0x4*(-parseInt(cp(0x17a))/0x5)+-parseInt(cp(0x164))/0x6*(parseInt(cp(0x184))/0x7)+-parseInt(cp(0xe9))/0x8+parseInt(cp(0xde))/0x9;if(c5===c3)break;else c4['push'](c4['shift']());}catch(c6){c4['push'](c4['shift']());}}}(a,0xb9873));import{EventEmitter as d}from'node:events';import{createRequire as e}from'node:module';import{dirname as f,join as g}from'node:path';import{fileURLToPath as h}from'node:url';var i=cq(0x15b),l=Object[cq(0x137)]([i]);function m(c2){const cr=cq;for(const c3 of Object[cr(0xe5)](c2))if(c3&&typeof c3===cr(0x81))m(c3);return Object[cr(0x137)](c2);}var n=m({'id':cq(0x15b),'command':cq(0x15b),'cliPackage':cq(0x154),'adapterPackage':cq(0xa5),'stateDir':cq(0xeb),'productName':cq(0xb9),'developer':cq(0x132),'site':cq(0x182),'configDir':cq(0x117),'sourceRepository':cq(0xf8),'starters':{'kind':cq(0xba),'repository':cq(0x8b)},'starterUrlBase':cq(0x15a),'managedBackend':{'repository':cq(0x8b)},'telemetryEndpoint':cq(0x17f),'loginCommand':cq(0x179),'githubCloneDir':cq(0xd7),'agentDirEnv':cq(0xc8),'updateCheckEnv':cq(0x100),'offlineEnv':cq(0x162),'cacheRetentionEnv':cq(0x158),'oauth':{'keyringService':cq(0xc9),'redirectUri':cq(0xc7),'clientName':cq(0x132)},'environments':{'npmPublish':cq(0xfb),'npmPublishDogfood':cq(0x144)},'localIds':{'build':cq(0x16b),'release':cq(0x15d)},'localNames':{'build':cq(0xb8),'release':cq(0xdf)},'account':{'providerId':cq(0x15b),'name':cq(0x132),'keycloakBase':cq(0x16f),'realm':cq(0x15b),'clientId':cq(0xd3),'cabinetApi':cq(0x16c),'personalAccount':cq(0x12c),'modelBase':cq(0x145)},'enterprise':{'providerId':cq(0xe6),'name':cq(0xdb)},'language':{'default':'en','selectable':![]}}),o=Object[cq(0x137)]({[i]:n}),p=n,r=p,s=r[cq(0xa1)],t=r[cq(0xa9)][cq(0x101)]();import{homedir as u}from'node:os';import{join as y}from'node:path';var E=p[cq(0x108)],T=p[cq(0x180)];import{basename as a0,delimiter as a1,dirname as a2,isAbsolute as a3,join as a4,posix as a5,resolve as a6,sep as a7,win32 as a8}from'node:path';import{homedir as a9,platform as aa,tmpdir as ab}from'node:os';var ac=p[cq(0x186)],ad=p[cq(0xb0)],af=p[cq(0x124)],ag=p[cq(0xa9)],ah=ag[cq(0x101)]()+cq(0x148),ai=Object[cq(0x137)]([cq(0xcf),cq(0x118),cq(0x150)]),aj=Object[cq(0x137)]({'RECHECK_SYNC_BACKEND':cq(0x16d),'RECHECK_BACKEND':cq(0x16d)}),ak=Object[cq(0x137)]([cq(0x91),cq(0x9b),cq(0x17e),cq(0xee),cq(0xa7)]);function al(c2=process.env,c3=a9()){const cs=cq,c4=c2[cs(0x121)],c5=typeof c4===cs(0x16a)&&a3(c4)?c4:a4(c3,cs(0x189),cs(0xea));return a4(c5,T);}var am=Object[cq(0x137)]([cq(0x10e),cq(0xb5)]),an=Object[cq(0x137)]({'quietStartup':!![],'tuiMode':cq(0xf1),'fullscreenCopyOnSelect':![],'cacheWarming':cq(0x160)}),ao=p[cq(0xc0)],ap=Object[cq(0x137)]([cq(0xf0)]),aq=Object[cq(0x137)](ap[cq(0xe0)](c2=>[cq(0xef),c2])),as=Object[cq(0x137)]([cq(0x114),cq(0xd1),cq(0x159),'-r',cq(0x135),'-c']),au=0x40*0x400;function av(c2=process.env,c3=u()){return al(c2,c3);}function aw(){return!![];}function ax(c2,c3=aw(),c4=u()){const cu=cq;return c3?y(c4,cu(0x98),cu(0xcc)):y(c2,cu(0xcc));}var ay={...r[cq(0x11f)]},az=0x40,aA=/[\u0000-\u001f\u007f-\u009f]/g;function aB(c2){const cv=cq;return c2[cv(0x127)](/^\s*bearer\s+/i,'')[cv(0x127)](/\s+/g,'');}function aC(c2){const cw=cq;if(typeof c2!==cw(0x16a))return void 0x0;let c3;try{c3=new URL(c2);}catch{return void 0x0;}if(c3[cw(0xa6)]!==cw(0xf4)&&c3[cw(0xa6)]!==cw(0x13d))return void 0x0;if(c3[cw(0x15f)]||c3[cw(0xf9)]||c3[cw(0xd2)]||c3[cw(0xc4)])return void 0x0;if(/[?#]/[cw(0x166)](c2))return void 0x0;return(''+c3[cw(0x9e)]+c3[cw(0x10c)])[cw(0x127)](/\/+$/,'');}function aD(c2){const cx=cq;if(typeof c2!==cx(0x16a))return void 0x0;const c3=Array[cx(0x174)](c2[cx(0x127)](aA,''))[cx(0xac)](0x0,az)[cx(0xed)]('');return c3===''?void 0x0:c3;}function aE(c2){const cy=cq,c3=c2[cy(0xa3)]('.');if(c3[cy(0x84)]!==0x3||c3[cy(0x163)](c7=>!/^[A-Za-z0-9_-]+$/[cy(0x166)](c7)))return void 0x0;let c4;try{c4=JSON[cy(0xa8)](Buffer[cy(0x174)](c3[0x1],cy(0x94))[cy(0xaf)](cy(0x140)));}catch{return void 0x0;}if(!c4||typeof c4!==cy(0x81))return void 0x0;const c5=c4,c6=aC(c5[cy(0xa2)]);if(!c6)return void 0x0;return{'address':c6,'organizationName':aD(c5[cy(0xd5)])};}function aF(c2){const cz=cq;if(c2?.[cz(0xe1)]!==cz(0x88))return void 0x0;const c3=c2[cz(0x146)];if(typeof c3!==cz(0x16a))return void 0x0;const c4=aE(c3);return c4?{...c4,'key':c3}:void 0x0;}import{readFileSync as aG}from'node:fs';import{join as aH}from'node:path';import{openAICompletionsApi as aI}from'@earendil-works/pi-ai/api/openai-completions.lazy';import{getAgentDir as aJ}from'../vendor/pi-coding-agent.js';var aK=0xe677d21fd818,aL=cq(0x14e),aM=0x1f400,aN=0x4000,aO=(c2,c3)=>typeof c2===cq(0x92)&&Number[cq(0x181)](c2)&&c2>0x0?c2:c3;function aP(c2,c3,c4={}){const cA=cq;return{'id':c3,'name':c3,'api':cA(0xbb),'provider':c2[cA(0x17d)],'baseUrl':c2[cA(0xb6)],'reasoning':c4[cA(0xb4)]===!![],'input':c4[cA(0xcd)]===!![]?[cA(0xbc),cA(0xdc)]:[cA(0xbc)],'cost':{'input':0x0,'output':0x0,'cacheRead':0x0,'cacheWrite':0x0},'contextWindow':aO(c4[cA(0x12e)],aM),'maxTokens':aO(c4[cA(0x15e)],aN),'compat':{'supportsDeveloperRole':![]}};}function aQ(c2,c3){const cB=cq;return(c2?.[cB(0x82)]??[])[cB(0xe7)](c4=>c4[cB(0x173)]===c3&&(c4[cB(0xe1)]??cB(0x10d))===cB(0x10d));}function aR(c2,c3){const cC=cq;if(!Array[cC(0x134)](c3?.[cC(0xe2)]))return void 0x0;const c4=new Set(),c5=[];for(const c6 of c3[cC(0xe2)]){const c7=c6?.['id'];if(typeof c7!==cC(0x16a)||c7===''||c4[cC(0x9d)](c7))continue;c4[cC(0x8f)](c7),c5[cC(0x128)](aP(c2,c7,c6));}return c5;}import{randomBytes as aS,randomUUID as aT}from'node:crypto';import{linkSync as aU,mkdirSync as aV,readFileSync as aW,renameSync as aX,rmSync as aY,writeFileSync as aZ}from'node:fs';import{join as b0,resolve as b1}from'node:path';import{randomUUID as b2}from'node:crypto';var b3=0x6+0x1+0x24,b4=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/,b5=new Set(['0','1','2','3']);function b6(c2){const cD=cq;switch(c2){case cD(0xbf):return'1';case cD(0x95):return'2';case cD(0xa0):return'3';default:return'0';}}function b7(c2){const cE=cq;if(!/^\d{6}$/[cE(0x166)](c2))return![];const c3=Number(c2[cE(0xac)](0x0,0x2)),c4=Number(c2[cE(0xac)](0x2,0x4)),c5=0x7d0+Number(c2[cE(0xac)](0x4,0x6));if(c4<0x1||c4>0xc||c3<0x1)return![];return c3<=new Date(Date[cE(0x157)](c5,c4,0x0))[cE(0x138)]();}function b8(c2){const cF=cq;return c2[cF(0x84)]===b3&&b7(c2[cF(0xac)](0x0,0x6))&&b5[cF(0x9d)](c2[0x6])&&b4[cF(0x166)](c2[cF(0xac)](0x7));}var b9=cq(0x8a);function ba(c2){const cG=cq;if(c2[cG(0x84)]>=b3)return![];const c3=c2[cG(0xac)](0x0,0x6);if(!/^\d*$/[cG(0x166)](c3))return![];if(c3[cG(0x84)]>=0x1&&c3[0x0]>'3')return![];if(c3[cG(0x84)]>=0x2&&(Number(c3[cG(0xac)](0x0,0x2))<0x1||Number(c3[cG(0xac)](0x0,0x2))>0x1f))return![];if(c3[cG(0x84)]>=0x3&&c3[0x2]>'1')return![];if(c3[cG(0x84)]>=0x4&&(Number(c3[cG(0xac)](0x2,0x4))<0x1||Number(c3[cG(0xac)](0x2,0x4))>0xc))return![];if(c3[cG(0x84)]===0x6&&!b7(c3))return![];if(c2[cG(0x84)]>0x6&&!b5[cG(0x9d)](c2[0x6]))return![];const c4=c2[cG(0xac)](0x7);for(let c5=0x0;c5<c4[cG(0x84)];c5+=0x1){const c6=b9[c5]==='-'?c4[c5]==='-':/[0-9a-f]/[cG(0x166)](c4[c5]);if(!c6)return![];}return!![];}function bb(c2=new Date(),c3=process[cq(0xd4)]){const cH=cq,c4=c6=>String(c6)[cH(0x109)](0x2,'0'),c5=''+c4(c2[cH(0x138)]())+c4(c2[cH(0xca)]()+0x1)+c4(c2[cH(0xc6)]()%0x64);return''+c5+b6(c3)+b2();}var bc=cq(0x13c),bd=0x3e8,bf=0x14,bg={'link':aU,'read':c2=>aW(c2,cq(0x140)),'rename':aX,'write':(c2,c3,c4)=>aZ(c2,c3,c4)},bh=new Set([cq(0xbd),cq(0x177),cq(0x8d),cq(0xe3),cq(0xa4)]),bi=new Set([cq(0x14f),cq(0xbd),cq(0x156),cq(0x102),cq(0xfc)]),bj=0x8,bk=c2=>c2[cq(0x80)]??'',bl={'accepts':b8,'mayBecome':ba},bm=c2=>c2+'.'+process[cq(0x7f)]+'.'+aT()+cq(0x142),bn=new Int32Array(new SharedArrayBuffer(0x4));function bo(c2){const cI=cq;Atomics[cI(0x188)](bn,0x0,0x0,c2);}function bp(c2,c3){const cJ=cq;try{return c2['io'][cJ(0x171)](c3)[cJ(0x13b)]();}catch(c4){if(bk(c4)===cJ(0x152))return void 0x0;if(c2[cJ(0xfd)](c4))return'';throw c4;}}function bq({io:c2},c3,c4){const cK=cq,c5=bm(c3);c2[cK(0x12a)](c5,c4,{'mode':0x180});try{return c2[cK(0xaa)](c5,c3),!![];}catch(c6){if(bk(c6)===cK(0x175))return![];if(!bh[cK(0x9d)](bk(c6)))throw c6;}finally{aY(c5,{'force':!![]});}try{return c2[cK(0x12a)](c3,c4,{'flag':'wx','mode':0x180}),!![];}catch(c7){if(bk(c7)===cK(0x175))return![];throw c7;}}function br(c2,c3){const cL=cq,c4=bm(c3),c5=Date[cL(0x13f)]()+c2[cL(0x151)];for(;;){try{return c2['io'][cL(0xc1)](c3,c4),c4;}catch(c6){if(bk(c6)===cL(0x152))return void 0x0;if(!c2[cL(0xfd)](c6)||Date[cL(0x13f)]()>=c5)throw c6;bo(bf);}}}function bs(c2,c3,c4,c5,c6){const cM=cq;aV(c2,{'recursive':!![]});const c7=b0(c2,c3),c8=Date[cM(0x13f)]()+c6[cM(0x151)];for(let c9=0x0;c9<bj;){const ca=bp(c6,c7);if(ca!==void 0x0&&c4[cM(0xab)](ca))return ca;if(ca===void 0x0){if(bq(c6,c7,c5))return c5;c9+=0x1;continue;}if((ca===''||c4[cM(0xce)](ca))&&Date[cM(0x13f)]()<c8){bo(bf);continue;}c9+=0x1;const cb=br(c6,c7);if(cb===void 0x0)continue;try{const cc=bp(c6,cb),cd=cc!==void 0x0&&c4[cM(0xab)](cc)?cc:c5;if(bq(c6,c7,cd))return cd;}finally{aY(cb,{'force':!![]});}}throw new Error(c3+cM(0xc2));}var bu=new Map();function bv(c2,c3,c4,c5,c6){const cN=cq,c7=bu[cN(0xfe)](b1(c2))??new Map();bu[cN(0x96)](b1(c2),c7);const c8=c7[cN(0xfe)](c3);if(c8!==void 0x0)return c8;const c9=c6[cN(0xd4)]??process[cN(0xd4)],ca={'io':c6['io']??bg,'settleMs':c6[cN(0x151)]??bd,'locked':cd=>c9===cN(0xbf)&&bi[cN(0x9d)](bk(cd))},cb=c5();let cc;try{cc=bs(c2,c3,c4,cb,ca);}catch{cc=cb;}return c7[cN(0x96)](c3,cc),cc;}function bw(c2,c3={}){return bv(c2,bc,bl,()=>bb(),c3);}var bx=c2=>c2,by=c2=>c2,bz={'now':()=>Date[cq(0x13f)](),'monotonic':()=>performance[cq(0x13f)](),'setTimeout'(c2,c3,c4){const cO=cq,c5=setTimeout(c2,c3);if(c4?.[cO(0x86)]===![])c5[cO(0x136)]();return bx(c5);},'clearTimeout'(c2){if(c2)clearTimeout(by(c2));},'setInterval'(c2,c3,c4){const cP=cq,c5=setInterval(c2,c3);if(c4?.[cP(0x86)]===![])c5[cP(0x136)]();return bx(c5);},'clearInterval'(c2){if(c2)clearInterval(by(c2));}};function bA(c2,c3){const cQ=cq,c4=new AbortController();return c2[cQ(0x11e)](()=>c4[cQ(0xf7)](new DOMException(cQ(0x14c),cQ(0xb1))),c3,{'ref':![]}),c4[cQ(0xc5)];}var bB=0x7530,bC=cq(0xff),bD=cq(0xd9),bE=cq(0x8e),bF=c2=>cq(0x116)+c2+'…',bG=c2=>cq(0x115)+c2+cq(0xe4),bH=c2=>cq(0x107)+c2+cq(0xc3),bI=c2=>cq(0x170)+c2+cq(0x93),bJ=c2=>cq(0x170)+c2+cq(0x168),bK=c2=>cq(0x170)+c2+cq(0x83),bL=c2=>cq(0x170)+c2+cq(0x122),bM=c2=>cq(0x170)+c2+cq(0x8c),bN=(c2,c3)=>cq(0x170)+c2+cq(0x110)+c3+cq(0x169),bO=new Set([cq(0x89),cq(0x106),cq(0xad),cq(0xec),cq(0x112),cq(0xfa)]);function bP(c2){const cR=cq;for(let c3=c2,c4=0x0;c3&&c4<0x5;c3=c3[cR(0x15c)],c4+=0x1){const c5=c3[cR(0x80)];if(typeof c5===cR(0x16a)&&bO[cR(0x9d)](c5))return!![];}return![];}function bQ(c2){const cS=cq;try{const c3=aG(c2,cS(0x140));if(c3[cS(0x13b)]()!=='')JSON[cS(0xa8)](c3[cS(0x127)](/^\uFEFF/,''));return!![];}catch(c4){return c4?.[cS(0x80)]===cS(0x152);}}function bR(c2){const cT=cq,c3=ay,c4=c2[cT(0x11c)]??bB,c5=c2[cT(0x111)]??((cg,ch)=>fetch(cg,ch)),c6=()=>c2[cT(0x149)]??aH(aJ(),cT(0x126)),c7=cg=>cg+cT(0x183)+bw(c2[cT(0x139)])+cT(0x113),c8=()=>({'X-Device-ID':bw(c2[cT(0x139)]),'X-Title':aL});async function c9(cg,ch,ci){const cU=cT,cj=AbortSignal[cU(0xd6)]([ci,bA(bz,c4)]);let ck;try{ck=await c5(c7(ch)+cU(0xae),{'headers':{...c8(),'authorization':cU(0xb2)+cg,'accept':cU(0x97)},'redirect':cU(0x13a),'signal':cj});}catch(cn){if(ci[cU(0x147)])throw new Error(bE,{'cause':cn});throw new Error(bP(cn)?bI(ch):bH(ch),{'cause':cn});}if(ck[cU(0x125)]!==0xc8){await ck[cU(0x133)]?.[cU(0x9c)]()[cU(0x12d)](()=>{});if(ck[cU(0xe1)]===cU(0x11d)||ck[cU(0x125)]>=0x12c&&ck[cU(0x125)]<0x190)throw new Error(bJ(ch));if(ck[cU(0x125)]===0x194)throw new Error(bK(ch));throw new Error(bN(ch,ck[cU(0x125)]));}let cl;try{cl=JSON[cU(0xa8)](await ck[cU(0xbc)]());}catch{if(ci[cU(0x147)])throw new Error(bE);if(cj[cU(0x147)])throw new Error(bH(ch));throw new Error(bL(ch));}const cm=aR({'providerId':c3[cU(0x17d)],'baseUrl':c7(ch)},cl);if(!cm)throw new Error(bL(ch));if(cm[cU(0x84)]===0x0)throw new Error(bM(ch));return cm;}let ca,cb=[];async function cc(cg){const cV=cT,{signal:ch}=cg;if(ch[cV(0x147)])throw new Error(bE);const ci=await cg[cV(0x11b)]({'type':cV(0x130),'message':c3[cV(0x9f)]+cV(0x10a),'signal':ch}),cj=aB(ci),ck=aE(cj);if(!ck)throw new Error(bC);cg[cV(0x10b)]({'type':cV(0xf3),'message':bF(ck[cV(0x129)])});const cl=await c9(cj,ck[cV(0x129)],ch);return ca={'key':cj,'models':cl},{'type':cV(0x88),'access':cj,'refresh':'','expires':aK};}async function cd(cg){const cW=cT;try{c2[cW(0x185)]?.();}catch{}const ch=aF(cg[cW(0x16e)]);if(!ch){await cg[cW(0xcb)]({'persist':bQ(c6())?null:void 0x0,'update':()=>{cb=[];}});return;}const ci=ca;if(ci&&ci[cW(0x9a)]===ch[cW(0x9a)]){let cn;try{cn=await cg[cW(0xcb)]({'persist':{'models':ci[cW(0x82)],'checkedAt':bz[cW(0x13f)]()},'update':()=>{const cX=cW;cb=ci[cX(0x82)];}});}catch{throw new Error(bG(ch[cW(0x129)]));}if(cn&&ca===ci)ca=void 0x0;if(!cn&&!cg[cW(0xc5)][cW(0x147)])throw new Error(bG(ch[cW(0x129)]));return;}const cj=ch[cW(0x129)]+cW(0x183),ck=aQ(cg[cW(0x10f)],c3[cW(0x17d)])[cW(0xe7)](co=>co[cW(0xb6)][cW(0x153)](cj)),cl=await cg[cW(0xcb)]({'update':()=>{cb=ck;}});if(!cl||!cg[cW(0xf2)]||!cg[cW(0xd8)]||cg[cW(0xc5)][cW(0x147)])return;const cm=await c9(ch[cW(0x9a)],ch[cW(0x129)],cg[cW(0xc5)]);if(cg[cW(0xc5)][cW(0x147)])return;await cg[cW(0xcb)]({'persist':{'models':cm,'checkedAt':bz[cW(0x13f)]()},'update':()=>{cb=cm;}});}const cf=aI();return{'id':c3[cT(0x17d)],'name':c3[cT(0x9f)],'baseUrl':'','auth':{'oauth':{'name':c3[cT(0x9f)],'login':cc,'refresh':async cg=>cg,'toAuth':async cg=>{const cY=cT,ch=aF(cg);if(!ch)throw new Error(bD);return{'apiKey':ch[cY(0x9a)],'baseUrl':c7(ch[cY(0x129)]),'headers':c8()};}}},'getModels':()=>cb,'refreshModels':cd,'filterModels':(cg,ch)=>aF(ch)?[...cg]:[],'stream':(cg,ch,ci)=>cf[cT(0x12f)](cg,ch,ci),'streamSimple':(cg,ch,ci)=>cf[cT(0x87)](cg,ch,ci)};}var bS=cq(0xf5),bT=0x7d0;function bU(){const cZ=cq,c2=h(import.meta.resolve(bS));let c3=f(c2);while(!c3[cZ(0x187)](g(cZ(0xf6),...bS[cZ(0xa3)]('/')))&&f(c3)!==c3)c3=f(c3);return e(g(c3,cZ(0x141)))(cZ(0xdd));}var bV=()=>{};function bW(c2){const d0=cq;if(c2 instanceof d)d[d0(0x99)]['on'][d0(0x155)](c2,d0(0xbe),bV);return c2;}function bX(c2,c3){const d1=cq,c4=c2?.[d1(0x13b)]();c4&&(process.env.HTTP_PROXY??=c4,process.env.HTTPS_PROXY??=c4);const c5=bU(),c6=(c8,c9)=>bW(new c5[(d1(0x165))](c8,c9)),c7=(c8,c9)=>c9[d1(0x119)]===0x1?c6(c8,c9):bW(new c5[(d1(0x143))](c8,{...c9,'factory':c6}));c5[d1(0xb3)](bW(new c5[(d1(0x178))]({'allowH2':![],'proxyTunnel':!![],'bodyTimeout':c3,'connect':{'autoSelectFamilyAttemptTimeout':bT},'headersTimeout':c3,'clientFactory':c6,'factory':c7}))),c5[d1(0x12b)]?.();}var bY=c2=>c2 instanceof Error&&c2[cq(0x14d)]?c2[cq(0x14d)]:cq(0xe8);function c(b,d){b=b-0x7f;const e=a();let f=e[b];if(c['WGsdXg']===undefined){var g=function(j){const l='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let m='',n='';for(let o=0x0,p,q,r=0x0;q=j['charAt'](r++);~q&&(p=o%0x4?p*0x40+q:q,o++%0x4)?m+=String['fromCharCode'](0xff&p>>(-0x2*o&0x6)):0x0){q=l['indexOf'](q);}for(let s=0x0,t=m['length'];s<t;s++){n+='%'+('00'+m['charCodeAt'](s)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(n);};c['iavqrC']=g,c['wHBzik']={},c['WGsdXg']=!![];}const h=e[0x0];c['fMCnWQ']!==h&&(c['wHBzik']={},c['fMCnWQ']=h);const i=c['wHBzik'][b];return i===undefined?(f=c['iavqrC'](f),c['wHBzik'][b]=f):f=i,f;}function bZ(c2,c3){const d2=cq,c4=bG(c3);for(let c5=c2[d2(0x15c)],c6=0x0;c5&&c6<0x5;c5=c5[d2(0x15c)],c6+=0x1){if(c5[d2(0x14d)]===c4)return c4;}return void 0x0;}var c0=(c2,c3)=>c3[cq(0x147)]&&(c2===c3[cq(0x17c)]||c2?.[cq(0x9f)]===cq(0x105)||c2?.[cq(0x14d)]===bE);async function c1(c2,c3){const d3=cq,c4=ca=>c3[d3(0xd0)](r[d3(0xa9)]+':\x20'+ca+'\x0a'),c5=aB(c2);let c6;try{c6=await import(bS);}catch{return c4(d3(0x14b)+bS+')'),0x1;}const {ModelRuntime:c7,CredentialSynchronizationError:c8,SettingsManager:c9}=c6;try{const ca=c9[d3(0x104)](c3[d3(0x11a)]??process[d3(0x11a)](),c3[d3(0x176)],{'projectTrusted':![]});bX(ca[d3(0x120)]()[d3(0x172)],ca[d3(0x17b)]());const cb=await c7[d3(0x104)]({'authPath':g(c3[d3(0x176)],d3(0x126)),'modelsPath':g(c3[d3(0x176)],d3(0xb7)),'modelsStorePath':g(c3[d3(0x176)],d3(0x13e)),'refreshOnCreate':![]}),cc=cb[d3(0x103)];cb[d3(0x103)]=async()=>({'aborted':![],'errors':new Map()});try{cb[d3(0x90)](bR({'identityDir':ax(av()),'authPath':g(c3[d3(0x176)],d3(0x126))}));}finally{cb[d3(0x103)]=cc;}let cd,cf;try{cf=await cb[d3(0x131)](ay[d3(0x17d)],d3(0x88),{'signal':c3[d3(0xc5)],'prompt':async()=>c5,'notify':()=>{}});}catch(ch){if(!(ch instanceof c8))throw ch;cd=ch,cf=ch[d3(0x16e)];}const {address:cg}=aE(cf[d3(0x146)]);c4(d3(0x85)+cg);if(cd)c4(bZ(cd,cg)??d3(0xda));return 0x0;}catch(ci){if(c0(ci,c3[d3(0xc5)]))return d3(0x147);return c4(bY(ci)),0x1;}}function a(){const d4=['BM90Awz5','Cgf0Ag5HBwu','y2HHDa','uKfesvvtx0fqsv9lrvK','C3rVCMvK','igfUC3DLCMvKia','zMv0y2G','vu5bqKXfx1rpx0Dfvf9ju1nvrvjFq0vsvf9mt0nbteXz','l3yX','ls1ZzxnZAw9U','vgHLig1VzgvSigXPC3qGB2yG','q2HLy2TPBMCGDgHLignVBxbHBNKGC2vYDMvYigf0ia','lMv4CgX5Da','rvHqtfLux1rftevnrvrswv9dt05wrvjtqvrjt05Fsuq','y29UBMvJDgLVBNm','y3DK','ChjVBxb0','DgLTzw91De1Z','B3bHCxvLCMvKAxjLy3q','C2v0vgLTzw91Da','zw50zxjWCMLZzq','z2v0r2XVyMfSu2v0DgLUz3m','werhx0rbvefFse9nrq','igrPzcbUB3qGyw5ZD2vYihDPDgGGysbTB2rLBcbSAxn0lIbbihbYB3H5ig1HEsbIzsbPBNrLCMnLChrPBMCGDgHLihjLCxvLC3qU','ndq5nJG4m1Hnzg9cyW','y2fJAgvszxrLBNrPB25fBNy','C3rHDhvZ','yxv0Ac5QC29U','CMvWBgfJzq','ChvZAa','ywrKCMvZCW','D3jPDgu','Aw5ZDgfSBa','Ahr0Chm6lY9HChaUzxHWBhL0lMfPlW','y2f0y2G','y29UDgv4Df93Aw5KB3C','C3rYzwfT','C2vJCMv0','Bg9NAw4','rxHWBhL0','yM9KEq','AxnbCNjHEq','ls1JB250Aw51zq','Dw5Yzwy','zNjLzxPL','z2v0vvrdrgf0zq','AwrLBNrPDhLeAxi','BwfUDwfS','DhjPBq','Aw5ZDgfSBgf0Aw9UlMLK','Ahr0Chm6','Bw9KzwXZlxn0B3jLlMPZB24','BM93','DxrMoa','CgfJA2fNzs5QC29U','lNrTCa','ug9VBa','BNbTlxb1yMXPC2GTzg9NzM9Vza','Ahr0Chm6lY9WBhvNAw4UzxHWBhL0lMfPl29Wzw5HAs9HCgKVDJe','ywnJzxnZ','ywjVCNrLza','x0npreLor19br0vovf9esvi','yxv0AfbHDgG','mZKYndCYAfHWthPW','DgHLigfNzw50igvUz2LUzsbPCYbTAxnZAw5NicG','vgHLig9WzxjHDgLVBIb0Aw1LzcbVDxqU','BwvZC2fNzq','zxHWBhL0lwnSAq','rujvu1K','rvHqtfLux1rftevnrvrswv9br0vovf9uvvjox0Le','C2v0DgXLtxm','ru5pru5u','C3rHCNrZv2L0Aa','qgv4CgX5Dc9HAs1Hz2vUDa','y2fSBa','rufdq0vt','vvrd','rvHqtfLux0nbq0Hfx1jfvevoveLptG','ls1Yzxn1Bwu','Ahr0Chm6lY9YyxCUz2L0AhvIDxnLCMnVBNrLBNqUy29Tl2v4CgX5Dc9LEhbSExqTywKTywDLBNqTzgLZDhjPyNv0Aw9Ul21HAw4V','zxHWBhL0','y2f1C2u','zxHWBhL0lwXVy2fSlxjLBgvHC2u','Bwf4x291Dhb1Df90B2TLBNm','DxnLCM5HBwu','B2zM','mtG5mJi1me5SAefOta','rvHqtfLux09grKXjtKu','C29Tzq','nLjAyxD0yW','q2XPzw50','DgvZDa','mtq4rfrwue1c','igfUC3DLCMvKihDPDgGGysbYzwrPCMvJDcWGD2HPy2GGDgHLigfNzw50igrVzxmGBM90igzVBgXVDY4GqxnRihLVDxiGywrTAw5PC3rYyxrVCIb0BYbJAgvJAYb0AguGC2vYDMvYigfKzhjLC3mGAw4GDgHLigTLEs4','lIbbC2SGEw91CIbHzg1PBMLZDhjHDg9YlG','C3rYAw5N','zxHWBhL0lwXVy2fSlwj1AwXK','Ahr0Chm6lY9HChaUzxHWBhL0lMfPl2fWAs92ms9KyxrH','ChvYzq','y3jLzgvUDgLHBa','Ahr0Chm6lY9HChaUzxHWBhL0lMfPl2TLEwnSB2fR','vgHLignVBxbHBNKGC2vYDMvYigf0ia','CMvHza','Ahr0CfbYB3H5','ChjVDMLKzxi','zNjVBq','ruvysvnu','ywDLBNreAxi','ru5pvfnvua','rw52shr0CfbYB3H5qwDLBNq','zxHWBhL0igXVz2LU','mtG4oduWy0jdAuDJ','z2v0shr0CeLKBgvuAw1LB3v0txm','CMvHC29U','ChjVDMLKzxjjza','zxHHBxbSzxm','Ahr0Chm6lY9WBhvNAw4UzxHWBhL0lMfPl3rLBgvTzxrYEq','C3rHDgveAxi','AxngAw5PDgu','zxHWBhL0lMfP','l29Wzw5HAs8','ntG5nJKXouHiA1HKrG','B25szwzYzxnO','DxbKyxrLq2HLy2TfBNy','zw5KC1DPDgG','D2fPDa','lMXVy2fS','CgLK','y29Kzq','B2jQzwn0','Bw9KzwXZ','igHHCYbUBYbpCgvUquKTy29TCgf0AwjSzsbbueKUieL0ig5LzwrZigXPy2vUy2uGC2vYDMvYideUmJqUmcbVCIbSyxrLCJSGyxnRihLVDxiGywrTAw5PC3rYyxrVCI4','BgvUz3rO','zw50zxjWCMLZzsbSB2DPBIbZDg9YzwqGzM9Yia','CMvM','C3rYzwfTu2LTCgXL','B2f1DgG','vu5bqKXfx1rpx1zfuKLgwv9mrufgx1njr05bvfvsrq','EhH4EhH4EhGTEhH4Ec14EhH4lxH4EhGTEhH4EhH4EhH4EhH4','zxHWBhL0l2v4CgX5Dc1HAs1Hz2vUDc1KAxn0CMLIDxrPB24','ig9MzMvYCYbUBYbTB2rLBhmUiefZAYb5B3vYigfKBwLUAxn0CMf0B3iU','ru9qtK9uu1vqua','vgHLigXVz2LUihDHCYbJyw5JzwXSzwqU','ywrK','CMvNAxn0zxjoyxrPDMvqCM92AwrLCG','zgLZDa','BNvTyMvY','ihvZzxmGysbJzxj0AwzPy2f0zsb0AgLZig1Hy2HPBMuGzg9LCYbUB3qGDhj1C3qUifnLDcbot0rfx0vyvfjbx0nbx0nfuLrtihrVihrOzsbWyxrOig9MihLVDxiGy29TCgfUEsDZienbignLCNrPzMLJyxrLicHqru0PigfUzcbYzxn0yxj0ihrOzsbHz2vUDcbMCM9TihrOzsb0zxjTAw5HBc4','yMfZzty0DxjS','zgfYD2LU','C2v0','yxbWBgLJyxrPB24VANnVBG','lM5LBW','ChjVDg90ExbL','A2v5','zg9JCW','y2fUy2vS','AgfZ','B3jPz2LU','BMfTzq','BgLUDxG','y29UzMLNrgLY','C3vI','C3bSAxq','rvHervy','qgv4CgX5Dc9Hy3aTywrHChrLCG','ChjVDg9JB2W','q0HbtKDfte9hlM1K','CgfYC2u','y29TBwfUza','BgLUAW','ywnJzxb0CW','C2XPy2u','revqveHFwKvst19truXgx1njr05frf9drvju','l21VzgvSCW','Dg9tDhjPBMC','B2zMBgLUzuvUDG','vgLTzw91DevYCM9Y','qMvHCMvYia','C2v0r2XVyMfSrgLZCgf0y2HLCG','C3vWCg9YDhnFCMvHC29UAw5N','ueLFuKfesvvtx0DbvevxqvK','yMfZzvvYBa','Bw9KzwXZlMPZB24','rxHWBhL0iefjiefNzw50ieXpq0fmiejvsuXe','rxHWBhL0iefjiefNzw50','z2L0AhvI','B3bLBMfPlwnVBxbSzxrPB25Z','Dgv4Da','rvbfuK0','zxjYB3i','D2LUmZi','z2L0AhvIq2XVBMveAxi','CMvUyw1L','igTLChqGy2HHBMDPBMCGD2HPBguGAxqGD2fZihjLCgXHy2vK','lIbdAgvJAYb5B3vYifzqtIbVCIbVzMzPy2uGBMv0D29YAY4','AgfZAa','C2LNBMfS','z2v0vvrdrNvSBfLLyxi','Ahr0CdOVlZeYnY4WlJaUmtOZnduXnY9JywXSyMfJAW','rvHqtfLux0npreLor19br0vovf9esvi','CgKTBwnWlwfKyxb0zxiUB2f1DgG','z2v0vvrdtw9UDgG','ChvIBgLZAa','AwrLBNrPDhK','C3vWCg9YDhnFDMLZAw9U','Bwf5qMvJB21L','rvHqtfLux1rftevnrvrswv9dteLftLq','C3rKzxjY','ls1MB3jR','C2vHCMnO','CgX1z2LUlwnSAwvUDa','CgXHDgzVCM0','B3jNyw5PEMf0Aw9UtMfTzq','yw55','zxHWBhL0lwDPDgH1yI1YzxbVCW','zM9Yy2u','vgHLihn0B3jLzcbfBNrLCNbYAxnLiefqssbRzxKGAxmGBM90ihzHBgLKoYbSB2CGAw4GywDHAw4U','DgHLigXVy2fSig1VzgvSihn0yxrLignVDwXKig5VDcbIzsbZEw5JAhjVBML6zwq7ihj1BIb0AguGBg9NAw4GywDHAw4','rxHWBhL0ievUDgvYChjPC2u','Aw1Hz2u','Dw5KAwnP','mJG1ndeYnJHcELfRA2K','rxHWBhL0iefjiefNzw50ieXpq0fmifjftevbu0u','zMXHDe1HCa','DhLWzq','zgf0yq','ru5pu1Lt','ihDHCYbUB3qGC2f2zwqUifvZzsbszwzYzxnOig1VzgvSCY4','DMfSDwvZ','zxHWBhL0lwvUDgvYChjPC2u','zMLSDgvY','DgHLigvUDgvYChjPC2uGBg9NAw4GzMfPBgvK','odG0nJrIBg9tq2K','C2HHCMu','zxHWBhL0lwfPlwfNzw50','vu5bqKXfx1rpx0Dfvf9ju1nvrvjFq0vsva','AM9PBG','uKvbre1flM1K','ls1LEhrLBNnPB24','yNvPBhrPBJPSBgfTys5JCha','zNvSBhnJCMvLBG','ywXSB3Dozxr3B3jR','ChjVz3jLC3m','Ahr0CdO','qgvHCMvUzgLSlxDVCMTZl3bPlwnVzgLUzY1Hz2vUDa','BM9Kzv9TB2r1BgvZ','ywjVCNq','zxHWBhL0l2v4CgX5Dc1HAs1Hz2vUDa','CgfZC3DVCMq','q0vsvf9vtLrsvvnuruq','BNbTlxb1yMXPC2G','vu5ltK9xtG','Bg9JA2vK','z2v0','vgHLigTLEsbPCYbUB3qGyw4Grw50zxjWCMLZzsbbueKGA2v5lIbbC2SGEw91CIbHzg1PBMLZDhjHDg9YigzVCIb0AguGA2v5ihrOzsbSAwnLBMnLihnLCNzLCIbPC3n1zwqU','rvHqtfLux1vqrefurv9dsevdsW','Dg9vChbLCKnHC2u','ruLp','CMvMCMvZAa','y3jLyxrL','qwjVCNrfCNjVCG','u0vmrL9tsuDorurFq0vsvf9jtL9dsefjtG','q2fUBM90ihjLywnOihrOzsbJB21Wyw55ihnLCNzLCIbHDca','y2XPugfJA2fNzq','CgfKu3rHCNq','iefqssbRzxK'];a=function(){return d4;};return a();}export{c1 as runEnterpriseLogin};
|
package/dist/cli/index.js
CHANGED
|
@@ -82,6 +82,7 @@ import {
|
|
|
82
82
|
withoutLaunchPath,
|
|
83
83
|
withoutTelemetryHandoff,
|
|
84
84
|
launchFileFor,
|
|
85
|
+
isProductAgentDir,
|
|
85
86
|
} from "./engine.js";
|
|
86
87
|
|
|
87
88
|
const here = dirname(fileURLToPath(import.meta.url));
|
|
@@ -232,7 +233,7 @@ if (args.command === "workflow") {
|
|
|
232
233
|
const engine = await requireEngine();
|
|
233
234
|
// A headless run is a session of its own, not a turn of an ACP engine that may have started it (spec 022 RQ-6).
|
|
234
235
|
const env = engineEnv(withoutTelemetryHandoff(process.env), undefined, { shimDir: engine.shimDir });
|
|
235
|
-
const settings = ensureAgentSettings(env[AGENT_DIR_ENV]);
|
|
236
|
+
const settings = ensureAgentSettings(env[AGENT_DIR_ENV], { ownAgentDir: isProductAgentDir(process.env) });
|
|
236
237
|
if (settings.status === "failed") process.stderr.write(`${BRAND.command}: engine settings not seeded: ${settings.detail}\n`);
|
|
237
238
|
seedWebSearchConfig(env[AGENT_DIR_ENV], warnOnStderr);
|
|
238
239
|
const outcomeDir = mkdtempSync(join(tmpdir(), `${BRAND.command}-workflow-`));
|
|
@@ -402,7 +403,7 @@ if (wantsTui || wantsLogin) {
|
|
|
402
403
|
const { signalEnv } = await import("./update.js");
|
|
403
404
|
const childEnv = signalEnv(env, wantsTui, await selfVersion(), packageRoot);
|
|
404
405
|
// The engine's own header must not flash before ours; see SEEDED_SETTINGS.
|
|
405
|
-
const settings = ensureAgentSettings(env[AGENT_DIR_ENV], { engineVersion: engine.version });
|
|
406
|
+
const settings = ensureAgentSettings(env[AGENT_DIR_ENV], { engineVersion: engine.version, ownAgentDir: isProductAgentDir(process.env) });
|
|
406
407
|
if (settings.status === "failed") {
|
|
407
408
|
process.stderr.write(`${BRAND.command}: engine settings not seeded: ${settings.detail}\n`);
|
|
408
409
|
}
|
|
@@ -673,7 +674,7 @@ Object.assign(process.env, engineEnv(acpEngineEnv, undefined, { shimDir: engine.
|
|
|
673
674
|
|
|
674
675
|
// The engine settings the product starts with (SEEDED_SETTINGS) apply to IDE sessions too:
|
|
675
676
|
// cache warming off above all. The engines the adapter spawns read this file at their start.
|
|
676
|
-
const acpSettings = ensureAgentSettings(process.env[AGENT_DIR_ENV], { engineVersion: engine.version });
|
|
677
|
+
const acpSettings = ensureAgentSettings(process.env[AGENT_DIR_ENV], { engineVersion: engine.version, ownAgentDir: isProductAgentDir(acpEngineEnv) });
|
|
677
678
|
if (acpSettings.status === "failed") warnOnStderr(`engine settings not seeded: ${acpSettings.detail}`);
|
|
678
679
|
// Seed the web tools' configuration before the adapter starts (spec 015, RQ-14): every
|
|
679
680
|
// engine it spawns fixes the file's path on load and reads it once.
|