@apilift/cli 1.4.18 → 1.4.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/apilift.js CHANGED
@@ -37340,6 +37340,9 @@ ${instructions}
37340
37340
 
37341
37341
  [Official instructions](${docs}).`;
37342
37342
  }
37343
+ function setupCompletionAction() {
37344
+ return { action: "complete", userMessage: "Apilift is ready. Which app would you like your agent to work with, and what would you like it to do there?" };
37345
+ }
37343
37346
  var extensionUrl;
37344
37347
  var init_setup_guidance = __esm({
37345
37348
  "src/setup-guidance.ts"() {
@@ -37510,8 +37513,8 @@ Fix the local Chrome registration and retry:
37510
37513
  if (!readiness2.machine.nativeHostReady || !readiness2.machine.extensionReady) return { ...result2(`${JSON.stringify({ action: "user", userMessage: extensionUserMessage(env.APILIFT_DEV_EXTENSION_PATH), resumeCommand: `${prefix} setup continue` })}
37511
37514
  `), stdoutJson: true };
37512
37515
  const agentState = readiness2.agents[session.agent];
37513
- if (agentState?.verified) return result2(`Setup is verified for this agent. Continue the app work you were working on.
37514
- `);
37516
+ if (agentState?.verified) return { ...result2(`${JSON.stringify(setupCompletionAction())}
37517
+ `), stdoutJson: true };
37515
37518
  const challenge = setupChallenge(dataRoot(env), session.agent, site);
37516
37519
  let check2;
37517
37520
  try {
@@ -37522,8 +37525,8 @@ Fix the local Chrome registration and retry:
37522
37525
  if (!check2.ok) return { ...result2(`${JSON.stringify({ action: "agent", reason: check2.reason, instruction: "Use this agent's browser tool to open the exact check URL in Chrome, wait for it to load, keep the tab open, then run resumeCommand. The check uses one safe GET request and changes no app state.", browserUrl: challenge.url, resumeCommand: `${prefix} setup continue`, onBrowserUnavailable: { action: "user", userMessage: browserUserMessage(session.agent) } })}
37523
37526
  `), stdoutJson: true };
37524
37527
  await recordVerified(api, session.agent);
37525
- return result2(`The exact check tab responded to a safe browser replay. Setup is verified for this agent. Continue the app work you were working on.
37526
- `);
37528
+ return { ...result2(`${JSON.stringify(setupCompletionAction())}
37529
+ `), stdoutJson: true };
37527
37530
  }
37528
37531
  if (invocation.key === "doctor") {
37529
37532
  await api.call("me");
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apilift",
3
- "version": "1.4.18",
3
+ "version": "1.4.19",
4
4
  "description": "Set up Apilift and use authenticated app interfaces.",
5
5
  "author": {
6
6
  "name": "Apilift"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apilift",
3
- "version": "1.4.18",
3
+ "version": "1.4.19",
4
4
  "description": "Set up Apilift and use authenticated app interfaces.",
5
5
  "author": {
6
6
  "name": "Apilift"
@@ -9,4 +9,6 @@ Run `apilift` and follow the commands it prints. If it reports that linking is n
9
9
 
10
10
  Only a person installs or enables browser extensions and configures the agent’s Chrome connection. Never attempt those actions through browser tools. When setup returns `action: "user"`, send its `userMessage` unchanged as your entire response and wait. Resume with its `resumeCommand` when the user returns. For `action: "agent"`, perform the browser check yourself; if Chrome tools are unavailable, send `onBrowserUnavailable.userMessage` unchanged and wait.
11
11
 
12
+ When setup returns `action: "complete"`, installation is finished. For a setup-only request, send its `userMessage` unchanged as your entire response and wait for the user to name an app and task. Do not append verification details or connection-preservation status. If setup unblocked app work the user already requested, continue that work instead of asking them to choose again.
13
+
12
14
  Keep the user's authorized outcome as the completion condition. Use a first-party CLI, SDK, MCP server, or documented API when it already covers the work. Do not copy credential values into commands, definitions, files, or messages. Do not repeat a possibly dispatched mutation after lost output; follow the exact recovery command and inspect app state through an authorized read. If the runtime lacks a stable agent identity, put the same root `--session <worker-label>` before every command in this worker's session; independent workers need different labels.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apilift/cli",
3
- "version": "1.4.18",
3
+ "version": "1.4.19",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "bin": {
@@ -36,7 +36,7 @@
36
36
  "engines": {
37
37
  "node": ">=24.16.0 <27"
38
38
  },
39
- "gitHead": "9e58defbcf686d3c286905b6d1e24cc20b09ce08",
39
+ "gitHead": "fa014e07f68cedb5bbbf5e134ede2f91bd77a6b7",
40
40
  "repository": {
41
41
  "type": "git",
42
42
  "url": "git+https://github.com/egor-sergeev/apilift.git",