@bastani/atomic 0.8.25-alpha.1 → 0.8.26-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/dist/builtin/intercom/CHANGELOG.md +12 -0
- package/dist/builtin/intercom/index-heavy.ts +1754 -0
- package/dist/builtin/intercom/index.ts +374 -1746
- package/dist/builtin/intercom/package.json +1 -1
- package/dist/builtin/intercom/result-renderers.ts +77 -0
- package/dist/builtin/mcp/CHANGELOG.md +16 -0
- package/dist/builtin/mcp/index.ts +151 -57
- package/dist/builtin/mcp/package.json +1 -1
- package/dist/builtin/subagents/CHANGELOG.md +12 -0
- package/dist/builtin/subagents/package.json +1 -1
- package/dist/builtin/web-access/CHANGELOG.md +12 -0
- package/dist/builtin/web-access/index-heavy.ts +2060 -0
- package/dist/builtin/web-access/index.ts +182 -2274
- package/dist/builtin/web-access/package.json +1 -1
- package/dist/builtin/web-access/result-renderers.ts +364 -0
- package/dist/builtin/workflows/CHANGELOG.md +15 -0
- package/dist/builtin/workflows/package.json +1 -1
- package/dist/builtin/workflows/src/extension/index.ts +13 -3
- package/dist/builtin/workflows/src/runs/foreground/stage-runner.ts +53 -2
- package/dist/builtin/workflows/src/tui/inline-form-overlay.ts +12 -3
- package/dist/builtin/workflows/src/tui/inline-form-store.ts +17 -6
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js +13 -0
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +7 -0
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/types.d.ts +13 -1
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +17 -0
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/timings.d.ts +9 -0
- package/dist/core/timings.d.ts.map +1 -1
- package/dist/core/timings.js +28 -1
- package/dist/core/timings.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +4 -2
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/components/custom-message.d.ts +1 -0
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-message.js +36 -4
- package/dist/modes/interactive/components/custom-message.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +19 -7
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/package.json +1 -1
|
@@ -31,6 +31,7 @@ import { parseGitUrl } from "../../utils/git.js";
|
|
|
31
31
|
import { getCwdRelativePath } from "../../utils/paths.js";
|
|
32
32
|
import { getPiUserAgent } from "../../utils/pi-user-agent.js";
|
|
33
33
|
import { killTrackedDetachedChildren } from "../../utils/shell.js";
|
|
34
|
+
import { recordTimeSinceReset } from "../../core/timings.js";
|
|
34
35
|
import { ensureTool } from "../../utils/tools-manager.js";
|
|
35
36
|
import { checkForNewPiVersion } from "../../utils/version-check.js";
|
|
36
37
|
import { ArminComponent } from "./components/armin.js";
|
|
@@ -404,10 +405,6 @@ export class InteractiveMode {
|
|
|
404
405
|
this.registerSignalHandlers();
|
|
405
406
|
// Load changelog (only show new entries, skip for resumed sessions)
|
|
406
407
|
this.changelogMarkdown = this.getChangelogForDisplay();
|
|
407
|
-
// Ensure fd and rg are available (downloads if missing, adds to PATH via getBinDir)
|
|
408
|
-
// Both are needed: fd for autocomplete, rg for grep tool and bash commands
|
|
409
|
-
const [fdPath] = await Promise.all([ensureTool("fd"), ensureTool("rg")]);
|
|
410
|
-
this.fdPath = fdPath;
|
|
411
408
|
// Add header container as first child
|
|
412
409
|
this.ui.addChild(this.headerContainer);
|
|
413
410
|
// Add the quiet startup identity (unless silenced). Resource details are
|
|
@@ -444,9 +441,21 @@ export class InteractiveMode {
|
|
|
444
441
|
this.ui.setFocus(this.editor);
|
|
445
442
|
this.setupKeyHandlers();
|
|
446
443
|
this.setupEditorSubmitHandler();
|
|
447
|
-
// Start the UI before initializing extensions so session_start handlers can use interactive dialogs
|
|
444
|
+
// Start the UI before initializing extensions so session_start handlers can use interactive dialogs.
|
|
445
|
+
// fd/rg readiness is intentionally checked after first paint because ensureTool may spawn
|
|
446
|
+
// or download tools on cold machines.
|
|
448
447
|
this.ui.start();
|
|
448
|
+
recordTimeSinceReset("time-to-first-frame");
|
|
449
449
|
this.isInitialized = true;
|
|
450
|
+
void Promise.all([ensureTool("fd"), ensureTool("rg")])
|
|
451
|
+
.then(([fdPath]) => {
|
|
452
|
+
this.fdPath = fdPath;
|
|
453
|
+
this.setupAutocompleteProvider();
|
|
454
|
+
})
|
|
455
|
+
.catch((error) => {
|
|
456
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
457
|
+
console.error(`Tool readiness check failed: ${message}`);
|
|
458
|
+
});
|
|
450
459
|
// Initialize extensions first so resources are shown before messages
|
|
451
460
|
await this.rebindCurrentSession();
|
|
452
461
|
// Render initial messages AFTER showing loaded resources
|
|
@@ -461,8 +470,11 @@ export class InteractiveMode {
|
|
|
461
470
|
this.footerDataProvider.onBranchChange(() => {
|
|
462
471
|
this.ui.requestRender();
|
|
463
472
|
});
|
|
464
|
-
// Initialize available provider count for footer display
|
|
465
|
-
|
|
473
|
+
// Initialize available provider count for footer display without delaying first-frame startup.
|
|
474
|
+
void this.updateAvailableProviderCount().catch((error) => {
|
|
475
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
476
|
+
console.error(`Failed to update provider count: ${message}`);
|
|
477
|
+
});
|
|
466
478
|
}
|
|
467
479
|
/**
|
|
468
480
|
* Update terminal title with session name and cwd.
|