@poncho-ai/cli 0.36.7 → 0.36.9

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.
@@ -1,5 +1,5 @@
1
1
 
2
- > @poncho-ai/cli@0.36.7 build /home/runner/work/poncho-ai/poncho-ai/packages/cli
2
+ > @poncho-ai/cli@0.36.9 build /home/runner/work/poncho-ai/poncho-ai/packages/cli
3
3
  > tsup src/index.ts src/cli.ts --format esm --dts
4
4
 
5
5
  CLI Building entry: src/cli.ts, src/index.ts
@@ -8,11 +8,11 @@
8
8
  CLI Target: es2022
9
9
  ESM Build start
10
10
  ESM dist/cli.js 94.00 B
11
- ESM dist/run-interactive-ink-3OIMW3XL.js 56.86 KB
12
11
  ESM dist/index.js 917.00 B
13
- ESM dist/chunk-GG6IZSWT.js 571.87 KB
14
- ESM ⚡️ Build success in 68ms
12
+ ESM dist/run-interactive-ink-KDWRD7FT.js 56.86 KB
13
+ ESM dist/chunk-IZLDZWPA.js 572.09 KB
14
+ ESM ⚡️ Build success in 69ms
15
15
  DTS Build start
16
- DTS ⚡️ Build success in 4238ms
16
+ DTS ⚡️ Build success in 4212ms
17
17
  DTS dist/cli.d.ts 20.00 B
18
18
  DTS dist/index.d.ts 7.07 KB
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @poncho-ai/cli
2
2
 
3
+ ## 0.36.9
4
+
5
+ ### Patch Changes
6
+
7
+ - [`af5b449`](https://github.com/cesr/poncho-ai/commit/af5b449b46c9994b5b7335c5d64e4c66d5d8f3d8) Thanks [@cesr](https://github.com/cesr)! - perf(web-ui): parallelize conversation and todos fetches when selecting a conversation.
8
+
9
+ Selecting a conversation in the sidebar previously issued `/api/conversations/:id` and `/api/conversations/:id/todos` sequentially, so the todos round-trip was paid on top of the (usually larger) conversation round-trip. Todos only needs the conversation id, so both requests now fire in parallel and the todos response is awaited just before the todo panel renders. The result is roughly one RTT shaved off every sidebar click, which is very noticeable on non-local connections.
10
+
11
+ ## 0.36.8
12
+
13
+ ### Patch Changes
14
+
15
+ - Updated dependencies [[`2229f74`](https://github.com/cesr/poncho-ai/commit/2229f74ae4d02c5618c60787a7db925060cc1313)]:
16
+ - @poncho-ai/harness@0.37.2
17
+
3
18
  ## 0.36.7
4
19
 
5
20
  ### Patch Changes
@@ -3505,7 +3505,12 @@ var getWebUiClientScript = (markedSource2) => `
3505
3505
 
3506
3506
  const loadConversation = async (conversationId) => {
3507
3507
  if (window._resetBrowserPanel) window._resetBrowserPanel();
3508
- const payload = await api("/api/conversations/" + encodeURIComponent(conversationId));
3508
+ // Kick off conversation + todos fetches in parallel \u2014 todos only needs
3509
+ // the id, so there's no reason to wait for the conversation response.
3510
+ const conversationPromise = api("/api/conversations/" + encodeURIComponent(conversationId));
3511
+ const todosPromise = api("/api/conversations/" + encodeURIComponent(conversationId) + "/todos")
3512
+ .catch(() => ({ todos: [] }));
3513
+ const payload = await conversationPromise;
3509
3514
  elements.chatTitle.textContent = payload.conversation.title;
3510
3515
  // Merge own pending approvals + subagent pending approvals
3511
3516
  var allPendingApprovals = [].concat(
@@ -3553,12 +3558,8 @@ var getWebUiClientScript = (markedSource2) => `
3553
3558
  loadSubagents(subagentParentId);
3554
3559
  }
3555
3560
 
3556
- try {
3557
- const todosPayload = await api("/api/conversations/" + encodeURIComponent(conversationId) + "/todos");
3558
- state.todos = todosPayload.todos || [];
3559
- } catch (_e) {
3560
- state.todos = [];
3561
- }
3561
+ const todosPayload = await todosPromise;
3562
+ state.todos = todosPayload.todos || [];
3562
3563
  _autoCollapseTodos();
3563
3564
  renderTodoPanel();
3564
3565
 
@@ -14047,7 +14048,7 @@ var runInteractive = async (workingDir, params) => {
14047
14048
  await harness.initialize();
14048
14049
  const identity = await ensureAgentIdentity2(workingDir);
14049
14050
  try {
14050
- const { runInteractiveInk } = await import("./run-interactive-ink-3OIMW3XL.js");
14051
+ const { runInteractiveInk } = await import("./run-interactive-ink-KDWRD7FT.js");
14051
14052
  await runInteractiveInk({
14052
14053
  harness,
14053
14054
  params,
package/dist/cli.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  main
4
- } from "./chunk-GG6IZSWT.js";
4
+ } from "./chunk-IZLDZWPA.js";
5
5
 
6
6
  // src/cli.ts
7
7
  void main();
package/dist/index.js CHANGED
@@ -24,7 +24,7 @@ import {
24
24
  runTests,
25
25
  startDevServer,
26
26
  updateAgentGuidance
27
- } from "./chunk-GG6IZSWT.js";
27
+ } from "./chunk-IZLDZWPA.js";
28
28
  export {
29
29
  __internalRunOrchestration,
30
30
  addSkill,
@@ -2,7 +2,7 @@ import {
2
2
  consumeFirstRunIntro,
3
3
  inferConversationTitle,
4
4
  resolveHarnessEnvironment
5
- } from "./chunk-GG6IZSWT.js";
5
+ } from "./chunk-IZLDZWPA.js";
6
6
 
7
7
  // src/run-interactive-ink.ts
8
8
  import * as readline from "readline";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@poncho-ai/cli",
3
- "version": "0.36.7",
3
+ "version": "0.36.9",
4
4
  "description": "CLI for building and deploying AI agents",
5
5
  "repository": {
6
6
  "type": "git",
@@ -28,8 +28,8 @@
28
28
  "react": "^19.2.4",
29
29
  "react-devtools-core": "^6.1.5",
30
30
  "yaml": "^2.8.1",
31
- "@poncho-ai/harness": "0.37.1",
32
31
  "@poncho-ai/messaging": "0.8.3",
32
+ "@poncho-ai/harness": "0.37.2",
33
33
  "@poncho-ai/sdk": "1.8.1"
34
34
  },
35
35
  "devDependencies": {
@@ -1459,7 +1459,12 @@ export const getWebUiClientScript = (markedSource: string): string => `
1459
1459
 
1460
1460
  const loadConversation = async (conversationId) => {
1461
1461
  if (window._resetBrowserPanel) window._resetBrowserPanel();
1462
- const payload = await api("/api/conversations/" + encodeURIComponent(conversationId));
1462
+ // Kick off conversation + todos fetches in parallel — todos only needs
1463
+ // the id, so there's no reason to wait for the conversation response.
1464
+ const conversationPromise = api("/api/conversations/" + encodeURIComponent(conversationId));
1465
+ const todosPromise = api("/api/conversations/" + encodeURIComponent(conversationId) + "/todos")
1466
+ .catch(() => ({ todos: [] }));
1467
+ const payload = await conversationPromise;
1463
1468
  elements.chatTitle.textContent = payload.conversation.title;
1464
1469
  // Merge own pending approvals + subagent pending approvals
1465
1470
  var allPendingApprovals = [].concat(
@@ -1507,12 +1512,8 @@ export const getWebUiClientScript = (markedSource: string): string => `
1507
1512
  loadSubagents(subagentParentId);
1508
1513
  }
1509
1514
 
1510
- try {
1511
- const todosPayload = await api("/api/conversations/" + encodeURIComponent(conversationId) + "/todos");
1512
- state.todos = todosPayload.todos || [];
1513
- } catch (_e) {
1514
- state.todos = [];
1515
- }
1515
+ const todosPayload = await todosPromise;
1516
+ state.todos = todosPayload.todos || [];
1516
1517
  _autoCollapseTodos();
1517
1518
  renderTodoPanel();
1518
1519